Криптография

Сейчас этого калькулятора у меня уже нет, но программы от него остались и может быть кому-либо окажуться полезны.
Для Citizen SRP-325G
-----------------------------------------------------------------------------------------
Возведение в степень по модулю
-----------------------------------------------------------------------------------------
PROGRAM (D=A^BmodC)
Program type – MAIN

PRINT “A^B%C”;SLEEP(2)
INPUT A,B,C
D=1
FOR(E=B/2;E≥.5;E=E/2){IF(Frac(E)>0)THEN{D=DA-INT(DA/C)C}
A=A2-INT(A2/C)C;E=INT(E)}
PRINT D
END

----------------------------------------------------------------------------------------

Библиотека этих программ позволяет освоить вычисления в криптографии с открытым ключом. Поддерживаются следующие виды вычислений:
Алгоритм RSA:
- генерация ключей;
- шифрование;
- расшифровка;
- цифровая подпись;
- проверка цифровой подписи.
Алгоритм Эль-Гамаля:
- генерация ключей;
- шифрование;
- расшифровка;
- цифровая подпись;
- проверка цифровой подписи.
Алгоритм Диффи-Хелмана:
- генерация сеансового симметричного ключа.

При изучении современных шифров требуется возводить степень и искать обратные числа в конечных полях. Эти вычисления вручную довольно трудоемки и если возведение в степень по модулю ещё может сделать калькулятор Винды, то деление надо программировать отдельно. Эта программа введенная в РПЗУ МК-52 или МК-152 может быть хорошим подспорьем студенту.

RSS-материал