在公钥密码系统中,加密和解密使用的是不同的密钥,这两个密钥之间存在着相互依存关系:即用其中任一个密钥加密的信息只能用另一个密钥进行解密。这使得通信双方无需事先交换密钥就可进行保密通信。其中加密密钥和算法是对外公开的,人人都可以通过这个密钥加密文件然后发给收信者,这个加密密钥又称为公钥;而收信者收到加密文件后,它可以使用他的解密密钥解密,这个密钥是由他自己私人掌管的,并不需要分发,因此又成称为私钥,这就解决了密钥分发的问题。
主要的公钥算法有:RSA、DSA、DH和ECC。
一 RSA算法
当前最著名、应用最广泛的公钥系统RSA是在1978年,由美国麻省理工学院(MIT)的Rivest、Shamir和Adleman在题为《获得数字签名和公开钥密码系统的方法》的论文中提出的。它是一个基于数论的非对称(公钥)密码体制,是一种分组密码体制。其名称来自于三个发明者的姓名首字母。 它的安全性是基于大整数因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA算法的安全性。
RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。
RSA算法是第一个既能用于数据加密也能用于数字签名的算法,因此它为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册,人们用公钥加密文件发送给个人,个人就可以用私钥解密接受。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。
二 DSA算法
DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,它不能用作加密,只用作数字签名。DSA使用公开密钥,为接受者验证数据的完整性和数据发送者的身份。它也可用于由第三方去确定签名和所签数据的真实性。DSA算法的安全性基于解离散对数的困难性,这类签字标准具有较大的兼容性和适用性,成为网络安全体系的基本构件之一。
三 Diffie-Hellman密钥交换
DH算法是W.Diffie和M.Hellman提出的。此算法是最早的公钥算法。它实质是一个通信双方进行密钥协定的协议:两个实体中的任何一个使用自己的私钥和另一实体的公钥,得到一个对称密钥,这一对称密钥其它实体都计算不出来。DH算法的安全性基于有限域上计算离散对数的困难性。离散对数的研究现状表明:所使用的DH密钥至少需要1024位,才能保证有足够的中、长期安全。
四 椭圆曲线密码体制(ECC)
1985年,N. Koblitz和V. Miller分别独立提出了椭圆曲线密码体制(ECC),其依据就是定义在椭圆曲线点群上的离散对数问题的难解性。
离散对数求解是非常困难的。椭圆曲线离散对数问题比有限域上的离散对数问题更难求解。
相关推荐
RSA公钥算法是一种广泛应用于网络安全中的非对称加密技术,由Ron Rivest、Adi Shamir和 Leonard Adleman 在1977年提出,因此得名RSA。它基于数论中的两个核心概念:大整数因子分解的困难性和欧几里得算法。在RSA中,...
公钥算法,也称为非对称加密算法,是现代密码学中的重要概念,它在网络安全、数据加密和数字签名等领域有着广泛的应用。本资源包含的"公钥算法编程设计源代码"提供了实现这些算法的实际示例,对于学习和理解公钥算法...
针对这一挑战,韩继红等研究者在2011年提出了一种基于双矩阵组合公钥算法的密钥生成方案。该方案的提出,是基于双矩阵组合公钥体制的基础上,结合了秘密共享技术,旨在生成一种既安全又可靠的私钥。这种私钥不仅满足...
RSA公钥密码算法是计算机安全领域中的一种重要加密技术,由Ron Rivest、Adi Shamir和 Leonard Adleman 在1977年提出,因此得名RSA。它基于大整数因子分解的困难性,为数据的传输提供安全保障。在本项目中,我们将...
RSA 公钥算法Java代码(带界面).doc
证明推导了公钥加密算法RSA和签名算法DSA,RSA和DSA是SSL/TLS的基础,理解算法的数学原理,有助于加深对网络安全的理解
本文主要关注的是公钥密码系统中的RSA算法,这是一种广泛应用的非对称加密算法。 RSA算法由Rivest、Shamir和Adleman三位学者在1977年提出,它的理论基础来源于数论,特别是大整数因子分解的困难性。在RSA系统中,每...
个人实战积累的成果,基于国密算法的总结,希望可以帮到您 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源哦~ 个人实战积累的成果,基于国密算法的总结,希望可以帮到您 亲们下载我任何一个...
RSA算法是第一个能同时用于加密和数字签名的算法,是一个被研究的最广的算法,从提出到现在经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥算法之一。但是幂模运算是RSA的速度瓶颈,而模幂运算又...
在分析现有基于挑战/应答一次性口令方案不足的基础上,设计了一种新的基于hash函数和公开密钥加密算法的一次性口令身份认证方案。该方案不仅能够提供通信双方的相互认证、避免各种攻击,而且克服了传统挑战/应答...
RSA算法是由Ron Rivest、Adi Shamir和Leonard Adleman在1978年提出的,是目前最广泛使用的公钥密码算法之一。RSA的安全性基于大整数分解的难度,即对于两个大素数\(p\)和\(q\),计算\(pq\)很容易,但从\(pq\)反向...
SM2椭圆曲线公钥密码算法详解.rarSM2椭圆曲线公钥密码算法详解.rarSM2椭圆曲线公钥密码算法详解.rar 1、附件有密码,获取解压码,请关注公众号“蛹破蝶飞” ,或者扫描压缩包中的图片即可,回复“秘钥算法”,即可...
SM2椭圆曲线公钥密码算法-part2-数字签名算法;国密算法 标准文件
5. **处理公钥**:根据公钥算法,如RSA,将二进制数据转换为可用的公钥对象,可以使用如`RSA_get0_pubkey`(OpenSSL)这样的函数。 在实际开发中,你可能还需要考虑证书的编码错误、非标准格式或者不常见的扩展。...
公钥算法,也称为非对称加密,是相对于传统的对称加密而言的。在对称加密中,发送者和接收者使用同一把密钥进行加密和解密,而公钥算法则使用两把不同的密钥:一把是公钥,可以公开;另一把是私钥,必须保密。 标题...
RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要...RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
代码实现了SM2算法(国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法)。...SM2算法和RSA算法都是公钥密码算法SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
ECC(椭圆曲线密码)是一种相对较新的公钥算法,它以椭圆曲线理论为基础。ECC的主要优势在于安全性相当高,但所需的密钥长度比RSA短,因此在资源有限的设备上更受欢迎。 DSA是一种基于离散对数问题的数字签名算法,...
国密局发布的SM2椭圆曲线公钥密码算法文档,pdf,完整版的。1、总则;2、数字签名算法;3、密码交换协议;4、公钥加密算法