Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
онацкий / Dudetsky_25_03_2013.docx
Скачиваний:
29
Добавлен:
10.02.2016
Размер:
699.58 Кб
Скачать

2.4 Реализация электронной цифровой подписи на примере алгоритма гост

ГОСТ Р 34.10-2001 (полное название: «ГОСТ Р 34.10-2001. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи») — российский стандарт, описывающий алгоритмы формирования и проверки электронной цифровой подписи.

Цифровая подпись позволяет:

  1. аутентифицироватьлицо, подписавшее сообщение;

  2. контролировать целостность сообщения;

  3. защищать сообщение от подделок;

  4. доказать авторство лица, подписавшего сообщение.

ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТ Р 34.11-94. После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе.

Данный алгоритм не описывает механизм генерации параметров, необходимых для формирования подписи, а только определяет, каким образом на основании таких параметров получить цифровую подпись. Механизм генерации параметров определяется на месте в зависимости от разрабатываемой системы.

Поле "текст", дополняющее поле "цифровая подпись", может, например, содержать различные данные об отправителе сообщения или дату и время отправки.

Установленная в настоящем стандарте схема цифровой подписи должна быть реализована с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем, а также хэш-функции.

Криптографическая стойкость данной схемы цифровой подписи основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции.

Цифровая подпись, представленная в виде двоичного вектора длиной 512 бит, должна вычисляться с помощью определенного набора правил(рис. 2.5).

Рисунок 2.5 – Алгоритм формирования цифровой подписи

Криптостойкость цифровой подписи опирается на две компоненты – на стойкость хэш-функции и на стойкость самого алгоритма шифрования. Вероятность взлома хэш-функции по ГОСТ 34.11-94 составляет 1,73*10-77 при подборе коллизии на фиксированное сообщение и 2,94*10-39 при подборе любой коллизии. Стойкость алгоритма шифрования основывается на дискретном логарифмировании в группе точек эллиптической кривой. На данный момент нет метода решения данной задачи хотя бы с субэкспоненциальной сложностью.

    1. Реализация хэш-функции на примере алгоритма SHA

Напомним основные криптографические требования, предъявляемые к хеш-функции:

  1. Однонаправленность – высокая алгоритмическая сложность построения прообраза по значению хеш-функции;

  2. высокая алгоритмическая сложность нахождения коллизий – появление двух текстов с одинаковым значением хеш-функции.

Алгоритм SHA-1 разработан Агентством национальной безопасности США в 1995 году и включен Национальным институтом стандартов США в стандарт SHS. Хеш-функции используются в информационных технологиях в системах электронной подписи, системах контроля целостности программного кода и данных, а также для построения кодов аутентификации.

SHA-1 используется в подавляющей массе продуктов криптографической защиты, производимых и используемых в США, а также в других странах, которые поддерживают американские стандарты. Так, в операционных системах семейства Windows встроен ряд криптографических служб, использующих алгоритм SHA-1. Внедрение этого алгоритма в Windows настолько глубоко, что загрузка и использование операционных систем без обращения к нему из штатных криптографических сервисов невозможны. Стандарт SHS c алгоритмом SHA-1 используется совместно с другими криптографическими стандартами США в инфраструктуре открытых ключей, а также в других распространенных криптографических протоколах (SSL/TLS, IPSec, Kerberos и др.).

Вместе с тем SHA-1 не используется в продуктах, поддерживающих национальные криптографические стандарты. В частности, данный алгоритм не используется по своему прямому назначению в российских информационных системах, оснащаемых сертифицированными средствами криптографической защиты.

Построение и использование коллизий алгоритма хеширования распадается на две задачи:

криптографическая задача нахождения коллизии;

практическая задача использования найденной коллизии для атаки на защищаемую алгоритмом хеширования систему.

Поэтому, найденные подходы к построению коллизий являются значительным достижением в области криптографического анализа SHA-1. Вопрос о конкретном использовании получаемых коллизий для реальных атак остается открытым. Необходимо учитывать, что для успешного проведения целенаправленной атаки коллизии должны быть семантически допустимы. Поэтому угроза легитимности подписи на базе хеширования по алгоритму SHA-1 носит случайный характер и требует оценки вероятности достижения положительного результата. Атаки в системах аутентификации, основанные на построении коллизий алгоритма, невозможны из-за применения ключевого хеширования.

Хеш-функция реализует отображение множества хешируемых текстов на множество значений хеш-функции. Множество хешируемых тексов разбивается на классы эквивалентности по значениям хеш-функции. Сложность нахождения коллизий хеш-функции зависит от аналитической сложности этого отображения.

Хеш-функция в современных компьютерах реализуется итерацией математических операций над промежуточными значениями вычислений. Для построения криптографических методов определения коллизий существенными являются аналитическая сложность значения хеш-функции от прообраза, а также способ организации поблочного преобразования хешируемого текста, включая способ дополнения последнего неполного блока до полного.

К возможности снижения криптографической сложности на три-четыре порядка привел ряд особенностей алгоритма SHA-1. Так, используемые математические операции (операция сложения, побитовые логические операции, операция сдвига) в своей совокупности не позволяют строить преобразования с хорошими перемешивающими свойствами. Кроме того, применяется последовательное хеширование текста блоками по 512 бит со сверткой блока до 160 бит. Используемый способ дополнения последнего неполного блока хешируемого текста до полного создает дополнительные возможности для поиска коллизий.

Указанные особенности характерны для алгоритмов MD4, MD5, SHA-256, SHA-512 и других с той же идеологией построения. Они позволяют применять к алгоритмам этого класса методы дифференциального анализа для построения коллизий.

Для алгоритма SHA-1 теоретическая стойкость равна, однако на практике стойкость снижается.

Соседние файлы в папке онацкий