barriers / 阅读 / 详情

电子合同中的数字签名防篡改,有什么原理?

2023-08-20 19:03:55
共2条回复
苏萦

数字签名(Digital Signature)则是电子签名的一种特定类型,可以说是一种改进型的更加可信的电子方式签名,准确的中文全称应为:数字方式签名,简称:数字签名,以区分电子方式签名。数字签名是使用数字证书来验证签名者的身份,并通过密码算法将签名者身份绑定到文档中来证明签名行为的不可否认,已签名文档无需包含签名过程审计报告,签名者的身份验证则由证书颁发机构(CA)或信任服务提供商(TSP)完成。

我签文档服务仅支持数字方式签署方式,不提供电子方式签署,因为我们认为仅验证合同签署人的邮箱是不够的,特别是对于不见面的网上电子合同签署。密信电子合同签署服务采用数字方式签署,验证每个签署人的真实身份,并自动为每个签署人配置Adobe全球信任和国密合规的双PDF签名证书用于数字签名合同文件。密信文档数字签名服务也仅提供数字方式签名,验证文档签名者真实身份,并自动为每个签名者配置Adobe全球信任和国密合规的双PDF签名证书用于数字签名各种PDF文档。

我签文档服务全部采用Adobe全球信任的PDF签名证书用于数字签名和附署Adobe全球信任的时间戳签名,数字签名支持Adobe 签名长期有效(LTV)技术,已保证已签名的文档的签名长期有效。所有完成的电子合同签署和电子文档签名都采用RSA证书和国密证书实现双证书双签名和双时间戳,确保每一份电子合同和电子文档的数字签名全球信任和国密合规。

gitcloud

电子合同的签署一般通过数字证书进行签署,目前我国的数字证书由国家指定授权机构发放,数字证书持有者应当保管好自己的不公开密钥和个人信息码。

电子合同存证时通过各种途径直接或者间接与物理空间的时间保持一致。电子合同的时间关联性包括:第一,明确电子合同生成的物理时间,存证平台对电子合同以及签署的日志进行了存证,对电子合同生成时间直接以时间戳的时间或者国家授时中心标准时间为准进行固定保全,减少因时间而引起的纠纷。第二,明确电子合同证据修改过程和最后修改时间。存证平台利用数字证书对电子合同证据以及电子合同签署日志进行签名,防止电子合同及其签署日志事后被篡改。

相关推荐

公开密钥密码体制的典型算法是什么

公开密钥密码体制是现代密码学中最受欢迎的密码机制之一。其核心思想是在公开和私人密钥的帮助下保护数据的机密性和完整性。 公开密钥密码体制的典型算法就是RSA算法。RSA算法是一种最常见的非对称密码算法,其基于非常复杂的数学问题,因此被认为是一种安全可靠的加密机制。该算法需要两个密钥:公钥和私钥。公钥用于加密数据,私钥用于解密数据。其加密过程如下:1. 选择两个足够大的质数p和q,并将它们相乘产生一个大的正整数n。n即为密钥长度。2. 根据p和q计算出n的欧拉函数总值,即φ(n) = (p-1) * (q-1)。3. 在φ(n)内随机选择一个较小的整数e,使得e和φ(n)互质。4. 计算e的模反元素d,使得(e * d) mod φ(n) =1。d即为私钥。5. 公钥为(n,e),私钥为(d)。6. 对于任何消息M,计算它的整数表示m。7. 将m加密为一个整数c,公式为c = m^e mod n。8. 对于解密过程,使用私钥d,将加密得到的c对应到明文m。目前,RSA算法已被广泛应用于金融、电子商务、数学学科和科学研究等领域。 另外,随着计算机性能的提高、量子计算机的发展,RSA算法在未来的密码学应用中仍然有很大的潜力和发展前景。
2023-08-11 21:40:421

公开密钥法的基本思想是什么?

公开密钥也称为非对称密钥,每个人都有一对唯一对应的密钥:公开密钥(简称公钥)和私人密钥(简称私钥),公钥对外公开,私钥由个人秘密保存;用其中一把密钥加密,就只能用另一把密钥解密。非对称密钥加密算法的典型代表是RSA。非对称加密的应用:因为公钥是公开对外发布的,所以想给私钥持有者发送信息的人都可以取得公钥,用公钥加密后,发送给私钥持有者,即使被拦截或窃取,没有私钥的攻击者也无法获得加密后的信息,可以保证信息的安全传输另外,先用私钥加密,再用公钥解密,可以完成对私钥持有者的身份认证,因为公钥只能解开有私钥加密后的信息。虽然公钥和私钥是一对互相关联的密钥,但是并不能从两者中的任何一把,推断出另一把。由于公钥是公开的,而私钥则由用户自己保存,所以对于非对称密钥,其保密管理相对比较简单公钥对应的是私钥,这两个是一对。公钥顾名思义,是公开发布的,主要用于加密信息。私钥是自己用的,主要用于解密信息。比如路人乙,想给路人甲发一条加密信息,于是从公开的BBS等上面搜索到了路人甲发布的公开密钥(公钥),路人乙用这个公钥加密了信息发给路人甲,路人甲收到这条加密信息后,再用自己的私钥进行解密,就看到了这条信息。别人因为没人路人甲的私钥,收到了信息也看不见里面的内容,所以起到了加密的作用。
2023-08-11 21:40:521

公开密钥加密体制的含义

公开密钥加密体制是一种加密技术,由两个相关的密钥组成:公钥和私钥。公钥用于加密数据,私钥用于解密数据。公钥可以公开给任何人,而私钥则只能由密钥的所有者持有和使用。公开密钥加密体制的核心思想是通过使用不同但相关的密钥对来实现数据的安全传输和保护。发送者使用接收者的公钥对数据进行加密,然后发送给接收者。接收者使用自己的私钥解密数据,以获取原始信息。这种体制的关键在于公钥是公开的,因此任何人都可以使用公钥对数据进行加密,但只有密钥的所有者才能解密数据。这使得公开密钥加密体制成为一种安全可靠的方式,用于保护敏感信息的传输和存储。
2023-08-11 21:41:031

公开密钥加密技术的产生原因

