RSA公司 是一种用于加密的算法。直到2000年,它在美国(不是全世界)获得了专利,现在可以自由使用。RSA有很多使用示例,但它主要用于加密密钥和数字签名等小块数据。RSA是基于整数分解的问题。众所周知,非对称密码比对称密码慢。因此,它与AES等对称密码一起用于保护海量数据。与AES和RSA一起使用称为混合用法。下面是一些实用的RSA工具。
创建密钥
为了管理 RSA密钥 ,我们需要先创建它。我们指定输出类型,其中文件名为t1.key,键的大小为2048 genrsa
使用OpenSSL。默认情况下,键以PEM格式创建,如file命令所示。
$ openssl genrsa -out t1.key 2048

将Pem格式转换为Der格式
格式用于对创建的RSA密钥进行编码并保存到文件中。Pem是常见的格式,但有时您需要使用 DER格式 . 下面是如何做到这一点。我们指定输入形式和输出形式 -inform
和 -outform
参数,然后显示中的现有文件和创建的文件 -out
. 然后我们检查文件,因为我们认为数据是文件类型,因为二进制类型。Der不是像base64那样编码的 pem
格式。
$ openssl rsa -inform pem -outform der -in t1.key -out t1.der
用AES加密RSA密钥
私钥是非常敏感的,如果我们在不安全的地方传输它,我们应该 加密 它使用对称密钥。这里我们使用带128位密钥的AES,并且不带参数地设置加密的RSA密钥文件。或者在生成RSA密钥对时,也可以对其进行加密。
$ openssl rsa -aes128 -in t1.key -out t1out.pem

列出/显示公钥
我们可以在终端中显示或查看给定的公钥。我们将使用 -in
参数提供证书文件名,该文件名为 t1.key
在本例中 -pubout
和 -text
选项以便打印到屏幕上。
$ openssl rsa -in rsa1.pem -pubout -text

我们可以从截图中看到,RSA密钥是2048位的模。
相关文章: 什么是CCNA或思科认证网络协会?
如何创建RSA公钥和私钥?信息图表
