生成RSA公钥的n值

简介:RSA算法是一种非对称加密算法,与对称加密算法不同的是,RSA算法有两个不同的密钥,一个是公钥,一个是私钥。 原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制 。RSA允许选择公钥的大小。512位的密钥被视为不安全的;768位的密钥不用担心受到除了国家安全管理(NSA)外的其他事物的危害;

历史攻略:

Python:DES、AES、RSA加解密

案例源码:编辑 vim key_n.py

# -*- coding: utf-8 -*-
# time: 2024/7/17 0:42
# file: main.py
# author: tom
# 微信公众号: 玩转测试开发
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import rsa

# 读取PEM文件
with open('rsa_public_key.pem', 'rb') as pem_file:
    pem_data = pem_file.read()

# 加载公钥
public_key = serialization.load_pem_public_key(pem_data, backend=default_backend())

# 确保这是一个RSA公钥
if isinstance(public_key, rsa.RSAPublicKey):
    public_numbers = public_key.public_numbers()
    n_value = public_numbers.n
    print(f"n_value:{n_value}")
else:
    print("这不是一个RSA公钥")

编辑 vim test_run.sh

openssl genrsa -out rsa_private_key.pem 2048
openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout
python3 key_n.py

运行:./test_run.sh

运行结果:

图片

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值