RSA 之padding

 

参考: openssl之 : crypto/rsa/rsa_pk1.c

 

对于 RSA_PKCS1_PADDING  来讲(参看: ./crypto/rsa/rsa_eay.c ):

  1. 私钥加密时,使用的是: RSA_padding_add_PKCS1_type_1(…)   pad的是定值 0xff
  2. 公钥加密时,使用的是: RSA_padding_add_PKCS1_type_2(…)   pad的是随机的非零值 (这也是为什么公钥加密每次结果不同,而私钥加密每次结果相同的原因;对于私钥加密,多半用于签名,不需要随机,或者说,相同的数据每次签名结果都相同是很好的)

Optimal Asymmetric Encryption Padding (OAEP)

OAE: 即: 最完美的非对称加密; 而OAEP 是一种padding ; 参考: http://en.wikipedia.org/wiki/Optimal_asymmetric_encryption_padding

其他padding:

 

参考资料:

rsa算法: http://www.di-mgt.com.au/rsa_alg.html

http://www.douban.com/note/338531480/

http://www.tuicool.com/articles/aMfIba

http://crypto.stackexchange.com/questions/22531/how-does-rsa-padding-work-exactly

RSA选用小公钥指数(e=3)真的不安全吗? 

RSA加密的填充模式

OAE算法

PKCS #1: RSA Cryptography Specifications Version 2.0

Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1

PSS:  (具体实现参看 :  pss.go)

MGF(pss 的时候需要):

 

 

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据