公开密钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制分配 (distribution)问题,另一是由于对数字签名的需求。 公钥方法是一种与过去所有密码编码学截然不同的方法。公钥用于:密钥分配、机密性和认证。在公开密钥密码体制中,加密密码(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。 虽然秘密密钥SK是由公开密钥PK决定的,但根据当前计算机发展情况很难根据PK计算出SK,也就是说算法复杂度很大。
2023-08-11 21:41:121

公开密钥法的基本思想是什么?

"公开密钥" 英文对照 public - key; "公开密钥" 在工具书中的解释 1、公开密钥密码体制中的加密密钥。 查看全文 "公开密钥" 在学术文献中的解释 1、传统密钥是指加密和解密用同一个密钥,而公开密钥则是指加密用一个密钥,解密用另一个密钥,而且用一个密钥无法得到另一个密钥.其中,RSA加密算法就是一种公开密钥算法,而且可以用于数字签证,以实现对方身份的确认 文献来源 2、RAS是一种质因数分解加密算法,它将整数质数化为两组密码,一组用于加密,予以公开,称为公开密钥.一组用于解密,只有信息解密者知道,称为私人密钥 文献来源 3、密钥是一个很大的整数,一个参与者在一个公共数据库中公布一个密钥,称为公开密钥,而把另一个密钥作为秘密密钥.用一个密钥编码的报文可以用另一个密钥解码.例如,如果发送者使用秘密密钥将报文编码,接收者可以使用发送者的公开密钥将其解码 文献来源 4、非对称加密技术即用户采用两个不同的相互依赖的密钥一个称为公开密钥,另一个称为私有密钥,用于对信息的加密和解密 文献来源 5、(5)(N,E)或E称为“公开密钥.”(N,D)或D称为“私有密钥”.RSA算法的私钥(N,D)用于开发商的加密,公钥(N,E)(E=65537)在用户软件的验证部分用于解密,如果定期地更换这对密钥又将会给破解者带来破解的难度 文献来源 6、2.2基于公钥体制的安全机制公钥密码算法[2]的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,称为公开密钥 文献来源 7、6)(e,n)被称为公开密钥.7)(d,n)被称为秘密密钥,相反也可.对于明文M,用公钥(e,n)加密可得到密文C.C=Memodn对于密文C,用私钥(d,n)解密可得到明文M 文献来源 8、将其中的一个密钥公开,称为“公开密钥”.另外一个密钥由密钥持有人专用,称为“私有密钥”.将消息用公开密钥加密,只有相应的私有密钥持有人才能解密,因此,该消息成为私有密钥持有人的秘密 文献来源 9、这种方式,每人都有一对密钥,其中一支称为公开密钥,而另一支称为私密密钥,当有在互连网上传送资料的需求时.就可以将公开密钥通过一定的方式传播出去 文献来源 10、其中一个公开发布,称为公开密钥,另一个由用户自己秘密保存,称为私有密钥.发送数据方用公开密钥加密,而接收方用私有密钥去解密 文献来源 11、非对称加密是加密密钥不同于解密密钥加密密钥公开称为公开密钥.解密密钥只有自己知道称为私有密钥.其帧长取10ms由2个子帧组成预视5ms以及处理时延设计单向时延35ms 文献来源 12、(12)提取证书中的“版本”信息.2.1 用RSA加密算法产生密钥对 RSA加密算法[1]是一种公钥加密算法,它是用一对密钥对数据进行加密和解密.一个密钥称为公开密钥, 记得采纳啊
2023-08-11 21:41:281

公开密钥密码体系的算法

公开密钥算法是在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有很好的应用。
2023-08-11 21:41:381

公开密钥密码体系的产生

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, 满足de≡1(mod φ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。5.得到所需要公开密钥和秘密密钥:公开密钥(即加密密钥) PK=(e,n)秘密密钥(即解密密钥) SK=(d,n)
2023-08-11 21:42:001

RSA公开密钥体制进行运算的原理?

RSA算法 RSA算法是R.Rivest、A.Shamir和L.Adleman于1977年在美国麻省理工学院开发,于1978年首次公布。RSA公钥密码算法是目前网络上进行保密通信和数字签名的最有效的安全算法之一。RSA算法的安全性基于数论中大素数分解的困难性,所以,RSA需采用足够大的整数。因子分解越困难,密码就越难以破译,加密强度就越高。02 算法如下:选两个很大的素数p和q;求出它们的积n = p * q,n叫做模;选出一个数e,e<n且要求e与(p-1)(q-1)互质;求出e的逆d,要求ed = 1 mod (p-1)(q-1);e和d分别叫做公开指数和私有指数。公钥是数对(n,e); 私钥是d。例如: 选取p=3, q=5,e=3,假定明文为M=7,应用RSA算法进行加/解密。 解:(1)、n=p*q=15, (p-1)*(q-1)=8; (2)、 由ed= 1 mod (p-1)*(q-1)得 7*d=1 mod 8,计算出d =11。 (3)、则密文C为    C = Me mod n    = 73 mod 15     = 343 mod 15      = 13 (4)、复原明文M为:    M = Cd mod n     = 1311 mod 15   = 7    作业: 使用RSA公开密钥体制进行运算: 1、 若p=5,q=11,求符合条件5个以上e。 e可为:1、3、7、9、11、13、17、19、21、23、27、29、 31、33、37、39、41、43、47、49、51、53 2、 设p=3,q=11,d=7,m=5,计算C。 c=me mod n=53 mod 33=26 3、若p=3,q=17,e=3,明文为“leach”(设a~z的 编号为0~25),求密文C。 字符l、e、a、c、h对应编号分别为:11、4、0、2、7; c1=113 mod 51=5=F ;c2=43 mod 51=13=N c3=03 mod 51=0=A ; c4=23 mod 51=8=I c5=73 mod 51=37=L 即,密文C为:FNAIL
2023-08-11 21:42:151

公钥算法的工作原理

1976 年,Whitfield Diffe 和 Martin Hellman 创建了公钥加密。公钥加密是重大的创新,因为它从根本上改变了加密和解密的过程。Diffe 和 Hellman 提议使用两个密钥,而不是使用一个共享的密钥。一个密钥(称为“私钥”)是保密的。它只能由一方保存,而不能各方共享。第二个密钥(称为“公钥”)不是保密的,可以广泛共享。这两个密钥(称为“密钥对”)在加密和解密操作中配合使用。密钥对具有特殊的互补关系,从而使每个密钥都只能与密钥对中的另一个密钥配合使用。这一关系将密钥对中的密钥彼此唯一地联系在一起:公钥与其对应的私钥组成一对,并且与其他任何密钥都不关联。由于公钥和私钥的算法之间存在特殊的数学关系,从而使得这种配对成为可能。密钥对在数学上彼此相关,例如,配合使用密钥对可以实现两次使用对称密钥的效果。密钥必须配合使用:不能使用每个单独的密钥来撤消它自己的操作。这意味着每个单独密钥的操作都是单向操作:不能使用一个密钥来撤消它的操作。此外,设计两个密钥使用的算法时,特意设计无法使用一个密钥确定密钥对中的另一个密钥。因此,不能根据公钥确定出私钥。但是,使得密钥对成为可能的数学原理也使得密钥对具有对称密钥所不具有的一个缺点。这就是,所使用的算法必须足够强大,才能使人们无法通过强行尝试,使用已知的公钥来解密通过它加密的信息。公钥利用数学复杂性以及它的单向特性来弥补它是众所周知的这样一个事实,以防止人们成功地破解使用它编码的信息。如果将此概念应用于前面的示例,则发件人将使用公钥将纯文本加密成密码。然后,收件人将使用私钥将密码重新解密成纯文本。由于密钥对中的私钥和公钥之间所存在的特殊关系,因此一个人可以在与许多人交往时使用相同的密钥对,而不必与每个人分别使用不同的密钥。只要私钥是保密的,就可以随意分发公钥,并让人们放心地使用它。使许多人使用同一个密钥对代表着密码学上的一个重大突破,因为它显著降低了密钥管理的需求,大大提高了密码学的可用性。用户可以与任意数目的人员共享一个密钥对,而不必为每个人单独设立一个密钥。公钥加密是邮件安全中的一个基本要素。如果没有公钥加密,那么是否存在实用的邮件安全解决方案是值得怀疑的,因为在公钥加密出现之前,密钥管理是一件很麻烦的事情。在了解了公钥加密的基本概念之后,接下来便是了解如何借助这些概念来实现邮件安全性。
2023-08-11 21:42:221

公开密钥密码体制的公开密钥密码体制

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) 加密和解密算法都是公开的。
2023-08-11 21:42:511

