当前版本为 20191203,距离CISSP考试还有 4 周;
加密算法
对称密钥算法
- 不能进行安全分发和拓展性,运行效率高于非对称密钥;
- 只提供机密性;
- 主流加密算法:分组加密和流加密;
- 分组加密:将明文序列分成若干分组,逐一进行加密处理;
- 流加密:一次加密一位的方式直到完成整个明文序列;
- 两种基本加密机制:替换和置换;
- 替换:使用不同字符替代原文中字符,达到模糊读取明文的方式加密,也可以叫做翻译;
- 置换:将原来字符的二进制位根据一定的规则进行改写,使不知道算法的读取无法继续进行;
DES 数据加密标准
- 基于Lucifer算法开发;
- 64位分组密码应用S盒函数,共具有5种模式:ECB、CBC、CFB、OFB、CTR;
- 每次仅能处理64位明文,并生成64位密文分组,16轮的置换位运算;
- 使用56位密钥和8位校验位;
- 达到安全性需要进行三次DES运算,48轮运算,最多使用三个加密密钥;
DES 操作模式
- ECB 电子代码本:相同明文与特定密钥组,始终形成相同明文,仅用于交换少量数据;
- CBC 密码分组:IV+明文 >> 密文 + 明文 >>密文2,以此类推,IV始终以明文方式放置于密文前,基于之前密文加密方式;
- CFB 密码反馈:基于缓存大小分组的CBC流密码加密模式,流密码;
- OFB 输出反馈:适合大量数据,流密码,基于CFB加密模式,IV + DES >> NewIV +明文 >> 密文 ;
- CTR 计数模式:基于OFB加密模式,流密码,IV + 明文 >> 密文 IV+1 >> NewIV +明文 >>密文;
高级标准加密标准[AES]
- 早期支持 128位的分组{128位, 10轮加密、192位,12轮加密、256位,14轮加密};
- 支持三种密钥强度128 位、192 位和256 位;
- 基于Rijndael 也是128位分组密钥;
TwoFish
- 基于分组密码,并可以处理128位的数据分组;
- 预先白噪:明文与子密钥进行预先异或处理后进行第一轮白噪;
- 后向白噪:第16轮加密进行相似的操作;
EI Gamal
- 数字签名、加密与密钥交换的公钥算法;
- 离散对数的方式来获取加密后的密文结果;
- 算法的加密结果变为原明文的2倍;
- 基于Diffle-Hellman的拓展算法;
BlowFish
- 一个对称加密块算法,由Bruce Schneider于1993年设计,知名度高于AES算法,用于替代DES算法而出生;
- Blowfish 主要包括关键的几个S盒和一个复杂的核心变换函数;
- Blowfish 使用密钥范围=[32,448] bits;
非对称加密
- 提供 数据加密、不可抵赖、访问控制
Merkle–Hellman knapsack
- 非对称密钥密码系统,这意味着通信需要两个密钥:一个公共密钥和一个私有密钥;
- 背包算法;
- 单向解密方式,公钥加密,私钥解密;
- 算法依赖因式分解超增序列困难性