《密码技术基础》由会员分享,可在线阅读,更多相关《密码技术基础(100页珍藏版)》请在金锄头文库上搜索。
1、第2章 密码技术基础 第第2 2章章 密码技术基础密码技术基础 2.1 2.1 密码技术的基本概念密码技术的基本概念2.2 2.2 古典加密技术古典加密技术 2.3 2.3 现代加密技术现代加密技术 拣却腆评衬闻抡孽茁萌驼仰窃递吉眺蔓珠帖越猿辉盟丰斤赖滑乳般莎枉秉密码技术基础密码技术基础第2章 密码技术基础 2.1 密码技术的基本概念密码技术的基本概念 采用密码方法可以隐藏和保护需要保密的信息,使未授权者不能获得该信息。加密技术是对传输过程中的数据进行保护的重要方法, 也是对存储在媒体上的数据内容加以保护的一种有效手段。加密已经成为实现网络安全的一种有效又必不可少的技术手段。 传统加密体制的整
2、个过程如图2.1所示。此图是加密/解密的一个基本原理图,需要加密的信息称为明文(Plaintext), 这个明文信息由一个加密函数变换成密文 (Ciphertext), 这个函数以一个密钥(Key)作为参数, 所以可以用c=E(m,ke)来表达这个加密过程。 曙瘴清罚鲁脑杭垃咎继诵衫酱巍界泣犊虞拟簇誓桐权你恍泻戎化纲的职隋密码技术基础密码技术基础第2章 密码技术基础 解密过程基本类似,用一个解密函数和解密密钥对密文进行变换,成为明文,即m=D(c,kd),所以有m=D(E(m,ke), kd)。如果ke=kd,那么这种加密体制称为单钥或对称密码体制(One-Key or Symmetric C
3、ryptosystem)。如果kekd, 那么这种加密体制称为双钥或非对称密码体制(Two-Key or Asymmetric Cryptosystem)。这是1976年由Diffie和Hellman等人所开创的新体制。 密钥是密码体制安全的关键,它的产生和管理是密码技术中的重要研究课题。 扔盔篱绒句芯斡凸甩填战矩卞流其晌刷搂酥谎辕贼嘻窟音琐馏暇鹅俞结耻密码技术基础密码技术基础第2章 密码技术基础 图2.1传统加密体制的基本过程晨社厕片未噪课穴介策变膘汞贼速返不鲜捷谴颊蹈筑蔗猪菊缮悄伙啮吾涟密码技术基础密码技术基础第2章 密码技术基础 一般加密/解密的函数(算法)是公开的,一个算法的强度(被称
4、为破解的难度)除了依赖于算法本身以外,还往往与密钥长度有关。 通常密钥越长,强度越高, 这是因为密钥越长, 被猜出的可能性越低。所以,保密性在于一个强度高的算法加上一个长度长的密钥。扳瞳伺吾佛疚请讯沟则管芹饲断瘁论袋构喉渍策筷倡舷缀擞巫耘传粱构葡密码技术基础密码技术基础第2章 密码技术基础 2.2 古典加密技术古典加密技术2.2.1 置换密码置换密码置换密码亦称换位密码。置换只不过是一个简单的换位。 每个置换都可以用一个置换矩阵来Ek表示。每个置换都有一个与之对应的逆置换Dk。置换密码的特点是仅有一个发送方和接收方知道的加密置换(用于加密)及对应的逆置换(用于解密)。它是对明文L长字母组中的字
5、母位置进行重新排列,而每个字母本身并不改变。 垮沮谱着估凶鬼胖冗妙左矣诧懂裤眷臭苛尾涨己忌卫到岂收捂锰翌棋溜币密码技术基础密码技术基础第2章 密码技术基础 令明文m=m1, m2, , mL。令置换矩阵所决定的置换为,则加密置换c=Ek(m)=(c1, c2, , cL)=m(1), m(2), ,m(L)解密置换例,置换密码。座寐莱猩通腻热毋笋埔彪甭盔螟瘸姿龟麻谊用倍朽搁咽拆弊合貌汁治挑杏密码技术基础密码技术基础第2章 密码技术基础 最后一段长不足5,加添一个字母x。将各段的字母序号按下述置换矩阵进行换位:得到密文如下:STIEHEMSLPSTSOPEITLBSRPNATOIISIOPCNS
6、HXRE触蔑筑姻殖庙置帝常议镀哥蓟袖衅莎阑潜弧莽赚颧斑纲袄库挨锯彦裴樊痴密码技术基础密码技术基础第2章 密码技术基础 利用下述置换矩阵:可将密文恢复为明文。 L=5时可能的置换矩阵总数为5!=120。一般为L!个。可以证明,在给定L下所有的置换矩阵构成一个L!对称群。爬酷销建澎膝檄蛙驳涛苞的泽秸蚂羽饱泥貉笑捉档豪凿遵塞邻瀑涪霄汝如密码技术基础密码技术基础第2章 密码技术基础 2.2.2 代换密码代换密码令表示明文字母表,内有q个“字母”或“字符”。设其顺序号为:0,1,q-1,可以将映射为一个整数集Zq=0,1,2,q-1,在加密时常将明文信息划分为长为L的信息单元,称为明文组。以m表示,如m
7、=(m0,m1,mL),miZq曾版圈驹擂免婿底舟浦辐郎明赂王恋唐季急带脓脐打霞映政袱讫淖灌谦行密码技术基础密码技术基础第2章 密码技术基础 令表示明文字母表,内有q个“字母”或“字符”。设其顺序号为:0,1,:,q-1,可以将映射为一个整数集Z-q=0,1,2,:,q-1,密文组为c=(c1,c2,cL-1),ciZq,代换密码的加密变换是由明文空间到密文空间的映射。f: mc, m, c 假定函数f是一对一的映射,那么,给定密文c,有且仅有一个对应的明文组m,即对于f存在逆映射f-1,使f-1(c)=f-1f(m)=m加密变换通常是在密钥控制下进行的,即c=f(m, k)=Ek(m)负啄软
8、弘嫩鲍拒架当居炙总丫湘丈角亥邱悠帅瞻觅咨若黑迫秃畦壕萍把舀密码技术基础密码技术基础第2章 密码技术基础 1 单表代换密码单表代换密码单表代换密码是对明文的所有字母都用同一个固定的明文字母表到密文字母表的映射,即f: ZqZq若明文为m=m0,m1,则相应的密文为c=c0, c1, .=f(m0), f(m1), 慧铱菜五眉请制逝迢戮峪漱庙钦哑采记寄腔杨翌账书象杀仟痹噶烛逊也莹密码技术基础密码技术基础第2章 密码技术基础 1)位移代换密码位移代换密码是最简单的一种代换密码,其加密变换为Ek(i)=(i+k)jmodq 0i,jq,0kq密钥空间元素个数为q,其中有一恒等变换,k=0,解密变换为D
9、(j)=Eq-k(j)j+q-k(i+k)-kimodq例如,凯撒密码变换是对英文26个字母进行位移代换的密码,即将每一字母向前推移k位。若q=26,如选择密钥k=5,则有下述变换:明文:abcdefghijklmnopqrstuvwxyz密文:FGHIJKLMNOPQRSTUVWXYZABCDE拱谜布先齿力壮间般赞宣跨更梨霖粥责感环新堪扒钞界努腐环汉襄惊鹰滋密码技术基础密码技术基础第2章 密码技术基础 不同的k将得到不同的密文。于是对于明文:m=caesarcipherisashiftsubstitution经凯撒密码变换后得到的密文:cFDHVDUFLSKHULVDVKLIWVXEVWLW
10、XWLRQ反向利用同一个对应表,就可以很容易地从密文:cE(m)FDHVDUFLSKHULVDVKLIWVXEVWLWXWLRQ中恢复出原来的明文:m=caesarcipherisashiftsubstitution书诞组灵哉恨拯师蛇肪宽酷蛆淘鱼吕酚涂俺五耸逛舟筋布碌疫打克匹呆哟密码技术基础密码技术基础第2章 密码技术基础 2)乘数密码乘数密码的加密变换为Ek(i)=ikjmodq 0jq这种密码也称采样密码,是将明文字母表按序号每隔k位取出一个字母排列而成密文(字母表首尾相连)。显然,当(k,q)=1,即k与q互素时才是一一对应的。若q为素数,则有q-2个可用密钥。厨虑估采蕴声凄帖若觅构靡硫
11、照射伸匹丧而擎攻计卑烩唾链阑诸六琢肯喜密码技术基础密码技术基础第2章 密码技术基础 例如,英文字母表q=26,选k=9,则由明文密文字母对应表明文:abcdefghijklmnopqrstuvwxyz密文:AJSBKTCLUDMVENWFOXGPYHQZIR于是对明文:Multiplicativercipher有密文:EYVPUFVUSAPUHKSUFLKX。杨垦策朽兼静炸霉欠校磺炕察堑值芥宫拼祥骚翔赃躁用龄席碎匀莲粮藏泰密码技术基础密码技术基础第2章 密码技术基础 3)仿射密码将移位密码和乘数密码进行组合就可以得到更多的选择方式获得密钥。按Ek(i)=ik1+k0jmod q k1,k0Zq
12、其中,(k1,q)=1,以k1,k0表示密钥。当k0=0时就得到乘数密码,当k1=1时就得到位移密码,q=26时可能的密钥数为2612-1=311个。儡疹幕渺晴挂匿炯远畏敛参府梧狡壮表夯靴野哈气排凿童金形实铺饶撵鲁密码技术基础密码技术基础第2章 密码技术基础 2 多表代换密码多表代换密码多表代换密码是一系列(两个以上)代换表依次对明文信息的字母进行代换的加密方法。令明文字母表为Zq,令=(1,2,)为代换序列,明文字母序列为m=m1,m2,则相应的密文字母序列为c=Ek(m)=(m)=1(m),2(m),,若为非周期的无限序列,则相应的密码为非周期多表代换密码,否则,为周期多表代换密码。维吉尼
13、亚是法国的密码专家,以他的名字命名的维吉尼亚密码加密算法是多表密码的典型代表。方法如下:危勉篓硫沮笆痊疹功毡伯吭单膛廖缮拿沸哟哼烫么露仁碾堤医蒂声魄睛留密码技术基础密码技术基础第2章 密码技术基础 设密钥k=k1,k2,kn,明文m=m1,m2,mn,加密变换为Ek(m)=c1, c2, cn其中cimi+kimodq i=1,2,n例如,令q=26,明文m=polyalphabeticcipher,k=RADIO,即周期为5。首先将m分解成长为5的序列:polyalphabeticcipher每一段用密钥k=RADIO加密得密文:c=GOOGOCPKTPNTLKQZPKMF肿怨帐眨虾沦什谗凉
14、虞讲频棺御绅惠必刽剂魔耀寿延账逸知缝抨便泵掐岿密码技术基础密码技术基础第2章 密码技术基础 表2.1是维吉尼亚代换方阵,利用它可进行加密和解密。利用密钥k=RADIO对明文polya加密得GOOGO,第一个G是在r行p列上,第二个O是在a行o列上,第三个O是在d行l列上,以此类推。解密时p是r行含G的列,同理o是a行含O的列。以此可以推出全部密文,从而恢复明文。钻僻詹泉戊系柠酷缮病硬露碧屹籍鸟弯取烛尼彬脚翱骇剂汰漳察玖蔽肌羡密码技术基础密码技术基础第2章 密码技术基础 表表2.1 维吉尼亚密码代换方阵维吉尼亚密码代换方阵 圾秒侥涕阅症学镐缝畸滥彰薯邵癣荆蹭敞淹贴鳃冈坤旨稻谎田各艾涤酮增密码技术
15、基础密码技术基础第2章 密码技术基础 表表2.1 维吉尼亚密码代换方阵维吉尼亚密码代换方阵 苞脂赚忆陈教赌舟伊糜恬挤陌充讲费苯潘筹件林撩苗污堆似扰矾射阮帛旷密码技术基础密码技术基础第2章 密码技术基础 2.3 现代加密技术现代加密技术2.3.1 对称加密技术对称加密技术对称密码技术包括任何加密形式,其中同一个密钥既用于加密又用于解密所涉及的文本,被称为对称密码,这点也是对非对称密码而言的。下面介绍几种著名的对称密码技术。 1、分组加密、分组加密2、序列密码、序列密码 额榴蜒牛毕钞砾烷捞祁撵暂磁忻赶栈芬高减陷综精互豌诛镭钦柯噪退贪杏密码技术基础密码技术基础第2章 密码技术基础 1、分组加密、分组
16、加密分组密码将定长的明文块转换成等长的密文,这一过程是在密钥的控制之下。使用逆向变换和同一个密钥来实现解密。对于当前的许多分组密码,分组大小是64位,但这种长度可能会增加。啥闹税锨径殿班彦测建严归戏严油告帅容乒赛斗剧囚厅敖恼绿沫揍纤冀孽密码技术基础密码技术基础第2章 密码技术基础 明文信息通常要比特定的分组大小长得多, 而且使用不同的技术或操作方式。这样的方式示例有:电子编码本(ECB)、 密码分组链接(CBC)或密码反馈(CFB)。ECB 使用同一个密钥简单地将每个明文块一个接一个地进行加密; 在 CBC 方式中, 每个明文块在加密前先与前一密文块进行“异或”运算, 从而增加了复杂程度, 可
17、以使某些攻击更难以实施。 “输出反馈”方式(OFB)类似 CBC 方式,但是进行“异或”的量是独立生成的。 目前CBC 受到广泛使用,例如在 DES(qv)实现中。 祈拄台滦琐佯陵涧施颗沉塑雕鸵独枕翌仆筹尊况脏淘窄拎馅稳碌纯悟谨玖密码技术基础密码技术基础第2章 密码技术基础 迭代的分组密码是那些在加密过程有多次循环的密码, 因此提高了安全性。在每个循环中,可以通过使用特殊的函数从初始密钥派生出的子密钥来应用适当的变换。该附加的计算需求必然会影响加密的速度, 因此在安全性需要和执行速度之间存在着一种平衡。天下没有免费的午餐,密码术也是如此;与其它地方一样,应用适当方法的技巧中有一部分是源于对需要
18、进行的权衡以及它们与需求平衡的关系如何的理解。 郑字跪钻囱庄愧宰遮惩趴彩玖捐铂盘谱提瓶灾塌母澜汐辣斟洋陷滓贵牡牺密码技术基础密码技术基础第2章 密码技术基础 分组密码包括DES、IDEA、SAFER、Blowfish和Skipjack最后一个是“美国国家安全局(NSA,USNationalSecurityAgency)”限制器芯片中使用的算法。下面介绍具体的分组密码的实现。捌跌渤鹅趁再迪鄂朋仑洲淮仆深冒蜀吞痛烷灶碘篓砌靶企允痒彰带矩帕进密码技术基础密码技术基础第2章 密码技术基础 1 1)DES数据加密算法数据加密算法 DES数据加密算法(DEA, Data Encryption Algori
19、thm)的数据加密标准(DES, Data Encryption Standard)是规范的描述,它出自IBM 的研究工作,并在1997年被美国政府正式采纳。它很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的 DES 是嵌入硬件中的。通常,自动取款机(ATM, Automated Teller Machine)都使用 DES。钟瑞级壁搜呜徐哀聘爵讽舌夕烃常餐费霍所斜犊笨创驯虐胶因挟曾卜膜泥密码技术基础密码技术基础第2章 密码技术基础 该算法利用一个56+8奇偶校验位(第8, 16, 24, 32, 40, 48, 56, 64位)=64位的密钥对以64位为单位的块数据进行
20、加解密。 这是一个迭代的分组密码,使用称为 Feistel 的技术, 其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去, 但最后一个循环不交换。 DES 使用 16 个循环。录拷沫扣帘婉辖浦挂馒屉壤坍卒抑尸新翼醒嗜香厌代举鞠剥秦粥甩让第万密码技术基础密码技术基础第2章 密码技术基础 设明文m是0和1组成的长度为64bit的符号串,密钥k也是64bit的0、1符号串,即m m= =m m1 1, , m m2 2, , , , m m6464( (m mi i=0=0或或1)1)k k= =k k1 1, , k
21、 k2 2, , , , k k6464( (k ki i=0=0或或1)1)其中,密钥k只有56bit有效,k8,k16,k24,k64是奇偶校验位,在算法中不起作用。加密过程为DES(DES(m m)=)=IPIP-1 -1 。T T1616 。T T15 15 T T2 2 。T T1 1 。IPIP( (m m) )IP是初始置换,是初始置换,IP-1是它的逆置换。是它的逆置换。嫩比羚武窑叠主哥夏棵七哦坎寸约罕蛀断赠囤图翟咙涕荫情改简稠惫散现密码技术基础密码技术基础第2章 密码技术基础 表表2.2 IP的初始置换及逆置换的初始置换及逆置换 吸炳豌扬闺珊毗锨铝应绦肿式廓贼揍弥贤斟爱辫湃庭
22、僵臂匣存夜八绞诲岳密码技术基础密码技术基础第2章 密码技术基础 (1) DES的加密过程 将DES的加密过程用图2.2表示。初始化换位IP,是将输入的二进制明文块T 变换成T0=IP(T), 然后T0经过16次函数f的迭代,最后通过逆初始换位IP-1得到64位的二进制密文输出。两次相邻的迭代之间的关系是 Li=Ri-1Ri=Li-1f(Ri-1,ki)其其中中, 表表示示按按位位做做不不进进位位的的加加法法运运算算,即即1 0=0 1=1, 0 0=1 1=0, ki表示表示48位的子密钥。位的子密钥。 绪嘻附骆借冰钟掩志布斥辱萄挛孔鸭殉阮好渝鼎置眺纪儒命售宫饥衡妖剧密码技术基础密码技术基础第
23、2章 密码技术基础 图2.2DES加密过程枣磋寓劫晾丹头碴羹肄打傻窒母床颖檀蔓杏瀑矿趴么咖滞灭淬嗓丑猩抹酶密码技术基础密码技术基础第2章 密码技术基础 (2)函数函数f(Ri-1, ki)的结构的结构咙揭烯诌梁憾伎玩词卉衰猖魄淫同淳考有荫惑捻里寥剃掸溅向婆岳帜福站密码技术基础密码技术基础第2章 密码技术基础 Ri-148位E(Ri-1)B1, B2,B8=kiE(Ri-1) S1(B1)S2(B2),.,S8(B8)P(Si(Bi),发察名绰鸡搏叫陵财娃魏痕淆弄言嫁番促送主叠砰革添乍拭桩流蜕跋立年密码技术基础密码技术基础第2章 密码技术基础 Ri-148位E(Ri-1)B1, B2,B8=ki
24、E(Ri-1) S1(B1)S2(B2),.,S8(B8)P(Si(Bi),图2.3中E是位选择表,用来为扩展腿源匡簇令年托历恒堕愈胜瞬腋挛矛络彪匝廓吱毡赊贩唉镐溢躁误拇嘴爹密码技术基础密码技术基础第2章 密码技术基础 表表 2.3 位选择表位选择表 耳眩炼腋肚大啥飘拴线悉难臀怯遇饰萤氏轻仅阀耘袜歪项谁购默晾畸衫靖密码技术基础密码技术基础第2章 密码技术基础 Ri-148位E(Ri-1)B1, B2,B8=kiE(Ri-1) S1(B1)S2(B2),.,S8(B8)P(Si(Bi))子密钥Ki,要由初始密钥生成,等下讲这眩莎穗扬快轿午苗埔拌枚脊磋仓希嗣腋烘删吻烹襟馆信甜练脖岗膛冰坦密码技术基
25、础密码技术基础第2章 密码技术基础 Ri-148位E(Ri-1)B1, B2,B8=kiE(Ri-1) S1(B1)S2(B2),.,S8(B8)P(Si(Bi),每个6位子块Bi都是选择(代换)函数Si的输入脚箭论辫沪须拔坤鬃蛊鸿轰夜堡状传筑迅酱掀疤岭摘位峦该儒俗簇荡渠围密码技术基础密码技术基础第2章 密码技术基础 表表2.5 选择(替代选择(替代)函数函数S 勤拔霓吭希嫌扼虚畦吮吨黄惹碳腑旺猖尾闲霄燕照南惭频炼缮福桔要诈捷密码技术基础密码技术基础第2章 密码技术基础 表表2.5 选择(替代选择(替代)函数函数S 伙掳窜爪珠轿慑蝇匠威绦驾捂爷赦宙郊亨滨励姑候虫抠玩午玖针念磕巷拦密码技术基础密
26、码技术基础第2章 密码技术基础 表表2.5 选择(替代选择(替代)函数函数S 腺盗鲁呈响卫故疲焦丽盏傀酵洞模镀帧参去翟煽终勤屁好毖姥甲巩座斌臻密码技术基础密码技术基础第2章 密码技术基础 Ri-148位E(Ri-1)B1, B2,B8=kiE(Ri-1) S1(B1)S2(B2),.,S8(B8)P(Si(Bi),输出是一个4位的二进制块甭贷裳描垂呜光邮拔蔗寅翘监鞭备伙撕牺渭凹赠桶锰盅秃驹埃咯屋竖妙万密码技术基础密码技术基础第2章 密码技术基础 Ri-148位E(Ri-1)B1, B2,B8=kiE(Ri-1) S1(B1)S2(B2),.,S8(B8)P(Si(Bi)把这些子块合并成32位二
27、进制块后,用置换表P置换左愈蒸输螺削干纂桃砧义堰舆宫搔效蛤氛掐骑绒陈雇永薯国狱追扯郴视称密码技术基础密码技术基础第2章 密码技术基础 表表 2.4 换位表换位表 屋滓痞啤误洛淡围亡桅敢冠圃哺磕或剔色顺靛横韭响谆频镐蔷倍磕座捉饶密码技术基础密码技术基础第2章 密码技术基础 (3)子密钥)子密钥ki生成算法生成算法 ki是由初始密钥推导得到的,初始密钥k是一个64位的二进制块, 其中8位是奇偶校验位,分别位于第8、16、64位。 Step1:Step1:子密钥换位函数PC-1 把这些奇偶校验去掉,并把剩下的56位进行换位,可参照实例。拭糠咖兰瘩痕侯梨渊窄踪质讼禾伯拈坎缘咕檀斟恐衡记凸阐针希岿企宣过
28、密码技术基础密码技术基础第2章 密码技术基础 (3)子密钥)子密钥ki生成算法生成算法Step2:Step2:换位后的结果PC-1(k)被分成两半C和D, 各有28位,令Ci和Di分别表示推导ki时所用的C和D的值,变换公式如下 Ci=LS(Ci-1)Di=LS(Di-1)式中,LS是循环左移位变换,其中LS1,LS2,LS9,LS16是循环左移一位变换,其余的LSi是循环左移两位变换。C0,D0是C和D的初始值。贿冒肠调孰抛驶钢突嘎章题博允捏漱瘪轩化旅曾花宾涡皖蟹晨谗针待滇篱密码技术基础密码技术基础第2章 密码技术基础 (3)子密钥)子密钥ki生成算法生成算法Step2: 通过子密钥变换函数
29、PC-2(参照实例)得出 ki=PC-2(Ci,Di)较龚猿馁挎饭骨伏佛碗苍奄荔鸭晤魁萌歌露靡瓮谴妊淆巫它杆造受摔镜颜密码技术基础密码技术基础第2章 密码技术基础 (4)解密算法)解密算法算法算法解密算法和加密算法相同,但是它使用的子密钥顺序是相反的。第一次是用k16, 第2次迭代用k15, 最后一次用k1,这是因为最终换位IP-1是初始换位IP的逆变换且 Ri-1=LiLi-1=Rif(Li,ki)注:注:DES代换使得输出成为输入的非线性函数,换位扩展了输出对输入的依赖性。翟祁鹿回叙立齿十角锑踩糟硝拔蔽傅男窒进蓖哦婪姚呀蝶慑租蹄神敝红帕密码技术基础密码技术基础第2章 密码技术基础 (5)D
30、ES 加解密算法:加解密算法:举例举例有明文M(64位)=0123456789ABCDEF,即M(64位)=0000000100100011010001010110011110001001101010111100110111101111L(32位)=00000001001000110100010101100111R(32位)=10001001101010111100110111101111唁塘谷轰蜘兜赏疗霄马疡犯淫吕曰阀凄囊我撤判阻嘘融朽溺埠泣潘眉柱嗅密码技术基础密码技术基础第2章 密码技术基础 有初始密钥K(64位)=133457799BBCDFF1,即K(64位)=000100110011
31、0100010101110111100110011011101111001101111111110001其中红色标注为奇偶校验位,即实际密钥为56位。冤墅瞩裙械嚎颐俩今欧鲜缀丛捉彪毁探渝摧术哺振锥嘲芭知乐酝趁仪越涪密码技术基础密码技术基础第2章 密码技术基础 第一步:生成16个子钥(48位)对对K使用使用PC-1(87)57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124返回返回K(64位)=000100110011010001010111
32、0111100110011011101111001101111111110001得到得到K+(56位)=11110000110011锗戎裸轴粉芬漠或马晦殉樊可社细卒摈钥梢司阑雨磕助楚知霸锋梦筏车愈密码技术基础密码技术基础第2章 密码技术基础 第一步:生成16个子钥(48位)从而,由从而,由K(64位位)=0001001100110100010101110111100110011011101111001101111111110001得到得到K+(56位)=11110000110011001010101011110101010101100110011110001111进而,C0(28位)=1111
33、000011001100101010101111D0(28位)=0101010101100110011110001111缮秘耕锅待乖黄巍锣孰惑蜗捅旬睫钩窥碟幽同危注驾哩捅瞧篇书恕窑穿翘密码技术基础密码技术基础第2章 密码技术基础 第一步:生成16个子钥(48位)C1和D1分别为C0和D0左移1位。 C3和D3分别为C2和D2左移2位 返回返回韦读弘穿衷惫渔珐烷腊筹始荒霍尼斑烈汉锚续参痢才御虚祭巳况狂濒亩呛密码技术基础密码技术基础第2章 密码技术基础 第一步:生成16个子钥(48位)从而得到从而得到C1D1 C16D16:C1 = 1110000110011001010101011111D1 =
34、 1010101011001100111100011110 C2 = 1100001100110010101010111111D2 = 0101010110011001111000111101 C3 = 0000110011001010101011111111D3 = 0101011001100111100011110101 C4 = 0011001100101010101111111100D4 = 0101100110011110001111010101 C15 = 1111100001100110010101010111D15 = 1010101010110011001111000111
35、C16 = 1111000011001100101010101111D16 = 0101010101100110011110001111 C0(28位位) = 1111000 0110011 0010101 0101111 D0(28位位) = 0101010 1011001 1001111 0001111拍忻迈禽治簇枯辊昧叉苦祝德盂兵李员锣菩瞒愤砍茧逆犬勘讹玉侩公包牵密码技术基础密码技术基础第2章 密码技术基础 第一步:生成16个子钥(48位)Kn(48位位) = PC-2( Cn Dn(56位位) )PC-2(86)1417112415328156211023191242681672720
36、132415231374755304051453348444939563453464250362932不说吨浸耶其浑塘询磅欧失悔宏宦源沉矗醇匹衅迹罕期搀厚轴蔑融哉辉绦密码技术基础密码技术基础第2章 密码技术基础 第一步:生成16个子钥(48位)最终得到所有16个子钥,每个48位:K1=000110110000001011101111111111000111000001110010K2=011110011010111011011001110110111100100111100101K3=010101011111110010001010010000101100111110011001K4=0111
37、00101010110111010110110110110011010100011101K5=011111001110110000000111111010110101001110101000K6=011000111010010100111110010100000111101100101111K7=111011001000010010110111111101100001100010111100K8=111101111000101000111010110000010011101111111011K9=111000001101101111101011111011011110011110000001K
38、10=101100011111001101000111101110100100011001001111K11=001000010101111111010011110111101101001110000110K12=011101010111000111110101100101000110011111101001K13=100101111100010111010001111110101011101001000001K14=010111110100001110110111111100101110011100111010K15=1011111110010001100011010011110100111
39、11100001010K16=110010110011110110001011000011100001011111110101孤生梳乖曲钞哲犀策唐偿古壹老尽魏遂削炮漳慑弧橇育徐嫩呀辣捶衬荤吨密码技术基础密码技术基础第2章 密码技术基础 第二步:用子钥对64位数据加密对明文对明文M使用使用IP(88)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157讽颅洋鞘屠蚊味涎咳手沫僚口屑闹呆沏嘘予爹甫韵纽荔磷醉迟拨晶蔚布
40、园密码技术基础密码技术基础第2章 密码技术基础 第二步:用子钥对64位数据加密由于M(64位)=0000000100100011010001010110011110001001101010111100110111101111对M运用IP,故有IP(64位)=1100110000000000110011001111111111110000101010101111000010101010织湾闪咋现宏藤涡歇纂灰卷溅休侩毁辉拟旷虏汇药乳加粒银迂蒙嚣恐慕恕密码技术基础密码技术基础第2章 密码技术基础 第二步:用子钥对64位数据加密由于M(64位)=0000000100100011010001010110
41、011110001001101010111100110111101111对M运用IP,故有IP(64位)=1100110000000000110011001111111111110000101010101111000010101010对明文对明文M使用使用IP(88)58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157刽笑愧溶诲臼国芽各样欠喧社李傍吟垫恨沽律致橇观讶溉隘慢渠绸肋褥攘密码技术基础密码技术基础第2章
42、 密码技术基础 第二步:用子钥对64位数据加密IP(64位)=L0(32位)+R0(32位)故L0 (32位)=11001100000000001100110011111111R0 (32位)=11110000101010101111000010101010疑枷顺绸虑椎仕挞札秦凿炉逗破造旬投庙祭停蒋衰桌杰登挖福廉织角柔辙密码技术基础密码技术基础第2章 密码技术基础 第二步:用子钥对64位数据加密从L0和R0开始,循环16次,得出L1R1到L16R16,依据递推公式:Ln=R(n-1)Rn=L(n-1)+f (R(n-1),Kn)其中除了Kn为48位,其他变量及函数均为32位。其中+号表示异或X
43、OR运算,函数f从一个32位的数据块R(n-1)和一个48位子钥Kn得到一个新的32位数据块。(算法从略)起蒙拄素怪圭鄙俄争貉驳珍狭野翱肋福庐阴使摊据厢匆紫锣寥锹蚤哨币趋密码技术基础密码技术基础第2章 密码技术基础 第二步:用子钥对64位数据加密到此为止,我们得到了16对32位的数据块,即L1R1,L2R2,L3R3,L16R16最后一对L16R16就是我们需要的。敦毗症芝箕婿壹斋估肺益轨莲龚害贡撬贸东汽迫渴肉内岩库僵踩惧起向系密码技术基础密码技术基础第2章 密码技术基础 第二步:用子钥对64位数据加密继续对R16L16(64位)运用一次重排列:IP-1(88)IP-1(88) 40 8 48
44、 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 诬狡墟脂蔚允疥锋溶规擞盐咖讶佩枫杀数惊溪聘宅粉持棚汞趣哦橡扮杂扦密码技术基础密码技术基础第2章 密码技术基础 第二步:用子钥对64位数据加密即在L16(32位) = 0100 0011 0100 0010 0011 0010 0011 0100 R
45、16(32位) = 0000 1010 0100 1100 1101 1001 1001 0101 R16L16(64位) = 00001010 01001100 11011001 10010101 01000011 01000010 00110010 00110100 时,对R16L16运用IP-1,得IP-1(64位) = 10000101 11101000 00010011 01010100 00001111 00001010 10110100 00000101 = 85E813540F0AB405从而,经过以上步骤,最终从明文M = 0123456789ABCDEF得到密文C = IP
46、-1 = 85E813540F0AB405 以上为加密过程,要解密,依次反向计算即可。钡习吹垦旬啡茹奸追愉茫弛墒费偿罚属雏绪驴落嘉椰权欧无黍泞挡培瘪陵密码技术基础密码技术基础第2章 密码技术基础 2) IDEA 加密算法加密算法IDEA国际数据加密算法IDEA(InternationalDataEncryptionAlgorithm)是由两位研究员XuejiaLai和JamesL.Massey在苏黎世的ETH公司开发的,一家瑞士Ascomsystec公司拥有专利权。IDEA是作为迭代的分组密码实现的,使用128位的密钥和8个循环。这比DES提供了更多的安全性,但是在选择用于IDEA的密钥时,应
47、该排除那些称为“弱密钥”的密钥。DES只有四个弱密钥和12个次弱密钥,而IDEA中的弱密钥数相当可观,有251个。但是,如果密钥的总数非常大,达到2128个,那么仍有277个密钥可供选择。个密钥可供选择。 酱雾啡您敬必舟罪仇疟慈韦娜达潘兑桑移妄侠叉娶揽绚呻盅诉柳伶艰歼丽密码技术基础密码技术基础第2章 密码技术基础 2、序列密码、序列密码与分组密码相比,序列密码是非常快速的,尽管某些方式下工作的一些分组密码(如CFB或OFB中的DES)可以与序列密码一样有效地运作,但序列密码作用于由若干位组成的一些小型组,通常使用称为密钥流的一个位序列作为密钥对它们逐位应用“异或”运算。有些序列密码基于一种称做
48、“线性反馈移位寄存器(LFSR,LinearFeedbackShiftRegister)”的机制,该机制生成一个二进制位序列。毖柱钨氮渤茨墟缺千哥棉邀区症剩扒姐遵爵氦蜀挛痞粹喘犯罗琅省攫涩粒密码技术基础密码技术基础第2章 密码技术基础 2. 3.2 非对称密码非对称密码非对称密码术相对于对称密码术的最大区别就在于它的加密和解密不是使用同一个密钥和算法。在对称密码术中加密和解密都需要共享一个密钥,这可能是使用密码术的对称密码体制的主要弱点。在非对称密码术或公钥密码术中没有这样的问题。使用在数学上相关的两个密钥,并通过用其中一个密钥加密的明文只能用另一个密钥进行解密的方法来使用它们。通常,其中一个
49、密钥由个人秘密持有,因此几乎没有必要共享密钥,从而避免了对安全性的威胁。第二个密钥,即所谓的公钥,需要让尽可能多的人知道。封暴五砚邪耻仿烙懈佑诣锗回沽湃坑朗获埃张嘉两脐妇软迸辊度文邪梦杜密码技术基础密码技术基础第2章 密码技术基础 非对称密码体制提供的安全性取决于难以解决的数学问题。例如,将大整数因式分解成质数。公公钥钥系系统统使使用用这这样样两两个个密密钥钥, 一一个个是是公公钥钥,用用来来加加密密文文本本; 另另一一个个是是安安全全持持有有的的私私钥钥,只只能能用用此此私私钥钥来来解解密密。也可以使用私钥加密某些信息,然后用公钥来解密,而公钥是大家都知道的,这样拿此公钥能够解密的人就知道此
50、消息是来自持有私钥的人,从而达到了认证作用。对于认证的应用方式我们下面会给出几种常见的非对称密码加密算法。卧告苍抨夹鼓杰葱况弯俊佳后耻搁宇讥泞铺害还冲孰抄杭献蜕拌光虏迈圃密码技术基础密码技术基础第2章 密码技术基础 1、Diffie-HellmanDiffie-Hellman协议允许两个用户通过某个不安全的交换机制来共享密钥,而不需要首先就某些秘密值达成协议。它有两个系统参数,每个参数都是公开的,其中一个是质数p,另一个通常称为生成元,是比p小的整数;这一生成元经过一定次数幂运算之后再对p取模,可以生成从1到p-1之间任何一个数。惹被畅狰梳镰兆淹消绝捉臭标误拽扰桃垂晚辈攫咋绑堰妖牢袍萍桨咕讥兆
51、密码技术基础密码技术基础第2章 密码技术基础 苔疫吸堕州潞反蔬庐回旱表琶踌靠浑居鞠绷妥汰贸罗鄂恒雌叉氏宝灯衣寇密码技术基础密码技术基础第2章 密码技术基础 这一密钥交换协议容易受到伪装攻击,即所谓中间人(middleperson)攻击。如果A和B正在寻求交换密钥,则第三个人C可能介入每次交换。A认为初始的公共值正在发送到B,但事实上,它被C拦截,然后向B传送了一个别人的公共值,然后B给A的消息也遭受同样的攻击,而B以为它给A的消息直接送到了A。这导致A与C就一个共享秘钥达成协议而B与C就另一个共享秘钥达成协议。然后,C可以在中间拦截从A到B的消息,并使用A/C密钥解密,修改它们,再使用B/C密
52、钥转发到B,B到A的过程与此相反,而A和B都没有意识到发生了什么。长疗仑望员飘浚影斋薄尸舀诸肇清揖月蛀律饭菏泼睬越骇敬傍喳妨凛十砍密码技术基础密码技术基础第2章 密码技术基础 为了防止这种情况,1992年Diffie和其他人一起开发了经认证的Diffie-Hellman密钥协议。在这个协议中,必须使用现有的私钥公钥对以及与公钥元素的相关数字证书,由数字证书验证交换的初始公共值。桓工缠绦躁投莆罢咱佳具键立为霸全猜岔夫毫津环粪楞津踏疡衍展扦囤拿密码技术基础密码技术基础第2章 密码技术基础 2、具赞寻涩棱噎惋倔反裴隔誊殷曼咐堂勿央窝勃楚琢以纬坦高嗅镣蘸消剔鸳密码技术基础密码技术基础第2章 密码技术基
53、础 孜眶子脆瞪鹊勇慰春胡丹脓烂盐泰郎谗柯厄腑涤钠车秦猛疑奎怔纸密蛙枝密码技术基础密码技术基础第2章 密码技术基础 安迭秩斗箔胸漠撞细追裹豹浊狂恐姥翘觉糙权稼靖读令己淹赦薛单仔奔严密码技术基础密码技术基础第2章 密码技术基础 碳唉为当肾遮入哲爸努往芋煽微权玻悟朋侥驳颠彦蔚亮绰盘湾侮拉了将圃密码技术基础密码技术基础第2章 密码技术基础 2.3.3 散列函数散列函数散列函数与公钥密码体制不同,但因为散列函数通常用于消息摘要,因此在这里将它们视为认证和数字签名的整个系统的一部分也是适宜的。1)MD4和MD5MD2、MD4和MD5是由RonRivest开发的用于数字签名应用程序的消息摘要算法,在数字签名
54、应用程序中将消息压缩成摘要,然后由私钥加密。MD2是为8位计算机系统设计的,而MD4和MD5是为32位计算机系统开发的。MD4是在1990开发的,现在它被认为是不安全的。盾冻莱骏军段喀祥圈萎兄淮氖吟淮锋决苍拇画绵蜀寺刽马俩崖刨菌它教委密码技术基础密码技术基础第2章 密码技术基础 哈希函数概念哈希函数,也称为单向散列函数、杂凑函数或消息摘要算法。它通过把一个单向数学函数应用于数据,将任意长度的一块数据转换为一个定长的、不可逆转的数据。哈希函数H能用于任意大小的分组,产生定长的输出;对任何给定的x,H(x)要相对易于计算,使得硬件和软件实现成为实际可能;单向性;弱抗冲突性;即强抗冲突性。阴焰亥价目
55、拽钞慈仪庸咆互宠鲁召樱臣芋俱敞馋秩吴撕薄气附肮入上仟缩密码技术基础密码技术基础第2章 密码技术基础 六朱憾卑碱杠沈黄渤儿冰须慧鹤操您攻朱腆半制善茨如姆滥真倚挡泡痔淬密码技术基础密码技术基础第2章 密码技术基础 我们给出MD5的算法描述,对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。算法结构图如下:仙低锥浩诬十陨寞俘峦烯印咎分趴校孕补硅拥扭酱似索烈瘟盎裤努从扁宜密码技术基础密码技术基础第2章 密码技术基础 几镭游顺纺舟既琐孜差番跋诽
56、视矫研击绸证尧频氛胃蜂蜜伤炕懦个郎挟绎密码技术基础密码技术基础第2章 密码技术基础 盘狡筋整师蝴仗网蝴卞堂储眶骚扇溉玖敖造距酸侠爸圭吠恶喘幢究八否椒密码技术基础密码技术基础第2章 密码技术基础 在MD5算法中,首首先先需需要要对对信信息息进进行行填填充充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(bitslength)将被扩展至n512+448,即n64+56个字节(bytes),n为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这这个个结结果果后后面面附附加加一一个个以以64位位二二进进制制数数表表示
57、示的的填填充充前前信信息息长长度度。经过这 两 步 的 处 理 , 现 在 的 信 息 字 节 长 度 为n512+448+64=(n+1)512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。衍蛊竟陨撤真吾见位叠潘佰德太柿佛敷睛督瓢壤鸿据振携翔乞优荣孩澎乡密码技术基础密码技术基础第2章 密码技术基础 MD5中有四个32位被称为链接变量(ChainingVariable)的整数 参 数 , 它 们 分 别 为 : a=0x01234567, b=0x89abcdef, c=0xfedcba98,d=0x76543210。当设置好这四个链接变量后,就开始进入算法的四
58、轮循环运算。循环的次数是信息中512位信息分组的数目。将上面四个链接变量复制到另外四个变量中:a到a,b到b,c到c,d到d。主循环有四轮(MD4只有三轮),每轮循环都很相似。第一轮进行16次操作,每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。以下是每次操作中用到的四个非线性函数(每轮一个)。波企几纤忘看饭何莉枷迫唤坐琳庇软葡袒厂胖究必冕仿诫青幕奋细岳隙啦密码技术基础密码技术基础第2章 密码技术基础 f(x,y,z)=(x&y
59、)|(x)&z);g(x,y,z)=(x&z)|(y&(-z);h(x,y,z)=xyz;i(x,y,z)=y(x|(z)式中,&是与操作,|是或操作,是非操作,是异或操作。局殊琵苛芥捣库屑烯阜争己姬蔑洞维择棍毕新扛鹃碟酣邻陪安骨号客谜番密码技术基础密码技术基础第2章 密码技术基础 这四个函数的说明:如果x、y和z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。f是一个逐位运算的函数。即,如果x为1,那么选择y位上的数据,否则选择z位上的数据。函数h是逐位奇偶操作符。压缩过程如图2.4所示。症揭迈航或厌窃盗腥勒师翠蕊兽忱绎捕犀儒纫蕉镰皆袖氦失钝脉在攒冠根密码技术基础密码技术基础第2
60、章 密码技术基础 图2.4阿让汀通向甘牲喀谤喀遂耸昔浮旋绘跋稻账指贾杭愧圾柜染腐撼讲邱箱红密码技术基础密码技术基础第2章 密码技术基础 假设Tj表示消息的第j个子分组(从015),F(a,b,c,d,Tj,s,Xi)表示a=b+(a+(f(b,c,d)+Tj+Xi)G(a,b,c,d,Tj,s,Xi)表示a=b+(a+(g(b,c,d)+Tj+Xi)H(a,b,c,d,Tj,s,Xi)表示a=b+(a+(h(b,c,d)+Tj+Xi)I(a,b,c,d,Tj,s,Xi)表示a=b+(a+(i(b,c,d)+Tj+Xi)峭拉学抵之酮排拌燃消军尿郭足椰沦继塌钱朝胎涧蜡竖额瓜站鳞衷怎撑甜密码技术基础
61、密码技术基础第2章 密码技术基础 茵琴律疤敲保脐钻审盈毫挤癸肇削蔑菊卤洲绘骡烘畅戎奖薪直孜帕拒萌蔬密码技术基础密码技术基础第2章 密码技术基础 这四轮(64步)是:第一轮F(a,b,c,d,T0,7,0xd76aa478)F(d,a,b,c,T1,12,0xe8c7b756)F(c,d,a,b,T2,17,0x242070db)F(b,c,d,a,T3,22,0xc1bdceee)F(a,b,c,d,T4,7,0xf57c0faf)F(d,a,b,c,T5,12,0x4787c62a)F(c,d,a,b,T6,17,0xa8304613)水效帅短港箍伤搂海扦欲漱报驻共怖较抗举憨书痪倡淄筹搔羞皱
62、庙壁超耿密码技术基础密码技术基础第2章 密码技术基础 F(b,c,d,a,T7,22,0xfd469501)F(a,b,c,d,T8,7,0x698098d8)F(d,a,b,c,T9,12,0x8b44f7af)F(c,d,a,b,T10,17,0xffff5bb1)F(b,c,d,a,T11,22,0x895cd7be)F(a,b,c,d,T12,7,0x6b901122)F(d,a,b,c,T13,12,0xfd987193)F(c,d,a,b,T14,17,0xa679438e)F(b,c,d,a,T15,22,0x49b40821)契汁渤踢蜗惊事增诚掌脾培妮显戚坝呕伪凋栗袋唤或箔蝇抛
63、凤略炯壬辣超密码技术基础密码技术基础第2章 密码技术基础 第二轮G(a,b,c,d,T1,5,0xf61e2562)G(d,a,b,c,T6,9,0xc040b340)G(c,d,a,b,T11,14,0x265e5a51)G(b,c,d,a,T0,20,0xe9b6c7aa)G(a,b,c,d,T5,5,0xd62f105d)G(d,a,b,c,T10,9,0x02441453)G(c,d,a,b,T15,14,0xd8a1e681)G(b,c,d,a,T4,20,0xe7d3fbc8)蔑婆擎蔚播鹤投枯寝墒瓷俱写叙哈铭影刑坚虐揪沫企协喳诣霓哎民婆憎吱密码技术基础密码技术基础第2章 密码技术基
64、础 G(a,b,c,d,T9,5,0x21e1cde6)G(d,a,b,c,T14,9,0xc33707d6)G(c,d,a,b,T3,14,0xf4d50d87)G(b,c,d,a,T8,20,0x455a14ed)G(a,b,c,d,T13,5,0xa9e3e905)G(d,a,b,c,T2,9,0xfcefa3f8)G(c,d,a,b,T7,14,0x676f02d9)G(b,c,d,a,T12,20,0x8d2a4c8a)瓶陶厉紧次踌盏跌库栈靛炼堕痔串故缴歉豆烃甥嗓拼春梯暗纵疹游儡阵宵密码技术基础密码技术基础第2章 密码技术基础 第三轮H(a,b,c,d,T5,4,0xfffa3942
65、)H(d,a,b,c,T8,11,0x8771f681)H(c,d,a,b,T11,16,0x6d9d6122)H(b,c,d,a,T14,23,0xfde5380c)H(a,b,c,d,T1,4,0xa4beea44)H(d,a,b,c,T4,11,0x4bdecfa9)H(c,d,a,b,T7,16,0xf6bb4b60)H(b,c,d,a,T10,23,0xbebfbc70)H(a,b,c,d,T13,4,0x289b7ec6)馆滦婶苇柱什称竖抒屯担逻描踞舀辩愤削挖深域工辩拖兴锥到训冯绑脓霍密码技术基础密码技术基础第2章 密码技术基础 H(d,a,b,c,T0,11,0xeaa127fa
66、)H(c,d,a,b,T3,16,0xd4ef3085)H(b,c,d,a,T6,23,0x04881d05)H(a,b,c,d,T9,4,0xd9d4d039)H(d,a,b,c,T12,11,0xe6db99e5)H(c,d,a,b,T15,16,0x1fa27cf8)H(b,c,d,a,T2,23,0xc4ac5665)吁着孺袱橱呛仙社膀移稠润炎望如豁锹淡屠莹国兜陶羚豆亦阁烯猾牵锥量密码技术基础密码技术基础第2章 密码技术基础 第四轮I(a,b,c,d,T0,6,0xf4292244)I(d,a,b,c,T7,10,0x432aff97)I(c,d,a,b,T14,15,0xab9423
67、a7)I(b,c,d,a,T5,21,0xfc93a039)I(a,b,c,d,T12,6,0x655b59c3)I(d,a,b,c,T3,10,0x8f0ccc92)I(c,d,a,b,T10,15,0xffeff47d)I(b,c,d,a,T1,21,0x85845dd1)砷巳恍纵株懂善逗谍狭盂茹匹衍悟楚棚蛆尧罗翰巳剔馏站英哩痢洱曳拭摘密码技术基础密码技术基础第2章 密码技术基础 I(a,b,c,d,T8,6,0x6fa87e4f)I(d,a,b,c,T15,10,0xfe2ce6e0)I(c,d,a,b,T6,15,0xa3014314)I(b,c,d,a,T13,21,0x4e0811
68、a1)I(a,b,c,d,T4,6,0xf7537e82)I(d,a,b,c,T11,10,0xbd3af235)I(c,d,a,b,T2,15,0x2ad7d2bb)I(b,c,d,a,T9,21,0xeb86d391)睡褥卸楷漠斥猿遵赛耸拽剖孔萧抖磅贺讨避蹭澡媒版滁柞舍讼窜劝蓝列旨密码技术基础密码技术基础第2章 密码技术基础 常 数 x i 可 以 如 下 选 择 : 在 第 i步 中 , x i 是4294967296*abs(sin(i)的 整 数 部 分 , i的 单 位 是 弧 度 ,4294967296=232。所有这些完成之后,将a,b,c,d分别加上a,b,c,d。然后用下一
69、分组数据继续运行算法,最后的输出是a,b,c,d的级联。MD5的安全性相对MD4所做的改进:增加了第四轮;每一步均有惟一的加法常数;为减弱第二轮中函数g的对称性从(x&y)|(x&z)|(y&z)变为(x&z)|(y&(z);第一步加上了上一步的结果,这将引起更快的雪崩效应;改变了第二轮和第三轮中访问消息子分组的次序,使其更不相似;近似优化了每一轮中的循环左移位移量以实现更快的雪崩效应。各轮的位移量互不相同。挡量氯尹欲哦歉赁庙拥瓤歌茅煮葛磺写俄昏米侈箱拄猜嚏蛙如隧粥涯慢桅密码技术基础密码技术基础第2章 密码技术基础 2)SHA和SHA-1安全散列算法(SHA)是由美国国家标准和技术协会(NationalInstituteofStandardsandTechnology)开发的,该协会隶属于美国商务部,负责发放密码规程的标准。然而,该算法的安全性要比其名称所暗示的低,1994年适时发布了原始算法的修订版,称为SHA-1。与MD5相比,SHA-1生成160位的消息摘要,虽然执行更慢,却被认为更安全。明文消息的最大长度可达到264位。爽烂驰惧季代判胸辟锻摧夕牧役垣椽藻别箩哗俊冀儒凰庸今鸦栅济义捂谐密码技术基础密码技术基础