如何使用公钥和私钥对rsa进行解码

时间:2019-04-26 02:48:15

标签: security cryptography rsa decode ctf

我有这个公钥和私钥,如何解码呢?

非常感谢。

----- BEGIN公钥----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl0NyHA + z9w6LiYURla4UCcedc 2SpsS4SnVGdSSEHTMsc9NbMX2fVPX9q8yyYBMypvBYnVLc7gNozr3bziLLhOGWjv Dh3zaC3 / Q4wu6Osroo9Af9PoHr1riEve8ioz058mPP28TGOBb / oYa5TaeYw4GGMc mqvZMrRlGhPZIOsePQIDAQAB ----- END公钥-----

----- BEGIN RSA私钥----- MIICXAIBAAKBgQCl0NyHA + z9w6LiYURla4UCcedc2SpsS4SnVGdSSEHTMsc9NbMX 2fVPX9q8yyYBMypvBYnVLc7gNozr3bziLLhOGWjvDh3zaC3 / Q4wu6Osroo9Af9Po Hr1riEve8ioz058mPP28TGOBb / oYa5TaeYw4GGMcmqvZMrRlGhPZIOsePQIDAQAB AoGAF74YVZzSSmPA5vlWec8zdG4q2ridwnPtwqfrQ3TlOACFVtZhloC3B26KO447 GuDgqpT4b3XnsWMeOoe9jAUrPohy0ISiYYvp0h + KHjFUFt9XH9d3hlm0VqRCExNA rG3sXXuoSmyyGIin / 7l4pFJuFCyDLESQQ4zJGCicMiCpWAECQQDcM0eDTL0t / web 5XfOw5LUJLgNlAQyWmncojVB4QbT0XixZD / UBKlPyt2lwbSncRmSW7TJzb + epdHf FKCEfub9AkEAwMYbAh4VUal0q + aBGheo3N / 4cZy0GC4unM15F9lxkOn06RGSmFQ5 0ulhlH3f5h5uVIFh7jT1Nk27H2EjTxHYQQJAMoDUWwnjrcP7Q8cqZlK2v084o2ya Vc4kz4SogFaTEUvOyai7du4mwvU9RsIZo / mtqsK7wTkeRM21R9vcQOc2JQJAQWf1 6fYDDb4NE / YVf6DfbnGffgzJHhstPY6Js4nXem + m5R1NO9n39JOyxAshWJaioJF1 hLj7Kf2dq7vtmvpXAQJBANAYjUpCT8cYA5XpbmeMHTw3XGuF1N2wBpfu5BNsN8Nh l0NZkzFHNpempMYTr / 1TnUaeAynlevfw6 / mSK40YHrQ = -----结束RSA私钥-----

2 个答案:

答案 0 :(得分:0)

基本上任何能识别DER结构的ASN.1解码器都可以...

免费的javascript版本,请参见https://lapo.it/asn1js/

答案 1 :(得分:0)

(使用Python 3)

从开始菜单中打开CMD(窗口),或者从启动板的实用程序页面中打开TERMINAL(mac)。类型:

pip install pycrypto

如果这给您带来错误,请尝试:

pip3 install pycrypto

(您可能不必这样做)在IDLE窗口中选择“打开模块”,然后键入crypto。如果它给您一个错误,那么您就很好。然后,用大写字母将crypto重命名为Crypto

返回python并在编辑窗口中键入以下内容:

from Crypto.PublicKey import RSA
key = RSA.importKey('file.pem') # where file.pem is where your keys are stored, in the format you had in your question
public = key.publickey()

output = public.encrypt('data'.encode('utf-8'),32) # 'data' is a placeholder
output = key.decrypt('data'.encode('utf-8'))

输出将为bytes,以转换为十六进制:

print(output.hex())