Однонаправленные хэш-функции
У однонаправленной хэш-функции может быть множество имен: функция сжатия, функция сокращения (contraction function), краткое изложение, характерный признак, криптографическая контрольная сумма, код целостности сообщения (message integrity check, MIC) и код обнаружения манипуляции (manipulation detection code, MDC). Как бы она не называлась, эта функция является центральной в современной криптографии. Однонаправленные хэш-функции – это другая часть фундамента многих протоколов.
Хэш-функции, долгое время использующиеся в компьютерных науках, представляют собой функции, математические или иные, которые получают на вход строку переменной длины (называемую прообразом) и преобразуют ее в строку фиксированной, обычно меньшей, длины (называемую значением хэш-функции). В качестве простой хэш-функции можно рассматривать функцию, которая получает прообраз и возвращает байт, представляющий собой XOR всех входных байтов.
Смысл хэш-функции состоит в получении характерного признака прообраза – значения, по которому анализируются различные прообразы при решении обратной задачи. Так как обычно хэш-функция представляет собой соотношение "многие к одному", невозможно со всей определенностью сказать, что две строки совпадают, но их можно использовать, получая приемлемую оценку точности.
Однонаправленная хэш-функция – это хэш-функция, которая работает только в одном направлении: легко вычислить значение хэш-функции по прообразу, но трудно создать прообраз, значение хэш-функции которого равно заданной величине. Упоминавшиеся ранее хэш-функции, вообще говоря, не являются однонаправленными: задав конкретный байт, не представляет труда создать строку байтов, XOR которых дает заданное значение. С однонаправленной хэш-функцией такого не выйдет. Хорошей однонаправленной хэш-функцией является хэш-функция без столкновений - трудно создать два прообраза с одинаковым значением хэш-функции.
Хэш-функция является открытой, тайны ее расчета не существует. Безопасность однонаправленной хэш-функцией заключается именно в ее однонаправленности. У выхода нет видимой зависимости от входа. Изменение одного бита прообраза приводи к изменению, в среднем, половины битов значения хэш-функции. Вычислительно невозможно найти прообраз, соответствующий заданному значению хэш-функции.
Посмотрите на это как на способ получить характерные признаки файлов. Если вы хотите проверить, что у кого-то есть тот же файл, что и у вас, но вы не хотите, чтобы этот файл был передан вам, попросите послать вам значение хэш-функции. Если присланное значение хэш-функции совпадет с рассчитанным вами, то почти наверняка чужой файл совпадает с вашим. Это особенно полезно при финансовых транзакциях, когда вы не хотите где-то в сети превратить снятие со счета $100 в снятие $1000. В обычных условиях вы можете использовать однонаправленную хэш-функцию без ключа, так что кто угодно может проверить значение хэш-функции.
- Информационная безопасность
- Отправитель и получатель
- Сообщения и шифрование
- Проверка подлинности, целостность и неотрицание авторства
- Алгоритмы и ключи
- Симметричные алгоритмы
- Алгоритмы с открытым ключом
- Криптоанализ
- Безопасность алгоритмов
- Стеганография
- Подстановочные и перестановочные шифры
- Подстановочные шифры
- Перестановочные шифры
- Простое xor
- Одноразовые блокноты
- Ipklpsfhgq
- Элементы протоколов
- Смысл протоколов
- Персонажи
- Протоколы с посредником
- Арбитражные протоколы
- Самодостаточные протоколы
- Попытки вскрытия протоколов
- Передача информации с использованием симметричной криптографии
- Однонаправленные функции
- Однонаправленные хэш-функции
- Коды проверки подлинности сообщения
- Передача информации с использованием криптографии с открытыми ключами
- Смешанные криптосистемы
- Головоломки Меркла
- Цифровые подписи
- Подпись документа с помощью симметричных криптосистем и посредника
- Деревья цифровых подписей
- Подпись документа с помощью криптографии с открытыми ключами
- Подпись документа и метки времени
- Подпись документа с помощью криптографии с открытыми ключами и однонаправленных хэш-функций
- Алгоритмы и терминология
- Несколько подписей
- Невозможность отказаться от цифровой подписи
- Использование цифровых подписей
- Цифровые подписи и шифрование
- Возвращение сообщения при приеме
- Обнаружение вскрытия, основанного на возвращении сообщения
- Вскрытия криптографии с открытыми ключами
- Генерация случайных и псевдослучайных последовательностей
- Псевдослучайные последовательности
- Криптографически безопасные псевдослучайные последовательности
- Настоящие случайные последовательности
- Типы алгоритмов и криптографические режимы
- Режим электронной шифровальной книги
- Набивка
- Повтор блока
- Режим сцепления блоков шифра.
- Потоковые шифры
- Устройство генератора потока ключей.
- Идентификация и авторизация
- Аутентификация
- Парольная аутентификация
- Электронные смарт-карты
- Использование других уникальных предметов
- Методы биометрической аутентификации
- Идентификация по отпечаткам пальцев
- Идентификация по Сетчатке и радужной оболочке глаза
- Голосовая идентификация
- Распознавание по форме лица, руки или ладони
- Распознавание по рукописному почерку.
- Клавиатурный почерк
- Задачи аудита
- Применяемые методики
- Результаты аудита
- Классификация угроз Digital Security (Digital Security Classification of Threats)
- Технологические угрозы информационной безопасности
- Организационные угрозы информационной безопасности
- Социальная инженерия
- Компьютерные вирусы
- Файловые вирусы
- «Троянские кони» («трояны»)
- Сетевые черви
- Загрузочные вирусы
- Мобильные («встроенные») вирусы
- Полиморфизм вирусов
- Противодействие вирусам
- Места наиболее вероятного внедрения вирусов