保密专业实习密码学部分
——DES实现及S盒安全性分析
DES算法:
DES算法处理数据对象是一组64比特明文串。设该明文串为m=m1m2…m64 (mi=0或1),明文串经过64比特密钥K来加密,最终生成长度为64比特密文E。其加密过程图示以下:
其中关键步骤包含:矩阵置换、扩展、左移、异或、左右交换、S盒作用。其中S盒安全性对于破解DES体系是至关关键。对于同一个S盒含有相同输入异或全部输入6比特组输出4比特异或值有一定规律,输出异或并不是均匀分布,而是仅分布在极少多个4比特值中。正是这种输入输出输出异或间不均匀性能够被攻击者利用并破解密钥。此方法对可选择明文攻击尤为有效,即为差分攻击。此处我们将差分定义为比特异或操作。即:x'=x1⊕x2,y'=y1⊕y2,其中x1和x2是S盒6位输入,y1和y2是对应4位输出,即x1->S=y1,x2->S=y2。
试验要求:
手工输入密钥(64bit),检测是否为弱密钥(检测每一轮子密钥是否相同,若K1=K2=...=K16则K为弱密钥),同时给出DES算法中全部弱密钥;
实现DES加解密过程(ECB模式), 输出每一轮轮变换结果;
密钥改变1bit,对比对应密文改变(雪崩效应);
4、 输出8个S盒差分分布表(8个64*16矩阵,以下图所表示为S1差分分布表)。
保密专业实习密码学部分样稿 来自淘豆网m.daumloan.com转载请标明出处.