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 На что мне программа говорит "Ошибка чтения входящего файла" Либо может уже к вечеру голова не варит и я действительно какую-то примитивную вещь сделал не так нежели другого не знаю, помогите дельным советом!
В вашем случае ошибка может быть связана с неправильным форматом входного файла. Убедитесь, что файл с зашифрованным текстом и файл с приватным ключом имеют правильный формат.
Попробуйте выполнить следующие действия:
Убедитесь, что файл с зашифрованным текстом (ciphertext) содержит зашифрованный текст в правильном формате.Убедитесь, что файл с приватным ключом (privkey.pem) содержит приватный ключ RSA в правильном формате.Проверьте права доступа к файлам - у вас должны быть права на чтение файла с зашифрованным текстом и на чтение файла с приватным ключом.Убедитесь, что вы выполняете команду в правильной директории, где находятся ваши файлы.
Если после этих действий ошибка останется, попробуйте использовать другие инструменты или способы расшифровки текста. Например, попробуйте использовать Python и библиотеку pycrypto для расшифровки текста с помощью вашего приватного ключа.
В вашем случае ошибка может быть связана с неправильным форматом входного файла. Убедитесь, что файл с зашифрованным текстом и файл с приватным ключом имеют правильный формат.
Попробуйте выполнить следующие действия:
Убедитесь, что файл с зашифрованным текстом (ciphertext) содержит зашифрованный текст в правильном формате.Убедитесь, что файл с приватным ключом (privkey.pem) содержит приватный ключ RSA в правильном формате.Проверьте права доступа к файлам - у вас должны быть права на чтение файла с зашифрованным текстом и на чтение файла с приватным ключом.Убедитесь, что вы выполняете команду в правильной директории, где находятся ваши файлы.Если после этих действий ошибка останется, попробуйте использовать другие инструменты или способы расшифровки текста. Например, попробуйте использовать Python и библиотеку pycrypto для расшифровки текста с помощью вашего приватного ключа.