通过Python3爬虫语言模拟加密解密过程:
n和e组合充当公钥/n和d组合充当私钥
SSL是SecureSocketsLayer(安全套接层协议)
OpenSSL软件包(开放源码)
基于OpenSSL增量包环境执行涉及RSA的相关命令
Mac终端
//切换进入RSA公私钥文件存储文件夹
cd /Users/haijunyan/Desktop/RSA公私钥文件
//生成某串数据信息(充当RSA体系私钥)存储于名为private.pem文件(私钥文件(长度1024bit))
openssl genrsa -out private.pem 1024
//从名为private.pem私钥文件中提取某些部分信息(充当RSA体系公钥)存储于名为publick.pem文件(公钥文件(和private.pem私钥文件相关联相匹配的公钥文件))
openssl rsa -in private.pem -pubout -out publick.pem
//查看私钥文件内部具体的私钥信息(base64编码呈现私钥信息)
cat private.pem
//查看公钥文件内部具体的公钥信息(base64编码呈现公钥信息)
cat publick.pem
// 将private.pem私钥文件内部具体的私钥信息转换为明文存储于private.txt文件内
openssl rsa -in private.pem -text -out private.txt
private.txt文件函括内容:
modulus模数
publicExponent公开指数
privateExponent私有指数
prime1素数1(质数1)
prime2素数2(质数2)
exponent1指数1
exponent2指数2
coefficient系数
私钥二进制长度>公钥二进制长度
//PS终端案例
Last login: Tue Mar 30 16:17:54 on ttys002
haijunyan@haijunyan ~ % cd /Users/haijunyan/Desktop/RSA公私钥文件
haijunyan@haijunyan RSA公私钥文件 % openssl genrsa -out private.pem 1024
Generating RSA private key, 1024 bit long modulus
...++++++
...............++++++
e is 65537 (0x10001)
haijunyan@haijunyan RSA公私钥文件 % openssl rsa -in private.pem -pubout -out publick.pem
writing RSA key
haijunyan@haijunyan RSA公私钥文件 % cat private.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQCi/X3ecTlwX/BVNAiw3fCVQoCfgDevSJGh7YZ/k0KKpZFDlbSA
R3rfbDsRDGD2OBAEVi8oYui4ryQ6krW/J3p0BTPvHrzGAVuXMvoRZK54t+NRAW48
br1J1gr8k9LwH6V2eXaWjq18+dYfdQix8oq8rLsbYCkbjVGV7Yj1bx2ojQIDAQAB
AoGBAIBL7z8geukk66X1zn2CRfUHov1qTOrRwajnsj5LqU4/o4fCmJF9MpAZvqjd
yJknahwvxvEQYkW1v1vHzf5I0g6tdyHtJdjxAECj7oVfKwoXSlqp7YzRiirIt/tn
elkBiaUhCqbYUf5q+zhMcNcs3rjJrz2ywf4YW+S6LwzCsdhBAkEA1ghKNLM6hrdY
nqNtZfKCIFK4bRlrVUHoO/tcFwAMhtGDmDvgR0KcUaIct0uywijb8VOfIThjI8AD
D9/Pn6qFUQJBAMLzDhKtHjXzJ6CD/cXkTphgYC8swsW65keOSzrPGvByiCDVrSDX
AvPz0cr3szWxVYCdDG5X82jhAL1veAzNkH0CQQCrMc5JAOLbRmO33/htBuBWglPJ
z/8uHp1m/NLYAs4COCsN5TarSPhHw2c8pWvCKXRjPwOVSsjhm3/XfqlPiNFBAkAU
C9AvpXOM0qMJg2kN90sJqidZ0n14vZ4+T2h29KLthKlwzugNj25zTWgOOehIpiKH
ph6IHi0eZLyhvhuXHXA1AkAHcIUeAkgJhcTsdSqLQG3zowVU5lcmvi1x5Em/lgHM
lCw1hd8kmJ4zrRm+GxCMut+QoNK82zAAvpueoDZgi3Be
-----END RSA PRIVATE KEY-----
haijunyan@haijunyan RSA公私钥文件 % cat publick.pem
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCi/X3ecTlwX/BVNAiw3fCVQoCf
gDevSJGh7YZ/k0KKpZFDlbSAR3rfbDsRDGD2OBAEVi8oYui4ryQ6krW/J3p0BTPv
HrzGAVuXMvoRZK54t+NRAW48br1J1gr8k9LwH6V2eXaWjq18+dYfdQix8oq8rLsb
YCkbjVGV7Yj1bx2ojQIDAQAB
-----END PUBLIC KEY-----
haijunyan@haijunyan RSA公私钥文件 %