首页 密码学数据加密标准(DES)

密码学数据加密标准(DES)

举报
开通vip

密码学数据加密标准(DES)4. 数据加密标准(DES) (Data Encryption Standard) 4.1 分组密码概述 1、 分组密码体制的设计有下面的技术要求: (1) 分组长度m要足够大,以防止明文穷举的攻击。 (2) 密钥量应足够大,以防止密钥穷举的攻击。 (3) 密码的法足够复杂,使破译者除了采用穷举法攻击以外,找不到其它简洁的数字破译算法。 二.密文块的长度与明文块长度间关系。 4.2 数据加密标准(DES) 一、DES加密算法简介 二、DES加密算法的粗框 以每一个明文块的加密...

密码学数据加密标准(DES)
4. 数据加密 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 (DES) (Data Encryption Standard) 4.1 分组密码概述 1、 分组密码体制的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 有下面的技术要求: (1) 分组长度m要足够大,以防止明文穷举的攻击。 (2) 密钥量应足够大,以防止密钥穷举的攻击。 (3) 密码的法足够复杂,使破译者除了采用穷举法攻击以外,找不到其它简洁的数字破译算法。 二.密文块的长度与明文块长度间关系。 4.2 数据加密标准(DES) 一、DES加密算法简介 二、DES加密算法的粗框 以每一个明文块的加密过程为例给出DES加密的过程,简单的用一句话可概述这个加密过程:将64bit的明文块在56bit的密钥控制下变换为64bit的密文块,其加密过程包括16次选代(即16圈)每次选代都由替代和移位的复合而形成的。 粗框说明 第i圈: 输入:L(i-1) R(i-1) 输出:L(i)=R(i-1) R(i)=gk(i)(R(i-1))( L(i-1) 或令Pi-1= gk(i)(R(i-1)) 则R(i)=P i-1 ( L(i-1) R(i)= gk(i) ( L(i-1))( L(i-1) 32位 32位 48 48 48位 三、DES加密算法的详细说明 1、 内部密钥的派生 对于每一个明文信息,其加密过程要给定一个56位的密钥K来确定明—密文块的对应关系,16个内部密钥K(1),K(2),…,K(16)如何由给定的密钥K(外部密钥)产生,其过程如下: 56位 28位 28位 56 56 56 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 1 对应不同i的左循环移位位数 选代次数i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 左移位数h(i) 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 说明:(1)外部密钥,K=K1K2K3……K64是64bit ,但其中K8,K16,K24,K32,K40,K48,K56,K64 这8位是奇偶校验位,在进入置换选择1之前就已被去掉了。 (2) 置换选择1 C-1的作用是将外部密钥剩下的56位分成两个部分,称为左半 部分C0和右半部分D0,各具28位。具体分割算法如下: 左半部分 C0 = K57 K49 K41 K33 K25 K17 K9 K1 K58 K50 K42 K34 K26 K18 K10 K2 K59 K51 K43 K35 K27 K19 K11 K3 K60 K52 K44 K36 右半部分 D0 = K63 K55 K47 K39 K31 K23 K15 K7 K62 K54 K46 K38 K30 K22 K14 K6 K61 K53 K45 K37 K29 K21 K13 K5 K28 K20 K12 K4 分划的规则是什么呢?也就是说K中哪些位属于C0,哪些位属于D0。如何确定呢?有什么规律呢? 我们用下面的方法来描述它的分划原则: 将外部密钥K= K1 K2…K64的各位排成8行8列的矩阵。 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 K20 K21 K22 K23 K24 K25 K25 K27 K28 K29 K30 K31 K32 K33 K34 K35 K36 K37 K38 K39 K40 K41 K42 K43 K44 K45 K46 K47 K48 K49 K50 K51 K52 K53 K54 K55 K56 K57 K58 K59 K60 K61 K62 K63 K64 (3) C0 和D0生成后,生成K(1)按如下步骤进行 (a) 将C0 和D0各循环左移h(1)=1位,分别得到C1和D1 (b) 通过置换选择2(PC-2),将56位的向量(C1,D1)变成48位的密钥 向量 K(1)。 置换选择2(PC-2) (4) 置换选择2(PC-2) 假设C=c1c2(c28 D=d29d30(d56 去掉c9,c18, c22,c25, d35, d38,d43, d54然后按下表置换。 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 得 K(1)= c14 c17 c11 c24 c1 c5 c3 c28 c15 c6 c21 c10 c23 c19 c12 c4 c26 c8 c16 c7 c27 c20 c13 c2 d41 d52 d31 d37 d47 d55 d30 d40 d51 d45 d33 d48 d44 d49 d39 d56 d34 d53 d46 d42 d50 d36 d29 d32 (5) Ci-1 和D i-1生成后,生成K(i)的步骤与(3)相同 (a) 将Ci-1 和D i-1各循环左移h(i)位,分别得到Ci 和 D i 左移位数h(i)随着i的不同,而有所差异(见表1) (b) 通过置换选择2将56位的向量(Ci D i)变换成48位的密钥向量K(i) K(i)=K1(i)K2(i)…K24(i)K25(i)…K48(i)。 DES进入加密算法之前,首先必须将内部密钥K(1),…K(16)派生 出来。 2、 初始置换IP: 初始置换的作用是将64位的明文块 X 分成两部分,左半部分L(0) 和右半部分R(0),每一部分均匀为32位。具体分法是: L(0)= X58 X50 X42 X34 X26 X18 X10 X2 X60 X52 X44 X36 X28 X20 X12 X4 X62 X54 X46 X38 X30 X22 X14 X6 X64 X56 X48 X40 X32 X24 X16 X8 R(0)= X57 X49 X41 X33 X25 X17 X9 X1 X59 X51 X43 X35 X27 X19 X11 X3 X61 X53 X45 X37 X29 X21 X13 X5 X63 X55 X47 X39 X31 X23 X15 X7 分割的规则是什么呢?亦即如何确定L(0)和R(0)各是由些什么位组成,按什么样的次序组成呢?下面介绍生成L(0)和R(0)的方法。 将明文块X=X1X2…X64排成8行8列的矩阵(如下) R(0) ① ③ ⑤ ⑦ X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X25 X27 X28 X29 X30 X31 X32 X33 X34 X35 X36 X37 X38 X39 X40 X41 X42 X43 X44 X45 X46 X47 X48 X49 X50 X51 X52 X53 X54 X55 X56 X57 X58 X59 X60 X61 X62 X63 X64 ② ④ ⑥ ⑧ L(0) 3、 逆初始置换(IP-1) 两个32bit的预输出数据块R(16),L(16)要经过逆初始置换,才能产生出真正的64bit的密文块y=y1 y1…y64。 假设R(16)=r1(16)r2(16)…r32(16), L(16)=l1(16) l2(16)…l32(16) 简记作 R(16)=r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r30 r32 L(16)= l1 l2 l3 l4 l5 l6 l7 l8 l 9 l10 l11 l12 l13 l14 l15 l16 l17 l18 l19 l20 l21 l22 l23 l24 l25 l26 l27 l28 l29 l30 l31 l32 ② ④ ⑥ ⑧ l8 r8 l16 r16 l24 r24 l32 r32 l7 r7 l15 r15 l23 r223 l31 r31 l6 r6 l14 r14 l22 r22 l30 r30 l5 r5 l13 r13 l21 r21 l29 r29 l4 r4 l12 r12 l20 r20 l28 r28 l3 r3 l11 r11 l19 r19 l27 r27 l2 r2 l10 r10 l18 r18 l26 r26 l1 r1 l9 r9 l17 r17 l25 r25 ① ③ ⑤ ⑦ 初始置换与逆初始置换的比较: 初始置换: 明文块X= X1X2…X64 L(0),R(0) (1) 将X按行的自然递增次序逐位填入8*8矩阵的各行中。 (2) 在矩阵中按照从下至上的方式依次取出2、4、6、8列中的元素构成左半部L(0)的32bit。 (3) 在矩阵中按照从下至上的方式依次取出1、3、5、7列中的元素构成右半部R(0)的32bit。 逆初始置换: R(16),L(16)(密文块Y=y1y2… y64 (2)-1将左半部R(16)的32bit按照(2)中取出的方式逐位还原填入矩阵的2、4、6、8列中; (3)-1将右半部L(16)的32bit按照(3)中取出的方式逐位还原填入矩阵的1、3、5、7列中。 (1)-1将8*8矩阵中的元素按照行的自然递增顺序逐位取出。 由上述可见,逆初始置换是初始置换的逆变换。 三、加密函数g的详细说明 32位 48位 48位 48位 32位 32为位 32位 1、E扩展 R(i-1)是32位,E扩展将它扩展为48位的E(R(i-1)),其扩展方法如下: 设R(i-1)=r1r2r3… r31r32 将其分成8组,每4位一组(每一组扩展成6位)。 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r32 r1 r2 r3 r4 r5 r4 r5 r6 r7 r8 r9 r8 r9 r10 r11 r12 r12 r13 r14 r15 r16 r17 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 r32 r16 r17 r18 r19 r20 r21 r2` r21 r22 r23 r24 r25 r24 r25 r26 r27 r28 r29 r28 r29 r30 r31 r32 r1 则E(R(i-1))= r32 r1 r2 r3 r4 r5 r6 r7 r8 r9 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r24 r25 r26 r27 r28 r29 r30 r30 r32 r1 2、 替代运算(S盒) S1盒 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 S1 1 2 3 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 1、 P置换(移位变换) 设B= b1b2… b32 则P(B)= b16 b7 b20 b21 b29 b12 b28 b17 b1 b15 b23 b26 b5 b18 b31 b10 b2 b8 b24 b14 b32 b27 b3 b9 b19 b13 b30 b6 b22 b11 b4 b25 DES解脱密算 1、 DES脱密算法 (1) 一个64bit的数据块分成两个32位的数据块 (2) 逆初始置换:是将两个32位的数据合并成一个64位的数据块合并的方法是(例如XL XR)逆初始置换是初始置换的逆变换。 XL XR X 因为初始置换将明文块X=X1 X2 … X64 分成了L(0),R(0),所以必可将L(0),R(0)合并成X=X1 X2 … X64 。 (3) 每一圈输出与输入的关系 每一圈中输出对输入的一个函数依赖关系。 L(i)=R(i-1)…(1) (i=1,2,…,16) R(i)=L(i-1) gK(i)(R(i-1))…(2) 2、进行第一圈脱密时,R(16)C (由脱密过程的推图的第一圈) R(16)=L(15) gK(16)(L(15))=L(15) gK(16)(L(16)) 由异或运算的性质(若A B=C则B C=A A C=B)​可得 DES脱密算法 初始置换IP 明文块 X=x1 x2。。。。。。。。x 64 L(0)=l1(0),…,l32(0) R(0)=r1(0),…,r32(0) g L(1)=l1(1),…,l32(1) R(1)=r1(1),…,r32(1) g R(2)=r1(2),…,r32(2) L(2)=l1(2),…,l32(2) R(15)=r1(15),…,r32(15) L(15)=l1(15),…,l32(15) L(16)=l1(16),…,l32(16) g R(16)=r1(16),…,r32(16) L(16) R(16) 逆初始置换(IP) 密文块y= y1y2…y64 外部密钥K=K1 K2…K64 置换选择1 PC-1 K(15) 置换选择2 PC----2 C15 …. 循环左移h(2)位 K(1) 循环左移h(2)位 D1 PC-----2 C0 循环左移h(1)位 循环左移h(16)位 循环左移h(16)位 D0 C1 … D15 置换选择2 PC----2 C2 K(2) R(i-1) E扩展 E(R(i-1)) K(i) S8 A=E( R(i-1) ) K(i) S1 B gK(i)(R(i-1))=Pi-1(B) X 初始置换 初始置换 密文块y=y1y2 … y64 初始置换 L(16) R(16) g L(15) R(15) g L(14) R(14) R(1) L(1) g R(0) L(0) R(0) L(0) 逆初始置换 明文块X=X1X2 … Xn K(1) D2 循环左移h(1)位 简单移位变换 K(2) …… …… K(16) C16 D16 置换选择2 PC----2 K(16) 内部密钥产生过程 48位 48位 48位 P(B) R(i)=L(i-1) P(B) L(i)=R(i-1) L(i-1) 明文块X=x1x2……xn K(15) K(1) K(16) PAGE 9 _1104063718.unknown _1104063792.unknown _1104063046.unknown
本文档为【密码学数据加密标准(DES)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_639589
暂无简介~
格式:doc
大小:169KB
软件:Word
页数:9
分类:互联网
上传时间:2018-09-06
浏览量:45