RSA 576 bit, как дешифровать? Доброе время суток необходима помощь в расшифровки текста или указание в ошибке выполнения задания, прохожу челендж на сайте root-me.org, где дан открытый ключ и зашифрованный текст:-----BEGIN PUBLIC KEY-----
MGQwDQYJKoZIhvcNAQEBBQADUwAwUAJJAMLLsk/b+SO2Emjj8Ro4lt5FdLO6WHMM
vWUpOIZOIiPu63BKF8/QjRa0aJGmFHR1mTnG5Jqv5/JZVUjHTB1/uNJM0VyyO0zQ
owIDAQAB
-----END PUBLIC KEY-----e8oQDihsmkvjT3sZe+EE8lwNvBEsFegYF6+OOFOiR6gMtMZxxba/bIgLUD8pV3yEf0gOOfHuB5bC3vQmo7bE4PcIKfpFGZBA
Используя Python и библиотеку pycrypto я вытащил из ключа модуль n:from Crypto.PublicKey import RSA
key = RSA.importKey(open('pubkey.pem').read())
print('n = ',key.n)
print('e = ',key.e)
где n = 188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059
e = 65537
Далее погуглив про факторизацию я наткнулся на RSA Factoring Challenge, где и нашёл искомый модуль, который соответствовал RSA-576 и там же находилась факторизация числа. Имея все эти данные воспользовался википедией и python реализовал вычисление секретного ключа.def egcd(a, b):
x,y,u,v = 0,1,1,0
while a != 0:
q, r = b // a, b % a
m, n = x - u * q, y - v * q
b,a,x,y,u,v = a,r,u,v,m,n
return b, x, y
def modinv(e, m):
g, x, y = egcd(e, m)
if g != 1:
return None
else:
return x % m
def pqe2rsa(p, q, e):
n = p * q
phi = (p - 1) * (q - 1)
d = modinv(e, phi)
key_params = (int(n), int(e), int(d), int(p), int(q))
priv_key = RSA.construct(key_params)
with open('privkey.pem', 'wb') as f:
f.write(priv_key.exportKey())
что на выходе мне дало вот это:-----BEGIN RSA PRIVATE KEY-----
MIIBXwIBAAJJAMLLsk/b+SO2Emjj8Ro4lt5FdLO6WHMMvWUpOIZOIiPu63BKF8/Q
jRa0aJGmFHR1mTnG5Jqv5/JZVUjHTB1/uNJM0VyyO0zQowIDAQABAkgyAw5Cxp1O
d95+I5exPbouUvLFeiBfWXP+1vh2MvU8+IhmCf9j+hFOK13x22JJ+Orwv1+iatW4
5It/qwUNMvxXS0RuItCLp7ECJQDM6VRX8SfElUbleEECmsavcGBMZOgoEBisu1OC
M7tX83puaJUCJQDzXLgl8AM5bxHxSaWaD+c9tDFiyzBbjr/tpcqEC+JMU2tqrlcC
JQCjGt8+GQD0o3YJVc05i4W3RBYC+RcqPJXHeFyieRcYjP/ZPnkCJQDVUULBTl8l
KuzJWcrk/metuJNJi925g6lMwHSBxoD4cm7HtkUCJFqWTOzCIODw7eoypcJYjm2O
/ohEsSjEXsg6Bh8mY3LunBaqiA==
-----END RSA PRIVATE KEY-----
и далее, чтобы расшифровать исходный текст я решил воспользоваться Openssl в Ubuntuopenssl rsautl -decrypt -in ciphertext -out text -inkey privkey.pem
На что мне программа говорит "Ошибка чтения входящего файла"
Либо может уже к вечеру голова не варит и я действительно какую-то примитивную вещь сделал не так нежели другого не знаю, помогите дельным советом!

21 Авг 2019 в 07:11
256 +1
0
Ответы
1

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

Попробуйте выполнить следующие действия:

Убедитесь, что файл с зашифрованным текстом (ciphertext) содержит зашифрованный текст в правильном формате.Убедитесь, что файл с приватным ключом (privkey.pem) содержит приватный ключ RSA в правильном формате.Проверьте права доступа к файлам - у вас должны быть права на чтение файла с зашифрованным текстом и на чтение файла с приватным ключом.Убедитесь, что вы выполняете команду в правильной директории, где находятся ваши файлы.

Если после этих действий ошибка останется, попробуйте использовать другие инструменты или способы расшифровки текста. Например, попробуйте использовать Python и библиотеку pycrypto для расшифровки текста с помощью вашего приватного ключа.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир