我用AES-128加密了1块数据,但我知道104位128位的密钥。
要用多长时间才能在Intel I7 CPU上强制24位密钥?我该怎么算呢?
发布于 2020-11-17 17:03:22
我有一个Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz。英特尔公司( Intel I7 )也有10个代的身影可供谈论。如果不提供实际参考的英特尔I7,结果就不可能准确。
这就是方法;
运行openssl speed -evp aes-128-cbc命令。这就给了你公制。
我的CPU输出:
aes-128-cbc for 3s on 16 size blocks: 144516288 aes-128-cbc's in 3.00s,
那是144516288 = 2^{27.1066568628459}。因此,1秒就足够了。
下面的代码(在SageMath中测试)
SecondsInADay = 86400
SecondsInAYear = 31536000
TotalCBCin3Sec = 144516288 #your CPU time from openssl speed -evp aes-128-cbc
power = (30,40,50,60,128)
for i in power:
print('seconds for 2^{%d} =' % (i),end="")
print(((2^i *3.0)/TotalCBCin3Sec).str(no_sci=2))
for i in power:
print('years for 2^{%d} =' % (i),end="")
print(((2^i *3.0)/TotalCBCin3Sec/SecondsInAYear).str(no_sci=2))https://crypto.stackexchange.com/questions/86254
复制相似问题