随机数的安全强度是什么意思?

时间:2012-02-02 13:02:20

标签: encryption cryptography sha1

使用Hash_DRBG时随机数的安全强度是什么意思? (我指的是一些NIST文件)。

Hash_DRBG的文件说:   “要求的安全强度= 80    请求的哈希算法= SHA-1“

[我编辑了标题。我认为我的问题现在更准确了]

该文件为http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DRBG_All.pdf (大约11MB)

相关部分是

##############################################################
Hash_DRBG
Requested Security Strength = 80
Requested Hash Algorithm = SHA-1
prediction_resistance_flag = "NOT ENABLED"
EntropyInput =
000102 03040506
0708090A 0B0C0D0E 0F101112 13141516 1718191A 1B1C1D1E
1F202122 23242526 2728292A 2B2C2D2E 2F303132 33343536
EntropyInput1 (for Reseed1) =
808182 83848586
8788898A 8B8C8D8E 8F909192 93949596 9798999A 9B9C9D9E
9FA0A1A2 A3A4A5A6 A7A8A9AA ABACADAE AFB0B1B2 B3B4B5B6
EntropyInput2 (for Reseed2) =
C0C1C2 C3C4C5C6
C7C8C9CA CBCCCDCE CFD0D1D2 D3D4D5D6 D7D8D9DA DBDCDDDE
DFE0E1E2 E3E4E5E6 E7E8E9EA EBECEDEE EFF0F1F2 F3F4F5F6
Nonce =
20 21222324
PersonalizationString = <empty>
AdditionalInput = <empty>
##############################################################

2 个答案:

答案 0 :(得分:1)

随机数的安全强度等于它包含的熵数。这取决于两件事:用于导出数字的算法的安全强度,如前一个答案中的m0skit0所解释的,还有这些算法的输入的熵内容。可以使用具有零熵的已知预定义值来馈送NIST DRBG算法,并且在这种情况下,尽管算法具有更高的安全强度,但输出也将具有零熵。输出的安全强度等于这两个因素的最小值。

答案 1 :(得分:0)

哈希算法的安全强度是反转散列数据的难度。

NIST Special Publication 800-107 (PDF)中,加密算法的优势在于

  

与工作量相关的数字(即数量)   打破加密算法所需的操作)   系统。安全强度以位为单位。如果2N执行   算法(或系统)的操作需要打破   加密算法,则安全强度为N位。

密钥的安全强度是

  

查找与之关联的密钥所需的工作量   一些特定的算法。

  

确定加密散列函数的安全强度   通过以下两者之一:其抗碰撞强度,前像素抗性   强度或第二原像抗力强度,取决于   加密应用程序需要的属性   加密哈希函数。