第2章-密码学基础(8课时)_第1页
第2章-密码学基础(8课时)_第2页
第2章-密码学基础(8课时)_第3页
第2章-密码学基础(8课时)_第4页
第2章-密码学基础(8课时)_第5页
已阅读5页,还剩219页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章密码学基础

电子商务安全2023/2/52第2章密码学基础问题的提出国内第一起电子邮件侵权案2023/2/53第2章密码学基础如果电子邮件的发送附加了数字签名,也许本案就不会发生了。第2章密码学基础

▅2.1密码学概述

▅2.2传统对称密码体制

▅2.3公钥密码体制

▅2.4量子密码体制

电子商务安全2023/2/55第2章密码学基础2.1密码学概述2.1.1密码学起源与发展2.1.2什么是密码学2.1.3密码体制分类2.1.4密码系统设计的基本原则2.1.5密码系统攻击及分析2023/2/56第2章密码学基础2.1.1密码学起源与发展密码学的雏形始于古希腊人在战场上加密写有“战争机密”的信件2023/2/57第2章密码学基础2.1.1密码学起源与发展1.古典密码学

1949年之前,密码学是一门艺术2.近代密码学

1949~1975年:密码学成为科学3.现代密码学

1976年以后:密码学的新方向——公钥密码学2023/2/58第2章密码学基础隐写术(steganography):

通过隐藏消息的存在来保护消息.隐形墨水字符格式的变化图象图像

2.1.1密码学起源与发展2023/2/59第2章密码学基础象形文字的修改(ModifiedHieroglyphics)c.1900B.C.

密码学的第一个例子是对标准书写符号的修改我去君留十载中爱无南北与西东万株松树青山上洁白孤高生不同2023/2/510第2章密码学基础example-ii2023/2/511第2章密码学基础2.1.1密码学起源与发展传说,古时候有一对夫妻,男的名叫李石匠,女的叫张小花。李石匠靠手艺赚钱,张小花在家纺纱织布。一年,李石匠参加修建石桥,因工程紧张,十一个月也没回家一次。张小花独自在家只有纺车做伴。一天石匠工地回来一个工友路过她家,她托这个工友给丈夫带去一封书信。2023/2/512第2章密码学基础公元前400年斯巴达人使用密码棍(scytale)2023/2/513第2章密码学基础2.1.1密码学起源与发展加密:将要传递的信息隐藏例如:清末大儒纪晓岚赠送的对联鳳遊禾蔭鳥飛去馬走蘆邊草不生禾下加鳳去掉鳥字得禿字馬置蘆邊去掉草頭得驢字

2023/2/514第2章密码学基础Phaistos(范斯特)圆盘,一种直径约为160mm的粘土圆盘,始于公元前17世纪。表面有明显字间空格的字母,至今还没有破解2023/2/515第2章密码学基础转轮密码机ENIGMA,1944年装备德国海军2023/2/516第2章密码学基础20世纪早期密码机2023/2/517第2章密码学基础2.1.1密码学起源与发展这样的数字毫无意义么?2023/2/518第2章密码学基础16世纪意大利数学家卡尔达诺发明的一种保密通信方法,史称“卡尔达诺漏格板”.漏格板是一张用硬质材料(如硬纸、羊皮、金属等)做成的板,上面挖了一些长方形的孔,即漏格.2.1.1密码学起源与发展2023/2/519第2章密码学基础2.1.1密码学起源与发展大约在1793年,当时的美国总统托马斯杰斐逊发明了一种轮子密码机。2023/2/520第2章密码学基础2.1.1密码学起源与发展以二战时期真实历史为背景的,关于电报密文窃听和密码破解的故事2023/2/521第2章密码学基础2.1.2什么是密码学1.密码学概念2.密码系统构成3.密码系统数学模型

2023/2/522第2章密码学基础1.密码学概念密码学(Cryptology):是研究如何保护信息安全性的一门科学。它包含两个分支:密码编码学和密码分析学。密码编码学(Cryptography):主要研究密码方案的设计,即寻找对信息编码的方法从而实现隐藏信息的一门学问。密码分析学(Cryptanalytics),:主要是从攻击者的角度来看问题,研究如何破解被隐藏信息的一门学问。两个分支:是既相互对立,又相互依存的科学。2023/2/523第2章密码学基础2.密码系统构成

密码系统主要包括以下几个基本要素:明文(PlainText),指的是希望得到保密的原始信息。通常用P或M表示。用某种方法伪装信息以隐藏它的内容的过程称为加密(Encryption)经过加密处理后得到的隐藏信息称为密文(CipherText),通常用C表示。

而把密文转变为明文的过程称为解密(Decryption)。2023/2/524第2章密码学基础2023/2/525第2章密码学基础加密算法(EncryptionAlgorithm)。通常用E表示。是指通过一系列的变换、替代或其他各种方式将明文信息转化为密文的方法。解密算法(DecryptionAlgorithm)。通常用D表示。指通过一系列的变换、替代或其他各种方法将密文恢复为明文的方法。2023/2/526第2章密码学基础举例说明上述概念商人贾某要给他儿子发一份密码电报,电文四个字:“抛售布匹”(原文)。按照电报码手册,这四个汉字对应:2141078615800572,然后把每个四位数都加上100(加密密钥),四个四位数就变成了:2241088616800672,此刻这四个电报码对应变为:“抡噌庙叵”(密文)。儿子收到电报“抡噌庙叵”后,根据相应的电报码手册得到:2241088616800672,按照事先的约定,分别减去100(解密密钥),就得到“抛售布匹”的信息。2023/2/527第2章密码学基础2.密码系统构成

加解密算法通常都是在一组密钥的控制下进行的,分别称为加密密钥和解密密钥。加密和解密过程如下图所示。明文明文密文加密算法解密算法加密密钥解密密钥2023/2/528第2章密码学基础3.密码系统数学模型

以五元组(M,C,K,E,D)表示密码系统,其中M是明文信息空间,C是密文信息空间,K是密钥信息空间,E是加密算法,D是解密算法。各元素之间有如下的关系:E:MK->C,表示E是M与K到C的一个映射;D:CK->M,表示D是C与K到M的一个映射。2023/2/529第2章密码学基础3.密码系统数学模型

在最早的恺撒密码体制中明文信息空间是26个英文字母集合,即M={a,b,c,d……z,A,B……Z};密文信息空间也是26个英文字母集合,即C={a,b,c,d…..z,A,B…..Z}密钥信息空间是正整数集合,即

