Рейтинг:-1

Правильно ли я делаю RSA?

флаг in

Я пытаюсь понять, как выполнить RSA вручную. Я пытаюсь закодировать простое блочное сообщение (Mi). Я использовал CrypTool для определения шифрования. Когда я «вручную» вычислил открытый текст, я получил число, отличное от того, что предоставил CrypTool. Может ли кто-нибудь направить меня? Правильно ли я делаю ручное шифрование для RSA?

RSA вручную

Ievgeni avatar
флаг cn
Чему равно целое число $A$?
Ievgeni avatar
флаг cn
Это может быть и $Z$...
SSA avatar
флаг ng
SSA
в Интернете есть много примеров учебников RSA, пожалуйста, обратитесь к ним. ваш Z называется ${\phi(n)}$ . а публичный показатель e выбран как ${1
kelalaka avatar
флаг in
Просто использовал [Cryptool Online RSA] (https://www.cryptool.org/en/cto/rsa-step-by-step) с вашей настройкой и получил цифры $\color{red}{Red}$. В чем тогда твоя проблема?
флаг in
@kelalaka Спасибо за онлайн-ресурс! Когда я использовал CrypTool RSA Encryption и вводил текст MI, я получаю следующее: Ввод чисел в формате с основанием 10: 360 / Шифрование в зашифрованный текст: 11 807. Почему только один номер?
kelalaka avatar
флаг in
Это обработка ввода.Онлайн-инструмент использует для шифрования символ за символом. Другой объединяет их в большое целое число. Обратите внимание, что существует ограничение на это из-за модуля, и помните, что RSA не является предпочтительным для шифрования.
Yves avatar
флаг cn
Я проверил его с версией 1.4.42: При использовании настроек CrypTool 1 по умолчанию он работает хорошо и показывает ожидаемые результаты. Это соответствует ответу Перегрина.
fgrieu avatar
флаг ng
Это упражнение выполнено правильно или нет, в зависимости от того, как его попросили закодировать открытый текст. Но это не RSA сделано правильно. Во-первых, множители $n$ слишком малы, что позволяет разложить $n$ на множители.Во-вторых, кодирование сообщения `MI` в репрезентативное целое число(я) $m$ не сопоставляется с существенно случайным и непредсказуемым элементом $\mathbb Z_n$, как должно было бы.
Рейтинг:1
флаг gb

Как упомянул kelalaka в комментариях, причина разницы в том, что инструмент превращает сообщение «MI» в одно число 360, в то время как вы зашифровали каждый символ «M», «I» по отдельности в своем вопросе.

То, как инструмент превращает сообщение «MI» в число 360, заключается в том, что он использует алфавит из 26 заглавных букв плюс символ пробела (число 0), что дает всего 27. Таким образом, он превращает каждый символ в цифру от 0 до 26, а затем преобразует базу 27 в базу 10. В вашем случае это дает: $$ \текст{"М"} = 13 \ \текст{"Я"} = 9\ 13*27+9=360$$

Затем он таким же образом шифрует это число 360, используя $360^{11} \pmod{40741} = 11807.$$ Вы можете декодировать число с основанием 10 (360) обратно в сообщение, превратив его обратно в число с основанием 27, дав цифры $(13, 9)$, а затем вычисление их соответствующих позиций в алфавите ("М", "И").

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.