Понятие хеш-функции. Свойства криптографически стойкой хеш-функции.

Хеширование(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. Подпись возможно и удобно хранить в записывающем устройстве.

Всем вышеперечисленным требованиям удовлетворяет защищенная функция хеширования.