【6】分组密码 block cipher

分组密码概述

分组密码(block cipher)的数学模型是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。

  • 分组密码(block cipher)是许多系统安全的一个重要组成部分。可用于构造:

• 伪随机数生成器(Pseudo random number generator)
• 流密码(Stream cipher)
• 消息认证码(MAC)和杂凑函数(hash)
• 消息认证技术、数据完整性机制、实体认证协议以及单钥数字签字体制的核心组成部分。

  • 应用中对于分组码的要求

• 安全性
• 运行速度
• 存储量(程序的长度、数据分组长度、高速缓存大小) • 实现平台(硬、软件、芯片)
• 运行模式(Operation mode)

  • 分组密码概述

这里是引用
• 通常取n=m。
• 若n<m ,则为有数据扩展的分组密码。
• 若n>m ,则为有数据压缩的分组密码。

分组密码的设计原则

  • 分组密码设计问题

分组密码的设计问题在于找到一种算法,能在密钥控制下从一个足够大且足够好的置换子集中,简单而迅速地选出一个置换,用来对当前输入的明文的数字组进行加密变换。

  • 安全性设计原则

1.混淆原则 confusion
混淆原则:将密文、明文、密钥三者之间的统计关系和代数关系变得尽可能复杂,使得敌手即使获得了密文和明文,也无法求出密钥的任何信息,即使获得了明文和密文的统计规律,也无法求出明文的新的信息。
可以进一步理解为:
(1)明文不能由已知的明文、密文以及少许密钥比特代数地或统计地表示出来。
(2)密钥不能由已知的明文、密文以及少许密钥比特代数地或统计地表示出来。
2.扩散原则 diffusion
扩散原则:将明文的统计规律和结构规律散射到相当长的一段统计中去
也就是,让明文中的每一位影响密文中尽可能多的位,或者说,让密文中的每一位都受到明文中尽可能多的位的影响。
如果,当明文变化一个比特时,密文有某些比特不可能发生变化,则这个明文就与那些密文无关,因而在攻击这个明文比特时就可不利用那些密文比特。

  • 分组密码算法应满足的要求

• 分组长度n要足够大
  防止明文穷举攻击法奏效。
• 密钥量要足够大
  尽可能消除弱密钥并使所有密钥同等的好,以防密钥穷举攻击。
• 由密钥确定置换的算法要足够复杂:
  充分实现明文与密钥的扩散和混淆,没有简单的关系可循,要能抗击各种已知的攻击。
• 加密和解密运算简单:
  易于软件和硬件高速实现。
• 数据扩展:
  一般无数据扩展,在采用同态置换和随机化加密技术时可引入数据扩展。
• 差错传播尽可能地小。
  一个密文分组的错误尽可能少的影响其他密文分组的解密
• 软件实现的原则:
  • 使用子块和简单的运算。如将分组n化分为子段,每段长为8、16或32。 在以软件实现时,应选用简单的运算,使作用于子段上的密码运算易于 以标准处理器的基本运算,如加、乘、移位等实现,避免用以软件难于 实现的逐比特置换。
• 硬件实现的原则:
  • 加密解密可用同样的器件来实现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值