首页 > 编程问答 >如何在Python中从RSA公钥中提取N和E?

如何在Python中从RSA公钥中提取N和E?

时间:2024-07-29 05:18:45浏览次数:13  
标签:python cryptography rsa public-key pycrypto

我有一个 RSA 公钥,看起来像

-----BEGIN PUBLIC KEY-----
MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAvm0WYXg6mJc5GOWJ+5jk
htbBOe0gyTlujRER++cvKOxbIdg8So3mV1eASEHxqSnp5lGa8R9Pyxz3iaZpBCBB
vDB7Fbbe5koVTmt+K06o96ki1/4NbHGyRVL/x5fFiVuTVfmk+GZNakH5dXDq0fwv
JyVmUtGYAiMJWPni2hGpAsbyjzLix9UNX5XiYIIrIr55IHtD5u1XNkmYLOdVQ98r
6hez3t2eaE0pP2k+mjRach+2tD93PBZmreHgVZtejumi+ZWLMqpd++AY0AzH0m8E
6sa8JFUAiYZbVtmrcGTCUCkzC2Es1/knSeZ41xki1qD0V3uw/APP8Q+BgbX3SJp0
EQIBAw==
-----END PUBLIC KEY-----

我想找出该密钥的模 N 和指数 E 是多少,在 python 中?

使用 pycrypto 包我可以像这样加载到密钥:

from Crypto.PublicKey import RSA

# read the public key in:
public_key = RSA.importKey(open('key.pub', 'r').read())

但是遵循 pycrypto 的 rsa 模块的文档 尚不清楚如何提取较小的组件。我该怎么做呢?


可以使用 n e 属性来获取 RSA 公钥的模数和指数。以下是一个示例:

from Crypto.PublicKey import RSA

# 读取公钥:
public_key = RSA.importKey(open('key.pub', 'r').read())

# 提取模数和指数
n = public_key.n
e = public_key.e

# 打印模数和指数
print("模数 (N):", n)
print("指数 (E):", e)

这将分别打印公钥的模数和指数。

标签:python,cryptography,rsa,public-key,pycrypto
From: 42504079

相关文章

  • Swagger、Docker、Python-Flask: : https://editor.swagger.io/ 生成服务器 python-fl
    在https://editor.swagger.io/上您可以粘贴一些json/yaml。我正在将此作为JSON进行测试(不要转换为YAML):{"swagger":"2.0","info":{"version":"1.0","title":"OurfirstgeneratedRES......
  • 使用 Matplotlib 的 Python 代码中出现意外的控制流
    Ubuntu22.04上的此Python3.12代码的行为符合预期,除非我按q或ESC键退出。代码如下:importnumpyasnp,matplotlib.pyplotaspltfrompathlibimportPathfromcollectionsimportnamedtuplefromskimage.ioimportimreadfrommatplotlib.widgets......
  • 参考 - Python 类型提示
    这是什么?这是与在Python中使用类型提示主题相关的问题和答案的集合。这个问题本身就是一个社区维基;欢迎大家参与维护。这是为什么?Python类型提示是一个不断增长的话题,因此许多(可能的)新问题已经被提出,其中许多甚至已经有了答案。该集合有助于查找现有内容。范......
  • 我的 Python 程序中解决 UVa 860 的运行时错误 - 熵文本分析器
    我正在尝试为UVa860编写一个解决方案,但是当我通过vJudge发送它时,它一直显示“运行时错误”。fromsysimportstdinimportmathdefmain():end_of_input=Falselambda_words=0dictionary={}text_entropy=0relative_entropy=0whilenotend_of_in......
  • Python进度条
    当我的脚本正在执行某些可能需要时间的任务时,如何使用进度条?例如,一个需要一些时间才能完成并在完成后返回True的函数。如何在函数执行期间显示进度条?请注意,我需要实时显示进度条,所以我不知道该怎么办。我需要thread为此吗?我不知道。现在在执行函数......
  • 此 Python 代码给出了超出时间限制的错误。由于其中使用的输入或输出方法而在其中传递
    N=int(input())L1=input()L=L1.split()s=set(L)d={}foreins:d[e]=L.count(e)print(d)max_value=max(d.values())print(max_value)L=list(d.values())print(L)res=L.count(max_value)print(res)/在提供正常输入时,它运行良好,但在提......
  • @staticmethod 在 Python 中意味着什么?
    我正在使用Python学习OOP。我想知道@staticmethod在OOP中到底做了什么。为什么我应该/不应该使用它?classCar:@staticmethoddefstart():print("carstarted")defstop():print("carstopped")当然,让我们来分解一下Pyth......
  • 如何在Anaconda基础环境中更新Python?
    如何在Anaconda基础环境中更新Python?Python是否打算在基础环境中进行升级,还是应该完全删除并重新安装Anaconda?任何版本最终都会失去支持,所以应该有一些解决方案。到目前为止我已经尝试过,并没有导致Python更新:condaupdate--allcondaupdate......
  • 为什么我的 HTTP 请求代码需要在 PowerShell 上运行一次才能在 Python 上正常工作?
    下面的代码只是一个演示,我有一个http函数来获取新的'log-uid'和'ASP.NET_SessionId',然后将它们放入cookie中,但是如果我直接运行python代码,响应是'{data:不登录}'cookies={'log-uid':'**newlog-uidexample**','ASP.NET_SessionId':......
  • 在 Windows 上的 python 中更改特定应用程序的音频
    我尝试制作一个可以分割音频的程序,我面临的问题之一是如何更改一个特定应用程序的音频输出。operafrompycaw.pycawimportAudioUtilities,IAudioEndpointVolumefromcomtypesimportCLSCTX_ALLimportpsutildefchange_audio_output(device_name):prog_name=i......