加密技术原理_第1页
加密技术原理_第2页
加密技术原理_第3页
加密技术原理_第4页
加密技术原理_第5页
全文预览已结束

下载本文档

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

文档简介

1、加密技术原理一.密钥与算法(一)密码技术密码技术的必要性必须经过公共通道(如Internet)传输的敏感信息通常不是以明文而是以密文的方式进行通讯传输的。电子商务特别依赖于加密或秘密代码形式来保护信息。加密的目的是使黑客在获得通过网络传输的秘密文件时,无法将它恢复为原文,密码技术是保证网络、信息安全的核心技术。加密技术加密是对原来明文信息中的加密为衔文数字信息。解密是将加密的一段密文信息恢复为原来的明文信息。加密就是信息的变异,它将某种形式(文本、视频、图像)的信息转变为仅通过解密密钥解密后才可读的形式。基本的加密方法有:替换加密和转换加密。替换加密法(1)单字母加密方法即利用另一个字母表(与

2、正常的字母表符号或顺序不同)中的字母替代明文中的字母。单字母加密的方法有很多中,这里介绍其中几种。例1:恺撒(Caesar)密码,这是加密法中最古老的一种,它使用的密码字母表与普通字母表相同,加密时把明文中的每个字母都用字母表中该字母右边移动固定数目后的位置的字母替代,并认为Z后面是A。这个固定数目称为偏移量,我们称其为密钥(Key)。比如,取每个字母其右边第K个字母作为偏移量,则密钥为这个数字K。举例来说,如果明文为“important”其偏移量为3,Key=3,第一个字母“i”在字目表上右移3个字母后为“L”照此类推,则密文(记做C)则为“LPSRUWDQW”。可见,即使算法公开,别人如果

3、不知道偏移量为3,仍然不能解密。加密者不必担心算法被他人知道,他主要关心密钥不被他人知道。单字母替换加密法由于是一个明文字母对应唯一一个密文字母。密码分析者可将密文中字母出现的频率与这些统计相比较,因而容易逐个击破直至最后破译。(2)多字母加密方法多字母加密是使用密钥进行加密。密钥是一组信息(一串字符)。同一个明文经过不同的密钥加密后,其密文也会不同。TOC o 1-5 h z例1:维吉尼亚(Vigenere)密码。Vigenere(维吉利亚)是法国密码专家,以他名字命名的密码是这样的:假设明文m=m1m2m3mn,密钥Key=K1K2K3Kn,对应密文C=C1C2C3Cn,则:Ci=mi+K

4、imod26,i=1,2,n,其中,26个字母的序号对应是025ABCDEFGHIJKLMNOPQRSTUVWXYZ012345678911111111112222220123456789012345Ci是密文中第i个字母的序号,mi是明文中第i个字母的序号Ki是密钥Key中第i个字母的序号,如果m=informationKey=STAR则C=AGFFJFAKAHN密钥Key的循环出现使其长度与明文一样,密文中的字母A在明文中是i和a;而明文中的字母o在密文中是F和H。Vigenere密码的密钥长度若增加,破译的难度也将增加,若密钥的长度与明文的长度一样,而且是随机的,Vigenere密码可做

5、到一次一密。Vigenere算法可以公开,但是,只要密钥Key=STAR保密,就不能解密。可见,密钥是加密技术的关键。4.转换加密法在替换加密发中,原文的顺序没被改变,而是通过各种字母映射关系把原文隐藏了起来。转换加密法是将原字母的顺序打乱,将其重新排列。如:itcanallowstudentstogetcloseupviews将其按顺序分为5个字符的字符串:itcanallowstudentstogetcloseupviews再将其按先列后行的顺序排列,就形成了密文:即密文C为“IASNGOVTLTTESICLUSTEEAODTCUWNWEOLPS”如果将每一组的字母倒排,也形成一种密文:C

6、=NACTIWOLLAEDUTSOTSTNLCTEGPUESOSWEIV数据加密是大家熟知的保证安全通信的手段。由于计算机技术的发展,人们借助于计算机进行分析处理,密码的破译能力也不断提高。(二)加密技术分类Kerckhoff原则系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。这是著名的Kerckhoff原则。算法不是重点保密对象。密钥是重点保密对象。因此,加密技术实际上是围绕着密钥展开的。当前有广泛使用的加密方法。较老的也是较简单的称为“单钥“或“秘密密钥“加密,。近来兴起的方法称“公开密钥“加密。加密技术分类根据信息加密使用的密钥体制的不同,可以将加密技术分为两类:1)对称加密体

7、制(对称密钥体制、单密钥体制)在专用网络上的安全性较满意,但是在公开的计算机网络使用时受制约。2)非对称加密体制(非对称密钥体制、公开密钥体制、公钥体制)。适合在公开的计算机网络使用。(三)DES算法概述DES(DataEncryptionStandard)算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如M

8、ode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。1算法框架:DES对64(bit)位的明文分组M进行操作,M经过

