密码学3分组密码和数据加密标准

4.分组密码和数据加密标准

  • 流密码与分组密码之间的差异:每次加密的明文大小不同。
  • 介绍Feistel密码:一种结构化对称密码算法,通过将明文分成两部分,交替应用多轮相同的函数F不同的子密钥K进行加解密。
  • 说明为什么Feistel解密是加密的逆过程:加解密算法主体相同,只是密钥的使用顺序和轮密钥不同。
  • 介绍DES:
    1. 初始置换
    2. 轮函数操作
    3. 子密钥生成算法
    4. 逆初始置换
  • 雪崩效应:明文或密钥 的某位发生变化会导致密文的很多位发生变化。
  • DES的密码学强度:
    不足以抵抗现代密码学攻击(差分攻击、线性攻击、暴力穷举攻击),由于长度仅56位,易在可接受的时间内被暴力破解
  • 主要的分组密码设计原理
    1. 迭代轮数选择:
      使密码分析难于穷举的难度。
    2. 函数F的设计:
      1. 注入混淆成分。
      2. 较好的雪崩效应。
    3. 密钥使用算法:
      加大推导子密钥以及密钥种子的难度。

4.1 流密码与分组密码

流密码:每次加密数据流的一位或一字节。(DES、AES、IDEA、RC6…)

分组密码:加密一个明文分组,通常得到与明文等长的密文分组。(RC4、A5、SEAL…)

4.2 Feistel密码

1、设计动机解决对称加密算法中的密钥管理问题。(轮密钥依据算法生成)


2、概念:

  • 混淆:尽可能使密文和加密密钥间的统计关系变得复杂。
  • 扩散:使明文的统计特征消散在密文中。

3、密码结构流程

  1. 将明文分为左右等长两部分
    1. 左半部分:用上一轮右半部分代替
    2. 右半部分:输入轮函数F
  2. 将左右部分处理后进行异或运算后得出下一步的右半部分
  3. 将上一步的右半部分作为下一步的左半部分
  4. 重复上述步骤。

注意:

  • 加解密过程轮函数F不变。
  • 一个过程中每轮的子密钥不同

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


4.密码设计要素

  • 分组大小 :分组长,安全性高。(正相关
  • 密钥长度 :密钥长,安全性高,加解密速度慢。
  • 迭代轮数 :轮数多,安全性高。(经典轮数16轮)
  • 子密钥生成算法 :越复杂,越安全。
  • 轮函数F :越复杂,越安全。(分部分—>不要求可逆)

5.其他考虑要素

  • 快速软件加解密
  • 简化分析难度

4.3 DES(数据加密标准)介绍

1.什么是DES:最广泛使用的数据加密方案


2.DES介绍

  1. 子密钥生成算法

    1. 置换选择1:将64bit变成56bit。
    2. 分组:分为各28位的C和D部分。
    3. 循环左移:对C和D分别循环左移。
    4. 合并:将C和D合并。
    5. 置换选择2:将56bit变成48bit
  2. 初始置换:将64位明文比特位重新排列,提高DES算法的安全性。(不改变内容,仅改变位置)

  3. 轮函数操作(F操作):(基于Feistel结构

    1. 先将输入的64bit分为左右两半部分,每个部分32bit,下面只对右半部分进行DES操作。
      1. 扩展运算E:根据固定表格E进行扩展(32bit -> 48bit)
      2. 轮密钥加:与子密钥进行异或操作(48bit -> 48bit)
      3. S盒代换:输入数据分为8个子块,每个6位子块经过S盒后变为4位子块。
        (8x6 bit -> 8x4 bit)(唯一不可逆的操作)
      4. 置换运算P:按照固定的置换表P重新排列。(32bit -> 32bit)
    2. 与上一轮的左半部分进行异或运算(32bit -> 32bit),得到这一轮的右半部分。
    3. 这一轮的左半部分等于上一轮的左半部分(32bit)。这一轮的右半部分(32bit)通过上面的操作已经得到了。

  4. 逆初始置换:通过1中的逆矩阵将密文排到和明文顺序一样。

(32bit)通过上面的操作已经得到了。

  1. 逆初始置换:通过1中的逆矩阵将密文排到和明文顺序一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值