版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息安全与应用密码学第一讲密码学基础第二讲数学背景第三讲密码协议第四讲报文鉴别与散列函数第五讲
数据加密及密钥管理第六讲对称加密算法第七讲公开密钥算法赵学龙zhaoxuelong@第一讲密码学基础密码学的起源可能要追溯到人类刚刚出现,并且尝试去学习如何通信的时候。公元六年前,古希腊人,scytale棍子(棍子的宽度为密钥);罗马军队,凯撒密码(三个字母表轮换);由于战争和各个国家之间的利益,密码学重要的进展很少在公开文献中出现。1918年,20世纪最有影响的密码分析文章之一:–WilliamF.Friedman,TheIndexofCoincidenceandItsApplicationinCryptography.(重合指数及其在密码学中的应用);1920加州奥克兰的EdwardH.Herbern申请了第一个转轮机专利,这种装置,在差不多50年内被制定为美军的主要密码设备;一战以后,完全处于秘密工作状态的美国陆军和海军的机要部门开始在密码学方面取得根本性的进展。但由于战争原因,公开文献几乎殆尽。从1949-1967年,密码学文献近乎空白。密码学历史性事件1949年,Shannon的论文:–C.E.Shannon.Amathematicaltheoryofcommunication.BellSystemTechnicalJournal,1948,27(4):379~423,623~656.–C.E.Shannon.Communicationtheoryofsecrecysysytem.BellSystemTechnicalJournal,1949,28(4):656~715.1967年,DavidKahn,“TheCodebreakers”(破译者)–没有任何新的技术思想,但却对密码学的历史做了相当完整的记述;–它使成千上万原本部知道密码学的人了解了密码学。新的密码学文章慢慢开始源源不断被编写出来了。1976年,Diffie,Hellman的论文:–W.Diffe,M.E.Hellman.Newdirectionsincryptography.IEEETrans.Inform.Theroy,November1976,22(6):644~654.–提出公钥密码的思想;1977年,美国联邦政府颁布数据加密标准(DES);1994年,美国联邦政府颁布密钥托管加密标准(EES);1994年,美国联邦政府颁布数字签名标准(DSS);2001年,美国联邦政府颁布高级加密标准(AES);信息安全的含义通信保密(COMSEC):60-70年代
信息保密信息安全(INFOSEC):80-90年代
机密性、完整性、可用性、不可否认性等信息保障(IA):90年代-•信息安全的基本方面–保密性Confidentiality即保证信息为授权者享用而不泄漏给未经授权者。–完整性Integrity•数据完整性,未被未授权篡改或者损坏•系统完整性,系统未被非授权操纵,按既定的功能运行–可用性Availability即保证信息和信息系统随时为授权者提供服务,而不要出现非授权者滥用却对授权者拒绝服务的情况。–信息的不可否认性Non-repudiation:
要求无论发送方还是接收方都不能抵赖所进行的传输。–鉴别Authentication
鉴别就是确认实体是它所声明的。适用于用户、进程、系统、信息等。–
审计Accountability
确保实体的活动可被跟踪。–可靠性Reliability
特定行为和结果的一致性。2.消息和加密
消息(message)被称为明文(plaintext).
加密(encryption)用某种方法伪装消息以隐藏它的内容过程称为加密。被加密的消息称为密文(ciphertext),而把密文转变为明文的过程称为解密(decryption)明文加密密文解密原始明文1基础知识1.
1专业术语1.计算机安全:把设计用来保护数据、阻挡黑客的工具集合称为计算机安全.
密码编码学:使信息保密的技术和科学叫密码编码学(cryptography)。从事此行的叫密码编码者,密码分析者是从事密码分析的专业人员;密码分析学(cryptanalysis)就是破译密文的科学与技术,即揭穿伪装。
明文用M表示,它可能是位序列、文本文件、位图、数字化的语音序列或数字化的视频图像等。对于计算机,M指简单的二进制数据
密文用C表示,它亦是二进制数据。
加密函数E作用于M得到密文C可用数学公式表示:
E(M)=C
解密函数D作用于C产生M:
D(C)=M
先加密后解密,原始明文将恢复,故有
D(E(M))=M
3.
鉴别、完整性和抗抵赖性
鉴别(authentication)消息的接受者应该能够确认消息的来源;入侵者不可能伪装成他人。
完整性(integrity):消息的接受者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法的消息。
抗抵赖性(nonrepudiation):发送者事后不可能虚假地否认他发送的消息。4.
算法和密钥
密码算法(algorithm)亦叫密码(cipher),是用于加密和解密的数学函数。通常情况下有两个相关的函数:一个用作加密,一个用作解密。
如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的算法。现代密码学用密钥解决问题,密钥用K表示。K可以是很多值里的任意值。密钥K的可能值的范围叫做密钥空间(keyspace)。
如加密和解密都用一个密钥,加/解密函数变成:EK(M)=CDK(C)=MDK(EK(M))=M
密码系统:由算法以及所有可能的明文、密文和密钥组成的。
对称算法(symmetricalgorithm)有时叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来亦成立。在大多数对称算法中,加/解密密钥是相同的。这些算法亦叫秘密密钥算法或单密钥算法,它要求发送者和接受者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥。只要通信需要保密,密钥就必须保密。对称算法的加密和解密表示为:
EK(M)=CDK(C)=M对称算法可以分为两类:一次只对明文中的单个位(有时字节)运算的算法称为序列算法(streamalgorithm)或者序列密码(streamcipher)。另一类是是对明文的一组位进行运算,这些位组称为分组(block),相应算法称为分组算法(blockalgorithm)。现代密码典型长度是64位。5.
对称算法基于密钥的算法通常分为两类:对称算法和公开密钥算法。
6.
公开密钥算法
公开密钥算法(public-keyalgorithm)亦称为非对称算法:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的时间内)。之所以叫公开密钥算法是因为加密密钥能够公开。加密密钥叫公开密钥(publickey),解密密钥叫私人密钥(privatekey)。Ek(M)=CDk(C)=M
7.
密码分析
密码编码学的目的是保持明文(或密钥、明文和密钥)的秘密以防止偷听者(对手、攻击者、入侵者)知道。
密码分析学是在不知道密码的情况下,恢复明文的科学。对密码进行分析的尝试称为攻击。密码分析(攻击)的目的:
–C->M,等价算法,K。–恢复尽可能多的明文。–导出一个算法,此算法可以对用同一密钥加密的任何新的消息进行解密。–推算出加密消息的密钥来,以便可采用相同的密钥解出其他被加密的消息。Kerckhoffs假设1883年,荷兰人A.Kerckhoffs
提出。–秘密必须全寓于密钥中。即,密码体制的安全性仅依赖于对密钥的保密,而不应依赖于算法的保密。–假设密码分析者已有密码算法及其实现的全部详细资料
密码攻击的方法
穷举攻击–理论上,穷举攻击可攻破所有密码;–可以通过增大密钥量或加大解密(加密)算法的复杂性来对抗穷举攻击;;统计分析攻击–通过分析密文和明文的统计规律来破译密码;–许多古典密码都可以通过分析密文字母和字母的频率和其他统计参数而破译;–对抗统计分析攻击的方法是设法使明文的统计特性不带入密文;–能够抵抗统计分析攻击已成为现代密码的基本要求;数学分析攻击–针对加密算法的数学基础和某些密码特性,通过数学求解的方法来破译密码;–数学分析攻击是基于数学难题的各种密码的主要威胁;–为了对抗这种数学分析攻击,应当选用具有坚实数学基础和足够复杂的加解密算法;常用的密码分析攻击有四类:
(1)唯密文攻击:密码分析者有一些消息的密文,这些消息都用同一加密算法加密。密码分析者的任务是恢复尽可能多的明文,或者最好是能推算出加密消息密钥来,以便能采用相同密钥解出其它被加密的信息。(2)已知明文攻击:密码分析者不仅可得到一些消息的密文,而且可以知道这些消息的明文。分析者的任务就是用加密信息推出用来加密的密钥或导出一个算法,此算法可以对用同一密钥加密的任何信息进行解密。
(3)选择明文攻击:
分析者不仅可得到一些消息的密文和相应的明文,而且他们亦可选择被加密的明文。(4)自适应密文攻击:这是选择明文攻击的特殊情况。密码分析者不仅能选择被加密的明文,而且亦能基于以前加密的结果修正这个选择。
那些因为自己不能破译某个算法就草草地声称有一个不可破译的密码的人要么是天才,要么是笨蛋。不幸的是后者居多。千万要提防那些一味吹嘘算法的优点,但又拒绝公开的人,相信他们的算法就像相信骗人的包治白病的灵丹妙药一样。BruceSchnier《应用密码学》8.算法的安全性如果破译算法的代价大于加密数据价值,那么你是安全的。如果破译算法所需的时间比加密数据保密的时间长,那么你可能是安全的。1.2隐写术隐写术是将秘密消息隐藏在其他消息中,这样真正存在的信息被隐藏了。如发表一篇无关紧要的文章等。最近人们在图像中隐藏秘密的消息,用图像的每个字节的最不重要的位代替消息位,图像并没有发生多大的改变。1.3代替和换位密码 在计算机出现前,密码学由基于字符的密码算法构成。不同的密码算法是字符之间互相之间换位(即置换)或者互相替代,好的密码算法结合了这两种方法,并且每次都进行多次运算。 现在密码算法的主要变化是对比特而不是对字母进行变换,实际上这只是字母表长度上的改变,从26个元素变为2个元素。大多数好的密码算法仍然是置换和替代的组合。①置换密码
置换是一种最基本的数学变换,每个置换都可以用一个整数序列来表示,例如:P=(2,1,4,3)表示这样一个置换:将位置1和位置2对调,同时将位置3和位置4对调。每个置换都有一个与之对应的逆置换。序列经过置换和其逆置换之后,将保持不变。有时置换与其逆置换可能在形式上是相同的,例如,上述P的逆置换也是Q=(2,1,4,3)。
置换密码的核心是一个仅有发信方和收信方知道的秘密置换(加密)和其逆置换(解密)。加密过程是用加密置换去对明文消息进行置换。例如,明文取M=“置换密码”,则用P去加密后就得到密文C=“换置码密”。解密过程是用解密逆置换去对密文消息进行置换。例如,密文取C=“换置码密”,则用Q去解密后就得到明文取M=“置换密码”。 置换密码的最大特点是明文和密文中所含的元素是相同的,仅仅是位置不同而已。置换密码虽然简单,而且还不很安全,但是许多现代密码体制中都或多或少地利用了置换方式。
下面的简单纵行换位密码就应用了置换密码。明文以固定的宽度水平地写在一张图表纸上,密文按垂直方向读出,解密就是将密文按相同的宽度垂直地写在图表纸上,然后水平地读出明文。
明文:COMPUTERGRAPHICSMAYBESLOWBUTATLEASTITSEXPENSIVE COMPUTERGR APHICSMAYB ESLOWBUTAT LEASTITSEX PENSIVE
密文:CAELPOPSEEMHLANPIOSSUCWTITSBIVEMUTERATSGYAERBTX②替代密码
替代密码就是明文中每一个字符被替换成密文中的另外一个字符,接收者对密文进行逆替换以恢复明文。(1)简单替代密码(单字母替代密码):即明文的一个字符用相应的一个密文字符替代。
著名的凯撒密码就是一种最简单的替代密码,它的每一个明文字符都由其右边第3个(模26)字符替代,如:A由D替代,B由E替代,W由Z替代,X由A替代,Y由B替代,Z由C替代等。凯撒密码实际上非常简单,因为其密文字符仅仅是明文字符的环移,并且不是任意置换。
另一种简单替代密码是ROT13,它是Unix系统上的简单加密程序。在这种密码中,每一个字母是环移13所对应的字母,如:A被N替代,B被O替代等等。用ROT13加密文件两遍便恢复出原始明文:P=ROT13(ROT13(P))。
简单替代密码没有掩盖明文中不同字母的出现频率,因而通过统计分析很容易破译它。凯撒(Caesar)密码
•课堂练习:字符串“Iloveyou”用Caesar密码加密得到的密文是?•明文字符串:Iloveyou•明文对应数字形式:8,11,14,21,4,24,14,20•密文对应数字形式:11,14,17,24,7,1,17,23•密文字符串:loryhbrx(2)多名码替代密码:它与简单替代密码系统相似,惟一的不同是单个字符明文可以映射成密文的几个字符之一,例如A可能对应于5、13、25或56,“B”可能对应于7、19、31或42。
多名码替代密码在1401年最早由DuchyMantua公司使用,要求明文中出现的每一个字母循环或随机使用它所对应的密文字符。这样,如果分配给每个字母的密文符号数目与该字母的统计频率成正比,那么单字母的频率信息就会完全被淹没。这使得多名码替代密码比简单替代密码更难破译,但它仍不能掩盖明文语言的所有统计特性,多字母的组合频率仍能保存在密文中,例如tion,ing等等。如果用已知明文攻击,破译这种密码非常容易,惟密文攻击要难一些,但在计算机上实现破译也只需几秒钟。(3)多字母替代密码:字符块被成组加密,例如“ABA”可能对应于“RTQ”,ABB可能对应于“SLL”等。这种方法是为了减少在密文中保留明文中结构的程度。Playfair密码和Hill密码就属于这一类。多字母代替密码-Playfair密码Playfair密码是英国科学家ChaelesWheatstone于1854年发明的,但是用了他的朋友BarronPlayfair的名字。
Playfair密码是最为著名的多字母加密密码,它将明文中的双字母组合作为一个单元,并将这些单元转换为密文双字母的组合。Playfair算法基于一个5×5的字母矩阵,该矩阵通过一个关键词构造。 例如,关键词为playfair,相应矩阵如图所示,其矩阵的构造如下:首先,从左到右、从上到下填入该关键词的字母,并去除重复的字母(两个a只取一个);其次,按照字母表顺序将其余字母填入矩阵的剩余空间。字母I和J被算作一个字母,可以根据使用者的意愿在形成密文时确定用I或J。PLAYFI/JRBCDEGHKMNOQSTUVWXZPlayfair密码的构造矩阵Playfair算法根据下列规则一次对明文的两个字母进行加密,这两个字母构成一对:(1)一对明文字母如果是重复的,则在这对明文字母种间插入一个填充字符,如x。因此,单词session将被分割成:sesx
sion。(2)如果分割后的明文字母对在矩阵的同一行中都出现,则分别用矩阵中其右侧的字母代替,行的最后一个字母由行的第一个字母代替。例如,on被加密成QO,而st被加密成TN。(3)如果分割后的明文字母对在矩阵的同一列中都出现,则分别用矩阵中其下方的字母代替,列的最后一个字母由列的第一个字母代替。例如,en被加密成NU,而aw被加密成BA。(4)否则,明文对中的每个字母将由与其同行,且与另一个字母同列的字母代替。例如,se被加密成NK,而cu被加密成IX(或JX)。
Playfair密码与单字母替代密码相比有明显的优势:其一,双字母有26×26=676种组合方式,识别各种双字母组合比单字母困难得多;其二,各种字母组的相对频率范围也更为广泛,使频率分析更加困难。因此,Playfair曾被认为是不可破译的,英国陆军在第一次世界大战中采用了它,二战中它仍被美国陆军和其他同盟国大量使用。当然,由于许多明文的语言结构在Playfair密码中能够保存完好,所以它还是相对容易破译的,通常有几百字的密文就足够了。Playfair密码(4)多表替代密码:由多个简单的替代密码构成,例如,可能有5个不同的简单替代密码,分别用于替代明文中不同位置的字符。
多表替代密码由LeonBattista在1568年发明,在美国南北战争期间由联军使用。尽管在计算机的帮助下这种密码容易被破译,但仍有许多商用计算机的保密产品使用它。比较著名的多表替代密码是1858年法国密码学家维吉尼亚设计的以移位替代为基础的一种周期替代密码,称为维吉尼亚密码(Vigenère)。此外,还有博福特密码(Beaufort)、弗纳姆密码(Vernam)等。
多表替代密码有多个单字母密钥,每一个密钥被用来加密一个明文字母。第一个密钥加密明文的第一个字母,第二个密钥加密明文的第二个字母等等。在所有的密钥用完后,密钥又再循环使用,若有20个单个字母密钥,那么每隔20个字母的明文都被同一密钥加密,这称为密码的周期。在古典密码学中,密码周期越长越难破译。虽然使用计算机能够轻易破译具有很长周期的替代密码,但在古代,靠手工计算是很难破译的。
滚动密钥密码(有时叫书本密码)也是多表替代密码,它用一个文本去加密另一个文本,即使这种密码的周期与文本一样长,也容易被破译。Vigenère密码
Vigenère密码是最著名且最简单的多表替代密码,右图是一个现代Vigenère表格,用它可以方便地进行加密。在表格中,密钥字母为行标,明文字母为列标。现代Vigenère表格密钥字母为行标明文字母为列标Vigenère密码加密的过程为: 给定一个密钥字母和一个明文字母,则在行标与列标的交叉点上的就是密文字母。例如,密钥字母为d,明文字母为l,则密文字母为O。
加密一个消息,需要与该消息同样长度的密钥。通常,该密钥是一个不断重复的关键词。 例如,设关键词为encipher, 消息为Thespeechcontainedsomeinterestingideas,则
密钥:encipherencipherencipherencipherenciph
明文:thespeechcontainedsomeinterestingideas
密文:XUGAELITLPQVIHMEIQUWBLMEXRTMHAMEKVFMPZ
Vigenère密码所有运算都是(mod26)进行,由于是多表替换体制,每个明文字母对应多个密文字母,且明文字母对应选定关键词的特定字母,因此,字母的频率信息被模糊了。
Vigenère密码的密钥和明文共享相同的字母频率分布,所以它对于应用统计技术进行密码分析也是脆弱的。对抗此类密码分析的根本方法是选择与明文一样长,并且与之没有统计关系的密钥。若密钥为非周期无限序列,则相应的密码为非周期多表替代密码。此时,每个明文字母都采用不同的替代表进行加密,称作是一次一密钥密码,这是一种在理论上惟一不可破的密码。这种密码对于明文的特征可实现完全隐蔽,但由于需要的密钥量和明文消息长度相同而难以实用。为了减少密钥量,实际中多采用周期多表替代密码。③转轮机
20世纪20年代,人们发明了各种机械加密设备用来自动处理加密,这些设备多数是基于转轮的概念,即将机械转轮用线连起来完成通常的密码替代。
转轮机有键盘和一系列转轮,它是Vigenère
密码的一种实现。每个转轮是字母的任意组合,有26个位置,并且完成一种简单替代。例如:一个转轮可能被用线连起来以完成用“F”替代“A”,用“U”替代“B”,用“L”替代“C”等等,而且转轮的输出栓连接到相邻的输入栓。
例如,在4个转轮的密码机中,第一个转轮可能用“F”替代“A”,第二个转轮可能用“Y”替代“F”,第三个转轮可能用“E”替代“Y”,第四个转轮可能用“C”替代“E”,“C”应该是输出密文。那么当转轮移动后,下一次替代将有所不同。
为使机器更安全,可把几种转轮和移动的齿轮结合起来。所有转轮以不同的速度移动,n个转轮的机器的周期是26n。为进一步阻止密码分析,有些转轮机在每个转轮上还有不同的位置号。最著名的转轮装置是恩尼格马(Enigma),它在第二次世界大战期间由德国人使用并改进。恩尼格马有三个转轮,从五个转轮中选择。转轮机中有一块稍微改变明文序列的插板,有一个反射轮导致每个转轮对每一个明文字母操作两次。1.4一次一密乱码本
1917年,MajorJosephMauborgne和AT&T公司的GilbertVernam发明了一次一密乱码本的加密方案。通常,一次一密乱码本是一个大的不重复的真随机密钥字母集,这个密钥字母集被写在几张纸上,并一起粘成一个乱码本,它最初用于电传打字机。发方用乱码本中的每一密钥字母准确地加密一个明文字符。加密是明文字符和一次一密乱码本密钥字符的模26加法。 每个密钥仅对一个消息使用一次。发方对所发的消息加密,然后销毁乱码本中用过的一页或用过的磁带部分。收方有一个同样的乱码本,并依次使用乱码本上的每个密钥去解密密文的每个字符。收方在解密消息后销毁乱码本中用过的一页或用过的磁带部分。新的消息则用乱码本中新的密钥加密。例如,如果消息是:ONETIMEPAD, 而取自乱码本的密钥序列是:TBFRGFARFM, 那么密文就是:IPKLPSFHGQ,因为O+Tmod26=IN+Bmod26=PE+Fmod26=K
等等。由于明文消息是等概率的,所以密码分析者没有办法确定哪一个明文消息是正确的。随机密钥序列异或一非随机的明文消息将产生完全随机的密文消息,即便现代的高速计算机对此也无能为力。例:m=Iloveyou,一次性密码本。m=(8,11,14,21,4,24,14,20)k=(5,13,1,0,7,2,20,16)注:可能的密钥序列共268个。c=(13,24,15,21,11,0,8,10)使用一次一密乱码本需要注意的是:(1)密钥字母必须随机产生。对这种方案的攻击主要是针对用来产生密钥序列的方法。伪随机数发生器通常具有非随机性,所以不能用于产生随机密钥序列。采用真随机源,它才是安全的。(2)密钥序列不能重复使用。如果密码分析家有多个密钥重叠的密文,那么即使你用多兆字节的乱码本,他也能重构明文。他可以把每排密文移来移去,并计算每个位置的适配量。如果他们排列正确,则适配的比例会突然升高(准确的百分比与明文的语种有关)。从这一点来说,密码分析是容易的,它类似于重合指数法,只不过用两个"周期"。所以千万别重复使用密钥序列。1.5计算机算法计算机密码算法有多种,最通用有以下三种:
(1)DES(dataencryptionstandard,数据加密标准)是最通用的计算机加密算法。DES是国际标准,它是对称算法,加密和解密的密钥是相同的。(2)RSA(RonRivest、Adi
Shamir、Len
Adleman)算法是最流行的公开密钥算法,它用作加密和数字签名。(3)DSA(digitalsignaturealgorithm,数字签名算法,用作数字签名的一部份)是另一种公开密钥算法,它不能用作加密,只用作数字签名。1.6密码的分类从不同的角度根据不同的标准,可以把密码分成若干类。一、按应用技术或历史发展阶段划分:1、手工密码。以手工完成加密作业,或者以简单器具辅助操作的密码,叫作手工密码。第一次世界大战前主要是这种作业形式。2、机械密码。以机械密码机或电动密码机来完成加解密作业的密码,叫作机械密码。这种密码从第一次世界大战出现到第二次世界大战中得到普遍应用。3、电子机内乱密码。通过电子电路,以严格的程序进行逻辑运算,以少量制乱元素生产大量的加密乱数,因为其制乱是在加解密过程中完成的而不需预先制作,所以称为电子机内乱密码。从五十年代末期出现到七十年代广泛应用。4、计算机密码,是以计算机软件编程进行算法加密为特点,适用于计算机数据保护和网络通讯等广泛用途的密码。
•
按照保密的内容分:
受限制的(restricted)算法:算法的保密性基于保持算法的秘密。
基于密钥(key-based)的算法:算法的保密性基于对密钥的保密。按照明文的处理方法:
分组密码(blockcipher):将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度密文。
流密码(streamcipher):又称序列密码.序列密码每次加密一位或一字节的明文,也可以称为流密码。
序列密码是手工和机械密码时代的主流
二、按保密程度划分1、理论上保密的密码不管获取多少密文和有多大的计算能力,对明文始终不能得到唯一解的密码,叫作理论上保密的密码。也叫理论不可破的密码。如随机一次一密的密码就属于这种。2、实际上保密的密码在理论上可破,但在现有客观条件下,无法通过计算来确定唯一解的密码,叫作实际上保密的密码。3、不保密的密码在获取一定数量的密文后可以得到唯一解的密码,叫作不保密密码。如早期单表代替密码,后来的多表代替密码,以及明文加少量密钥等密码,现在都成为不保密的密码。
三、按密钥方式划分1、对称式密码收发双方使用相同密钥的密码,叫作对称式密码。传统的密码都属此类。就是加密密钥和解密密钥相同,或实质上等同,即从一个易于推出另一个。又称秘密密钥算法或单密钥算法。
2、非对称式密码收发双方使用不同密钥的密码,叫作非对称式密码。如现代密码中的公共密钥密码就属此类。非对称密钥算法(asymmetriccipher):加密密钥和解密密钥不相同,从一个很难推出另一个。又称公开密钥算法(public-keycipher)。•公开密钥算法用一个密钥进行加密,而用另一个进行解密.其中的加密密钥可以公开,又称公开密钥(publickey),简称公钥.解密密钥必须保密,又称私人密钥(privatekey)私钥.简称私钥。
四、按明文形态
1、模拟型密码用以加密模拟信息。如对动态范围之内,连续变化的语音信号加密的密码,叫作模拟式密码。2、数字型密码用于加密数字信息。对两个离散电平构成0、1二进制关系的电报信息加密的密码叫作数字型密码。五、近代加密技术1.数据加密标准(DES)是美国经长时间征集和筛选后,于1977年由美国国家标准局颁布的一种加密算法。它主要用于民用敏感信息的加密,后来被国际标准化组织接受作为国际标准。DES主要采用替换和移位的方法加密.
DES主要的应用范围有:(1)计算机网络通信:对计算机网络通信中的数据提供保护是DES的一项重要应用。但这些被保护的数据一般只限于民用敏感信息,即不在政府确定的保密范围之内的信息。(2)电子资金传送系统:采用DES的方法加密电子资金传送系统中的信息,可准确、快速地传送数据,并可较好地解决信息安全的问题。
(3)保护用户文件:用户可自选密钥对重要文件加密,防止未授权用户窃密。
(4)用户识别:DES还可用于计算机用户识别系统中。
2.
国际数据加密算法IDEA是瑞士的著名学者提出的。它在1990年正式公布并在以后得到增强,这种算法是在DES算法的基础上发展出来的,类似于三重DES.
3.公开密钥密码体制传统的加密方法是加密、解密使用同样的密钥,由发送者和接收者分别保存,在加密和解密时使用,采用这种方法的主要问题是密钥的生成、注入、存储、管理、分发等很复杂,特别是随着用户的增加,密钥的需求量成倍增加。在网络通信中,大量密钥的分配是一个难以解决的问题。例如,若系统中有n个用户,其中每两个用户之间需要建立密码通信,则系统中每个用户须掌握(n-1)个密钥,而系统中所需的密钥总数为n*(n-1)/2个。对10个用户的情况,每个用户必须有9个密钥,系统中密钥的总数为45个。对100个用户来说,每个用户必须有99个密钥,系统中密钥的总数为4950个。这还仅考虑用户之间的通信只使用一种会话密钥的情况。如此庞大数量的密钥生成、管理、分发确实是一个难处理的问题。本世纪70年代,美国斯坦福大学的两名学者迪菲和赫尔曼提出了一种新的加密方法—公开密钥加密队PKE方法。与传统的加密方法不同,该技术采用两个不同的密钥来对信息加密和解密,它也称为非对称式加密方法。每个用户有一个对外公开的加密密钥(公钥)和对外保密的解密密钥(私钥)。
1.7数字签名的特征
签名是可信的签名使文件的接受者相信签名者是慎重地在文件上签字的。
签名不可伪造签名证明是签名者而不是其它人慎重地在文件上签字。
签名不可重用签名是文件的一部分,不法之徒不可能将和签名移到不同的文件上。
签名的文件是不可改变的在文件答名后,文件不能改变。签名是不可抵赖的签名和文件是物理的东西。签名者事后不能称他没有签名。思考作业:解释以下概念:密码学,密码编码,密码分析,明文,密文,加密,解密,密码体制,对称密码体制,公钥密码体制,分组密码,流密码。Kerckhoffs假设的内容是什么?根据自身经验说明对密码学的理解,举出密码应用的一些例子。第二讲
数学背景
一、信息论1.熵和不确定性信息论定义一条消息的信息量如下:假设所有消息是等可能的,对消息中所有可能的值进行编码所需要的最小位数。如数据库中有关“一周中的每一天”这一字段包含不超过3位的信息,因此此消息可以用3位进行编码:000=星期日
……110=星期六111是未用的一条消息M的信息量可通过它的熵(entropy)来度量,表示为H(M)。一条表示性别的熵为1位,一条表示一周的天数的消息的熵略小于3位。通常一条消息的熵是log2n,其中n是消息所有可能的值。一条消息的熵亦表示了它的不确定性(uncertainty),即当消息被加密成密文时,为了获取明文,需要解密的明文的位数。例职关于性别消息的不确定性是1。2.混乱与扩散
混乱(confusion)用于掩盖明文和密文间的关系。这可以挫败通过研究密文以获取冗余度和统计模式的企图。可以通过代替密码实现。扩散(diffusion)通过将明文冗余度分散到密文中使之分散开来。密码分析者寻求这些冗余度将会更难。产生扩散的方法是通过换位(亦称置换)
分组密码算法即用到扩散又用到混乱。二、复杂性理论1.算法的复杂性一个算法的复杂性即运行它所需的计算能力。算法的计算复杂性常常用两个变量度量:T(时间复杂性(timecomplexity))和S(空间复杂性(spacecomplexity)或所需存储空间),T和S通常表示为n的函数。O(1):算法的复杂性不依赖于n,它是常数的。O(n):线性的。O(nm):其中m为一常数。有些算法是二次方、三次方的等。所有这些算法都是多项式的。具有多项式时间复杂性的算法称为多项式时间(polynomial-time)算法。O(tf(n)):指数的(exponential)。t是大于1的常数,f(n)是n的多项式函数
2.问题的复杂性图灵机的理论计算机上解决最难的问题实例所需要的最少时间和空间。图灵机是一种无限读写存储带的有限状态机。能够用多项式时间算法解决的问题称之为易处理的(tractable),因为它们能够用适当的输入尺寸,在适当的时间开销内解决。不能在多项式时间内解决的问题称之为难处理的(intractable)
,也称为难题(hard)。问题可分为:PNP(NP完全)
PSPACE(PSPACE完全)EXPTIMEP类问题是指所有能用多项式时间解决的问题.NP问题是所有在非确定型图灵机上可用多项式时间解决的问题.非确定型图灵机是标准图灵机的变形,它能进行猜测.此机器通过幸运猜测或平行尝试猜测所有可能的问题的解,然后在多项式时间内检查它的猜测.
NP的英文全称是Non-deterministicPolynomial的问题,即多项式复杂程度的非确定性问题。简单的写法是NP=P?,问题就在这个问号上,到底是NP等于P,还是NP不等于P。
3.NP完全问题旅行商问题:一名旅行商必须到n个不同的城市,而它仅有一箱汽油.有方法使它仅用一箱汽油而旅行到每个城市恰好一次吗?(Himilton问题)
背包问题(knapsack),又称子集合问题(subsetsum)属于NP问题。4.严格单向函数•一个单射函数f:X→Y称为是严格单向函数,如果下述条件成立:存在一个有效的方法,对所有的x∈X可计算f(x),但不存在一个有效的办法由y=f(x)计算x,所有的y∈Y•严格单向函数是不能用于加解密的,
对于严格单向函数的存在,现无法证明三、数论数论就是指研究整数性质的一门理论。整数的基本元素是素数,所以数论的本质是对素数性质的研究。
1、模运算(求余运算
)例:如果TOM说10:00他回家,而他迟到了13个小时,那么他什么时间回家。这是一个模12运算,23模12等11,记为:23MOD12=11MOD12=11
另一种写法认为23和11的模12运算相等:23
11(MOD12)一般表示为:a=b+kn,即:a
b(modn)称a和b同余2.素数(质素)比1大,其因子只有1和它本身,没有其他数可以整除它.2,73,2521,2365347734339等.素数是无限的.密码学特别是公开密钥密码学常用大的素数(512位长或更长)(1)最大公因子两个数互素(relativelyprime)是指当它们除了1之外没有共同的公因子。计算最大公因子(greatestcommondivisor)算法为欧机里德算法:Gcd(x,y)=gcd(y,xmody)int
gcd(int
x,inty){intg;
if(x<0)x=-x;
if(y<0)y=-y;
if(x+y==0)returnerror;g=y;
while(x>0){g=x;x=y%x;y=g;}returng;}如果a和n的最大公因子为1,可以写作:gcd(a,n)=1(2)求模逆元
逆元的概念
模逆元:4
x
1(mod7)这个方程等价于寻找一个x和k使得:4x=7k+1x,k均为整数。更一般的问题是寻找一个x,使得:1=(a
x)modn亦可写作:
a-1
x(modn)5模14有逆元是3,2模14没有逆元。一般而论。如果a和n互素的,那么a-1
x(modn)有唯一解;如果a和n不是互素的,那么a-1
x(modn)没有解,如果n是一个素数,那么从1到n-1的每个数与n都互素的,且在这个范围内恰好有一个逆元。求a模n的逆元的扩展欧几里德算法。3费尔马小定理费马小定理是数论中的一个重要定理,其内容为:假如p是质数,且(a,m)=1(am互质),那么a^(m-1)≡1(modp)假如m是质数,且a,m互质,那么a的(m-1)次方除以m的余数恒等于1
如果m是一个素数,且a不是m的倍数(即a,m互素),那么,根据费尔马小定理有:
am-1
1(modm)他是解析几何的发明者之一;对于微积分诞生的贡献仅次于艾萨克·牛顿、戈特弗里德·威廉·凡·莱布尼茨,概率论的主要创始人,以及独承17世纪数论天地的人
4欧拉
函数
欧拉函数,亦称为欧拉
函数,写作
(n),它表示模n的余数化简集中元素的数目。换句话说,
(n)表示与n互素的小于n的正整数的数目(n>1)。
如果n是素数,那么
(n)=n-1;
如果n=pq,且p,q互素,那么
(n)=(p-1)(q-1)
这些数字在公开密钥中经常用到。
根据费尔马小定理的欧拉推广,如果gcd(a,n)=1,那么
a
(n)modn=1
由于an-1modn=1,(a*x)modn=1
现在计算a模n逆元很容易:x=a
(n)-1modn
例如求5模7的逆元是多少?既然7是素数,
(7)=7-1=6,因此5模7的逆元是56-1
mod7=3法国”业余数学家之王”皮埃尔•德•费马于1636年发现了这个定理瑞士数学家和物理学家
5.中国剩余定理中国古代求解一次同余式组的方法。是数论中一个重要定理。又称中国剩余定理。公元前后的《孙子算经》中有“物不知数”问题:“今有物不知其数,三三数之余二,五五数之余
三,七七数之余二,问物几何?答曰:『二十三』”。也就是求同余式组x≡2(mod3),x≡3(mod5),x≡2(mod7)的正整数解。
如果已知n的素因子,那么就利用中国剩余定理求解整个方程组。一般而言,如果n的素因子分解为n=p1×p2×p3…×pt,那么方程组(xmodpi)=ai有唯一的解,
x小于n(注意一些素数可能不止一次出现)换句话说,一个数(小于一些素数之积)被它的余数模这些素数唯一地确定。例如:取素数3和5,取一个数14,那么14mod3=2,14mod5=4,则小于15且有上述余数的数只有14,即由这两个余数唯一地确定数14
如果对于任何a<p,b<q(p,q都是素数),那么当x小于p×q时,存在唯一一个x使得:
x
a(modp)且x
b(modq)为求这个数先用欧几里德算法找到u,使得:
u×q=1(modp)然后计算:
x=(((a-b)×u)mod
p)×q+b
例:p=5,q=3a=4,b=2u=7x=146.有限域上的离散对数仅含有限多个元素的域。它首先由E.伽罗瓦所发现,因而又称为伽罗瓦域。模指数运算是频繁用于密码学中的另一个单向函数。所谓离散对数,就是给定正整数x,y,n,求出正整数k(如果存在的话),使y≡xk(modn)。就目前而言,人们还没有找到计算离散对数的快速算法
.计算下列表达式很容易
axmodn
模指数运算的逆问题是找出一个数的离散对数,这是个难题:
求解x,使得ax
b(modn)例如:3x
15mod17,那么x=6,不是所有的离散对数都有解。3x
7mod13无解。7.单向散列函数单向散列函数H(M)作用于任意长度的消息M,它返回一固定长度的散列值h:h=H(M)其中h的长度为m
输入任意长度且输出为固定长度的函数有多种,但单向散列函数还具有使其单向的如下特征:。给定M,很容易计算h。给定h,根据H(M)=h计算M很难。给定M,要找到另一个消息M’并满足H(M)=H(M’)很难在一些其它的应用中,仅有单向性是不够的,还需要称之为抗碰撞的条件:要找出两个随机的消息M和M’来满足H(M)=H(M’)满足很难8.因子分解对一个数进行因子分解就是找出它的素因子10=2*560=2*2*3*5252601=41*61*101目前最好的因子分解算法是:。数域筛选法(numberfieldsieve,NFS)。二次筛选法。椭园曲线法。Pollard的蒙特卡罗算法。连分式算法。试除法9.生成元如果p是一个素数,且g小于p,对于从0到p-1的每一个b,都存在某个a,使得ga
b(modp),那么g是模p的生成元(generator)。另一种称法称g是p的本原元(primitive)。例如,如果p=11,2是模11的一个生成元210=1024
1(mod11)21=2
2(mod11)28=256
3(mod11)22=4
4(mod11)24=16
5(mod11)29=512
6(mod11)27=128
7(mod11)23=8
8(mod11)26=64
9(mod11)25=32
10(mod11)10.二次剩余在数论中,特别在同余理论裏,一个整数X对另一个整数p的二次剩餘(英语:Quadraticresidue)指X的平方X^2除以p得到的余数。當對於某個d及某個X,式子X^2=
d(modp)成立時,稱「d是模p的二次剩餘」當對於某個d及某個X,X^2=
d(modp)不成立時,稱「d是模p的二次非剩餘」如果p是素数,且a小于p,如果x2
a(modp),对一些x成立,那么称a是对模p的二次剩余(quadraticresidue)。
不是所有的a的值都满足这个特性。如果a是对模n的一个二次剩余,那么它必定是对模n的所有素因子的二次剩余。如:p=7,二次剩余是1,2,4:12=1
1(mod7)22=4
4(mod7)32=9
2(mod7)42=16
2(mod7)52=25
4(mod7)62=36
1(mod7)没有x值可满足下列这些方程的任意一个:
x2
3(mod7)x2
5(mod7)x2
6(mod7)
所以3,5,6是对模7的二次非剩余。
11.有限域仅含有限多个元素的域。它首先由E.伽罗瓦(1811-1832)所发现,因而又称为伽罗瓦域(Galoisfield)。
有限域中元素的个数为一个素数,或者一个素数的幂,记为GF(P)或GF(pn),其中P为素数。
有限域中运算满足交换律、结合律、和分配律。密码学中用到很多有限域中的运算,因为可以保持数在有限的范围内,且不会有取整的误差。–GF(p)–GF(2n)GaloisFieldsGF(p)
GF(p)是整数集合{0,1,…,p-1}具有模素数p的运算作业:在RSA算法中,如果p=3,q=11,e=3,试写出d的计算过程;给出RSA加密算法对明文m=5进行加密和解密的过程;描述中间人攻击情况下,攻击者需要做的工作。描述迪菲-赫尔曼密钥交换(Diffie–Hellmankeyexchange)协议中是如何实现密钥交换的。以p=23以及g=5为例来说明。第三讲
密码协议协议结构模块协议(protocol)是一系列步骤,它包括两方或者多方,设计它的目的是要完成一件任务。特点:每个人都了解协议,预先知道所有步骤。每个人都必须同意并遵守。协议必须是清楚,不会有误解、歧义。必须完整,每种可能情况必须规定具体动作。密码协议就是使用密码学的协议。协议中的角色Alice协议中的第一个参与者Bob协议中的第二个参与者carol三方协议的参与者Dave四方协议的参与者Eve窃听者Mallory恶意的主动攻击者Trend值得信赖的仲裁者Walter监察人:保护Alice和BobPeggy证明人Victor验证者被动攻击,主动攻击2.1基本协议一、密钥交换1.对称密码学的密钥交换此协议假设Alice和Bob每人和
KDC(KeyDistributionCenter)共享一个秘密密钥,在我们的协议中Trent就是KDC。在协议开始之前,这些密钥必须在适当的位置。(1)
Alice呼叫KDC,并请求一个与Bob通信的会话密钥。(2)KDC产生一随机会话密钥,并对它的两个副本加密:一个用Alice的密钥,另一个用Bob的密钥加密。Trent发送这两个副本给Alice(3)Alice对她的会话密钥的副本解密(4)Alice将Bob的会话密钥的副本传给Bob(5)Bob对他的会话密钥的副本解密Alice和Bob用这个会话密钥安全通信。这个协议依赖于Trent的绝对安全性。Trent更可能是可信的计算机程序,而不是可信的个人。此协议的缺点是:(1)MALLORY可能破坏KDC,整个网络都会破坏。他有Trent与每个用户共享的秘密密钥;(2)KDC可能成为瓶颈。他必须参与每一次密钥交换,如果KDC失败了,这个系统就会被破坏。2.公开密钥密码学的密钥交换基础的混合密码系统中,Alice和Bob使用公开密钥密码协商会话密钥,并用协商的会话密钥加密数据。在一些实际的现实中,Alice和Bob签名的公开密钥可在数据库中获得。这使得密钥交换更容易,即使Bob从来没有听说过Alice,Alice亦能够把消息安全地发送给BOB。(1)Alice从KDC得到BOB的公开密钥。(2)Alice产生随机会话密钥,用Bob的公开密钥加密它,然后将它传给BOB。(3)BOB用他的私人密钥解密Alice的消息。(4)
两人用同一会话密钥对他们的通信进行加密。
3.
中间人攻击Eve除了试图破译公开密钥算法或者对密文攻击之外,没有更好的办法。MALLORY比EVE更有能力,他不仅能窃听Alice和BOB间的消息,还能修改、删除消息,并能产生全新的消息并能模仿Alice和BOB谈话。(1)Alice将她的公开密钥传递给BOB。MALLORY截取这个密钥,并将自己的公开密钥传送给BOB(2)BOB将他的公开密钥传递给Alice。MALLORY截取这个密钥,并将自己的公开密钥传送给Alice(3)当Alice将用BOB的公开密钥加密消息传递给BOB时,MALLORY截取它。由于消息实际上是用MALLORY的公开密钥加密的,他就用自己的私人密钥解密。再用BOB的公开密钥对消息重新加密,并将它传送给BOB。(4)BOB将用Alice的公开密钥加密消息传递给Alice时,MALLORY截取它。由于消息实际上是用MALLORY的公开密钥加密的,他就用自己的私人密钥解密。再用Alice的公开密钥对消息重新加密,并将它传送给Alice。
即使Alice和BOB的公开密钥存储在数据库中,这种攻击亦是可行的。MALLORY能够截取Alice的数据库查询,并用自己的公开密钥代替BOB的公开密钥,对BOB他可做同样的事情。
4.
联锁协议由RonRivest和AdiShamir发明的联锁协议是阻止中间人攻击的好办法。(1)Alice将她的公开密钥传送给BOB(2)BOB将她的公开密钥传送给Alice(3)Alice用BOB的公开密钥加密她的消息,并将加密消息的一半传送给BOB(4)BOB用Alice的公开密钥加密她的消息,并将加密消息的一半传送给Alice(5)Alice将加密的另一半消息传递给BOB
(6)
BOB将Alice的两半消息合在一起,并用他的私人密钥解密;BOB将她加密的另一半消息传递给Alice(7)Alice将BOB两半消息合在一起,并用她的私人密钥解密。
5.
使用数字签名的密钥交换在会话密钥交换协议期间采用数字签名亦能防止中间人攻击。KDC对Alice和BOB的公开密钥签名。签名的密钥包括一个已签名的所有权证书。当Alice和BOB收到密钥时,他们每个人都能验证KDC的签名。他们就知道公开密钥是哪个人的。密钥的交换就能进行了。
6.
密钥和消息传输Alice和BOB在交换消息前不需要完成密钥交换协议。在下面的协议中,Alice在没有任何以前的密钥交换的情况下,将消息M传送给BOB。(1)Alice产生一随机会话密钥K,并用K加密M:EK(M)(2)Alice从数据库中得到BOB的公开密钥。(3)Alice用BOB的公开密钥加密K:EB(K)(4)Alice将加密的消息和加密的会话密钥传送给BOB:
EK(M)、EB(K)。
为人增加安全性,防止中间人攻击,Alice可对传输签名。(5)BOB用他的私人密钥将Alice的会话密钥K解密。(6)BOB用会话密钥将Alice的消息解密。这个混合系统表示,公开密钥密码是怎样经常用于通信系统的。它可以和数字签名、时间标记以及任何其他安全协议合在一起使用。
7.
密钥和消息广播Alice想把消息传送给BOB、CAROL和DAVE(1)
Alice产生一随机会话密钥K,并用K加密M:EK(M)(2)Alice从数据库中得到BOB、CAROL和DAVE的公开密钥。(3)Alice用BOB的公开密钥加密K,用CAROL的公开密钥加密K,用DAVE的公开密钥加密K:EB(K)、EC(K)、ED(K)(4)Alice广播加密的消息和所有加密的会话密钥传送给BOB、CAROL和DAVE:EK(M)、EB(K)EC(K)、ED(K)。(5)BOB、CAROL、DAVE用他们的私人密钥将Alice的会话密钥将解密。(6)
BOB、CAROL、DAVE用会话密钥将Alice的消息解密。二、鉴别1.使用单向函数鉴别RogerNeedham和MikeGuy意识到计算机没有必要知道口令。计算机只需有能力区别有效口令和无效口令就成。这种办法很容易用单向函数来实现。计算机存储口令的单向函数而不是口令。(1)
Alice将她的口令传送给计算机(2)
计算机完成口令的单向函数计算。(3)计算机把单向函数的运算结果和它以前存储的值比较。由于计算机不再存储每人的有效口令表,所以某些人侵入计算机,并偷取口令的可能就减少了。由口令的单向函数产生的口令表是没用的,因为单向函数不可能逆向恢复出口令。
2.
字典式攻击和salt
用单向函数加密的口令文件还是很脆弱。MALLORY在业余时间编制了1000000个最常用的口令表,他用单向函数对所有1000000个口令进行运算,并将结果存储起来。现在MALLORY偷出加密的口令文件,将它与自己的可能的口令文件进行比较,再观察哪个能匹配。这就是字典式攻击。
Salt是使这种攻击更困难的一种。Salt是一随机字符串,它与口令连接在一起,再用单向函数对其运算,然后将salt值和单向函数运算的结果存入主机数据库中。如果可能的salt值的数目足够大的话,它实际上就消除了对常用口令采用的字典式攻击。
3.
SKEYSKEY是一种鉴别程序,它依赖于单向函数的安全性。为了设置系统,Alice输入随机数R,计算机计算f(R)、f(f(R))、……等等大约100次,调用x1,x2,……x100这些数。计算机打印出这些信息的列表,Alice保管这些数,计算机亦顺利地在数据库中Alice的名字后面存储x101的值。当Alice第一次登录时,她输入她的名字和x100,计算机计算f(x100),并把它和x101比较,如果它们匹配,那么证明Alice身份是真的。然后,计算机用x100代替数据库中的x101,Alice将从她的列表中取消x100.Alice每次登录时,都输入她的列表中未取消的最后的数xi,计算机计算f(xi),并和存储在它的数据库中的xi+1比较.因为每个数只被使用一次,并且这个函数是单向的,所以攻击者不可能得到任何有用的信息。同样的,数据库对攻击者亦毫无用处。当然用完了列表中的数据后,必须重新初始化系统。2.2中级协议一、时间标记服务在很多情况中,人们需要证明某个文件在某个时期存在。对于纸上的文件,公证人可以对文件签名,律师可以保护副本。如果产生了争端,公证人或律师可以证明某封信产生于某个时间。在数字世界中,事情要复杂得多。没有办法检查窜改签名的数字文件,他们可以无止境地复制和修改而无人发现。人们采用了数字时间标志协议。协议有三条性质:•数据本身必须有时间标记,而不用考虑它所用的物理媒介。•改变文件的哪怕是1个位而文件却没有明显变化是不可能的。•不可能用不同于当前日期和时间的日期和时间来标记文件。1.仲裁解决方法这个协议需要Trent和Alice,Trent提供可信的时间标记服务,Alice希望对文件加上时间标记:(1)
Alice将文件的副本传送给Trent。(2)
Trent将他收到文件的日期和时间记录下来,并妥善保存文件的副本。现在,如果有人对Alice所声明的文件产生的时间有怀疑,Alice只要打电话给Trent,Trent将提供文件的副本,并证明他在标记的日期和时间接收到文件。这个协议是可行的,但有明显的问题。第一、没有保密性,Alice不得将文件的副本交给Trent。
第二、数据库本身将是巨大的。并且发送大量的文件给Trent所要求的宽带亦非常大。第三、存在潜在危险。传送错误或Trent的中央计算机中某些地方的电磁炸弹引爆将使Alice声明的时间标记完全无效。可能有些执行时间标记业务的人并不象Trent那样诚实。2.改进的仲裁解决方法单向散列函数和数字签名能够轻而易举地解决大部分问题:(1)Alice产生文件的单向散列值。(2)Alice将散列值传送给Trent。(3)Trent将接收到的散列值的日期和时间附在散列值后,并对结果进行数字签名。(4)
Trent将签名的散列和时间标记送回给Alice.
这种方法解决了除最后一个问题的所有问题。
二、
阈下信道假设Alice和BOB被捕入狱。他将去男牢房,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能制造投资咨询合同(2篇)
- 2025年山东铝业职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年唐山工业职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年南京科技职业学院高职单招数学历年(2016-2024)频考点试题含答案解析
- 2025至2031年中国炒菜灶行业投资前景及策略咨询研究报告
- 2025至2031年中国摇头聚光灯行业投资前景及策略咨询研究报告
- 2025至2031年中国尼龙网织手套行业投资前景及策略咨询研究报告
- 人工智能伦理规范-第4篇-深度研究
- 植物基宠食发展-深度研究
- 安全存储解决方案-深度研究
- 江西省部分学校2024-2025学年高三上学期1月期末英语试题(含解析无听力音频有听力原文)
- GA/T 2145-2024法庭科学涉火案件物证检验实验室建设技术规范
- 2024年度窑炉施工协议详例细则版B版
- 尿毒症替代治疗
- 基底节脑出血护理查房
- 工程公司总经理年终总结
- 【新能源汽车企业的财务风险控制研究:以比亚迪公司为例15000字】
- 医美整形销售培训课件
- 安保服务技术标准及要求
- 芯片研发项目计划表模板
- 公司战略和绩效管理doc资料
评论
0/150
提交评论