Исходные данные:
Зашифрованное число C, закрытый ключ D, часть открытого ключа N.
Выходные данные:
Нужно декодировать число M .
Теоретические основы:
Методические указания:
В верхних трех строках ввода находятся исходные данные для выполнения работы.
Содержимое любой строки ввода в данной программе можно выделить и скопировать
(правая клавиша мыши или же комбинация клавиш “Ctrl-C”) и вставить в другую строку
ввода (правая клавиша мыши или же комбинация клавиш “Ctrl-V”).
Копка “Перевести X в двоичную форму” переводит содержимое строки ввода
“Переменная X” в двоичный вид и помещает результат в строку ввода “Результат операции”.
Кнопка “Перевести X в модулярную форму” переводит содержимое строки ввода
“Переменная X” в модулярную форму и помещает результат в строку ввода “Результат
операции”.
Кнопка “X*X : R (mod N)” выполняет умножение по Монтгомери содержимого строки
ввода “Переменная X” само на себя и помещает результат в строку ввода “Результат
операции”.
Кнопка “X*Y : R (mod N)” выполняет умножение по Монтгомери содержимого строки
ввода “Переменная X” на содержимое строки ввода “Переменная Y” и помещает результат в
строку ввода “Результат операции”.
Кнопка “Скопировать в X” помещает результат последнего вычисления (содержимое
строки ввода “Результат операции”) в строку ввода “Переменная X”.
Четыре строки ввода, располагающиеся ниже, являются вспомогательными и погут
использоваться для хранения любой информации, например, числа D в двоичном виде.
Копка “Проверить” предназначена для проверки правильности полученного результата,
который должен быть предварительно помещен в строку ввода “Декодированное
сообщение”.