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

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

Алгоритм RSA:

  • генерация ключей;
  • шифрование;
  • расшифровка;
  • цифровая подпись;
  • проверка цифровой подписи.

Алгоритм Эль-Гамаля:

  • генерация ключей;
  • шифрование;
  • расшифровка;
  • цифровая подпись;
  • проверка цифровой подписи.

Эта страница была утеряна месяца два назад в результате аварии на сервере и теперь мною восстановлена повторно.

Вариант 1 - Разложение на множители методом перебора

Самый простой метод с точки зрения реализации, целесообразно использовать для чисел размера примерно до 1020 Алгоритм имеет экспоненциальную сложность с точки зрения времени счёта.

ClrText
“INPUT NUMBER”
?->A:sqrA->B
For 2->C To B
If Frac(A/C)=0
Then A/C->A:C■
C-1->C:sqrA->B
IfEnd

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

Перед первым запуском нажать [БП] [5] [7]

Деление С = (А / В) mod D
Вводить: [В/О] A [ПП] B [ПП] D [С/П]
Тест: (3 / 18) mod 257 = 43
Результат - на экране.