武汉大学密码学课件-张焕国教授
武汉大学《密码学》课件第六讲 工作模式

M1 , M2 , … , Mn-1 , Mn 是 明 文 , 其 中 M1 , M2,…,Mn-1是标准块,Mn 的可能是标准块,也 可能是短块。设其长度等于u,u小于等于分组长 度。
29
二、分组密码的工作模式
6、CTR(Counter Mode Encryption)模式
z 2000年美国学者J0hn Black和Phllip Rogaway提出 X CBC模式,作为CBC模式的扩展,被美国政府 纳作为标准。
z X CBC主要是解决了CBC要求明文数据的长度是 码分组长度的整数倍的限制,可以处理任意长的数 据。如果用分组密码是安全的,则密钥序列就是安 全的。
23
二、分组密码的工作模式
z X CBC模式的主要缺点: 有填充,不适合文件和数据库加密。
使用3个密钥,需要传输填充长度,控制复杂。
28
二、分组密码的工作模式
6、CTR(Counter Mode Encryption)模式 z CTR模式是Diffie和Hellman于1979年提出的,在征
集AES工作模式的活动中由California大学的Phillip Rogaway等人的推荐。
CTR模式的优点是安全、高效、可并行、适合任意长度 的数据;
Oi的计算可预处理高速进行; 由于采用了摸2加实现加密,是对合运算,解密运算与加
密运算相同。 适合随机存储数据的解密。
z CTR模式的缺点:
没有错误传播,因此不易确保数据完整性。
33
三、短块加密
z分组密码一次只能对一个固定长度的明文
(密文)块进行加(解)密。
z称长度小于分组长度的数据块为短块。 z必须采用合适的技术解决短块加密问题。 z短块处理技术:
第十四讲 密码协议 武汉大学密码学

5
一、密码协议的概念
1. 协议的概念
所谓协议(Protocol),就是指两个或两个以 的参与者为了完成某一特定任务而采取的一系 列执行步骤。 这里包含了三层含意:
① 协议是一个有序的执行过程。每一步骤都必须执行, 且执行是依序进行的。随意增加和减少执行步骤或改 步骤的执行顺序,都是对协议的篡改或攻击。 ② 协议至少要有两个参与者。虽然一个人可以通过执行 系列的步骤来完成某种任务,但是它不构成协议。 ③ 协议的执行必须能完成某种任务。
① 密钥建立协议
网络通信系统中的密钥建立协议,用于在通信的各方之间 建立会话密钥。会话密钥是用于保护一次会话通信的密 钥。协议中的密码算法可以采用对称密码,也可以采用公 钥密码。
② 认证协议
网络通信系统中的认证协议主要包括身份认证协议,通信 站点认证协议,报文认证协议等。
14
一、密码协议的概念
4. 协议分类
③ 身份认证和密钥建立协议
把身份认证和密钥建立结合起来,形成了认证和密钥建立 协议。首先进行通信实体的身份认证,然后建立会话密 钥,随后通信实体就可以进行保密通信了。这类协议是保 密通信中最常用的一类协议。
④ 电子商务协议
在电子商务中通过协议进行电子交易和电子支付,电子商 务除了关心秘密性、完整性外,还十分关心交易的公平 性。
2
目录
第十讲 第十一讲 第十二讲 第十三讲 第十四讲 第十五讲 第十六讲 第十七讲 第十八讲 公钥密码基础 中国商用公钥密码SM2加密算法 数字签名基础 中国商用公钥密码SM2签名算法 密码协议 认证 密钥管理:对称密码密钥管理 密钥管理:公钥密码密钥管理 复习
3
教材与主要参考书
武汉大学密码学课件-张焕国教授

