第2章密码学基础8课时

上传人:公**** 文档编号:570713128 上传时间:2024-08-06 格式:PPT 页数:224 大小:5.21MB
返回 下载 相关 举报
第2章密码学基础8课时_第1页
第1页 / 共224页
第2章密码学基础8课时_第2页
第2页 / 共224页
第2章密码学基础8课时_第3页
第3页 / 共224页
第2章密码学基础8课时_第4页
第4页 / 共224页
第2章密码学基础8课时_第5页
第5页 / 共224页
点击查看更多>>
资源描述

《第2章密码学基础8课时》由会员分享,可在线阅读,更多相关《第2章密码学基础8课时(224页珍藏版)》请在金锄头文库上搜索。

1、 第第2章章 密码学基础密码学基础电子商务安全电子商务安全2024/8/62第2章密码学基础问题的提出问题的提出国内第一起电子邮件侵权案国内第一起电子邮件侵权案2024/8/63第2章密码学基础 如果电子邮件的发送附加了数字如果电子邮件的发送附加了数字签名,也许本案就不会发生了。签名,也许本案就不会发生了。 第第2章章 密码学基础密码学基础 2.1 密码学概述密码学概述 2.2 传统对称密码体制传统对称密码体制 2.3 公钥密码体制公钥密码体制 2.4 量子密码体制量子密码体制 电子商务安全电子商务安全2024/8/65第2章密码学基础2.1 密码学概述密码学概述 2.1.1密码学起源与发展2

2、.1.2什么是密码学2.1.3密码体制分类2.1.4密码系统设计的基本原则2.1.5密码系统攻击及分析2024/8/66第2章密码学基础2.1.1 密码学起源与发展密码学起源与发展密码学的雏形始于古希腊人在战场上加密写有“战争机密”的信件2024/8/67第2章密码学基础2.1.1 密码学起源与发展密码学起源与发展1.1.古典密码学古典密码学 -1949年之前,密码学是一门艺术2.2.近代密码学近代密码学 -19491975年:密码学成为科学3.3.现代密码学现代密码学 -1976年以后:密码学的新方向公钥密码学2024/8/68第2章密码学基础隐写术隐写术(steganography): 通

3、过隐藏消息的通过隐藏消息的存在存在来保护消息来保护消息.a.隐形墨水隐形墨水b.字符格式的变化字符格式的变化c.图象图像图象图像 2.1.1 密码学起源与发展密码学起源与发展2024/8/69第2章密码学基础象形文字的修改象形文字的修改(Modified Hieroglyphics) c. 1900 B.C. 密码学的第一个例子是对标准书写符号的修改我去君留十载中爱无南北与西东万株松树青山上洁白孤高生不同2024/8/610第2章密码学基础example-ii2024/8/611第2章密码学基础2.1.1 密码学起源与发展密码学起源与发展传说,古时候有一对夫妻,男的名叫李石匠,女的叫张小花。李

4、石匠靠手艺赚钱,张小花在家纺纱织布。一年,李石匠参加修建石桥,因工程紧张,十一个月也没回家一次。张小花独自在家只有纺车做伴。一天石匠工地回来一个工友路过她家,她托这个工友给丈夫带去一封书信。 2024/8/612第2章密码学基础公元前公元前400400年斯巴达人使用密码棍年斯巴达人使用密码棍( (scytalescytale) )2024/8/613第2章密码学基础2.1.1 密码学起源与发展密码学起源与发展加密加密: 将要传递的信息隐藏将要传递的信息隐藏例如:清末大儒纪晓岚赠送的对联鳳遊禾蔭鳥飛去馬走蘆邊草不生禾下加鳳去掉鳥字得禿字馬置蘆邊去掉草頭得驢字 2024/8/614第2章密码学基础

5、PhaistosPhaistos( (范斯特范斯特) )圆盘,一种直径约为圆盘,一种直径约为160mm160mm的粘土的粘土圆盘,始于公元前圆盘,始于公元前1717世纪。表面有明显字间空格的字世纪。表面有明显字间空格的字母,至今还没有破解母,至今还没有破解2024/8/615第2章密码学基础转轮密码机ENIGMA,1944年装备德国海军2024/8/616第2章密码学基础2020世纪早期密码机世纪早期密码机2024/8/617第2章密码学基础2.1.1 密码学起源与发展密码学起源与发展这样的数字毫无意义么?这样的数字毫无意义么?2024/8/618第2章密码学基础16世纪意大利数学家卡尔达诺发

6、明的一种保密通信方法,史称“卡尔达诺漏格板”漏格板是一张用硬质材料(如硬纸、羊皮、金属等)做成的板,上面挖了一些长方形的孔,即漏格2.1.1 密码学起源与发展密码学起源与发展2024/8/619第2章密码学基础2.1.1 密码学起源与发展密码学起源与发展大约在1793年,当时的美国总统托马斯杰斐逊发明了一种轮子密码机。2024/8/620第2章密码学基础2.1.1 密码学起源与发展密码学起源与发展以二战时期以二战时期真实历史为真实历史为背景的,关背景的,关于电报密文于电报密文窃听和密码窃听和密码破解的故事破解的故事2024/8/621第2章密码学基础2.1.2 什么是密码学什么是密码学 1.1

7、.密码学概念密码学概念2.2.密码系统构成密码系统构成 3.3.密码系统数学模型密码系统数学模型 2024/8/622第2章密码学基础1. 密码学概念密码学概念密码学密码学(CryptologyCryptology) :是研究是研究如何保护信息安全性如何保护信息安全性的一门的一门科学。它包含两个分支:科学。它包含两个分支:密码编码学和密码分析学密码编码学和密码分析学。密码编码学(密码编码学(CryptographyCryptography) :主要研究密码方案的设计,主要研究密码方案的设计,即寻找对信息编码的方法从而实现即寻找对信息编码的方法从而实现隐藏信息隐藏信息的一门学问。的一门学问。密码

8、分析学密码分析学(CryptanalyticsCryptanalytics),), :主要是从攻击者的角度主要是从攻击者的角度来看问题,研究如何来看问题,研究如何破解被隐藏信息破解被隐藏信息的一门学问。的一门学问。 两个分支:两个分支:是既相互对立,又相互依存的科学。是既相互对立,又相互依存的科学。2024/8/623第2章密码学基础2. 密码系统构成密码系统构成 密码系统主要包括以下几个基本要素:密码系统主要包括以下几个基本要素:明文明文(Plain Text),),指的是希望得到保密的原始信息。指的是希望得到保密的原始信息。通通常用常用P或或M表示。表示。用某种方法伪装信息以隐藏它的内容的

9、过程称为用某种方法伪装信息以隐藏它的内容的过程称为加密加密(Encryption)经过加密处理后得到的隐藏信息称为经过加密处理后得到的隐藏信息称为密文密文(Cipher Text),通,通常用常用C表示。表示。 而把密文转变为明文的过程称为而把密文转变为明文的过程称为解密解密(Decryption)。2024/8/624第2章密码学基础2024/8/625第2章密码学基础加密算法加密算法(Encryption Algorithm)。通常用。通常用E表示。表示。是指通过一系列的变换、替代或其他各种方式将是指通过一系列的变换、替代或其他各种方式将明文信息转化为密文的方法。明文信息转化为密文的方法。

10、解密算法解密算法(Decryption Algorithm)。通常用。通常用D表示。表示。指通过一系列的变换、替代或其他各种方法将密指通过一系列的变换、替代或其他各种方法将密文恢复为明文的方法。文恢复为明文的方法。2024/8/626第2章密码学基础举例说明上述概念举例说明上述概念商人贾某要给他儿子发一份密码电报,电文四个字:商人贾某要给他儿子发一份密码电报,电文四个字:“抛售布匹抛售布匹”(原文)。(原文)。按照电报码手册,这四个汉字对应:按照电报码手册,这四个汉字对应:2141 0786 1580 0572,然后把每个四位数都加上,然后把每个四位数都加上100(加密密钥),四(加密密钥),

11、四个四位数就变成了:个四位数就变成了:2241 0886 1680 0672,此刻这四,此刻这四个电报码对应变为:个电报码对应变为:“抡噌庙叵抡噌庙叵”(密文)。(密文)。儿子收到电报儿子收到电报“抡噌庙叵抡噌庙叵”后,根据相应的电报码手册后,根据相应的电报码手册得到:得到: 2241 0886 1680 0672,按照事先的约定,分别,按照事先的约定,分别减去减去100(解密密钥),就得到(解密密钥),就得到“抛售布匹抛售布匹”的信息。的信息。2024/8/627第2章密码学基础2. 密码系统构成密码系统构成 加解密算法通常都是在一组密钥的控制下进行的,分别称为加密密钥和解密密钥。加密和解密