公开密钥密码体系的公钥密码

但这仅仅是当今密码学主题的一个方面。对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一方面。公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。迄今为止的所有公钥密码体系中,RSA系统是最著名、使用最广泛的一种。 1976年提出公共密钥密码体制,其原理是加密密钥和解密密钥分离。这样,一个具体用户就可以将自己设计的加密密钥和算法公诸于众,而只保密解密密钥。任何人利用这个加密密钥和算法向该用户发送的加密信息,该用户均可以将之还原。公共密钥密码的优点是不需要经安全渠道传递密钥,大大简化了密钥管理。它的算法有时也称为公开密钥算法或简称为公钥算法。1978年提出公共密钥密码的具体实施方案,即RSA方案。1991年提出的DSA算法也是一种公共密钥算法,在数字签名方面有较大的应用优势。
2023-08-11 21:43:041

公开密钥加密技术

谈起密码算法,有的人会觉得陌生,但一提起PGP,大多数网上朋友都很熟悉,它是一个工具软件,向认证中心注册后就可以用它对文件进行加解密或数字签名,PGP所采用的是RSA算法,以后我们会对它展开讨论。密码算法的目的是为了保护信息的保密性、完整性和安全性,简单地说就是信息的防伪造与防窃取,这一点在网上付费系统中特别有意义。密码学的鼻祖可以说是信息论的创始人香农,他提出了一些概念和基本理论,论证了只有一种密码算法是理论上不可解的,那就是 One Time Padding,这种算法要求采用一个随机的二进制序列作为密钥,与待加密的二进制序列按位异或,其中密钥的长度不小于待加密的二进制序列的长度,而且一个密钥只能使用一次。其它算法都是理论上可解的。如DES算法,其密钥实际长度是56比特,作2^56次穷举,就肯定能找到加密使用的密钥。所以采用的密码算法做到事实上不可解就可以了,当一个密码算法已知的破解算法的时间复杂度是指数级时,称该算法为事实上不可解的。顺便说一下,据报道国外有人只用七个半小时成功破解了DES算法。密码学在不断发展变化之中,因为人类的计算能力也像摩尔定律提到的一样飞速发展。作为第一部分,首先谈一下密码算法的概念。 密码算法可以看作是一个复杂的函数变换,C = F M, Key ),C代表密文,即加密后得到的字符序列,M代表明文即待加密的字符序列,Key表示密钥,是秘密选定的一个字符序列。密码学的一个原则是“一切秘密寓于密钥之中”,算法可以公开。当加密完成后,可以将密文通过不安全渠道送给收信人,只有拥有解密密钥的收信人可以对密文进行解密即反变换得到明文,密钥的传递必须通过安全渠道。目前流行的密码算法主要有DESRSA,IDEA,DSA等,还有新近的Liu氏算法,是由华人刘尊全发明的。密码算法可分为传统密码算法和现代密码算法,传统密码算法的特点是加密和解密必须是同一密钥,如DES和IDEA等;现代密码算法将加密密钥与解密密钥区分开来,且由加密密钥事实上求不出解密密钥。这样一个实体只需公开其加密密钥(称公钥,解密密钥称私钥)即可,实体之间就可以进行秘密通信,而不象传统密码算法似的在通信之前先得秘密传递密钥,其中妙处一想便知。因此传统密码算法又称对称密码算法(Symmetric Cryptographic Algorithms ),现代密码算法称非对称密码算法或公钥密码算法( Public-Key Cryptographic Algorithms ),是由Diffie 和Hellman首先在1976年的美国国家计算机会议上提出这一概念的。按照加密时对明文的处理方式,密码算法又可分为分组密码算法和序列密码算法。分组密码算法是把密文分成等长的组分别加密,序列密码算法是一个比特一个比特地处理,用已知的密钥随机序列与明文按位异或。当然当分组长度为1时,二者混为一谈。这些算法以后我们都会具体讨论。 RSA算法 1978年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。 RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。 密钥对的产生。选择两个大素数,p 和q 。计算: n = p * q 然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用Euclid 算法计算解密密钥d, 满足 e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ) 其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。对应的密文是: ci = mi^e ( mod n ) ( a ) 解密时作如下计算: mi = ci^d ( mod n ) ( b ) RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。具体操作时考虑到安全性和 m信息量较大等因素,一般是先作 HASH 运算。 RSA 的安全性。 RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解 RSA就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前, RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解140多个十进制位的大素数。因此,模数n必须选大一些,因具体适用情况而定。 RSA的速度。 由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。 RSA的选择密文攻击。 RSA在选择密文攻击面前很脆弱。一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构: ( XM )^d = X^d *M^d mod n 前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征--每个人都能使用公钥。但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用One-Way Hash Function对文档作HASH处理,或同时使用不同的签名算法。在中提到了几种不同类型的攻击方法。 RSA的公共模数攻击。 若系统中共有一个模数,只是不同的人拥有不同的e和d,系统将是危险的。最普遍的情况是同一信息用不同的公钥加密,这些公钥共模而且互质,那末该信息无需私钥就可得到恢复。设P为信息明文,两个加密密钥为e1和e2,公共模数是n,则: C1 = P^e1 mod n C2 = P^e2 mod n 密码分析者知道n、e1、e2、C1和C2,就能得到P。 因为e1和e2互质,故用Euclidean算法能找到r和s,满足: r * e1 + s * e2 = 1 假设r为负数,需再用Euclidean算法计算C1^(-1),则 ( C1^(-1) )^(-r) * C2^s = P mod n 另外,还有其它几种利用公共模数攻击的方法。总之,如果知道给定模数的一对e和d,一是有利于攻击者分解模数,一是有利于攻击者计算出其它成对的e"和d",而无需分解模数。解决办法只有一个,那就是不要共享模数n。 RSA的小指数攻击。 有一种提高RSA速度的建议是使公钥e取较小的值,这样会使加密变得易于实现,速度有所提高。但这样作是不安全的,对付办法就是e和d都取较大的值。 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。 RSA的缺点主要有:A)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。B)分组长度太大,为保证安全性,n 至少也要 600 bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。目前,SET(Secure Electronic Transaction)协议中要求CA采用2048比特长的密钥,其他实体使用1024比特的密钥。 DSS/DSA算法 Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(Digital SignatureStandard)。算法中应用了下述参数: p:L bits长的素数。L是64的倍数,范围是512到1024; q:p - 1的160bits的素因子; g:g = h^((p-1)/q) mod p,h满足h < p - 1, h^((p-1)/q) mod p > 1; x:x < q,x为私钥 ; y:y = g^x mod p ,( p, q, g, y )为公钥; H( x ):One-Way Hash函数。DSS中选用SHA( Secure Hash Algorithm )。 p, q, g可由一组用户共享,但在实际应用中,使用公共模数可能会带来一定的威胁。签名及验证协议如下: 1. P产生随机数k,k < q; 2. P计算 r = ( g^k mod p ) mod q s = ( k^(-1) (H(m) + xr)) mod q 签名结果是( m, r, s )。 3. 验证时计算 w = s^(-1)mod q u1 = ( H( m ) * w ) mod q u2 = ( r * w ) mod q v = (( g^u1 * y^u2 ) mod p ) mod q 若v = r,则认为签名有效。 DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却作不到
2023-08-11 21:43:191