K={N|N=1,2…..};因此Ek=(M+K)mod26;与之对应的解密算法是Dk

,Dk=(C-K)mod26。2023/2/530第2章密码学基础3.密码系统数学模型

例如:恺撒密码体制解密算法:(C-K)mod262023/2/531第2章密码学基础3.密码系统数学模型

发送信息的一方使用密钥K加密明文M,通过加密算法得到密文C,即C=EK(M);接收信息的一方使用密钥K’解密密文C,通过解密算法得到明文M,即M=DK’(C);。K与K’可能相等,也可能不等,具体取决于所采用的密码体制。

2023/2/532第2章密码学基础3.密码系统数学模型

明文m加密算法:密文c=Ek1(m)加密密钥源解密密钥源解密算法:m=Dk2(c)明文mmmk1k2cc2023/2/533第2章密码学基础2.1.3密码体制分类

按不同的划分标准或者方式,密码体制可以分为多种形式。我们主要从加密方式、所采用的密钥方式以及保密程度来划分。

2023/2/534第2章密码学基础1.按加密方式划分

(1)流密码体制。也称为序列密码,它是将明文信息一次加密一个比特形成密文字符串,典型的流密码体制是一次一密密码体制,其密钥长度与明文长度相等。

(2)分组密码体制。

也称为块密码体制,分组密码则是将明文信息分成各组或者说各块,每组具有固定的长度,然后将一个分组作为整体通过加密算法产生对应密文的处理方式。2023/2/535第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…。2023/2/536第2章密码学基础1.按加密方式划分

⑴流密码加密算法E解密算法D明文mi密文ci=Eki(mi)明文mi=Dki(ci)密钥ki密钥ki2023/2/537第2章密码学基础⑴分组密码2023/2/538第2章密码学基础2.按使用的密钥方式划分

(1)单密钥体制。也称为对称密码机制,在该体制下,密码系统只有一个密钥,加密算法和解密算法使用统一的一个密钥,拥有密钥的用户既可以加密信息也可以解密信息。(2)双密钥体制。也称为非对称密码体制或者公钥密码体制,在该体制下,密码系统有两个密钥,分别是公开密钥和私有密钥,公开密钥是对外公开的,即所有的人都可知,私有密钥是只有特定的用户方能拥有。2023/2/539第2章密码学基础3.按保密程度划分

(1)实际上保密的密码体制。是指在理论上可破解,但是在现有的客观条件下以及有限的时间内,无法通过计算从密文破译出明文或者密钥的密码体制。(2)绝对保密的密码体制。是指无论在理论上还是实际上,都不可破解的密码体制。2023/2/540第2章密码学基础2.1.4密码系统设计的基本原则

(1)简单实用原则。(2)抗攻击性原则。(3)算法公开化原则。2023/2/541第2章密码学基础2.1.5密码系统攻击及分析

对密码系统的攻击分为被动攻击和主动攻击被动攻击是指通过窃取密文试图了解明文或者密钥的内容;主动攻击是指篡改和伪造密文,以达到修改或者伪造明文的目的。被动攻击的主要方法有:通过窃听通信信道上传输的密文,对其进行分析破译出明文为或者密钥;

主动攻击的主要方法有:攻击者截取通信信道上传输的密文,然后对其篡改(如添加、删除某些内容)再发送2023/2/542第2章密码学基础2.2传统对称密码体制

在公钥密码体制出现以前,无论是古典密码还是近现代密码都属于对称密码体制,也就是说加密和解密使用同一个密钥。2.2.1加解密的基本原理

2.2.2数据加密标准DES

2.2.3高级加密标准AES2023/2/543第2章密码学基础2.2.1加解密的基本原理基于对明文信息的“置换”和“替代”完成的,或者是通过对两者的组合运用即乘积的方式完成。2023/2/544第2章密码学基础1.置换置换又称“换位”方法,是指变换明文中各元素的相对位置,但保持其内容不变的方法,即通过对明文元素重新排列组合来达到隐藏明文原始内容所表达含义的加密方法。最典型的置换密码体制是栅栏密码技术。2023/2/545第2章密码学基础1.置换栅栏加密算法步骤如下:①将明文的元素按照两行的方式书写,并按照从上到下,从左到右的方式排列;②按从上到下的顺序依次读出每一行的元素所得到的组合就是密文。2023/2/546第2章密码学基础1.置换栅栏解密算法步骤如下:①将接收到的密文按照从左到右的顺序写为两行,如果密文元素的个数为偶数n,则每一行写n/2个元素;如果密文元素个数为奇数,则第一行排列[n+1]/2个元素,第二行排列[n-1]/2个元素;②按照加密算法的规则,依次从上到下,从左到右的规则读取各元素,所得到的字母序列即获得所需要的明文。2023/2/547第2章密码学基础1.置换2023/2/548第2章密码学基础1.置换一种改进的方案是将明文元素以矩阵的方式排列,假设明文可以写成nm的n行m阶的矩阵,矩阵法:①按照nm的矩阵格式从左到右依次写出明文元素;②根据密钥的内容指示,读出相应各列的明文元素;③所有读出的元素按一行的顺序排列,得到的结果即为密文。

2023/2/549第2章密码学基础1.置换例如:2023/2/550第2章密码学基础1.置换矩阵法解密算法是:①根据密钥长度将密文写成矩阵形式,但书写的格式是按照逐列写,各列之间的排列顺序参照密钥内容的编号;②依次读取排列好的矩阵逐行元素,得到的结果就是明文。2023/2/551第2章密码学基础1.置换2023/2/552第2章密码学基础1.置换置换法破译:通过字母的使用频率破译2023/2/553第2章密码学基础2.替代替代方法是将明文各元素的内容用新的符号或者符号组合代替,替换之后形成的新的元素符号集合便是密文。ABCDEFGH……VWXYZFGHIJKLM……ABCDE2023/2/554第2章密码学基础2.替代——密码分析给定加密信息:PHHWPHDIWHUWKHSDUWB由于:①加密算法已知②可能尝试的密钥只有26个通过强力攻击得到明文:Meetmeaftertheparty替代法容易受到攻击!2023/2/555第2章密码学基础2.2.1加解密的基本原理将置换和替换两者交替使用的密码编码方法称为乘积密码Feistel密码结构就是乘积密码Feistel密码结构经过多轮循环的置换与替代操作现在普遍使用的分组密码体制设计原理几乎都遵循Feistel密码结构,如经典的数据加密标准DES。2023/2/556第2章密码学基础2.2.2数据加密标准DES2023/2/557第2章密码学基础1.DES的产生

