TLS/SSL(二)对称加密的工作原理(一)

一    异或与填充

 密码学之对称加密  

思考: 跳出自己的'舒适区'

说明: 该'篇'文章只是'罗列'出一个'框架',细节部分需要后续'填充'

①  异或 XOR

说明: 'Alice'和'Bom'有同一把'密钥'

说明: '明文P和密钥K'作为'input 输入'

讲解: 对称加密'之所以'能够实现'同一把密钥'既能'加密又能解密'的原理

对称加密的核心: '异或'运算

机制: A ⊕ B ⊕ A  =B

②  填充  padding

填充算法

说明: 异或运算要求'密钥'和'明文'的长度必须'一致',而'密钥'通常不会太长,所以要对明文'分组'

多长: 一般根据'密钥'长度来对'明文'分组

'16 bytes'  <==>  '128 bit'

重点: 'PKCS7'

二   工作模式

分组模式

说明: TLS1.3 使用的是'GCM'的分组模式

该节: 关注'CBC'和'GCM'即可

①   ECB

特点: 密文有'很强'的数据特征,攻击者很容易'推导出'明文特征

希望: 全是'噪点'的形式

②  CBC

原理: 第一组的密文与第二组的明文先做一次异或,然后再和该组的key一起作为输入得到下组的密文

③   CTR

说明: 'CTR'模式同时解决了上面的'两个'问题,引入'计数器'

计数器目的: 为了混淆'密钥'

④   如何实现消息完整性校验

hash函数: 不管输入'多长'的字符串,得到一个'定长较短'的hash值

有了'hash'函数,可以讲'MAC'算法,可以'校验对称加密的完整性'

附加: MAC算法的底层就是'hash'算法

++++++++++++ "完整性校验  工作机制" ++++++++++++

1、 '密文 + 密匙' 作为input 使用MAC算法,生成一个'MAC值'

2、 我们把'MAC值'和要传输的'密'文一起发送给'接收方'

3、 接收方拿到'密文'后,先根据同样的'MAC'算法和同样的'key 密钥'生成了'MAC'值

4、与'发送方传输过来的'MAC值做对比,如果'相等'说明消息是完整,否则就是出现'差错'

⑤  GCM

说明: 有了'MAC'算法,才有了'GCM'的工作模式

备注: 计数器随着'分组不同'而递增

细节: Plaintext1是'分块后'的'第1块明文数据'、而Ciphertext1是'加密'后的'第1块密文'数据

⑥  答疑解惑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值