crypto—攻防世界RSA(基础题) 初识rsa

1,首先明白RSA加密过程

  1.  选一对不相等且足够大的质数p,q
  2. 二者相乘q*p
  3. 计算n的欧拉函数  φ(n)=(q-1)(p-1)
  4. 选一个与φ(n)互质的整数 e (1<e<φ(n))
  5. 计算出e对φ(n)的模反元素d     de  mod φ(n)=1

加密     M的e次方对n取模=C                           解密     C的d次方对n取模=M       

2,查看源代码

from Crypto.Util.number import bytes_to_long,inverse,getPrime
from flag import flag

m = bytes_to_long(flag)

p = getPrime(1024)
q = getPrime(1024)
n = p*q
print(n)
e = 65537

c = pow(m,e,n)

pq = p*(q-1)
qp = q*(p-1)

print("c=",c)
print("n=",n)
print("pq=",pq)
print("qp=",qp)

'''
c= 872226907597064443425333959275851278816040891270738763259155213017570784395068431508325049401005543539187903628510381026359195143782941443864030756164572134785965980713805
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值