RSA加密与签名技术详解
1. RSA加密面临的攻击及应对
在RSA加密体系中,曾有研究指出,对于1024位模数n,攻击者Eve查询预言机的密文总数通常约为$2^{20}$。此前,选择密文攻击被认为仅具理论意义,但Bleichenbacher攻击改变了这一认知。该攻击针对采用SSL/TLS协议的Web服务器,在SSL/TLS的交互式密钥建立阶段,会使用RSA和PKCS#1 v1.5对秘密会话密钥进行加密。部分SSL/TLS实现会在RSA加密消息不符合PKCS标准时向客户端报告错误,这就使得这些实现可被用作预言机。由于SSL/TLS常不进行客户端认证,攻击者能匿名攻击服务器。
为防范Bleichenbacher攻击,SSL/TLS服务器的实现得到改进,PKCS#1标准也进行了更新,开始采用OAEP填充方案。“PKCS符合”这一谓词会泄露关于明文的一位信息,Bleichenbacher攻击表明,若能为RSA密文计算“PKCS符合”位,就能轻松从密文计算出完整的(符合PKCS的)明文。这种位被称为安全位,单向函数的位安全性在相关研究中有深入探讨。
2. 概率RSA加密:OAEP方案
2.1 OAEP方案概述
为抵御上述攻击,对明文进行随机预处理是有效的方法,OAEP(最优非对称加密填充)方案就提供了这样的预处理。它不仅适用于RSA加密,还能用于加密函数为双射陷门函数f的任何公钥加密方案,如RSA函数或Rabin密码系统的模平方函数。
设$f : D \to D$,$D \subset {0, 1}^s$为用作公钥加密函数的陷门函数,其逆$f^{-1}$为解密函数,陷门信息为秘密密钥。在RSA场景中,$f = RSA_{
超级会员免费看
订阅专栏 解锁全文
7208

被折叠的 条评论
为什么被折叠?



