Encryption 检查所有可能的密钥所需的时间(加密)

Encryption 检查所有可能的密钥所需的时间(加密),encryption,cryptography,key,Encryption,Cryptography,Key,我发现,要确定检查加密密钥的所有可能密钥(例如3DES)所需的时间,需要将密钥长度乘以计算机尝试一个密钥所需的时间。平均来说,在尝试了一半的关键点之后,就可以猜到它,因此结果应该乘以一半 现在我的问题是:如何确定一台计算机尝试一个键(使用最快的计算机)需要多长时间?编写一些尝试1000个键的代码并运行它。如果它以秒为单位运行,则增加键的数量,直到获得分钟(或小时,如果您有耐心的话)。例如,10000键、100000键等 不管你尝试什么键——你可以一次又一次地尝试相同的全零键。您所做的是在合理的时

我发现,要确定检查加密密钥的所有可能密钥(例如3DES)所需的时间,需要将密钥长度乘以计算机尝试一个密钥所需的时间。平均来说,在尝试了一半的关键点之后,就可以猜到它,因此结果应该乘以一半


现在我的问题是:如何确定一台计算机尝试一个键(使用最快的计算机)需要多长时间?

编写一些尝试1000个键的代码并运行它。如果它以秒为单位运行,则增加键的数量,直到获得分钟(或小时,如果您有耐心的话)。例如,10000键、100000键等


不管你尝试什么键——你可以一次又一次地尝试相同的全零键。您所做的是在合理的时间内为大量键计时,从中可以推断出尝试每个可能的键所需的时间。

这个问题似乎与主题无关,因为它与编程无关。我相信这些问题已经在@EugeneMayevski'EldoSCorp上讨论过了,感谢您的回复。不幸的是,我在那里找不到对我的问题的回答。这就是所谓的暴力。使用2^(n-1),其中n是密钥中的有效位数。当然,通常有比暴力更快的方法。捷径越少,密码就越好。