1972年,美国标准局NBS(现在的NIST)公开征求用于计算机通信数据保密的方案,其要求为:①算法必须提供高度的安全性;②算法必须有详细的说明,并易于理解;③算法的安全性取决于密钥,不依赖于算法;④算法适用于所有用户;⑤算法适用于不同应用场合;⑥算法必须高效、经济;⑦算法必须能被证实有效;⑧算法必须可出口。2023/2/558第2章密码学基础1.DES的产生IBM公司的W.Tuchman和C.Meyers等研究人员提交了一个数据加密算法Lucifer该算法被美国标准局采用,在经过一系列的研究讨论和简单的修改于1977年正式批为数据加密标准DES。2023/2/559第2章密码学基础2.DES算法基本原理

DES属于典型的分组密码体制。DES将明文信息按64比特大小分组,密钥长度也是64比特,但是实际使用过程中密钥长度是56比特,另外8比特用作奇偶校验位(即每个字节的最后一位用作奇偶校验)。64比特的明文分组在密钥的作用下经过多次的置换和替代组合操作,最终形成攻击者难以破译的64比特密文。2023/2/560第2章密码学基础2.DES算法基本原理

置换和替代的多次组合过程多轮循环加密来扰乱和扩散明文信息

2023/2/561第2章密码学基础2.DES算法基本原理

DES算法加密的基本原理:⑴加密过程中输入64比特的明文,首先经过初始矩阵IP置换;⑵在56比特的输入密钥控制下,进行16轮迭代加密处理过程;⑶通过简单的换位和逆置换算法,得到64比特的输出密文。2023/2/562第2章密码学基础2.DES算法基本原理

DES算法加密的基本原理:2023/2/563第2章密码学基础2.DES算法基本原理

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

2023/2/565第2章密码学基础3.算法加密具体过程初始置换:初始置换矩阵IP

2023/2/566第2章密码学基础3.算法加密具体过程初始置换:由置换矩阵可知置换规则:将原先处在第58位置的比特置换后放在第1个位置,第50位置的比特置换后放在第2个位置,第7个位置的比特置换后放在第64个位置。如果明文M分组是序列m1m2m3

….m64,则经过IP置换后变成序列m58m50m42

….m7。2023/2/567第2章密码学基础3.算法加密具体过程初始置换:举例,假设64比特明文M是:按照初始置换矩阵IP的变换规则,将M变换为M1,M1序列是:2023/2/568第2章密码学基础3.算法加密具体过程M写成88的矩阵,如表2-7所示。初始置换后如表2-8所示2023/2/569第2章密码学基础3.算法加密具体过程通过比较表2-7与表2-8,可以发现,M由置换矩阵IP变换到M1遵循一定的规律:矩阵M1的第1行是矩阵M的第2列的倒置,第2行是矩阵M的第4列倒置,第5行是矩阵M的第1列的倒置。概括的说,置换后的矩阵M1前4行是明文矩阵M各偶数列的倒置,后4行是明文矩阵M各奇数列的倒置。2023/2/570第2章密码学基础3.算法加密具体过程再次对照逆初始矩阵IP-1(如表2-6所示)可发现,将M1前4行各行的倒置作为新矩阵M2的偶数列,后4行各行的倒置作为新矩阵M2的奇数列,会得到结果M=M2。也就是说将任何明文M经过初始矩阵IP置换,然后再经过逆初始矩阵IP-1的置换,M的值保持不变

2023/2/571第2章密码学基础3.算法加密具体过程每轮迭代加密处理过程:

DES算法加密过程需要16轮迭代处理,每一轮迭代的处理步骤是一样的,只是输入的信息和控制密钥不同,第i轮加密处理过程如图2-3所示。2023/2/572第2章密码学基础3.算法加密具体过程2023/2/573第2章密码学基础3.算法加密具体过程F函数是DES算法的精髓,它是多个置换函数和替代函数的组合函数,该函数以密钥和上一轮加密得到的部分结果作为输入,通过多次扩展、置换和替代达到真正“扰乱”明文信息的目的。F函数分为扩展、异或运算、S盒替代以及置换四个步骤。2023/2/574第2章密码学基础3.算法加密具体过程⑴扩展

F函数首先将32比特的数据Ri-1预扩展为48比特,其方法是:将Ri-1从左到右分成8块,每块4比特,然后将每块从4比特扩展到6比特。扩展的规则是:每一块向左扩展一位,同时向右扩展一位,也就是说,第n块向左扩展一位,与第n-1块未扩展前的最后一位相同,同时向右扩展一位,与第n+1块未扩展前的最后一位相同;2023/2/575第2章密码学基础3.算法加密具体过程例如由表2-8所知的序列M1,得到加密时的L0和R0分别是:首先将R0

分为8块,得到数据:1001011101010110101110011100000,如图2-4所示,2023/2/576第2章密码学基础3.算法加密具体过程2023/2/577第2章密码学基础3.算法加密具体过程⑵异或运算:由图2-3所示,经过扩展后的48比特Ri-1

将与第i轮加密密钥Ki进行异或运算,密钥Ki

也是48位,由原始密钥经过循环左移以及置换排列的方式产生,具体的生成过程后面将详细描述。

48位的Ki同Ri-1

一样,也分成8块,每块6比特,然后与扩展后的Ri-1

对应的各块做异或运算后,同样生成8个6位比特块,其输出是S盒子的输入。

2023/2/578第2章密码学基础3.算法加密具体过程假设密钥Ki的第1块6比特数据为:110111,图2-4所示的第一块扩展比特是010010,则两者异或的结果是1001012023/2/579第2章密码学基础3.算法加密具体过程⑶S盒替代

DES算法中的S盒子由8个子盒S1、S2、S3

、S4

、S5、S6、S7、S8组成,每个盒子构成4行16阶的416矩阵,表2-9列出了其中一个子盒S1的定义。

2023/2/580第2章密码学基础3.算法加密具体过程2023/2/581第2章密码学基础3.算法加密具体过程S盒子的输入是上述所讲的由Ri-1与Ki

两者异或运算得到的结果,其中第j个子盒Sj的输入是第j块异或运算的结果,输出是根据Sj盒子定义得到的4比特数据。2023/2/582第2章密码学基础3.算法加密具体过程对于每个盒子Sj

