Анализ и сравнение алгоритмов электронной цифровой подписи ГОСТ р 34. 10-1994, ГОСТ р 34. 10-2001 и ГОСТ р 34. 10-2012 – тема научной статьи по прочим технологиям читайте бесплатно текст научно-исследовательской работы в электронной библиотеке КиберЛенинка

Гост р 34.10-94: информационная технология. криптографическая защита информации. процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма

1    Область применения     …….. 1

2    Нормативные ссылки .     .    .    …    1

3    Обозначения .    ………… 1

4    Общие положения ..     2

5    Процедура выработки    подписи……….. 3

6    Процедура проверки    подписи ……….. 3

7    Процедуры получения    чисел р, q и а …….. 4

Приложение А Проверочные примеры……. 9

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

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

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

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

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

ГОСТ Р 34.10-94

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология.

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ.

Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма.

Information technology.

Cryptographic Data Security.

Produce and check procedures of Electronic Digital Signature based on Asymmetric Cryptographic Algorithm.

Дата введения 1995—01—01

1 ОБЛАСТЬ ПРИМЕНЕНИЯ

Настоящий стандарт устанавливает процедуры выработки и проверки электронной цифровой подписи (ЭЦП) сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения, на базе асимметричного криптографического алгоритма с применением функции хэширования.

Внедрение системы ЭЦП на базе настоящего стандарта обеспечивает защиту передаваемых сообщений от подделки, искажения и однозначно позволяет доказательно подтвердить подпись лица, подписавшего сообщение.

2 НОРМАТИВНЫЕ ССЫЛКИ

В настоящем стандарте использованы ссылки на следующий стандарт:

ГОСТ Р 34.11-94 Информационная технология. Криптографическая защита информации. Функция хэширования.

3 ОБОЗНАЧЕНИЯ

В настоящем стандарте используются следующие обозначения.

р* — множество всех конечных слов в алфавите р = {0,1}.

| А | — длина слова А<=р*.

Vk(2) — множество всех бинарных слов длины к.

Издание официальное

z(mod n) — наименьшее по значению неотрицательное число, сравнимое с г по модулю числа п.

<N>k — слово длины к, содержащее двоичную запись вычета N (mod 2к) неотрицательного целого числа N.

А — неотрицательное целое число, имеющее двоичную запись А (А ер*) (под длиной числа будем понимать номер старшего значащего бита в двоичной записи’числа).

А||В — конкатенация слов А, Вер* — слово длины |А| |В|, в котором левые |А| символов образуют слово А, а правые |В| символов образуют слово В. Можно также использовать обозначение Ajj В = АВ,

Ак — конкатенация к экземпляров слова А(Аер*).

М — передаваемое сообщение, Мер*.

Mi — полученное сообщение, Miep*M

h — хэш-функция, отображающая сообщение М в слово h (М) ^V256 (2).

р — простое число, 2509<р<2512 либо 21020<р<21024. q — простое число, 2254<q<2256 и q является делителем для

(Р-1).

а — целое число, 1 <а<р—1, при этом aq (mod р) = 1. к — целое число, 0<k<q.

[d] — наименьшее целое число, не меньшее чем d.

[dj — наибольшее целое число, не большее чем d. e: = g — присвоение параметру е значения g. х — секретный ключ пользователя для формирования подписи, 0<x<q.

у — открытый ключ пользователя для проверки подписи, y = ax(mod р).

4 ОБЩИЕ ПОЛОЖЕНИЯ

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

Алгоритм вычисления функции хэширования установлен в ГОСТ Р 34.11.

Процедуры цифровой подписи допускают как программную, так и аппаратную реализацию.

Система ЭЦП включает в себя процедуры выработки и проверки подписи под данным сообщением.

Читайте также:  Приказ Минфина России от 10 ноября 2015 г. № 174н "Об утверждении Порядка выставления и получения счетов-фактур в электронной форме по телекоммуникационным каналам связи с применением усиленной квалифицированной электронной подписи"

*) Отправляемые и получаемые последовательности, в том числе сообщения и подписи, могут отличаться друг от-друга из-за случайных или преднамеренных искажений.

