《密码学与网络安全》第10章非对称密钥密码学,本章中讨论几种非对称密钥加密系统:RSA、Rabin、E1Gamal和ECC。本小节为大家介绍最优非对称加密填充(OAEP)。
10.2.6 最优非对称加密填充(OAEP)
就像我们前面提到的那样,RSA中的一个短信息可以导致密文易遭受短信息攻击。也已经说明简单地给信息填充伪数据(填充位)也许就会使伊夫的工作变得十分困难,但是通过更进一步的努力,她还可以对密文进行攻击。由RSA群和一些厂商提出的解决办法就是应用称为最优非对称加密填充(OAEP)的过程。图10-9所示,就是该过程的简单版本,执行时也许要用更为完善的版本。
![]() |
(点击查看大图)图10-9 最优非对称加密填充(OAEP) |
图10-9中的全部概念就是P = P1 || P2,这里P1就是填充信息的掩模版M;P2发送以便允许鲍勃找出掩模。
加密 下面就是加密的过程:
(1) 爱丽丝填充这个信息来制成一个m比特的信息,我们称之为M。
(2) 爱丽丝选择一个k比特的随机数r。注意r只能使用一次然后就要销毁。
(3) 爱丽丝运用一个公共单向函数G,这个单向函数用一个r比特的整数并且创建一个m比特的整数(m表示M的大小,并且r m)。这就是掩模。
(4) 爱丽丝运用掩模G(r)来创建明文 的第一部分。 是掩模信息。
(5) 爱丽丝创建明文 的第二部分。函数H是另一个公共函数,这个公共函数用一个m比特的输入创建一个k比特的输出。这个函数可以是一个加密的散列函数(参看第12章)。运用 以使鲍勃解密后重新创建掩模。
(6) 爱丽丝创建 并且把C发送给鲍勃。
解密 如下所示就是解密过程:
(1) 鲍勃创建 。
(2) 鲍勃首先运用H 重新创建r的值。
(3) 鲍勃运用 重新创建填充信息的值。
(4) 从M当中取消填充后,鲍勃得到了原信息。
1. 传输错误
即使在传输过程中有一个单比特的错误,RSA也会崩溃。如果收到的密文与所发送的不同,接收者就不能确定原明文。在接收方计算出来的明文也许和发送方发送出去的有很大的不同。传输媒介必须通过在密文上增加错误探测或错误纠正冗余比特使其没有错误。
例10.8
![]() |
![]() |
![]() |