公开密钥密码体系的概念

公钥体系结构中的一些基本概念与结构组成。密钥对在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务(如电子商务等)能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。在很小的范围内,比如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)相当于网上公安局,专门发放、验证身份证。
2023-08-11 21:43:321

什么是公钥密码算法?

20世纪70年代,美国学者Diffie和Hellman,以及以色列学者Merkle分别独立地提出了一种全新的密码体制的概念。Diffie和Hellman首先将这个概念公布在1976年美国国家计算机会议上,几个月后,他们这篇开创性的论文《密码学的新方向》发表在IEEE杂志信息论卷上,由于印刷原因,Merkle对这一领域的贡献直到1978年才出版。他们所创造的新的密码学理论,突破了传统的密码体制对称密钥的概念,竖起了近代密码学的又一里程碑。不同于以前采用相同的加密和解密密钥的对称密码体制,Diffie和Hellman提出了采用双钥体制,即每个用户都有一对选定的密钥:一个是可以公开的,另一个则是秘密的。公开的密钥可以像电话号码一样公布,因此称为公钥密码体制或双钥体制。公钥密码体制的主要特点是将加密和解密的能力分开,因而可以实现多个用户的信息只能由一个用户解读;或只能由一个用户加密消息而由多个用户解读,前者可以用于公共网络中实现保密通信,而后者可以用于认证系统中对消息进行数字签名。公开密钥密码的基本思想是将传统密码的密钥一分为二,分为加密密钥Ke和解密密钥Kd,用加密密钥Ke控制加密,用解密密钥Kd控制解密。而且由计算复杂性确保加密密钥Ke在计算上不能推导出解密密钥Kd。这样,即使将Ke公开也不会暴露Kd,也不会损害密码的安全。于是便可以将Ke公开,而只对Kd保密。由于Ke是公开的,只有Kd是保密的,因此从根本上克服了传统密码在密钥分配上的困难。公开密钥密码满足的条件根据公开密钥密码的基本思想,可知一个公开密钥密码应当满足下面三个条件:解密算法D和加密算法E互逆,即对所有明文M都有,D(E(M,Ke),Kd)=M。在计算上不能由Ke推导出Kd。算法E和D都是高效的。条件1是构成密码的基本条件,是传统密码和公开密钥密码都必须具备的起码条件。条件2是公开密钥密码的安全条件,是公开密钥密码的安全基础,而且这一条件是最难满足的。目前尚不能从数学上证明一个公开密钥密码完全满足这一条件,而只能证明它不满足这一条件。条件3是公开密钥密码的工程实用条件。因为只有算法E和D都是高效的,密码才能实用。否则,密码只有理论意义,而不能实际应用。满足了以上三个条件,便可构成一个公开密钥密码,这个密码可以确保数据的秘密性。然而还需要确保数据的真实性,则还需满足第四个条件。4.对于所有明文M都有E(D(M,Kd),Ke)=M。条件4是公开密钥密码能够确保数据真实性的基本条件。如果满足了条件1、2、4,同样可以构成一个公开密钥密码,这个密码可以确保数据的真实性。如果同时满足以上四个条件,则公开密钥密码可以同时确保数据的秘密性和真实性。此时,对于所有的明文M都有D(E(M,Ke),Kd)= E(D(M,Kd),Ke)=M。公开密钥密码从根本上克服了传统密码在密钥分配上的困难,利用公开密钥密码进行保密通信需要成立一个密钥管理机构(KMC),每个用户将自己的姓名、地址和公开的加密密钥等信息在KMC登记注册,将公钥记入共享的公开密钥数据库。KMC负责密钥的管理,并对用户是可信赖的。这样,用户利用公开密钥密码进行保密通信就像查电话号码簿打电话一样方便,再也不需要通信双方预约密钥,因此特别适合计算机网络应用,而且公开密钥密码实现数字签名容易,所以特别受欢迎。下图是公钥密码体制的框图,主要分为以下几步:网络中要求接收消息的端系统,产生一对用来加密和解密的密钥,如图中的接收者B,产生一对密钥PKB,SKB,其中PKB是公开钥,SKB是秘密钥。端系统B将加密密钥(图中的PKB)存储在一个公开的寄存器或文件中,另一密钥则被保密(图中个SKB)。A要想向B发送消息m,则使用B的公开钥加密m,表示为 c=EPKB[m] 其中,c是密文,E是加密算法。B收到密文c后,用自己的秘密钥SKB解密,表示为 m=DSKB[c] 其中,D是解密算法。因为只有B知道SKB,所以其他人无法对c解密。这就是公开密钥的原理~(转载需向本人获取权限)
2023-08-11 21:43:451

公开密钥加密的简介

公开密钥加密也称为非对称密钥加密,该加密算法使用两个不同的密钥:加密密钥和解密密钥。前者公开,又称公开密钥,简称公钥。后者保密,又称私有密钥,简称私钥。这两个密钥是数学相关的,用某用户加密密钥加密后所得的信息只能用该用户的解密密钥才能解密。RSA算法(由发明者Rivest,Shmir和Adleman姓氏首字母缩写而来)是著名的公开密钥加密算法。公钥加密的另一用途是身份验证:用私钥加密的信息,可以用公钥拷贝对其解密,接收者由此可知这条信息确实来自于拥有私钥的某人。公钥的形式就是数字证书。
2023-08-11 21:44:011

公开密钥密码体制的介绍

公开密钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配问题,另一种是由于对数字签名的需求。
2023-08-11 21:44:161

公开密钥的介绍

公开密钥也称为非对称密钥,每个人都有一对唯一对应的密钥:公开密钥(简称公钥)和私人密钥(简称私钥),公钥对外公开,私钥由个人秘密保存;用其中一把密钥加密,就只能用另一把密钥解密。非对称密钥加密算法的典型代表是RSA。
2023-08-11 21:44:291

采用公开密钥加密技术,公开密钥和私有密钥可以互相推导吗?

在公开密钥加密技术中,公钥和私钥是成对生成的,但它们通常是通过数学算法生成的,而不是通过互相推导得出的。在典型的公开密钥加密算法(如RSA)中,公钥和私钥是通过密钥对生成算法生成的。公钥用于加密数据,私钥用于解密数据。这些密钥对是根据特定的数学原理和算法生成的,它们之间存在数学上的关联,但不能简单地通过一个密钥来推导出另一个密钥。通常,生成密钥对的算法会利用大数分解等数学问题的难解性,确保私钥无法通过公钥进行推导或计算得出。这种数学问题的复杂性是保证公开密钥加密的安全性的基础。因此,公开密钥和私有密钥通常不能互相推导,它们是通过特定的算法生成的配对,其中一个用于加密,另一个用于解密。
2023-08-11 21:44:421

