由数学公式:
m^e % n = c 加密
c^d % n = m 解密
私钥不公开,要想破解,必须求出d。
e d = f(n) k + 1
公钥e和n 私钥d和n 明文m 密文c 。
特点:因为要求f(n)…效率低,适合加密小数据。
用途:1、加密Key;2、数字签名
openssl 命令
1、生成私钥private.pem
安全test LDH$ openssl genrsa -out private.pem 1024
2、从私钥中提取公钥
安全test LDH$ openssl rsa -in private.pem -pubout -out public.pem
3、技巧:将base64转成明文
安全test LDH$ openssl rsa -in private.pem -text -out private.txt
4、通过公钥对message.txt字符串加密,输出到enc.txt
安全test LDH$ openssl rsautl -encrypt -in message.txt -inkey public.pem -pubin -out enc.txt
5、使用私钥对enc.txt进行解密,输出到dec.txt
安全test LDH$ openssl rsautl -decrypt -in enc.txt -inkey private.pem -out dec.txt
6、使用私钥对message.txt生成签名文件,输出到enc.bin
安全test LDH$ openssl rsautl -sign -in message.txt -inkey private.pem -out enc.b