aboutsummaryrefslogtreecommitdiffhomepage
path: root/benchmark/bench_crypto.cpp
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2020-09-27 15:19:47 +0300
committerlevlam <levlam@telegram.org>2020-09-27 15:19:47 +0300
commita7ba1e3e1228b2a68b41a60f202fb9cf4a65e7e0 (patch)
treeb93b19d0a3b1a8ed3df505f9dab8a9c732e25128 /benchmark/bench_crypto.cpp
parent8ab932460a1f7627ffb0eb116cc24ec8d1184177 (diff)
Fix AES benchmark.
GitOrigin-RevId: f438040ad99af3bfa43badff0ccc6de333b11fb9
Diffstat (limited to 'benchmark/bench_crypto.cpp')
-rw-r--r--benchmark/bench_crypto.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/benchmark/bench_crypto.cpp b/benchmark/bench_crypto.cpp
index d957c2272..5a88d1e59 100644
--- a/benchmark/bench_crypto.cpp
+++ b/benchmark/bench_crypto.cpp
@@ -13,8 +13,8 @@
#include "td/utils/Slice.h"
#include "td/utils/UInt.h"
-#include <openssl/sha.h>
#include <openssl/evp.h>
+#include <openssl/sha.h>
#include <array>
#include <atomic>
@@ -168,7 +168,6 @@ class AesCtrBench : public td::Benchmark {
class AesCtrOpenSSLBench : public td::Benchmark {
public:
alignas(64) unsigned char data[DATA_SIZE];
- alignas(64) unsigned char dest[DATA_SIZE];
td::UInt256 key;
td::UInt128 iv;
@@ -185,23 +184,18 @@ class AesCtrOpenSSLBench : public td::Benchmark {
}
void run(int n) override {
- EVP_CIPHER_CTX *ctx;
- int len;
- ctx = EVP_CIPHER_CTX_new();
- EVP_EncryptInit_ex(ctx, EVP_aes_128_ctr(), NULL, key.raw, iv.raw);
+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
+ EVP_EncryptInit_ex(ctx, EVP_aes_256_ctr(), NULL, key.raw, iv.raw);
td::MutableSlice data_slice(data, DATA_SIZE);
- td::MutableSlice dest_slice(dest, DATA_SIZE);
td::AesCtrState state;
state.init(as_slice(key), as_slice(iv));
for (int i = 0; i < n; i++) {
- //state.encrypt(data_slice, data_slice);
- len = (int)data_slice.size();
- EVP_EncryptUpdate(ctx, dest_slice.ubegin(), &len, data_slice.ubegin(), len);
+ int len = 0;
+ EVP_EncryptUpdate(ctx, data_slice.ubegin(), &len, data_slice.ubegin(), DATA_SIZE);
+ CHECK(len == DATA_SIZE);
}
- //EVP_EncryptFinal_ex(ctx, ciphertext + len, &len);
-
EVP_CIPHER_CTX_free(ctx);
}
};