openssl 非对称加密算法RSA
两个问题
openssl 是什么
openssl 就是 加密解密的一套工具包。首先,SSL是一种协议。openssl 全称 Open Secure Sockets Layer,翻译为:开源的安全套接层协议。
RSA 是什么
RSA是一种算法。有一年,在麻省理工学院(MIT),有三位同事联手设计了一种非对称加密算法
,这三人分别是:(Ron Rivest)、(Adi Shamir)、(Leonard Adleman),RSA分别取自三人名字的首字母。
几个概念
- 公匙 ,任何人都可以下载、查看、使用的秘钥
- 私匙 ,只能自己使用,不可泄露的秘钥
- 明文 , 加密前的数据(不一定是文字,也可以是图片、视频等)
- 密文 , 加密后的数据(同上)
应用场景
数据加密 / 解密
加密过程:公匙 + 明文 = 密文
解密过程:私匙 + 密文 = 明文
数字签名
数字签名的目的不是加密(保密),而是为了防止伪造。
签名过程:私匙 + 明文 = 密文
验签过程:公匙 + 密文 = 明文
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
评论已关闭