(j=1,2….8)其输入与输出之间的映射关系是:将Sj输入的第一位与最后一位两个二进制组合起来,得到某个十进制数m,m用来选择矩阵Sj的行;Sj输入的中间四比特数据组合,得到十进制数n,n用来选择矩阵Sj的列。已知行m与列n,查找已经定义好的矩阵Sj

的m行n列对应的值,该值就是Sj的输出。2023/2/583第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列对应的二进制数是10002023/2/584第2章密码学基础3.算法加密具体过程⑷置换F函数的最后一步是对S盒子输出的32比特数据进行置换,目的是使得S盒的输出对下一轮多个Si子盒产生影响,以增强DES的安全性。F函数的输出结果与上一轮加密处理的左半部分数据Li-1异或,得到第i轮加密处理的右半部分32位数据Ri。然后Li与Ri又作为第i+1轮加密处理时的输入数据,这样,经过16轮迭代加密处理之后,得到L16

与R16。

2023/2/585第2章密码学基础3.算法加密具体过程将R16

与L16

左右换位,即将R16的32比特数据移到左边,L16的32比特数据移到右边。换位之后,再次经过逆初始矩阵IP-1置换,最终得到的结果就是密文。2023/2/586第2章密码学基础4.DES算法解密过程

DES的解密算法与加密算法除了在每一轮循环迭代时所使用的控制密钥不同之外,其他的完全一样。并且,输出的64比特密文经过解密处理过程,所得结果就是所需的明文。2023/2/587第2章密码学基础5.密钥的生成DES算法定义的分组长度是64比特,其主密钥长度与明文分组长度一样,也是64比特,不过在实际使用中,只用到56比特,还有8比特用作奇偶校验位。每轮迭代所使用的密钥Ki(i=1,2….16)都是从主密钥生成的,Ki的长度是48比特。密钥的具体生成方法如图2-5所示:2023/2/588第2章密码学基础5.密钥的生成2023/2/589第2章密码学基础6.DES算法安全性分析关于DES算法的安全性,在最初公布的时候,曾受到很多人的置疑。攻击者会很容易的破译DES算法密钥更多的人担心保密设计的S盒子的安全性很多用户担心S盒子存在隐藏的弱点2023/2/590第2章密码学基础6.DES算法安全性分析DES算法为什么需要16次循环迭代?而不是15次或者更多的20次呢?不能一味的为了防止攻击者破译密码,不断增加循环迭代次数,否则算法的效率与性能将会受到影响较少的迭代次数又会导致攻击者容易分析密码算法,从而破译出密钥。2023/2/591第2章密码学基础6.DES算法安全性分析DES算法使用56位密钥是否安全?上世纪70年代,DES被广泛使用在安全级别要求不高的场合。但是20世纪90年代以来,从计算上讲,56位密钥的DES不能再认为是安全的。

2023/2/592第2章密码学基础2.2.3高级加密标准AES1.

AES的起源2.

AES的设计原则2023/2/593第2章密码学基础1.AES的起源1997年9月,NIST征集AES方案,以替代DES。1999年8月,以下5个方案成为最终候选方案:MARS,RC6,Rijndael,Serpent,Twofish。2000年10月,由比利时的JoanDaemen和VincentRijmen提出的算法最终胜出。(Rijndael读成RainDoll。)2000年12月,美国国家标准局NIST正式确认新一代数据加密标准是高级加密标准AES(AdvancedEncryptionStandard)。2023/2/594第2章密码学基础2.AES的设计原则能抵抗所有已知的攻击;在各种平台上易于实现,速度快;设计简单,是一种分组密码体制,加密和解密使用相同的密钥,属于对称密码体制;与DES分组密码体制不同的是,AES中明文或密文分组长度以及密钥长度不是固定的,而是可变的,它们可以是128比特、192比特、256比特。2023/2/595第2章密码学基础2.3公钥密码体制2.3.1

公钥密码体制的基本原理2.3.2

RSA算法2.3.3有限域上椭圆曲线密码算法ECC2.3.4公钥密码体制的应用2023/2/596第2章密码学基础古老的密码学问题

很久以前,分别有两个国家的公主和王子,公主要通过一位信使送给王子一样不愿被别人看见的信物,所以公主用加锁的箱子放信物。这位信使只愿意跑一趟,而且在这段路程中,只要一有机会(钥匙)就会偷看信物。问题:公主如何才能把信物安全的送到王子的手中?2023/2/597第2章密码学基础解决办法:让两个国家的每一个人都具有两副锁和钥匙,每幅各有一把锁和一把钥匙。每一把锁和它不配套的钥匙放在一起,这样每个人就有两副不配套的钥匙和锁了。将其中的一幅秘密留在家里(秘密锁钥);另一幅拿到锁厂,复制60亿副,让国家人人都能从市场上买到它(公开锁钥)。2023/2/598第2章密码学基础首先假设:公主的秘密锁钥(Ab),公开锁钥(Ba)

