diff options
Diffstat (limited to '0003-Use-the-correct-cipher-for-benchmark.patch')
-rw-r--r-- | 0003-Use-the-correct-cipher-for-benchmark.patch | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/0003-Use-the-correct-cipher-for-benchmark.patch b/0003-Use-the-correct-cipher-for-benchmark.patch new file mode 100644 index 000000000000..ea306e230cfb --- /dev/null +++ b/0003-Use-the-correct-cipher-for-benchmark.patch @@ -0,0 +1,132 @@ +From bb693692988026dabe68e8294fe9e17f99fe1499 Mon Sep 17 00:00:00 2001 +From: Timothy Redaelli <timothy.redaelli@gmail.com> +Date: Thu, 6 Aug 2015 15:12:37 +0200 +Subject: [PATCH 3/3] Use the correct cipher for benchmark + +--- + src/gui/DatabaseSettingsWidget.cpp | 10 +++++++++- + src/keys/CompositeKey.cpp | 11 ++++++----- + src/keys/CompositeKey.h | 3 ++- + src/keys/CompositeKey_p.h | 4 +++- + 4 files changed, 20 insertions(+), 8 deletions(-) + +diff --git a/src/gui/DatabaseSettingsWidget.cpp b/src/gui/DatabaseSettingsWidget.cpp +index 34c55b5c..ee50eae3 100644 +--- a/src/gui/DatabaseSettingsWidget.cpp ++++ b/src/gui/DatabaseSettingsWidget.cpp +@@ -21,9 +21,11 @@ + #include "core/Database.h" + #include "core/Group.h" + #include "core/Metadata.h" ++#include "crypto/SymmetricCipher.h" + #include "format/KeePass2.h" + #include "keys/CompositeKey.h" + ++ + DatabaseSettingsWidget::DatabaseSettingsWidget(QWidget* parent) + : DialogyWidget(parent) + , m_ui(new Ui::DatabaseSettingsWidget()) +@@ -143,7 +145,13 @@ void DatabaseSettingsWidget::reject() + void DatabaseSettingsWidget::transformRoundsBenchmark() + { + QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); +- int rounds = CompositeKey::transformKeyBenchmark(1000); ++ int rounds; ++ if (m_ui->AlgorithmComboBox->currentIndex() == 0) { ++ rounds = CompositeKey::transformKeyBenchmark(1000, SymmetricCipher::Aes256); ++ } ++ else { ++ rounds = CompositeKey::transformKeyBenchmark(1000, SymmetricCipher::Twofish); ++ } + if (rounds != -1) { + m_ui->transformRoundsSpinBox->setValue(rounds); + } +diff --git a/src/keys/CompositeKey.cpp b/src/keys/CompositeKey.cpp +index 5bf9cae5..4326449b 100644 +--- a/src/keys/CompositeKey.cpp ++++ b/src/keys/CompositeKey.cpp +@@ -145,10 +145,10 @@ void CompositeKey::addKey(const Key& key) + m_keys.append(key.clone()); + } + +-int CompositeKey::transformKeyBenchmark(int msec) ++int CompositeKey::transformKeyBenchmark(int msec, SymmetricCipher::Algorithm algo) + { +- TransformKeyBenchmarkThread thread1(msec); +- TransformKeyBenchmarkThread thread2(msec); ++ TransformKeyBenchmarkThread thread1(msec, algo); ++ TransformKeyBenchmarkThread thread2(msec, algo); + + thread1.start(); + thread2.start(); +@@ -160,8 +160,9 @@ int CompositeKey::transformKeyBenchmark(int msec) + } + + +-TransformKeyBenchmarkThread::TransformKeyBenchmarkThread(int msec) ++TransformKeyBenchmarkThread::TransformKeyBenchmarkThread(int msec, SymmetricCipher::Algorithm algo) + : m_msec(msec) ++ , algo(algo) + , m_rounds(0) + { + Q_ASSERT(msec > 0); +@@ -178,7 +179,7 @@ void TransformKeyBenchmarkThread::run() + QByteArray seed = QByteArray(32, '\x4B'); + QByteArray iv(16, 0); + +- SymmetricCipher cipher(SymmetricCipher::Aes256, SymmetricCipher::Ecb, ++ SymmetricCipher cipher(algo, SymmetricCipher::Ecb, + SymmetricCipher::Encrypt); + cipher.init(seed, iv); + +diff --git a/src/keys/CompositeKey.h b/src/keys/CompositeKey.h +index 3290d367..0163c914 100644 +--- a/src/keys/CompositeKey.h ++++ b/src/keys/CompositeKey.h +@@ -20,6 +20,7 @@ + + #include <QList> + ++#include "crypto/SymmetricCipher.h" + #include "keys/Key.h" + + class CompositeKey : public Key +@@ -38,7 +39,7 @@ public: + bool* ok, QString* errorString) const; + void addKey(const Key& key); + +- static int transformKeyBenchmark(int msec); ++ static int transformKeyBenchmark(int msec, SymmetricCipher::Algorithm algo); + + private: + static QByteArray transformKeyRaw(const QByteArray& key, const QByteArray& seed, +diff --git a/src/keys/CompositeKey_p.h b/src/keys/CompositeKey_p.h +index 27fa7abc..9f321b2c 100644 +--- a/src/keys/CompositeKey_p.h ++++ b/src/keys/CompositeKey_p.h +@@ -19,19 +19,21 @@ + #define KEEPASSX_COMPOSITEKEY_P_H + + #include <QThread> ++#include "crypto/SymmetricCipher.h" + + class TransformKeyBenchmarkThread : public QThread + { + Q_OBJECT + + public: +- explicit TransformKeyBenchmarkThread(int msec); ++ explicit TransformKeyBenchmarkThread(int msec, SymmetricCipher::Algorithm algo); + int rounds(); + + protected: + void run(); + + private: ++ SymmetricCipher::Algorithm algo; + int m_msec; + int m_rounds; + }; +-- +2.5.0 + |