现代密码学第9章 密码协议
现代密码学之密码协议.

比特承诺
利用基于单向函数的比特承诺方案如下:
Alice和 Bob共同选定一个单向函数,如Hash函数 Alice生成两个随机数和承诺比特串,计算单向函 数值并将结果(哈希值)和其中一个随机数发送 给Bob。 当Alice向Bob出示消息时,她把承诺比特串与另 一个随机数一起发送给Bob。 Bob计算hash值,并与第②步收到的值做比较以检 验消息的有效性。
国家级精品课程
现代密码学
灾备技术国家工程实验室 北京邮电大学信息安全中心
上一讲内容回顾
有特殊性质的签名方案
盲签名 群签名与环签名 多重签名 聚合签名 代理签名 不可否认签名 一次签名 失败即停签名 „„
《现代密码学章主要内容
密码协议概念 比特承诺 公平抛币协议 安全多方计算 电子货币 电子选举 匿名协议
4
本章主要内容
密码协议概念 比特承诺 公平抛币协议 安全多方计算 电子货币 电子选举 匿名协议
5
密码协议概念
协议是一系列步骤,它包括两方或多方, 设计它的目的是要完成一项任务。一般包含 了三个方面的含义:
⑴ 协议需要二个或二个以上的主体参与。 ⑵ 参与者按照一定的次序交替地执行一系列的步 骤,在前一步尚未完成之前,后面的步骤不能被执 行。 ⑶ 参与者必须能够协同地完成某项任务,或达成某 种意向。
a 勒让德符号 p 1和
a q 1 ,若满足则计算
x 2 a(mod n) 的四个根:x1 , n x1 , x2 , n x2 ,其中 n x1 x 2 x ,x 2 。然后Alice随机猜测Bob选取的是 1 2 中的哪一个,并把猜测结果0或1发送给Bob(事先规 定大的用1表示,小的用0表示).
现代密码学之密码协议

百万富翁问题
假设A拥有i百万,B拥有j百万,且即1 ≤i,j ≤N。两人执行如下协议: ①A和B共同协商一种公钥加密体制。不妨设B的公钥和私钥分别为 KUB和KRB。 ②A随机选择一个大随机数x,用B的公钥加密c=EKU (x),然后将c-i发 B 送给B。 ③B首先计算N个数:yu=DKR (c-i+u),u=1,2,…,N。然后随机选择一 B 个大素数p,再计算N个数:zu=yumod p,u=1,2,…,N。接着验证对于 所有的0≤a≠b ≤N-1,是否都满足|za-zb|≥2?若不满足,则重新选择 大素数p重新验证。最后,B将以下的N+1个数串发送给 A:z1,z2,…,zj,zj+1+1,zj+2+1,…,zN+1和p。 ④设A收到N+1个数串m的第i个数是mi,若满足mi≡x mod p,则结 论是i≤j;否则i>j。 ⑤A将最终的结论告诉B。
比特承诺
利用基于单向函数的比特承诺方案如下:
Alice和 Bob共同选定一个单向函数,如Hash函数 Alice生成两个随机数和承诺比特串,计算单向函 数值并将结果(哈希值)和其中一个随机数发送 给Bob。 当Alice向Bob出示消息时,她把承诺比特串与另 一个随机数一起发送给Bob。 Bob计算hash值,并与第②步收到的值做比较以检 验消息的有效性。
本章主要内容
密码协议概念 比特承诺 公平抛币协议 安全多方计算 电子货币 电子选举 ቤተ መጻሕፍቲ ባይዱ匿名协议
20
安全多方计算
安全多方计算就是指在无可信第三方的情况下, 安全地计算一个约定的函数的值。 在一个安全多方计算协议中,参与方之间一般是 互不信任的,他们各自都有一个不想让其它任何 人了解的秘密数,但是他们要利用这些秘密数来 求得大家都信任的值或答案。确切地讲,安全多 方计算就是满足下述三个条件的密码协议:
_现代密码学与应用09_密钥建立协议