12、过程如下图所示。明文明文密文加密算法解密算法加密密钥解密密钥2024/8/628第2章密码学基础3. 密码系统数学模型密码系统数学模型 以五元组(M,C,K,E,D)表示密码系统,其中M是明文信息空间,C是密文信息空间,K是密钥信息空间,E是加密算法,D是解密算法。各元素之间有如下的关系:E:M K - C,表示E是M与K 到C的一个映射;D:C K - M,表示D是C与K到 M的一个映射。2024/8/629第2章密码学基础3. 密码系统数学模型密码系统数学模型 在最早的恺撒密码体制中明文信息空间是26个英文字母集合,即M=a,b,c,dz,A,BZ;密文信息空间也是26个英文字母集合,即C

13、=a,b,c,d.z,A,B.Z密钥信息空间是正整数集合,即K=N|N=1,2.;因此Ek=(M+K)mod26;与之对应的解密算法是Dk,Dk=(C-K)mod26。2024/8/630第2章密码学基础3. 密码系统数学模型密码系统数学模型 例如:恺撒密码体制解密算法:(C-K)mod262024/8/631第2章密码学基础3. 密码系统数学模型密码系统数学模型 发送信息的一方使用密钥K加密明文M,通过加密算法得到密文C,即C=EK(M);接收信息的一方使用密钥K解密密文C,通过解密算法得到明文M,即M=DK(C);。K与K可能相等,也可能不等,具体取决于所采用的密码体制。2024/8/63

14、2第2章密码学基础3. 密码系统数学模型密码系统数学模型 明文m加密算法:密文c=Ek1(m)加密密钥源解密密钥源解密算法:m=Dk2(c)明文mmmk1k2cc2024/8/633第2章密码学基础2.1.3 2.1.3 密码体制分类密码体制分类 按不同的划分标准或者方式,密码体制可以分为多种形式。我们主要从加密方式、所采用的密钥方式以及保密程度来划分。2024/8/634第2章密码学基础1. 按加密方式划分按加密方式划分 (1)流密码体制。-也称为序列密码,它是将明文信息一次加密一个比特形成密文字符串,典型的流密码体制是一次一密密码体制,其密钥长度与明文长度相等。(2)分组密码体制。-也称为