二、分组密码的工作模式
2、密文反馈链接模式(CBC)
①明密文链接方式(Plaintext and Ciphertext Block Chaining)
• 设 明文 M=(M1 ,M2 ,…,Mn ),
密钥为K,
密文 C = ( C1 ,C2 ,…,Cn ),
其中 Ci=
E(Mi ⊕Z ,K), E(Mi ⊕Mi-1 ⊕Ci-1,K),
二、分组密码的工作模式
5、X CBC (Extended Cipher Block
Chaining Encryption)模式
• X CBC模式的主要优点:
• 可以处理任意长度的数据。 • 适于计算产生检测数据完整性的消息认证码
MAC。
• X CBC模式的主要缺点:
• 有填充,不适合文件和数据库加密。 • 使用3个密钥,需要传填充长度,复杂。
Cn =
E(Mn ⊕Cn -1 ⊕K2,K1), 当Mn 不是短块;
E(PAD(Mn)⊕Cn -1 ⊕K3,K1),当Mn是短块。
二、分组密码的工作模式
5、X CBC (Extended Cipher Block
Chaining Encryption)模式
• X CBC与CBC区别:
♣CBC要求最后一个数据块是标准块,不是短 块。 ♣ X CBC既允许最后一个数据块是标准块,也 允许是短块。 ♣最后一个数据块的加密方法与 CBC不同。 ♣ 因为有填充,需要传输填充长度信息。
一、计算机数据的特殊性
1、存在明显的数据模式:
• 根据明文相同、密钥相同,则密文相同的道 理,这些固有的数据模式将在密文中表现出 来。
• 掩盖明文数据模式的方法: 预处理技术(随机掩盖) 链接技术
武汉大学密码学课件-张焕国教授

