RSA算法背景

RSA加密算法是一种非对称加密算法,是1977年由麻省理工学院的(Ron Rivest)、(Adi Shamir)和(Leonard Adleman)一起提出的。RSA就是他们三人姓氏开头字母拼在一起组成的。

实际上,1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个相同的算法,但他的发现被列入机密,一直到1997年才被发表。

1983年麻省理工学院在美国为RSA算法申请了专利。这个专利2000年9月21日失效。由于该算法在申请专利前就已经被发表了,在世界上大多数其它地区这个专利权不被承认。

RSA算法是目前使用最为广泛的非对称加密算法,这得益于它的算法原理易于理解、实现相对简单(相对于椭圆曲线公钥密码算法)。不过我们国家的非对称加密算法国家标准并不是RSA,而是基于椭圆曲线密码学的SM2。

RSA算法应用非常广泛,主要可以分为如下两类:一是小数据段的加密,尤其是秘钥的传输;而是数字签名,可以说目前绝大多数的数字签名算法都是使用的RSA算法。

RSA算法的出现并不是为了替代对称加密算法,通常RSA非对称加密算法要比AES、DES等对称加密算法慢的多。这是因为RSA算法的计算过程涉及到了很多大数运算,非常的耗时。RSA算法通常和AES等对称加密算法一起使用,RSA算法加密算法在这里起到了加密对称秘钥的作用,大批量数据的加密实际上使用AES等对称加密算法加密的。

RSA算法的原理是由一系列的数学原理和数论知识支撑的,其中主要是模运算、费马小定理、欧拉定理和欧拉函数。

RSA算法的安全性依赖于大数的相乘在计算上是简单的,但是大数的因数分解是复杂的。具体的来讲就是计算两个大质数p和q的乘积是简单的,但是想从p和q的乘积分解出p和q是非常难的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值