- •Правительство Российской Федерации
- •Глава 1. Электронный документооборот
- •1.1. Понятие электронного документооборота
- •1.2. Электронный документ
- •1.3. Правовое регулирование электронного документооборота
- •Глава 2. Электронная цифровая подпись
- •2.1. Описание и виды
- •2.2. Эволюция стандартов
- •2.3. Назначение и сферы применения
- •Глава 3. Анализ алгоритмов эцп в электронном документообороте
- •3.1. Гост р 34.10-94
- •3.2. Гост р 34.10-2001
- •3.3. Гост р 34.10-2012
- •Сравнительная характеристика отечественных госТов
- •3.4. Анализ
- •Оценка вероятности взлома хэш-фукнции для различной длины хэша
- •Трудоемкость взлома российских стандартов эцп
- •3.5. Выводы
Глава 3. Анализ алгоритмов эцп в электронном документообороте
В ходе проведения исследования выяснилось, что в большинстве отечественных систем электронного документооборота используются алгоритмы электронной цифровой подписи, описанные в государственных стандартах. Поэтому, для проведения анализа, были выбраны:
ГОСТ Р 34.10-94 Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма.
ГОСТ Р 34.10-2001 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
ГОСТ Р 34.10-2012 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
3.1. Гост р 34.10-94
Как уже отмечалось ранее, ГОСТ Р 34.10-94 является первым российским стандартом, описывающим процесс формирования и проверки электронной цифровой подписи. Данный стандарт использует алгоритм, близкий к алгоритму в американском стандарте DSS. Наиболее ощутимым различием между этими стандартами является использование параметров электронной цифровой подписи разного порядка, что приводит к получению более безопасной подписи, при использовании российского стандарта. Алгоритм выработки ЭЦП в отечественном стандарте 94-го года можно представить в виде следующих шагов [3]:
Шаг 1: вычислить хэш-код сообщения M : =h(M)
Шаг 2: вычислить целое число а, двоичным представлением которого является вектор, и определитьe , гдеq - простое число,2254 q 2256.
Шаг 3: сгенерировать случайное (псевдослучайное), целое число k, удовлетворяющее неравенству0 < k < q
Шаг 4: вычислить r = ((mod p)) modq. Еслиr = 0, вернуться к шагу 3.
Шаг 5: вычислить значение s .Еслиs=0, вернуться к шагу 3.
Шаг 6: вычислить двоичные векторы и, соответствующиеr иsи определить цифровую подписьdsкак конкатенацию двух двоичных векторови.
Исходными данными этого процесса являются ключ подписи dи подписываемое сообщениеM, а выходным результатом – цифровая подписьds.
Давайте рассмотрим каждый шаг подробнее.
Шаг 1. Хэш-код сообщения - это строка бит, являющаяся выходным результатом хэш-функции. В соответствии с ISO/IEC 14888-1:20089, хэш-функция – это функция, отражающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам [6]:
по данному значению функции сложно вычислить исходные данные, отображаемые в это значение;
для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции;
сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение.
Шаг 2. Не совсем понятно, откуда берется q. Перед началом выполнения алгоритма, необходимо определитьр- простое число,2509 р 2512либо21020 р 21024,q- простое число,2254 q 2256иqявляется делителем для(p-1).
Шаги 3-6. Здесь все понятно – чистая математика.
Таким образом, процесс выработки электронной цифровой подписи можно представить в виде следующей схемы:
Рисунок 5. Алгоритм выработки электронной цифровой подписи
В соответствии со стандартом ГОСТ Р 34.10-94, алгоритм проверки подписи состоит из следующих шагов [6]:
Шаг 1: по полученной подписи ds, вычислить целые числаr иs. Если выполнены неравенства0 < r < q,0 < s < q, то перейти к следующему шагу. В противном случае подпись неверна.
Шаг 2: вычислить хэш-код сообщения M : =h(M)
Шаг 3: вычислить целое число а, двоичным представлением которого является вектор, и определитьe , гдеq– порядок циклической группы точек эллиптической кривой. Еслиe = 0, то определитьe = 1.
Шаг 4: вычислить значение v
Шаг 5: вычислить значение .
Шаг 6: вычислить R
Шаг 7: если выполнено равенство R = r, то подпись принимается, в противном случае – подпись неверна.
Исходными данными этого процесса являются сообщение M, цифровая подписьdsи ключ проверки подписиQ, а выходным результатом – свидетельство о достоверности или ошибочности данной подписи. Процесс выработки электронной цифровой подписи можно представить в виде следующей схемы:
Рисунок 6. Алгоритм проверки электронной цифровой подписи
Следует также отметить, что в ГОСТах от 2001 и 2012 годов алгоритмы выработки подписи и ее проверки практически не изменились. Тогда для чего же они нужны?