HASH-функция SHA-1. Лекция 5

Содержание

Слайд 2

Определение HASH-функции

HASH-функция (хеширование) — преобразование по детерминированному алгоритму входного массива данных произвольной

Определение HASH-функции HASH-функция (хеширование) — преобразование по детерминированному алгоритму входного массива данных
длины в выходную битовую строку фиксированной длины.

Свойства HASH-функций:
Необратимость - найти обратной значение вычислительно-сложно (f(x)=y – вычислить легко, но f-1(y)=x вычислить сложно).
Стойкость к колизиям I и II группы.
Быстрая вычисляемость.
Лавинный эффект.

Слайд 3

HASH-функция SHA-1.

160-битный алгоритм хэширования;
Опубликован в 1995 году;
Рекомендован в качестве основного

HASH-функция SHA-1. 160-битный алгоритм хэширования; Опубликован в 1995 году; Рекомендован в качестве
для государственных учреждений в США;
Раундовый, 80 раундов;
Блоковый, блок – 512 бит.

Слайд 4

Дополнение сообщения до длины, кратной 512 битам

M = 0100…0101 1010…0000 0101…00100100000000 110101100000…00


512

512

448

|M|

64

Дополнение сообщения до длины, кратной 512 битам M = 0100…0101 1010…0000 0101…00100100000000

Слайд 5

Инициализация переменных

A = a = 0x67452301
B = b = 0xEFCDAB89
C = c

Инициализация переменных A = a = 0x67452301 B = b = 0xEFCDAB89
= 0x98BADCFE
D = d = 0x10325476
E = e = 0xC3D2E1F0

Определяются 10 буферных переменных:

Определяются четыре нелинейные операции и четыре константы:

Слайд 6

Задача. Переведите в шестнадцатеричную систему вектор

1011 1110 1101 1010 0010 0000 0001

Задача. Переведите в шестнадцатеричную систему вектор 1011 1110 1101 1010 0010 0000
0100 = 0x… ?

Слайд 7

Задача. Переведите в шестнадцатеричную систему вектор

1011 1110 1101 1010 0010 0000 0001

Задача. Переведите в шестнадцатеричную систему вектор 1011 1110 1101 1010 0010 0000 0001 0100 = 0xbeda2014
0100 = 0xbeda2014

Слайд 8

Главный цикл обработки 512-битового блока

далее:

A=A+a
B=B+b
C=C+c

D=D+d
E=E+e

Главный цикл обработки 512-битового блока далее: A=A+a B=B+b C=C+c D=D+d E=E+e

Слайд 9

Главный цикл. Графическая схема.

Главный цикл. Графическая схема.

Слайд 10

Пример

SHA-1("В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!") =
9e32295f

Пример SHA-1("В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!") =
8225803b b6d5fdfc c0674616 a4413c1b
SHA-1("") =
da39a3ee 5e6b4b0d 3255bfef 95601890 afd80709