Что означает "соль" в спецификаторе строка-ключ (s2k)?

Что означает "соль" в спецификаторе строка-ключ (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 ответа

Решение

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

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

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

Соль может иметь любую постоянную ценность.

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

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

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

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

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

Другие вопросы по тегам