15、块密码体制,分组密码则是将明文信息分成各组或者说各块,每组具有固定的长度,然后将一个分组作为整体通过加密算法产生对应密文的处理方式。2024/8/635第2章密码学基础1. 按加密方式划分按加密方式划分 流密码明文m写成连续的符号m=m1m2,密钥流k=k1k2第i个元素ki对明文中的第i个元素mi进行加密,加密后的密文c=Ek(m)= Ek1(m1) Ek2(m2)Eki(mi)。解密后:m=Dk(c)=Dk1(Ek1(m1)Dk2(Ek2(m2)=m1m2。2024/8/636第2章密码学基础1. 按加密方式划分按加密方式划分 流密码加密算法E解密算法D明文mi密文ci=Eki(mi)明文

16、mi=Dki(ci)密钥ki密钥ki2024/8/637第2章密码学基础 分组密码2024/8/638第2章密码学基础2. 按使用的密钥方式划分按使用的密钥方式划分 (1)单密钥体制。-也称为对称密码机制,在该体制下,密码系统只有一个密钥,加密算法和解密算法使用统一的一个密钥,拥有密钥的用户既可以加密信息也可以解密信息。(2)双密钥体制。-也称为非对称密码体制或者公钥密码体制,在该体制下,密码系统有两个密钥,分别是公开密钥和私有密钥,公开密钥是对外公开的,即所有的人都可知,私有密钥是只有特定的用户方能拥有。2024/8/639第2章密码学基础3. 按保密程度划分按保密程度划分 (1)实际上保密

17、的密码体制。-是指在理论上可破解,但是在现有的客观条件下以及有限的时间内,无法通过计算从密文破译出明文或者密钥的密码体制。(2)绝对保密的密码体制。-是指无论在理论上还是实际上,都不可破解的密码体制。2024/8/640第2章密码学基础2.1.4 密码系统设计的基本原则密码系统设计的基本原则 (1)简单实用原则。(2)抗攻击性原则。(3)算法公开化原则。2024/8/641第2章密码学基础2.1.5 密码系统攻击及分析密码系统攻击及分析 对密码系统的攻击分为被动攻击和主动攻击-被动攻击是指通过窃取密文试图了解明文或者密钥的内容;主动攻击是指篡改和伪造密文,以达到修改或者伪造明文的目的。-被动攻

18、击的主要方法有:通过窃听通信信道上传输的密文,对其进行分析破译出明文为或者密钥;-主动攻击的主要方法有:攻击者截取通信信道上传输的密文,然后对其篡改(如添加、删除某些内容)再发送2024/8/642第2章密码学基础2.2 传统对称密码体制传统对称密码体制 在公钥密码体制出现以前,无论是古典密码还是近现代密码都属于对称密码体制,也就是说加密和解密使用同一个密钥。2.2.1 加解密的基本原理 2.2.2 数据加密标准DES 2.2.3 高级加密标准AES 2024/8/643第2章密码学基础2.2.1 加解密的基本原理加解密的基本原理基于对明文信息的“置换”和“替代”完成的,或者是通过对两者的组合

19、运用即乘积的方式完成。 2024/8/644第2章密码学基础1. 置置 换换 置换又称“换位”方法,是指变换明文中各元素的相对位置,但保持其内容不变的方法,即通过对明文元素重新排列组合来达到隐藏明文原始内容所表达含义的加密方法。最典型的置换密码体制是栅栏密码技术。2024/8/645第2章密码学基础1. 置置 换换 栅栏加密算法步骤如下:将明文的元素按照两行的方式书写,并按照从上到下,从左到右的方式排列;按从上到下的顺序依次读出每一行的元素所得到的组合就是密文。 2024/8/646第2章密码学基础1. 置置 换换 栅栏解密算法步骤如下:将接收到的密文按照从左到右的顺序写为两行,如果密文元素的

20、个数为偶数n,则每一行写n/2个元素;如果密文元素个数为奇数,则第一行排列n+1/2个元素,第二行排列n-1/2个元素;按照加密算法的规则,依次从上到下,从左到右的规则读取各元素,所得到的字母序列即获得所需要的明文。2024/8/647第2章密码学基础1. 置置 换换 2024/8/648第2章密码学基础1. 置置 换换 一种改进的方案是将明文元素以矩阵的方式排列,假设明文可以写成nm的n行m阶的矩阵,矩阵法:按照nm的矩阵格式从左到右依次写出明文元素;根据密钥的内容指示,读出相应各列的明文元素;所有读出的元素按一行的顺序排列,得到的结果即为密文。 2024/8/649第2章密码学基础1. 置

21、置 换换 例如:2024/8/650第2章密码学基础1. 置置 换换 矩阵法解密算法是:根据密钥长度将密文写成矩阵形式,但书写的格式是按照逐列写,各列之间的排列顺序参照密钥内容的编号;依次读取排列好的矩阵逐行元素,得到的结果就是明文。 2024/8/651第2章密码学基础1. 置置 换换 2024/8/652第2章密码学基础1. 置置 换换置换法破译: 通过字母的使用频率破译2024/8/653第2章密码学基础2. 替替 代代 替代方法是将明文各元素的内容用新的符号或者符号组合代替,替换之后形成的新的元素符号集合便是密文。 A B C D E F G H V W X Y ZF G H I J

22、K L M A B C D E 2024/8/654第2章密码学基础2. 替代替代密码分析密码分析给定加密信息:PHHW PH DIWHU WKH SDUWB由于:加密算法已知 可能尝试的密钥只有26个通过强力攻击得到明文:Meet me after the party替代法容易受到攻击!2024/8/655第2章密码学基础2.2.1 加解密的基本原理加解密的基本原理将置换和替换两者交替使用的密码编码方法称为乘积密码Feistel密码结构就是乘积密码Feistel密码结构经过多轮循环的置换与替代操作现在普遍使用的分组密码体制设计原理几乎都遵循Feistel密码结构,如经典的数据加密标准DES。

23、 2024/8/656第2章密码学基础2.2.2 数据加密标准数据加密标准DES DES 2024/8/657第2章密码学基础1. DES的产生的产生 1972年,美国标准局NBS(现在的NIST)公开征求用于计算机通信数据保密的方案,其要求为:算法必须提供高度的安全性;算法必须有详细的说明,并易于理解;算法的安全性取决于密钥,不依赖于算法;算法适用于所有用户;算法适用于不同应用场合;算法必须高效、经济;算法必须能被证实有效;算法必须可出口。2024/8/658第2章密码学基础1. DES的产生的产生IBM公司的W.Tuchman和C.Meyers等研究人员提交了一个数据加密算法Lucifer

24、该算法被美国标准局采用,在经过一系列的研究讨论和简单的修改于1977年正式批为数据加密标准DES。2024/8/659第2章密码学基础2. DES算法基本原理算法基本原理 DES属于典型的分组密码体制。DES将明文信息按64比特大小分组,密钥长度也是64比特,但是实际使用过程中密钥长度是56比特,另外8比特用作奇偶校验位(即每个字节的最后一位用作奇偶校验)。64比特的明文分组在密钥的作用下经过多次的置换和替代组合操作,最终形成攻击者难以破译的64比特密文。 2024/8/660第2章密码学基础2. DES算法基本原理算法基本原理 置换和替代的多次组合过程置换和替代的多次组合过程多轮循环加密来扰

25、乱和扩散明文信息多轮循环加密来扰乱和扩散明文信息 2024/8/661第2章密码学基础2. DES算法基本原理算法基本原理 DES算法加密的基本原理: 加密过程中输入加密过程中输入6464比特的明文,首先经过初始矩比特的明文,首先经过初始矩阵阵IPIP置换;置换; 在在5656比特的输入密钥控制下,进行比特的输入密钥控制下,进行1616轮迭代加密轮迭代加密处理过程处理过程; 通过简单的换位和逆置换算法,得到通过简单的换位和逆置换算法,得到6464比特的输比特的输出密文。出密文。2024/8/662第2章密码学基础2. DES算法基本原理算法基本原理 DES算法加密的基本原理:2024/8/66

26、3第2章密码学基础2. DES算法基本原理算法基本原理 DESDES算法解密的基本原理:算法解密的基本原理:解密处理过程与加密处理过程顺序完全一样解密处理过程与加密处理过程顺序完全一样加密过程:加密过程:K K1 1 = K = K1616解密过程:解密过程:K K1 1 = K = K16 16 2024/8/664第2章密码学基础3. 算法加密具体过程算法加密具体过程DES加密算法主要由加密算法主要由4个元素组成:个元素组成:初始置换矩阵初始置换矩阵IP、加密函数加密函数F、 S-盒子、逆初始置换盒子、逆初始置换矩阵矩阵IP-1。2024/8/665第2章密码学基础3. 算法加密具体过程算

27、法加密具体过程初始置换初始置换:初始置换矩阵:初始置换矩阵IPIP 2024/8/666第2章密码学基础3. 算法加密具体过程算法加密具体过程初始置换初始置换:由置换矩阵可知置换规则:由置换矩阵可知置换规则:将原先处在第58位置的比特置换后放在第1个位置,第50位置的比特置换后放在第2个位置,第7个位置的比特置换后放在第64个位置。如果明文M分组是序列m1 m2 m3 .m64,则经过IP置换后变成序列m58 m50 m42 .m7。 2024/8/667第2章密码学基础3. 算法加密具体过程算法加密具体过程初始置换:举例,假设64比特明文M是: 按照初始置换矩阵IP的变换规则,将M变换为M1

28、,M1序列是: 2024/8/668第2章密码学基础3. 算法加密具体过程算法加密具体过程M写成88的矩阵,如表2-7所示。初始置换后如表2-8所示 2024/8/669第2章密码学基础3. 算法加密具体过程算法加密具体过程通过比较表2-7与表2-8,可以发现,M由置换矩阵IP变换到M1遵循一定的规律:矩阵M1的第1行是矩阵M的第2列的倒置,第2行是矩阵M的第4列倒置,第5行是矩阵M的第1列的倒置。概括的说,置换后的矩阵M1前4行是明文矩阵M各偶数列的倒置,后4行是明文矩阵M各奇数列的倒置。2024/8/670第2章密码学基础3. 算法加密具体过程算法加密具体过程再次对照逆初始矩阵IP-1(如

29、表2-6所示)可发现,将M1前4行各行的倒置作为新矩阵M2的偶数列,后4行各行的倒置作为新矩阵M2的奇数列,会得到结果M=M2。也就是说将任何明文M经过初始矩阵IP置换,然后再经过逆初始矩阵IP-1的置换,M的值保持不变 2024/8/671第2章密码学基础3. 算法加密具体过程算法加密具体过程每轮迭代加密处理过程: DES算法加密过程需要16轮迭代处理,每一轮迭代的处理步骤是一样的,只是输入的信息和控制密钥不同,第i轮加密处理过程如图2-3所示。 2024/8/672第2章密码学基础3. 算法加密具体过程算法加密具体过程2024/8/673第2章密码学基础3. 算法加密具体过程算法加密具体过

30、程F函数是DES算法的精髓,它是多个置换函数和替代函数的组合函数,该函数以密钥和上一轮加密得到的部分结果作为输入,通过多次扩展、置换和替代达到真正“扰乱”明文信息的目的。F函数分为扩展、异或运算、S盒替代以及置换四个步骤。 2024/8/674第2章密码学基础3. 算法加密具体过程算法加密具体过程 扩展 F函数首先将32比特的数据Ri-1 预扩展为48比特,其方法是:将Ri-1 从左到右分成8块,每块4比特,然后将每块从4比特扩展到6比特。扩展的规则是:每一块向左扩展一位,同时向右扩展一位,也就是说,第n块向左扩展一位,与第n-1块未扩展前的最后一位相同,同时向右扩展一位,与第n+1块未扩展前

31、的最后一位相同;2024/8/675第2章密码学基础3. 算法加密具体过程算法加密具体过程例如由表2-8 所知的序列M1,得到加密时的L0和R0 分别是: 首先将R0 分为8块,得到数据:1001 0111 0101 0110 1011 100 1110 0000,如图2-4所示, 2024/8/676第2章密码学基础3. 算法加密具体过程算法加密具体过程2024/8/677第2章密码学基础3. 算法加密具体过程算法加密具体过程异或运算:由图2-3所示,经过扩展后的48比特Ri-1将与第i轮加密密钥Ki进行异或运算,密钥Ki也是48位,由原始密钥经过循环左移以及置换排列的方式产生,具体的生成过

32、程后面将详细描述。48位的Ki同Ri-1一样,也分成8块,每块6比特,然后与扩展后的Ri-1对应的各块做异或运算后,同样生成8个6位比特块,其输出是S盒子的输入。2024/8/678第2章密码学基础3. 算法加密具体过程算法加密具体过程假设密钥Ki的第1块6比特数据为:110111,图2-4所示的第一块扩展比特是010010,则两者异或的结果是1001012024/8/679第2章密码学基础3. 算法加密具体过程算法加密具体过程 S盒替代 DES算法中的S盒子由8个子盒S1、S2、S3、S4、S5、S6、S7、S8组成,每个盒子构成4行16阶的416矩阵,表2-9列出了其中一个子盒S1的定义。

33、2024/8/680第2章密码学基础3. 算法加密具体过程算法加密具体过程2024/8/681第2章密码学基础3. 算法加密具体过程算法加密具体过程S盒子的输入是上述所讲的由Ri-1与Ki 两者异或运算得到的结果,其中第j个子盒Sj的输入是第j块异或运算的结果,输出是根据Sj盒子定义得到的4比特数据。 2024/8/682第2章密码学基础3. 算法加密具体过程算法加密具体过程对于每个盒子Sj (j=1,2.8)其输入与输出之间的映射关系是:将Sj输入的第一位与最后一位两个二进制组合起来,得到某个十进制数m,m用来选择矩阵Sj的行;Sj输入的中间四比特数据组合,得到十进制数n,n用来选择矩阵Sj

34、的列。已知行m与列n,查找已经定义好的矩阵Sj 的m行n列对应的值,该值就是Sj的输出。 2024/8/683第2章密码学基础3. 算法加密具体过程算法加密具体过程对应前面叙述的例子,S1 盒子的输入是F函数第二步异或运算所得结果,为数据100101,S1盒子的输出通过表2-9确定,具体的方法是:将输入的第1位“1”与第6位“1”构成二进制数“11”,“11”表示十进制数3,即要选择矩阵S1的第3行,输入的中间四位二进制数“0010”,表示十进制数2,即要选择矩阵S1的第2列,在表2-4中,第3行第2列对应的二进制数是1000 2024/8/684第2章密码学基础3. 算法加密具体过程算法加密

35、具体过程 置换 F函数的最后一步是对S盒子输出的32比特数据进行置换,目的是使得S盒的输出对下一轮多个Si子盒产生影响,以增强DES的安全性。F函数的输出结果与上一轮加密处理的左半部分数据Li-1异或,得到第i轮加密处理的右半部分32位数据Ri。然后Li与Ri又作为第i+1轮加密处理时的输入数据,这样,经过16轮迭代加密处理之后,得到L16 与R16。 2024/8/685第2章密码学基础3. 算法加密具体过程算法加密具体过程将R16 与L16 左右换位,即将R16的32比特数据移到左边,L16的32比特数据移到右边。换位之后,再次经过逆初始矩阵IP-1置换,最终得到的结果就是密文。2024/

36、8/686第2章密码学基础4. DESDES算法解密过程算法解密过程 DES的解密算法与加密算法除了在每一轮循环迭代时所使用的控制密钥不同之外,其他的完全一样。并且,输出的64比特密文经过解密处理过程,所得结果就是所需的明文。 2024/8/687第2章密码学基础5. 密钥的生成密钥的生成 DES算法定义的分组长度是64比特,其主密钥长度与明文分组长度一样,也是64比特,不过在实际使用中,只用到56比特,还有8比特用作奇偶校验位。 每轮迭代所使用的密钥Ki (i=1,2 .16)都是从主密钥生成的,Ki 的长度是48比特。密钥的具体生成方法如图2-5所示:2024/8/688第2章密码学基础5

37、. 密钥的生成密钥的生成 2024/8/689第2章密码学基础6. DESDES算法安全性分析算法安全性分析 关于DES算法的安全性,在最初公布的时候,曾受到很多人的置疑。攻击者会很容易的破译DES算法密钥更多的人担心保密设计的S盒子的安全性很多用户担心S盒子存在隐藏的弱点2024/8/690第2章密码学基础6. DESDES算法安全性分析算法安全性分析 DES算法为什么需要16次循环迭代?而不是15次或者更多的20次呢?不能一味的为了防止攻击者破译密码,不断增加循环迭代次数,否则算法的效率与性能将会受到影响较少的迭代次数又会导致攻击者容易分析密码算法,从而破译出密钥。2024/8/691第2

38、章密码学基础6. DESDES算法安全性分析算法安全性分析 DES算法使用56位密钥是否安全?上世纪70年代,DES被广泛使用在安全级别要求不高的场合。但是20世纪90年代以来,从计算上讲,56位密钥的DES不能再认为是安全的。 2024/8/692第2章密码学基础2.2.3 高级加密标准高级加密标准AES AES 1.AES的起源2.AES的设计原则2024/8/693第2章密码学基础1. AES AES的起源的起源1997年9月,NIST征集AES方案,以替代DES。1999年8月,以下5个方案成为最终候选方案:MARS, RC6, Rijndael, Serpent, Twofish。2

39、000年10月,由比利时的Joan Daemen和Vincent Rijmen提出的算法最终胜出。( Rijndael 读成Rain Doll。)2000年12月,美国国家标准局NIST正式确认新一代数据加密标准是高级加密标准AES(Advanced Encryption Standard) 。2024/8/694第2章密码学基础2. AES AES的设计原则的设计原则能抵抗所有已知的攻击;在各种平台上易于实现,速度快;设计简单,是一种分组密码体制,加密和解密使用相同的密钥,属于对称密码体制;与DES分组密码体制不同的是,AES中明文或密文分组长度以及密钥长度不是固定的,而是可变的,它们可以是

40、128比特、192比特、256比特。2024/8/695第2章密码学基础2.3 公钥密码体制公钥密码体制 2.3.1公钥密码体制的基本原理2.3.2RSA算法2.3.3有限域上椭圆曲线密码算法ECC 2.3.4公钥密码体制的应用 2024/8/696第2章密码学基础古老的密码学问题 很久以前,分别有两个国家的公主和王子,公主要通过一很久以前,分别有两个国家的公主和王子,公主要通过一位信使送给王子一样不愿被别人看见的信物,所以公主用加锁位信使送给王子一样不愿被别人看见的信物,所以公主用加锁的箱子放信物。这位信使只愿意跑一趟,而且在这段路程中,的箱子放信物。这位信使只愿意跑一趟,而且在这段路程中,

41、只要一有机会(钥匙)就会偷看信物。只要一有机会(钥匙)就会偷看信物。 问题:公主如何才能把信物安全的送到王子的手中?问题:公主如何才能把信物安全的送到王子的手中?2024/8/697第2章密码学基础解决办法:解决办法:让两个国家的每一个人都具有两副锁和钥匙,每幅各有让两个国家的每一个人都具有两副锁和钥匙,每幅各有一把锁和一把钥匙。一把锁和一把钥匙。每一把锁和它不配套的钥匙放在一起,这样每个人就有每一把锁和它不配套的钥匙放在一起,这样每个人就有两副不配套的钥匙和锁了。两副不配套的钥匙和锁了。将其中的一幅秘密留在家里(秘密锁钥);另一幅拿到将其中的一幅秘密留在家里(秘密锁钥);另一幅拿到锁厂,复制

42、锁厂,复制60亿副,让国家人人都能从市场上买到它亿副,让国家人人都能从市场上买到它(公开锁钥)。(公开锁钥)。2024/8/698第2章密码学基础首先假设:首先假设:公主的秘密锁钥(公主的秘密锁钥(Ab),公开锁钥(公开锁钥(Ba) 王子的秘密锁钥(王子的秘密锁钥(Cd),公开锁钥(公开锁钥(Dc)公主:送的箱子上共锁着两把锁(公主:送的箱子上共锁着两把锁(DA)王子:(王子:( Ba )(A) ( Cd )(D)2024/8/699第2章密码学基础2.3.1 公钥密码体制的基本原理公钥密码体制的基本原理1976年,狄菲和海尔曼提出了密码体制的新概年,狄菲和海尔曼提出了密码体制的新概念念公钥密

43、码。公钥密码。使用两个密钥:公密钥、私密钥使用两个密钥:公密钥、私密钥加解密的非对称性,是对对称密码的重要补充加解密的非对称性,是对对称密码的重要补充利用数论与其他数学难题的方法利用数论与其他数学难题的方法2024/8/6100第2章密码学基础2.3.1 公钥密码体制的基本原理公钥密码体制的基本原理重要特点重要特点-仅根据加密算法加密算法和加密密钥加密密钥来确定解密密钥在计算上不可行-两个密钥中的任何一个都可用来加密,另一个用来解密。六个组成部分六个组成部分:-明文、密文;公钥、私钥;-加密、解密算法2024/8/6101第2章密码学基础序号序号对称密码对称密码公钥密码公钥密码1加密和解密使用

44、相同的密钥加密和解密使用不同密钥2密钥必须保密存放私钥保密存放,公钥公开存放3通信前,收发双方必须实现密钥共享通信前,收发双方无需实现密钥共享4应用于数据加解密、可以实现数据保密性、认证等安全服务应用于数据加解密、数字签名、密钥交换等方面,实现数据保密、认证、数据完整性、不可否认性等安全服务2024/8/6102第2章密码学基础2.3.1 公钥密码体制的基本原理公钥密码体制的基本原理1.公钥密码体制依赖的基础2.公钥密码系统的特征 3.公钥密码体制加解密过程 2024/8/6103第2章密码学基础1. 公钥密码体制依赖的基础公钥密码体制依赖的基础经典的公钥密码算法RSA、椭圆曲线密码算法ECC

45、等都是依赖某类数学问题的,它们共同的特点是基于某个单向陷门函数。2024/8/6104第2章密码学基础单向陷门函数单向陷门函数 y=y=f fk k(x(x) ) 是指同时满足下列条是指同时满足下列条件的一类可逆函数件的一类可逆函数: 函数是一一映射关系,一个y对应唯一的一个x; 给定x与关键参数k,函数y=fk(x)很容易计算;2024/8/6105第2章密码学基础1. 公钥密码体制依赖的基础公钥密码体制依赖的基础 给定y,存在某个关键参数k,在未知k时,逆函数x=f-1(y) 的计算相当复杂,实际上是不可行的;在已知k时,则逆函数x=f-1k(y)很容易计算; 给定y和参数k,无法从函数y

46、=fk(x)推导出影响其逆函数f-1的关键参数k。2024/8/6106第2章密码学基础2. 公钥密码系统的特征公钥密码系统的特征 根据密码系统的组成以及公钥密码体制自身的特点,一个公钥密码系统可以表示为:加密算法E、解密算法D、公钥/私钥(PK/SK)对、明文M、密文C六个元素,且各元素必须要满足以下条件: 2024/8/6107第2章密码学基础2. 公钥密码系统的特征公钥密码系统的特征 密钥要满足三点要求:公钥/私钥(PK/SK)对容易产生,且私钥除了生成密钥的用户自己知道之外,其他任何人都不可知;PK和SK中的任何一个都可以用于加密,相应的另一个用于解密;从公开密钥PK无法通过计算得到私

47、有密钥SK 。 2024/8/6108第2章密码学基础2. 公钥密码系统的特征公钥密码系统的特征 加密算法加密算法E E要满足两点要求:要满足两点要求:已知公钥PK,对任何明文M,由E计算出密文C非常容易,即C = EPK(M) 易计算已知私钥SK,对任何信息M,由E计算数字签名也非常容易,即C = ESK(M) 易计算。2024/8/6109第2章密码学基础2. 公钥密码系统的特征公钥密码系统的特征 解密算法解密算法D D要求:要求: 仅知道解密算法以及加密密钥,推导明文和解密 密钥都是计算不可行的。 2024/8/6110第2章密码学基础3. 公钥密码体制加解密过程公钥密码体制加解密过程

48、假设网络上的两个用户Alice和Bob需要进行秘密通信,为了防止攻击者Eve窃听信息,Alice和Bob选择使用公钥密码体制加密传输的信息。Alice是信息的发送方;Bob是信息的接收方。 Alice与Bob产生公钥/私钥对:PKA/SKA,PKB/SKB。2024/8/6111第2章密码学基础3. 公钥密码体制加解密过程公钥密码体制加解密过程 Alice与Bob通过某种机制公布各自的公钥PKA与PKB,例如将公钥放到一个公共的服务器,供其他用户查询。2024/8/6112第2章密码学基础3. 公钥密码体制加解密过程公钥密码体制加解密过程 Alice通过查询公共服务器获得Bob的公钥PKB。如

49、果Alice欲给Bob发送报文M,他就用Bob的公钥PKB加密报文。已知待加密的明文M以及Bob的公钥PKB,Alice很容易通过加密算法E计算出密文,即 C = EPKB(M)。2024/8/6113第2章密码学基础3. 公钥密码体制加解密过程公钥密码体制加解密过程 接收方Bob收到Alice发送的信息之后,使用自己的私钥SKB解密报文。已知密文C私钥SKB,Bob很容易通过解密算法计算出明文M,即 M=DSKB(C)。2024/8/6114第2章密码学基础如果反过来呢?Bob发送给Alice信息该如何加密信息呢?2024/8/6115第2章密码学基础用公钥进行加密用公钥进行加密2 Alic

50、e产生一对密钥,用于加密和解密产生一对密钥,用于加密和解密3 Alice将一个密钥公开,另一个密钥私有将一个密钥公开,另一个密钥私有BobAlice1 Bob要发送消息给要发送消息给Alice4 Bob用用Alice的公钥对消息加密,发送给的公钥对消息加密,发送给Alice。只有。只有Alice能解密能解密2024/8/6116第2章密码学基础2.3.2 RSARSA算法算法 1.RSA算法依赖的数学问题2.RSA算法密钥产生过程3.RSA算法加解密过程 4.RSA算法安全性及性能分析 2024/8/6117第2章密码学基础RSA算法算法由MIT的 Rivest, Shamir & Adlem

51、an 在 1977 提出最著名的且被广泛应用的公钥加密体制 明文、密文是0到n-1之间的整数,通常n的大小为1024位二进制或309位十进制数2024/8/6118第2章密码学基础2024/8/6119第2章密码学基础1. RSARSA算法依赖的数学问题算法依赖的数学问题模运算的性质:-正整数n是素数,集合Zn = 0,1,2.,(n-1) 表示小于n的所有非负整数集合,则对于集合Zn 中的每一个整数wZn,均存在一个z,满足公式w z = 1 mod n,我们称z是w的乘法逆元,且n是它们的模。 2024/8/6120第2章密码学基础1. RSARSA算法依赖的数学问题算法依赖的数学问题 费

52、马定理:-如果p是素数,a是不能整除p的正整数,则: ap-1 1 mod p例如:-P=7, a=2,-则27-1=26 =64,64mod7=12024/8/6121第2章密码学基础1. RSARSA算法依赖的数学问题算法依赖的数学问题欧拉函数:正整数n的欧拉函数是指小于n且与n互素的正整数个数,通常记为(n)。对于任一素数p,显然有:(p) p 1,例如:-设p=3,小于3且与3互素的正整数为1,2,因此(3) = 2;类似地,当p=7时,小于7且与7互素的正整数为1,2,3,4,5,6,因此(7) = 6 2024/8/6122第2章密码学基础1. RSARSA算法依赖的数学问题算法依

53、赖的数学问题假定有两个不同的素数p和q,n是p与q之积,即 n = p q,则有如下公式关系:-(n)=(pq)= (p)(q)=(p-1)(q-1) 例如:-取n=21,(21) = (3) (7) = (3-1) (7-1) = 2 6 = 12,其中这12个整数是1,2,4,5,8,10,11,13,16,17,19,20 2024/8/6123第2章密码学基础1. RSARSA算法依赖的数学问题算法依赖的数学问题欧拉定理:-任何两个互素的整数a和n,有如下关系:- a(n) = 1 mod n 例如:-a = 3;n=8;由(3)欧拉函数的定义,(8) = 4;则-a(n) = 34

54、= 81 =108 +1 1 mod 8 1 mod n 2024/8/6124第2章密码学基础1. RSARSA算法依赖的数学问题算法依赖的数学问题欧几里德(Elucid)算法:-该算法主要的思想是:用一个简单的方法确定两个正整数的最大公因子,并且如果这两个整数互素,通过扩展该算法能确定它们各自的逆元2024/8/6125第2章密码学基础2. RSARSA算法密钥产生过程算法密钥产生过程 (1)随机选择两个大素数 p与q,且p q = n。 建议p与q长度应该只差几个数字,且p与q应该 位于区间1075 .10100内(2)计算n的欧拉函数值: (n) = (p-1) (q-1) (3)随机

55、选择一个大的正整数e,e满足小于n且与(n)互素的条件,即e与(n)的最大公因子是12024/8/6126第2章密码学基础2. RSARSA算法密钥产生过程算法密钥产生过程 (4)根据e,(n),计算另外一个值d,d是e的乘法逆元,且(n)是它们的模,由模运算的及乘法逆元的性质,de=1mod(n)则两个二元组(e,n)、(d,n) 构成RSA的密钥对,选择其中任意一个二元组作为公钥,则另外一个就为私钥,在此,我们定义(e,n)为公钥,(d,n)为私钥。2024/8/6127第2章密码学基础2. RSARSA算法密钥产生过程算法密钥产生过程 例如:1)令p=7,q=11,则n=77;2)计算n

56、的欧拉函数值(n)=(7-1)(11-1)=60;3)选择e=17,e符合小于77,且于欧拉函数值(n)((n)=60)的最大公因子是1的条件;4)计算e的逆元d,因为5317=1560+11mod60,所以当e=17时,d=53。因此(17,77)/(53,77)构成一个RSA的公钥/私钥对。 2024/8/6128第2章密码学基础3. RSARSA算法加解密过程算法加解密过程 RSA算法属于分组加密方案,也就是说明文以分组为单位加密分组的大小取决于所选的模n的值,明文块每个分组的长度可以相同也可以不同,但是,各分组大小必须小于或等于log2(n)的值。2024/8/6129第2章密码学基础

57、已知明文的某块分组报文M,公钥(e,n),私钥(d,n),则加密过程如下:对M的e次方幂指数运算结果再做模n运算,所得结果即为密文C,即由M计算C用公式表示为: C = EpK(M) = Me mod n (公式2.1) 2024/8/6130第2章密码学基础3. RSARSA算法加解密过程算法加解密过程 RSA算法加密和解密过程是等价的,解密过程如下:对C的d次方幂运算结果再做模n运算,所得结果即为明文M,即由C推导M可用公式表示为: M = DSK(M) = Cd mod n (公式2.2) 2024/8/6131第2章密码学基础4. RSARSA算法安全性及性能分析算法安全性及性能分析

58、RSA算法的安全性基于大整数因子分解的困难性,即给定大整数n,将n分解为两个素数因子p与q,在数学上已证明是难题,至今没有有效的方法予以解决。RSA密码方案的优点在于原理简单,易于使用 2024/8/6132第2章密码学基础4. RSARSA算法安全性及性能分析算法安全性及性能分析 缺点:-RSA的性能比较低。 硬件实现的效率是DES的1/1000,软件实现的效率是DES的1/100,2024/8/6133第2章密码学基础RSA与与DESRSA不适用于对长的明文信息加密它常常与对称密码体制结合使用RSA用来加密通信双方的会话密钥对称密码体制如DES用来加密传输的报文2024/8/6134第2章

59、密码学基础4. RSARSA算法安全性及性能分析算法安全性及性能分析 为了安全起见,RSA方案中要求模数n越来越大RSA密钥长度要求大于1024比特才有安全保障密钥长度的增加提高了安全性,但是进一步影响了算法的性能在选择RSA密钥时,在系统的安全性和性能之间需要找到一个平衡点2024/8/6135第2章密码学基础2.3.3 有限域上椭圆曲线密码算法有限域上椭圆曲线密码算法ECC ECC 1985年Neal Kobiltz和Victor miller提出椭圆曲 线 密 码 算 法 ECC( Elliptic Curve Cryptosystem) 1.ECC算法依赖的数学问题2.ECC算法密钥的

60、选择 3.ECC算法的加解密过程 4.ECC算法的安全性分析 2024/8/6136第2章密码学基础1. ECC算法依赖的数学问题椭圆曲线定义:设K表示一个域,椭圆曲线E(K)用二元方程表示:y2 + axy + by = x3 + cx2 + dx +e 其中 a,b,c,d,e 均属于K域。在实际的密码学研究中,主要应用的是基于有限域上的椭圆曲线。具有q个元素的有限域上的椭圆曲线满足下列方程关系: y2 = x3 + ax +b 2024/8/6137第2章密码学基础1. ECC算法依赖的数学问题 椭圆曲线上的点加运算:设P、Q是E上任意两点,R是连接P,Q的直线L与E相交点,R关于X轴的

61、对称节点是R,如图2-6所示。根据椭圆曲线的对称性,R必定在椭圆曲线E上定义:R=P+Q,R就是P与Q点加的和2024/8/6138第2章密码学基础1. ECC算法依赖的数学问题2024/8/6139第2章密码学基础1. ECC算法依赖的数学问题如果P和Q相同,即P与Q是椭圆曲线的某一点,如图2-7所示,则过P做椭圆的切线,该切线同E相交点为M,M关于X轴的对称点M就是P+P的点加和,即M=P +P,我们将P + P记做M = 2 P,以此类推,n个P相加 P + P + P .+P 记做 nP ,nP 也称 为 倍 乘 。 根 据 椭 圆 曲 线 的 性 质 , 2P、3P.nP都是E上的点

62、。 2024/8/6140第2章密码学基础1. ECC算法依赖的数学问题2024/8/6141第2章密码学基础1. ECC算法依赖的数学问题 椭圆曲线离散对数问题-给定椭圆曲线E及该椭圆曲线上的一点P,kP 表示k个P相加,k为某整数,如果椭圆曲线上存在一点Q,能够满足方程 Q = kP,那么椭圆曲线离散对数问题就是给定点P和点Q,求解k的问题,在数学上该问题是同时涉及整数因式分解和离散对数的难题。2024/8/6142第2章密码学基础1. ECC算法依赖的数学问题-ECC算法就是基于“椭圆曲线离散对数问题”难以求解而设计的-给定P和k容易通过方程Q = kP计算Q;-但是反过来,给定Q和P,

63、求k在计算上是不可行的,因此我们可以设定k为私钥。 2024/8/6143第2章密码学基础2. ECC算法密钥的选择 基于椭圆曲线密码体制的ECC算法在加解密之前,首先要给出椭圆曲线域的一些参数,如基点P,阶n ,以确定具体的椭圆曲线。 ECC算法密钥的产生是都是建立在某个有限域的椭圆曲线上,设给定一个具有q个元素有限域的椭圆曲线E,E 的基点是P,P的阶为n。 2024/8/6144第2章密码学基础2. ECC算法密钥的选择 (1)密钥的产生者在区间2,n-1随机选取某整数k;(2)计算Q = kP。 则Q就是公钥,私钥是k。 2024/8/6145第2章密码学基础3. ECC算法的加解密过

64、程 假设网络上的用户Alice和Bob要进行保密通信,它们选择ECC算法加密通信的报文。Alice与Bob知道同一条椭圆曲线E,并已分别产生公钥/私钥对kA/QA,kB/QB,Alice欲发送明文m送给Bob,并且已获知Bob的公钥QB。 2024/8/6146第2章密码学基础3. ECC算法的加解密过程 Alice加密过程如下:(1)首先要将明文m编码成椭圆曲线上的点Pm,Pm为(Xm,Ym );(2)Alice随机选择整数k2,n-1;(3)计算 kP = R1 (X1,Y1),( kQB = R2 (X2,Y2);如果X2 =0;则返回到(2); 则密文C由 R1,Pm +R2 组成;

65、2024/8/6147第2章密码学基础3. ECC算法的加解密过程 Bob收到密文C后,解密过程如下:(1)计算kBR1 = kBkP = k kBP = kQB(2)Bob利用密文C的第二点的值R2 + Pm 减去由(1)计算得到的结果kQB,即 Pm + R2 kQB = Pm + kQB kQB = Pm;(3)Bob得到椭圆曲线上点Pm ,然后按照某种解码方法从点Pm获取明文m。 2024/8/6148第2章密码学基础4. ECC算法的安全性分析 ECC算法的安全性依赖于椭圆曲线离散对数问题计算的困难性,如果离散对数问题容易计算,从用户的公钥能够推导出私钥,那么整个密码体制就会坍塌。

66、2024/8/6149第2章密码学基础4. ECC算法的安全性分析 相对于RSA,ECC具有一定的优势:安全性高 解决椭圆曲线上的离散对数问题,其时间复杂度是完全指数阶的,而RSA所依赖的大整数因子分解问题,其时间复杂度是子指数阶的,因此攻击ECC的复杂度比RSA要高得多;2024/8/6150第2章密码学基础4. ECC算法的安全性分析 相对于RSA,ECC具有一定的优势:密钥短 ECC算法中所使用的密钥长度比RSA中要短很多,一般加解密时使用160位长度密钥,据统计,160位密钥ECC与1024位RSA安全强度相同性能高 ECC算法的性能比RSA算法要高,其加解密速度比RSA要快得多。20

67、24/8/6151第2章密码学基础4. ECC算法的安全性分析 2024/8/6152第2章密码学基础4. ECC算法的安全性分析 RSA算法因为原理简单被广泛使用ECC算法在实际应用中相对比较少ECC算法理论不断完善,会被应用到实际系统中 2024/8/6153第2章密码学基础2.3.4 公钥密码体制的应用 1.用于加解密信息 2.用于数字签名 2024/8/6154第2章密码学基础2.4 量子密码体制 2.4.1概述2.4.2量子密码原理 2.4.3量子密钥分配2.4.4量子密钥分配协议BB84 2.4.5量子密码体制的发展与现状 2.4.6三大密码体制的比较 2024/8/6155第2章

68、密码学基础2.4.1 概述概述 对称密码体制与公钥密码体制绝大部分算法都是实际上保密的密码体制,理论上并不保密。理论上唯一能确保不可破译的密码体制是一次一密密码。该体制在实际应用中是不可行的。 156现代密码学中“不可破译”的密码“一次一密”加密方式明文明文011010011010XOR 110010XOR 110010XOR=XOR=Exclusive-ORExclusive-OR101000101000密文密文通道通道101000101000密文密文XOR 110010XOR 110010011010011010明文明文如果1)密钥的长度=信息的长度2)密钥只使用一次“一次一密”原理上原理

69、上绝对安全(Shannon 1949)如何在发送者与接收者间建立如何在发送者与接收者间建立密钥?密钥分配问题密钥?密钥分配问题发送者发送者AliceAlice窃听者窃听者EveEve接收者接收者BobBob密钥密钥密钥密钥2024/8/6157第2章密码学基础2.4.1 概述概述 1996年,Bell 试验室的Lov Grover 发现了一种量子搜索算法,该算法可以对现有的DES算法中的密钥进行快速穷举,从而破译出密钥。因此不论是对称密码体制还是公钥密码体制,在量子计算环境下,安全性受到极大的威胁。为此,从事密码学研究的专家就考虑到:利用量子通信中量子的性质重新建立新的密码体制,即量子密码体制

70、。2024/8/6158第2章密码学基础2.4.1 概述概述1970年,美国科学家威斯纳首次提出量子密码技术,威斯纳当时的想法是利用单量子态制造不可伪造的“电子钞票”。1984年,贝内特和布拉萨德两位学者提出了第一个量子密钥分配方案BB84协议,标志着量子密码体制研究真正的开始。2024/8/6159第2章密码学基础2.4.1 概述概述量子密码是以量子力学和密码学为基础,利用量子物理学中的原理实现密码体制的一种新型密码体制。量子密码利用信息载体的物理属性实现。目前,量子密码中用于承载信息的载体包括光子、压缩态光信号、相干态光信号等。当前量子密码实验中,大多采用光子作为信息的载体。利用光子的偏振

71、进行编码2024/8/6160第2章密码学基础2.4.1 概述概述量子密码体制的理论基础是量子物理定理,理论上,依赖于这些物理定理的量子密码也是不可攻破的,量子密码体制是一种绝对保密的密码体制。2024/8/6161第2章密码学基础2.4.2 量子密码原理量子密码原理 量子密码利用测不准原理和量子不可克隆原理,建立量子密钥,该密钥不会被任何攻击者窃听到,因为通信双方在确定密钥之前可以检测信息是否被干扰过。1.海森堡测不准原理2.量子不可克隆定理3.量子纠缠4.量子密码安全性分析162信息与测量信息与测量信息的获取涉及测量过程;测量精度决定可获取的信息量;经典物理测量过程可以不改变被测物体状态;

72、窃听者可以获取信息而不被发现。量子物理测量过程一般会改变被测物体状态(测不准原理);量子力学提供了探测窃听的手段。2024/8/6163第2章密码学基础1. 海森堡测不准原理海森堡测不准原理对任何量子系统都不可能进行精确的测量而不改变其原有的状态,即对量子系统的任何测量都会改变其量子态,并且这种转变是不可预测、无法逆转的。2024/8/6164第2章密码学基础2. 量子不可克隆定理量子不可克隆定理量子不可克隆定理的最初表述是Wootters和Zurek两位学者于1982年提出来的,当时,他们在自然杂志上发表的一篇paper里提出了这样的问题:是否存在一个物理过程,实现对一个未知量子态的精确复制

73、,使得每个复制态与初始的量子态完全相同呢?Wootters和Zurek证明了不存在这样的物理过程2024/8/6165第2章密码学基础2. 量子不可克隆定理量子不可克隆定理量子不可克隆原理是海森堡测不准原理的推论,它是指在不知道量子态的情况下精确复制单个量子是不可能的,即未知态的单量子是不可精确复制的。2024/8/6166第2章密码学基础2. 量子不可克隆定理量子不可克隆定理量子不可克隆定理是量子力学的固有特性,量子力学以量子态作为信息载体,量子态不可精确复制是量子密码体制的重要前提,它确保了量子密码的“绝对保密”特性。2024/8/6167第2章密码学基础3. 量子纠缠量子纠缠量子纠缠也是

74、量子密码学基本原理之一。所谓“量子纠缠”是指不论两个粒子间距离有多远,一个粒子的变化总会影响另一个粒子的变化,即两个粒子之间不论相距多远,从根本上讲它们还是相互联系的。2024/8/6168第2章密码学基础4. 量子密码安全性分析量子密码安全性分析 发送方与接收方在信息交互中通过比较各自的量子态,判断通信信道上存在攻击者2024/8/6169第2章密码学基础4. 量子密码安全性分析量子密码安全性分析 攻击者利用物理上可行的量子复制机克隆发送方发送的量子态,仍无法获得所需的量子比特信息。2024/8/6170第2章密码学基础2.4.3 量子密钥分配量子密钥分配 在传统的通信信道上,不可能通过通信

75、信道直接传输双方共享的密钥。量子密码体制能为通信双方提供可靠的密钥分配手段。2024/8/6171第2章密码学基础2.4.3 量子密钥分配量子密钥分配 量子密码学以量子态作为密钥的编码方式在实际实验操作中,光子常被用作量子密钥的信息载体。172量子力学:测量过程 对量子态产生扰动量子密钥分配的基本原理1011100000110110011010001101AliceBobEve量子编码Errors随机数发生器过高的比特误码率窃听者的存在2024/8/6173第2章密码学基础2.4.3 量子密钥分配量子密钥分配 主要有以下三类量子密钥的分配方案:1.基于两种共轭基的量子密钥分配方案2.基于两个非

76、正态的两态量子密钥分配方案3.基于EPR佯谬的纠缠态量子密钥分配方案2024/8/6174第2章密码学基础2.4.4 量子密钥分配协议量子密钥分配协议BB84 1984年,IBM公司的C.H.Bennett和蒙特利尔大学的GBrassard两人共同提出量子密钥分配协议BB84,1991年该协议通过实验得到了证实。主要介绍以下几点内容:1.物理学原理2.BB84协议具体工作过程3.BB84协议举例2024/8/6175第2章密码学基础1. 物理学原理物理学原理 根据物理学现象,光子有四个不同的偏振方向,分别是:水平方向、垂直方向、与水平成45夹角、与水平成135夹角。构成一组基,称为线偏振,构成

77、一组基,称为斜偏振。 线偏振和斜偏振是互补的,对某个光子,不可能同时用线偏振和斜偏振测量它,称线偏振与斜偏振为共轭基。2024/8/6178第2章密码学基础1. 物理学原理物理学原理 同一基内的两个量子态是正交的,且其中的两个偏振方向是可以区分的,即中的两个量子态是正交的,使用线偏振基测量时,能够区分光子的水平偏振方向与垂直偏振方向;同理,中的两个量子态也是正交的。2024/8/6179第2章密码学基础1. 物理学原理物理学原理假设发送者Alice发送的是偏振方向为线偏振光子,如果接收者Bob使用的是线偏振基测量,那么测量结果就是水平偏振方向,换句话说,Bob选择正确的测量基能得到所需的结果;

78、如果接收者Bob使用的是斜偏振基测量,那么Bob测得结果是随机的,50%概率是与水平成45夹角方向,50%概率是与水平成135夹角方向。但是Bob自身并不得知其测量结果是正确的还是错误的,除非他和Alice进一步通信确认其测量基的选择是否正确。180要点1-利用单个量子态编码:例如单个光子的偏振态。!Eve Eve 可以进行可以进行“截取截取- -测量测量- -再发送再发送”攻击攻击实例:BB84协议(1)1 0 1 1 0 1“1”“0”Alice Bob 90 0偏振 比特值偏振分光镜 单光子探测器181Alice Bob 901 0 1 1 0 1“1”“0”基一1 0 1 1 0 1“

79、1”“0”基二/20135 45实例:BB84协议(2)要点2:两组非对易“基”Alice/Bob随机改变“发送基”/“测量基”Alice/Bob 只保留“相同基”的数据2024/8/6182第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 BB84协议主要思路分为两个阶段:第一阶段在量子信道上单向的信息传输;第二阶段在传统公共信道上双向的信息传输。如图2-8所示,假设通信双方分别是Alice和Bob,其中Alice是信息的发送方、Bob是信息的接收方,Eve是攻击方。2024/8/6183第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 2024/8/6184第2

80、章密码学基础2. BB84协议具体工作过程协议具体工作过程 Alice和Bob事先要约定好各偏振方向所表示的二进制比特,即表示的0还是1。在BB84协议中,一般规定水平偏振方向、斜偏振方向45角表示比特“0”;线偏振垂直方向、斜偏振方向135角表示比特“1”。Alice和Bob选择的测量共轭基是(,),使用只能检测到水平与垂直方向上的光子,使用只能检测到与水平成45度方向以及与水平成135度方向。2024/8/6185第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 第一阶段:量子信道上的通信,Alice在量子信道上发送信息给Bob,量子信道一般是光纤,也可以是自由空间,比如利用

81、空气传输,具体操作步骤如下: 在发送端和接收端均放置偏振方向分别为水平方向、与水平成45度夹角、与水平成90夹角、与水平成135夹角的四个偏振仪。2024/8/6186第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 Alice选择一串光子脉冲随机的通过各偏振仪。不同的偏振仪产生不同的偏振方向,分别代表不同的量子态。例如某个光子通过偏振方向是垂直方向的偏振仪,则发送的光子偏振方向就是。Alice同时要记录发送的光子序列偏振方向。 Bob随机选择一组测量基序列接收单光子。由于Bob事先并不知道Alice使用的是什么测量基序列,它只好将自己的测量基以及测量结果保存好,并且不对外公开。

82、2024/8/6187第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 第二阶段:传统公共信道上的通信: Bob将它随机选择的测量基序列通过公共信道发送给Alice,此通信过程不存在任何安全措施,所发的测量基序列Eve可以窃取到; Alice收到Bob测量基之后,将它与自己所发的光子序列偏振方向做比较,确定Bob在哪些位上用的是正确的测量基,并将比较结果通过公共信道返回给Bob;2024/8/6188第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 Alice和Bob同时确定了正确的测量基,由此双方根据测量基产生原始密钥; 双方比较部分原始密钥。这里要分两种情况考虑

83、,无噪声的量子通信信道和有噪声的量子通信信道,在有噪声的量子通信信道上,即使没有攻击者,光子的偏振方向也会受到影响,因此影响双方的测量结果。2024/8/6189第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 我们先考虑Alice和Bob通信的量子信道上无任何噪声干扰,Alice和Bob从原始密钥中选出相同的随机序列m位,通过公共信道传送给对方做比较,如果彼此比较结果发现不一致的现象,则证明存在窃听者Eve; 如果比较的结果一致,表明Eve存在概率的可能性非常小,因为Eve存在但是不被发现的概率是非常小的;2024/8/6190第2章密码学基础2. BB84协议具体工作过程协议

84、具体工作过程 4.1) 如果判定没有Eve窃听,Alice与Bob从原始密钥中删除刚才用于比较的m比特密钥,将余下的密钥用作接下来通信的共享密钥;4.2)如果判定存在Eve,则抛弃此次发送的光子序列信息,转第一阶段,Alice重新发送一串光子序列;2024/8/6191第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 如果量子通信信道上存在噪声干扰。 需要通信双方事先约定好一个错误率的阈值,当计算所得错误率超过设定的阈值时,就认为信道上存在窃听者,丢弃这次通信的收发信息。否则,转5.1)2024/8/6192第2章密码学基础2. BB84协议具体工作过程协议具体工作过程 5.1)

