
- •1. Основные понятия криптографии
- •2. Принципы построения симметричных блочных шифров.
- •3. Математическая модель блочного шифра.
- •4. Классификация блочных шифров.
- •5. Основные виды примитивов блочных алгоритмов шифрования.
- •6. Структура стандарта шифрования данных гост 28147-89.
- •7. Основные параметры алгоритма гост 28147-89, его достоинства и недостатки.
- •8. Режимы использования алгоритма гост 28147-89.
- •9. Структура и основные параметры алгоритма шифрования des, его достоинства и недостатки.
- •10,11,12. Режимы применения блочных шифров.
- •13. Системы с открытым ключом, основанные на сложности разложения целых чисел.
- •14. Системы с открытым ключом, основанные на сложности дискретного логарифмирования
- •15. Основные понятия и определение криптографического протокола.
- •16. Требования, предъявляемые к криптографическим протоколам.
- •17. Типы атак на криптографические протоколы
- •18. Формальные методы анализа криптографических протоколов.
- •19. Общие сведения об обеспечении целостности информации
- •20. Применение циклических кодов (crc) для обеспечения целостности информации
- •21. Обобщенная схема формирования кодов аутинтификации сообщений (mac - кодов). Достоинства и недостатки мас – кадов
- •22.Коды обнаружения манипуляций с данными (mdc - коды), их достоинства и недостатки.
- •23.Простейшая схема аутентификации субъектов с использованием пароля.
- •2 4. Схема симметричной аутентификации с третьей доверенной стороной.
- •25. Ассиметричные методы аутинтификации
- •26. Принципы генерации и хранения криптографических ключей.
- •27. Функции управления ключами
- •28. Протоколы распределения ключей на основе применения асимметричных криптосистем. Протокол Диффи-Хелмана.
- •30. Алгоритм хэширования md 5, структура, достоинства и недостатки.
- •31. Алгоритмы хэширования sha-1,2 , структура, достоинства и недостатки.
- •34. Понятие электронной цифровой подписи (эцп) сообщения. Общие сведения об эцп.
- •35. Схема эцп на основе алгоритма с открытым ключом rsa.
- •36. Уравнения формирования и проверки эцп в соответствии с гост р 34.10-94.
- •37. Схема формирования эцп в соответствии с гост р 34.10 - 2001.
- •38. Схема проверки эцп в соответствии с гост р 34.10 - 2001.
- •39. Упрощенная схема идентификации с нулевой передачей знаний.
- •40. Параллельная схема идентификации с нулевой передачей знаний.
- •41. Параллельная схема идентификации с нулевой передачей знаний.
- •42. Требования к протоколам электронного тайного голосования. Пример протокола голосования.
31. Алгоритмы хэширования sha-1,2 , структура, достоинства и недостатки.
S
ecure
Hash
Algorithm
1
— алгоритм криптографического
хеширования. Для входного сообщения
произвольной длины алгоритм генерирует
160-битное хеш-значение, называемое также
дайджестом сообщения. Используется во
многих криптографических приложениях
и протоколах. Принципы, положенные в
основу SHA-1,
аналогичны тем, которые использовались
Рональдом Ривестом при проектировании
MD4.
Алгоритм
получает на входе сообщение максимальной
длины 264 бит и создает в качестве выхода
дайджест сообщения длиной 160 бит. Шаг
1:
добавление недостающих битов. Сообщение
добавляется таким образом, чтобы его
длина была кратна 448 по модулю 512 (длина
448 mod
512). Добавление осуществляется всегда,
даже если сообщение уже имеет нужную
длину. Таким образом, число добавляемых
битов находится в диапазоне от 1 до 512.
Добавление состоит из единицы, за которой
следует необходимое количество нулей.
Шаг
2:
добавление длины. К сообщению добавляется
блок из 64 битов. Этот блок трактуется
как беззнаковое 64-битное целое и содержит
длину исходного сообщения до добавления.
Результатом первых двух шагов является
сообщение, длина которого кратна 512
битам. Расширенное сообщение может быть
представлено как последовательность
512-битных блоков Y0,
Y1,
. . . , YL-1,
так что общая длина расширенного
сообщения есть L
* 512 бит. Таким образом, результат кратен
шестнадцати 32-битным словам. Шаг
3:
инициализация SHA-1
буфера. Используется 160-битный буфер
для хранения промежуточных и окончательных
результатов хэш-функции. Буфер может
быть представлен как пять 32-битных
регистров A,
B,
C,
D
и E.
Эти регистры инициализируются следующими
шестнадцатеричными числами:A
= 67452301 B
= EFCDAB89
C
= 98BADCFE
D
= 10325476 E
= C3D2E1F0
Шаг
4:
обработка сообщения в 512-битных
(16-словных) блоках. Основой алгоритма
является модуль, состоящий из 80 циклических
обработок, обозначенный как HSHA.
Все 80 циклических обработок имеют
одинаковую структуру. Каждый цикл
получает на входе текущий 512-битный
обрабатываемый блок Yq
и 160-битное значение буфера ABCDE,
и изменяет содержимое этого буфера. В
каждом цикле используется дополнительная
константа Кt,
которая принимает только четыре различных
значения. Шаг
5:
выход. После обработки всех 512-битных
блоков выходом L-ой стадии является
160-битный дайджест сообщения.
SHA-2
(англ. Secure
Hash
Algorithm
Version
2
— безопасный алгоритм хеширования,
версия 2) — собирательное название
однонаправленных хеш-функций SHA-224,
SHA-256,
SHA-384
и SHA-512,
которые отличаются длиной слов, начальными
значениями переменных и т.д. Хеш-функции
семейства SHA-2 построены на основе
структуры Меркла — Дамгарда. Алгоритм:
Исходное
сообщение после дополнения разбивается
на блоки, каждый блок — на 8 слов. Алгоритм
пропускает каждый блок сообщения через
цикл с 64-мя или 80-ю итерациями (раундами).
На каждой итерации 2 слова из восьми
преобразуются, функцию преобразования
задают остальные слова. Результаты
обработки каждого блока складываются,
сумма является значением хеш-функции.
Достоинства
и недостатки алгоритмов:
Алгоритм
SHA происходит от MD4 и отличается от
последнего расширенной
трансформацией,
дополнительным раундом и улучшенным
"лавинным эффектом".
Преимущество
MD5 перед SHA-1 –
производительность.
В марте 2008 года индийские исследователи
опубликовали найденные ими коллизии
для 22 итераций SHA-256 и SHA-512.
32. Хэш-функции на основе блочных шифров. Принципы построения
Хэш-функция - преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины.
Блочный шифр - разновидность симметричного шифра. Особенностью блочного шифра является обработка блока нескольких байт за одну итерацию (как правило 8 или 16).Блочные криптосистемы разбивают текст сообщения на отдельные блоки и затем осуществляют преобразование этих блоков с использованием ключа.
Хэш-функции
можно строить с помощью n-битового
блочного шифра Ek
Все способы используют постоянное
открытое начальное значение N. Некоторые
схемы привлекают функцию g, переводящую
n-битовые строки в ключи.Сначала сообщение
пополняется до нужной длины и разбивается
на группы x0,
x1,…xt
длина которых - размер блоков или длина
ключа блочного шифра. Выбор размера
групп зависит от точного определения
хэш-функции. Значение конструируемой
хэш-функции совпадает с окончательным
значением Ht
полученным итерацией следующего
процесса:
=
IV,
Определение
функции ƒ, участвующей в итерациях,
зависит от используемой схемы. Мы
предложим Вашему вниманию три возможности,
хотя есть и другие.
Хэш-функция
Матиаса-Мейера-Осиса
Хэш-функция
Давиэса-Мейера
Хэш-функция
Миягучи-Пренила
33. Хэш-функция в соответствии с ГОСТ Р 34.11-94.
Стандарт
определяет алгоритм и процедуру
вычисления хэш-функции для последовательности
символов. Этот стандарт является
обязательным для применения в качестве
алгоритма хэширования в государственных
организациях РФ и ряде коммерческих
организаций. ЦБ РФ требует использовать
ГОСТ Р 34.11-94 для электронной подписи
предоставляемых ему документов. Описание.
Основой описываемой хэш-функции является
шаговая функция хэширования
,
где Hout, Hin, m — блоки длины 256 бит. Входное
сообщение M разделяется на блоки mn,mn −
1,mn − 2,...,m1 по 256 бит. В случае если размер
последнего блока mn меньше 256 бит, то к
нему приписываются слева нули для
достижения заданной длины блока. Каждый
блок сообщения, начиная с первого,
подаётся на шаговую функцию для вычисления
промежуточного значения хэш-функции:
.
Значение H1 можно выбрать произвольным.
После вычисления Hn + 1 конечное значение
хэш-функции получают следующим образом:
,
где L — Длина сообщения M в битах по
модулю 2256;
,
где K — Контрольная сумма сообщения M:
m1 + m2 + m3 + ... + mn. h — значение хэш-функции
сообщения M. .
Алгоритм.
1.Инициализация:
—
Начальное значение хэш-функции. Т.е. -
256 битовый IV вектор, определяется
пользователем;
—
Контрольная сумма;
— Длина сообщения; 2. Функция сжатия
внутренних итераций: для i = 1 … n — 1
выполняем следующее (пока | M | > 256):
- итерация метода последовательного
хэширования;
- итерация вычисления длины сообщения;
- итерация вычисления контрольной суммы;
3. Функция сжатия финальной итерации:
- вычисление полной длины сообщения;
-
набивка последнего блока;
- вычисление контрольной суммы сообщения;
;
- MD – усиление;
.
Выход. Значением хэш-функции является
h. Замечание: так как длина сообщения
участвует в хэшировании, то нет
необходимости указывать в передаваемом
сообщении количество добавленных нулей
к блоку mn. При обработке блоков используются
преобразования по алгоритму ГОСТ
28147—89; Обрабатывается блок длиной 256
бит, и выходное значение тоже имеет
длину 256 бит. Применены меры борьбы
против поиска коллизий, основанном на
неполноте последнего блока. Обработка
блоков происходит по алгоритму шифрования
ГОСТ 28147—89, который содержит преобразования
на S-блоках, что существенно осложняет
применение метода дифференциального
криптоанализа к поиску коллизий.