Электронно-цифровая подпись

Число, зависящее от сообщения и от некоторого секретного, известного только подписывающему субъекту ключа.

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

При возникновении спорной ситуации (отказ от подписи, подделка подписи), третья сторона должна иметь возможность разрешить спор.

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

ЭЦП включает два алгоритма:

Алгоритм вычисления подписи и Алгоритм проверки подписи.

Основные требования:

Исключить возможность получения подписи без знания секретного ключа. Гарантировать возможность проверки подписи без знания секретного ключа.

Надежность подписи обеспечивается сложностью трех задач:

• Подделки подписи (нахождение значения подписи лицам, не являющимся владельцем ЭЦП)

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

• Подмены сообщения (подбор двух разных сообщений с одинаковым значением подписи)

Симметричная система шифрования

1. Схемы на основе симметричных систем шифрования.

2. Схемы на основе специально разработанных алгоритмов вычисления и проверки подписи.

3. Схемы на основе шифрования с открытыми ключами (с восстановлением текста.)

(E,D) - пара преобразований, А - автор, П- получатель, М - сообщение, S - подпись автора.

E зависит от открытого ключа, D - от секретного.

A: S=D(M)

П: E(S)= M.

Требования: M= E (D(M)) для всех M; невозможно вычислить D(M) без знания секретного ключа. Возможно: данные подписываются, потом шифруются.

Основан на вычислении логарифма в конечном поле.

p- простое число,

Z(p) - конечное поле, w - примитивный элемент в Z(p).

Выбрать случайное число 1<а <р -2 (а - секретный ключ).

Вычислить b= wа mod p.

((p, w, b)- открытый ключ).

Алгоритм подписи

1. Выбрать случайное число 1≤r ≤p -2;

2. Вычислить c = wr mod p;

3. Для x=M вычислить d = (x- a-c)r-1 mod (p-1);

4. S=(c, d).

Алгоритм проверки. bс cd = wx (mod p).

Замечания.

1. Число r должно уничтожаться сразу после вычисления подписи. Иначе секретный ключ вычисляется

2. Число r должно быть случайным, не должно повторяться для разных подписей. На шаге 3 реально обычно берется не x=M, а x=h(M) - свертка, полученная с помощью хэш-функции.

3. На одном секретном ключе можно выработать ЭЦП для многих сообщений

Схема проверки подписи вида

где (А, В,С) — перестановка элементов (±x, ±d, ±c) заложена во многих стандартных алгоритмах ЭЦП, в том числе в ГОСТ 34-10-94 и DSS.

Нужно подписать сообщение M=(m1m2…mn), где mi из {0,1}

Подписывающий

Выбирает

2п случайн. секретных ключей:

2п случайных чисел из {0,1}:

Вычисляет

, где  j из {0,1}, i=1,2,...,n

Публикует наборы

S и R=[(R10,R11), (R20,R21)> …, (Rn0,Rn1)]

Подпись для M имеет вид (k1m1, k2m2,..., knmn)

Проверка подписи: , где j=mi,i=1,2,…,n

Недостатки:

1) Слишком большой размер ключа

Можно хранить только секретный ключ k, и на его основе формировать всю последовательность

2) После проверки весь секретный ключ или его часть становится известны проверяющему, поэтому система одноразовая.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: