加密/解密 公钥/私钥

简介: 加密/解密 公钥/私钥

一:加密/解密

加密:将明文转换成密文的过程

解密:将密文转换成明文的过程

二:秘钥

秘钥的实质是一个字符串,其度量单位为bit(位),按照秘钥的使用方式,加密可以分为两大类,对称加密和非对称加密,对称加密是指加密解密都用同一把秘钥,目前最流行的对称加密算法为AES加密算法,秘钥的长度为128、192或256,安全性较高,性能较好。

  • 加密分组模式:将明文分组加密,微信支付中使用AEAD_AES_256_GCM进行分组加密。

非对称加密指使用公钥加密后只能使用私钥进行解密,反过来,私钥进行加密之后也只能用公钥进行解密,其中RSA加密算法是最著名的非对称加密算法。

举个例子:假如Tom、Jerry要给朋友zhangsan发送消息,zhangsan可以将自己的公钥分发给Tom和Jerry,这样Tom和Jerry就可以用这个公钥进行加密,此时只有拥有私钥的zhangsan能对消息进行解密,保证了消息的机密性。反过来假如zhangsan用私钥进行加密,Tom及Jerry接收到消息之后用zhangsan分发的公钥进行解密,解密成功说明该消息是zhangsan发送的。

三:对称加密VS非对称加密

对称加密:

优点;运算速度快

缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息就会被破解

非对称加密:

优点:私钥严格保密,公钥任意分发,黑客获取公钥无法破解密文

缺点:运算速度很慢

四:HTTPS加密传输过程

在HTTPS传输中,既要保证传输速度也要保证传输安全性,这时候可以对服务器公钥进行非对称加密传输,服务器获取到加密的会话主秘钥之后,再用服务器私钥进行解密获取会话主密钥,然后再用对称加密进行数据传输以保证传输效率。

相关文章
|
4天前
|
存储 安全 数据库
python ras 私钥加密
【4月更文挑战第10天】
|
2天前
|
NoSQL 测试技术 Go
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
|
4天前
|
安全 数据安全/隐私保护
在非对称加密中,公钥和私钥的生成过程是如何进行的?
【5月更文挑战第13天】在非对称加密中,公钥和私钥的生成过程是如何进行的?
12 3
|
4天前
|
机器学习/深度学习 安全 算法
【现代密码学】笔记9-10.3-- 公钥(非对称加密)、混合加密理论《introduction to modern cryphtography》
【现代密码学】笔记9-10.3-- 公钥(非对称加密)、混合加密理论《introduction to modern cryphtography》
40 0
|
4天前
|
Go 数据安全/隐私保护
Go License 公钥 私钥 加密 解密
Go License 公钥 私钥 加密 解密
42 0
|
9月前
|
自然语言处理 网络协议 安全
为什么用公钥加密却不能用公钥解密?
为什么用公钥加密却不能用公钥解密?
205 0
|
C# 数据安全/隐私保护
C#使用SHA1加密类(RSAFromPkcs8)支持1024位和2048位私钥
C#使用SHA1加密类(RSAFromPkcs8)支持1024位和2048位私钥
233 0
|
PHP 数据安全/隐私保护
php 生成加密公钥加密私钥
php 生成加密公钥加密私钥
|
算法 安全 Java
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
612 0
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
|
4天前
|
算法 Java 数据安全/隐私保护
java MD5 32位加密
java MD5 32位加密
21 0