2

ГОСТ Р 34.10-94

Цифровая подпись, состоящая из двух целых чисел, представленных в виде слов в алфавите (3, вычисляется с помощью определенного набора правил, изложенных в стандарте.

Числа р, q ц а, являющиеся параметрами системы, должны быть выбраны (выработаны) по процедуре, описанной в пункте 7. числа р, q и а не являются секретными. Конкретный набор их значений может быть общим для группы пользователей. Целое число к, которое генерируется в процедуре подписи сообщения, должно быть секретным и должно быть уничтожено сразу после выработки подписи. Число к снимается с физического датчика случайных чисел или вырабатывается псевдослучайным методом с использованием секретных параметров.

5    ПРОЦЕДУРА ВЫРАБОТКИ ПОДПИСИ

Текст сообщения, представленный в виде двоичной последовательности символов, подвергается обработке по определенному алгоритму, в результате которого формируется ЭЦП для данного сообщения.

Процедура подписи сообщения включает в себя следующие этапы:

1    Вычислить h(M)-— значение хэш-функции h от сообщения М.

Если h(M) (mod q)=0, присвоить h(M) значение 02551.

2    Выработать целое число k, 0<k<q.

3    Вычислить два значения: r = ak(mod р) и r’=r(mod q).

Если’г’=0, перейти к этапу 2 и выработать другое значение числа к.

4    С использованием секретного ключа х пользователя (отправителя сообщения) вычислить значение

s = (xr’ kh(M) (mod q).

Если s = 0, перейти к этапу 2, в противном случае закончить работу алгоритма.

Подписью для сообщения М является вектор <г/>25б||<s>256-

Отправитель направляет адресату цифровую последовательность символов, состоящую из двоичного представления текста сообщения и присоединительной к нему ЭЦП.

6    ПРОЦЕДУРА ПРОВЕРКИ ПОДПИСИ

Получатель должен проверить подлинность сообщения и подлинность ЭЦП, осуществляя ряд операций (вычислений).

3

ГОСТ Р 34.10-94

Это возможно при наличии, у получателя открытого ключа отправителя, пославшего сообщение.

Процедура проверки включает в себя следующие этапы:

1    Проверить условия:

0<s<q и 0<r/<q.

Если хотя бы одно из этих условий не выполнено, то подпись считается недействительной.

2    Вычислить h(Mi) — значение хэш-функции h от полученного сообщения Мь

Если h(Mi) (mod q) =0, присвоить h(Mi) значение О2551.

3    Вычислить значение

v=(h(Mi))4-2(mod q).

4    Вычислить значения:

zi = sv (mod q) и

z2— (q—г’) v(mod q).

5    Вычислить значение

u= (azlyz2(mod p))(mod q).

6    Проверить условие: r’=u.

При совпадении значений г’ и и получатель принимает решение о том, что полученное сообщение подписано данным отправителем и в процессе передачи не нарушена целостность сообщения, т. е. Mi = М. В противном случае подпись считается недействительной.

7 ПРОЦЕДУРЫ ПОЛУЧЕНИЯ ЧИСЕЛ р, q и а

Получение простых чисел осуществляется с’ использованием линейного конгруэнтного датчика по модулю 216 или по модулю 232 (x(1 = bxn_1 с). При этом пользователь должен задавать начальное состояние х и параметр датчика с.

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

Ниже изложены процедуры получения параметров р, q и а.

7.1 Процедура А

Процедура позволяет получать простые числа р длины t^l7 битов с простым делителем q длины [t/J битов числа р-1.

Получение чисел осуществляется с использованием линейного конгруэнтного, датчика хл= (19381 xn1 c)(mod 216).

Задаются число хо с условием 0<х<216 и нечетное число с с условием 0<с<216.

Процедура вычисления включает в себя следующие шаги:

4

ГОСТ Р 34.10-94

1    Уо: = х

2    Вычислить последовательность чисел (t, ti, …, ts) по правилу:

to: = t

Если ti>17, то t1 L =[ti /2J,

Если ti < 17, то s: = i.

3    Найти наименьшее простое число р3 длины ts битов,

4    m: = s-l

5    Вычислить rm =rtm-i-i/1€Г[.

6    Вычислить последовательность (уь . . ., уг ) по рекурсивному правилу у1 1 = (19381 yi c) (mod 216).

Читайте также:  Как получить ЭЦП в ЦОНе РК | NUR.KZ

§

1    Область применения     …….. 1

2    Нормативные ссылки .     .    .    …    1

3    Обозначения .    ………… 1

4    Общие положения ..     2

5    Процедура выработки    подписи……….. 3

6    Процедура проверки    подписи ……….. 3

7    Процедуры получения    чисел р, q и а …….. 4

Приложение А Проверочные примеры……. 9

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

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

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

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

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

ГОСТ Р 34.10-94

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология.

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ.

Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма.

Information technology.

Cryptographic Data Security.

Produce and check procedures of Electronic Digital Signature based on Asymmetric Cryptographic Algorithm.

Дата введения 1995—01—01

1 ОБЛАСТЬ ПРИМЕНЕНИЯ

Настоящий стандарт устанавливает процедуры выработки и проверки электронной цифровой подписи (ЭЦП) сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения, на базе асимметричного криптографического алгоритма с применением функции хэширования.

Внедрение системы ЭЦП на базе настоящего стандарта обеспечивает защиту передаваемых сообщений от подделки, искажения и однозначно позволяет доказательно подтвердить подпись лица, подписавшего сообщение.

2 НОРМАТИВНЫЕ ССЫЛКИ

В настоящем стандарте использованы ссылки на следующий стандарт:

ГОСТ Р 34.11-94 Информационная технология. Криптографическая защита информации. Функция хэширования.

3 ОБОЗНАЧЕНИЯ

В настоящем стандарте используются следующие обозначения.

р* — множество всех конечных слов в алфавите р = {0,1}.

| А | — длина слова А<=р*.

Vk(2) — множество всех бинарных слов длины к.

Издание официальное

z(mod n) — наименьшее по значению неотрицательное число, сравнимое с г по модулю числа п.

<N>k — слово длины к, содержащее двоичную запись вычета N (mod 2к) неотрицательного целого числа N.

А — неотрицательное целое число, имеющее двоичную запись А (А ер*) (под длиной числа будем понимать номер старшего значащего бита в двоичной записи’числа).

А||В — конкатенация слов А, Вер* — слово длины |А| |В|, в котором левые |А| символов образуют слово А, а правые |В| символов образуют слово В. Можно также использовать обозначение Ajj В = АВ,

Ак — конкатенация к экземпляров слова А(Аер*).

М — передаваемое сообщение, Мер*.

Mi — полученное сообщение, Miep*M

h — хэш-функция, отображающая сообщение М в слово h (М) ^V256 (2).

р — простое число, 2509<р<2512 либо 21020<р<21024. q — простое число, 2254<q<2256 и q является делителем для

(Р-1).

а — целое число, 1 <а<р—1, при этом aq (mod р) = 1. к — целое число, 0<k<q.

[d] — наименьшее целое число, не меньшее чем d.

[dj — наибольшее целое число, не большее чем d. e: = g — присвоение параметру е значения g. х — секретный ключ пользователя для формирования подписи, 0<x<q.

у — открытый ключ пользователя для проверки подписи, y = ax(mod р).

4 ОБЩИЕ ПОЛОЖЕНИЯ

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

Алгоритм вычисления функции хэширования установлен в ГОСТ Р 34.11.

Процедуры цифровой подписи допускают как программную, так и аппаратную реализацию.

Система ЭЦП включает в себя процедуры выработки и проверки подписи под данным сообщением.

*) Отправляемые и получаемые последовательности, в том числе сообщения и подписи, могут отличаться друг от-друга из-за случайных или преднамеренных искажений.

Читайте также:  Перегенерация ключей Россельхозбанк: подробная инструкция

2

ГОСТ Р 34.10-94

Цифровая подпись, состоящая из двух целых чисел, представленных в виде слов в алфавите (3, вычисляется с помощью определенного набора правил, изложенных в стандарте.

Числа р, q ц а, являющиеся параметрами системы, должны быть выбраны (выработаны) по процедуре, описанной в пункте 7. числа р, q и а не являются секретными. Конкретный набор их значений может быть общим для группы пользователей. Целое число к, которое генерируется в процедуре подписи сообщения, должно быть секретным и должно быть уничтожено сразу после выработки подписи. Число к снимается с физического датчика случайных чисел или вырабатывается псевдослучайным методом с использованием секретных параметров.

5    ПРОЦЕДУРА ВЫРАБОТКИ ПОДПИСИ

Текст сообщения, представленный в виде двоичной последовательности символов, подвергается обработке по определенному алгоритму, в результате которого формируется ЭЦП для данного сообщения.

Процедура подписи сообщения включает в себя следующие этапы:

1    Вычислить h(M)-— значение хэш-функции h от сообщения М.

Если h(M) (mod q)=0, присвоить h(M) значение 02551.

2    Выработать целое число k, 0<k<q.

3    Вычислить два значения: r = ak(mod р) и r’=r(mod q).

Если’г’=0, перейти к этапу 2 и выработать другое значение числа к.

4    С использованием секретного ключа х пользователя (отправителя сообщения) вычислить значение

s = (xr’ kh(M) (mod q).

Если s = 0, перейти к этапу 2, в противном случае закончить работу алгоритма.

Подписью для сообщения М является вектор <г/>25б||<s>256-

Отправитель направляет адресату цифровую последовательность символов, состоящую из двоичного представления текста сообщения и присоединительной к нему ЭЦП.

6    ПРОЦЕДУРА ПРОВЕРКИ ПОДПИСИ

Получатель должен проверить подлинность сообщения и подлинность ЭЦП, осуществляя ряд операций (вычислений).

3

ГОСТ Р 34.10-94

Это возможно при наличии, у получателя открытого ключа отправителя, пославшего сообщение.

Процедура проверки включает в себя следующие этапы:

1    Проверить условия:

0<s<q и 0<r/<q.

Если хотя бы одно из этих условий не выполнено, то подпись считается недействительной.

2    Вычислить h(Mi) — значение хэш-функции h от полученного сообщения Мь

Если h(Mi) (mod q) =0, присвоить h(Mi) значение О2551.

3    Вычислить значение

v=(h(Mi))4-2(mod q).

4    Вычислить значения:

zi = sv (mod q) и

z2— (q—г’) v(mod q).

5    Вычислить значение

u= (azlyz2(mod p))(mod q).

6    Проверить условие: r’=u.

При совпадении значений г’ и и получатель принимает решение о том, что полученное сообщение подписано данным отправителем и в процессе передачи не нарушена целостность сообщения, т. е. Mi = М. В противном случае подпись считается недействительной.

7 ПРОЦЕДУРЫ ПОЛУЧЕНИЯ ЧИСЕЛ р, q и а

Получение простых чисел осуществляется с’ использованием линейного конгруэнтного датчика по модулю 216 или по модулю 232 (x(1 = bxn_1 с). При этом пользователь должен задавать начальное состояние х и параметр датчика с.

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

Ниже изложены процедуры получения параметров р, q и а.

7.1 Процедура А

Процедура позволяет получать простые числа р длины t^l7 битов с простым делителем q длины [t/J битов числа р-1.

Получение чисел осуществляется с использованием линейного конгруэнтного, датчика хл= (19381 xn1 c)(mod 216).

Задаются число хо с условием 0<х<216 и нечетное число с с условием 0<с<216.

Процедура вычисления включает в себя следующие шаги:

4

ГОСТ Р 34.10-94

1    Уо: = х

2    Вычислить последовательность чисел (t, ti, …, ts) по правилу:

to: = t

Если ti>17, то t1 L =[ti /2J,

Если ti < 17, то s: = i.

3    Найти наименьшее простое число р3 длины ts битов,

4    m: = s-l

5    Вычислить rm =rtm-i-i/1€Г[.

6    Вычислить последовательность (уь . . ., уг ) по рекурсивному правилу у1 1 = (19381 yi c) (mod 216).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector