RSA算法原理

RSA的简介:

RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种"由已知加密密钥推导出解密密钥在计算上是不可行的"密码体制。

公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

RSA的加密过程:

密文=明文的E次方mod N

也就是说明文的E次方除以N求余即可得到密文,当每个人都知道公钥(E,N)都可以进行加密。

RSA的解密过程:

明文=密文的D次方mod N

 明文就等于密文的D次方除以N求余,私钥(D,p,q),只要知道私钥即可求出明文。

求秘钥对的过程:

1、先准备好两个互质的素数p,q。(p,q可能是非常大的两个素数,所以在编程的时候主要借助工具或脚本)

N=p*q

2、求L

L=(p-1)*(q-1)

 3、求E(e是和L互质的数,也就是最大公约数为1,只要是互质可以是随机的)

4、求D(D是根据e求出来的,D和e有关)

D*e mod L=1

 即可求出D。在CTF比赛过程中可能会给出N的值,倒退过来求。(需要python脚本的协助才能完成)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值