Modern Cryptography - Modern Symmetric-key Encryption
Block cipher vs Stream cipher
有什么区别呢?
Block cipher→ 将消息分组成块,然后一次加密一个块。
Stream cipher→ 一次加密一个比特或一个字节。
Block cipher
重要概念:Confusion 和 Diffusion
What’s the meaning of Confusion & Diffusion?
Confusion: 混淆, 模糊密文与明文之间的联系;
Diffusion: 离散, 通过密文来模糊明文的数据结构.
Which operation for the purpose of the Confusion ? And Which operation for the purpose of the Diffusion?
Permutation, transposition, Mixing operation for Diffusion.
Substitution, S-box for the Confusion.
The avalanche effect→ Diffusion.
Iterative cipher
All the blocks go many rounds.
雪崩效应
什么是雪崩效应呢?
修改密钥或原文中的一个比特,那么密文将“完全”不同。
简而言之,你输入的原文或者Key其中一位的0变成了1,那么经过加密后的密文会因为这一位的变化,出现好几位的变化,这就叫雪崩效应。在理论上雪崩效应越好的加密效果越好,越安全。
DES
一共有16个round,每一个round怎么操作的呢?
Feistel structure (DES)
以密文和相应的密钥作为输入,对密文进行解密。
DES的解密和加密过程结构相同,区别在round Key的顺序是倒过来的,如果在加密时round 1-16 使用的round Key是K1-K16的话,那么解密过程使用的round Key将会边长是K16-K1。
具体DES的操作过程我会在另一篇文章中详解。同时还有一个我模仿DES结构制作的程序可以加深理解。
DES详解
https://blog.youkuaiyun.com/Jifu_M/article/details/112184207
基于DES结构ECB模式的加密算法设计
https://blog.youkuaiyun.com/Jifu_M/article/details/112187588
Advanced Encryption Standard (AES)
不同于DES的Feistel,AES使用Rijndael Round Function。
ijndael is composed