当前位置: 首页 > 知识库问答 >
问题:

用OpenSSL实现Python中的RSA加解密

红朝
2023-03-14

如何在Python usomg OpenSSL中执行RSA加密和解密?

我有以下几点:

#Public key:
e="65537"

n="2483790199491205341506001624338547531741771200963322451" \
  "16318655098567854682220895878748602513720919196015584783557" \
  "704400541915850094004767776687012394493261448676783015273985771" \
  "1238030112386627501698642461625407366533907839206541565912321199" \
  "009791795944233570230631191423356738502486763195167267521973031" \
  "6838578210434343067511636079081818744400113533624136339709745782" \
  "32161853372590090308494113224155565481298018056338822080805188480" \
  "139150684063550507331062187412707210886548924698896783031493679037" \
  "3122088161029787856707927049345768779125257912445784686277424030038" \
  "539380288863347855630618237433032833865316901740219"


#Private key
d="152501997096795110757068525202189319208625862269501399381045003" \
  "01373684948285528219578200125958795897780598922907027278290745917" \
  "4083840545807194541888429655727807270271016523695687179904011971106" \
  "46024638603131783118232131092639581621182826911051011196270811088775" \
  "8622627957416117004996969971673524599345136221501081814180958260506967" \
  "05549363779862358358393233189560520163106785535319492545898745183439" \
  "10980478364023104227720426942196244946117979269924656213962726626606" \
  "77452212629548965644705371048342816305068001182195025882564173365857" \
  "07762540909960941277936950557159506459454566798472128560135656506235" \
  "741389170953"


#encrypted message
encoded="187216163520278606105320112446137004408231369834741341053563682" \
        "277774349916058822189964158715390402738262899525931062389534962" \
        "09104749822344117450601254708536373034264130933521987327974000" \
        "255146756518397668069770185737907343422454676477169144712992560" \
        "738066894543224559303296179944700852861503983647039123452966586" \
        "43024446530008588087574157621730825724439869400851215840977916" \
        "767440706251849931986529460039147463908090086303953826751056882" \
        "5732583473943114017472152320746478960753673137088195122814398113" \
        "5288648561417818449968250721180493107501204327582989947582671" \
        "70231934908068721013345590521202959891172540575563129"

共有1个答案

濮阳旺
2023-03-14

不需要使用pyOpenSSL或任何其他外部库就可以对密文进行解码。

只需使用公式m=cdmod n反向加密操作,如下所示:

n="24837..."
d="15250..."
encoded="18721..."
plaintext = pow(int(encoded,10),int(d,10),int(n,10))
print hex(plaintext)[2:-1].decode('hex')

pow()运算符执行模幂运算以计算(encoded**d)%n。在print语句中,结果值被转换为十六进制(删除前两个字符0x和最后一个字符L),然后解码为十六进制字符串以检索原始字节。

 类似资料:
  • 本文向大家介绍python实现RSA加密(解密)算法,包括了python实现RSA加密(解密)算法的使用技巧和注意事项,需要的朋友参考一下 RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。 今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其密钥的长度足够长,用RSA加密

  • 我试图在Python中实现以下内容:openssl enc-e-aes-256-cbc-base 64-k"秘密密码"-inplaintext.txt-outciphertext.txt openssl enc-d-aes-256-cbc-base64-k“秘密密码短语”——密文形式。txt-out验证。txt 我已经尝试了几个不同的模块,PyCrypto,M2Crypto等,但似乎无法获得将密码

  • 我需要在Python中使用RSA加密和解密的帮助。 我正在创建一个私钥/公钥对,用密钥加密一条消息,并将消息写入一个文件。然后我从文件中读取密文,并使用密钥解密文本。 谁能帮我写这个代码,让解密从文件中读取密文,然后使用密钥解密密文?

  • 如果我打印出钥匙,它们看起来就像在文本文件中一样。 谁能指出我做错了什么?pemreading程序或引擎使用似乎是原因。使用2048位无填充密钥,这种加密会有多强?

  • 我正在做一个简单的程序来加密/解密使用RSA算法在Java。我创建一个密码对象如下: 我通过调用加密函数进行加密: 解密过程如下: 但是,当我将创建密码对象的代码编辑为://Create a Cipher object Cipher rsapier=Cipher时。getInstance(“RSA”); 问题出在哪里。在第一种情况下(当空格出现时),我指定了NoPadd?为什么空格出现在解密的消息

  • 本文向大家介绍php基于openssl的rsa加密解密示例,包括了php基于openssl的rsa加密解密示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php基于openssl的rsa加密解密。分享给大家供大家参考,具体如下: PS:关于加密解密感兴趣的朋友还可以参考本站在线工具: 密码安全性在线检测: http://tools.jb51.net/password/my_passwo