Что означает «соль» в спецификаторе строка-ключ (s2k)? - PullRequest
3 голосов
/ 17 мая 2010

Что означает «соль» в спецификаторе string-to-key (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 ]

3 голосов
/ 17 мая 2010

Из Википедия :

В криптографии соль состоит из случайных битов, которые используются в качестве одного из входных данных для функции вывода ключа. Другим вводом обычно является пароль или пароль. Выходные данные функции получения ключа хранятся в виде зашифрованной версии пароля.

Соль - это всего лишь несколько битов, которые используются для повышения безопасности системы. Они помогают предотвратить атаки предварительно рассчитанных словарей .

3 голосов
/ 17 мая 2010

Соль может иметь любое постоянное значение.

Либо константа, либо идентификатор пользователя. Лучше, если оно включает оба.

Используется для предотвращения работы предварительно сгенерированных радужных таблиц.

2 голосов
/ 17 мая 2010

Я думаю, вы спрашиваете происхождение термина, а не определения.

Время для раунда народной этимологии ! (Пока кто-то не даст настоящий ответ.)

Я предполагаю, что это аналогия с кулинарией: соль является улучшающей добавкой. И немного проходит долгий путь.

...