1.在密码学题目中可能遇到给了几个文件:
有的是直接写明:
flag.enc 一般这类为rsa公钥加密后的文件,需要使用私钥解密
public.pem/public.key 一般为公钥,需要使用openssl分解出(N,E)
2.提取公钥(N,E):
openssl rsa -pubin -text -modulus -in warmup -in public.pem
3.根据私钥生成公钥
openssl rsa -in rsa_prikey.pem -pubout -out pubkey.pem
-in 指定输入的密钥文件
-out 指定提取生成公钥的文件(PEM公钥格式)
4.提取PEM RSAPublicKey格式公钥
openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
-in 指定输入的密钥文件
-out 指定提取生成公钥的文件(PEM RSAPublicKey格式)
5.公钥加密文件
openssl rsautl -encrypt -in input.file -inkey pubkey.pem -pubin -out output.file
-in 指定被加密的文件
-inkey 指定加密公钥文件
-pubin 表面是用纯公钥文件加密
-out 指定加密后的文件
6. 私钥解密文件
openssl rsautl -decrypt -in input.file -inkey key.pem -out output.file
-in 指定需要解密的文件
-inkey 指定私钥文件
-out 指定解密后的文件