为什么要把密钥公开呢

密钥是对有权限的用户开放的,不过私钥只有一个!~~!密钥就像一个大门的钥匙 它可以有很多把但是它们必须要有自己的权限
2023-08-11 21:45:011

简述公开密钥加密和私有密钥加密的区别

公开密钥加密,有公开密钥的能加密也能解密私有密钥加密,公开密钥只能加密,解密要用私有密钥,公开密钥是由一个非营利组织保管的
2023-08-11 21:45:101

密码技术的公开密码

在对称密钥密码体系中,加密和解密使用相同的密钥,也许对不同的信息使用不同的密钥,但都面临密钥管理的难题。由于每对通讯方都必须使用异于他组的密钥,当网络成员的数量增加时,密钥数量成二次方增加。更尴尬的难题是:当安全的通道不存在于双方时,如何建立一个共有的密钥以利安全的通讯?如果有通道可以安全地建立密钥,何不使用现有的通道。这个‘鸡生蛋、蛋生鸡"的矛盾是长年以来密码学无法在真实世界应用的阻碍。1976年,美国学者Whitfield Diffie与Martin Hellman发表开创性的论文,提出公开密钥密码体系的概念:一对不同值但数学相关的密钥,公开钥匙(或公钥, public key)与私密钥匙(私钥,private key or secret key)。在公钥系统中,由公开密钥推算出配对的私密密钥于计算上是不可行的。历史学者David Kahn这样描述公开密钥密码学;“从文艺复兴的多字符取代法后最革命性的概念。”在公钥系统中,公钥可以随意流传,但私钥只有该人拥有。典型的用法是,其他人用公钥来加密给该接受者,接受者使用自己的私钥解密。Diffie与Hellman也展示了如何利用公开钥匙密码学来达成Diffie-Hellman钥匙交换协定。1978年,MIT的Ron Rivest、Adi Shamir和Len Adleman发明另一个公开密钥系统,RSA。直到1997年的公开文件中大众才知道,早在1970年代早期,英国情报机构GCHQ的数学家James H. Ellis便已发明非对称密钥密码学,而且Diffie-Hellman与RSA都曾被Malcolm J. Williamson与Clifford Cocks分别发明于前。 这两个最早的公钥系统提供优良的加密法基础,因而被大量使用。其他公钥系统还有Cramer-Shoup、Elgamal、以及椭圆曲线密码学等等。除了加密外,公开密钥密码学最显著的成就是实现了数字签名。数字签名名符其实是普通签章的数位化,他们的特性都是某人可以轻易制造签章,但他人却难以仿冒。数字签名可以永久地与被签署信息结合,无法自信息上移除。数字签名大致包含两个算法:一个是签署,使用私密密钥处理信息或信息的杂凑值而产生签章;另一个是验证,使用公开钥匙验证签章的真实性。RSA和DSA是两种最流行的数字签名机制。数字签名是公开密钥基础建设(public key infranstructures, PKI)以及许多网络安全机制(SSL/TLS, VPNs等)的基础。公开密钥的算法大多基于计算复杂度上的难题,通常来自于数论。例如,RSA源于整数因子分解问题;DSA源于离散对数问题。近年发展快速的椭圆曲线密码学则基于和椭圆曲线相关的数学难题,与离散对数相当。由于这些底层的问题多涉及模数乘法或指数运算,相对于分组密码需要更多计算资源。因此,公开密钥系统通常是复合式的,内含一个高效率的对称密钥算法,用以加密信息,再以公开密钥加密对称钥匙系统所使用的钥匙,以增进效率。20世纪70年代,美国斯坦福大学的两名学者迪菲和赫尔曼提出了一种新的加密方法--公开密钥加密队PKE方法。与传统的加密方法不同,该技术采用两个不同的密钥来对信息加密和解密,它也称为非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D,它们须满足条件:(1)D是E的逆,即D[E(X)]=X;(2)E和D都容易计算。(3)由E出发去求解D十分困难。
2023-08-11 21:46:021

公开密钥加密技术的介绍

l976年,Diffie和Hellman首次提非对称加密出公开密钥加密体制,即每个人都有一对密钥,其中一个为公开的,一个为私有的。
2023-08-11 21:46:151

简要说说对称加密和非对称加密的原理以及区别是什么

对称加密的原理是数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。非对称加密的原理是甲方首先生成一对密钥同时将其中的一把作为公开密钥;得到公开密钥的乙方再使用该密钥对需要加密的信息进行加密后再发送给甲方;甲方再使用另一把对应的私有密钥对加密后的信息进行解密,这样就实现了机密数据传输。对称加密和非对称加密的区别为:密钥不同、安全性不同、数字签名不同。一、密钥不同1、对称加密:对称加密加密和解密使用同一个密钥。2、非对称加密:非对称加密加密和解密所使用的不是同一个密钥,需要两个密钥来进行加密和解密。二、安全性不同1、对称加密:对称加密如果用于通过网络传输加密文件,那么不管使用任何方法将密钥告诉对方,都有可能被窃听。2、非对称加密:非对称加密因为它包含有两个密钥,且仅有其中的“公钥”是可以被公开的,接收方只需要使用自己已持有的私钥进行解密,这样就可以很好的避免密钥在传输过程中产生的安全问题。三、数字签名不同1、对称加密:对称加密不可以用于数字签名和数字鉴别。2、非对称加密:非对称加密可以用于数字签名和数字鉴别。
2023-08-11 21:46:301

公开密钥密码体制的含义是

公开密钥密码体制。公开密钥密码体制,就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。在公钥体制中,加密密钥不同于解密密钥。
2023-08-11 21:46:481

公开密钥密码体系的介绍

公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。
2023-08-11 21:47:091

PGP工作原理

  PGP加密系统是采用公开密钥加密与传统密钥加密相结合的一种加密技术。它使用一对数学上相关的钥匙,其中一个用来加密信息,另一个用来解密信息。   PGP采用的传统加密技术部分所使用的密钥称为"会话密钥"。每次使用时,PGP都随机产生一个128位的IDEA会话密钥,用来加密报文。公开密钥加密技术中的公钥和私钥则用来加密会话密钥,并通过它间接地保护报文内容。
2023-08-11 21:47:471

公开密钥与通用密钥不同之处?

认证机制:A向B发送消息时,首先用自己的密钥加密,B接收到密文后用A的公钥解密,得到原文。因为只有A的公钥才可解开A密钥加密过的消息,所以可以确认解密后的原文必是来自A。保密机制:A向B发送消息时,首先用B的公钥对消息进行加密,生成密文发送,B接收到密文后,用自己的密钥进行解密,进而得到消息原文
2023-08-11 21:47:571

什么是密钥

