Модуль 2. Математичні основи криптографії 1. Лекция 4 Хэш-функции и аутентификация сообщений. Часть 2 1. Хэш-функции основных алгоритмов. SHA1 2. Коды.

Презентация:



Advertisements
Похожие презентации
Модуль 2. Математичні основи криптографії 1. Лекция 3 Хэш-функции и аутентификация сообщений. Часть 1 1. Хэш-функции. Общие понятия. 2. Хэш-функции основных.
Advertisements

ЛЕКЦИЯ 12. Хэш-функции Требования к хэшфункциям Простые хэшфункции Парадокс дня рождения и атаки, на нем основанные Способы.
Представление чисел в формате с фиксированной запятой Изучаемые вопросы: Представление целых чисел в памяти компьютера. Представление отрицательных чисел.
Коллизии хеш-функций MD5, SHA-0, SHA-1 Московский физико-технический институт (ГУ МФТИ) Факультет Радиотехники и Кибернетики.
Электронная цифровая подпись Лекция по с/к «Методы защиты информации» Ливак Е.Н.
Устройства хранения информации Кэш - память Основная память Магнитный (жесткий) диск Регистры Оптические носителиМагнитные носители.
Переменные в алгоритмах. Для хранения результатов промежуточных вычислений в процессе выполнения алгоритма входных и выходных данных и другой информации.
ПОДГОТОВКА К ЕГЭ-2014 ПО ИНФОРМАТИКЕ Часть В Старший преподаватель кафедры информационных технологий Яковенко Роман Геннадьевич Краснодарский краевой институт.
"Составление циклических алгоритмов". Структура ЦИКЛ используется при составлении алгоритмов, в которых необходимо многократно повторять какие- либо действия.
Хеш- алгоритмы Хеш - функции. Хеш- функция Хеш- это функция, которая ставит в соответствие небольшой, фиксированного размера объем двоичных данных произвольному,
Представление чисел в формате с фиксированной запятой. Изучаемые вопросы: Представление целых положительных чисел в памяти компьютера. Представление целых.
Представление информации в компьютере. Для физического представления чисел необходимы элементы, способные находиться в одном из нескольких устойчивых состояний.
КОДИРОВАНИЕТЕКСТАКОДИРОВАНИЕТЕКСТАКОДИРОВАНИЕТЕКСТАКОДИРОВАНИЕТЕКСТА.
Базы данных – это совокупность сведений (о реальных объектах, процессах, событиях или явлениях), относящихся к определенной теме или задаче, организованная.
Исполнение программы Энциклопедия учителя информатики Газета «Первое сентября»
Лекция 6. Способы адресации в микропроцессорных системах.
Измерение информации. Алфавитный подход. Алфавитный (объемный) подход к измерению информации применяется в цифровых (компьютерных) системах хранения и.
Лекция 1 Алгоритмы сжатия изображений Медведева Елена Викторовна дисц. Цифровая обработка изображений.
Что нужно знать: динамическое программирование – это способ решения сложных задач путем сведения их к более простым задачам того же типа динамическое.
Цели урока: Итоги. Повторить определение алгоритма, его свойства и виды. Вспомнить понятие модели и дать определение алгоритмической модели Научиться.
Транксрипт:

Модуль 2. Математичні основи криптографії 1

Лекция 4 Хэш-функции и аутентификация сообщений. Часть 2 1. Хэш-функции основных алгоритмов. SHA1 2. Коды аутентификации сообщений - МАС 2

1. Хэш-функции основных алгоритмов. SHA1 Безопасный хэш-алгоритм (Secure Hash Algorithm) был разработан национальным институтом стандартов и технологии (NIST) и опубликован в качестве феде- рального информационного стандарта (FIPS PUB 180) в 1993 году. SHA-1, как и MD5, основан на алгоритме MD4. 3

1. Хэш-функции основных алгоритмов. SHA1 Алгоритм получает на входе сообщение максимальной длины 2 64 бит и создает в качестве выхода дайджест сообщения длиной 160 бит. 4

1. Хэш-функции основных алгоритмов. SHA1 Логика выполнения SHA-1 Шаг 1: добавление недостающих битов Сообщение добавляется таким образом, чтобы его длина была кратна 448 по модулю 512. Добавление осуществляется всегда, даже если сообщение уже имеет нужную длину. (число добавляемых битов находится в диапазоне от 1 до 512). Добавление состоит из единицы, за которой следует необходимое количество нулей. 5

1. Хэш-функции основных алгоритмов. SHA1 Логика выполнения SHA-1 Шаг 2: добавление длины К сообщению добавляется блок из 64 битов. Этот блок трактуется как беззнаковое 64-битное целое и содержит длину исходного сообщения до добавления. Результатом первых двух шагов является сообщение, длина которого кратна 512 битам. Расширенное сообщение может быть представлено как последовательность 512-битных блоков Y 0, Y 1,..., Y L-1, так что общая длина расширенного сообщения есть L * 512 бит. 6