王子的秘密锁钥(Cd),公开锁钥(Dc)公主:送的箱子上共锁着两把锁(DA)王子:(Ba)——(A)(Cd)——(D)2023/2/599第2章密码学基础2.3.1公钥密码体制的基本原理1976年,狄菲和海尔曼提出了密码体制的新概念—公钥密码。使用两个密钥:公密钥、私密钥加解密的非对称性,是对对称密码的重要补充利用数论与其他数学难题的方法2023/2/5100第2章密码学基础2.3.1公钥密码体制的基本原理重要特点仅根据加密算法和加密密钥来确定解密密钥在计算上不可行两个密钥中的任何一个都可用来加密,另一个用来解密。六个组成部分:明文、密文;公钥、私钥;加密、解密算法2023/2/5101第2章密码学基础序号对称密码公钥密码1加密和解密使用相同的密钥加密和解密使用不同密钥2密钥必须保密存放私钥保密存放,公钥公开存放3通信前,收发双方必须实现密钥共享通信前,收发双方无需实现密钥共享4应用于数据加解密、可以实现数据保密性、认证等安全服务应用于数据加解密、数字签名、密钥交换等方面,实现数据保密、认证、数据完整性、不可否认性等安全服务2023/2/5102第2章密码学基础2.3.1公钥密码体制的基本原理1.公钥密码体制依赖的基础2.公钥密码系统的特征3.公钥密码体制加解密过程2023/2/5103第2章密码学基础1.公钥密码体制依赖的基础经典的公钥密码算法RSA、椭圆曲线密码算法ECC等都是依赖某类数学问题的,它们共同的特点是基于某个单向陷门函数。2023/2/5104第2章密码学基础单向陷门函数y=fk(x)是指同时满足下列条件的一类可逆函数:⑴函数是一一映射关系,一个y对应唯一的一个x;⑵给定x与关键参数k,函数y=fk(x)很容易计算;2023/2/5105第2章密码学基础1.公钥密码体制依赖的基础⑶给定y,存在某个关键参数k’,在未知k’时,逆函数x=f-1(y)的计算相当复杂,实际上是不可行的;在已知k’时,则逆函数x=f-1k’(y)很容易计算;⑷给定y和参数k,无法从函数y=fk(x)推导出影响其逆函数f-1的关键参数k’。2023/2/5106第2章密码学基础2.公钥密码系统的特征根据密码系统的组成以及公钥密码体制自身的特点,一个公钥密码系统可以表示为:加密算法E、解密算法D、公钥/私钥(PK/SK)对、明文M、密文C六个元素,且各元素必须要满足以下条件:2023/2/5107第2章密码学基础2.公钥密码系统的特征⑴密钥要满足三点要求:公钥/私钥(PK/SK)对容易产生,且私钥除了生成密钥的用户自己知道之外,其他任何人都不可知;PK和SK中的任何一个都可以用于加密,相应的另一个用于解密;从公开密钥PK无法通过计算得到私有密钥SK。2023/2/5108第2章密码学基础2.公钥密码系统的特征⑵

加密算法E要满足两点要求:已知公钥PK,对任何明文M,由E计算出密文C非常容易,即C=EPK(M)易计算已知私钥SK,对任何信息M,由E计算数字签名也非常容易,即C=ESK(M)易计算。2023/2/5109第2章密码学基础2.公钥密码系统的特征⑶解密算法D要求:

仅知道解密算法以及加密密钥,推导明文和解密密钥都是计算不可行的。2023/2/5110第2章密码学基础3.公钥密码体制加解密过程假设网络上的两个用户Alice和Bob需要进行秘密通信,为了防止攻击者Eve窃听信息,Alice和Bob选择使用公钥密码体制加密传输的信息。Alice是信息的发送方;Bob是信息的接收方。⑴Alice与Bob产生公钥/私钥对:PKA/SKA,PKB/SKB。2023/2/5111第2章密码学基础3.公钥密码体制加解密过程⑵Alice与Bob通过某种机制公布各自的公钥PKA与PKB,例如将公钥放到一个公共的服务器,供其他用户查询。2023/2/5112第2章密码学基础3.公钥密码体制加解密过程⑶Alice通过查询公共服务器获得Bob的公钥PKB。如果Alice欲给Bob发送报文M,他就用Bob的公钥PKB加密报文。已知待加密的明文M以及Bob的公钥PKB,Alice很容易通过加密算法E计算出密文,即C=EPKB(M)。2023/2/5113第2章密码学基础3.公钥密码体制加解密过程接收方Bob收到Alice发送的信息之后,使用自己的私钥SKB解密报文。已知密文C私钥SKB,Bob很容易通过解密算法计算出明文M,即M=DSKB(C)。2023/2/5114第2章密码学基础如果反过来呢?Bob发送给Alice信息该如何加密信息呢?2023/2/5115第2章密码学基础用公钥进行加密2Alice产生一对密钥,用于加密和解密3Alice将一个密钥公开,另一个密钥私有BobAlice1Bob要发送消息给Alice4Bob用Alice的公钥对消息加密,发送给Alice。只有Alice能解密2023/2/5116第2章密码学基础2.3.2RSA算法1.RSA算法依赖的数学问题2.RSA算法密钥产生过程3.RSA算法加解密过程4.RSA算法安全性及性能分析2023/2/5117第2章密码学基础RSA算法由MIT的Rivest,Shamir&Adleman在1977提出最著名的且被广泛应用的公钥加密体制明文、密文是0到n-1之间的整数,通常n的大小为1024位二进制或309位十进制数2023/2/5118第2章密码学基础2023/2/5119第2章密码学基础1.RSA算法依赖的数学问题⑴模运算的性质:正整数n是素数,集合Zn={0,1,2….,(n-1)}表示小于n的所有非负整数集合,则对于集合Zn中的每一个整数wZn,均存在一个z,满足公式w×z=1modn,我们称z是w的乘法逆元,且n是它们的模。2023/2/5120第2章密码学基础1.RSA算法依赖的数学问题⑵费马定理:如果p是素数,a是不能整除p的正整数,则:ap-1≡1modp例如:P=7,a=2,则27-1=26=64,64mod7=12023/2/5121第2章密码学基础1.RSA算法依赖的数学问题⑶欧拉函数:正整数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)=62023/2/5122第2章密码学基础1.RSA算法依赖的数学问题假定有两个不同的素数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}2023/2/5123第2章密码学基础1.RSA算法依赖的数学问题⑷欧拉定理:任何两个互素的整数a和n,有如下关系:

aØ(n)=1modn例如:a=3;n=8;由(3)欧拉函数的定义,Ø(8)=4;则aØ(n)=34=81=10×8+1≡1mod8≡1modn

2023/2/5124第2章密码学基础1.RSA算法依赖的数学问题欧几里德(Elucid)算法:该算法主要的思想是:用一个简单的方法确定两个正整数的最大公因子,并且如果这两个整数互素,通过扩展该算法能确定它们各自的逆元

2023/2/5125第2章密码学基础2.RSA算法密钥产生过程(1)随机选择两个大素数p与q,且p×q=n。建议p与q长度应该只差几个数字,且p与q应该位于区间[1075..10100]内(2)计算n的欧拉函数值:

Ø(n)=(p-1)×(q-1)

(3)随机选择一个大的正整数e,e满足小于n且与Ø(n)互素的条件,即e与Ø(n)的最大公因子是12023/2/5126第2章密码学基础2.RSA算法密钥产生过程(4)根据e,Ø(n),计算另外一个值d,d是e的乘法逆元,且Ø(n)是它们的模,由模运算的及乘法逆元的性质,d×e=1modØ(n)则两个二元组(e,n)、(d,n)构成RSA的密钥对,选择其中任意一个二元组作为公钥,则另外一个就为私钥,在此,我们定义(e,n)为公钥,(d,n)为私钥。2023/2/5127第2章密码学基础2.RSA算法密钥产生过程例如:1)令p=7,q=11,则n=77;2)计算n的欧拉函数值Ø(n)=(7-1)×(11-1)=60;3)选择e=17,e符合小于77,且于欧拉函数值Ø(n)(Ø(n)=60)的最大公因子是1的条件;4)计算e的逆元d,因为53×17=15×60+1≡1mod60,所以当e=17时,d=53。

