Outline
–经典加密–
1. Caesar Code
old letter + 3 = new letter
🔗 : 凯撒密码
2. Vigenėre Cipher
铭文 & key -> 密文
( N * N)表格,类似二维坐标系寻找对应坐标。
🔗 : Vigenère密码
3. Playfair Square
1)将词填入5*5格中,I/J视为同一字
2)两两划分,矩形法求编码
- 常规,矩形的另外两个对角
- 同行,右移一位
- 同列,下移一位
🔗 : 波雷费密码
4. 一次性密钥
优点:随机、无法破解、stream cipher、 与明文无关系
缺点:key传输与保护、容易出错、消息传输
基本原理:
5. Diffie-Hellman
是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
简而言之,是一个生成密钥的过程。
🔗 : 迪菲-赫尔曼密钥交换
其中A和B的沟通中计算出来的Key,就类似信道。如果存在等量关系Key A = Key B,则可以说明A就是和B在通信。
Man-in-the-middle (中间人攻击)
出现了一个在A和B之间的C截获了数据,并将自己的公钥伪装成A/B的,让二人误以为在跟对方通信。
在这个场景中,上述说的Key A = Key B的等价关系就不存在了。相反,A和C、C和B分别建立起来了两个等价关系。
🔗 : 中间人攻击
6. RSA
1)产生public和private key。
2)加密消息
消息转为Unicode编码,拼成一串长数字,按照划分(用接收者的公钥)加密。
3)解密消息
接收者用自己的密钥解密。
7. LRC
🔗 : 纵向冗余检查
8. DES
Data Encryption Standard。是基于拆分,substitution再合并的过程。
代表性步骤参考S-Box
6位:011010
分割成:【首尾】00,【剩余】1101
转为十进制【13,0】在表格中找 = 9
转为二进制 1001
🔗 : DES
9. AES
block cipher : 以block为单位执行。
AddRoundKey 回合密钥运算
矩阵中的每一个字节都与该次回合密钥(round key)做XOR运算, 产生很多子密钥。
Substitute Bytes 查找表替换字节
透过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。
ShiftRows 循环移位
将矩阵中的每个横列进行循环式移位。
MixColumns 充分混合
为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每内联的四个字节。
🔗 : AES
10. 改进操作
🔗 : 分组密码工作模式
ECB
E