《密码学对称密码课件》由会员分享,可在线阅读,更多相关《密码学对称密码课件(50页珍藏版)》请在金锄头文库上搜索。
1、对称密码体制SymmetricCryptosystemTel9密码学对称密码主要内容古典密码现代密码体制对称密码体制分组密码序列密码公钥密码体制1949年保密系统的通信理论密码:艺术科学20世纪70年代军事、政治民用密码学对称密码分组密码将明文消息分组(每组含有多个字符,逐组地进行加密)分组密码的典型代表是DES(DataEncryptionStandard)、IDEA、AES分组密码的基本方法混乱扩散密码学对称密码分组密码的标准化计算机系统在商业中的应用,需要一种能使不同企业间进行秘密通信的加密标准DES(联邦数据加密标准)NBS(美国国家标准局)1973年开始征集1974年,IBM提交了算
2、法LUCIFER密码学对称密码关于LuciferIBM公司在60年代启动LUCIFER研究Lucifer发明者为HorstFeistel,其核心算法被称为feistel网络密码学对称密码FeistalNetwork密码学对称密码DES1977年NBS颁布FIPSPUB46原型为lucifer,但密钥降为56位,明文/密文64位软件实现原则:输入/输出均为8bits的倍数,使用标准处理器的基本指令(加法、移位)完成硬件实现原则:可以使用相同的器件来进行加/解密运算,尽量使用标准组件结构密码学对称密码DES初始置换第1轮第2轮第16轮32bit对换逆初始置换64bit 密文密文64bit 明文明文
3、置换选择2置换选择2循环左移循环左移置换选择2循环左移置换选择156bit 密钥密钥K1K2K16DES运行体制初始置换初始置换初始置换的逆置换初始置换的逆置换密码学对称密码DESE表表S盒盒置换置换P置换选择2左移左移32bit32bit28bit28bit4832KiFDES单轮运行体制密码学对称密码DESE表32 | 01 02 03 04 | 0504 | 05 06 07 08 | 0908 | 09 10 11 12 | 1312 | 13 14 15 16 | 1716 | 17 18 19 20 | 2120 | 21 22 23 24 | 2524 | 25 26 27 28
4、 | 2928 | 29 30 31 32 | 01密码学对称密码DESS变换S1S2S3S4S5S6S7S8P密钥48bits密码学对称密码S盒密码学对称密码DESS盒(S1) . 14 04 13 01 02 15 11 08 03 10 06 12 05 09 00 07 00 15 07 04 14 02 13 01 10 06 12 11 09 05 03 08 04 01 14 08 13 06 02 11 15 12 09 07 03 10 05 00 15 12 08 02 04 09 01 07 05 11 03 14 10 00 06 13惟一的非线性部分!密码学对称密码D
5、ESP盒16 07 20 21 29 12 28 1701 15 23 26 05 18 31 1002 08 24 14 32 27 03 0919 13 30 06 22 11 04 25密码学对称密码DESE表表S盒盒置换置换P32bit32bit4832F密码学对称密码DES子密钥的产生64bits密钥k删除8个校验比特,进行PC-1置换分为左右两部分C0,D0对于第i轮,Ci=LSi(Ci-1),Di=LSi(Di-1),k=PC-2(CiDi)密码学对称密码DESPC-1置换574941332517915850423426181025951433527191136052443663
6、55473931231576254463830221466153453729211352820124密码学对称密码DESPC-2置换1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932密码学对称密码DES安全性DES的安全性主要依赖于8个非线性代换S-盒DES算法目前最大的问题就是实际56比特的密钥长度不足以抵御穷举式攻击弱密钥问题弱密钥、半弱密钥密码学对称密码DES改进S盒随机化三重DES(为什么不用二重DES?)密码学对称密码DES针对DES的密码分析差分分析法属于选
7、择明文攻击基本思想:通过分析特定明文差对结果密文差的影响来获得可能性最大的密钥247对选择明文,攻击复杂度降到O(237)密码学对称密码DES针对DES的密码分析线性分析法思想:用线性近似描述DES变换根据247已知明文,可以找到DES的密钥密码学对称密码对称密码体制其他分组密码体系IDEA1990年,由来学嘉与JamesMassey提出1992年修订完成输入/输出:64bits密钥:128bits密码学对称密码对称密码体制其他分组密码体系AES1997年NIST宣布征集AES算法要求:与三重DES比,要快且至少一样安全,分组128位,密钥128/192/256位1998年确定第一轮15个候选
8、者1999年确定第二轮五个候选者:MARS,RC6,Rijndael,Serpent,Twofish2000年底Rijndael胜出,2001年11月出版了最终标准FIPSPUB197密码学对称密码Rijndael分组长度分组长度(bit)128192256密钥长度密钥长度(bit)128192256分组长度和密钥长度的不同取值分组长度和密钥长度的不同取值密码学对称密码ByteSubstitutionByteRotationMixColumn+Round Key轮函数构成密码学对称密码AES密码学对称密码AESAES的4层轮函数之一密码学对称密码AESAES的S盒密码学对称密码AESAES的4
9、层轮函数之二04812159132610143711150481259131101426153711循环左移循环左移1字节字节循环左移循环左移2字节字节循环左移循环左移3字节字节密码学对称密码AESAES的4层轮函数之三密码学对称密码AESAES的4层轮函数之四密码学对称密码AES加密过程初始阶段:只计算轮函数四19轮:依次计算轮函数一四10轮:计算轮函数一、二、四密码学对称密码Plaintext(128 bits)ByteSubstitutionMixColumnCiphertext(128 bits) K0Kii=10ByteRotationfor i=1 to 10Ciphertext(
10、128 bits) K10InvMixCoumnInvByteRotationInvByteSubstitution KiPlaintext(128 bits)i = 9for i=9 to 0加密加密解密解密AES密码学对称密码AES密钥扩展K0,0K0,1K0,2K0,3K1,0K1,1K1,2K1,3K2,0K2,1K2,2K2,3K3,0K3,1K3,2K3,3K0K1K2K3密码学对称密码K0K1K2K3K4K5K6K7ByteSubstitutionByteRotate+RconAES密钥扩展密码学对称密码AES密钥扩展K0K1K2K3K4K5K6K7+密码学对称密码AES轮密钥选
11、取K0K1K2K3K4K5K6K7K8K9K10K11K12轮密钥轮密钥0轮密钥轮密钥1轮密钥轮密钥2密码学对称密码AES密码学对称密码对称密码体制AES消除了DES中出现的弱密钥的可能消除了IDEA中发现的弱密钥使用有限域逆运算构造的S盒,可使线性逼近和差分均匀分布。有效抵抗了线性攻击和差分攻击。密码学对称密码对称密码体制分组密码操作模式电子密码本(electroniccodebookmode)ECB密码分组链接(cipherblockchaining)CBC密码反馈(cipherfeedback)CFB输出反馈(outputfeedback)OFB密码学对称密码密码分组链接密码学对称密码密
12、码反馈密码学对称密码输出反馈密码学对称密码对称密码体制序列密码军事和外交使用的主要密码技术产生伪随机序列,对消息按比特进行数据处理常用方法LFSR非线性序列反馈器密码学对称密码RC4RonRivest于1987年发明广泛用于SSL、WEP等协议密码学对称密码RC4S盒初始化线性填充S,循环填充Kfor i = 0 to 255 doSi = iKi = Keyi mod keylen对i0255:计算j,交换Si与Sjj = 0for i = 0 to 255 do j = (j + Si + Ki) (mod 256) swap (Si, Sj)密码学对称密码RC4加密i = j = 0 for each message byte Mii = (i + 1) (mod 256)j = (j + Si) (mod 256)swap(Si, Sj)t = (Si + Sj) (mod 256) Ci = Mi XOR St密码学对称密码0789105213349011ijtkMC密码学对称密码?密码学对称密码