1、公约公匙加密技术发展论文公约公匙加密技术发展调查报告专业班级: 学 号: 姓 名: 报告日期:2020年11月16日摘要公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。密钥对在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务(如电子商务等)能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。关键词:公开密匙,密码学,机密性,分发管理ABSTRACTPublic key cryptography is the m
2、ost important invention and advancement of modern cryptography. General understanding of cryptography (Cryptography) is to protect the confidentiality of information transmission. The key to security system based on public key in the system, key is generated for each of the key pair, consisting of a
3、 public key and a private key. In practical application, the private key from the owner of his own preservation, and the public key is needs to be released to the public. In order to make the public key system based on business (such as e-commerce) can be widely applied, and management of distribute
4、d a basic key problem is the key.KEYWORDS: Public key , Cryptograph , Confidentiality , Distribution management目录1公钥密码 1简介 1发展历程 2公钥密码学 32概念 3证书 4CA 4优点 53过程 54算法 6介绍 6RSA 7信息安全的目标 75产生 96加密解密 10参考文献: 101公钥密码简介公开密钥加密(英语:public-key cryptography,又译为公开密钥加密),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在
5、这种密码学方法中,需要一对密钥,一是个私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。该思想最早由瑞夫墨克(Ralph C. Merkle)在1974年提出1,之后在1976年。惠特菲尔德迪菲(Whitfield Diffie)与马丁赫尔曼(Martin Hellman)两位学者以单向函数与单向暗门函数为基础,为发讯与收讯的两方创建密钥。如果加密密钥是公开的,这用于客户给私钥所有者上传
6、加密的数据,这被称作为公开密钥加密(狭义)。例如,网络银行的客户发给银行网站的账户操作的加密数据。如果解密密钥是公开的,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。但这仅仅是当今密码学主题的一个方面。对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一
7、方面。公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。迄今为止的所有公钥密码体系中,RSA系统是最著名、使用最广泛的一种。发展历程1976年提出公共密钥密码体制,其原理是加密密钥和解密密钥分离。这样,一个具体用户就可以将自己设计的加密密钥和算法公诸于众,而只保密解密密钥。任何人利用这个加密密钥和算法向该用户发送的加密信息,该用户均可以将之还原。公共密钥密码的优点是不需要经安全渠道传递密钥,大大简化了密钥管理。它的算法有时也称为公开密钥算法或简称为公钥算
8、法。1978年提出公共密钥密码的具体实施方案,即RSA方案。1991年提出的DSA算法也是一种公共密钥算法,在数字签名方面有较大的应用优势。公钥密码学在密码学中,公开钥匙密码学,简称公钥密码学,又称非对称密码学,是使用一对公钥和私钥的密码学,与只用一个钥匙的密钥密码学相对应。通常,我们所说的公钥密码学包括公钥加密算法和数字签名算法。有些公钥加密算法可以很容易被改造成一个数字签名算法(如RSA),而有些则需要经过较大改动。2概念公钥体系结构中的一些基本概念与结构组成。密钥对在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则
9、需要公布于众。为了使基于公钥体系的业务(如电子商务等)能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。在很小的范围内,比如A和B这样的两人小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。常见的公钥加密算法有: RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法(英语:Elliptic Curve Cryptography, E
10、CC)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。证书互联网络的用户群决不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任。所以公钥加密体系采取了另一个办法,将公钥和公钥的主人名字联系在一起,再请一个大家都信得过有信誉的公正、权威机构确认,并加上这个权威机构的签名。这就形成了证书。由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。CA前面提及的权威机构就是电
11、子签证机关,即CA。CA(Certificate Authority)也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证CA(Certificate Authority)的签字从而信任CA(Certificate Authority),任何人都应该可以得到CA(Certificate Authority)的证书(含公钥),用以验证它所签发的证书。如果用户想得到一份属于自己的证书,他应先向CA(Certificate Authority)提出申请。在CA(Certificate Authority)判明申请者的身份后,便为他分配一个公钥,并且CA(Ce
12、rtificate Authority)将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给那个用户(申请者)。如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证(如前所述,CA签字实际上是经过CA(Certificate Authority)私钥加密的信息,签字验证的过程还伴随使用CA(Certificate Authority)公钥解密的过程),一旦验证通过,该证书就被认为是有效的。CA(Certificate Authority)除了签发证书之外,它的另一个重要作用是证书和密钥的管理。由此可见,证书就是用户在网上的电子个人身份证,同日常生活中使用的
13、个人身份证作用一样。CA(Certificate Authority)相当于网上公安局,专门发放、验证身份证。优点与对称密钥加密相比,优点在于无需共享的通用密钥,解密的私钥不发往任何用户。即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密,所截获的公钥是没有任何用处的。3过程假设两个用户A向B发送信息。B的公钥为c,对应私钥(也是属于B的)为d,明文为x.A用公钥对明文进行加密形成密文c(x),然后传输密文;B收到密文,用私钥对密文进行解密d(c(x),得到要通信的明文x。B向A发送信息反之。4算法介绍公开密钥算法是在1976年由当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hel
14、lman)两人首先发明的(论文New Direction in Cryptography)。但目前最流行的RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同开发的,分别取自三名数学家的名字的第一个字母来构成的。1976年提出的公开密钥密码体制思想不同于传统的对称密钥密码体制,它要求密钥成对出现,一个为加密密钥(e),另一个为解密密钥(d),且不可能从其中一个推导出另一个。自1976年以来,已经提出了多种公开密钥密码算法,其中许多是不安全的, 一些认为是安全的算法又有许多是不实用的,它们要么是密钥太大,要么密文扩展十分严重。
15、多数密码算法的安全基础是基于一些数学难题, 这些难题专家们认为在短期内不可能得到解决。因为一些问题(如因子分解问题)至今已有数千年的历史了。公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。用户要保障专用密钥的安全;公共密钥则可以发布出去。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。RSA公钥加密算法中使用最广的是RSA。RSA使用两个密钥,一个公共密钥,一个专用密钥。如用其中一个加密,则可用另一个解密,密钥长度从4
16、0到2048bit可变,加密时也把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但加密解密的开销也大,所以要在安全与性能之间折衷考虑,一般64位是较合适的。RSA的一个比较知名的应用是SSL,在美国和加拿大SSL用128位RSA算法,由于出口限制,在其它地区(包括中国)通用的则是40位版本。RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖;同时还可以利用数字签名较
17、容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。信息安全的目标通常信息安全的目标可以概括为解决信息的以下问题:保密性(Confidentiality)保证信息不泄露给XX的任何人。完整性(Integrity)防止信息被XX的人篡改。可用性(Availability)保证信息和信息系统确实为授权者所用。可控性(Controllability)对信息和信息系统实施安全监控,防止非法利用信息和信息系统。密码是实现一种变换,利用密码变换保护信息秘密是密码的最原始的能力,然而,随着信息和信息技术发展起来的现代密码学,不仅被用于解决信息的保密性,而且也用于解决信息的完整性、可用性和可控性。可以说
18、,密码是解决信息安全的最有效手段,密码技术是解决信息安全的核心技术。公用密钥的优点就在于,也许你并不认识某一实体,但只要你的服务器认为该实体的CA是可靠的,就可以进行安全通信,而这正是Web商务这样的业务所要求的。例如信用卡购物。服务方对自己的资源可根据客户CA的发行机构的可靠程度来授权。目前国内外尚没有可以被广泛信赖的CA。美国Natescape公司的产品支持公用密钥,但把Natescape公司作为CA。由外国公司充当CA在我国是一件不可想象的事情。公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。即用公共密钥技术在通信双方之间传送专用密钥,而用专
19、用密钥来对实际传输的数据加密解密。另外,公钥加密也用来对专用密钥进行加密。在这些安全实用的算法中,有些适用于密钥分配,有些可作为加密算法,还有些仅用于数字签名。多数算法需要大数运算,所以实现速度很慢,不能用于快的数据加密。以下将介绍典型的公开密钥密码算法-RSA。RSA算法很好的完成对电文的数字签名以抗对数据的否认与抵赖;利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。目前为止,很多种加密技术采用了RSA算法,比如PGP(PrettyGoodPrivacy)加密系统,它是一个工具软件,向认证中心注册后就可以用它对文件进行加解密或数字签名,PGP所采用的就是RSA算法。由
20、此可以看出RSA有很好的应用。5产生1. 选择两个大素数,p 和q ,计算出n=qp,n称为RSA算法的模数。p,q 必须保密,一般要求p,q为安全素数,n的长度大于1024bit ,这主要是因为RSA算法的安全性依赖于因子分解大数问题。2. 计算n的欧拉数(n)=(p-1)(q-1)(n)定义为不超过n并与n互质的数的个数。3. 然后随机选择加密密钥e,从0,(n)-1中选择一个与(n)互质的数e作为公开的加密指数。4. 最后,利用Euclid 算法计算解密密钥d, 满足de1(mod (n)。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
21、5.得到所需要公开密钥和秘密密钥:公开密钥(即加密密钥) PK=(e,n)秘密密钥(即解密密钥) SK=(d,n)6加密解密1. 加密信息 m(二进制表示)时,首先把m分成等长数据块m1 ,m2,., mi ,块长s,其中 2s = n, s 尽可能的大。2. 对应的密文是:ci mie ( mod n ) ( a )3. 解密时作如下计算:mi cid ( mod n ) ( b ) RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。参考文献:1 XX百科2 Publishing a new idea. Merkle个人网站. 2010-12-08.3 维基百科4 黄元飞,陈麟,唐三平信息安全与加密解密核心技术M上海:浦东电子出版社5 吴世忠,2003国内外网络与信息安全年度报告(上),信息安全与通信保密6 李煌.一种随机公开密钥加密算法及一种压缩算法J.科技情报开发与经济:2006年01期7 Rivet R L, Shamir A,Ad leman L. A method for obtaining digital signatures and public key cryptosystems. Comm., ACM. M 19778 杨维忠,李彤,郝林.RSA加密体制的安全隐患
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1