ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

RSA密码算法

2022-05-17 14:00:56  阅读:249  来源: 互联网

标签:加密 RSA 解密 密码 算法 计算 Bob


RSA 算法是非对称算法,由 Ronald Rivest Adi Shamir Leonard Adleman 人共同在 1977
年公开发表。在 RSA 加密算法中,公钥和私钥都可以用千加密消息,用于加密消息的密钥与用
千解密消息的密钥相反。 RSA 算法提供了一种保护网络通信和数据存储的机密性、完整性、真
实性和不可否认性的方法。目前, SSH OpenPGP S/MIME SSL/TLS 都依赖千 RSA 进行
加密和数字签名功能。 RSA 算法在浏览器中使用,能够在不可信任的互联网中建立安全连接。
RSA 签名验证是网络连接系统中最常见的执行操作之一。
RSA 算法基千大整数因子分解的困难性,该算法的步骤如下:
步,生成两个大素数 和仁
步,计算这两个素数的乘积 n=pq
第三步,计算小于 并且与 互素的整数的个数,即欧拉函数妒(n) = (p-l)(q-1)
第四步,选取 个随机数 ,且满足 l<e< (n) ,并且 和叭n) 互素,即 gcd(e ,妒( n)) =
第五步,计算 d=e mod (n)
第六步,保密 q, 而公开 e, 作为私钥,而 作为公钥。
下面,举 RSA 加密的具体实例。设素数 p=3, q=17, 并令 e=l3, RSA 的加密操作
如下:
第一步 ,计算 n, n=pq=3 X 17=51, 得出公钥 n=Sl, e =13
第二步 ,计算叭n) ,妒(n) = (p-l)(q-1) = 2 X 16 = 32 因为 = e-1 modp(n) ,所以
(n)+l d= ,其中 p-l q-l 的最大公约数。由此算出 = (2 x 32 + 1) / 13 = 5, 即解密
密钥 d=5
步,加密和解密处理计算。假设 Bob 的公开密钥是 e=l3 n=Sl, Alice 需要将明文 “2"
发送给 Bob, Alice 首先用 Bob 的公开密钥加密明文,即:
C=Memodn =沪 mod51 = 8192mod51 = 32
然后, Bob 收到 Alice 发来的密文 后,用自己的私钥 解密密文 C, 即:
M = Cd modn = 325 mod51 = 1024 x1024X32mod51 = 512mod51 = 2
RSA 安全性保证要做到选取的素数 足够大,使得给定了它们的乘积 后,在事先不
知道 的清况下分解 是计算上不可行的。因此,破译 RSA 密码体制基本上等价千分解
基千安全性考虑,要求 长度至少应为 1024 比特,然而从长期的安全性来看, 的长度至少应
2048 比特,或者是 616 位的十进制数。

标签:加密,RSA,解密,密码,算法,计算,Bob
来源: https://www.cnblogs.com/zhuhuibiao/p/16280540.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有