⑴ 公开密钥密码体系的概念
公钥体系结构中的一些基本概念与结构组成。
密钥对在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务(如电子商务等)能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。
公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。
在很小的范围内,比如A和B这样的两人小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。 互联网络的用户群决不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任。所以公钥加密体系采取了另一个办法,将公钥和公钥的主人名字联系在一起,再请一个大家都信得过有信誉的公正、权威机构确认,并加上这个权威机构的签名。这就形成了证书。
由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。 前面提及的权威机构就是电子签证机关,即CA。CA(Certificate Authority)也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证CA(Certificate Authority)的签字从而信任CA(Certificate Authority),任何人都应该可以得到CA(Certificate Authority)的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向CA(Certificate Authority)提出申请。在CA(Certificate Authority)判明申请者的身份后,便为他分配一个公钥,并且CA(Certificate Authority)将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给那个用户(申请者)。
如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证(如前所述,CA签字实际上是经过CA(Certificate Authority)私钥加密的信息,签字验证的过程还伴随使用CA(Certificate Authority)公钥解密的过程),一旦验证通过,该证书就被认为是有效的。
CA(Certificate Authority)除了签发证书之外,它的另一个重要作用是证书和密钥的管理。
由此可见,证书就是用户在网上的电子个人身份证,同日常生活中使用的个人身份证作用一样。CA(Certificate Authority)相当于网上公安局,专门发放、验证身份证。
⑵ 公开密钥密码体制的传统的加密方法
传统的加密方法是加密、解密使用同样的密钥,由发送者和接收者分别保存,在加密和解密时使用,采用这种方法的主要问题是密钥的生成、注入、存储、管理、分发等很复杂,特别是随着用户的增加,密钥的需求量成倍增加。在网络通信中,大量密钥的分配是一个难以解决的问题。
例如,若系统中有n个用户,其中每两个用户之间需要建立密码通信,则系统中每个用户须掌握(n-1)个密钥,而系统中所需的密钥总数为n*(n-1)/2 个。对10个用户的情况,每个用户必须有9个密钥,系统中密钥的总数为45个。对100个用户来说,每个用户必须有99个密钥,系统中密钥的总数为4950个。这还仅考虑用户之间的通信只使用一种会话密钥的情况。如此庞大数量的密钥生成、管理、分发确实是一个难处理的问题。
⑶ 密钥密码体系的公开密钥算法RSA
公开密钥算法是在1976年由当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人首先发明的(论文New Direction in Cryptography)。但目前最流行的RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同开发的,分别取自三名数学家的名字的第一个字母来构成的。
1976年提出的公开密钥密码体制思想不同于传统的对称密钥密码体制,它要求密钥成对出现,一个为加密密钥(e),另一个为解密密钥(d),且不可能从其中一个推导出另一个。自1976年以来,已经提出了多种公开密钥密码算法,其中许多是不安全的, 一些认为是安全的算法又有许多是不实用的,它们要么是密钥太大,要么密文扩展十分严重。多数密码算法的安全基础是基于一些数学难题, 这些难题专家们认为在短期内不可能得到解决。因为一些问题(如因子分解问题)至今已有数千年的历史了。
公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。用户要保障专用密钥的安全;公共密钥则可以发布出去。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。
公钥加密算法中使用最广的是RSA。RSA使用两个密钥,一个公共密钥,一个专用密钥。如用其中一个加密,则可用另一个解密,密钥长度从40到2048bit可变,加密时也把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但加密解密的开销也大,所以要在安全与性能之间折衷考虑,一般64位是较合适的。RSA的一个比较知名的应用是SSL,在美国和加拿大SSL用128位RSA算法,由于出口限制,在其它地区(包括中国)通用的则是40位版本。
RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖;同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完性。 公用密钥的优点就在于,也许你并不认识某一实体,但只要你的服务器认为该实体的CA是可靠的,就可以进行安全通信,而这正是Web商务这样的业务所要求的。例如信用卡购物。服务方对自己的资源可根据客户CA的发行机构的可靠程度来授权。目前国内外尚没有可以被广泛信赖的CA。美国Natescape公司的产品支持公用密钥,但把Natescape公司作为CA。由外国公司充当CA在我国是一件不可想象的事情。
公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。即用公共密钥技术在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。另外,公钥加密也用来对专用密钥进行加密。
在这些安全实用的算法中,有些适用于密钥分配,有些可作为加密算法,还有些仅用于数字签名。多数算法需要大数运算,所以实现速度很慢,不能用于快的数据加密。以下将介绍典型的公开密钥密码算法-RSA。
RSA算法很好的完成对电文的数字签名以抗对数据的否认与抵赖;利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。目前为止,很多种加密技术采用了RSA算法,比如PGP(PrettyGoodPrivacy)加密系统,它是一个工具软件,向认证中心注册后就可以用它对文件进行加解密或数字签名,PGP所采用的就是RSA算法。由此可以看出RSA有很好的应用。
⑷ 公开密钥密码体制的公开密钥密码体制
1976年美国斯坦福大学的两名学者迪菲和赫尔曼提出了公开密钥密码体制的概念。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
与传统的加密方法不同,该技术采用两个不同的密钥来对信息加密和解密,它也称为非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D,它们须满足条件:(1)D是E的逆,即D[E(X)]=X;(2)E和D都容易计算。(3)由E出发去求解D十分困难。从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。数学上的单向陷门函数的特点是一个方向求值很容易,但其逆向计算却很困难。许多形式为Y=f(x)的函数,对于给定的自变量x值,很容易计算出函数Y的值;而由给定的Y值,在很多情况下依照函数关系f(x)计算x值十分困难。例如,两个大素数p和q相乘得到乘积n比较容易计算,但从它们的乘积n分解为两个大素数p和q则十分困难。如果n为足够大,当前的算法不可能在有效的时间内实现。
特点:
(1) 发送者用加密密钥 PK 对明文 X 加密后,在接收者用解密密钥 SK 解密,即可恢复出明文,或写为:
Dsk(Epk(X)) = X
解密密钥是接收者专用的秘密密钥,对其他人都保密。
此外,加密和解密的运算可以对调,即
Epk(Dsk(X)) = X
(2) 加密密钥是公开的,但不能用它来解密,即
Dpk(Epk(X)) ? X
(3) 在计算机上可容易地产生成对的 PK 和 SK。
(4) 从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。
(5) 加密和解密算法都是公开的。
⑸ 对称密钥体制与公钥密钥体制的特点各自是什么各有何优缺点
对称密钥体制是加密密钥与解密密钥密码相同,两个参与者共享同一个密钥。
公钥密码体制是使用不同的加密密钥和解密密钥,加密密钥是公开信息,而解密密钥需要保密。
公钥密码体制有很多良好的特性,它不仅可以用来加密,还可以很方便的用于鉴别和数字签名。但公钥密码算法比对称密钥密码算法要慢好几个数量级。
对称密钥体制的加解密速度快且安全强度高,但密钥难管理和传送,不适于在网络中单独使用。
密钥的产生
1、选择两个大素数,p和q。
2、计算:n = p * q (p,q分别为两个互异的大素数,p,q必须保密,一般要求p,q为安全素数,n的长度大于512bit,这主要是因为RSA算法的安全性依赖于因子分解大数问题)。有欧拉函数(n)=(p-1)(q-1)。
3、然后随机选择加密密钥e,要求e和( p - 1 ) * ( q - 1 )互质。
4、最后,利用Euclid算法计算解密密钥d,满足de≡1(modφ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
⑹ 公钥密码体制是什么它的出现有何重要意义它与对称密码体制的异同有哪些
公开密钥密码体制是现代密码学的最重要的发明和进展。公开密钥密码体制对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性有着重要意义。
公钥密码体制与对称密码体制都是密码体制中的一种。
公钥密码体制与对称密码体制的主要区别如下:
一、性质不同
1、公钥密码体制:是现代密码学的最重要的发明和进展。
2、对称密码体制:是一种传统密码体制,也称为私钥密码体制。
二、作用不同
1、公钥密码体制:努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。
2、对称密码体制:由于对称加密系统仅能用于对数据进行加解密处理,提供数据的机密性,不能用于数字签名。因而人们迫切需要寻找新的密码体制。
三、特点不同
1、公钥密码体制:由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。
2、对称密码体制:计算开销小,加密速度快,是用于信息加密的主要算法。
⑺ des是什么密码体制
对称密码体制是从传统的简单换位发展而来的。其主要特点是:加解密双方在加解密过程中要使用完全相同的一个密钥。使用最广泛的是DES(Data Encryption Standard)密码算法。
从1977年美国颁布DES密码算法作为美国数据加密标准以来,对称密钥密码体制得到了广泛的应用。对称密钥密码体制从加密模式上可分为序列密码和分组密码两大类。
1.序列密码
序列密码一直是作为军事和外交场合使用的主要密码技术之一。它的主要原理是:通过有限状态机产生性能优良的伪随机序列,使用该序列加密信息流,得到密文序列。所以,序列密码算法的安全强度完全决定于它所产生的伪随机序列的好坏。产生好的序列密码的主要途径之一是利用移位寄存器产生伪随机序列。目前要求寄存器的阶数大于100阶,才能保证必要的安全。序列密码的优点是错误扩展小、速度快、利于同步、安全程度高。
2.分组密码
分组密码的工作方式是将明文分成固定长度的组,如64比特一组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。
对称密钥密码体制存在的最主要问题是:由于加/解密双方都要使用相同的密钥,因此在发送、接收数据之前,必须完成密钥的分发。所以,密钥的分发便成了该加密体系中的最薄弱,也是风险最大的环节,所使用的手段均很难保障安全地完成此项工作。这样,密钥更新的周期加长,给他人破译密钥提供了机会。在历史上,破获他国情报不外乎两种方式:一种是在敌方更换“密码本”的过程中截获对方密码本;另一种是敌人密钥变动周期太长,被长期跟踪,找出规律从而被破解。在对称算法中,尽管由于密钥强度增强,跟踪找出规律破解密钥的机会大大减小了,但密钥分发的困难问题几乎无法解决。例如,设有n方参与通信,若n方都采用同一个对称密钥,一旦密钥被破解,整个体系就会崩溃;若采用不同的对称密钥则需n(n-1)个密钥,密钥数与参与通信人数的平方数成正比,可见,大系统密钥的管理几乎成为不可能。
然而,由于对称密钥密码系统具有加解密速度快和安全强度高的优点,目前被越来越多地应用在军事、外交以及商业等领域。
非对称密钥密码体制
非对称密钥密码体制,即公开密钥密码体制,是现代密码学最重要的发明和进展。一般理解密码学就是保护信息传递的机密性,但这仅仅是当今密码学的一个方面。对信息发送与接收人的真实身份的验证,对所发出/接收信息在事后的不可抵赖以及保障数据的完整性也是现代密码学研究的另一个重要方面。公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。
1976年,Diffie和Hellman为解决密钥的分发与管理问题,在他们奠基性的工作“密码学的新方向”一文中,提出一种密钥交换协议,允许在不安全的媒体上通过通讯双方交换信息,安全地传送秘密密钥。在此新思想的基础上,很快出现了公开密钥密码体制。在该体制中,密钥成对出现,一个为加密密钥(即PK公开密钥),另一个为解密密钥(SK秘密密钥),且不可能从其中一个推导出另一个。加密密钥和解密密钥不同,可将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道,用公共密钥加密的信息只能用专用密钥解密。由于公开密钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大地简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。目前,公开密钥加密算法主要有RSA、Fertezza、EIGama等。
迄今为止的所有公钥密码体系中,RSA系统是最着名、使用最广泛的一种。RSA公开密钥密码系统是由R.Rivest、A.Shamir和L.Adleman三位教授于1977年提出的,RSA的取名就是来自于这三位发明者姓氏的第一个字母。
RSA算法研制的最初目标是解决利用公开信道传输分发 DES 算法的秘密密钥的难题。而实际结果不但很好地解决了这个难题,还可利用 RSA 来完成对电文的数字签名,以防止对电文的否认与抵赖,同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,从而保护数据信息的完整性。
公用密钥的优点就在于:也许使用者并不认识某一实体,但只要其服务器认为该实体的CA(即认证中心Certification Authority的缩写)是可靠的,就可以进行安全通信,而这正是Web商务这样的业务所要求的。例如使用信用卡购物,服务方对自己的资源可根据客户 CA的发行机构的可靠程度来授权。目前国内外尚没有可以被广泛信赖的CA,而由外国公司充当CA在我国是非常危险的。
公开密钥密码体制较秘密密钥密码体制处理速度慢,因此,通常把这两种技术
⑻ 公开密钥密码体系的算法
公开密钥算法是在1976年由当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人首先发明的(论文New Direction in Cryptography)。但目前最流行的RSA是1977年由MIT教授Ronald L.Rivest,Adi Shamir和Leonard M.Adleman共同开发的,分别取自三名数学家的名字的第一个字母来构成的。
1976年提出的公开密钥密码体制思想不同于传统的对称密钥密码体制,它要求密钥成对出现,一个为加密密钥(e),另一个为解密密钥(d),且不可能从其中一个推导出另一个。自1976年以来,已经提出了多种公开密钥密码算法,其中许多是不安全的, 一些认为是安全的算法又有许多是不实用的,它们要么是密钥太大,要么密文扩展十分严重。多数密码算法的安全基础是基于一些数学难题, 这些难题专家们认为在短期内不可能得到解决。因为一些问题(如因子分解问题)至今已有数千年的历史了。
公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。用户要保障专用密钥的安全;公共密钥则可以发布出去。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。 公钥加密算法中使用最广的是RSA。RSA使用两个密钥,一个公共密钥,一个专用密钥。如用其中一个加密,则可用另一个解密,密钥长度从40到2048bit可变,加密时也把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但加密解密的开销也大,所以要在安全与性能之间折衷考虑,一般64位是较合适的。RSA的一个比较知名的应用是SSL,在美国和加拿大SSL用128位RSA算法,由于出口限制,在其它地区(包括中国)通用的则是40位版本。
RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖;同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。 通常信息安全的目标可以概括为解决信息的以下问题:
保密性(Confidentiality)保证信息不泄露给未经授权的任何人。
完整性(Integrity)防止信息被未经授权的人篡改。
可用性(Availability)保证信息和信息系统确实为授权者所用。
可控性(Controllability)对信息和信息系统实施安全监控,防止非法利用信息和信息系统。
密码是实现一种变换,利用密码变换保护信息秘密是密码的最原始的能力,然而,随着信息和信息技术发展起来的现代密码学,不仅被用于解决信息的保密性,而且也用于解决信息的完整性、可用性和可控性。可以说,密码是解决信息安全的最有效手段,密码技术是解决信息安全的核心技术。
公用密钥的优点就在于,也许你并不认识某一实体,但只要你的服务器认为该实体的CA是可靠的,就可以进行安全通信,而这正是Web商务这样的业务所要求的。例如信用卡购物。服务方对自己的资源可根据客户CA的发行机构的可靠程度来授权。目前国内外尚没有可以被广泛信赖的CA。美国Natescape公司的产品支持公用密钥,但把Natescape公司作为CA。由外国公司充当CA在中国是一件不可想象的事情。
公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。即用公共密钥技术在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。另外,公钥加密也用来对专用密钥进行加密。
在这些安全实用的算法中,有些适用于密钥分配,有些可作为加密算法,还有些仅用于数字签名。多数算法需要大数运算,所以实现速度很慢,不能用于快的数据加密。以下将介绍典型的公开密钥密码算法-RSA。
RSA算法很好的完成对电文的数字签名以抗对数据的否认与抵赖;利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。目前为止,很多种加密技术采用了RSA算法,比如PGP(PrettyGoodPrivacy)加密系统,它是一个工具软件,向认证中心注册后就可以用它对文件进行加解密或数字签名,PGP所采用的就是RSA算法。由此可以看出RSA有很好的应用。
⑼ 公开密钥加密技术的产生原因
公开密钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制分配 (distribution)问题,另一是由于对数字签名的需求。 公钥方法是一种与过去所有密码编码学截然不同的方法。公钥用于:密钥分配、机密性和认证。
在公开密钥密码体制中,加密密码(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。 虽然秘密密钥SK是由公开密钥PK决定的,但根据当前计算机发展情况很难根据PK计算出SK,也就是说算法复杂度很大。
⑽ 在公开密钥密码体制中,每个人拥有几个密钥
是说公钥和私钥吗?每个人都有一对,别人的公钥你可以拥有,自己的私钥只有自己拿着。这样,你可以拿着自己的私公钥,和别人的公钥。别人用自己私钥加密的,你可以用他的公钥解,确保是唯一性(是他发的)。别人也可以用你的公钥加密,这样这个文件只有你能打开,确保安全性。