github 加密方式探索
加密方式探索
加密
本质是对明文到密文处理的一种规则。
一般是通讯一方到另一方。
对称加密
对称加密是使用同一个key完成加密;加密和解密用的是同一个密码。
槽点
- 如果key 丢失,那么基本上是加密失败
知名算法
- AES
- Blowfish
- DES
非对称加密
采用pub/pri 制,会生成一对秘钥对。pub(公钥)会在通讯上传输,而私钥会存储在本地。传输的数据通过公钥进行加密,通过私钥进行解密。
知名算法
- DSA(数字签名算法)
- ECC
- RSA(公钥加密算法)
防篡改
MAC(消息验证码)
带秘钥的HASH函数
正常来说,除了防窥视,还需要防篡改。
MAC 基于一个双方都知道的key和传递的message生成MAC。
消息发送者会带着生成的MAC 和 传递的数据 一起给到消息接收者,消息接收者在接收到之后对传递的数据做Mac与传递过来的MAC做对比。如果不一致则是被篡改。常见算法
HMAC(HASH 算法实现的 MAC)
- SHA(SHA256
- MD(MD5
分组密码算法实现的 MAC
槽点
- 任然是对称加密的问题,key别窃取怎么办
数字签名(digital signature)
仍然类似于非对称加密,要产生pri/pub 秘钥对。发送方会把公钥首先给到接收方。发送方通过私钥进行加sign,接收方接收到之后通过公钥验sign。验sign失败说明被篡改。
槽点
- 中间人攻击