分组密码算法应满足的要求 分组长度m要足够大: 防止明文穷举攻击法奏效。 密钥量要足够大: 尽可能消除弱密钥并使所有密钥同等地好,以防止密钥穷 举攻击奏效。 由密钥确定置换的算法要足够复杂: 充分实现明文与密钥的扩散和混淆,没有简单的关系可循, 要能抗击各种已知的攻击 2021/2/20 6
2021/2/20 6 分组密码算法应满足的要求 • 分组长度n要足够大: 防止明文穷举攻击法奏效。 • 密钥量要足够大: 尽可能消除弱密钥并使所有密钥同等地好,以防止密钥穷 举攻击奏效。 • 由密钥确定置换的算法要足够复杂: 充分实现明文与密钥的扩散和混淆,没有简单的关系可循, 要能抗击各种已知的攻击
分组密码算法应满足的要求 加密和解密运算简单: 易于软件和硬件高速实现。 数据扩展: 般无数据扩展,在采用同态置换和随机化加密技术时 可引入数据扩展。 差错传播尽可能地小 2021/2/20
2021/2/20 7 分组密码算法应满足的要求 • 加密和解密运算简单: 易于软件和硬件高速实现。 • 数据扩展: 一般无数据扩展,在采用同态置换和随机化加密技术时 可引入数据扩展。 • 差错传播尽可能地小
三、DES与IDEA 萃大 2021/220 8
2021/2/20 8 二、 DES与IDEA
数据加密标准(DES) DES的历史 1971年IBM,由 Horst Feistel领导的密码研究项目 组研究出 LUCIFER算法,并应用于商业领; 1973年美国标准局征求标准,IBM提交结果; 1977年,被选为数据加密标准; 虽然DES已有替代的数据加密标准算法,但它仍 是迄今为止得到最广泛应用的一种算法,也是一 种最有代表性的分组加密体制。 2021/2/20
2021/2/20 9 数据加密标准(DES) • DES的历史 – 1971年IBM,由Horst Feistel领导的密码研究项目 组研究出LUCIFER算法,并应用于商业领域; – 1973年,美国标准局征求标准,IBM提交结果; – 1977年,被选为数据加密标准; – 虽然DES已有替代的数据加密标准算法,但它仍 是迄今为止得到最广泛应用的一种算法,也是一 种最有代表性的分组加密体制
D严密过程 将64bit明文位置进行置 换,得到一个乱序的64 bit明文组,而后平分成 输入 D左右两段,IP中各列元素位号数 相差为8,相当于将原明文各字 64bit明文数据 节按列写出,各列比特经过 奇偶采样置换后,再对各 初始置换 行进行逆序,将阵中元 该算法 素按行读出构成 置换输出 乘积变换 IP和PP在 义上 (16轮迭代) 作用不大 的作用 将16轮迭代后给出的64 逆初始置换 bit组进行置换,得到输出 的密文组。输出为阵中 64bit密文数据 的元素按行读得 的结果 输出 2021/2/20 10
2021/2/20 10 DES加密过程 • DES利用56bit长度的密 钥K来加密长度为64bit 的明文,得到长度为 64bit的密文 • 该算法分三个阶段实现 • IP和IP -1在密码意义上 作用不大,它们的作用 在于打乱原来输入x的 ASCII码字划分的关系 ,并将原来明文的校验 位x8 , x16,, x64变成为IP 输出的一个字节。 逆初始置换 乘积变换 ( 16轮迭代 ) 64bit密文数据 64bit明文数据 初始置换 输入 输出 将64bit明文位置进行置 换 得到一个乱序的64 bit明文组 而后平分成 左右两段 IP中各列元素位号数 相差为8 相当于将原明文各字 节按列写出 各列比特经过 奇偶采样置换后 再对各 行进行逆序 将阵中元 素按行读出构成 置换输出 将16轮迭代后给出的64 bit组进行置换 得到输出 的密文组 输出为阵中 的元素按行读得 的结果