Научная литература
booksshare.net -> Добавить материал -> Информатика -> Петров А.А. -> "Компьютерная безопасность. Криптографические методы защиты" -> 30

Компьютерная безопасность. Криптографические методы защиты - Петров А.А.

Петров А.А. Компьютерная безопасность. Криптографические методы защиты — M.: ДМК, 2000. — 448 c.
ISBN 5-89818-064-8
Скачать (прямая ссылка): comp_safety.pdf
Предыдущая << 1 .. 24 25 26 27 28 29 < 30 > 31 32 33 34 35 36 .. 181 >> Следующая

Секретный ключ пользователя х выбирается случайным образом и должен удовлетворять неравенству 0 < х < q. Открытый ключ пользователя вычисляется в соответствии с равенством у = ax(mod р).
Генерация ЭЦП
Процедура генерации подписи сообщения m состоит из следующих шагов:
1. Вычисляется хэш-код сообщения m: h в Н(т) (хэш-функция, используемая в данном стандарте в соответствии с ГОСТ P 34.10-94), если h(m)(mod р) = 0, то h(m) присваивается значение 0...O255I.
2. Случайным образом выбирается значение к (аналогично DSA), удовлетворяющее условию 0 < к < q.
3. Вычисляется значение г = ak(mod р) и T1 = r(mod р); если rt = 0, следует вернуться к предыдущему этапу и выработать другое значение к.
4. Вычислить значение s = (xr1+kh(m))(mod р); если s = 0, то необходимо выработать другое значение к. В противном случае подписью сообщения являются числа T1 и s.
Проверка ЭЦП
Процедура проверки ЭЦП состоит из последовательности действий:
1. Проверяется выполнение условий 0<s<qH0<ri<q, и если хотя бы одно из них не выполняется, подпись отвергается.
2. Вычисляется хэш-код принятого сообщения h = H(m); если h(m) X X (mod р) = 0, то битовое представление h(m) равно 0...O255I.
3. Вычисляется значение v = (h(m))4"2(mod р).
4. Вычисляются значения: Z1 = sv(mod р); Z2= (q-r1)v(mod р).
5. Вычисляется значение u = (azlyz2 (mod p))(mod q).
6. Проверяется равенство T1 = и; если оно выполняется, подпись принимается. То есть в этом случае можно считать, что сообщение подписано данным отправителем и в процессе передачи не была нарушена его целостность.
74
Общие сведения по классической криптографии
1.4.5. Практическое применение ЭЦП
Наличие широкого спектра достоинств у схем ЭЦП предопределило их широкое распространение в системах обмена электронными документами, а также во многих других случаях, где требуется обеспечить целостность и достоверность передачи информации.
Практическое использование схем ЭЦП и их разновидностей описано ниже. В этом разделе рассматривается вопрос практической реализации ЭЦП в соответствии со стандартом PKCS # 1. Стандарт криптографии с открытым ключом (PKCS) содержит требования для практического применения процедур зашифрования/расшифрования и генерации/проверки на основе использования асимметричного алгоритма RSA.
Схема ЭЦП, описанная в PKCS # 1, основана на применении хэш-функции (MD 2 или MD 5) к входному сообщению и зашифровании хэш-кода сообщения при помощи алгоритма RSA.
В табл. 1.9 представлены основные обозначения и их показатели, используемые в данном разделе. Следует отметить, что в соответствии с PKCS # 1 все битовые последовательности представляются в виде строки октетов (октет имеет размерность 8 бит), то есть если х - строка октетов, то Xj -i-й октет (отсчет начинается слева направо).
Таблица 1.9. Обозначения, используемые в разделе
к Длина п в октетах (kV>11) EB Блок данных для зашифрования
п Модуль в RSA 28(k-l)<n<28k ED Зашифрованные данные
р nq Целые числа такие, что n=pq аЬ Шестнадцатеричное значение октета
end Экспоненты в алгоритме RSA BT Тип блока
M Сообщение PS Дополнительные данные (набивка)
MD Хэш-код сообщения S Подпись
MDl Хэш-код, вычисляемый на этапе проверки INI Длина X в октетах
Формат данных в соответствии с PKCS # /
Здесь данные представляют собой строку октетов D, где ||D|| < к — 11. ВТ -строка октетов, шестнадцатеричное значение которой может принимать значение 00 или 01. PS - строка октетов, ||PS|| = к - 3 - ||D|| - длина строки PS, которая зависит от значения ВТ. Если ВТ = 00, то все октеты в PS равны 00, если ВТ = 01, то все октеты в PS равны FE Формат EB имеет следующий вид: 00||BT||PS||00||D. Первые 00 предназначены для того, чтобы значения строки EB были меньше модуля п.
Электронно-цифровая подпись
75
Генерация ЭЦП
В данной процедуре (рис. 1.20) входным является сообщение т, а общедоступными параметрами системы - модуль п и секретный компонент d. Процесс генерации включает следующие шаги:
1. Получение хэш-кода сообщения; результатом данного шага является строка октетов MD.
2. Из MD и значения, идентифицирующего используемую хэш-функцию в соответствии с рекомендациями ASN. 1 и основными правилами кодирования (BER encoding), получают строку октетов.
3. Строка D преобразуется в строку EB на основе процедуры, описанной выше.
4. Из строки октетов EB получают ее целочисленное значение. Обозначим строку EB как EB1II ЕВ2||... || ЕВк, где EBS - i-й октет строки. Далее через EBj обозначим целочисленное значение октета EB1, тогда целочисленное значение EB (обозначим
его как т) будет равно т = Х28(к_1)ЕВ|.
5. Зашифровывают щ в соответствии с алгоритмом RSA, то есть s = mdmod п;
6. Преобразуют целое значение s в строку октетов ED, таким образом, ED и есть цифровая подпись сообщения т.
Проверка ЭЦП
В данной процедуре (рис. 1.21) входными параметрами являются сообщение т, подпись сообщения s и параметры алгоритма RSA, а именно: модуль п и открытая компонента е.
Процесс проверки подписи включает следующие шаги:
1. Преобразование подписи s, представленной в виде строки октетов, в целочисленное значение (см. раздел «Генерация ЭЦП»), причем в этом случае происходят следующие проверки:
Предыдущая << 1 .. 24 25 26 27 28 29 < 30 > 31 32 33 34 35 36 .. 181 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed