千家信息网

RSA算法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,RSA是(Rivest Shamir and Adleman)的缩写,Ron Rivest, AdiShamir 和Leonard Adleman这仨哥们挺NB的,20多年前创造了这个算法,现在也已经
千家信息网最后更新 2026年11月03日RSA算法

RSA是(Rivest Shamir and Adleman)的缩写,Ron Rivest, AdiShamir 和Leonard Adleman这仨哥们挺NB的,20多年前创造了这个算法,现在也已经广泛使用了。

这是一种公钥的加密算法,加密和解密是互逆的。如果用公钥加密,私钥解密,可实现保密通信;如果用私钥加密,公钥解密,可实现数字签名。下面说一下算法:

1、首先选择两个大素数p和q

都要大于10^100,因为小素数很容分解

2、令n=p*q和z=(p-1)*(q-1)

这部没什么可解释的

3、选择d,要求d与z互质。

只要是互质数都行

4、选择e,要求e*d=1 (mod z)

一说这个mod就烦人了,这里的mod的意思是数学符号,并非编程的mod,好比a=b (mod c),意思是a和b除以c后,余数相同。

5、明文P被分为k位的块,k要满足2^k的最大整数,于是0<=p。

这不没什么可说的。

下面是加密和解密过程,先说公钥加密,私钥解密的过程:

1、公钥加密用到e,n这两个数。C=P^e (mod n)

C是加密后的密文,P是明文,e和n就是算出来的数字了,但是这里的mod是电脑编程里的运算符,意思是取余数。

解密用到d,n,P=C^d (mod n)

这样明文P就出来了。

2、私钥用到d,n这两个数。C=P^d (mod n)

解密用到e,n这两个数。P=C^e (mod n)

可以代两个简单的2位素数来试试,不过你会发现,p和q很容易就被推算出来了,所以为什么说要大素数的原因就在这里。因为安全性是基于大素数分解的困难性,如果***者要分解200位的数,需要40亿年;500位的数,需要10^25年。这就是为什么RSA的重大缺陷是无法从理论上把握它的保密性能如何。


加密 两个 公钥 素数 算法 意思 明文 选择 没什么 余数 就是 数字 过程 保密 编程 最大 烦人 相同 重大 困难 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 有格互联网科技 南京欣网互联网络科技有限公司 极限挑战互联网科技 互联网金融科技平台 互联网科技有限公司 翻译 居家互联网科技有限公司 镁科技互联网资讯平台 互联网科技公司招聘 上海电发互联网科技有限公司 昊天互联网科技有限公司 深圳市罗太互联网科技有限公司 保险科技服务互联网营销体系 中国互联网有什么科技 雨阳互联网卡科技有限公司 宇信科技在杭州互联网排第几 广州有谷有贝互联网科技有限公司 东营紫格互联网科技 广西科技产业互联网是什么 中国主要互联网科技公司 科技平台互联网 深圳互联网科技公司 互联网科技的发展 成都狮子座互联网科技 中国互联网金融科技基金 农村开互联网科技讲堂 互联网科技公司有风险吗 佛山市翊博互联网络科技有限公司 世界互联网领先科技成果获奖 互联网科技包装股份有限公司上市
0