生成RSA私钥
openssl genrsa -out key.pem 1024 指定1024位
提取公钥openssl rsa -in privkey.pem -pubout -out pubkey.pem
加密 (因RSA非对称加密特性,本人验证后256位密钥加密文字中字符数量不超过20)
openssl rsautl -encrypt -in 要加密的文件名 -inkey 密钥 -pubin -out 输出文件名
- 给出flag.enc pub.pem
openssl >> rsa -pubin -text -modulus -in 公钥文件.pem (-pubin 告诉openssl是公钥文件 -text 查看明文 -modulus 模数 )
解密 (公钥加密私钥解密)
openssl rsautl -decrypt -in 加密文件名 -inkey 私钥 -out 输出文件名
N(大质数,模数)分解:
1. cmd 下msieve.exe 大质数n -v
2.yafu.exe
命令是factor(n),将n值分解
yafu-x64 "factor(@)" -batchfile n.txt
yafu用于自动整数因式分解,在RSA中,当p、q的取值差异过大或过于相近的时候,使用yafu可以快速的把n值分解出p、q值,原理是使用Fermat方法与Pollard rho方法等。