Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Технология применения системы ЭЦП предполагает наличие сети абонентов, посылающих друг другу подписанные электронные документы

Алгоритмы электронной цифровой подписи

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

В соответствии со стандартом ГОСТ Р 34.11-94 хэш-функция формирует 256-битовое. хэш-значение.

Функция сжатия Hi = f (Mi, Hi–1) (оба операнда Mi и Hi–1 являются 256-битовыми величинами) определяется следующим образом:

1. Генерируются 4 ключа шифрования Kj, j = 1…4, путем линейного смешивания Mi, Hi–1 и некоторых констант Cj.

2. Каждый ключ Kj, используют для шифрования 64-битовыхподслов hi слова Hi–1 в режиме простой замены: Sj= (hj). Результирующая последовательность S4, S3, S2, S1 длиной 256 бит запоминается во Временной переменной S.

3. Значение Hi является сложной, хотя и линейной функциейсмешивания S, Mi и Hi–1.

При вычислении окончательного хэш-значения сообщения M учитываются значения трех связанных между собой переменных:

Hnхэш-значение последнего блока сообщения;

Zзначение контрольной суммы, получаемой при сложении по модулю 2 всех блоков сообщения;

Lдлина сообщения.

Эти три переменные и дополненный последний блок M´ сообщения объединяются в окончательное хэш-значение следующим образом:

H = f (Z Å M´, f (L, f (M´, Hn))).

Данная хэш-функция определена стандартом ГОСТ Р 34.11-94 для использования совместно с pоссийским стандартом электронной цифровой подписи

Для каждого абонента генерируется пара ключей: с екретный и открытый.

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

Открытый ключ известен всем другим пользователям и предназначен для проверки ЭЦП получателем подписанного электронного документа.

Иначе говоря,открытый ключ необходим для проверки подлинност электронного документа и автора подписи. Открытый ключ не позволяет вычислить секретный ключ.

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

Эти схемы разделяются на две группы.

В основе такого разделения лежат известные сложные вычислительные задачи:

· задача факторизации (разложения на множители) больших целых чисел;

· задача дискретного логарифмирования.

 

Алгоритм цифровой подписи RSA

 

Первой и наиболее известной во всем мире конкретной системой ЭЦП стала система RSA, математическая схема которой была разработана в 1977 г. в Массачуссетском технологическом институте США.

Сначала необходимо вычислить пару ключей (секретный ключ и открытый ключ).

Для этого отправитель (автор) электронных документов вычисляет два больших простых числа P и Q, затем находит их произведение

N = P * Q

и значение функци и

j (N) = (P –1)(Q –1).

Далее отправитель вычисляет число E из условий:

E £ j (N), НОД (E, j (N)) =1

и число D из условий:

D < N, E * D º1 (mod j (N)).

Пара чисел (E,N) является открытым ключом.

Эту пару чисел автор передает партнерам по переписке для проверки его цифровых подписей.

Число D сохраняется автором как секретный ключ для подписывания.

Обобщенная схема формирования и проверки цифровой подписи RSA показана на рис. 4.

Процедура алгоритма

Допустим, что отправитель хочет подписать сообщение M перед его отправкой.

1) Сначала сообщение M (блок информации, файл, таблица) сжимают с помощью хэш-функции h(·) в целое число m:

m = h(M).

2). Затем вычисляют цифровую подпись S под электронным документом M, используя хэш-значение m и секретный ключ D:

S = mD (mod N).

Пара (M,S) передается партнеру-получателю как электронный документ M, подписанный цифровой подписью S, причем подпись S сформирована обладателем секретного ключа D.

3) После приема пары (M,S) получател ь вычисляет хэш значение сообщения M двумя разными способами.

Прежде всего он восстанавливает хэш-значение m´, применяя криптографическое преобразование подписи S с использованием открытого ключа E:

m´ = SE (mod N).

-

Отправитель
Канал
Получатель
Сообщение M
m = h(M)
M
Блок сжатия
mD
SE
SE (mod N)=m¢
S = mD (mod N)
D, N
Генератор ключей
E, N
? SE (mod N) = = h(M)
Да
Нет
m = h(M)
Блок сжатия
M

 

 

Рис..4. Обобщенная схема цифровой подписи RSA

 

Кроме того, он находит результат хэширования принятого сообщения M с помощью такой же хэш-функции h(·):

m = h(M).

Если соблюдается равенство вычисленных значений, т.е.

SE (mod N) = h(M),

то получатель признает пару (M,S) подлинной.

Доказано, что только обладатель секретного ключа D может сформировать цифровую подпись S по документу M, а определить секретное число D по открытому числу E не легче, чем разложить модуль N на множители.

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

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

Недостатки алгоритма цифровой подписи RSA.

1. При вычислении модуля N, ключей E и D для системы цифровой подписи RSA необходимо проверять большое количество дополнительных условий, что сделать практически трудно.

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

При подписании важных документов нельзя допускать такую возможность даже теоретически.

2. Для обеспечения криптостойкости цифровой подписи RSA по отношению к попыткам фальсификации на уровне, например, национального стандарта США на шифрование информации (алгоритм DES), т.е. 1018, необходимо использовать при вычислениях N, D и E целые числа не менее 2512 (или около 10154) каждое, что требует больших вычислительных затрат, превышающих на 20…30% вычислительные затраты других алгоритмов циф-ровой подписи при сохранении того же уровня криптостойкости.

<== предыдущая лекция | следующая лекция ==>
 | Цифровая подпись RSA уязвима к так называемой мультипликативной атаке
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 266; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.