信息安全导论(4-2 密码基础-对称密码)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1密码基础-对称密码信息安全导论(模块4-密码基础)2现代密码学密码体制的分类:对称、非对称分组、序列3分组密码的设计原则混乱:所设计的密码应使得密钥、明文以及密文之间的依赖关系相当复杂,以至于这种依赖性对密码分析者来说是无法利用的扩散:所设计的密码应使得密钥的每一位数字影响密文的许多位数字,以防止对密钥进行逐段破译,而且明文的每一位数字也应影响密文的许多位数字,以便隐蔽明文数字统计特性4典型的分组密码算法—DESDES的历史1971年,IBM,由HorstFeistel领导的密码研究项目组研究出LUCIFER算法,并应用于商业领域1973年美国标准局征求标准,IBM提交结果,之后被选为数据加密标准5分组密码的例子——DESDES是1975年被美国联邦政府确定为非敏感信息的加密标准,它利用64比特长度的密钥K来加密长度为64比特的明文,得到64比特长的密文1997年,由于计算机技术迅速发展,DES的密钥长度已经太短,NIST建议停止使用DES算法作为标准.目前,二重DES和三重DES仍然广泛使用56DES算法的整体结构——Feistel结构DES算法的轮函数DES算法的密钥编排算法DES的解密变换7DES算法的整体结构——Feistel结构7K1……K168DES算法的整体结构——Feistel结构1.给定明文,通过一个固定的初始置换IP来重排输入明文块P中的比特,得到比特串P0=IP(P)=L0R0,这里L0和R0分别是P0的前32比特和后32比特8IP58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157初始置换IP9DES算法的整体结构——Feistel结构2.按下述规则进行16次迭代,即1≤i≤16这里是对应比特的模2加,f是一个函数(称为轮函数);16个长度为48比特的子密钥Ki(1≤i≤16)是由密钥k经密钥编排函数计算出来的.ii-1ii-11LRRL(,)iifRKLi-1Ri-1f+LiRiki第16轮迭代左右两块不交换10DES算法的整体结构——Feistel结构10IP-140848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725初始置换的逆置换IP3.对比特串R16L16使用逆置换IP-1得到密文C,即C=IP-1(R16L16)。11分组密码的轮函数函数f以长度为32比特串Ri-1作为第一输入,以长度为48比特串Ki作为第二个输入,产生长度为32比特的输出:1112分组密码的轮函数Ri-1KiE(Ri-1)B1B2B3B4B5B6B7B8S1S2S3S4S5S6S7S8C1C2C3C4C5C6C7C8f(Ri-1,Ki)+PEE扩展S盒代换P置换32323246484848密钥加13分组密码的轮函数E扩展:Ri-1根据扩展规则扩展为48比特长度的串;E:比特——选择表321234545678989101112131213141516171617181920212021222324252425262728292829303132114E扩展(32bit扩展到48bit)1234567812345679884599132323215分组密码的轮函数密钥加:计算,并将结果写成8个比特串,每个6比特,B=B1B2B3B4B5B6B7B8.1()iiERK16分组密码的轮函数S盒代换:6入4出,查表8个S盒S1……S8.每个S盒是一个固定的4*16阶矩阵,其元素取0~15之间的整数.输入6比特b1b2b3b4b5b6,输出如下1)b1b6两个比特确定了S盒的行2)b2b3b4b5四个比特确定了S盒的列3)行、列确定的值即为输出161717S11441312151183106125907015741521311061211953841148136211151297310501512824917511314100613S21518146113497213120510313471528141201106911501471110413158126932151381013154211671205149S31009146315511312711428137093461028514121115113649815301112125101471101306987415143115212S47131430691012851112415128115615034721211014910690121171315131452843150610113894511127214S52124171011685315130149141121247131501510398642111101378159125630141181271142136150910453S61211015926801334147511101542712956113140113891415528123704101131164321295151011141760813S74112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S813284615111109314501271151381037412561101492711419121420610131535821147410813151290356111818S11441312151183106125907015741521311061211953841148136211151297310501512824917511314100613例如:输入101100,行”10“=2,列”0110“=6输出2,即0010例如:输入111001,行”11“=3,列”1100“=12输出10,即101019分组密码的轮函数19P置换1672021291228171152326518311028241432273919133062211425P置换:长度为32比特串C=C1C2C3C4C5C6C7C8,根据固定置换P(*)进行置换,得到比特串P(C).20DES算法的密钥编排算法根据密钥K来获得每轮中所使用的子密钥Ki20KPC-1C0D0C1D1C16D16LS1LS1LS2LS16LS2LS16……PC-2PC-2K1K16……642828564821DES算法的密钥编排算法1.给定64比特密钥K,根据固定的置换PC-1来处理K得到C0D0,其中C0和D0分别由最前和最后28比特组成PC-15749413325179158504234261810259514335271911360524436635547393123157625446383022146615345372921135282012422DES算法的密钥编排算法2.计算Ci=LSi(Ci-1)和Di=LSi(Di-1),且Ki=PC-2(CiDi),LSi表示循环左移两个或一个位置,具体地,如果i=1,2,9,16就移一个位置,否则就移两个位置PC-2是另一个固定的置换.23DES算法的密钥编排算法PC-2141711241532815621102319124268167272013241523137475530405145334844493956345346425036293224DES的解密变换DES的解密与加密一样使用相同的算法,它以密文y作为输入,但以相反的顺序使用密钥编排K16,K15,…,K1,输出的是明文x25DES加密的例子设16进制明文X为:0123456789ABCDEF密钥K为:133457799BBCDFF1去掉奇偶校验位后,以二进制表示的K加密后的密文为:26DES的核心是S盒,除此之外的计算是线性的S盒作为该密码体制的非线性组件对安全性至关重要。S盒的设计准则:S盒不是它输入变量的线性函数改变S盒的一个输入位至少要引起两位的输出改变对任何一个S盒,如果固定一个输入比特,其它输入变化时,输出数字中0和1的总数近于相等。27分组密码的分析方法如果密码分析者能够确定正在使用的密钥,则他就可以像合法用户一样阅读所有消息,则称该密码是完全可破译的如果密码分析者仅能从所窃获的密文恢复明文,却不能发现密钥,则称该密码是部分可破译的28DES的破解DES的实际密钥长度为56-bit,就目前计算机的计算能力而言,DES不能抵抗对密钥的穷举搜索攻击。1997年1月28日,RSA数据安全公司在RSA安全年会上悬赏10000美金破解DES,克罗拉多州的程序员Verser在Inrernet上数万名志愿者的协作下用96天的时间找到了密钥长度为40-bit和48-bit的DES密钥。1998年7月电子边境基金会(EFF)使用一台价值25万美元的计算机在56小时之内破译了56-bit的DES。1999年1月电子边境基金会(EFF)通过互联网上的10万台计算机合作,仅用22小时15分就破解了56-bit的DES。不过这些破译的前提是,破译者能识别出破译的结果确实是明文,也即破译的结果必须容易辩认。如果明文加密之前经过压缩等处理,辩认工作就比较困难。29DES算法的公开性与脆弱性DES的两个主要弱点:密钥容量:56位不太可能提供足够的安全性S盒:可能隐含有陷井(Hiddentrapdoors)DES的半公开性:S盒的设计原理至今未公布30DES小结充分混乱:密钥、明文以及密文之间的依赖关系相当复杂充分扩散:密钥的每一位数字影响密文的许多位数字,明文的每一位数字也应影响密文的许多位数字31密码分析的几种情况根据攻击者掌握的信息,密码分析分为仅知密文攻击:攻击者除了所截获的密文外,没有其他可以利用的信息已知明文攻击:攻击者仅知道当前密钥下的一些明密文对选择明文攻击:攻击者能获得当前密钥下的一些特定的明文所对应的密文选择密文攻击:攻击者能获得当前密钥下的一些特定的密文所对应的明文32分组密码序列密码(流密码)33流密码(序列密码)分组密码将待加密的明文分为若干个字符一组,逐组进行加密流密码将待加密的明文分成连续的字符或比特,然后用相应的密钥流对其进行加密密钥流由种子密钥通过密钥流生成器产生34流密码基本原理通过随机数发生器产生性能优良的伪随机序列(密钥流),使用该序列加密信息流(逐比特加密),得到密文序列种子密钥K随机数发生器加密变换密钥流Ki明文流mi密文流Ci35按照加解密的工作方式,流密码分为同步流密码和自同步流密码36同步流密码密钥流的产生完全独立于消息流(明文流或者密文流)特点:无错误扩散。如果传输过程产生一位错误,只影响当前位的解密结果,不影响后续位自同步流密码37同步流密码1(,)(,)(,)(,)iiiiiiiiiiFkkGkcEkmmDkc=密钥流生成器ki种子密钥kcikiim解密变换密钥流生成器ci加密变换种子密钥Kimi:密钥流生成器的内部状态F:状态转移函数G:密钥流产生函数38同步流密码自同步流密码每一个密钥字符是由前面n个密文字符参与运算得到的特点:有错误扩散。如果传输过程中产生1位错误,则错误会传播n个字符。收到n个正确的密文字符后,密码系统会实现重新同步39自同步流密码),(),(),(),,,,,(111iiiiiiiiniiiiickDmmkEckGkkcccF=密钥流生成器ki种子密钥kcikiim解密变换密钥流生成器ci加密变换im种子密钥ki:密钥流

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功