密码学(第四讲)中国商用密码SMS4张焕国武汉大学计算机学院目录1、密码学密码学的基本概念的基本概念2、古典、古典密码密码3、数据加密标准(、数据加密标准(DES DES))4、高级高级数据加密标准(数据加密标准(AES AES))5、中国商用密码(中国商用密码(SMS4SMS4))6、分组密码的应用技术7、序列密码8、习题课:复习对称密码9、公开密钥密码(、公开密钥密码(11)目录公开密钥密码(22)1010、11、数字签名(1)12、数字签名(2)13、、HASH函数131414、15、15PKI技术1616、、PKI17、习题课:复习公钥密码18、总复习一、我国的密码分级:①核心密码:用于保护党、政、军的核心机密。
②普通密码:用于保护国家和事企业单位的低于核心机密而高于商业机密的密码信息。
③商用密码:用于保护国家和事企业单位的非机密的敏感信息。
④个人密码:用于保护个人的隐私信息。
前三种密码均由国家密码管理局统一管理。
一、我国的密码政策二、我国商的业密码政策①统一领导:国家密码管理局统一领导。
②集中管理:国家密码管理局办公室集中管理。
③定点研制:研制只允许定点单位进行。
④专控经营:经许可的单位才能经营。
⑤满足使用:国内各单位都可申请使用。
一、我国的密码政策一、我国商用密码概况⑴密码的公开设计原则密码的安全应仅依赖于对密钥的保密,不依赖于对算法的保密。
⑵公开设计原则并不要求使用时公开所有的密码算法核心密码不能公布算法;核心密码的设计也要遵循公开设计原则。
⑶商用密码应当公开算法①美国DES 开创了公开商用密码算法的先例;②美国经历DES (公开)→EES (保密)→AES (公开)。
③欧洲也公布③欧洲也公布商用商用密码算法密码算法二、我国商用密码SMS4⑷我国的商用密码概况●我国在密码技术方面具有优势:密码理论、密码分析●长期以来不公开密码算法,只提供密码芯片少数专家设计,难免有疏漏;难于标准化,不利于推广应用。
[整理版]武汉大学密码学课件-张焕国传授
![[整理版]武汉大学密码学课件-张焕国传授](https://img.taocdn.com/s3/m/d9b142c732d4b14e852458fb770bf78a65293a1f.png)
密码学(第八讲)复习对称密码学张焕国武汉大学计算机学院目录2密码3)4、高级)5)67、8、习题课:复习对称密码91)目录1010、11、1)122)13、函数13、、认证1414、15、15、、PKI技术16、161718/综合实验要求②偶数号的题目中的一部分由辅导老师在作业课上讲解,一部分点学生上台解答。
③第一讲复习题②密码的基本思想是什么?③密码分析有哪些类型?④什么是密码分析?什么是密码分析?密码分析有哪些类型?⑤⑥计算机的程序文件和数据库文件加密容易受到什么攻击?为什么?第二讲复习题①214365 ,k1 2 3 4 5 63 5 1 64 2P =第二讲复习题对明文④以英文为例,用加法密码,取密钥常数k= 7,k= 7,对明文INFORMATION SECURITY,进行加密,求出密文。
⑤p的i和,若p(i)=j,p(j)=i 。
⑥⑦第三讲复习题统:•具有文件加密和解密功能;••采用密文反馈链接和密文挪用短块处理技术;•具有较好的人机界面。
第三讲复习题①分析DES的弱密钥和半弱密钥。
②分析DES的互补对称性。
③证明DES的可逆性。
④证明DES的对合性。
⑤画出3密钥3DES第四讲复习题AES作为加密算法开发出文件加密软件系统:•具有文件加密和解密功能;••采用密文反馈链接和密文挪用短块处理技术;•具有较好的人机界面第四讲复习题1、对比、对比AES AES和和DES DES有什么不同?有什么不同?2、AES AES的解密算法与加密算法有什么不同?的解密算法与加密算法有什么不同?3、在、在GF GF((28)中,中,0101的逆元素是什么?的逆元素是什么?4、对于字节、对于字节““0000””和“0101””计算计算S S 盒的输出。
5、证明、证明c(x)c(x)与与d(x)d(x)互逆,模互逆,模x x 4+1+1。
6、证明证明::x i mod (x 4+1)=x i mod 4第四讲复习题①复习有限域理论②证明:C(x)=03x3+01x2+01x+02D(x)=0Bx3+0Dx2+09x+0E互逆。
武汉大学《密码学》课件第十三讲 HASH函数

与AES配套 增强安全性
z 与SHA-1比较:
结构相同 逻辑函数相同 摸算术相同
27
三、SHA-2 HASH函数
1、 SHA-2的概况
SHA参数比较
Hash码长度 消息长度 分组长度 字长度 迭代步骤数 安全性
SHA-1 160 <264 512 32 80 80
SHA-256 256 <264 512 32 64 128
SHA-384 384 <2128 1024 64 80 192
SHA-512 512 <2128 1024 64 80 256
注:1、所有的长度以比特为单位。
2、安全性是指对输出长度为n比特hash函数的生日攻击产生碰撞的工作量大约为2n/2
。
28
三、SHA-2 HASH函数
2、 SHA-512
注意:在① 、②步后,数据长度为1024的N倍。 将数据分成N块,每块1024位,进行迭代处理。
30
三、SHA-2 HASH函数
L位 消息
N×1024位
L 10…0 消息长度
1024位 M1
1024位 M2
1024位 MN
512位 IV F
+ H1 F
+ H2
z F块处理 z +为摸264加
⑹压缩函数
z 每轮对A,B,C,D,E进行20次迭代,四轮共80次迭代。 t为迭代次数编号,所以 0≤t≤79 。
z 其中,ft(B,C,D) = 第t步使用的基本逻辑函数; <<s 表示 32位的变量循环左移s位 W t表示从当前分组BLK导出的32位的字 K t表示加法常量,共使用4个不同的加法常量 +为 模232加法
第十六讲 对称密码密钥管理 武汉大学 密码学

三、传统密码的密钥管理
2、密钥产生
②二级密钥的产生
z 可以象产生主密钥那样产生真随机的二级密钥。 z 在主密钥产生后,也可借助于主密钥和一个强的密码算法来 产生二级密钥。 z 设RN1和RN2是真随机数,RN3是随机数,然后分别以它们为 密钥对一个序数进行四层加密,产生出二级密钥KN 。 KN=E(E(E(E(i,RN1),RN2),RN1),RN3) z 要想根据序数 i 预测出密钥 KN ,必须同时知道两个真随机数 RN1,RN2和一个随机数RN3,这是极困难的。
三、传统密码的密钥管理
2、密钥分配 zDiffie-Hellman密钥分配协议
安全性 x x 攻击一:截获 y A = α A mod p 和 y B = α B mod p ,求出私钥xA 和xB。但需要求解离散对数问题,这是困难的。 攻击二:通过截获的yA和yB直接求出密钥 K = α x A xB mod p , 问题的困难性尚未被证明, 人们普遍认为它是困难的 , 并把这一观点称为Diffie-Hellman假设。 中间人攻击:攻击者冒充A 与B联系获得一个共享密钥、 冒充B与A联系获得一个共享密钥,从而获得A和B之间的 信息。攻击性像位于A 和 B中间的一个“二传手”,所以称 为中间人攻击。 32
一、密钥管理的概念
z 密钥管理是一个很困难的问题。 z 历史表明,从密钥管理环节窃取秘密,要比 单纯从破译密码算法窃取秘密所花的代价小 得多。 z 在密码算法确定之后,密钥管理就成为密码 应用中最重要的问题!
7
二、密钥管理的原则
z 区分密钥管理的策略和机制
策略是密钥管理系统的高级指导。策略重在原则指导,而 不重在具体实现。策略通常是原则的、简单明确的。 机制是实现和执行策略的技术和方法。机制是具体的、复 杂繁琐的。 没有好的管理策略,再好的机制也不能确保密钥的安全。 相反,没有好的机制,再好的策略也没有实际意义。
武汉大学《密码学》课件第十四讲 认证

26
四、报文认证
3、报文内容的认证
z 报文内容认证使接收方能够确认报文内容的真实 性,这可以通过验证消息认证码 的正确性来实现。
z 消息认证码MAC(Message Authentication Code) 是消息内容和密钥的公开函数,其输出是固定长度 的短数据块:
MAC=C(M,K)
27
四、报文认证
12
二、身份认证
1. 口令
z 利用数字签名方法验证口令 : ④ 份当有且效仅。当IDi= IDi*, Ni*=Ti+1时系统才确认用户身 ⑤ 它安不全存性储分于析系:统口中令,是所用以户任的何保人密都的不解可密能密得钥K到d;i ,
由虽于然K从e终i存端储到于系系统统的中通,道但上是传由输K的ei不是能签推名出数K据di ;而 播K不Tid,攻是i;且K击由d仅。i本于当但身系N必,统i*须=所为T对以每i+T1攻用i是实击户才施者设接保也置收护不了访。能已问通访,过问所截次以取数可获标以得志抗重
2
内容简介
第十讲 公钥密码(2) 第十一讲 数字签名(1) 第十二讲 数字签名(2) 第十三讲 HASH函数 第十四讲 认证 第十五讲 密码协议 第十六讲 密钥管理(1) 第十七讲 密钥管理(2) 第十八讲 复习
3
教材与主要参考书
教材
参考书
4
一、认证的概念
z 认证(Authentication)又称鉴别,确认,它是证实 某人某事是否名符其实或是否有效的一个过程。
① 采用传统密码 z 设A为发送方,B为接收方。A和B共享保密的密
钥KS。A的标识为IDA,报文为M,在报文中增加 标识IDA ,那么B认证A的过程如下:
A→B:< IDA ,E(IDA||M ,KS) > z B收到报文后用KS解密,若解密所得的发送方标
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以其为连接多项式的线性移位寄存器的输出序列
为100110101111000··· ,它是周期为2 4-1=15的m
序列。
0001 0101
0010 1011
0100 0111
g0=1 g1=1 g2=0
S0
S1
S2
g3=0 S3
g4=1 1001 1111 0011 1110 0110 1100
1101 1000
18、总复习/检查:综合实验
一、序列密码的基本概念
①明文、密文、密钥以位(字符)为单位加
解密;
②模型
种子密钥
明文: m1,m2,…
密钥序列 产生器
密钥序列: k1,k2,… 密文: c1,c2,…
Ci = mi⊕ki
一、序列密码的基本概念
③人们用序列密码模仿 “一次一密 ” 密码; ④加密运算最简单,而且是对合运算; ⑤安全取决于密钥序列产生算法; ⑥理论和技术都十分成熟; ⑦核心密码的主流密码。
• 一般模型
F(s0,s1,…,sn-1)
输出
S0 S1
Sn-2 Sn-1
二、线性移位寄存器序列密码
1、线性移位寄存器(Linear Sift Registor) • 图中s0 ,s1 ,...,sn-1 组成左移移位寄存器,
并称每一时刻移位寄存器的取值为一个状态。
• 移位寄存器的输出同时要送入sn-1,其值要通过函
1010
二、线性移位寄存器序列密码
1、线性移位寄存器
• m序列具有良好的随机性:
游程:称序列中连续的i个1为长度等于i 的1游程,同样,称序列中连续的i个0为 长度等于i的0游程。 ①在一个周期内,0和 1出现的次数接近 相等,即0出现的次数为2 n - 1 -1,1出现 的次数为2 n-1 ;
二、线性移位寄存器序列密码
数 F(s0 ,s1 ,...,sn-1 )计算产生。
• 称函数 F(s0 ,s1 ,...,sn-1 )为反馈函数。 • 如果反馈函数 F(s0 ,s1 ,...,sn-1 )是
s0 ,s1 ,...,sn-1 的线性函数,则称为线性移位寄 存器,否则称为非线性移位寄存器。
二、线性移位寄存器序列密码
其中
K= k1 ,k2,...,k2n,
ki= mi⊕ci = mi ⊕(mi⊕ki)。
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
由此可以推出线性移位寄存器连续 n,k3 ,...,kn+1)T
…
作矩阵
Sn+1 =(kn+1,kn+2 ,...,k2n)T
密码学
(第七讲 )
序列密码
张焕国
武汉大学计算机学院
目录
1、密码学的基本概念 2、古典密码 3、数据加密标准(DES) 4、高级数据加密标准(AES) 5、中国商用密码(SMS4) 6、分组密码的应用技术
7、序列密码
8、习题课:复习对称密码 9、公开密钥密码(1)
目录
10、公开密钥密码(2) 11、数字签名(1) 12、数字签名(2) 13、HASH函数 14、认证 15、密钥管理 16、PKI技术 17、习题课:复习公钥密码
• 只要选择合适的连接多项式便可使线性移位寄存
器的输出序列周期达到最大值2n –1,并称此时的 输出序列为最大长度线性移位寄存器输出序列,
简称为m序列。
二、线性移位寄存器序列密码
1、线性移位寄存器
• 仅当连接多项式g(x)为本原多项式时,其线性移
位寄存器的输出序列为m序列。
• 设f(x)为GF(2)上的多项式,使f(x)| x p-1的
H=
...
S’=
S=
0 0 0 ...1
g0 g1...gn-1
s’n-1
sn-1
矩阵H称为连接多项式的伴侣矩阵。
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
进一步假设攻击者知道了一段长2n位的明密文对, 即已知:
M= m1,m2 ,...,m2n C= c1,c2 ,...,c2n 于是可求出一段长2n位的密钥序列,
因为m序列的线性移位寄存器连续 n个状态向 量彼此线性无关,因此X矩阵为满秩矩阵,故存
在逆矩阵X -1,于是 H=YX -1 mod 2
求 出H矩 阵, 便 确定出 连接多 项式 g(x), 从而 完全确定线性移位寄存器的结构。
例:m序列 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 连续4个状态 1001,0011,0110,1101线性无关
X =(S1,S2 ,...,Sn)T Y =(S2,S3 ,...,Sn+1)T
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
根据S’=HS mod 2,有 S2=HS1 S3=HS2 ... Sn+1=HSn
于是, Y=HX mod 2
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
设密文错误 c = c1, c2, c3, … cn-1, cn ( c2 错) ⊕ k= k1, k2, k3, … kn-1, kn (密钥正确) m=m1,×, m3, … mn-1, mn (仅 m2 错)
一、序列密码的基本概念
②自同步序列密码( Self- Synchronous Stream Cipher)
一、序列密码的基本概念
1、序列密码的分类
①同步序列密码(Synchronous Stream Cipher)
• 密钥序列产生算法与明文无关,所产生的密钥
序列也与明文无关。
• 在通信过程中,通信的双方必须保持精确的同
步,收方才能正确解密,如果失步收方将不能 正确解密。例如,如果通信中丢失或增加了一 个密文字符,则收方的解密将一直错误。
最小正整数p称为f(x)的周期。如果f(x)的次数为 n,且其周期为2 n-1,则称f(x)为本原多项式。
• 已经证明,对于任意的正整数n,至少存在一个n
次本原多项式。而且有有效的产生算法。
二、线性移位寄存器序列密码
1、线性移位寄存器
• 举例:设g(x)=x4 +x +1, g(x)为本原多项式,
移位寄存器序列为M序列。
• M序列的0,1分布和游分布是均匀的,而
且周期最大。
三、非线性序列密码
①非线性移位寄存器序列
• 非线性移位寄存器反馈函数的数量极大
GF(2)上的n级移位寄存器共有 2 n个状 态,因此共有 22n种不同的反馈函数,其中 线性反馈函数只有 2n-1种,其余均为非线 性。
二、线性移位寄存器序列密码
1、线性移位寄存器
• 形式地,用xi与si 相对应,则根据反馈函数
可导出一个文字x的多项式: g(x)= gn x n +gn-1 x n-1 +,...,+g1x +g0
• 称g(x) 为线性移位寄存器的连接多项式。
• 与图对照可知,gn=g0 =1。否则,若gn=0则
2、线性移位寄存器序列密码
• m序列具有良好的随机性; • 50年代开始用作密钥序列,并用于军用。 • 60年代发现其是不安全的。
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
设m序列线性移位寄存器的状态为
S=(s0,s1 ,...,sn-1)T, 下一状态为S’=(s’0,s’1 ,...,s’n-1)T ,其中
输出
S0 S1
• 例2 增加反馈
Sn-2 Sn-1
输入
移位 脉冲
输出
S0 S1
Sn-2 Sn-1
输入
移位 脉冲
二、线性移位寄存器序列密码
1、线性移位寄存器(Linear Sift Registor)
• 例3 增加运算
⊕
输出
S0 S1
Sn-2 Sn-1
输入
移位 脉冲
二、线性移位寄存器序列密码
1、线性移位寄存器(Linear Sift Registor)
• 密钥序列产生算法与明文(密文)相关,则所
产生的密钥序列与明文(密文)相关。
• 设密钥序列产生器具有 n位存储,则加密时一
位密文错误将影响后面连续 n个密文错误。在 此之后恢复正确。
• 解密时一位密文错误也将影响后面连续 n个明
文错。在此之后恢复正确。
• 加解密会造成错误传播。在错误过去之后恢复
正确。
二、线性移位寄存器序列密码
1、线性移位寄存器 ④自相关函数
1 ,τ=0
R(τ)=
-1/P ,0<τ≤P-1
m序列的自相关函数达到最佳值。
例: 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 001101011110001
A=7 D=8 R(τ ) = -1/15
二、线性移位寄存器序列密码
一、序列密码的基本概念
①同步序列密码
种子密钥k
种子密钥k
密钥序列 产生算法
密钥序列 产生算法
m1,m2, …
k1,k2,… c1,c2,…
Ci = mi⊕ki
k1,k2,… m1,m2,…
设密文失步 c = c1, c3, c4, … cn-1, cn ( c2 丢失)
⊕ k= k1, k2, k3, … kn-1, kn (密钥正确)
s’0 = s1 s’1 = s2
...
s’n-2= sn-1 s’n-1= g0s0+g1s1+,...,+gn-1sn-1
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
写成矩阵形式:S’=HS mod 2
0 1 0 ...0 0 0 1 ...0 0 0 0 ...0