000DES算法概述
DES Data Encryption Standard数据加密标准✅ 属于对称加密私钥密码加密、解密用同一把密钥。✅ 分组密码把明文切成64bit 一组一组一组加密。1. 密钥高频考题写的是64 位密钥其中8 位是奇偶校验位每 8 个 bit 里拿 1 个做校验真正干活有效密钥只有56 位考点DES 有效密钥长度 56bit总密钥写 64bit校验占 8bit。2. 一轮加密里面核心部件必考DES 每一轮加密分成两件独立的工作加工【明文数据】F 函数加工【密钥】PC1、PC2生成每一轮的子密钥DES 每一轮加密里面都有一个F 函数轮函数F 函数内部一共 3 个操作扩展置换 EExpansion把 32 位数据拉长变成 48 位SSubstitution盒代换48 位分组查表替换打乱数字置换 PPermutation运算重新打乱顺序输出 32 位PC1Permutation Choice 1 置换选择 1PC2Permutation Choice 2 置换选择 2翻译置换选择 1、置换选择 2 PC1、PC2 只处理原始密钥用来生成每一轮的子密钥不处理明文不在 F 函数里面扩展置换 E、S 盒、P 置换都属于 F 函数里面的操作整体一共16 轮迭代。明文分组 64bit经过 16 轮替换 置换输出 64bit 密文。3. 优缺点优点速度快适合大批量加密缺点密钥只有 56 位现在已经不安全被 AES 替代。 衍生3DES三重 DES用 3 次 DES密钥更长提升安全性。已知DES算法S盒如下如果该S盒输入110011则其二进制输出为 。DES 的 S 盒输入固定6 位二进制b₁ b₂ b₃ b₄ b₅ b₆规则第 1 位和第 6 位 → 拼成 2 位二进制 行号中间 4 位b₂b₃b₄b₅ → 拼成 4 位二进制 列号输入1 1 0 0 1 1b₁1b₆1 → 行11二进制 11 十进制3 行中间 4 位b₂b₃b₄b₅ 1001二进制 1001 十进制9 列看表格行 34, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13从 0 开始数第 9 列14把 14 转为 4 位二进制14 1110✅ 答案1110