Что означает "соль" в спецификаторе строка-ключ (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 ответа
Из Википедии:
В криптографии соль состоит из случайных битов, которые используются в качестве одного из входных данных для функции вывода ключа. Другой ввод обычно является паролем или парольной фразой. Выходные данные функции получения ключа хранятся в виде зашифрованной версии пароля.
Соль - это всего лишь несколько битов, которые используются для повышения безопасности системы. Они помогают предотвратить атаки предварительно рассчитанных словарей.
Соль может иметь любую постоянную ценность.
Либо константа, либо идентификатор пользователя. Лучше, если это включает оба.
Это используется для предотвращения работы предварительно сгенерированных радужных таблиц.
Я думаю, что вы спрашиваете происхождение термина, а не определения.
Время для раунда народной этимологии! (Пока кто-то не даст настоящий ответ.)
Я предполагаю, что это аналогия с кулинарией: соль является улучшающей добавкой. И немного проходит долгий путь.