Найти оригинальное сообщение в RSA, если задано 2 шифра, а открытые ключи отличаются на 1 бит

os.system не позволяет сохранять результаты, поэтому, если вы хотите сохранить результаты в каком-то списке или что-то работает subprocess.call.

1
задан Ilan Aizelman WS 4 March 2019 в 16:12
поделиться

1 ответ

Предполагая, что K_1 и K_2 являются допустимыми ключами, должно существовать следующее:

gcd(K_1, φ(φ(N))=1 и gcd(K_2, φ(N))=1 где φ - функция Эйлера.

Учитывая это, мы знаем, что K_1 и K_2 должны быть нечетными . С информацией о том, что эти ключи отличаются только на 1 бит, мы знаем, что gcd(K_1, K_2)=1. Это означает, что существует r s, такой как rK_1 + sK_2 = 1 (определение gcd).

Мы знаем, что C_1 = E(M,K_1) и C_2 = E(M,K_2).

Давайте умножим C_1^r на C_2^s и посмотрим, что получим:

C_1^r * C_2^s = (M^K_1)^r * (M^K_2)^s = M^(rK_1 + sK_2) = M^1 = M

Мы нашли оригинальное сообщение M.

0
ответ дан Roman 4 March 2019 в 16:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: