应用密码学对称密码体制概念和操作模式_第1页
应用密码学对称密码体制概念和操作模式_第2页
应用密码学对称密码体制概念和操作模式_第3页
应用密码学对称密码体制概念和操作模式_第4页
应用密码学对称密码体制概念和操作模式_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、应用密码学(Applied Cryptography)对称密码体制概念和操作模式学习要点:对称密码体制的基本概念分组密码原理分组密码操作模式DES和AES两种典型的对称密码算法53高级加密标准(AES)高级加密标准(AES)1997年4月15日,(美国)国家标准技术研究所(NIST)发起征集高级加密标准(Advanced Encryption Standard)AES的活动,活动目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加密标准。1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。对AES的基本要求是:比三重DES快、至少与三重DE

2、S一样安全、数据分组长度为128比特、密钥长度为128/192/256比特。高级加密标准(AES)1998年8月20日:NIST召开了第一次候选大会,并公布了15个候选算法1999年3月22日:NIST从15个候选算法中公布了5个进入第二轮选择:MARS,RC6, Rijndael,SERPENT 和 Twofish2000年10月2日:以安全性、性能、大小、实现特性为标准而最终选定了 Rijndael 算法2001年:正式发布AES标准 Rijndael 算法是由两位比利时的密码专家发明的,它很快而且所需的内存不多,这个算法非常可靠Rijndael 算法的设计策略是针对差分分析和线性分析提出

3、来的,是一个分组迭代密码,具有可变的分组长度和密钥长度 Rijndael 汇聚了安全性能、效率、可实现性和灵活性等优点AES参数破译时间:NIST对 Rijndael 算法的评估准则及结论见课本P84Square结构AES的加密与解密字节代替SubBytes列混淆MixColumns行移位ShiftRows轮密钥加AddRoundKeyAES的基本运算 字节代替SubBytes列混淆MixColumns轮密钥加AddRoundKey行移位ShiftRows“三代替、一换位”有限域GF(28)上的字节运算 加法“+”:字节的按位异或运算()+()()其中,i0,1,7。乘法“” 是普通多项式乘法

4、,但系数运算可看作比特的乘法和异或运算,即看作域0,1上的运算 例子(01110011)(10010101)所以,(01110011)(10010101)(01110000) 乘法的实际计算方法讨论再看前面的例子 (01110011)(10010101)(01110000),即(73)(95)(70) (01110011)(10010101)(00000001)+(00000010)+(00010000)+(00100000)+(01000000) (10010101)(00000001) (10010101)(00000010) (10010101)(00010000) (10010101)

5、(00100000) (10010101)(01000000) (10010101)(10010101) (00101010) (00011011) (00010000) (10010101)(00100000) (10010101)(01000000) (10010101)(10010101) (00110001) (10001000) (00011011) (00100000) (10010101)(01000000) (10010101)(10010101) (00110001) (10010011) (00100110) (00011011) (01000000) (10010101)

6、(10010101) (00110001) (10010011) (00111101) (01111010)(01110000)(70)基于表操作的有限域乘法运算 例子查对数表:73=03(15),95=03 (16)则7395=03 (15)03 (15)03(15)(16)03(2B) 查反对数表:03 (2B) 表示的域元素为70 说明739570 对数表xy=03L(xy) L(xy)y0123456789abcdefx000190132021ac64bc71b6833eedf0316404e00e348d81ef4c7108c8f8691cc127dc21db5f9b9276a4de

7、4a6729ac909783652f8a05210fe12412f082453593da8e4968fdbbd36d0ce94135cd2f140468338566ddfd30bf068b62b325e2982288911067e6e48c3a3b61e423a6b2854fa853dba72b790a159b9f5eca4ed4ace5f373a7578af58a850f4ead6744faee9d5e7e6ade892cd7757aeb160bf559cb5fb09ca951a0a7f0cf66f17c449ecd8431f2da4767bb7bccbb3e5afb60b1863b52a1

8、6caa55299dc97b2879061bedcfcbc95cfcd373f5bd1d5339843c41a26d47142a9e5d56f2d3abe441192d923202e89b47cb8267799e3a5f674aeddec531fe180d638c80c0f77007反对数表域元素E=03(xy) E(xy)y0123456789abcdefx00103050f113355ff1a2e7296a1f8133515fe13848d87395a4f702060a1e2266aa2e5345ce43759eb266abed97090abe631353f5040c143c44cc4fd

