分组密码的设计准则
- 格式:ppt
- 大小:241.00 KB
- 文档页数:10
《应用密码学》习题和思考题答案第5章 对称密码体制5-1 画出分组密码算法的原理框图,并解释其基本工作原理。
答:图5-1 分组密码原理框图1210-t 1210-t )分组密码处理的单位是一组明文,即将明文消息编码后的数字序列im m m m ,,,,210 划分成长为L 位的组()0121,,,,L m m m m m -=,各个长为L 的分组分别在密钥()0121,,,,t k k k k k -= (密钥长为t )的控制下变换成与明文组等长的一组密文输出数字序列()0121,,,,L c c c c c -= 。
L 通常为64或128。
解密过程是加密的逆过程。
5-2 为了保证分组密码算法的安全强度,对分组密码算法的要求有哪些? 答:(1)分组长度足够大;(2)密钥量足够大;(3)密码变换足够复杂。
5-3 什么是SP 网络?答:SP 网络就是由多重S 变换和P 变换组合成的变换网络,即迭代密码,它是乘积密码的一种,由Shannon 提出。
其基本操作是S 变换(代替)和P 变换(换位),前者称为S 盒,后者被称为P 盒。
S 盒的作用是起到混乱作用,P 盒的作用是起到扩散的作用。
5-4 什么是雪崩效应?答:雪崩效应是指输入(明文或密钥)即使只有很小的变化,也会导致输出发生巨大变化的现象。
即明文的一个比特的变化应该引起密文许多比特的改变。
5-5 什么是Feistel 密码结构?Feistel 密码结构的实现依赖的主要参数有哪些? 答:1K nK i密文明文图5-6 Feistel密码结构Feistel 密码结构如图5-6所示。
加密算法的输入是长为2w 位的明文和密钥K ,明文被均分为长度为w 位的0L 和0R 两部分。
这两部分经过n 轮迭代后交换位置组合在一起成为密文。
其运算逻辑关系为:1(1,2,,)i i L R i n -==11(,)(1,2,,)i i i i R L F R K i n --=⊕=每轮迭代都有相同的结构。
密码学基础知识(四)分组密码⾸先再说说密码体制那点事,密码体制按密钥分为两派,对称和公钥,不过也可以分为分组密码和流密码(序列密码)。
刚才看了⼀眼,发现忘把图⽚传上来了,下次有功夫的。
说句废话,分组密码主要采⽤混淆原则和扩散原则来抵抗攻击者对该密码体制的统计分析。
那分组密码是什么东西呢?通俗讲就是将明⽂分块,然后分块加密。
分组密码设计的准则:①分组长度分组长度越长意味着安全性越⾼,但是会影响加密解密的速度。
1977年之后,由于计算速度和分析技术的提⾼,建议使⽤分组长度128位。
②密钥长度密钥越长同样意味着安全性越⾼,但会影响加密和解密的速度。
现在⼀般认为64位的密钥是不安全的,通常使⽤的密钥长度为128位。
③轮函数F轮函数F通常之迭代分组密码中单轮加密解密算法的实现部分,是分组密码结构的核⼼,由其实现数据的混乱和扩散。
在设计中,轮函数要遵循雪崩效应准则和位独⽴准则。
评价轮函数实际质量的指标有安全性,速度和灵活性。
④迭代的轮数迭代分组密码的本质是单轮不能提供⾜够的安全性⽽多伦迭代增强其安全性。
⼀般⽽⾔,迭代轮数越多,密码分析越困难,但过多的迭代会使输⼊和输出的关系复杂化,影响加解密速度,⽽安全性增强不明显,⼀般⽽⾔,决定迭代轮数的准则是:是密码分析的难度⼤于简单穷举攻击的难度。
⑤⼦密钥的⽣成⽅法理论设计⽬标是⼦密钥的统计独⽴性和密钥更换的有效性。
包括:实现简单,便于硬件实现,⼦密钥的⽣成不影响迭代轮函数的执⾏;不存在简单关系;种⼦密钥的所有⽐特对每个⼦密钥⽐特影响⼤致相同;没有弱密钥或弱密钥容易避开;保证密钥和密⽂符合位独⽴准则和雪崩效应。
分组密码的设计应满⾜的要求:①分组要⾜够长。
假设n为分组长度,则要使分组代换字母表中的元素个数2n⾜够⼤,以防⽌明⽂穷举攻击。
②密钥长度要⾜够长,以防⽌密钥穷举攻击。
但密钥⼜不能过长,这不利于密钥的管理且影响加解密的速度。
③由密钥确定的置换算法要⾜够复杂,⾜以抵抗各种已知的攻击,如查分攻击和线性攻击等,使攻击者除了利⽤穷举攻击外,⽆其他更好的攻击⽅法。
des分组密码的设计原则
1. 不可逆性:des分组密码的设计原则之一是不可逆性,即对
于同一个输入,无法通过任何手段将其还原为原始输入。
这确保了DES密码的安全性,因为攻击者无法通过暴力破解或其
他方法从加密后的密文中获取原始信息。
2. 随机性:DES分组密码的设计还需要考虑随机性,即使用
随机的密钥和初始化向量(IV)来加密每个分组。
随机性可
以增加密码系统的强度,降低攻击者通过分析加密算法的可能性。
3. 扩散性:DES分组密码的设计需要具备扩散性,即一个小
的输入变化应该使输出发生大的变化。
这可以通过将输入分组与之前的输出分组进行混合和置换来实现。
扩散性可以防止攻击者通过观察不同输入的密文之间的相似性来进行分析和破解。
4. 防御已知攻击:DES分组密码的设计应该能够抵御已知的
攻击方法,如差分攻击、线性密码分析等。
这需要在设计中考虑到这些攻击方法,并采取相应的防御措施,例如增加迭代次数、增加密钥长度等。
5. 可扩展性:DES分组密码的设计应该具备可扩展性,即可
以根据需要进行密钥长度的扩展,以适应不同安全要求的应用场景。
这可以通过增加密钥长度、增加迭代次数等方式来实现。
6. 效率和可用性:DES分组密码的设计应该考虑到其计算和
存储的效率,以及应用中的可用性。
设计应该尽量减少计算和
存储的复杂度,以提高性能和用户体验。
总体来说,DES分组密码的设计原则是在保证安全性的前提下,尽量提高计算和存储效率,并抵御已知攻击方法。
分组密码的设计就是找到⼀种算法,能在密钥的控控制下从⼀个⾜够⼤且⾜够好的置换⼦集中简单⽽迅速的选出⼀个置换,⽤来对当前输⼊的明⽂进⾏加密交换。
⼀般地,分组密码的设计准则包括安全性准则和实现性准则两种。
前者主要研究如何设计安全算法,分组长度和密钥长度,后者主要讨论如何提⾼算法的执⾏速度。
1 安全性原则 关于实⽤密码的两个⼀般的设计原则是Shannon提出混乱原则和扩散原则。
1.混乱原则:⼈们所设计的密码应使得密钥和明⽂以及密⽂之间的信赖关系相当复杂以⾄于这种信赖性对密码分析者来说是⽆法利⽤。
2.扩散原则:⼈们所设计密码应使得密钥的每⼀位数字影响密⽂的多位数字以防⽌对密钥进⾏逐段破译,⽽且明⽂的每⼀位数字也影响密⽂的多位数字以便隐藏明⽂数字的统计性性。
影响现代分组密码安全性的因素很多,主要取决于密码算法、分组长度和密钥长度,相应的安全性设计准则也包括三类: 2.密码算法的设计准则 1) 算法可以公开:密码体制的安全性应当仅依赖于对密钥的保密,⽽不应基于对算法的保密,这既是数据加密算法标准化所必需要求的,同时也是络保密通信赖以⽣存的基础。
2) 混乱原则:密码算法应当保证密钥,明⽂和密⽂的依赖关系相当复杂,以⾄于这种依赖性对密码分析者来说使⽆法利⽤的。
3) 扩散原则:⼈们所设计的密码应使得密钥的每⼀位数字影响密⽂的许多位数字,以便隐藏明⽂数字的统计特性。
4) 能抵抗差分分析和线性分析:为使密码算法能抵抗差分分析,通常选取具有“本原转移概率矩阵”的markov 型密码,通过对⼀个“弱”密钥函数进⾏多次迭代,⽽得到⼀个“强密码”,为使密码算法抵抗线性分析,通常要求算法中包含⾼度⾮线性密码函数。
5) 没有弱密钥:当弱密钥或半弱密钥的个数较少时,它们对体制本⾝的安全性影响不在,在算法设计中稍作处理就可避免,⽽且随即选取⼀个密钥是弱密钥的概率随密钥空间的增⼤⽽趋于0。
3.密钥长度的设计准则 为使密码算法能抵抗对密钥强⼒攻击,必须保证密钥长度尽可能⼤,⽐如, 在近⼏年来新出现的各种算法,密钥长度都已经要求⾄少128bits。