3

字符串到键(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.

但是盐没有定义,尽管它的含义似乎很清楚。

4

3 回答 3

3

盐可以是任何一致的值。

常量或用户 ID。如果两者都包含就更好了。

这用于防止预生成的彩虹表工作。

于 2010-05-16T21:29:04.037 回答
3

来自维基百科

在密码学中,盐由用作密钥推导函数的输入之一的随机位组成。另一个输入通常是密码或密码。密钥派生函数的输出存储为密码的加密版本。

盐只是一些用于提高系统安全性的位。它们有助于防止预先计算的字典攻击

于 2010-05-16T21:31:44.157 回答
2

我想你问的是这个词的起源,而不是定义。

是时候来一轮民间词源了!(直到有人给出真正的答案。)

我的猜测是,这是烹饪的类比:盐是一种改善添加剂。一点点还有很长的路要走。

于 2010-05-16T23:14:49.533 回答