4.RSA加密

本文介绍了RSA公钥加密算法的原理、流程、实现方法及潜在的安全风险。内容包括密钥生成、加密解密过程、算法验证、常见攻击类型及防范措施。重点讨论了大整数因子分解的难题作为算法安全性的基础,并阐述了使用Python实现RSA算法的难点。
摘要由CSDN通过智能技术生成

要求:利用所学的生成素数的算法,生成两个尽可能的素数,进一步实现RSA的加密算法。
a)简介
RSA公钥算法由 MIT 的Rivest, Shamir和Adleman在I978年提出来的。是被最广泛接受并实现的通用公钥密码算法,已成为公钥密码的国际标准。该算法的数学基础是初等数论中的欧拉定理,其安全性基于大整数因子分解的困难性。
b)算法流程
1)密钥的生成
1. 选择两个大素数 p和q,(p≠q,需要保密)
2. 计算n=p×q, j(n)=(p-1)×(q-1)
3. 选择整数 e 使 (j(n),e) =1, 1<e< j(n)
4. 计算d,使d=e-1 mod j(n),
得到:公钥为{e, n}; 私钥为{d}
2)加密(用e,n): 明文M<n, 密文C=M^e (mod n).
3)解密(用d,n): 密文C, 明文M =C^d (mod n)
c)算法实现
扩展欧几里得:
在这里插入图片描述

图4.1 扩展欧几里得
求模逆:

在这里插入图片描述

图4.2 求模逆
快速幂:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值