Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Защита компьютерной информации

Двоичные векторы

Для определения процессов формирования и проверки цифровой подписи необходимо установить соответствие между целыми числами и двоичными векторами длиной 256 бит.

Рассмотрим следующий двоичный вектор длиной 256 бит, в котором младшие биты расположены справа, а старшие - слева:

где а„ і = 0-256, равно либо 1, либо 0. Будем считать, что число а є 2 соответствует двоичному вектору И, если выполнено равенство

Для двух двоичных векторов /г, и /у, соответствующих целым числам а и (3, определим операцию конкатенации (объединения) следующим образом. Пусть

тогда их объединение имеет вид

и представляет собой двоичный вектор длиной 512 бит, составленный из коэффициентов векторов /?, и й9.

С другой стороны, приведенные формулы определяют способ разбиения двоичного вектора /? длиной 512 бит на два двоичных вектора длиной 256 бит, конкатенацией которых он является.

Основные процессы

В данном разделе определены процессы формирования и проверки электронной цифровой подписи под сообщением пользователя.

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

Кроме того, каждому пользователю необходимо иметь ключ подписи 4 и ключ проверки подписи <2ч, г/,,), которые также должны удовлетворять приведенным выше требованиям.

Формирование цифровой подписи. Для получения цифровой подписи под сообщением М е Кр необходимо выполнить следующие действия (шаги).

Шаг 1 - вычислить хэш-код сообщения М:

Шаг 2 - вычислить целое число а, двоичным представлением которого является вектор /?, и определить значение

Если е = 0, то определить е = 1.

ШагЗ - сгенерировать случайное (псевдослучайное) целое число к, удовлетворяющее неравенству

Шаг 4 - вычислить точку эллиптической кривой С = кР и определить

где хс - .г-координата точки С. Если г = 0, то вернуться к шагу 3.

Шаг 5 - вычислить значение

Если 5 = 0, то вернуться к шаг)' 3.

Шаг 6 - вычислить двоичные векторы г и -V, соответствующие г и 5, и определить цифровую подпись как конкатенацию двух двоичных векторов.

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

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

Шаг 1 - по полученной подписи га вычислить целые числа тих. Если выполнены неравенства 0 < г < г/, 0 < х < ц, то перейти к следующему шагу. В противном случае подпись неверна.

Шаг 2 - вычислить хэш-код полученного сообщения М:

Шаг 3 - вычислить целое число а, двоичным представлением которого является вектор /?, и определить

Если е = 0, то определить е = 1.

Шаг 4 - вычислить значение

Шаг 5 - вычислить значения

Шаг 6 - вычислить точку эллиптической кривой С = г,Р + г><2 и определить где хс - х-координата точки С.

Шаг 7 - если выполнено равенство Я = г, то подпись принимается, в противном случае подпись неверна.

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

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы