版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章密 码 技 术 5.1 密码技术概述 密码学Cryptology是一门古老而深奥的学科,有着悠久、灿烂的历史。密码技术是研讨数据加密、解密及变换的科学,涉及数学、计算机科学、电子与通讯等诸多学科。虽然其实际相当高深,但概念却非常简单。密码技术包含两方面亲密相关的内容,即加密和解密。加密就是研讨、编写密码系统,把数据和信息转换为不可识别的密文的过程,而解密就是研讨密码系统的加密途径,恢复数据和信息本来面目的过程。加密和解密过程共同组成了加密系统。 在加密系统中,要加密的信息称为明文Plaintext,明文经过变换加密后的方式称为密文Ciphertext。由明文变为密文的过程称为加密Enci
2、phering,通常由加密算法来实现。由密文复原成明文的过程称为解密Deciphering,通常由解密算法来实现。 对于较为成熟的密码体系,其算法是公开的,而密钥是严密的。这样运用者简单地修正密钥,就可以到达改动加密过程和加密结果的目的。密钥越长,加密系统被破译的几率就越低。根据加密和解密过程能否运用一样的密钥,加密算法可以分为对称密钥加密算法简称对称算法和非对称密钥加密算法简称非对称算法两种。 经过对传输的数据进展加密来保证其平安性,曾经成为了一项计算机系统平安的根本技术,它可以用很小的代价为数据信息提供相当大的平安维护,是一种自动的平安防御战略。5.2 传统的加密方法 传统的加密方法有三种
3、:交换密码、变位密码以及一次性加密。 5.2.1 交换密码 替代密码是用一组密文字母来替代一组明文字母以隐藏明文,同时坚持明文字母的位置不变。 最古老的一种交换密码是恺撒密码,恺撒密码又被称为循环移位密码。其优点是密钥简单易记,但由于明文和密文的对应关系过于简单,所以平安性较差。 对于恺撒密码的另一种改良方法是,使明文字母和密文字母之间的映射关系没有规律可循。如将26个字母中的每一个都映射成另一个字母,这种方法称为单字母表交换,其密钥是对应于整个字母表的26个字母串。 由于交换密码是明文字母与密文字母之间的一一映射,所以在密文中依然保管了明文中字母的分布频率,这使得其平安性大大降低。 小知识:
4、在英文中,e是最常用的字母,接下来是t,o,a,n,i 等。最常用的两个字母的组合是th,in,er,re和an 。最常见的三个字母的组合是the,ing和ion 。 5.2 传统的加密方法5.2.2 变位密码 在交换密码中坚持了明文的符号顺序,只是将它们隐藏起来,而变位密码却是要对明文字母作重新排序,但不隐藏它们。常用的变位密码有列变位密码和矩阵变位密码。 1.列变位密码 列变位密码的密钥是一个不含任何反复字母的单词或短语,然后将明文排序,以密钥中的英文字母大小顺序排出列号,最后以列的顺序写出密文。 2.矩阵变位密码 矩阵变位密码是把明文中的字母按给定的顺序陈列在一个矩阵中,然后用另一种顺序
5、选出矩阵的字母来产生密文。 5.2 传统的加密方法5.2.3 一次性加密 假设要既坚持代码加密的可靠性,又坚持交换加密器的灵敏性,可采用一次性密码进展加密。 首先选择一个随机比特串作为密钥。然后把明文转换成一个比特串,最后逐位对这两个比特串进展异或运算。例如,以比特串“011010101001作为密钥,明文转换后的比特串为“101101011011,那么经过异或运算后,得到的密钥为“110111110010。 这种密文没有给破译者提供任何信息,在一段足够长的密文中,每个字母或字母组合出现的频率都一样。由于每一段明文同样能够是密钥,假设没有正确的密码,破译者是无法知道终究怎样的一种映射可以得到真
6、正的明文,所以也就无法破译这样生成的密文。 与此同时,一次性加密在实际中也暴显露了许多的缺陷。第一,一次性加密是靠密码只运用一次来保证的,假设密码多次运用,密文就会呈现出某种规律性,就有被破译的能够。第二,由于这种密钥无法记忆,所以需求收发双方随身携带密钥,极不方便。第三,由于密钥不可反复,所以可传送的数据总量遭到可用密钥数量的限制。第四,这种方法对丧失信息或信息错序非常敏感,假设收发双方错序,那么一切的数据都将被篡改。5.3 常用加密技术引见 5.3.1 DES算法 数据加密规范DESData Encryption Standard是美国国家规范局于1977年公布的由IBM公司研制的加密算法
7、。DES被授权用于一切非严密通讯的场所,后来还曾被国际规范组织采用为国际规范。 DES是一种典型的按分组方式任务的单钥密码算法。其根本思想是将二进制序列的明文分组,然后用密钥对这些明文进展替代和置换,最后构成密文。DES算法是对称的,既可用于加密又可用于解密。它的巧妙之处在于,除了密钥输入顺序之外,其加密和的步骤完全一样,从而在制造DES芯片时很容易到达规范化和通用化,很适宜现代通讯的需求。 DES算法将输入的明文分为64位的数据分组,运用64位的密钥进展变换,每个64位的明文分组数据经过初始置换、16次迭代和逆置换三个主要阶段,最后输出得到64位的密文。在迭代前,先要对64位的密钥进展变换,
8、密钥经过去掉其第8、16、24、。、64位减至56位,去掉的那8位被视为奇偶校验位,不含密钥信息,所以实践密钥长度为56位。DES加密概略如下图: 5.3 常用加密技术引见 5.3 常用加密技术引见 DES算法的初始置换过程为:输入64位明文,按初始置换规那么把输入的64位数据按位重新组合,并把输出分为左右两部分,每部分各长32位。即将输入的第58位换到第一位,第50位换到第2位,第12位换到第3位,依此类推,最后一位是原来的第7位。例如:置换前的输入值为D1D2D3。D64,那么经过初始置换后,左面部分为:D58D50。D8,右面部分位:D57D49。D7。 DES算法的迭代过程为:密钥与初
9、始置换后的右半部分相结合,然后再与左半部分相结合,其结果作为新的右半部分。结合前的右半部分作为新的左半部分。这样一些步骤组成一轮。这种过程要反复16次。在最后一次迭代之后,所得的左右两部分不再交换,这样可以使加密和解密运用同一算法。如下图:5.3 常用加密技术引见5.3.2 IDEA算法 国际数据加密算法IDEAInternational Data Encryption Algorithm是瑞士的著名学者提出的。IDEA是在DES算法的根底上开展起来的一种平安高效的分组密码系统。 IDEA密码系统的明文和密文长度均为64比特,密钥长度那么为128比特。其加密由8轮类似的运算和输出变换组成,主要
10、有异或、模加和模乘三种运算。其加密概略如下图: 5.3 常用加密技术引见 5.3 常用加密技术引见 IDEA密码系统在加密和解密运算中,仅仅运用作用于16比特子块对的一些根本运算,因此效率很高。IDEA密码系统具有规那么的模块化构造,有利于加快其硬件实现速度。由于IDEA的加密和解密过程是类似的,所以有能够采用同一种硬件器件来实现加密和解密。 IDEA算法的密钥长度为128位,是DES密钥长度的两倍。它可以抵抗差分密码分析方法和相关密钥密码分析方法的攻击。科学家已证明IDEA算法在其8轮迭代的第4轮之后便不受差分密码分析的影响了。假定穷举法攻击有效的话,那么即使设计一种每秒种可以实验10亿个密
11、钥的公用芯片,并将10亿片这样的芯片用于此项任务,仍需1013年才干处理问题。目前,尚无一片公开发表的试图对IDEA进展密码分析的文章。因此,就如今来看该当说IDEA是一种平安性好、效率高的分组密码算法。5.3 常用加密技术引见5.3.3 RSA算法 RSA算法是公开密钥密码体制中最著名、运用最广泛的一种。首先来对公开密钥密码体制做一了解。 公开密钥密码体制,又叫做非对称密钥密码体制,是与传统的对称密钥密码体制相对应的。在传统的加密方法中,加密、解密运用的是同样的密钥,由发送者和接纳者分别保管,在加密和解密时运用。通常,运用的加密算法比较简便高效,密钥简短,破译极为困难。但采用这种方法的主要问
12、题是在公开的环境中如何平安的传送和保管密钥。1976年,Diffie和Hellman为处理密钥的分发与管理问题,在“密码学的新方向一文中,提出了一种新的密钥交换协议,允许在不平安的媒体上经过通讯双方交换信息,平安地传送密钥。在此新思想的根底上,很快出现了公开密钥密码体制。在该体制中,运用一个加密算法E和一个解密算法D,它们彼此完全不同,并且解密算法不能从加密算法中推导出来。此算法必需满足以下三点要求: 1D是E的逆,即DEP=P; 2从E推导出D极其困难; 3对一段明文的分析,不能够破译出E。5.3 常用加密技术引见 从上述要求可以看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对
13、外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户独一保管的私有密钥是严密的,也只需它能将密文恢复为明文。虽然解密密钥实际上可由加密密钥推算出来,但实践上在这种密码体系中是不能够的,或者虽然可以推算出,但要破费很长的时间而成为不可行的,所以将加密密钥公开也不会危害密钥的平安。 公开密钥密码体制,是现代密码学最重要的发明和进展。普通了解密码学就是维护信息传送的性,但这仅仅是当今密码学的一个方面。对信息发送与接纳人的真实身份的验证,对所发出/接纳信息在事后的不可抵赖以及保证数据的完好性也是现代密码学研讨的另一个重要方面。公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在
14、继续产生许多新的思想和方案。 在一切的公开密钥加密算法中,RSA算法是实际上最为成熟、完善,运用最为广泛的一种。RSA算法是由R.Rivest、A.Shamir和L.Adleman三位教授于1978年提出的,RSA就来自于三位教授姓氏的第一个字母。该算法的数学根底是初等数论中的Euler欧拉定理,其平安性建立在大整数因子分解的困难性之上。RSA算法是第一个能同时用于加密和数字签名的算法,并且易于了解和操作。RSA算法从提出到如今已近二十年,阅历了各种攻击的考验,逐渐为人们接受,普遍以为是目前最优秀的公钥方案之一。下面简要的引见如何运用这种方法。5.3 常用加密技术引见 首先预备加密所需的参数:
15、选择两个大的质数p和q,普通的应为100位以上的十进制质数。然后计算n=pq和z=p-1q-1。选择一个与z互为质数的数d。找出e,使得ed=1 mod z。其中,e,n便是公开密钥,d,n便是私有密钥。 加密过程为:将明文看作一个比特串,划分成块,使每段明文信息P落在0Pn之间,这可以经过将明文分成每块有k位的组来实现,并且k为满足2kn成立的最大整数。对明文信息P进展加密,计算C=Pemod n。解密C,要计算P=Cdmod n。可以证明,在确定的范围内,加密和解密函数是互逆的。为实现加密,需求e和n,为实现解密需求d和n。所以公钥由e,n组成,私钥由d,n组成。 下面是一个简单的例子,我
16、们为明文“SUZANNE进展加密和解密,如下图: 5.3 常用加密技术引见 我们选择了p=3,q=11,那么n=33,z=20。由于7和20没有公共因子,所以设d的一个适宜的值为d=7。选定这些值后,求解方程7e1mod 20,得出e=3。然后根据C=P3mod 33得出明文P的密文C。接纳者那么根据P=C7mod 33将密文解密。 在上例中,由于质数选择得很小,所以P必需小于33,因此,每个明文块只能包含一个字符。结果构成了一个普通的单字母表交换密码。但它与DES还是有很大区别的,假设p,q的选择为10100 ,就可得到n= 10200 ,这样,每个明文块就可多达664比特,而DES只需64
17、比特。 以上情况并不能阐明RSA可以替代DES。相反,它们的优缺陷可以很好的互补,RSA的密钥很长,加密速度慢,而采用加密速度快,适宜加密较长的报文DES正好弥补了RSA的缺陷。即可以把DES用于明文加密,RSA用于DES密钥的加密。这样因运用RSA而耗掉的时间就不会太多。同时,RSA也可以处理DES密钥分配的问题。 RSA的缺陷主要有:第一,产生密钥很费事,遭到素数产生技术的限制,因此难以做到一次一密。第二,分组长度太大,为保证平安性,n 至少也要 600比特以上,使运算代价很高,尤其是速度较慢,比对称密码算法慢几个数量级。而且随着大数分解技术的开展,这个长度还在添加,不利于数据格式的规范化
18、。第三,RSA的平安性依赖于大整数的因子分解,但并没有从实际上证明破译RSA的难度与大整数分解难度等价。即RSA的艰苦缺陷是无法从实际上把握它的严密性能如何,为了保证其平安性,我们只能不断添加模n的位数。 5.4 加密技术的典型运用数字签名 5.4.1 数字签名的概念 数字签名(Digital Signature)是指信息发送者运用公开密钥算法的主要技术,产生的他人无法伪造的一段数字串。发送者用本人的私有密钥加密数据后,传给接纳者。接纳者用发送者的公钥解开数据后,就可确定数据来自于谁。同时这也是对发送者发送的信息的真实性的一个证明,发送者对所发送的信息是不能抵赖的。 一个数字签名算法主要由两个
19、算法组成,即签名算法和验证算法。签名者能运用一个的签名算法签一个音讯,所得的签名能经过一个公开的验证算法来验证。给定一个签名后,验证算法根据签名能否真实来作出一个“真或“假的问答。其过程可描画为:甲首先运用他的密钥对音讯进展签名得到加密的文件,然后将文件发给乙,最后,乙用甲的公钥验证甲的签名的合法性。这样的签名方法是符合以下可靠性原那么的: 1签字是可以被确认的; 2签字是无法被伪造的; 3签字是无法反复运用的; 4文件被签字以后是无法被篡改的; 5签字具有无可否认性。 目前已有大量的数字签名算法,如RSA数字签名算法、EIGamal数字签名算法、美国的数字签名规范/算法(DSS/DSA)、椭
20、圆曲线数字签名算法和有限自动机数字签名算法等。5.4 加密技术的典型运用数字签名5.4.2 数字签名的实现方法 数字签名可以用对称算法实现,也可以用非对称算法实现,还可以用报文摘要算法来实现。 1.运用对称密钥密码算法进展数字签名 对称密钥密码算法所用的加密密钥和解密密钥通常是一样的,即使不同也可以很容易地由其中的一个推导出另一个。在此算法中,加解密双方所用的密钥都要保守。由于其计算速度快,而广泛运用于大量数据的加密过程中。运用对称密钥密码算法进展数字签名的加密规范有:DES,RC2,RC4等。 2.运用非对称密钥密码算法进展数字签名 非对称密钥密码算法即公钥密码算法运用两个密钥:公开密钥和私
21、有密钥,分别用于对数据的加密和解密,即假设用公开密钥对数据进展加密,只需用对应的私有密钥才干进展解密。假设用私有密钥对数据进展加密,那么只需用对应的公开密钥才干解密。运用公钥密码算法进展数字签名的加密规范有:RSA,DSA,DiffieHellman等。 3.报文摘要算法 报文摘要法是最主要的数字签名方法,也称之为数字摘要法或数字指纹法。该数字签名方法是将数字签名与要发送的信息严密联络在一同,它更适宜于电子商务活动。将一个报文内容与签名结合在一同,比内容和签名分开传送,有着更强的可信度和平安性。运用报文摘要算法进展数字签名的通用加密规范有: SHA1,MD5等。 5.4 加密技术的典型运用数字
22、签名5.4.3 数字签名的其他问题 1.数字签名的严密性 数字签名的严密性很大程度上依赖于公开密钥。在适用过程中,通常一个用户拥有两个密钥对,一个密钥对用来对数字签名进展加密解密,一个密钥对用来对密钥进展加密解密。这样的方式提供了更高的平安性。由于加密密钥是公开的,所以密钥的分配和管理就很简单,而且可以很容易地实现数字签名。因此,非常适宜于电子商务运用的需求。 2.数字签名的缺乏 1数字签名亟需相关法律条文的支持。 2假设发送方的信息曾经进展了数字签名,那么接纳方就一定要有数字签名软件,这就要求软件具有很高的普及性。 3假设某人发送信息后,被取消了原有数字签名的权限,以往发送的数字签名在鉴定时
23、只能在取消确认列表中找到原有确认信息,这样就需求鉴定中心结合时间信息进展鉴定。 4数字签名中的根底设备,如鉴定中心、在线存取数据库等的建立费用,能够会影响到这项技术的全面推行。 3.数字签名的开展方向 数字签名作为电子商务的运用技术,将越来越遭到人们的注重。其中涉及到的关键技术也很多,并且有很多新的协议,如网上买卖平安协议SSL、SET协议都会涉及到数字签名,终究运用哪种算法,哪种HASH函数,以及数字签名管理、在通讯实体与能够有的第三方之间运用协议等等问题都可以作为新的课题。置信,数字签名的前景将越来越宽广。 5.5 密钥管理 密钥的平安管理在信息系统平安中是极为重要的。它不仅会影响系统的平
24、安性,还会涉及到系统的可靠性、有效性和经济性。 密钥管理包括密钥的产生、存储、装入、分配、维护、丧失、销毁等内容。其方法的选取是基于参与者对运用该方法的环境所作的评价之上。对环境的思索包括要进展防备所运用的技术, 提供的密码效力的体系构造与定位, 以及密码效力提供者的物理构造与定位。 1对称密钥的管理:对称加密是基于共同保守来实现的。采用对称加密技术的通讯双方必需求保证采用的是一样的密钥,要保证彼此密钥的交换是平安可靠的,同时还要设定防止密钥泄密和更改密钥的程序。这样对称密钥的管理就会变成一件繁琐且充溢潜在要挟的任务,处理的方法是经过公开密钥加密技术实现对称密钥的管理。这样将使相应的管理变得简
25、单和更加平安,同时还处理了纯对称密钥方式中存在的可靠性问题和鉴别问题。 通讯的一方可以为每次交换的信息生成独一的一把对称密钥,并用公开密钥对该密钥进展加密,然后再将加密后的密钥和用该密钥加密的信息一同发送给相应的另一方。由于对每次信息交换都对应生成了独一的一把密钥,因此双方就不再需求对密钥进展维护和担忧密钥的泄露或过期。这种方式的另一优点是,即使泄露了一把密钥也只将影响一次通讯过程,而不会影响到双方之间一切的通讯。同时,这种方式也提供了发布对称密钥的一种平安途径。 2公开密钥的管理:通讯双方可以运用数字证书 ( 公开密钥证书 ) 来交换公开密钥。国际电信联盟制定的规范X.509对数字证书进展了
26、定义。该规范等同于国际规范化组织 ( ISO ) 与国际电工委员会 ( IEC ) 结合发布的ISO/IEC 9594-8:195规范。数字证书通常包含有独一标识证书一切者 的称号、独一标识证书发布者的称号、证书一切者的公开密钥、证书发布者的数字签名、证书的有效期及证书的序列号等。证书发布者普通称为证书管理机构 ( CA ), 它是通讯双方都信任的机构。数字证书可以起到标识通讯双方的作用 , 是目前广泛采用的密钥管理技术之一。 3密钥管理的相关规范规范:目前国际有关的规范化机构都着手制定了关于密钥管理的技术规范规范。ISO与IEC下属的信息技术委员会 (JTC1) 已起草了关于密钥管理的国际规
27、范规范。该规范主要由三部分组成,第一部分是密钥管理框架,第二部分是采用对称技术的机制,第三部分是采用非对称技术的机制。该规范现已进入到国际规范草案表决阶段,并将很快成为正式的国际规范。5.6 加密软件实例PGP 5.6.1 PGP简介 PGPPretty Good Privacy是一种操作简单、运用方便、普及程度较高的,基于不对称加密算法RSA公钥体系的邮件加密软件。 PGP实践上用来加密的不是RSA本身,而是采用了IDEA传统加密算法。缘由是RSA算法计算量极大,在速度上不适宜加密大量数据,而IDEA的加解密速度比RSA要快很多,所以实践上PGP是以一个随机生成的密匙,用IDEA算法对明文加
28、密,然后再用 RSA算法对该密匙进展加密。收件人同样是用RSA解密出这个随匙,再用IDEA解密邮件本身。这样的链式加密就做到了既有RSA体系的严密性,又有IDEA算法的快捷性。 用PGP进展数字签名的过程为:发送方用本人的私匙将128位的特征值加密,附加在邮件后,再用接纳方的公匙将整个邮件加密。在这里特别要留意次序,假设先加密再签名的话,他人可以将签名去掉后加上本人的签名,从而篡改了签名。密文收到以后,接纳方用本人的私匙将邮件解密,得到发送方的原文和签名,然后用PGP从原文计算出一个128位的特征值来和用发送方的公匙解密签名所得到的数进展比较,假设符合就阐明这份邮件确实是发送方寄来的。这样就使两个平安性要求都得到了满足。 PGP还可以只签名而不加密,这适用 于公开发表声明时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗保健票据处理办法
- 餐饮业电梯施工安装工程合同
- 智能建筑网线铺设协议
- 科技期刊数字化出版技术指南
- 绿色建筑招投标法规体系精讲
- 城市交通监理管理规范
- 大型设备焊工劳动合同
- 物业维修技术员定向就业
- 船舶制造工程招投标资料模板
- 旅游集团的民主管理
- 胃腺癌的早期诊断与筛查
- 无线电基础知识资料
- 矿井火灾防治新技术
- 分布式文件存储方案
- 山东省滨州市滨城区2023-2024学年八年级上学期期中考试数学试题
- 《新能源材料与器件》教学课件-05其他新能源技术
- 小学家长进课堂课件-认识桥梁
- 军队文职专用简历(2023年)
- KPMG笔试经典24题-36题详解(最终版本)
- 中职学校高考班家长会
- 餐饮企业日管控、周排查、月调度表格模板
评论
0/150
提交评论