关于密码学中不可区分性的一些问题

来源:互联网 发布:软件项目总监岗位职责 编辑:程序博客网 时间:2024/06/03 22:41

  最近在看密码学基础的书,对于pesudo-random序列与truly random序列的不可区分性有一些想法。我们先直接讲定义,然后再慢慢铺开。

注:


1. random distribution指的是任意的分布,可以理解为一个离散随机变量的密度函数,而定义域是长度为n的所有序列(这里特指序列空间),也可以直接理解为长度为n的序列空间的子集(假定集合中元素出现的概率相等)。有些文章中会出现distribution ensemble,这个名词指的大概意思与上面的相同,不过空间中的每个点可能不再是一个n长序列,而是一些内容的整体当成空间的一个点,可以参考一些形式化证明中用到的相关知识。

2. pass the probabilistic poly-nomial test听起来有些奇怪,姚期智先生在1982年的文章Theory and Applications of Trapdoor Functions给出了两个分布多项式不可区分的定义,跟我上面的定义是相似的。上文的定义只是针对一个T,而不可区分性是针对任意的PPT。

3. 我们再来说一下T,T是一个概率式图灵机,式子中的w表示T的抛币次数。其实T应该有两个参数,即T(s,Xn) ,意思是,对于输入s,如果s属于Xn ,则T输出1,否则输出为0.本质上就是一个成员归属问题。

4. 乍一看上面的式子有些数学化,如果想要简单一些的话可以将不等式后面的式子理解为一个可忽略量。一个可忽略量并不是一个具体的数,而是一个关于n 的函数,较为直观一点的理解是随着n的增大,函数值指数的减小。



我感觉已经大概说清楚了上面定义的含义,现在让我们来看pesudo-random generator,一个真正的pesudo-random generator所生成的序列应该与truly random序列是不可区分。我们还是引入Yao的定义:

这样,将S看成是pesudo-random generator的分布,而S‘是truly random的分布,这样我们就可以证明在这个定义下一个sequence generator是否为pesudo-random generator。Yao的定义有一点需要注意的是对于Definition8,k的值是会影响下面的ε的取值,而对于Definition9,无论k多大,Definition8中两个概率之差总是小于一个可忽略量。



我认为不可区分性是一个很重要的概念,一个是它能让我们更清楚的认识我们的前辈们创造出来的各种算法,另一个是它是我们理论研究的基础。在很多很多证明中,我们都可以看到它的身影。


References:
Ostrovsky,foundations of cryptography
Wenbo Mao 现代密码学 理论与实践(中文版)
Yao Theory and Applications of Trapdoor Functions

0 0