Рейтинг:0

RSA не шифрует должным образом, когда e = d?

флаг jp

Я пытаюсь реализовать алгоритм RSA с некоторыми случайными (действительными, насколько мне известно) сгенерированными значениями, но для этой комбинации шифрование/дешифрование не работает.

сообщение = 324
р = 3
д = 29
п = 87
е = 15
д = 15

Которые дают как зашифрованный, так и расшифрованный ответ 63

Я предполагаю, что сделал ошибку при создании значений, но я точно не знаю, где.

Я знаю, что e и d не должны быть равны по соображениям безопасности, но, насколько я понимаю, шифрование должно работать.

Daniel S avatar
флаг ru
Это работает в том смысле, что 324 по модулю 78 равно 63. RSA не может справиться с сообщениями, размер которых превышает модуль, и в лучшем случае возвращается оставшаяся часть сообщения по модулю.
kelalaka avatar
флаг in
Мне не удалось найти обман (надеюсь, кто-то может найти его или кто-то хочет написать ответ). Помните, что $c = m^e \bmod N$, поэтому RSA выполняется по модулю...
Рейтинг:4
флаг cm

Я считаю, что проблема связана с размером сообщения, а не с выбором $е$ и $д$.

При расшифровке сообщения мы не получаем результат сообщения м скорее м мод N. С $N$ будучи 87.

Если размер сообщения меньше Н тогда мы знаем, что $m = m \bmod N$, однако иначе не бывает.

В частности, наблюдая этот пример, мы имеем, что 63 доллара = 324 \bmod 87$, и поэтому процесс расшифровки действовал соответственно ожидаемому.

Что касается того, почему зашифрованное значение также 63 Я считаю, что это было чистое несчастье. Ключи и Н довольно малы, поэтому вероятность подозрительных комбинаций выше, чем при реальных параметризациях.

Я могу упустить какой-то запрещенный шаблон при выборе сообщения, учитывая, что расчеты применимы только к $ м < N $, но если программа работает для сообщений ниже 87, то не должно быть проблем с наличием $ д = е $.

Don Freecs avatar
флаг sz
как насчет злоумышленника, который всегда использует d=e в качестве первой тестовой атаки? это действительно проблема?
флаг jp
@DonFreecs, почему d = e? такой же шанс на успех, как если бы вы попробовали d=1 или d=3 или d=12345 или d="привет, я небезопасный ключ"
Don Freecs avatar
флаг sz
@user253751 user253751 действительно проблематично использовать его ^^
Pedro Campones avatar
флаг cm
Для большинства значений p и q d=e невозможно. Для работы RSA необходимо, чтобы *de = 1 mod (p - 1)(q - 1)*. Чем выше значение N, тем меньше вероятность того, что это произойдет.

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

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