RSA非对称加密方案
来源:互联网 发布:settime js 编辑:程序博客网 时间:2024/06/05 20:58
一、秘钥池维护
每台应用服务器启动时生成一对秘钥对,并将秘钥对初始化到秘钥池,目前秘钥池里的秘钥数量等于应用服务器的台数,理论上秘钥对越多破解难度就越大。
当秘钥池不存在秘钥是重新生成秘钥对入池,防止意外清空秘钥池的情况
二、公钥复原
客户端在对数据进行加密前需要先对服务器端传递过来公钥串进行还原,基于以下两种方式可以在java、js、php等任何开发语言之间还原公钥:
A、根据公钥模数module和公钥指数exponent进行还原
B、将公钥字节转换成base64串,客户端解密这个base64串还原成公钥
这里采用B方案来还原公钥,好处在于只需要传递一个参数,客户端还原公钥也更简便
三、 RSA填充模式
RSA作为块加密算法,需要对块不足长的数据进行填充,填充算法主要有:
A、RSA_PKCS1_PADDING
最常用的模式
要求:
输入必须 比 RSA 钥模长(modulus) 短至少11个字节, 也就是RSA_size(rsa) – 11
如果输入的明文过长,必须切割,然后填充
输出和modulus一样长
根据这个要求,对于512bit的密钥, block length = 512/8 – 11 = 53 字节
B、RSA_PKCS1_OAEP_PADDING
RSA_size(rsa) – 41
C、RSA_NO_PADDING
不填充
加密解密两端需要用相同的填充模式,不然加解密数据会不一致
0 0
- RSA非对称加密方案
- RSA 非对称加密
- RSA非对称加密
- RSA非对称加密
- RSA非对称加密
- RSA 非对称加密
- rsa非对称加密
- RSA非对称加密
- 非对称加密RSA
- RSA非对称加密
- 非对称加密 rsa
- Rsa非对称加密
- RSA非对称加密
- RSA非对称加密
- 非对称加密RSA
- 非对称加密--RSA
- 非对称加密------RSA
- 使用非对称RSA加密
- 等高线下载教程
- java规范
- 部署 Job (第四部分)
- 《构建之法》 读后感 —— there is no silver bullet
- C# sql server
- RSA非对称加密方案
- maven的pom.xml的配置文件说明
- Android Studio 集成git上传项目至GitHub
- 普及练习场之排序Ex
- java 下载文件
- 【常见面试算法题】之二分搜索
- 实现控件拖动
- LeetCode 34 Search for a Range
- hadoop常用算法在spark中实现