2 This file has been derived from Konversation, the KDE IRC client.
3 You can redistribute it and/or modify it under the terms of the
4 GNU General Public License as published by the Free Software Foundation;
5 either version 2 of the License, or (at your option) any later version.
9 Copyright (C) 1997 Robey Pointer <robeypointer@gmail.com>
10 Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
11 Copyright (C) 2009 Travis McHenry <tmchenryaz@cox.net>
12 Copyright (C) 2009 Johannes Huber <johu@gmx.de>
24 explicit Cipher(QByteArray key, QString cipherType = QString("blowfish"));
25 QByteArray decrypt(QByteArray cipher);
26 QByteArray decryptTopic(QByteArray cipher);
27 bool encrypt(QByteArray& cipher);
28 QByteArray initKeyExchange();
29 QByteArray parseInitKeyX(QByteArray key);
30 bool parseFinishKeyX(QByteArray key);
31 bool setKey(QByteArray key);
32 QByteArray key() { return m_key; }
33 bool setType(const QString& type);
34 QString type() { return m_type; }
35 static bool neededFeaturesAvailable();
36 inline bool usesCBC() { return m_cbc; }
39 // direction is true for encrypt, false for decrypt
40 QByteArray blowfishCBC(QByteArray cipherText, bool direction);
41 QByteArray blowfishECB(QByteArray cipherText, bool direction);
42 QByteArray b64ToByte(QByteArray text);
43 QByteArray byteToB64(QByteArray text);
45 QCA::Initializer init;
47 QCA::DHPrivateKey m_tempKey;
48 QCA::BigInteger m_primeNum;