Анализ алгоритмов ЭЦП в электронном документообороте
Как уже отмечалось ранее, ГОСТ Р 34.10−94 является первым российским стандартом, описывающим процесс формирования и проверки электронной цифровой подписи. Данный стандарт использует алгоритм, близкий к алгоритму в американском стандарте DSS. Наиболее ощутимым различием между этими стандартами является использование параметров электронной цифровой подписи разного порядка, что приводит к получению… Читать ещё >
Анализ алгоритмов ЭЦП в электронном документообороте (реферат, курсовая, диплом, контрольная)
В ходе проведения исследования выяснилось, что в большинстве отечественных систем электронного документооборота используются алгоритмы электронной цифровой подписи, описанные в государственных стандартах. Поэтому, для проведения анализа, были выбраны:
- · ГОСТ Р 34.10−94 Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма.
- · ГОСТ Р 34.10−2001 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
- · ГОСТ Р 34.10−2012 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
ГОСТ Р 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)) mod q. Если r = 0, вернуться к шагу 3.
Шаг 5: вычислить значение s . Если s=0, вернуться к шагу 3.
Шаг 6: вычислить двоичные векторы и, соответствующие r и s и определить цифровую подпись ds как конкатенацию двух двоичных векторов и .
Исходными данными этого процесса являются ключ подписи d и подписываемое сообщение M, а выходным результатом — цифровая подпись ds.
Давайте рассмотрим каждый шаг подробнее.
Шаг 1. Хэш-код сообщения — это строка бит, являющаяся выходным результатом хэш-функции. В соответствии с ISO/IEC 14 888−1:2008, хэш-функция — это функция, отражающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам [6]:
- 1. по данному значению функции сложно вычислить исходные данные, отображаемые в это значение;
- 2. для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции;
- 3. сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение.
Шаг 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 годов алгоритмы выработки подписи и ее проверки практически не изменились. Тогда для чего же они нужны?