'salt'在字符串到键(s2k)说明符中引用了什么?

时间:2010-05-16 21:27:03

标签: salt s2k

'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.

但盐没有定义,虽然它的含义似乎很清楚。

3 个答案:

答案 0 :(得分:3)

盐可以是任何一致的值。

常量或用户ID。如果它包括两者,那就更好。

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

答案 1 :(得分:3)

来自Wikipedia

  

在密码学中,salt包含随机位,用作密钥派生函数的输入之一。另一个输入通常是密码或密码。密钥派生函数的输出存储为密码的加密版本。

salt只是一些用于提高系统安全性的位。它们有助于防止pre-computed dictionary attacks

答案 2 :(得分:2)

我认为你问的是该词的 origin ,而不是定义。

一轮folk etymology的时间! (直到有人给出真正的答案。)

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