[ Prev ] [ Index ] [ Next ]

算法

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位。