C++ Visual Studio 2017中AES/CCM的计算时间加密
我正在使用库Crypto++5.6.5和Visual Studio 2017 如何计算AES-CCM的加密时间 我想知道如何计算AES-CCM的加密时间 Crypto++wiki提供了一篇文章。它提供了很多关于库性能、吞吐量的计算方法的细节,甚至还引用了测量实际吞吐量的源代码。信不信由你,只需调用C++ Visual Studio 2017中AES/CCM的计算时间加密,c++,visual-c++,benchmarking,crypto++,microbenchmark,C++,Visual C++,Benchmarking,Crypto++,Microbenchmark,我正在使用库Crypto++5.6.5和Visual Studio 2017 如何计算AES-CCM的加密时间 我想知道如何计算AES-CCM的加密时间 Crypto++wiki提供了一篇文章。它提供了很多关于库性能、吞吐量的计算方法的细节,甚至还引用了测量实际吞吐量的源代码。信不信由你,只需调用时钟就可以测量批量加密。另请参见同一wiki文章中的内容 要对AES/CCM进行基准测试,请执行以下操作。它基于Crypto++基准测试代码,但它使用ThreadUserTimer而不是直接调用cloc
时钟
就可以测量批量加密。另请参见同一wiki文章中的内容
要对AES/CCM进行基准测试,请执行以下操作。它基于Crypto++基准测试代码,但它使用ThreadUserTimer
而不是直接调用clock
<代码> TraceUrSeriTe>代码>跨所有OSES和C++的所有版本。
您需要以cpuFreq
拨入处理器速度。您还应该运行以将CPU从空闲或C级睡眠状态移开,但您不能,因为这是一个Linux脚本。您可以在TestScript/
文件夹中找到它
#包括“cryptlib.h”
#包括“secblock.h”
#包括“hrtimer.h”
#包括“osrng.h”
#包括“modes.h”
#包括“aes.h”
#包括“ccm.h”
#包括
const-double-runtimeunseconds=3.0;
常数双cpuFreq=2.7*1000*1000*1000;
int main(int argc,char*argv[])
{
使用名称空间CryptoPP;
自动进料器和OMPOOL prng;
SecByteBlock键(16);
prng.GenerateBlock(key,key.size());
使用模式执行CCM基准测试。您可以通过包括“modes.h”
切换到CTR模式,然后:
CTR_Mode<AES>::Encryption cipher;
cipher.SetKeyWithIV(key, key.size(), key);
我想知道如何计算AES-CCM的加密时间
Crypto++wiki提供了一篇文章。它提供了许多关于库性能、吞吐量计算方法的详细信息,甚至还引用了测量实际吞吐量的源代码。信不信由你,对时钟的简单调用对测量批量加密非常有效。另请参阅同一篇wiki文章
对AES/CCM进行测试,按照如下的方式进行操作:基于Cuffo++的标杆代码,但它使用了<代码> TraceUrService Time/Cube >,而不是直接调用<代码>时钟< /C> > <代码> TraceUrSeriTyth//Cord>在所有OSES和C++的所有版本中工作。
您需要在
cpuFreq
上拨入处理器速度。您还应该运行以将CPU从空闲或C级睡眠状态移开,但您不能,因为它是Linux脚本。您可以在TestScript/
文件夹中找到它
#包括“cryptlib.h”
#包括“secblock.h”
#包括“hrtimer.h”
#包括“osrng.h”
#包括“modes.h”
#包括“aes.h”
#包括“ccm.h”
#包括
const-double-runtimeunseconds=3.0;
常数双cpuFreq=2.7*1000*1000*1000;
int main(int argc,char*argv[])
{
使用名称空间CryptoPP;
自动进料器和OMPOOL prng;
SecByteBlock键(16);
prng.GenerateBlock(key,key.size());
使用模式执行CCM基准测试。您可以通过包括“modes.h”
切换到CTR模式,然后:
CTR_Mode<AES>::Encryption cipher;
cipher.SetKeyWithIV(key, key.size(), key);
你就不能给函数调用计时吗?请你详细解释一下,获取并保存开始时间,运行函数,最好是在循环中多次迭代,获取结束时间,减去开始时间,除以迭代次数。执行几次,得到MSVC++中微基准标记的平均值。通用副本:。你就不能给函数调用计时吗?请你详细解释一下,获取并保存开始时间,运行函数,最好是在循环中多次迭代,获取结束时间,减去开始时间,除以迭代次数。执行几次,得到MSVC++中微基准标记的平均值。通用副本:。我用来关闭此文件的副本是否过于普通?是否应重新打开此文件,或将副本列表编辑为更具体的副本?我不希望对一个看起来如此普通的问题有一个好的答案,但现在你写了一个,这个问题可能值得润色。@PeterCordes-好问题。最初我打算ping你和ask请你重新考虑这个问题。当我读到这个问题时,我看到有两部分。第一部分是基本的“基准”第二部分是加密和++的部分。第二个是密码+ +部分。这个答案集中在密码+++部分,比如使用<代码> Buffic变换< /Cord>类'CudioStudioStudio处理块,并使用CuthOut++Cuth.TraceUrEultTime/Coo>获得一个在所有OSES和所有版本的C++中都很好的定时器。AduleTime<代码>不是完美的,但是关于OS和C++移植性有很多要说的。我非常想把问题作为重复来回答,因为我知道如果它是错误的,它可以被颠倒。人们如果不认为我做的是正确的,当然应该给我打个折扣,和/或投票重新打开。是我关闭T的重复。他的问题太笼统了?应该重新打开,还是将dup列表编辑为更具体的副本?我本来不希望对一个看起来如此笼统的问题有一个好的答案,但现在你写了一个,这个问题可能值得润色。@PeterCordes-好问题。最初我打算ping你,让你重新考虑结束。什么时候我看到的问题分为两部分:第一部分是基本的“基准”第二部分是加密和++的部分。第二个是密码+ +部分。这个答案集中在密码+++部分,比如使用<代码> Buffic变换< /Cord>类'CudioStudioStudio处理块,并使用CuthOut++Cuth.TraceUrEultTime/Coo>获得一个在所有OSES和所有版本的C++中都很好的定时器。AduleTime<代码>不是完美的,但是关于OS和C++移植性有很多要说的。我非常想把问题作为重复来回答,因为我知道如果它是错误的话,它可以被逆转。