先来了解一下XOR运算和Feistel网络
XOR运算
英文全称为exclusive OR
又称为 异或
计算机符号为“⊕”
运算法则为:
a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
Feistel网络
Feistel 密码结构是用于分组密码中的一种对称结构。
加密一次称为一轮
DES是一种比较经典的轮循环
简单了解一下DES加密算法
英文全称为Data Encryption Standard
是目前叫为主流的对称加密算法之一。
DES是对称加密算法也是分组加密算法,对称加密算法也就是说加密和解密使用的是相同的密钥,而分组加密算法也就表示算法每次处理固定长度的数据段,DES分组的大小是64bit,如果不足64bit可以按照填充表或者其他什么规则进行补位,但是如果超过64bit就需要进行拆分递归
虽然说有64bit但是可以使用的只有56bit
哎哎,你干嘛,把刀放下
嘿嘿,DES最大产生64bit的大小,每隔7bit就有一bit作为奇偶校验位
DES的安全性完全依赖于混乱和扩散,其混乱目的是隐藏密钥,明文及密文,而扩散的目的是使明文中的有效位和密钥一起组成尽可能多的密文
也就是说DES