Понятие хеш-функции. Свойства криптографически стойкой хеш-функции.
Хеширование(H) (иногда хэширование, англ. hashing) — преобразование входного массива данных произвольной длины(M) в выходную битовую строку фиксированной длины(h). Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешем, хеш-кодом(h). Формула: h=H(M)
Свойства ХФ:
1) Хэш-функция применима к сообщению любой длины
2) На выходе фиксированная длина сообщения
3) Значение должно вычисляться относительно легко для любых х
4) Должен быть удобный алгороитм для програмной реализации
5) диффузия: изменение в исх. сообщении хотя бы 1 бита должно приводить к изменению примерно половины битов в значении ХФ
6) однонаправленность: для любого h д.б. практически невозможно вычислить X, для кот h(X)=h (для любого хеш-кода невозможно вычислительно получить исходное сообщение)
Кализия-несколько сообщений дают одинаковый хэш-код
7) сопротивляемость коллизиям:
- слабая: для любого данного сообщения Х д.б. практически невозможно подобрать сообщение Y такое что X, для кот. хеш-коды совпадают h(X)=h(Y)
- сильная: д.б. практически невозможно подобрать пару сообщений Y и X, имеющих одинаковый хеш h(X)=h(Y)
Криптостойкость ХФ основана на ее однонаправленности.
Обобщенная структура функции хэширования.
Рассмотрим структуру предложенную Мерклом. Она называется истинной функцией хеширования.
CV1 – переменная сцепления
f – функция сжатия
n – длина хеш кода
- i – тый вводимый блок исходного сообщения
b – длина блока
k – число блоков сообщения
Функция хеширования получает на вход сообщение и делит его на блоков равной длины по b(8). При необходимости блок дополняется 0-битами битов каждый.
Затем происходит многократное применения функции сжатия.
Каждый раз функция сжатия получает на вход два значения:
i - й блок сообщения
n битовое сообщение полеченное на предыдущем этапе(CVi)
На входе n – битовое значение
Результатом хеширования является последнее значение переменной сцепления.
CVi=(CVi-1,Yi-1)
H(M)=CVa
Понятие и свойства ЭЦП.
Электронная цифровая подпись (ЭЦП)— реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе, а также обеспечивает неотказуемость подписавшегося.
Свойства:
1. Достоверность - должна давать возможность установить дату, автора, время и достоверность содержимого на время подписи.
2. Неподдельность – автор и никто другой может подписать документ.
3. Невозможность использовать подпись повторно.
4. Невозможность изменить подписанный документ.
5. Невозможность отрицания авторства.
Требования:
1. Подпись должна быть функцией подписываемого сообщения.
2. Подпись должна использовать информацию, уникальную для отправителя.
3. Подпись должна легко генерироваться.
4. Подпись можно легко распознать и проверить.
5. С точки зрения вычислений невозможно фальсифицировать.
6. Подпись возможно и удобно хранить в записывающем устройстве.
Всем вышеперечисленным требованиям удовлетворяет защищенная функция хеширования.