Kerberos认证协议
• 主要目标:实体认证 • 次要结果:共享密钥的建立
这个协议中Alice和Bob两人各与KDC共享一个秘密密钥。 Alice想产生一会话密钥用于与Bob通信。协议如下: KDC Alice
A, B EA(T,L,K,B), EB(T,L,K,A) EK(A,T), EB(T,L,K,A) EK(T+1)
2013-8-12
3
大纲
一、基本概念 二、基于对称加密的密钥传输 三、基于对称技术的密钥协商 四、基于公钥加密的密钥传输 五、基于非对称技术的密钥协商 六、秘密共享 七、会议密钥生成 八、密钥建立协议的分析
2013-8-12 4
一、基本概念
密钥建立协议
• 是这样的一个协议,它能够为两个或多个参与方 生成共享密钥,供随后的密码方案使用。 –生成的共享密钥,常称为或用于推导会话密钥 • 协议:是一系列步骤,它包括两方和多方,设 计它的目的是要完成一项任务。
Kerberos 密钥分配服务
2013-8-12
32
• Step1:与AS交互,获得TG ticket和一个与 TGS通信的会话密钥 • Step2:与TGS交互,获得与所期盼的服务 器通信的会话密钥和ticket • Step3 :访问所期盼的服务器
2013-8-12
33
Kerberos 总结
–被严格限制在一小段时间内使用,如一次单独的通信 会话
• 动机:
–针对密码分析攻击,限制可用的密文(在一个规定的密 钥下) –在会话密钥暴露的事件中,限制暴露的时间周期以及 数据量 –仅仅当实际需要时才建立密钥,从而避免长期存储大 量不同的密钥(如,当一个终端需要与众多的参与方进 行通信的情况下) –在通信会话或应用过程中建立独立性
现代密码学第1讲资料

2020/5/24
14
通信窜扰
攻击者对通信数据或通信过程进行干预, 对完整性进行攻击,窜改系统中数据的内 容,修正消息次序、时间(延时和重放)、 注入伪造消息。
2020/5/24
15
中断
对可用性进行攻击,破坏系统中的硬 件、硬盘、线路、文件系统等,使系统不 能正常工作,破坏信息和网络资源。
高能量电磁脉冲发射设备可以摧毁附近建筑物中的电子 器件,正在研究中的电子生物可以吞噬电子器件。
2020/5/24
10
系统穿透
未授权人对认证性(真实性Authenticity) 进行攻击,假冒合法人接入系统.
对文件进行窜改(窜改系统中数据内容,修正消息次序、时间、
延时和重放).
窃取机密信息. 非法使用资源等。
一般采取伪装、利用系统的薄弱环节、收 集情报等方式实现。
2020/5/24
11
违反授权原则
2020/5/24
4
第一章:引言
信息社会的发展与挑战 Internet上的对抗与威胁 网络安全的防护措施 OSI的参考模型 OSI的安全全业务 OSI的安全机制
2020/5/24
5
信息社会的发展与挑战
人类进入信息化社会时代。数字化、信息化、网络化正在 冲击、影响、改变我们社会生活的各个方面。从科学研究、生 产制造、产品流通、商业运作、超市购物、医疗服务、教育培 训、出版印刷、媒体传播,到文化生活、娱乐消闲、人际交往、 法律规范、伦理道德、乃至军事作战等等,无一不将受到信息 网络的挑战,无一不在信息技术这一最新高科技生产力的作用 下迅速变化。
Internet的安全已受到普遍的重视。
2020/5/24
9
Internet上的对抗与威胁
现代密码学知识点整理:

第一章 基本概念1. 密钥体制组成部分:明文空间,密文空间,密钥空间,加密算法,解密算法 2、一个好密钥体制至少应满足的两个条件:(1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易; (2)在不知解密密钥的情况下,不可能由密文c 推知明文 3、密码分析者攻击密码体制的主要方法: (1)穷举攻击 (解决方法:增大密钥量)(2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样) (3)解密变换攻击(解决方法:选用足够复杂的加密算法) 4、四种常见攻击(1)唯密文攻击:仅知道一些密文(2)已知明文攻击:知道一些密文和相应的明文(3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文 (4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文【注:①以上攻击都建立在已知算法的基础之上;②以上攻击器攻击强度依次增加;③密码体制的安全性取决于选用的密钥的安全性】第二章 古典密码(一)单表古典密码1、定义:明文字母对应的密文字母在密文中保持不变2、基本加密运算设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*=∈=-=q k Z k Z q Z q q q(1)加法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;对任意,密文为:q k m m E c k m od )()(+== ②密钥量:q (2)乘法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;*对任意,密文为:q km m E c k m od )(== ②解密算法:q c k c D m k mod )(1-==③密钥量:)(q ϕ (3)仿射密码 ①加密算法:κκ∈=∈∈∈===),(;},,|),{(;21*2121k k k X m Z k Z k k k Z Y X q q q 对任意;密文q m k k m E c k m od )()(21+==②解密算法:q k c k c D m k mod )()(112-==-③密钥量:)(q q ϕ (4)置换密码 ①加密算法:κσκ∈=∈==k X m Z Z Y X q q ;,;对任意上的全体置换的集合为,密文)()(m m E c k σ==②密钥量:!q③仿射密码是置换密码的特例 3.几种典型的单表古典密码体制 (1)Caeser 体制:密钥k=3 (2)标准字头密码体制: 4.单表古典密码的统计分析(二)多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同2.基本加密运算 (1)简单加法密码 ①加密算法:κκ∈=∈====),...,(,),...,(,,11n n n nq n q n n k k k X m m m Z Z Y X 对任意设,密文:),...,()(11n n k k m k m m E c ++==②密钥量:nq (2)简单乘法密码 ①密钥量:n q )(ϕ 1.简单仿射密码①密钥量:n n q q )(ϕ2.简单置换密码 ①密钥量:nq )!( (3)换位密码 ①密钥量:!n(4)广义置换密码①密钥量:)!(nq(5)广义仿射密码 ①密钥量:n n r q3.几种典型的多表古典密码体制 (1)Playfair 体制: ①密钥为一个5X5的矩阵②加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
《密码协议详解》课件

SSH服务器端使用私钥解密数据,确保数据传输的安全性。
SSH协议还支持其他安全功能,如身份验证、数据完整性 检查等。
IPSec协议工作原理
IPSec协议是 一种安全协议, 用于保护网络 通信的安全。
IPSec协议包 括两个主要部 分:认证头和
解密阶段:接 收方使用密钥 对数据进行解
密
完整性验证: 验证数据的完 整性和正确性
关闭阶段:关 闭连接,释放
资源
SSH协议工作原理
SSH(Secure Shell)是一种加密的网络协议,用于远程 登录和传输数据。
SSH协议使用公钥加密技术,确保数据传输的安全性。
SSH协议包括两个部分:SSH客户端和服务器端。
安全性
IPSec协议安全性分析
01 协 议 概 述 : I P S e c 协 议 是 一 种 用 于 保 护 I P 通 信 安 全
的协议,包括AH和ESP两种模式。
02 安 全 性 分 析 : I P S e c 协 议 通 过 加 密 、 认 证 和 密 钥 管
理等机制来保证通信的安全性。
03 加 密 机 制 : I P S e c 协 议 使 用 对 称 加 密 算 法 , 如 A E S 、
密码协议作用
确保数据传输的安全性 防止数据被非法访问和篡改 保护用户隐私和数据机密性 提高网络通信的可靠性和稳定性
03
常见密码协议介绍
SSL/TLS协议
单击此处添加标题
概述:SSL/TLS协议是安全套接层(Secure Sockets Layer)和传输层安全 (Transpor t Layer Security )协议的简称,用于在客户端和服务器之间建立安全连 接。
现代密码学 学习心得

混合离散对数及安全认证摘要:近二十年来,电子认证成为一个重要的研究领域。
其第一个应用就是对数字文档进行数字签名,其后Chaum希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。
对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。
虽然其具有很高的安全性,却导致高负荷运算。
最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。
本文研究混合系数的离散对数问题,也即信息不可识别性。
我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。
我们也降低了对Schnorr方案变形的实际安全参数的Girault的证明的花销。
最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。
1.概述在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。
然而,效率一直就是一个难以实现的属性。
即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。
其原因就是零知识协议的广泛应用。
身份识别:关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。
然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。
最近,poupard和stern提出了一个比较高效的方案,其安全性等价于离散对数问题。
然而,其约减的代价太高,使得其不适用于现实中的问题。
几年以前,fiege和shamir就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。
说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。
具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。
现代密码学第9章:身份认证

称为单向认证。
11
2.1 相互认证的实现
A、B两个用户在建立共享密钥时需要考虑的核心问题 是保密性和实时性。为了防止会话密钥的伪造或泄露,会 话密钥在通信双方之间交换时应为密文形式,所以通信双 方事先就应有密钥或公开钥。第2个问题实时性则对防止消 息的重放攻击极为重要,实现实时性的一种方法是对交换 的每一条消息都加上一个序列号,一个新消息仅当它有正der协议改进一
以上改进还存在以下问题: 方案主要依 赖网络中各方时钟的同步,这种同步可能会 由于系统故障或计时误差而被破坏。
如果发送方的时钟超前于接收方的时钟, 敌手就可截获发送方发出的消息,等待消息 中时戳接近于接收方的时钟时,再重发这个 消息。这种攻击称为等待重放攻击。
进而,敌手就可冒充A使用经认证过的 会话密钥向B发送假消息。
22
Needham-Schroeder协议改进一
(2) Needham-Schroeder协议的改进方案 之一
为克服以上弱点,可在第②步和第③步加上 一时戳,改进后的协议如下:
① A→KDC:IDA‖IDB ② KDC→A:EKA[KS‖IDB‖T‖EKB[KS‖IDA‖T]] ③ A→B:EKB[KS‖IDA‖T] ④ B→A:EKS[N1] ⑤ A→B:EKS[f(N1)]
但这种方法的困难性是要求每个用户分别记录与其他 每一用户交换的消息的序列号,从而增加了用户的负担, 所以序列号方法一般不用于认证和密钥交换。
12
保证消息的实时性
保证消息的实时性常用以下两种方法: 时戳 如果A收到的消息包括一时戳,且在 A看来这一时戳充分接近自己的当前时刻, A才认为收到的消息是新的并接受之。这种 方案要求所有各方的时钟是同步的。 询问-应答 用户A向B发出一个一次性随机 数作为询问,如果收到B发来的消息(应答) 也包含一正确的一次性随机数,A就认为B发 来的消息是新的并接受之。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
确认,使用户U和V确信他们彼此得到了相同的会话密钥K。
使用时间戳T和有效期L的目的是为了防止主动的对手的
Kerboros 密钥 分配协议的缺点是网络中所有用户的时 钟必须同步,因为当前时刻用于确定一个给定的会话密钥
是否有效。实际应用中,严格保持时钟同步是困难的,因
此允许一定的时钟误差存在。
10/37
如图
32/37
零知识洞穴
知道咒语的人才能打开门
33/37
P 向V 证明自己知道咒语的协议 ① V 停留在位置A; ② P 从位置A 走到位置B, 然后随机选择从左通道走到位 置C 或从右通道走到位置D; ③ P 消失后, V 走到位置B; ④ V 命令P 从位置C 经左通道或从位置D 经右通道返回位 置B; ⑤ P 服从V 的命令, 必要时P 可以利用咒语打开位置C 和 位置D 之间的门; ⑥ P 和V 重复执行第1 步至第5 步n 次.
26/37
Guillou-Quisquater协议
27/37
28/37
29/37
30/37
安全性:
任何知道u的人都可成功冒充A。但只 有A知道并且没有在协议执行过程中泄露,而 从 v=(u-1)b mod n 求解u相当于破译RSA公钥 密码体制。因此 Guillou - Quisquater身份识别 方案的安全性是基于RSA公钥密码体制的安 全性。
11/37
Di±e-Hellman 密钥交换协议是一个典型的密钥协商协议 ,描 述如下:
设p 是一个大素数, α ∈Zp 是一个本原元. p 和α 公开
① 用户U 随机选取aU,1 ≤ aU≤p − 2 ② 用户U 计算 并将结果传送给用户V
③ 用户V 随机选取aV,1≤aV≤p − 2 ④用户V 计算 ⑤用户U 计算 用户V 计算 并将结果传送给用户U
12/37
13/37
14/37
15/37
16/37
17/37
9. 2 秘密分享
Shamir 的(t, w) 门限方案
主要内容
18/37
9. 2. 1 Shamir 的(t,w) 门限方案
share , 然后秘
(t,n) 密钥分享方案。
A . Shamir于1976年给出。是一种特殊的
定义9.1 设t 和w 为正整数,t ≤ w。一个(t;w) 门限方案是一 种在w 个参与者中分享一个密钥k 的方法, 使得任意t 个参 与者在给出他们的秘密份额后可以恢复密钥k, 而任意t -1 个参与者在给出他们的秘密份额后不能恢复密钥k。
9. 1. 2 密钥协商
Diffie-Hellman密钥交换协议是Whitfield Diffie和 Martin Hellman在1976年提出的一个典型的密钥协商协议。 通信双方可以在一个公开的信道上通过相互传送一些消息来 共同建立一个共享的秘密密钥。
Diffie-Hellman 密钥交换协议容易受到主动的对手的中间入侵 攻击假设W 是一个主动的对手,其中间入侵攻击如上图所示
9. 2. 2 (t,w) 门限方案中的密钥重建
可以写成矩阵的形式为
21/37
设系数矩阵为A。显然, A 是一个Vandermonde 矩阵,系数 矩阵A 的行列式为
因为
互不相同, 所以
线性方程组有唯一解,这说明任意t 个参与者能够重建密钥k。
而任t - 1 个参与者得不到密钥k的任何信息
22/37
第9章 密码协议
主讲: 刘小跃
1/37
主要内容
密钥分配与密钥协商
秘密分享. 身份识别 零知识证明
2/37
基本概念
协议(protocol): 两个或两个以上的参与者为完成某项任务所采取 1 协议的每个参与者都必须了解协议,事先知道所要完成的所 有步骤; 2 3 协议必须是清楚的,即每一步骤必须明确定义,不会引起误 4 协议必须是完整的,对每种可能的情况都要规定具体的操作 。 (cryptographic protocol) 应用密码技术构造的协议。其目的是在完成某项任务的同时, 不仅能够发现或防止协议参与者彼此之间的欺骗行为,还能避免 敏感信息被窃听者窃取或篡改。
Kerboros 密钥分配协议中消息的传送
6/37
Kerboros密钥分配协议描述
1 用户U向TA 请求一个会话密钥用于与用户V进行
2
TA随机选取一个会话密钥K,并产生一个时戳T
以及有效期L。时戳T表示TA接到请求的时间,有效
期L表示密钥K
3 TA计算 m1=EKU( k, ID(V),T,L) m2=EKV( k, ID(U),T,L)
用于证明和识别用户的合法身份。至少满足两个要 1)A能向B证明自己的确是A; 2)当A 向B证明了自己的身份后,B得不到任何用 于模仿A的有用的信息。B无法向第三者声称自己是 A。 3)Guillou-Quisquater 4) 此方案需要一个可信当局(trusted authority),简 称TA。TA首先选取两个大素数 p,q并计算,p,q保密 ,而n公开。再选取一个大素数b作为安全参数。用 户A需要TA颁发一个证书,包含A的身份信息,是
3
1 2 个有效的共享密钥
5/37
9. 1. 1 密钥分配
(trusted authority):在利用密钥分配协议来建 立用户之间的共享密钥时,需要一个可信当局,简称TA。 TA的作用负责验证用户的身份并协助要进行保密的双方建 立一个会话密钥,譬如为用户选取并传送密钥等。
Kerboros 密钥分配协议是一种在线式密钥分配协议 (on-line key distributionprotocol)。所谓在线(on-line) 指的 是, 当两个用户U 和V 想要进行保密通信时, 就根据协议产 生一个新的密钥, 而不是事先确定一个密钥。
31/37
9. 4 零知识证明
零知识证明(zero-kno己掌握 这些秘密信息。V是检验者,V验证P是否真的掌握 这些秘密信息。P设法使V相信自己掌握这些秘密 信息的同时又不向V J.J.Quisquater和L.C.Guillou
23/37
24/37
9. 2. 3 利用Lagrange 插值公式重建(t, w) 门限方案中的密钥
过点 可以唯一地确定一个次 数至多为t-1 的多项式。 根据Lagrange 插值公式
容易验证 因为密钥k = a(0), 所以
令
则
25/37
9. 3
identification scheme
34/37
35/37
36/37
4 V验证在置换ρ 下,图 Gi 是否能变为图H。 5 P和V重复第1步至第4步n次。如果每次图 Gi都 能在置换ρ下变为图H,则V相信P能证明 G1和 G2 是同构的。
37/37
38/37
7/37
TA将 m1和 m2传送给用户。
4
用户U利用解密函数DKU对 进行解密获得K,T,L ),
以及ID(V)。然后用户U计算m3= Ek(ID(U),T
用户U将m2 和 m3传送给用户V。
5 用户V利用解密函数 Dkv对 进行解密获得 K,T,L以及ID(U)。然后用户V利用解密函数 Dk对m3 进行解密获得T和ID(U)。用户V分别检验从 m2和 m3 解密得到的T的两个值和ID(U)的两个值是否一样。
V计算m4= Ek(T+1),用户V将 m4
传送给用户U。
8/37
6)用户U利用解密函数Dk对m4 T+1。 在 Kerboros 密钥分配协议中,用户U和V以及TA之 间在信道上传送的消息可以图示说明。
9/37
在Ke rboros密钥分配协议中传送的各种消息的功能 不同,m1和m2提供了会话密钥K的保密性;m3和m4用于密钥
19/37
设p 是一个素数, p > w + 1。 Shamir 的(t,w) 门限方案描述如下: ① D 从Zp 中选取w 个不同的非零元 D 将 分配给参与者 可以公开。 ② 如果D 要让参与者 分享一个密钥 , 则D 秘密地随机选取t -1 个元素 ③对 D 计算 其中
④D将
秘密地分配给
20/37
3/37
9. 1 密钥分配与密钥协商
密钥分配
密钥协商
(key distribution):
(key agreement): 以在一个公开的信道上通过相互传送一些消息来共同建立一个共享的 秘密密钥。
4/37
攻击
由于密钥分配和密钥协商都是在一个公开信道上进行,所
1 2 窃取通信双方在信道上传送的消息,然后在以后的