因此(17,77)/(53,77)构成一个RSA的公钥/私钥对。

2023/2/5128第2章密码学基础3.RSA算法加解密过程RSA算法属于分组加密方案,也就是说明文以分组为单位加密分组的大小取决于所选的模n的值,明文块每个分组的长度可以相同也可以不同,但是,各分组大小必须小于或等于log2(n)的值。2023/2/5129第2章密码学基础已知明文的某块分组报文M,公钥(e,n),私钥(d,n),则加密过程如下:对M的e次方幂指数运算结果再做模n运算,所得结果即为密文C,即由M计算C用公式表示为:C=EpK(M)=Memodn(公式2.1)

2023/2/5130第2章密码学基础3.RSA算法加解密过程RSA算法加密和解密过程是等价的,解密过程如下:对C的d次方幂运算结果再做模n运算,所得结果即为明文M,即由C推导M可用公式表示为:M=DSK(M)=Cdmodn(公式2.2)2023/2/5131第2章密码学基础4.RSA算法安全性及性能分析RSA算法的安全性基于大整数因子分解的困难性,即给定大整数n,将n分解为两个素数因子p与q,在数学上已证明是难题,至今没有有效的方法予以解决。RSA密码方案的优点在于原理简单,易于使用

2023/2/5132第2章密码学基础4.RSA算法安全性及性能分析缺点:RSA的性能比较低。硬件实现的效率是DES的1/1000,软件实现的效率是DES的1/100,2023/2/5133第2章密码学基础RSA与DESRSA不适用于对长的明文信息加密它常常与对称密码体制结合使用RSA用来加密通信双方的会话密钥对称密码体制如DES用来加密传输的报文2023/2/5134第2章密码学基础4.RSA算法安全性及性能分析为了安全起见,RSA方案中要求模数n越来越大RSA密钥长度要求大于1024比特才有安全保障密钥长度的增加提高了安全性,但是进一步影响了算法的性能在选择RSA密钥时,在系统的安全性和性能之间需要找到一个平衡点2023/2/5135第2章密码学基础2.3.3有限域上椭圆曲线密码算法ECC1985年NealKobiltz和Victormiller提出椭圆曲线密码算法ECC(EllipticCurveCryptosystem)1.ECC算法依赖的数学问题2.ECC算法密钥的选择3.ECC算法的加解密过程4.ECC算法的安全性分析

2023/2/5136第2章密码学基础1.ECC算法依赖的数学问题⑴椭圆曲线定义:设K表示一个域,椭圆曲线E(K)用二元方程表示:y2+axy+by=x3+cx2+dx+e其中

a,b,c,d,e均属于K域。在实际的密码学研究中,主要应用的是基于有限域上的椭圆曲线。具有q个元素的有限域上的椭圆曲线满足下列方程关系:

y2=x3+ax+b2023/2/5137第2章密码学基础1.ECC算法依赖的数学问题⑵椭圆曲线上的点加运算:设P、Q是E上任意两点,R’是连接P,Q的直线L与E相交点,R’关于X轴的对称节点是R,如图2-6所示。根据椭圆曲线的对称性,R必定在椭圆曲线E上定义:R=P+Q,R就是P与Q点加的和

2023/2/5138第2章密码学基础1.ECC算法依赖的数学问题2023/2/5139第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记做[n]P,[n]P也称为倍乘。根据椭圆曲线的性质,[2]P、[3]P…..[n]P都是E上的点。2023/2/5140第2章密码学基础1.ECC算法依赖的数学问题2023/2/5141第2章密码学基础1.ECC算法依赖的数学问题⑶椭圆曲线离散对数问题给定椭圆曲线E及该椭圆曲线上的一点P,[k]P表示k个P相加,k为某整数,如果椭圆曲线上存在一点Q,能够满足方程Q=[k]P,那么椭圆曲线离散对数问题就是给定点P和点Q,求解k的问题,在数学上该问题是同时涉及整数因式分解和离散对数的难题。2023/2/5142第2章密码学基础1.ECC算法依赖的数学问题ECC算法就是基于“椭圆曲线离散对数问题”难以求解而设计的给定P和k容易通过方程Q=[k]P计算Q;但是反过来,给定Q和P,求k在计算上是不可行的,因此我们可以设定k为私钥。

2023/2/5143第2章密码学基础2.ECC算法密钥的选择基于椭圆曲线密码体制的ECC算法在加解密之前,首先要给出椭圆曲线域的一些参数,如基点P,阶n,以确定具体的椭圆曲线。

ECC算法密钥的产生是都是建立在某个有限域的椭圆曲线上,设给定一个具有q个元素有限域的椭圆曲线E,E的基点是P,P的阶为n。2023/2/5144第2章密码学基础2.ECC算法密钥的选择(1)密钥的产生者在区间[2,n-1]随机选取某整数k;(2)

计算Q=[k]P。则Q就是公钥,私钥是k。2023/2/5145第2章密码学基础3.ECC算法的加解密过程假设网络上的用户Alice和Bob要进行保密通信,它们选择ECC算法加密通信的报文。Alice与Bob知道同一条椭圆曲线E,并已分别产生公钥/私钥对kA/QA,kB/QB,Alice欲发送明文m送给Bob,并且已获知Bob的公钥QB。2023/2/5146第2章密码学基础3.ECC算法的加解密过程

Alice加密过程如下:(1)首先要将明文m编码成椭圆曲线上的点Pm,Pm为(Xm,Ym);(2)

