跟DES,AES一样, RSA也是一个块加密算法( block cipher algorithm),总是在一个固定长度的块上进行操作。
但跟AES等不同的是, block length是跟key length 以及所使用的填充模式 有关的。
1)RSA_PKCS1_PADDING 填充模式,最常用的模式
要求:
输入 必须 比 RSA 钥模长(modulus) 短至少11个字节, 也就是 RSA_size(rsa) – 11
如果输入的明文过长,必须切割, 然后填充
输出 和modulus一样长
根据这个要求,对于512bit的密钥, block length = 512/8 – 11 = 53 字节
2) RSA_PKCS1_OAEP_PADDING
RSA_size(rsa) – 41
3)for RSA_NO_PADDING 不填充
![]() |
|