85、Bob删除用于比较的m比特密钥,并在余下的原始密钥n位中找出由噪声产生的错误位;5.2)Alice与Bob在n位原始密钥基础上协商通信密钥。同时为了进一步防止Eve的窃听,对协商后的密钥进行置换,然后再分块做奇偶校验,经过多项调整措施后获得最终的通信密钥;2024/8/6193第2章密码学基础3. BB84协议举例协议举例 例:假设通信前Alice和Bob约定好线偏振水平方向、斜偏振方向45角表示比特“0”;线偏振垂直方向、斜偏振方向135角表示比特“1”。第一种情况,我们假设量子通信信道上不存在攻击者Eve。 Alice发送的光子偏振序列如表2-11所示: 2024/8/6194第2章密码学

86、基础3. BB84协议举例协议举例 2024/8/6195第2章密码学基础3. BB84协议举例协议举例 Bob选择接收的测量基序列如表2-12所示: 2024/8/6196第2章密码学基础3. BB84协议举例协议举例 Bob接收时选择的测量基序列完全是随机的,因此它有50%猜对测量基的机会,如果选择的测量基与接收的对应的光子的偏振方向一致,则测得结果与发送的量子偏振方向一样,例如,光子的偏振方向是线性偏振,选择的测量基是 ,则测量所得结果 ;反之,如果选择的测量基与接收的对应光子偏振方向是共轭的(不一致的),则测量结果是随机的 2024/8/6197第2章密码学基础3. BB84协议举例协

