1.密码发展阶段
古典密码
现代密码学
量子密码
2.古典密码
代替密码、移位密码、代数密码(比如异或运算)
单表代替密码(凯撒密码)
多表代替密码(维几利亚密码)
3.现代密码学
以香农信息论的产生作为标志,密码术进一步演化为密码学,20世纪70年代公钥密码体制的设计思想被提出。
3.1 现代密码学研究分支
密码编码学
密码译码学
密钥管理
3.2 密码体制的组成
明文空间、密文空间、加密密钥空间、解密密钥空间、加密变换、解密变换
3.3 密码算法分类
对称密码算法
分组密码算法(DES、AES、SM4)
序列密码算法(RC4、ZUC)
非对称密码算法
RSA、Elgamal、ECC、SM2
杂凑算法
MD系列、SHA系列、SM3
4 密码设计思想
算法的安全性取决于密钥的安全,应假定敌手拥有除了密钥之外的所有资源,“一切秘密蕴藏于密钥之中”,商密设计应严格遵循,将算法实现公开,只保证密钥的安全性。
“一次一密”:每处理一次明文数据,密钥数据进行一次更换,使得敌手无法通过某种规律进行破译。例如单表代替密码中,明文规律会反映在密文之中,敌手可以通过分析字母频率,猜出明文。
分组密码设计中,遵循“混淆”、“扩散”、“迭代”的原则
混淆:使密文与明文、密文与密钥之间的逻辑关系,尽可能的复杂。只改变数据内容,但是不改变数据位置。分组密码中的S盒起到混淆作用,是唯一的非线性变换,是分组密码设计的关键。(对照古典密码中的代替密码)
扩散:当明文或者密钥数据中的一位数据发生改变时,尽可能将这种变化影响更多的位。分组密码中的线性变换,起到扩散作用,只改变数据位置,不改变数据内容。(对照古典密码中的移位密码)
迭代:通过反复的进行混淆和扩散,使得有规律的明文变成无法识别的密文。迭代的轮数,取决于密钥长度。
网友评论