攻防世界Normal RSA and easy RSA

准备学点密码学,(主要是开学了,课太水了,上课学正好)

那先来看看两条简单的密码学。

先来看看RSA。

==========
RSA的计算过程是:

  • 任选两个大质数p和q,p!=q,计算N=pq
  • 计算N的欧拉函数r(n)=(p-1)(q-1)
  • 任选一个e满足 1
  • 找到d,使e*d/r(n)=x……1(x是多少不重要,重要的是余数为1)
  • 至此(n,e)为公钥,(n,d)为私钥
  • 加密:C=Me(mod n);解密:M=Cd(mod n)
    emmm,大概就是这样个流程。。。
    (●’◡’●)

easy RSA

考察计算器运用能力。

先计算欧拉函数
(p-1)*(q-1)

+1除以17就是si匙了。

就是答案了,
套上格式oooo。

normal RSA

考察点:

  • RSA的含义
  • 一些工具的运用

有关于openssl
openssl点这里

解题:
有两个文件,
一个加密的,一个是公匙。

目的是利用公shi,算出私shi,
然后再用私shi解加密文件,ok!

openssl rsa -pubin -text -modulus -in warmup -in pubkey.pem

65537是e!这里要注意

modulus是十六进制,换成十进制。

再质数分解,

这是考定义了,
多看几次就明白了。

在github上下载rsatool

https://github.com/ius/rsatool

在下载的文件中,拉进两个压缩包,执行命令,生成密匙。

python rsatool.py -o private.pem -e 65537 -p 275127860351348928173285174381581152299 -q 319576316814478949870590164193048041239

多了一个private文件,
ok;

openssl rsautl -decrypt -in flag.enc -inkey private.pem

你可能感兴趣的:(攻防世界)