9、一个初始置换IP置换成mO,将mO明文分成左半部分和右半部分m0=(L0,R0),各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密匙结合。经过16轮后,左,右半部分合在一起经过一个末置换,这样就完成了。在每一轮中,密匙位移位,然后再从密匙的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作替代成新的32位数据,在将其置换换一次。这四步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次,就实现了。具体图所示。2DES解密在经过所有的

10、代替、置换、异或盒循环之后,你也许认为解密算法与加密算法完全不同。恰恰相反,经过精心选择的各种操作,获得了一个非常有用的性质:加密和解密使用相同的算法。DES加密和解密唯一的不同是密匙的次序相反。如果各轮加密密匙分别是K1,K2,K3.K16那么解密密匙就是K16,K15,K14K1。(四)IDEA算法IDEA是InternationalDataEncryptionAlgorithm的缩写,是1990年由瑞士联邦技术学院来学嘉X.J.Lai和Massey提出的建议标准算法称作PES(ProposedEncryptionStandard)Lai和Massey在1992年进行了改进强化了抗差分分析

11、的能力改称为IDEA它也是对64bit大小的数据块加密的分组加密算法密钥长度为128位它基于“相异代数群上的混合运算”设计思想算法用硬件和软件实现都很容易且比DES在实现上快的多。IDEA自问世以来,已经经历了大量的详细审查,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。1算法框架输入的64-位数据分组被分成4个16-位子分组:xl,X2,x3和x4。这4个子分组成为算法的第一轮的输入,总共有8轮。在每一轮中,这4个子分组相互相异或,相加,相乘,且与6个16-位子密钥相异或,相加,相乘。在轮与轮间,第二和第三个子分组交换。最后在输出变换中4个子分组与4个子密钥进行运算。在每一轮中,执行

12、的顺序如下:X1和第一个子密钥相乘。x2和第二个子密钥相加。X3和第三个子密钥相加。x4和第四个子密钥相乘。将第步和第步的结果相异或。将第(2)步和第(4)步的结果相异或。将第(5)步的结果与第五个子密钥相乘。将第(6)步和第(7)步的结果相加。将第(8)步的结果与第六个子密钥相乘。将第(7)步和第(9)步的结果相加。将第(1)步和第(9)步的结果相异或。将第(3)步和第(9)步的结果相异或。将第(2)步和第(10)步的结果相异或。将第(4)步和第(10)步的结果相异或。每一轮的输出是第(11)、(12)、(13)和(14)步的结果形成的4个子分组。将中间两个分组分组交换(最后一轮除外)后,即

13、为下一轮的输入。经过8轮运算之后,有一个最终的输出变换:X1和第一个子密钥相乘。x2和第二个子密钥相加。x3和第三个子密钥相加。x4和第四个子密钥相乘。最后,这4个子分组重新连接到一起产生密文。产生子密钥也很容易。这个算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用与输出变换)。首先,将128-位密钥分成8个16-位子密钥。这些是算法的第一批8个子密钥(第一轮六个,第二轮的头两个)。然后,密钥向左环移x位后再分成8个子密钥。开始4个用在第二轮,后面4个用在第三轮。密钥再次向左环移25位产生另外8个子密钥,如此进行直到算法结束。2评价IDEA算法的密钥长度为128位。设计者尽最大努力使该

14、算法不受差分密码分析的影响,数学家已证明IDEA算法在其8圈迭代的第4圈之后便不受差分密码分析的影响了。假定穷举法攻击有效的话,那么即使设计一种每秒种可以试验10亿个密钥的专用芯片,并将10亿片这样的芯片用于此项工作,仍需1013年才能解决问题;另一方面,若用1024片这样的芯片,有可能在一天内找到密钥,不过人们还无法找到足够的硅原子来制造这样一台机器。目前,尚无一片公开发表的试图对IDEA进行密码分析的文章。因此,就现在来看应当说IDEA是非常安全的。(五)RSA算法RSA算法是R.Rirest、ASllalnlr和L.Adleman于1977年在美国麻省理工学院开发,于1978年首次公布,

15、其算法如下:找两素数p和q取n=p*q取t=(p-1)*(q-1)取任何一个数e,要求满足et并且e与t互素(就是最大公因数为1)取d*e%t=1这样最终得到三个数:nde设消息为数M(Mn)设c=(M*d)%n就得到了加密后的消息c设m=(c*e)%n则m=M,从而完成对c的解密。注:*表示次方,上面两式中的d和e可以互换。举例找两个素数:p=47q=59这样n=p*q=2773t=(p-1)*(q-1)=2668取e=63,满足eperl-eforeach$i(1.9999)print($i),lastif$i*63%2668=1847即d=847最终我们获得关键的n=2773d=847e=63取消息M=244我们看看加密:c=M*d%n=244*847%2773用perl的大数计算来算一下:C:Tempperl-Mbigint-eprint244*847%2773465即用d对M加密后获得加密信息c=465解密

温馨提示

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

评论

0/150

提交评论