87、议举例 Bob将它的测量基表2-13发送给Alice,但是测量结果并不传送给Alice 2024/8/6198第2章密码学基础3. BB84协议举例协议举例 Alice收到Bob测量基,验证Bob哪些位的测量基是正确的。具体方法很简单:将Bob测量基与自己的发送光子序列的偏振方向比较即可。并将比较结果返回给Bob。在此例中,Bob选择的1,2,5,7,8 位测量基是正确的,如表2-14所示 2024/8/6199第2章密码学基础3. BB84协议举例协议举例 Alice和Bob保留正确部分的测量结果,并按照事先设定好的偏振方向与二进制比特之间的映射关系将其转化为对应的二进制比特01111。然后

88、Alice和Bob根据保留的1,2,5,7,8位的测量结果协商密钥2024/8/6200第2章密码学基础3. BB84协议举例协议举例 (5.1)Alice和Bob随机的选择1,5,8三位(即m=3),比较各自的测量结果。Alice的1,5,8三位对应的结果是mAlice=011,Bob 1,5,8三位对应的结果是mBob=011,显然mAlice=mBob,至此我们根据上面讲述BB84协议工作过程规则4),可以认为Alice和Bob通信的量子信道上不存在攻击者Eve 2024/8/6201第2章密码学基础3. BB84协议举例协议举例 (5.2)Alice和Bob丢弃刚才所选择的1,5,8用

