密码学笔记(5)——Rabin密码体制和语义安全性

本文深入探讨了Rabin密码体制,这是一种基于RSA的计算安全密码系统,证明了其对选择明文攻击的安全性。同时,文章阐述了Rabin密码体制的安全性,包括完全攻破、部分攻破和密文识别,并通过图灵归约展示了其与分解大整数问题的关联。此外,还讨论了RSA的语义安全性,揭示了在某些攻击场景下,如计算明文的最低位或中间位,可能泄露信息。最后,提出了最优非对称加密填充的概念,以确保在不增加过多数据扩展的情况下实现语义安全的公钥密码体制。
摘要由CSDN通过智能技术生成

一、Rabin密码体制

  Rabin密码体制是RSA密码体制的一种,假定模数$n=pq$不能被分解,该类体制对于选择明文攻击是计算安全的。因此,Rabin密码体制提供了一个可证明安全的密码体制的例子:假定分解整数问题是整数上不可行的,那么Rabin密码体制是安全的。

Thm1 (Rabin密码体制)设$n=pq$,其中$p$和$q$是素数,且$p,q \equiv 3 (mod \, 4)$,设$P=C=Z^{\star}_{n}$,且定义$$\kappa =\{(n,p,q)\}$$对$K=(n,p,q)$,定义$$e_{K}(x)=x^{2} (mod \, n)$$和$$d_{K}=\sqrt{y} (mod \, n)$$ $n$为公钥,$p$和$q$为私钥。

注:条件$p,q \equiv 3 (mod \, 4)$可以省去,条件$P=C=Z^n_{\star}$也可以弱化为$P=C=Z^n$,只是在使用更多的限制性描述的时候,简化了许多方面的计算和密码体制分析。

  注意看到这个函数$y=x^{2}$对于加密来说不是一个单射,所以解密不能以一种明显的方式完成,特别的,对于$y \equiv x^{2} (mod \, n)$,对于某一个$x \in Z^{\star}_{n}$,存在$y$模$n$的是个解,除非有其他的冗余信息,否则无法确认是那一个值。

  从Bob的观点来看解密问题,它有一个密文y,要想得到x使得$$x^2 \equiv y(mod \, n)$$这是一个关于$Z_{n}$中未知元$x$的二次方程,解密需要求出模$n$的平方根,等价于求解以下两个同余方程。$$z^{2} \equiv y (mod \, p)$$ $$z^{2} \equiv y (mod \, q)$$虽然我们可以利用Euler准则来判断$y$是否为一个模$p$或模$q$的二次剩余。事实上,如果加密正确的执行,$y$是一个模$p$和模$q$的二次剩余,遗憾的是它并不能帮助我们找到$y$。

  当$p \equiv 3(mod \, 4)$时,有一个简单公式来计算模$p$的二次剩余的平方根,假定$y$是一个模$p$的二次剩余,且$y \equiv 3 (mod \, 4)$那么有$$\begin{align} (\pm y^{\frac {p+1}{4}})^{2} \equiv & y^{\frac{p+1}{2}} (mod \, p) \\ \equiv & y^{\frac{p-1}{2}}y (mod \, p)  \\ \equiv & y(mod \, p) \\ \end{align}$$这里又一次使用了Euler准则,即当$y$是一个模$p$的二次剩余时,有$y^{\frac{p-1}{2}} \equiv 1 (mod \, p)$,因此,$y$模$p$的两个平方根为$\pm y^{\frac{p+1}{4}} (mod \, p)$,同样的讨论可以知道,$y$模$q$的两个平方根为$\pm y^{\frac{p+1}{4}} (mod \, q)$,再利用中国剩余定理可以得到$y$模$n$的四个平方根。

二、Rabin密码体制的安全性

   它的安全性证明使用了一个图灵归约,定义如下:

Def2 (图灵归约)假定G和H为问题,一个从G到H的图灵归约是一个具有如下性质的算法SolveG:

1. SolveG假定了存在某一算法SolveH求解问题H;

2. SolveG可以调用SolveH并使用它的任一输出值,但SolveG不能对SolveH执行的实际运算做任何限定(也就是说,SolveH被看作一个黑盒子,称为一个谕示器);

3. SolveG是一个多项式时间算法;

4. SolveG正确地求解问题G。

如果存在一个从G到H的图灵归约,记为$G \varpropto _{T} H$。

   一个图灵归约$G \varpropto_{T} H$并不一定得到一个求解问题G的多项式时间算法,它实际上证明的是:如果存在一个多项式时间算法求解问题H,那么存在一个多项式时间算法求解时间G。

  下面将提供图灵归约的一个清晰的例子,可以证明,一个解密谕示器Rabin Decrypt可以并入到一个分解模数$n$的$Las Vegas$算法中且具有至少$\frac{1}{2}$的概率,也就是说,可以得到Factoring $\varpropto_{T}$ Rabin Decryption,其中图灵归约本身是一个随机算法。假定$n$是两个不同素数$p$和$q$的乘积,那么Rabin Decryption是一个执行Rabin解密过程的谕示器,对一个给定的密文返回对应四个可能的明文中的一个。

Alg3 Rabin Oracle Factoring(n)

external Rabin Decrypt

随机选择一个整数$r \in Z^n_{\star}$

$y \leftarrow r^{2} (mod \, n)$

$x \leftarrow Rabin Decrypt(y)$

if $x \equiv \pm r(mod \, n)$

  then return ("failure")

else

  $p \leftarrow gcd(x+r , n)$

<
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值