20世纪70年代以来,一些学者提出了公开密钥体制,即运用单向函数的数学原理,以实现加、解密密钥的分离。加密密钥是公开的,解密密钥是保密的。这种新的密码体制,引起了密码学界的广泛注意和探讨 不像普通的对称密码学中采用相同的密钥加密、解密数据,非对称密钥加密技术采用一对匹配的密钥进行加密、解密,具有两个密钥,一个是公钥一个是私钥,它们具有这种性质:每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密。用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。 公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,发送者必须使用 。对称密钥加密,又称私钥加密,即信息的发送方和接收方   用一个密钥去加密和解密数据。它的最大优势是加/解密速度快,   适合于对大数据量进行加密,但密钥管理困难。  非对称密钥加密系统,又称公钥密钥加密。它需要使用一对密钥   来分别完成加密和解密操作,一个公开发布,即公开密钥,另一   个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去   加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加   密和解密速度却比对称密钥加密慢得多。
2023-08-11 21:48:071

急求!!“1024位的RSA 公开密钥加密算法 ”数据结构课程设计!高手解答啊!!

研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,密码学是研究编制密码和破译密码的技术科学。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。在西欧语文中之源於希腊语kryptós,“隐藏的”,和gráphein,“书写”)是研究如何隐密的传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。著名的密码学者Ron Rivest解释道:「密码学是关於如何在敌人存在的环境中通讯」,自工程学的角度,这相当于密码学与纯数学的异同。密码学是 信息安全等相关议题,如认证、访问控制的核心。密码学的首要目是隐藏信息的涵义,并不是将隐藏信息的存在。密码学也促进了计算机科学,特别是在於电脑与网路安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。非对称加密算法的核心就是加密密钥不等于解密密钥,且无法从任意一个密钥推导出另一个密钥,这样就大大加强了信息保护的力度,而且基于密钥对的原理很容易的实现数字签名和电子信封。 比较典型的非对称加密算法是RSA算法,它的数学原理是大素数的分解,密钥是成对出现的,一个为公钥,一个是私钥。公钥是公开的,可以用私钥去解公钥加密过的信息,也可以用公钥去解私钥加密过的信息。 比如A向B发送信息,由于B的公钥是公开的,那么A用B的公钥对信息进行加密,发送出去,因为只有B有对应的私钥,所以信息只能为B所读取。 牢固的RSA算法需要其密钥长度为1024位,加解密的速度比较慢是它的弱点。 另外一种比较典型的非对称加密算法是ECC算法,基于的数学原理是椭圆曲线离散对数系统,这种算法的标准我国尚未确定,但是其只需要192 bit 就可以实现牢固的加密。所以,应该是优于RSA算法的。对于加密,基本上不存在一个完全不可以被破解的加密算法,因为只要你有足够的时间,完全可以用穷举法来进行试探,如果说一个加密算法是牢固的,一般就是指在现有的计算条件下,需要花费相当长的时间才能够穷举成功(比如100年)RSA加密演算法是一种非对称加密演算法。在公钥加密标准和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个相应的算法,但他的发现被列入机密,一直到1997年未被发表。RSA算法的可靠性基于分解极大的整数是很困难的。假如有人找到一种很快的分解因子的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到2004年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。 -------------------------------------------------------------------------RSA加密算法该算法于1977年由美国麻省理工学院MIT(Massachusetts Institute of Technology)的Ronal Rivest,Adi Shamir和Len Adleman三位年轻教授提出,并以三人的姓氏Rivest,Shamir和Adlernan命名为RSA算法。该算法利用了数论领域的一个事实,那就是虽然把两个大质数相乘生成一个合数是件十分容易的事情,但要把一个合数分解为两个质数却十分困难。合数分解问题目前仍然是数学领域尚未解决的一大难题,至今没有任何高效的分解方法。与Diffie-Hellman算法相比,RSA算法具有明显的优越性,因为它无须收发双方同时参与加密过程,且非常适合于电子函件系统的加密。RSA算法可以表述如下:(1) 密钥配制。假设m是想要传送的报文,现任选两个很大的质数p与q,使得:(12-1);选择正整数e,使得e与(p-1)(q-1)互质;这里(p-1)(q-1)表示二者相乘。再利用辗转相除法,求得d,使得:(12-2);其中x mod y是整数求余运算,其结果是x整除以y后剩余的余数,如5 mod 3 = 2。这样得:(e,n),是用于加密的公共密钥,可以公开出去;以及(d,n),是用于解密的专用钥匙,必须保密。(2) 加密过程。使用(e,n)对明文m进行加密,算法为:(12-3);这里的c即是m加密后的密文。(3) 解密过程。使用(d,n)对密文c进行解密,算法为:(12-4);求得的m即为对应于密文c的明文。RSA算法实现起来十分简捷,据说英国的一位程序员只用了3行Perl程序便实现了加密和解密运算。RSA算法建立在正整数求余运算基础之上,同时还保持了指数运算的性质,这一点我们不难证明。例如:(12-5);(12-6)。RSA公共密钥加密算法的核心是欧拉(Euler)函数ψ。对于正整数n,ψ(n)定义为小于n且与n互质的正整数的个数。例如ψ(6) = 2,这是因为小于6且与6互质的数有1和5共两个数;再如ψ(7) = 6,这是因为互质数有1,2,3,5,6共6个。欧拉在公元前300多年就发现了ψ函数的一个十分有趣的性质,那就是对于任意小于n且与n互质的正整数m,总有mψ(n) mod n = 1。例如,5ψ(6) mod 6 = 52 mod 6= 25 mod 6 =1。也就是说,在对n求余的运算下,ψ(n)指数具有周期性。当n很小时,计算ψ(n)并不难,使用穷举法即可求出;但当n很大时,计算ψ(n)就十分困难了,其运算量与判断n是否为质数的情况相当。不过在特殊情况下,利用ψ函数的两个性质,可以极大地减少运算量。性质1:如果p是质数,则ψ(p) = (p-1)。性质2:如果p与q均为质数,则ψ(p·q) = ψ(p)·ψ(q) = (p-1)(q-1)。RSA算法正是注意到这两条性质来设计公共密钥加密系统的,p与q的乘积n可以作为公共密钥公布出来,而n的因子p和q则包含在专用密钥中,可以用来解密。如果解密需要用到ψ(n),收信方由于知道因子p和q,可以方便地算出ψ(n) = (p-1)(q-1)。如果窃听者窃得了n,但由于不知道它的因子p与q,则很难求出ψ(n)。这时,窃听者要么强行算出ψ(n),要么对n进行因数分解求得p与q。然而,我们知道,在大数范围内作合数分解是十分困难的,因此窃密者很难成功。有了关于ψ函数的认识,我们再来分析RSA算法的工作原理:(1) 密钥配制。设m是要加密的信息,任选两个大质数p与q,使得 ;选择正整数e,使得e与ψ(n) = (p-1)(q-1)互质。利用辗转相除法,计算d,使得ed mod ψ(n) = ,即ed = kψ(n) +1,其中k为某一正整数。公共密钥为(e,n),其中没有包含任何有关n的因子p和q的信息。专用密钥为(d,n),其中d隐含有因子p和q的信息。(2) 加密过程。使用公式(12-3)对明文m进行加密,得密文c。(3) 解密过程。使用(d,n)对密文c进行解密,计算过程为:cd mod n = (me mod n)d mod n= med mod n = m(kψ(n) + 1) mod n= (mkψ(n) mod n)·(m mod n)= mm即为从密文c中恢复出来的明文。例如,假设我们需要加密的明文代码信息为m = 14,则:选择e = 3,p = 5,q = 11;计算出n = p·q = 55,(p-1)(q-1) = 40,d = 27;可以验证:(e·d) mod (p-1)(q-1) = 81 mod 40 = 1;加密:c = me mod n = 143 mod 55 = 49;解密:m = cd mod n = 4927 mod 55 = 14。关于RSA算法,还有几点需要进一步说明:(1) 之所以要求e与(p-1)(q-1)互质,是为了保证 ed mod (p-1)(q-1)有解。(2) 实际操作时,通常先选定e,再找出并确定质数p和q,使得计算出d后它们能满足公式(12-3)。常用的e有3和65537,这两个数都是费马序列中的数。费马序列是以17世纪法国数学家费马命名的序列。(3) 破密者主要通过将n分解成p·q的办法来解密,不过目前还没有办法证明这是唯一的办法,也可能有更有效的方法,因为因数分解问题毕竟是一个不断发展的领域,自从RSA算法发明以来,人们已经发现了不少有效的因数分解方法,在一定程度上降低了破译RSA算法的难度,但至今还没有出现动摇RSA算法根基的方法。(4) 在RSA算法中,n的长度是控制该算法可靠性的重要因素。目前129位、甚至155位的RSA加密勉强可解,但目前大多数加密程序均采用231、308甚至616位的RSA算法,因此RSA加密还是相当安全的。据专家测算,攻破512位密钥RSA算法大约需要8个月时间;而一个768位密钥RSA算法在2004年之前无法攻破。现在,在技术上还无法预测攻破具有2048位密钥的RSA加密算法需要多少时间。美国Lotus公司悬赏1亿美元,奖励能破译其Domino产品中1024位密钥的RSA算法的人。从这个意义上说,遵照SET协议开发的电子商务系统是绝对安全的。
2023-08-11 21:48:164

