- •Конспект лекций
- •Волгоград 2017 Рекомендуемая литература домашинные методы шифрования
- •История шифрования
- •Шифры замены
- •Шифр Цезаря
- •Шифр Цезаря с ключевым словом
- •Аффинная криптосистема
- •Шифр Полибия
- •Методы вскрытия одноалфавитных систем
- •Частотный анализ
- •Метод полосок
- •Многоалфавитные системы
- •Шифр Вернама
- •Шифр Виженера
- •Шифр c автоключом
- •Шифры перестановки
- •Простой столбцевой перестановочный шифр
- •Перестановочный шифр с ключевым словом
- •Комбинированное использование шифра перестановки и замены
- •Шифровальная машина «Энигма»
- •Системы блочного шифрования и симметричные шифры
- •Режимы шифрования блочных шифров
- •Алгоритм гост 28147-89
- •Простая замена
- •Выработка имитовставки к массиву данных
- •Особенности программной реализации гост 28147-89
- •Стандарт шифрования данных des (Data Encryption Standard)
- •Начальная перестановка
- •Преобразования ключа
- •Перестановка с расширением
- •Подстановка с помощью s-блоков
- •Перестановка с помощью p-блоков
- •Дешифрирование des
- •Режимы des
- •Однонаправленные функции
- •Однонаправленные хэш‑функции
- •Цифровые подписи
- •Алгоритм безопасного хэширования (Secure Hash Algorithm, sha) - скомпрометирован
- •Гост р 34.11‑94
- •Инфраструктура открытых ключей Основы инфраструктуры открытых ключей Идея криптографии с открытым ключом
- •Основные преимущества открытых ключей
- •Сертификат открытого ключа
- •Алгоритмы с открытыми ключами
- •Алгоритм цифровой подписи (digital signature algorithm, dsa)
- •Алгоритм цифровой подписи гост р 34.10-94
- •Система криптографической защиты в ос ms windows
- •Концепция криптопровайдера, интерфейс CryptoApi 1.0
- •Описание интерфейса CryptoApi 2.0
- •Варианты применения криптопровайдеров Защищенная файловая система (Encrypted File System).
- •Криптография при работе в сети.
- •Шифрование ip-трафика.
- •Защищенные соединения.
- •Шифрование и цифровая подпись сообщений электронной почты.
- •Подпись исполняемых модулей.
- •Обзор существующих отечественных криптопровайдеров России
- •Протокол tls/ssl
- •Элементы протокола Криптографические операции
- •Нмас и псевдослучайная функция
- •Протокол Записи
- •Состояния соединения
- •Фрагментация
- •Компрессия и декомпрессия
- •Защита полезной информации записи
- •Вычисление ключей
- •Протокол Рукопожатия
- •Протокол изменения шифрования
- •Криптографические вычисления
- •Архитектура семейства протоколов Ipsec
- •Обзор системы
- •Как работает iPsec
- •Где может размещаться iPsec
- •Безопасные Ассоциации
- •Базы данных безопасной ассоциации
- •Sa и Управление Ключом
- •Ручные технологии
- •Автоматические sa и Управление Ключом
- •Проблемы выполнения
Алгоритм цифровой подписи (digital signature algorithm, dsa)
В августе 19991 года Национальный институт стандартов и техники (National Institute of Standards and Technology, NIST) предложил для использования в своем Стандарте цифровой подписи (Digital Signature Standard, DSS) Алгоритм цифровой подписи (Digital Signature Algorithm, DSA). DSA, представляющий собой вариант алгоритмов подписи Schnorr и EIGamal.
Алгоритм использует следующие параметры:
p = простое число длиной L битов, где L принимает значение, кратное 64, в диапазоне от 512 до 1024. (В первоначальном стандарте размер p был фиксирован и равен 512 битам.)
q = 160-битовой простое число - множитель p-1.
g = h(p-1)/q mod p, где h - любое число, меньшее p-1, для которого h(p-1)/q mod p больше 1.
x = число, меньшее q.
y = gx mod p.
В алгоритме также используется однонаправленная хэш-функция: H(m). Стандарт определяет использование SHA.
Первые три параметра, p, q и g, открыты и могут быть общими для пользователей сети. Закрытым ключом является x, а открытым - y. Чтобы подписать сообщение, m:
Алиса генерирует случайное число k, меньшее q
Алиса генерирует
r = (gk mod p) mod q
s = (k-1 (H(m) + xr)) mod q
Ее подписью служат параметры r и s, она посылает их Бобу.
Боб проверяет подпись, вычисляя
w = s-1 mod q
u1 = (H(m) * w) mod q
u2 = (rw) mod q
v
=
((
)
mod p) mod q
Если v = r, то подпись правильна.
Таблица 3.4. представляет собой краткое описание алгоритма.
Открытый ключ:
p |
простое число длиной от 512 до 1024 битов (может использоваться группой пользователей) |
q |
160-битовый простой множитель p-1 (может использоваться группой пользователей) |
g |
= h(p-1)/q mod p, где h - любое число, меньшее p-1, для которого h(p-1)/q mod p > 1 (может использоваться группой пользователей) |
y |
= gx mod p (p-битовое число) |
Закрытый ключ:
x |
< q (160-битовое число) |
Подпись:
k |
выбирается случайно, меньшее q |
r |
(подпись) = (gk mod p) mod q |
s |
(подпись) = (k-1 (H(m) + xr)) mod q |
Проверка:
w |
= s-1 mod q |
u1 |
= (H(m) * w) mod q |
u2 |
= (rw) mod q |
v |
= (( ) mod p) mod q |
Если v = r, то подпись правильна. |
|
Алгоритм цифровой подписи гост р 34.10-94
Алгоритм использует следующие параметры:
p = простое число, длина которого либо между 509 и 512 битами, либо между 1020 и 1024 битами.
q = простое число - множитель p-1, длиной от 254 до 256 битов.
a = любое число, меньшее p-1, для которого aq mod p = 1.
x = число, меньшее q.
y = ax mod p.
Этот алгоритм также использует однонаправленную хэш-функцию: H(x). Стандарт определяет использование хэш-функции ГОСТ Р 34.11-94, основанной на симметричном алгоритме ГОСТ 28147-89.
Первые три параметра, p, q и a, открыты и могут использоваться совместно пользователями сети. Закрытым ключом служит x, а открытым - y. Чтобы подписать сообщение m
Алиса генерирует случайное число k, меньшее q
Алиса генерирует I = (a* mod p) mod q s = (ct + k(H(m))) mod q
r = (ak mod p) mod q
s = (xr + k(H(m))) mod q
Если H(m) mod q =0, то значение хэш-функции устанавливается равным 1. Если r =0, то выберите другое значение k и начните снова. Подписью служат два числа: r mod 2256 и s mod 2256, Алиса посылает их Бобу.
Боб проверяет подпись, вычисляя
v = H(m)q-2 mod q
z1 = (sv) mod q
z2 = ((q-r)*v) mod q
u
=
((
)
mod p) mod q
Если u = r, то подпись правильна.
Различие между этой схемой и DSA в том, что в DSA s = (k-1 (H(m) + xr)) mod q, что дает другое уравнение проверки. Любопытно, однако, что длина q равна 256 битам. Большинству западных криптографов кажется достаточным q примерно 160 битов длиной.
Есть и еще один отечественный стандарт вычисления ЭЦП – ГОСТ Р 34.10‑2001 «Информационная технология. Криптографическая защита информации. Т.к. срок действия ГОСТ Р 34.10‑94 заканчивается 31 декабря 2007 года, в разрабатываемых системах криптографической защиты информации алгоритмом ЭЦП по умолчанию является ГОСТ Р 34.10‑2001, а стандарт 1994 года используется лишь для достижения совместимости с раннее разработанными программами защиты.
Большинство схем выработки ЭЦП однотипны и могут уложиться в следующую схему:
Даже при поверхностном анализе двух стандартов ЭЦП (ГОСТ Р 34.10‑94 и ГОСТ Р 34.10‑2001) видно, что собственно сама схема генерации и проверки ЭЦП одинаковые. Различны только способы обеспечения сложности подделки ЭЦП, т.е. так называемой стойкости алгоритма ЭЦП. Стойкость алгоритма ЭЦП из ГОСТ Р 34.10‑94 обеспечивается трудностью логарифмирования больших чисел в конечном простом поле. Стойкость же алгоритма ЭЦП из ГОСТ Р 34.10‑2001 обеспечивается трудностью определения n по исходному произведению nP точки P эллиптической кривой Е конечном простом поле.