Alice随机选择整数k[2,n-1];(3)计算[k]P=R1(X1,Y1),([k]QB=R2(X2,Y2);如果X2=0;则返回到(2);则密文C由{R1,Pm+R2}组成;2023/2/5147第2章密码学基础3.ECC算法的加解密过程

Bob收到密文C后,解密过程如下:(1)计算[kB]R1=[kB][k]P=[k][kB]P=[k]QB(2)Bob利用密文C的第二点的值R2+Pm

减去由(1)计算得到的结果[k]QB,即Pm+R2

[k]QB=

Pm+[k]QB

–[k]QB=Pm;(3)Bob得到椭圆曲线上点Pm,然后按照某种解码方法从点Pm获取明文m。2023/2/5148第2章密码学基础4.ECC算法的安全性分析

ECC算法的安全性依赖于椭圆曲线离散对数问题计算的困难性,如果离散对数问题容易计算,从用户的公钥能够推导出私钥,那么整个密码体制就会坍塌。2023/2/5149第2章密码学基础4.ECC算法的安全性分析相对于RSA,ECC具有一定的优势:安全性高

解决椭圆曲线上的离散对数问题,其时间复杂度是完全指数阶的,而RSA所依赖的大整数因子分解问题,其时间复杂度是子指数阶的,因此攻击ECC的复杂度比RSA要高得多;2023/2/5150第2章密码学基础4.ECC算法的安全性分析相对于RSA,ECC具有一定的优势:密钥短

ECC算法中所使用的密钥长度比RSA中要短很多,一般加解密时使用160位长度密钥,据统计,160位密钥ECC与1024位RSA安全强度相同性能高

ECC算法的性能比RSA算法要高,其加解密速度比RSA要快得多。2023/2/5151第2章密码学基础4.ECC算法的安全性分析2023/2/5152第2章密码学基础4.ECC算法的安全性分析RSA算法因为原理简单被广泛使用ECC算法在实际应用中相对比较少ECC算法理论不断完善,会被应用到实际系统中2023/2/5153第2章密码学基础2.3.4公钥密码体制的应用1.用于加解密信息2.用于数字签名2023/2/5154第2章密码学基础2.4量子密码体制2.4.1概述2.4.2量子密码原理2.4.3量子密钥分配2.4.4量子密钥分配协议BB842.4.5量子密码体制的发展与现状2.4.6三大密码体制的比较2023/2/5155第2章密码学基础2.4.1概述对称密码体制与公钥密码体制绝大部分算法都是实际上保密的密码体制,理论上并不保密。理论上唯一能确保不可破译的密码体制是一次一密密码。该体制在实际应用中是不可行的。

156现代密码学中“不可破译”的密码

“一次一密”加密方式明文011010XOR110010

XOR=Exclusive-OR101000密文通道101000密文XOR110010011010明文如果 1)密钥的长度=信息的长度

2)密钥只使用一次“一次一密”原理上绝对安全

(Shannon1949)如何在发送者与接收者间建立密钥?密钥分配问题发送者Alice窃听者Eve接收者Bob密钥密钥2023/2/5157第2章密码学基础2.4.1概述1996年,Bell试验室的LovGrover发现了一种量子搜索算法,该算法可以对现有的DES算法中的密钥进行快速穷举,从而破译出密钥。因此不论是对称密码体制还是公钥密码体制,在量子计算环境下,安全性受到极大的威胁。为此,从事密码学研究的专家就考虑到:利用量子通信中量子的性质重新建立新的密码体制,即量子密码体制。2023/2/5158第2章密码学基础2.4.1概述1970年,美国科学家威斯纳首次提出量子密码技术,威斯纳当时的想法是利用单量子态制造不可伪造的“电子钞票”。1984年,贝内特和布拉萨德两位学者提出了第一个量子密钥分配方案BB84协议,标志着量子密码体制研究真正的开始。2023/2/5159第2章密码学基础2.4.1概述量子密码是以量子力学和密码学为基础,利用量子物理学中的原理实现密码体制的一种新型密码体制。量子密码利用信息载体的物理属性实现。目前,量子密码中用于承载信息的载体包括光子、压缩态光信号、相干态光信号等。当前量子密码实验中,大多采用光子作为信息的载体。利用光子的偏振进行编码2023/2/5160第2章密码学基础2.4.1概述量子密码体制的理论基础是量子物理定理,理论上,依赖于这些物理定理的量子密码也是不可攻破的,量子密码体制是一种绝对保密的密码体制。2023/2/5161第2章密码学基础2.4.2量子密码原理

量子密码利用测不准原理和量子不可克隆原理,建立量子密钥,该密钥不会被任何攻击者窃听到,因为通信双方在确定密钥之前可以检测信息是否被干扰过。1.海森堡测不准原理2.量子不可克隆定理3.量子纠缠4.量子密码安全性分析162信息与测量信息的获取涉及测量过程;测量精度决定可获取的信息量;经典物理测量过程可以不改变被测物体状态;窃听者可以获取信息而不被发现。量子物理测量过程一般会改变被测物体状态(测不准原理);量子力学提供了探测窃听的手段。2023/2/5163第2章密码学基础1.海森堡测不准原理对任何量子系统都不可能进行精确的测量而不改变其原有的状态,即对量子系统的任何测量都会改变其量子态,并且这种转变是不可预测、无法逆转的。2023/2/5164第2章密码学基础2.量子不可克隆定理量子不可克隆定理的最初表述是Wootters和Zurek两位学者于1982年提出来的,当时,他们在《自然》杂志上发表的一篇paper里提出了这样的问题:是否存在一个物理过程,实现对一个未知量子态的精确复制,使得每个复制态与初始的量子态完全相同呢?Wootters和Zurek证明了不存在这样的物理过程2023/2/5165第2章密码学基础2.量子不可克隆定理量子不可克隆原理是海森堡测不准原理的推论,它是指在不知道量子态的情况下精确复制单个量子是不可能的,即未知态的单量子是不可精确复制的。2023/2/5166第2章密码学基础2.量子不可克隆定理量子不可克隆定理是量子力学的固有特性,量子力学以量子态作为信息载体,量子态不可精确复制是量子密码体制的重要前提,它确保了量子密码的“绝对保密”特性。2023/2/5167第2章密码学基础3.量子纠缠量子纠缠也是量子密码学基本原理之一。所谓“量子纠缠”是指不论两个粒子间距离有多远,一个粒子的变化总会影响另一个粒子的变化,即两个粒子之间不论相距多远,从根本上讲它们还是相互联系的。2023/2/5168第2章密码学基础4.量子密码安全性分析发送方与接收方在信息交互中通过比较各自的量子态,判断通信信道上存在攻击者2023/2/5169第2章密码学基础4.量子密码安全性分析攻击者利用物理上可行的量子复制机克隆发送方发送的量子态,仍无法获得所需的量子比特信息。2023/2/5170第2章密码学基础2.4.3量子密钥分配在传统的通信信道上,不可能通过通信信道直接传输双方共享的密钥。量子密码体制能为通信双方提供可靠的密钥分配手段。2023/2/5171第2章密码学基础2.4.3量子密钥分配量子密码学以量子态作为密钥的编码方式在实际实验操作中,光子常被用作量子密钥的信息载体。172量子力学:测量过程对量子态产生扰动量子密钥分配的基本原理…10111000001101…10011010001101AliceBobEve量子编码Errors随机数发生器过高的比特误码率窃听者的存在2023/2/5173第2章密码学基础2.4.3量子密钥分配主要有以下三类量子密钥的分配方案:1.基于两种共轭基的量子密钥分配方案2.基于两个非正态的两态量子密钥分配方案3.基于EPR佯谬的纠缠态量子密钥分配方案2023/2/5174第2章密码学基础2.4.4量子密钥分配协议BB841984年,IBM公司的C.H.Bennett和蒙特利尔大学的GBrassard两人共同提出量子密钥分配协议BB84,1991年该协议通过实验得到了证实。主要介绍以下几点内容:1.物理学原理2.BB84协议具体工作过程3.BB84协议举例2023/2/5175第2章密码学基础1.物理学原理根据物理学现象,光子有四个不同的偏振方向,分别是:水平方向、垂直方向、与水平成45°夹角、与水平成135°夹角。<,>构成一组基,称为线偏振,<,>构成一组基,称为斜偏振。线偏振和斜偏振是互补的,对某个光子,不可能同时用线偏振和斜偏振测量它,称线偏振与斜偏振为共轭基。