rsa是什么意思

RSA是公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。RSA是1977年由罗纳德·李维斯特(RonRivest)、阿迪·萨莫尔(AdiShamir)和伦纳德·阿德曼(LeonardAdleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。简介在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。算法原理RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
2023-08-11 21:48:261

一道计算机密码学和RAS公开密钥密码系统的问题

将0~25分别对应A~Z,所谓模26加法,就是取和,大于等于26要减26取模如第一题:明文:ONE TIME PAD 密钥:TBF RGFA RFM 14 13 4 19 8 12 4 15 0 319 1 5 17 6 5 0 17 5 1233 14 9 36 14 17 4 32 5 157 14 9 10 14 17 4 6 5 15H O J K O R E G F P第一题答案后面的类推 密钥对的产生:选择两个大素数,p 和q 。计算: n = p * q 然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用Euclid 算法计算解密密钥d, 满足 e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ) 其中n和d也要互质。数e和 n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任 何人知道。 加密信息 m(二进制表示)时,首先把m分成等长数据 块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。对 应的密文是: ci = mi^e ( mod n ) ( a ) 解密时作如下计算: mi = ci^d ( mod n ) ( b )
2023-08-11 21:48:341

简述公开密钥密码机制的原理和特点?

公开密钥密码体制是使用具有两个密钥的编码解码算法,加密和解密的能力是分开的;这两个密钥一个保密,另一个公开。根据应用的需要,发送方可以使用接收方的公开密钥加密消息,或使用发送方的私有密钥签名消息,或两个都使用,以完成某种类型的密码编码解码功能。
2023-08-11 21:48:521

公开密钥密码体制的典型算法是什么

公开密钥算法是在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有很好的应用。
2023-08-11 21:49:001

公开密钥的作用是什么

签名的作用
2023-08-11 21:49:103

公开密钥的作用是什么

公钥对应的是私钥,这两个是一对。公钥顾名思义,是公开发布的,主要用于加密信息。私钥是自己用的,主要用于解密信息。比如路人乙,想给路人甲发一条加密信息,于是从公开的BBS等上面搜索到了路人甲发布的公开密钥(公钥),路人乙用这个公钥加密了信息发给路人甲,路人甲收到这条加密信息后,再用自己的私钥进行解密,就看到了这条信息。别人因为没人路人甲的私钥,收到了信息也看不见里面的内容,所以起到了加密的作用。
2023-08-11 21:49:201

RSA公开密钥体制进行运算的原理?

算法如下:选两个很大的素数p和q;求出它们的积n = p * q,n叫做模;选出一个数e,e<n且要求e与(p-1)(q-1)互质;求出e的逆d,要求ed = 1 mod (p-1)(q-1);e和d分别叫做公开指数和私有指数。公钥是数对(n,e); 私钥是d。例如: 选取p=3, q=5,e=3,假定明文为M=7,应用RSA算法进行加/解密。 解:(1)、n=p*q=15, (p-1)*(q-1)=8; (2)、 由ed= 1 mod (p-1)*(q-1)得 7*d=1 mod 8,计算得d=11。(3)、则密文C为 C = Me mod n= 73 mod 15 = 343 mod 15= 13 (4)、复原明文M为: M = Cd mod n = 1311 mod 15 = 7  作业: 使用RSA公开密钥体制进行运算: 1、 若p=5,q=11,求符合条件5个以上e。 e可为:1、3、7、9、11、13、17、19、21、23、27、29、 31、33、37、39、41、43、47、49、51、53 2、 设p=3,q=11,d=7,m=5,计算C。 c=me mod n=53 mod 33=26 3、若p=3,q=17,e=3,明文为“leach”(设a~z的 编号为0~25),求密文C。 字符l、e、a、c、h对应编号分别为:11、4、0、2、7; c1=113 mod 51=5=F ;c2=43 mod 51=13=N c3=03 mod 51=0=A ; c4=23 mod 51=8=I c5=73 mod 51=37=L 即,密文C为:FNAIL
2023-08-11 21:49:281

如何使用公开密钥密码确保数据的真实性

密码是实现一种变换,利用密码变换保护信息秘密是密码的最原始的能力,然而,随着信息和信息技术发展起来的现代密码学,不仅被用于解决信息的保密性,而且也用于解决信息的完整性、可用性和可控性。可以说,密码是解决信息安全的最有效手段,密码技术是解决信息安全的核心技术。   公用密钥的优点就在于,也许你并不认识某一实体,但只要你的服务器认为该实体的CA是可靠的,就可以进行安全通信,而这正是Web商务这样的业务所要求的。例如信用卡购物。服务方对自己的资源可根据客户CA的发行机构的可靠程度来授权。目前国内外尚没有可以被广泛信赖的CA。美国Natescape公司的产品支持公用密钥,但把Natescape公司作为CA。由外国公司充当CA在中国是一件不可想象的事情。   公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。即用公共密钥技术在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。另外,公钥加密也用来对专用密钥进行加密。   在这些安全实用的算法中,有些适用于密钥分配,有些可作为加密算法,还有些仅用于数字签名。多数算法需要大数运算,所以实现速度很慢,不能用于快的数据加密。以下将介绍典型的公开密钥密码算法-RSA。   RSA算法很好的完成对电文的数字签名以抗对数据的否认与抵赖;利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。目前为止,很多种加密技术采用了RSA算法,比如PGP(PrettyGoodPrivacy)加密系统,它是一个工具软件,向认证中心注册后就可以用它对文件进行加解密或数字签名,PGP所采用的就是RSA算法。由此可以看出RSA有很好的应用。
2023-08-11 21:49:351

