'salt'在字符串到键(s2k)说明符中引用了什么?
它似乎是一个随机数字生成器来解决问题,但我想知道“盐”代表什么?
例如它写道:
3.6.1.2. Salted S2K
This includes a "salt" value in the S2K specifier -- some arbitrary
data -- that gets hashed along with the passphrase string, to help
prevent dictionary attacks.
Octet 0: 0x01
Octet 1: hash algorithm
Octets 2-9: 8-octet salt value
Salted S2K is exactly like Simple S2K, except that the input to the
hash function(s) consists of the 8 octets of salt from the S2K
specifier, followed by the passphrase.
但盐没有定义,虽然它的含义似乎很清楚。
答案 0 :(得分:3)
盐可以是任何一致的值。
常量或用户ID。如果它包括两者,那就更好。
这用于防止预生成的彩虹表工作。
答案 1 :(得分:3)
来自Wikipedia:
在密码学中,salt包含随机位,用作密钥派生函数的输入之一。另一个输入通常是密码或密码。密钥派生函数的输出存储为密码的加密版本。
salt只是一些用于提高系统安全性的位。它们有助于防止pre-computed dictionary attacks。
答案 2 :(得分:2)