分组密码
分为对称分组密码和非对称分组密码,习惯上分组密码指对称分组密码
加解密速度较快,安全性好
子密钥生成的评价指标
- 实现简单、速度快、满足轮函数F的要求
- 种子密钥的所有比特对每个子密钥比特的影响大致相同
轮函数F
- 是分组密码的核心,是分组密码中单轮加解密函数
- 准则
- 非线性:体现算法复杂度
- 可逆性:能够实现解密
- 雪崩效应:输入即使只有很小的变化,也会导致输出产生巨大变化的现象
- 指标:安全性、速度、灵活性(成本)
迭代轮数
- 过多的迭代轮数会使加解密算法的性能下降,而实现的实际安全性增强不明显
- 决定迭代轮数的准则
- 密码算法分析的难度大于简单穷举搜索攻击的难度
DES算法
是分组密码的典型代表,其迭代轮数是16次
DES密钥长度按现在的计算能力不能低于穷举工具
DES密码长度是56位,密钥空间256<1020
- 加解密过程
- 将明文分为N组,每组明文Pi为64bits,并为Pi分配56bits的密钥,如果最后一组Pi不足64bits,按一定规则添上0-63bits,加密后得到密文分组CN
- 解密即其逆过程,先根据密钥解密,再看是否需要给最后一组去掉0-63bits
AES算法
序列密码
属于对称密码体制,又称为流密码
起源于维尔姆(Vernam)密码
- P:明文分组 C:密文分组 K密钥分组
序列密码的特点
加解密只是简单的模二加(异或)运算
密码安全强度主要依赖密钥序列的安全性
加解密没有分组限制,可随时加解密
密钥序列产生器(KG)基本要求
- 种子密钥长度足够长,一般在128位以上(密钥序列生成器的算法是公开的,需要抵御穷举攻击)
- 极大周期:密钥序列周期至少大于所需使用密钥序列的长度,否则出现使用相同密钥
- 随机性密钥序列{ki}具有均匀的n-元分布
- 不可逆性:由密钥序列提取关于种子密钥K的信息在计算上不可行
- 雪崩效应
- 密钥序列是不可预测的:即使知道前半部分也不能确定后半部分
对称密码体制
- 加密密钥和解密密钥相同,或者虽然不相同,但由其中一个可以很容易推出另一个
- 又称传统密码体制、秘密密钥体制、单密钥体制
- 从密钥使用方式上分为分组密码和序列密码
非对称密码体制
- 加密密钥和解密密钥不相同,并且由其中一个可以很难推出另一个
- 又称公钥密码体制
- 用一个密钥进行加密(验证),用另一个密钥进行解密(签名),其中一个密钥可以公开,称为公钥,另一个需要秘密保存,称为私钥