КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Алгоритм электронной цифровой подписи RSA.Первой и наиболее известной во всем мире конкретной системой ЭЦП стала система RSА, математическая схема которой была разработана в 1977 г. в Массачуссетском технологическом институте США. Сначала необходимо вычислить пару ключей (секретный ключ и открытый ключ). Для этого отправитель (автор) электронных документов вычисляет два больших простых числа Р и Q, затем находит их произведение £ это <= N = Р * Qи значение функции j (N) = (Р-1)(Q-1).
Пара чисел (Е, N) является открытым ключом. Эту пару чисел автор передает партнерам по переписке для проверки его цифровых подписей. Число D сохраняется автором как секретный ключ для подписывания. Обобщенная схема формирования и проверки цифровой подписи RSА показана на рис.6. Затем вычисляют цифровую подпись S под электронным документом М, используя хэш-значение m и секретный ключ D: S = mD (mod N).Пара (М,S) передается партнеру-получателю как электронный документ М, подписанный цифровой подписью S, причем подпись S сформирована обладателем секретного ключа D. После приема пары (М,S) получатель вычисляет хэш-значение сообидения М двумя разными способами. Прежде всего он восстанавливает хэш-значение m', применяя криптографическое преобразование подписи S с использованием открытого ключа Е: m' = SE (mod N).Кроме того, он находит результат хэширования принятого сообщения М с помощью такой же хэш-функции h(·): m = h(М).Если соблюдается равенство вычисленных значений, т.е. SE ( mod N ) = h ( М ),
Кроме того, можно строго математически доказать, что результат проверки цифровой подписи S будет положительным только в том случае, если при вычислении S был использован секретный ключ D, соответствующий открытому ключу Е. Поэтому открытый ключ Е иногда называют "идентификатором" подписавшего. Недостатки алгоритма цифровой подписи RSА.
Пример. Допустим, что злоумышленник может сконструировать три сообщения М1, М2, М3, у которых хэш-значения m1 = h (М1), m2 = h (М2), m3 = h (М3) ,причем m3 = m1 * m2 (mod N) .Допустим также, что для двух сообщений М1 и М2 получены законные подписи S1 = m1D (mod N) S2 = m2D (mod N) .Тогда злоумышленник может легко вычислить подпись S3 для документа М3, даже не зная секретного ключа D: S3 = S1 * S2 (mod N).Действительно, S1 * S2 (mod N) = m1D * m2D (mod N) = (m1m2)D (mod N) = m3D (mod N) = S3 .Более надежный и удобный для реализации на персональных компьютерах алгоритм цифровой подписи был разработан в 1984 г. американцем арабского происхождения Тахером Эль Гамалем. В 1991 г. НИСТ США обосновал перед комиссией Конгресса США выбор алгоритма цифровой подписи Эль Гамаля в качестве основы для национального стандарта.
|