两个问题

openssl 是什么
openssl 就是 加密解密的一套工具包。首先,SSL是一种协议。openssl 全称 Open Secure Sockets Layer,翻译为:开源的安全套接层协议。

RSA 是什么
RSA是一种算法。有一年,在麻省理工学院(MIT),有三位同事联手设计了一种非对称加密算法,这三人分别是:(Ron Rivest)、(Adi Shamir)、(Leonard Adleman),RSA分别取自三人名字的首字母。

几个概念

  1. 公匙 ,任何人都可以下载、查看、使用的秘钥
  2. 私匙 ,只能自己使用,不可泄露的秘钥
  3. 明文 , 加密前的数据(不一定是文字,也可以是图片、视频等)
  4. 密文 , 加密后的数据(同上)

应用场景

数据加密 / 解密
加密过程:公匙 + 明文 = 密文
解密过程:私匙 + 密文 = 明文

数字签名
数字签名的目的不是加密(保密),而是为了防止伪造。
签名过程:私匙 + 明文 = 密文
验签过程:公匙 + 密文 = 明文

Tips:如果 公匙 + 密文 ,能够成功解出明文,则表明数据确实来自持有特定私匙的某人(身份合法),进一步证明接收到的数据是未经篡改的,可信赖的。

简单应用

生成私匙

openssl genrsa -out private.key

从私匙中提取出公匙

openssl rsa -in private.key -out public.key -pubout

加密一份文件

openssl rsautl -encrypt -in hello.txt -inkey public.key -out helloEncrypt.txt -pubin

解密一份文件

openssl rsautl -decrypt -in helloEncrypt.txt -inkey private.key -out helloDecryp.txt

标签: 算法, openssl, ssl, 加密算法

评论已关闭