加密密钥是公开的,脱密密钥是保密的是什么意思

公开密钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学(Cryptography)就是保护信息传递的机密性。 但这仅仅是当今密码学主题的一个方面。对信息发送与接收人的真实身份的验证、对所发出/接收信息在事后的不可抵赖以及保障数据的完整性是现代密码学主题的另一方面。   公开密钥密码体制对这两方面的问题都给出了出色的解答,并正在继续产生许多新的思想和方案。在公钥体制中,加密密钥不同于解密密钥。人们将加密密钥公之于众,谁都可以使用;而解密密钥只有解密人自己知道。迄今为止的所有公钥密码体系中,RSA系统是最著名、使用最广泛的一种。
2023-08-11 21:49:451

公开密钥加密体制的含义是

根据百度百科资料显示,该体制的含义是将公开密钥公开,私有密钥保密。公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。公开密钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配问题,另一种是由于对数字签名的需求。在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
2023-08-11 21:49:521

密钥密码体系的公开密钥算法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有很好的应用。
2023-08-11 21:50:001

公开密钥加密密钥的区别联系…在线等

公开密钥加密,有公开密钥的能加密也能解密私有密钥加密,公开密钥只能加密,解密要用私有密钥,公开密钥是由一个非营利组织保管的
2023-08-11 21:50:131

怎么理解公开密钥密码体制中的“公开

在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。该技术采用两个不同的密钥来对信息加密和解密,它也称为"非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D。 它们须满足条件: (1)D是E的逆,即D[E(X)]=X; (2)E和D都容易计算。 (3)由E出发去求解D十分困难。 从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。
2023-08-11 21:50:341

公开密钥加密与私人秘钥加密相比有那些优点?

很高兴为您回答公开密钥加密,有公开密钥的能加密也能解密私有密钥加密,公开密钥只能加密,解密要用私有密钥,公开密钥是由一个非营利组织保管的
2023-08-11 21:50:431

简述公开密钥加密和私有密钥加密的区别

公开密钥加密,有公开密钥的能加密也能解密私有密钥加密,公开密钥只能加密,解密要用私有密钥,公开密钥是由一个非营利组织保管的
2023-08-11 21:50:531

公开密钥加密的过程

Asymmetric encryption system假设两个用户A,B进行通信,公钥为c,私钥为d,明文为x.1:A用公钥对明文进行加密形成密文c(x),然后传输密文;2:B收到密文,用私钥对密文进行解密d(c(x)),得到要通信的明文x。
2023-08-11 21:51:021

数字签名主要经过以下几个过程:信息发送者使用一单向散列函数(HASH函数)对信息生成信息摘要;信息发送者使用自己的私钥签名信息摘要;信息发送者把信息本身和已签名的信息摘要一起发送出去;信息接收者通过使用与信息发送者使用的同一个单向散列函数(HASH函数)对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。数字加密主要经过以下几个过程:当信息发送者需要发送信息时,首先生成一个对称密钥,用该对称密钥加密要发送的报文;信息发送者用信息接收者的公钥加密上述对称密钥;信息发送者将第一步和第二步的结果结合在一起传给信息接收者,称为数字信封;信息接收者使用自己的私钥解密被加密的对称密钥,再用此对称密钥解密被发送方加密的密文,得到真正的原文。数字签名和数字加密的过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,这是一个一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。数字加密则使用的是接收方的密钥对,这是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。另外,数字签名只采用了非对称密钥加密算法,它能保证发送信息的完整性、身份认证和不可否认性,而数字加密采用了对称密钥加密算法和非对称密钥加密算法相结合的方法,它能保证发送信息保密性。
2023-08-11 21:51:151

什么是密钥

序列号,安装软件时用的。
2023-08-11 21:51:255

解释公开密鈅加密和私有密鈅加密的区别。列举各自的优缺点。

楼上说的都不对所谓密钥一般是指rsa加密来说的。有两种方法1种叫对称密钥。加密和解密的密钥相同。优点是加密和解密速度快。缺点是不安全,需要绝对安全的密钥传递路线。且每次加密的密钥都不会相同,要求的素数对太多难以实现。第二种才是公开和私有密钥系统。公开密钥用来加密,但解密时需要有公开密钥和私有密钥同时使用才能解密。优点是实现简单,传递安全。但加密解密速度慢
2023-08-11 21:51:431

公开密钥和私用密钥有什么区别,急求解答

但是非对称加密来说的话,是发送方的私人密钥来加密啊。。,,我就能写一个函数是非对称加密的,用甲方密钥加密,然后乙方用不同的密钥解密。int a=1,b=2;int c=100;void main(){int m;printf("请输入1为加密,2为解密");scanf("%d",&m);if(m==1)c+=(a*2);if(m==2)c=c-b;}如果把A看成是加密密钥,把C看成是明文,那么B就是解密密钥。但明显A和B是两把不同的钥匙。但 追问: 可是答案好像是接收方的私钥喔,这是为什么呢? 回答: 这个我也不知道 但我自己算出来就是发送方的私用密钥,但我以前读书的时候也做过这个题老师的答案也是接收方的公开密钥,我很郁闷老师也没解释。到现在我也没弄清楚 追问: 额,我在网上有看到类似你这样的回答,不知道是不是你回答的呢,呵呵……惨啦,万一我考试考到这个那怎么办啊?都不知道是对是错,我郁闷哇 回答: 我i刚在网上找咯一下一般发送者和接收者拥有自己的公钥和密钥,公钥是公开的,密钥不公开。保密机制:A向B发送消息时,首先用B的公钥对消息进行加密,生成密文发送,B接收到密文后,用自己的密钥进行解密,进而得到消息原文。因为B公钥加密过的消息只有B的密钥才能解密,所以实现了保密功能。认证机制:A向B发送消息时,首先用自己的密钥加密,B接收到密文后用A的公钥解密,得到原文。因为只有A的公钥才可解开A密钥加密过的消息,所以可以确认解密后的原文必是来自A。保密机制:A向B发送消息时,首先用B的公钥对消息进行加密,生成密文发送,B接收到密文后,用自己的密钥进行解密,进而得到消息原文。
2023-08-11 21:52:181

简述公开密钥加密具有的优点

公开密钥加密,有公开密钥的能加密也能解密私有密钥加密,公开密钥只能加密,解密要用私有密钥,公开密钥是由一个非营利组织保管的
2023-08-11 21:52:271