89、于比较的密钥,剩下来的2,7两位即可用于作为通信的共享密钥,在此,“11“便是Alice和Bob所得的共享密钥 2024/8/6202第2章密码学基础3. BB84协议举例协议举例 第二种情况:我们考虑量子信道上有窃听者Eve。Alice和Bob的通信信道上存在攻击者Eve,Eve直接窃听Alice发送的一串光子,我们考虑Eve对Alice发送的每一个光子都窃听的情况,换句话说,Eve窃听的概率P=1,Eve与Bob一样,无法知道光子的偏振方向,因此只是随机的选择测量基。 2024/8/6203第2章密码学基础3. BB84协议举例协议举例 假设Eve选择的测量基如表2-15所示。其测得的光子

90、偏振方向如表2-15所示: 根据测不准原理,因为Eve的测量改变了Alice发送的光子偏振方向,Eve只能将自己所测过光子偏振方向转发给Bob2024/8/6204第2章密码学基础3. BB84协议举例协议举例 Bob继续选择原来的测量基接收Eve转发的光子,则Bob测得结果如表2-16 2024/8/6205第2章密码学基础3. BB84协议举例协议举例 2024/8/6206第2章密码学基础3. BB84协议举例协议举例 2024/8/6207第2章密码学基础3. BB84协议举例协议举例 与不存在Eve时的步骤一样,Bob将它的测量基(如表2-13)发送给Alice;2024/8/620

