PRG的扩展

本文探讨了伪随机生成器(PRG)的并行和串行扩展方法。通过对多个PRG的拼接,证明了在一定条件下,扩展后的PRG保持安全性。同时介绍了Blum和Micali提出的串行扩展方式,该方法通过迭代使用前一阶段的输出作为新输入,以提高输出长度。定理表明,如果原始PRG是安全的,那么并行和串行扩展的PRG同样具有可忽略的安全风险。
摘要由CSDN通过智能技术生成

PRG的并行扩展

PRG可以通过一个较短的输入得到一个较长的输出,但是如果这个输出的长度仍然达不到我们的要求怎么办呢?一个很自然的想法是将多个PRG拼起来,假设有n个PRG拼到了一起,那么我们便可以得到nL长的输出。那么这个新的\mathcal{G}^\prime的安全性怎么样呢?直观来看,似乎只要n不是很大,\mathcal{G}是安全的就可以保证\mathcal{G}^\prime安全的。事实上,我们有如下定理:

定理1:如果存在一个安全的PRG \mathcal{G},那么n\mathcal{G}拼起来得到的新的PRG \mathcal{G}^\prime就是安全的,即\mathcal{G}^\prime(s_1,\cdots,s_n):=(\mathcal{G}(s_1),\cdots,\mathcal{G}(s_n))是安全的。其中s_1,\cdots,s_n从输入空间中独立随机选取,n是一个不超过关于安全参数的多项式界的一个参数。

证明:这个定理的证明用到了密码学中一个非常重要的证明方法就是混合论证(hybrid argument)。为了证明这个定理,我们可以先考察n=2时的情况。当n=2时,类似于前面定义PRG的安全性(https://blog.csdn.net/pllt1991/article/details/103915625),我们定义下面两个experiment:

PPrgExp_0^{\mathcal{G}^\prime,\mathcal{A}}

\mathcal{C}(s_1,s_2)作为\mathcal{G}^\prime的输入得到一个2L比特长的输出(r_1,r_2)并发送给\mathcal{A};

\mathcal{A}\mathcal{C}返回一个比特b^\prime\in\{0,1\}

输出b^\prime

PPrgExp_1^{\mathcal{G}^\prime,\mathcal{A}}

\mathcal{C}随机选取(r_1,r_2)\in\{0,1\}^L\times\{0,1\}^L并发送给\mathcal{A};

\mathcal{A}\mathcal{C}返回一个比特b^\prime\in\{0,1\}&#x

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值