第3章 密码学的复杂性理论基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
秘密之门; (6)重复步骤(1)~(5)次。
14
基本的零知识协议过程
假设P知道一部分信息,并且该信息是一个难题的解法 : (1)P用自己的信息和一个随机数将这个难题转变为与之同构的
新难题,然后用自己的信息和这个随机数这个新难题; (2)P利用位承诺方案提交对于这个新难题的解法; (3)P向V透漏这个新难题,V无法通过新难题得到关于原难题或
其解法的任何信息; (4)V要求P:(a)证明新、旧难题同构;或者(b)公布P在
(2)中提交解法并证明该解法的确为新难题的解法; (5)P答应V的要求; (6)重复步骤(1)~(5)次。
15
交互与非交互
交互零知识证明 :证明者和验证者之间必须进行交互 。由 Goldwasser等人在20世纪80年代初提出 GMR模型; FFS模型。
即需要回答的一般性提问: 它通常含有若干个参数。 对于一个问题进行描述应该包括两方面的内容:必须对问题 的所有给定参数给出一般性描述;必须描述该问题的答案 (或解)应该满足的性质。 当问题的所有参数都有了确定的取值时,我们称得到了该问 题的一个实例(instance)。
3
算法(algorithm)
19
FFS模型
假设证明者与验证者具有多项式时间的计算能力。 证明者向验证者证明的不是I∈L成立与否,而是证明自己知道输
入I关于语言L的状况。由于在这个证明过程中,验证者相信这个 证明,但是又无法得知任何信息(包括I∈L是否成立)。 基于FFS模型的零知识证明是真正的零知识证明。这种交互零知 识证明通常被称为“知识(或身份)的零知识证明(zero knowledge proofs of knowledge or idຫໍສະໝຸດ Baiduntity)”。
对于输入I和语言L,判断I∈L是否成立。 由于这一过程向验证者泄露了1b信息(即I∈L),所以基于GMR
模型的零知识证明并非真正的零知识证明。这种交互零知识证明 通常被称为“成员(或定理)的零知识证明(zero knowledge proofs of membership or theorem)。
实质上是一种涉及两方或更多方的协议,即两方或更多方完成一 项任务所需采取的一系列步骤。
12
零知识“洞穴”
13
零知识“洞穴”
(1)V站在A处; (2)P走进洞穴,到达C处或D处; (3)当P消失在洞穴中时,V走到B处; (4)V呼叫P,要求P:(a)从左通道出来;或者(b)从右通道出
来; (5)P答应V的呼叫,并在有必要的情况下用咒语打开C与D之间的
即求解某个问题的一系列具体步骤(通常被理解为求解所需的通 用计算程序)。 算法总是针对具体问题而言的,求解一个问题的算法通常不 止一个。 当某个算法能够回答一个问题的任何实例时,我们称该算法 能够回答这个问题。 当一个问题至少有一个能够回答该问题的算法时,我们称该 问题可解(resolvable),否则称该问题不可解 (unresolvable)。
非交互零知识证明 :用一个短随机串代替交互过程并实现了零知 识证明 。 20世纪80年代末,Blum等人进一步提出 成员(或定理)的非交互零知识证明系统; 知识(或身份)的非交互零知识证明系统。
16
交互图灵机
交互图灵机指的是一个具有一条只读输入带、一条工作带、一条 随机带、一条只读通信带和一条只写通信带的图灵机。其中,随 机带上包含一条无限长的随机比特序列,并且只能从左向右读入。 “一个交互图灵机投一个硬币”指该图灵机从自己的随机带上读 取1bit。
第3章 密码学的复杂性理论基础
1
密码技术和算法复杂性
计算复杂性 :研究密码分析对于计算量的需求和密码分析的困难 程度 ,从而得出这些密码技术和算法在现有可行的条件下是否具 有足够的安全性: 算法复杂性; 问题复杂性。
密码协议、方案和体制的安全性证明:零知识证明理论。
2
问题(problem)
17
交互协议
即满足以下两个条件的有序图灵机(A,B),其中,A具有无限的 计算能力,B具有多项式时间的计算能力: (a)A与B共享同一输入带; (b)B的只写通信带是A的只读通信带,同时,B的只读通信带是 A的只写通信带。
18
GMR模型
假设证明者具有无限的计算能力,并且验证者具有多项式时间的 计算能力。
好处: 使算法复杂性度量与处理器的运行速度和指令运行时 间无关; 明确地揭示了输入的数据长度对算法复杂性的影响。
6
算法复杂性
算法的分类及其运行时间
类别 常数
多项 线性 式
二次
三次
指数
复杂性
O(1) O(n) O(n2 ) O(n3 ) O(2n )
运算次数 n 106
1
时间 1微妙
106
1秒
10
NP问题
意义:能够通过非确定性的多项式时间算法对许多对称密钥算法 和所有公钥算法进行攻击。
NP完全问题 :指NP中的任何一个问题都可以通过多项式时间转 化为该问题 。NP完全问题的全体被记为NPC 。
NP Hard问题?
11
零知识证明
证明者能够在不向验证者提供任何有用的信息的情况下,使验证 者相信某个论断是正确的。
4
算法复杂性
即度量该算法所需的计算能力 ,包括: 时间复杂性T(time complexity); 空间复杂性S(space complexity); 随机位数目; 信道带宽; 数据总量; ……
5
O
算法复杂性
计算复杂性的表示符号为“ O ”(称为“大O ”),表示计算 复杂性的数量级
9
问题分类
易处理的(tractable) :确定性图灵机上能够在多项式时间内得 到处理的问题。称易处理问题的全体为“多项式时间可解类”, 记为P。
非确定性图灵机上能够在多项式时间内得到处理的问题被称为 “非确定性多项式时间可解问题”,简称NP问题。NP问题的全体 被称为“非确定性多项式时间可解类”,记为NP。
1012 1018 10301,030
11.6天 32,000年 宇宙年龄的10301006
7
问题复杂性
研究问题的内在复杂性,即在图灵机上解决最难的问题实例所需 的最小时间和空间条件。
8
图灵机
实际可用的计算模型 。 确定性图灵机。 非确定性图灵机 :能够进行猜测。求解一个问题分两个阶段:
猜测阶段和验证阶段。
相关文档
最新文档