- •1. Общие положения
- •1.2. Когда и зачем нужно защищать информацию?
- •1.3. Язык сообщения
- •1.4. Тайнопись
- •1.5. Коды и их назначение
- •1.6. Криптография и криптоанализ
- •1.7. Основной объект криптографии
- •1.8. Что такое ключ
- •1.9. Атака на шифр. Стойкость шифра
- •1.10. Сложность вскрытия шифра
- •1.11. Принцип Кирхгофа
- •2. Древняя история криптографии
- •3. Современная криптография
- •3.1. Классификация криптографических систем
- •3.2. Основные классы симметричных криптосистем
- •3.3. Шифр замены
- •3.4. Шифр перестановки
- •3.5. Шифр Энигмы
- •4. Блочные шифры
- •4.1. Общие сведения о блочных шифрах
- •4.2. Сеть Фейштеля
- •4.3. Шифр взбивания. Стандарт des
- •4.3.1. Описание алгоритма
- •4.3.2. Анализ эффективности алгоритма
- •4.4. Отечественный стандарт шифрования данных
- •4.4.1. Режим простой замены
- •4.4.2. Режим гаммирования
- •4.4.3. Режим гаммирования с обратной связью
- •4.5. Режимы применения блочных шифров
- •5. Новый криптостандарт блочного шифрования сша
- •5.1. Общие сведения о конкурсе aes
- •5.1.1. Финалист aes – шифр mars
- •5.1.2. Финалист aes – шифр rc6
- •5.1.3. Финалист aes – шифр Serpent
- •5.1.4. Финалист aes – шифр TwoFish
- •5.2. Победитель aes – шифр Rijndael
- •6. Поточные шифры
- •6.1. Регистры сдвига с обратной связью
- •6.2. Шифр a5
- •6.3. Шифр rc4
- •6.4. Шифр seal
- •7. Асимметричные криптосистемы
- •7.1. Общие сведения об асимметричных криптоалгоритмах
- •7.2. Односторонние функции и функции-ловушки
- •7.3. Алгоритм rsa
- •Длина ключа
- •Применение rsa
- •7.4. Криптосистема Эль-Гамаля
- •7.5. Алгоритм Диффи-Хелмана
- •7.6. Механизм распространения открытых ключей
- •7.6.1. Обмен ключами по алгоритму Диффи-Хеллмана
- •8. Сравнительная характеристика шифров
- •9. Электронные цифровые подписи
- •9.1. Постановка задачи
- •9.2. Алгоритмы электронной цифровой подписи
- •9.2.1. Цифровые подписи, основанные на асимметричных криптосистемах
- •9.2.2. Стандарт цифровой подписи dss
- •9.2.3. Стандарт цифровой подписи гост р 34.10-94
- •9.3. Цифровые подписи, основанные на симметричных криптосистемах
- •9.4. Функции хэширования
- •9.4.1. Функция хэширования sha
- •9.4.2. Функция хэширования гост р 34.11-94
- •9.4.3. Функция хэширования md5
- •Библиографический список
- •Оглавление
9. Электронные цифровые подписи
9.1. Постановка задачи
Передача сообщения отправителем (пользователь A) получателю (пользователь B) предполагает передачу данных, побуждающую пользователей к определенным действиям. Передача данных может представлять собой передачу фондов между банками, продажу акций или облигаций на автоматизированным рынке, а также передачу приказов (сигналов) по каналам электросвязи. Участники нуждаются в защите от множества злонамеренных действий, к которым относятся:
отказ – отправитель впоследствии отказывается от переданного сообщения;
фальсификация – получатель подделывает сообщение;
изменение – получатель вносит изменения в сообщение;
маскировка – пользователь маскируется под другого.
Для верификации (подтверждения) сообщения M (пользователь A – пользователю B) необходимо следующее:
Отправитель (пользователь A) должен внести в M подпись, содержащую дополнительную информацию, зависящую от M и, в общем случае, от получателя сообщения и известной только отправителю закрытой информации kА.
Необходимо, чтобы правильную подпись M: SIG{kА, M, идентификатор B } в сообщении для пользователя B нельзя было составить без kА.
Для предупреждения повторного использования устаревших сообщений процедура составления подписи зависеть от времени.
Пользователь B должен иметь возможность удостовериться, SIG{kА, M, идентификатор B} – есть правильная подпись M пользователем A.
Рассмотрим эти пункты подробнее.
1. Подпись сообщения – определенный способ шифрования M путем криптографического преобразования. Закрываемым элементом kА в преобразовании
<Идентификатор B, M>® SIG{kА, M, идентификатор B}
является ключ криптопреобразования.
Во всех практических криптографических системах kА принадлежит конечному множеству ключей K. Исчерпывающая проверка всех ключей, задаваемых соответствующими парами
<M, идентификатор B> « SIG{kА, M, идентификатор B}.
в общем должна привести к определению ключа kА злоумышленником. Если множество K достаточно велико и ключ k определен методом случайного выбора, то полная проверка ключей невозможна. Говоря, что составить правильную подпись без ключа невозможно, мы имеем в виду, что определение SIG{kА, M, идентификатор B} без kА с вычислительной точки зрения эквивалентно поиску ключа.
2. Доступ к аппаратуре, программам и файлам системы обработки информации обычно контролируется паролями. Подпись – это вид пароля, зависящий от отправителя, получателя информации и содержания передаваемого сообщения.
3. Подпись должна меняться от сообщения к сообщению для предупреждения ее повторного использования с целью проверки нового сообщения. Цифровая подпись отличается от рукописной, которая обычно не зависит от времени составления и данных. Цифровая и рукописная подписи идентичны в том смысле, что они характерны только для данного владельца.
4. Хотя получатель информации не может составить правильную подпись, он должен уметь удостоверять ее подлинность. В обычных коммерческих сделках, таких, например, как продажа недвижимой собственности, эту функцию зачастую выполняет третье, независимое доверенное лицо (нотариус).
Установление подлинности подписи – это процесс, посредством которого каждая сторона устанавливает подлинность другой. Обязательным условием этого процесса является сохранение тайны. Во многих случаях нам приходится удостоверять свою личность, например, подписью или водительскими правами при получении денег по чеку либо фотографией в паспорте при пересечении границы. Для того чтобы в системе обработки данных получатель мог установить подлинность отправителя, необходимо выполнение следующих условий.
Отправитель (пользователь A) должен обеспечить получателя (пользователя B) удостоверяющей информацией AUTH{kА, M, идентификатор B}, зависящей от секретной информации kА, известной только пользователю A.
Необходимо, чтобы удостоверяющую информацию AUTH{kА, идентификатор B} от пользователя A пользователю B можно было дать только при наличии ключа kА.
Пользователь B должен располагать процедурой проверки того, что AUTH{kА, идентификатор B} действительно подтверждает личность пользователя A.
Для предупреждения использования предыдущей проверенной на достоверность информации процесс установления подлинности должен иметь некоторую зависимость от времени.
Отметим, что установление подлинности и верификация передаваемого сообщения имеют сходные элементы: цифровая подпись является удостоверением подлинности информации с добавлением требования о ее зависимости от содержания передаваемого сообщения.