9、168b8d36eb2cd44cd467a9e03b4dd762a6f108182878885839eb9d06bbddc7f8198b3ce49db769a6b5c457f9103050f00b1d2769bbd661a37fe192b7d8792adec2f7193aee92060a08fb163a4ed26db7c25de73256fa153f419c35ee23d47c940c05bed2c749cbfda75a9fbad564acef2a7e829dbcdf7a8e8980b9bb6c158e82365afea256fb1c843c554cfc1f2163a5f407091b2d77

10、99b0cb46cad45cf4ade798b8691a8e33e42c651f30ee12365aee297b8d8c8f8a8594a7f20d17f394bdd7c8497a2fd1c246cb4c752f601查表求任意域元素的逆 方法:除了00外所有的域元素都有逆如果,则,或用十六进制表示为: 例子查对数表:95=03 (16)其逆为:95-1=03 (ff)-(16)=03 (e9)查反对数表:03 (e9) 8a 故95的逆为8a 字运算系数在有限域GF(28)上的多项式运算 例子S盒变换SubBytes是一个基于S盒的非线性置换映射方法:把输入字节的高4位作为S盒的行值,低4位

11、作为列值,然后取出S盒中对应行和列的元素作为输出 SubBytes变换的两个步骤 步一:把S盒中的每个字节映射为它在有限域GF(28)中的乘法逆 步二:例子“95”的乘法逆为“8a”,二进制表示为“10001010”结果为“00101010”,十六进制表示为“2a” 列混合变换MixColumns 列混合操作是将状态的列看作有限域GF(28)上的4维向量,并与有限域GF(28)上的一个固定可逆方阵A相乘,表示为AS=S形式。行移位运算ShiftRows 轮密钥加变换AddRoundKey AES的解密 解密过程除轮密钥加AddRoundKey不变外,其余的字节代替SubBytes、行移位Shi

12、ftRows、列混淆MixColumns都要进行求逆变换。即InvSubBytes、 InvShiftRows 、 InvMixColumns运算。逆字节代替InvSubBytes 逆S盒y0123456789abcdefx052096ad53036a538bf40a39e81f3d7fb17ce339829b2fff87348e4344c4dee9cb2547b9432a6c2233dee4c950b42fac34e3082ea16628d924b2765ba2496d8bd125472f8f66486689816d4a45ccc5d65b69256c704850fdedb9da5e1546

13、57a78d9d84690d8ab008cbcd30af7e45805b8b345067d02c1e8fca3f0f02c1afbd0301138a6b83a9111414f67dcea97f2cfcef0b4e673996ac7422e7ad3585e2f937e81c75df6ea47f11a711d29c5896fb7620eaa18be1bbfc563e4bc6d279209adbc0fe78cd5af4c1fdda8338807c731b11210592780ec5fd60517fa919b54a0d2de57a9f93c99cefea0e03b4dae2af5b0c8ebbb3c8

14、3539961f172b047eba77d626e169146355210c7d仿射变换的逆变换例子输入:“2a” ,二进制表示“00101010”仿射结果为“10001010”,十六进制表示为“8a”再计算乘法逆:“8a”在GF(28)中的乘法逆为“95” 逆行移位InvShiftRows 与行移位相反,逆行移位将态State的后三行按相反的方向进行移位操作 逆列混淆InvMixColumns SS验证:0E 470B 370D 9409 ED=870E 47=(00001110)(01000111)(00000010)(00000100) (00001000) (01000111)=(00

15、000010) (01000111)(00000100) (01000111)(00001000) 01000111)=(10001110) (00011100) (00011011) (00001000) (01000111)=(10001110) (00000111) (00001110)=(10000111)0B 37=(00001011) (00110111)=(00000001) (00000010) (00001000) (00110111)=(00110111)(01101110) (10111000) (00011011)=(11111010)0D 94=(00001101) (10010100)=(0000001) (00000100) (00001000) (10010100)=(10010100) (01100110) (11001100)=(00111110)09 ED=(00001001) (11101101)=(00000001) (00001000) (11101101)=(11101101) (00101001)=(11000100)0E 470B 370D 9409 ED=(10000111)(11111010) (00111110) (11000100)=(10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论