Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual Studio 2017中AES/CCM的计算时间加密_C++_Visual C++_Benchmarking_Crypto++_Microbenchmark - Fatal编程技术网

C++ Visual Studio 2017中AES/CCM的计算时间加密

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

我正在使用库Crypto++5.6.5和Visual Studio 2017

如何计算AES-CCM的加密时间

我想知道如何计算AES-CCM的加密时间

Crypto++wiki提供了一篇文章。它提供了很多关于库性能、吞吐量的计算方法的细节,甚至还引用了测量实际吞吐量的源代码。信不信由你,只需调用
时钟
就可以测量批量加密。另请参见同一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++移植性有很多要说的。我非常想把问题作为重复来回答,因为我知道如果它是错误的话,它可以被逆转。