【RSA加密/解密】PKCS1_OAEP和PKCS1_v1_5两种填充方案【python RSA密钥对生成、密码加密、密文解密、pycharm安装Crypto】

一、PKCS1_OAEP和PKCS1_v1_5是公钥加密标准中的两种填充方案。

PKCS1_OAEP(Optimal Asymmetric Encryption Padding)是一种更安全的填充方案,它提供了更好的安全性和抗攻击性。它使用随机数进行填充,并引入了哈希函数来增加安全性。

PKCS1_v1_5是较旧的填充方案,它使用固定的填充字节序列来填充明文,然后再进行加密。由于一些安全漏洞的发现,PKCS1_v1_5已经不再推荐使用。

关于PKCS1_OAEP和PKCS1_v1_5的链接:
PKCS #1: RSA Cryptography Specifications Version 2.2
PKCS #1: RSA Encryption Version 1.5
Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1


二、关于RSA加密/解密中OAEP填充模式和PKCS1-v1_5填充模式时对于原文数据的要求。

《RFC-8017 PKCS #1 RSA Cryptorgraphy Specification Version 2.2》
本节引用自原文链接:https://blog.csdn.net/qq_27706119/article/details/127078681

RSA加密时,对于原文数据的要求:
  • OAEP填充模式: 原文长度 <= 密钥模长 - (2 * 原文的摘要值长度) - 2字节
    各摘要值长度:
    	SHA-1:      20字节
    	SHA-256:  32字节
    	SHA-384:  48字节
    	SHA-512:  64字节
    
  • PKCA1-V1_5填充模式:原文长度 <= 密钥模长 - 11字节

三、PYTHON

1、生成密钥对
from Crypto.PublicKey import RSA

# 获取密钥对
def get_key_pair():
    key = RSA.generate(2048)
    # 获取公钥
    publicKey = key.publickey().exportKey()
    # 获取私钥
    privateKey = key.exportKey()
    return
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值