RSA系列第1篇:RSA 介绍

一 什么是 RSA

RSA 是一种公钥密码算法,它的名字由三位开发者,即 Ron Rivest、Adi Shamir 和 Leonard Adleman 的姓氏的首字母组成的。

RSA 被用于公钥密码和数字签名。

1983 年,RSA 公司为 RSA 算法在美国取得了专利,但现在该专利已经过期。

质数:只能由数字1和数字本身相乘得到的数。 a = 1 x a ,5 = 1 x 5, 13 = 1 x 13

二 RSA 加密

在 RSA 中,明文、密钥和密文都是数字。RSA 的加密过程可以用下面的公式来表达。

RSA 的密文是对代表了明文的数字的 E 次方求 mod N 的结果。换句话说,就是将明文做 E 次乘方,然后将其结果除以 N 求余数,这个余数就是密文

加密公式中出现了两个数——E 和 N,到底都是什么数呢?RSA 的加密是求明文的 E 次方 mod N,因此只要知道 E 和 N 这两个数,任何人都可以完成加密的运算。所以说,E 和 N 是 RSA 加密的密钥,也就是说,E 和 N 的组合就是公钥

不过,E 和 N 并不是随便什么数都可以的,它们是经过严密计算得出的。其中 E 是加密(Encryption)的首字母,N 是数字(Number)首字母。

有一个很容易引起误解的地方——E 和 N 这两个数并不是密钥对(公钥和私钥的密钥对)。E 和 N 两个数才组成一个公钥,因此我们一般会写出 “公钥是(E,N)” 或者 “公钥是{E,N}” 这样的形式,将 E 和 N 用括号括起来。

三 RSA 解密

该公式表示对密文的数字的 D 次方求 mod N 就可以得到明文。换句话说,将密文自己做 D 次乘法,再对其结果除以 N 求余数,这个余数就是明文

这里使用的数字 N 和加密时使用的数字 N 是相同的。数 D 和数 N 组成起来就是 RSA 的解密密钥,因此 D 和 N 的组合就是私钥。只有知道 D 和 N 两个数的人才能够完成解密的运算。由于 N 是公钥的一部分,是公开的,因此单独将 D 称为私钥也是可以的。

在 RSA 中,加密和解密的形式是相同的。加密是求 “E 次方的 modN”,而解密则是求 “D 次方的 modN”。

当然,D 也并不是随便什么数都可以的,作为解密密钥的 D,和数字 E 有着相当紧密的联系。否则,用 E 加密的结果可以用 D 来解密这样的机制是无法实现的。

D 是解密(Decryption)的首字母,N 是数字(Number)的首字母。

四 RSA 加密和解密小结

五 加密解密图解

image-20220802095337491

六 公钥和私钥的制作

image-20220802095404558

七 李永乐老师讲RSA

image-20220802141417341

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kerven_HKW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值