91、8第2章密码学基础3. BB84协议举例协议举例 Alice验证Bob测量基哪些位是正确的,根据表2-14,Bob选择的1,2,5,7,8五位测量基是准确的;2024/8/6209第2章密码学基础3. BB84协议举例协议举例 Alice与Bob两者均保留1,2,5,7,8位测量结果,并随机选择1,5,8三位互相比较测量结果,此时mAlice= 011,mBob = 001,显然,mAlicemBob 2024/8/6210第2章密码学基础3. BB84协议举例协议举例 2024/8/6211第2章密码学基础3. BB84协议举例协议举例 (5.1)在无噪声的量子通信信道上mAlice与mBo

92、b不等,Alice和Bob立即断定攻击者Eve存在。Alice和Bob放弃所有传送的数据,重新协商密钥。2024/8/6212第2章密码学基础2.4.5 量子密码体制的发展与现状量子密码体制的发展与现状 量子密码体制研究进展比较快的国家包括英国、美国、瑞典。1993年英国国防研究部首先在10公里长的光纤中实现了量子密钥分发,该方案基于BB84协议,后来经过多次改进到1995年,能成功在30公里长的光纤传输中完成量子密钥分发。美国洛斯阿莫斯国家实验室成功在48公里长的光缆中完成量子密钥的分发,它们基于B92协议。2024/8/6213第2章密码学基础2.4.5 量子密码体制的发展与现状量子密码体

