分组密码算法基本概念
人类使用密码已有千年历史;周朝兵书《六韬》中就记载了当时的军用密码。此外;替换密码“凯撒密码“是历史上比较出名的算法;14世纪被欧洲神父意外破解。加密是通过对数据进行特定变换,某种意义上密码其实可以看成是语言;语言具有冗余性,密码是没有绝对安全的密码;在计算机出现之前加密的方式主要是替换法和移位法。
口令和密码的定义;密码是一种用来混淆的技术,它希望将正常(可识别的)信息转变为无法识别的信息。密码在中文中“口令“(PASSWORD)的通称;
分组密码是将明文数字序列进行固定长度分组,并用一个密钥和同一个加密算法组逐组加密,从而将明文分组变化成密文分组的密码。
分组密码算法的设计原理
怎么设计一个分组密码?
最直接的想法是一步到位,将加密算法用一个四则运算、指数函数、开方等初等函数显示地写出来但实现困难。
分组密码一般都被设计成迭代型
迭代型分组密码利用一些简单地密码变换:
P置换(改变原文的移位变幻方法)
S置换(通过替换每次变幻的方法)
N置换(通过加减每次变幻的方法)
S-P-N
保证置换的轮数实现变幻复杂度
目的
设计出一个圈函数F,并通过将它多次迭代的方法,产生一个:
1)保密强度高;
2)实现性能好;
的分组密码算法
分组密码算法的设计目标
找到一种算法,在密钥控制下从一个足够大且足够好的置换子集合中,简单而迅速的选出一个置换,对明文进行加密。
安全性原则
Shannon CE. Communication Theory Of Secrecy Systeam
混乱和扩散
商用SM4算法概述
前述《中华人民共和国密码法》
第六条:国家对密码实习分类管理;密码分为核心密码、普通密码和商用密码
第七条:…
商用密码算法是我国自主设计的算法,并由国家密码管理局所承认。
SM序列算法分别实现了对称、非对称、摘要等算法。
SM4算法2006年由国家密码管理局首次公开发布;2012年成为行业标准,16年成为国家标准,17年立项,21年6月成为国际标准(由ISO正式发布)
SM算法定义
SM4算法优势
密钥扩展过程和加密过程类似,设计上实现资源重用
…
SM4算法加密算法流程
…
工作模式概述
1、电码本(ECB模式)
ECB模式是将明文的各个分组独立地使用同一密钥K加密。
优点:
1)实现简单
2)不同明文分组地加密可并向实施,硬件实现块
缺点:
本质上是单表代替密码
典型应用:
随机数加密
2、密码分组链接(CBC)模式
CBC模式下,加密算法地输入是当前明文组与前一密文组的异或。
IV:
IV的作用主要用在每次变幻时可以使用不同的IV改变变幻结果(IV是规则的一部分)
典型应用:
身份验证和完整性校验、数据加密;
3、密码反馈(CFB)模式
优点
1)适用于每次处理J比特明文块特定需求的加密情形;
2)具有有限步(L+1步)的错误传播,可用于认证;
3)可实现自同步;
缺点
1)加密效率低
2)错误传播距离大
4、输出反馈(CFB)模式
优点
1)这是将分组密码当作序列密码使用的一种方式,明文和密文无关
2)不具有传播错误特性
缺点
1)不能实现完整性
2)…
总评: