Created 星期三 07 三月 2012
RSA公钥体制描述
RSA密钥生成
1 选取两个大素数 p和q (保密)
2 计算n=p*q (公开),依据 Euler定理得到 (保密)。
3 随机选取正整数e,,满足
,e是公开的加密密钥。
4 计算d,满足。d 是解密密钥。
5 加密变换,对明文m ,密文为.
6 解密变换,对密文c, 明文为
RSA密钥的填充方式
1)RSA_PKCS1_PADDING 填充模式,最常用的模式
要求:
输入 必须 比 RSA 钥模长(modulus) 短至少11个字节, 也就是 RSA_size(rsa) – 11
如果输入的明文过长,必须切割, 然后填充
输出 和modulus一样长
对于模长为1024位的密钥,输入长度为 1024/8-11=117个字节。输出为1024位。