1. Хэш-функции основных алгоритмов. SHA1 Логика выполнения SHA-1 Шаг 3: инициализация SHA-1 буфера Используется 160-битный буфер для хранения промежуточных и окончательных результатов хэш- функции. Буфер может быть представлен как пять 32- битных регистров A, B, C, D и E. Эти регистры инициализируются следующими шестнадцатеричными числами: A = B = EFCDAB89 C = 98BADCFE D = E = C3D2E1F0 7

1. Хэш-функции основных алгоритмов. SHA1 Логика выполнения SHA-1 Шаг 4: обработка сообщения в 512-битных (16- словных) блоках Основой алгоритма является модуль, состоящий из 80 циклических обработок, обозначенный как H SHA. Все 80 циклических обработок имеют одинаковую структуру. 8

9

1. Хэш-функции основных алгоритмов. SHA1 10 t t t t Логика выполнения SHA-1 Каждый цикл получает на входе текущий 512-битный обрабатываемый блок Y q и 160-битное значение буфера ABCDE, и изменяет содержимое этого буфера. В каждом цикле используется дополнительная константа К t, которая принимает только четыре различных значения: 0 t 19 K t = 5A t 39 K t = 6ED9EBA1 40t 59 K t = 8F1BBCDC 60 t 79 K t = CA62C1D6 (целая часть числа [2 30 × 10 1/2 ])

1. Хэш-функции основных алгоритмов. SHA1 11 t t t t Логика выполнения SHA-1 Для получения SHA q+1 выход 80-го цикла складывается со значением SHA q. Сложение по модулю 2 32 выполняется независимо для каждого из пяти слов в буфере с каждым из соответствующих слов в SHA q

1. Хэш-функции основных алгоритмов. SHA1 12 t t t t Логика выполнения SHA-1 Шаг 5: выход После обработки всех 512-битных блоков выходом L-ой стадии является 160-битный дайджест сообщения.

1. Хэш-функции основных алгоритмов. SHA1 13 t t t t Логика выполнения SHA-1 Каждый цикл можно представить в виде: A, B, C, D, E (CLS 5 (A) + f t (B, C, D) + E + W t + K t ), A, CLS 30 (B), C, D Где A, B, C, D, E - пять слов из буфера. t - номер цикла, 0 t 79. f t - элементарная логическая функция. CLS s - циклический левый сдвиг 32-битного аргумента на s битов. W t - 32-битное слово, полученное из текущего входного 512-битного блока. K t - дополнительная константа. + - сложение по модулю 2 32.

1. Хэш-функции основных алгоритмов. SHA1 14 t t t t Логика выполнения отдельного цикла

1. Хэш-функции основных алгоритмов. SHA1 15 t t t t Получение входных значений каждого цикла из очередного блока

1. Хэш-функции основных алгоритмов. SHA1 16 t t t t различия между алгоритмами MD5SHA1 Длина дайджеста128 бит160 бит Размер блока обработки 512 бит Число итераций64 (4 цикла по 16 итераций в каждом) 80 Число элементарных логических функций 43 Число дополнительных констант 644

1. Хэш-функции основных алгоритмов. SHA1 17 t t t t различия между алгоритмами Безопасность: дайджест SHA-1 на 32 бита длиннее, чем дайджест MD5. SHA-1 является более стойким алгоритмом. Скорость: SHA-1 выполняется приблизительно на 25% медленнее, чем MD5 на той же аппаратуре. Простота и компактность: оба алгоритма просты и в описании, и в реализации, не требуют больших программ или подстановочных таблиц.

2. Коды аутентификации сообщений - МАС 18 t t t t Под МАС (Message Authentication Code) понимается некоторый аутентификатор, являющийся определенным способом вычисленным блоком данных, с помощью которого можно проверить целостность сообщения.

2. Коды аутентификации сообщений - МАС 19 t t t t Функция вычисления МАС должна обладать следующими свойствами: MAC = C K (M) Должно быть вычислительно трудно, зная М и С K (M), найти сообщение М, такое, что С K (M) = С K (M). Значения С K (M) должны быть равномерно распределенными в том смысле, что для любых сообщений М и M вероятность того, что С K (M) = С K (M), должна быть равна 2 -n, где n - длина значения МАС.

2. Коды аутентификации сообщений - МАС 20 t t t t Функция вычисления МАС должна обладать следующими свойствами: MAC = C K (M) Должно быть вычислительно трудно, зная М и С K (M), найти сообщение М, такое, что С K (M) = С K (M). Значения С K (M) должны быть равномерно распределенными в том смысле, что для любых сообщений М и M вероятность того, что С K (M) = С K (M), должна быть равна 2 -n, где n - длина значения МАС.