2023/2/5178第2章密码学基础1.物理学原理同一基内的两个量子态是正交的,且其中的两个偏振方向是可以区分的,即<,>中的两个量子态是正交的,使用线偏振基测量时,能够区分光子的水平偏振方向与垂直偏振方向;同理,<,>中的两个量子态也是正交的。

2023/2/5179第2章密码学基础1.物理学原理假设发送者Alice发送的是偏振方向为线偏振光子,如果接收者Bob使用的是线偏振基<,>测量,那么测量结果就是水平偏振方向,换句话说,Bob选择正确的测量基能得到所需的结果;如果接收者Bob使用的是斜偏振基<,>测量,那么Bob测得结果是随机的,50%概率是与水平成45°夹角方向,50%概率是与水平成135°夹角方向。但是Bob自身并不得知其测量结果是正确的还是错误的,除非他和Alice进一步通信确认其测量基的选择是否正确。

180要点1利用单个量子态编码:例如单个光子的偏振态。!Eve可以进行“截取-测量-再发送”攻击实例:BB84协议(1)101101“1”“0”AliceBob900偏振

比特值偏振分光镜

单光子探测器181Alice

Bob

90101101“1”“0”基一101101“1”“0”基二/20135°45°实例:BB84协议(2)要点2:两组非对易“基”Alice/Bob随机改变“发送基”/“测量基”Alice/Bob只保留“相同基”的数据2023/2/5182第2章密码学基础2.BB84协议具体工作过程BB84协议主要思路分为两个阶段:第一阶段在量子信道上单向的信息传输;第二阶段在传统公共信道上双向的信息传输。如图2-8所示,假设通信双方分别是Alice和Bob,其中Alice是信息的发送方、Bob是信息的接收方,Eve是攻击方。2023/2/5183第2章密码学基础2.BB84协议具体工作过程2023/2/5184第2章密码学基础2.BB84协议具体工作过程Alice和Bob事先要约定好各偏振方向所表示的二进制比特,即表示的0还是1。在BB84协议中,一般规定水平偏振方向、斜偏振方向45°角表示比特“0”;线偏振垂直方向、斜偏振方向135°角表示比特“1”。Alice和Bob选择的测量共轭基是(,),使用只能检测到水平与垂直方向上的光子,使用只能检测到与水平成45°度方向以及与水平成135°度方向。

2023/2/5185第2章密码学基础2.BB84协议具体工作过程第一阶段:量子信道上的通信,Alice在量子信道上发送信息给Bob,量子信道一般是光纤,也可以是自由空间,比如利用空气传输,具体操作步骤如下:

⑴在发送端和接收端均放置偏振方向分别为水平方向、与水平成45°度夹角、与水平成90°夹角、与水平成135°夹角的四个偏振仪。

2023/2/5186第2章密码学基础2.BB84协议具体工作过程⑵Alice选择一串光子脉冲随机的通过各偏振仪。不同的偏振仪产生不同的偏振方向,分别代表不同的量子态。例如某个光子通过偏振方向是垂直方向的偏振仪,则发送的光子偏振方向就是。Alice同时要记录发送的光子序列偏振方向。

⑶Bob随机选择一组测量基序列接收单光子。由于Bob事先并不知道Alice使用的是什么测量基序列,它只好将自己的测量基以及测量结果保存好,并且不对外公开。

2023/2/5187第2章密码学基础2.BB84协议具体工作过程第二阶段:传统公共信道上的通信:⑴Bob将它随机选择的测量基序列通过公共信道发送给Alice,此通信过程不存在任何安全措施,所发的测量基序列Eve可以窃取到;⑵Alice收到Bob测量基之后,将它与自己所发的光子序列偏振方向做比较,确定Bob在哪些位上用的是正确的测量基,并将比较结果通过公共信道返回给Bob;

2023/2/5188第2章密码学基础2.BB84协议具体工作过程⑶Alice和Bob同时确定了正确的测量基,由此双方根据测量基产生原始密钥;⑷双方比较部分原始密钥。这里要分两种情况考虑,无噪声的量子通信信道和有噪声的量子通信信道,在有噪声的量子通信信道上,即使没有攻击者,光子的偏振方向也会受到影响,因此影响双方的测量结果。

2023/2/5189第2章密码学基础2.BB84协议具体工作过程我们先考虑Alice和Bob通信的量子信道上无任何噪声干扰,Alice和Bob从原始密钥中选出相同的随机序列m位,通过公共信道传送给对方做比较,如果彼此比较结果发现不一致的现象,则证明存在窃听者Eve;如果比较的结果一致,表明Eve存在概率的可能性非常小,因为Eve存在但是不被发现的概率是非常小的;2023/2/5190第2章密码学基础2.BB84协议具体工作过程4.1)如果判定没有Eve窃听,Alice与Bob从原始密钥中删除刚才用于比较的m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论