DES置换密码.doc_第1页
DES置换密码.doc_第2页
DES置换密码.doc_第3页
DES置换密码.doc_第4页
DES置换密码.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

置换密码 ( Permutation Cipher )1.置换密码又称为换位密码;2.置换密码通过改变明文消息各元素的相对位置,但明文消息元素本身的取值或内容形式不变;3.在前面的替代密码中,则可以认为是保持明文的符号顺序,但是将它们用其它符号来替代;4.这种密码是把明文中各字符的位置次序重新排列来得到密文的一种密码体制。实现的方法多种多样。直接把明文顺序倒过来,然后排成固定长度的字母组作为密文就是一种最简单的置换密码。DES概述1.分组加密算法:明文和密文为64位分组长度2.对称算法:加密和解密除密钥编排不同外,使用同一算法3.密钥长度: 密钥:k=k1k2k64 ki = 0,1 (i = 1,2,64 )(其中k8,k16,k64是奇偶校验位,起作用的仅为56位)4.密钥可为任意的56位数,但存在弱密钥,容易避开5.采用混乱和扩散的组合,每个组合先替代后置换,共16轮6.只使用了标准的算术和逻辑运算,易于实现DES的描述1.DES利用56比特长度的密钥K2.分组长度64比特,密文64比特3.算法分三个阶段实现:3.1.对明文X,通过一个固定的初始置换IP得到X0。X0=IP(X)=L0R0分为左右两部分3.2.函数F的16次迭代:LiRi(1=i=16)Li=Ri-1, Ri=Li-1 F(Ri-1, Ki)其中Ki是长为48位的子密钥。子密钥K1,K2,K16是作为密钥K(56位)的函数而计算出的。3.3.对比特串R16L16使用逆置换IP-1得到密文Y。Y=IP-1(R16L16)4. DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。DES算法整体示意图密钥K计算子密钥:1.密钥K是长度为64的位串,56位参加子密钥编排。8位是奇偶校验位(为了检错),在密钥编排的计算中,不参加运算。(1). 给定64位的密钥K,放弃奇偶校验位(8,16,64)并根据固定置换PC-1(来排列K中剩下的位。我们写 PC-1(K)=C0D0其中C0由PC-1(K)的前28位组成;D0由后28位组成。(2)对1=i=16,计算Ci=LSi(Ci-1)Di=LSi(Di-1)LSi表示循环左移2或1个位置,取决于i的的值。i=1,2,9和16 时移1个位置,否则移2位置2.Ki=PC-2(CiDi), PC-2为固定置注:一共16轮,每一轮使用K生成的一个子密钥。可算出16个表,第i个表中的元素可对应上第i轮密钥使用K中第几比特!如:第7轮的表7:K7取K中的比特情况:轮密钥编排DES中的子密钥的生成3.DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,整个算法的主流程图如下:其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则IP见下表:4.即将输入的第58位换到第一位,第50位换到第2位,.,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0 是右32位,例:设置换前的输入值为D1D2D3.D64,则经过初始置换后的结果为:L0=D58D50.D8;R0=D57D49.D7。5.经过16次迭代运算后。得到L16、R16,将此作为输入,进行逆置换IP-1 ,即得到密文输出。逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换,又将第40位换回到第1位,其逆置换规则如下表所示:乘积变换 选择扩展运算E。将输入的32 bit Ri-1扩展成48 bit的输出,令s表示E原输入数据比特的原下标,则E的输出是将原下标s0或1(mod 4)的各比特重复一次得到的,即对原第32, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29各位都重复一次,实现数据扩展。将表中数据按行读出得到48 bit输出。 密钥加密运算。将子密钥产生器输出的48 bit子密钥ki与选择扩展运算E输出的48 bits数据按位模2相加。选择压缩运算S。将前面送来的48 bit数据自左至右分成8组,每组为6 bit。而后并行送入8个S一盒,每个S盒为一非线性代s盒省略。对F函数的说明1.F(Ri-1, Ki):2.函数F有两个输入:32的消息A=R(32bits)作第一个输入,48比特的子密钥J=K(48bits)作为第二个输入。产生的输出为长度为32的位串。(1)对第一个变元A,先利用扩展函数E,扩展成48位E(A)(2)计算E(A)+J,结果写成8个6位串,B=b1b2b3b4b5b6b7b8(3)使用8个S盒,每个Sj是一个固定的416矩阵,它的元素取015的整数。给定长度为6个比特串,如Bj=b1b2b3b4b5b6计算Sj(Bj)如下:b1b6两个比特确定了Sj的行数, r(0=r=3); 而b2b3b4b5四个比特确定了Sj的列数c(0=c=15)。最后Sj(Bj)的值为S-盒矩阵Sj中r行c列的元素(r,c), 得Cj=Sj(Bj)。(4) 最后,P为固定置换。 至此,我们已将DES算法的基本构成作了介绍,加密过程可归结如下:令IP表示初始置换,KS表示密钥运算,i为迭代次数变量,KEY为64 bit密钥,f为加密函数,表示逐位模2求和。PKI的定义PKI是一个用公钥概念与技术来实施和提供安全服务的普适性基础设施。PKIX的定义:是一组建立在公开密钥算法基础上的硬件、软件、人员和应用程序的集合,它应具备产生、管理、存储、分发和废止证书的能力。PKI主要完成功能:为用户生成一对密钥(公开密钥,私有密钥),并通过一定的途径分发给用户;CA为用户签发数字证书,形成用户的公开密钥信息,并通过一定的途径分发给用户;对用户证书的有效性进行验证;对用户的数字证书进行管理。这些管理包括有效证书的公布、撤销证书的公布、证书归档等。PKI中的证书1.证书(certificate),有

温馨提示

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

评论

0/150

提交评论