公钥密码之RSA

目录

一、起源

二、基础

1.理论基础:欧拉定理

2.安全性基础:大整数素因子分解困难问题

三、算法

1.RSA加密算法

2.RSA签名算法

四、安全性

1.大整数分解

2.同模攻击

3.旁路攻击


一、起源

RSA(RivestShamirAdleman

1976年,Diffie、Hellman在论文《New Directions in Cryptography》中首次提出公钥密码体制的设想。

1978年,第一个公钥加密体制被提出:MH背包公钥密码。但该密码已被证明不安全。

1987年,Rivest、Shamir、Adleman首次公布他们提出的RSA公钥加密体制。

RSA是第一个安全、实用的公钥加密算法,已经成为国际标准,是目前应用广泛的公钥加密体制。

二、基础

1.理论基础:欧拉定理

欧拉定理:对于任意两个互素的整数mn,有m^{\varphi (n)}\equiv 1(mod n)

费马定理:n为素数时,m^{n-1}\equiv 1(mod n)

欧拉函数:比m(m> 1)小且与m互素的正整数个数\varphi (m)

补充:

算术基本定理:任意大于1的整数a都可以分解为有限个素数的乘积:

                                        ​​​​​​​        a=p_{1}p_{2}...p_{r}(除素因子的排列外都是唯一的)

上述表达中可能存在重复素因子,可以用标准因子分解式表示有限个素数的幂的乘积:        ​​​​​​​        ​​​​​​​                                        a={p_1{}}^{k_{1}}{p_2{}}^{k_{2}}...{p_l{}}^{k_{l}}

欧拉函数的计算规则: \varphi (a)=a\prod_{i=1}^{i=l}(1-\frac{1}{p_{i}})

(欧拉函数计算公式推导待证明)

2.安全性基础:大整数素因子分解困难问题

大整数素因子分解困难问题

其它困难问题:

如何确定一个整数是素数

如何找到足够大的素数

三、算法

1.RSA加密算法

(1)密钥生成算法

        ①选取两个安全大素数pq,计算乘积n=pq\varphi (n)=(p-1)(q-1),其中,\varphi (n)n的欧拉函数;

        ②随机选取整数e(1< e< \varphi (n))作为公钥,满足gcd(e,\varphi (n))=1;

        ③用欧几里得扩展算法计算私钥,满足d\times e\equiv 1(mod \varphi (n))

        输出公钥(e,n),私钥d

(2)加密算法

        ①获得接收方公钥(e,n)

        ②把消息M分组为长度为L的消息分组M=m_1{m_{2}...m_{t}}

        ③使用加密算法c_i{\equiv m_{i}^{e}(mod n)}\left ( 1\leqslant i\leqslant t \right ),计算出密文C=c_1{c_{2}...c_{t}}

        ④将密文C发送给接收方。

(3)解密算法

        ①接收方收到密文C=c_1{c_{2}...c_{t}}

        ②使用私钥d逐一恢复明文分组m_i{\equiv c_{i}^{d}(mod n)}\left ( 1\leqslant i\leqslant t \right )

        ③得到明文消息M=m_1{m_{2}...m_{t}}

(4)正确性证明

        ​​​​​​

2.RSA签名算法

(1)密钥生成算法(同上)

(2)签名算法

(3)验证算法

(4)正确性证明

​​​​​​​

四、安全性

1.大整数分解

shor算法

2.同模攻击

3.旁路攻击

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值