О программе

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

 

 

·       Генерация секретного и открытого ключей. Определенным образом выбираются два больших простых числа Р и Q и вычисляется значение функции Эйлера j(N) = (Р-1)(Q-1), где N=Р*Q. Далее вычисляется число Е из условий:

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

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

D < N, Е*D ≡ 1 (mod j(N)).

Пара чисел (Е, N) является открытым ключом, используемым для проверки подписи отправителя и открыто передается всем потенциальным получателям документов. Число D – секретный ключ отправителя для подписывания документов и должно храниться в секрете.

·       Процедура подписания сообщения. Сообщение М сжимается с помощью хэш-функции h() в целое число m:

m = h(М).

Вычисляется цифровая подпись S под электронным документом М с помощью хэш-значения m и секретного ключа D:

S = mD (mod N).

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

·       Процедура проверки. Вычисляется хэш-значение сообщения М двумя разными способами. Сначала восстанавливается хэш-значение m' с помощью криптографического преобразования подписи S с использованием открытого ключа Е:

m' = SE (mod N).

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

m = h(М).

Если выполняется равенство

SE (mod N) = h(М),

то пара (М, S) получателем признается подлинной.





Работа с электронной цифровой подписью RSA


    Выбрать размер ключей




  •  


    Хэширование входных данных и генерация ЭЦП

    Выберите функцию хэширования