openssl genrsa 用于生成 rsa 私钥文件,生成时能够指定私钥长度和密码保护。算法
openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]安全
通常使用:dom
root @ master # openssl genrsa -out rsa_pri.key 2048
Generating RSA private key, 2048 bit long modulus
................................+++
..............................................+++
e is 65537 (0x10001)
ide
咱们指定了密钥长度是 2048 bit,同时能够看到 e 的值是 65537,这不是一个错误,这是一个默认值,后面有讲。加密
密钥长度越长越安全,但使用密钥进行加解密时所耗费的时间也会变长,非对称密钥提升安全性的同时也带来了算法所耗费的大量时间,非对称密钥不对大块数据进行加密,应用领域是数字签名,密钥分发等小数据加密。idea
numbits 密钥长度(单位bit).net
openssl genrsa -out rsa_pri.key 1024blog
-passout argssl
对生成的 rsa 私钥文件施加密码保护,例如:使用 idea 算法对私钥文件进行密码保护,加密的密码是 123456。get
openssl genrsa -idea -passout pass:123456 -out rsa_pri.key
-f4 / –3 指数(即 RAS 算法里的 e 指数,通常设置为 3 – 65537 之间的某个质数,例如 {3, 5, 17, 257 or 65537},默认是65537,必须是一个质数,值越大加密和解密耗费的时间越长),例如上例中输出的最后一句话,e is 65537 (0x10001)
-f4 -- use F4 (0x10001) for the E value
-3 -- use 3 for the E value
root @ master # openssl genrsa -3 -out rsa_pri.key 2048
Loading 'screen' into random state – done
Generating RSA private key, 2048 bit long modulus
......................+++
.............+++
e is 3 (0x3)
参考:
http://blog.csdn.net/fym0121/article/details/7987512
http://stackoverflow.com/questions/10736382/what-does-e-is-65537-0x10001-mean