93、制的发展与现状在我国,量子密码通信的研究起步稍微晚一点1995年,中科院物理研究所在国内首次演示基于BB84方案的量子密钥分发实验,华东师范大学在较短的自由空间完成基于B92方案的实验。2000年,中科院物理所与研究生院合作,在850纳米的单膜光纤中成功完成1.1公里的量子密码通信演示性实验。2024/8/6214第2章密码学基础1999年,瑞典和日本合作,在40公里长的光纤中成功地进行了量子密码通信实验。2002年11月,日本三菱电机公司在实验中完成传输距离长度已达87公里的量子密钥分发。2024/8/6215第2章密码学基础2.4.5 量子密码体制的发展与现状量子密码体制的发展与现状200

94、4年6月3日,世界上第一个量子密码通信网络在美国马萨诸塞州剑桥城正式投入运行,新的量子密码通信网络与现有的因特网技术完全兼容。现状及未来220实验系统-距离:自由空间:150km;光纤:250km-效率:(50km):1Mbits/S商用系统-距离:100km (光纤)-效率:10Kbits/S全球QKD网络传统中继站量子中继器卫星欧盟(2008)美国(2005)日本(2010)中国(2009)221QKD 网络222商业化商业化QKD系统系统美国,MAGIQ TECH. .瑞士,ID QUANTIQUE中国,安徽问天量子科技股份有限公司2024/8/6223第2章密码学基础2.4.6 三大密码体制的比较三大密码体制的比较 依赖的原理不同 保密的程度不同 加解密方法不同 用途不同 2024/8/6224第2章密码学基础习习 题题 课后作业:P50 6,9,10

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号