数据加密与校验纠错码相结合的一点尝试(精).doc_第1页
数据加密与校验纠错码相结合的一点尝试(精).doc_第2页
数据加密与校验纠错码相结合的一点尝试(精).doc_第3页
数据加密与校验纠错码相结合的一点尝试(精).doc_第4页
数据加密与校验纠错码相结合的一点尝试(精).doc_第5页
全文预览已结束

下载本文档

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

文档简介

数据加密与校验纠错码相结合的一点尝试陈晓蕾(单位:苏州市工业园区娄葑学校 215001)摘要:数据加密及校验纠错方法很多,但往往都是独立处理的。针对此问题,本文阐述了一种数据加密与校验纠错相结合进行数据加工的方法。一、引 言随着因特网的日益普及,网络信息在人类社会生产实践中扮演着越来越重要的角色,越来越多地影响着人们生活的各个方面,网络信息安全问题自然上升到一个前所未有的高度,引起了所有人的关注。任何信息发生意料之外的泄露,都将引起一连串的烦恼与错误。小至个人隐私的名誉受损,大至商业机密的恶意窃取,都使得数据的传输在方便、快捷之余增添了无穷无尽的担忧与忐忑。因此,数据加密成为必不可少的一道关卡。数据加密给数据加工增加了许多负担,然而,为使重要数据得到更为稳妥的处置,加密解密工作将更加繁杂。如何使加密、解密工作以最小的消耗来获得最佳的效果,成为很多人孜孜以求的目标。本文在简介密码学的一般常用方法后,重点阐述笔者关于加密与校验相结合的一点思考,旨在对数据加密的同时尽量简化一些并非必要的工作,使总工作量得以减少。二、密码学常用加密方法众所周知,加密是在与窃密的斗争中反复改进,不断成长的。一方面是越来越高的加密要求,而另一方面则是紧随其后的窃密破坏,迫使加密的手段也日趋专业化、系统化,以应付越来越刁钻的窃密手法。最初的加密简单而直接,经历了替代和换位两个阶段。1、替代密码替代密码通过对原文经过一系列替代处理后形成新的码文,以达到加密的要求。接受方再经过相应的反处理即可恢复成原文。举例来说,要传输一个商定的会晤日期20020212,可以通过逐位加1乘2再加3的步骤获得密文95595979。密文的接收方则可在受到密文后,用事先商定好的减3除2再减1的方法来获取原文。这种方法过于简单,极易泄密。窃密者在观察截获的密文时不难发现,前四位年份呈对称性,有可能的不是2002就是1991,则密文可翻译成200202?2或199191?1,而月份91不合实际,该密文可基本上确定为200202?2;下一步则通过观察9与2、5与0的关系来找出7所代表的数字,相信并非难事。2、换位密码换位密码比替代密码略胜一筹,换位密码不对原来的数字进行变换,只是通过一个数字序列作为密钥来改变它们的排列顺序。该方法也有严重的不足之处。以圆周率3.14159265358979323846264338327950288419716939931510为例,本例中以523461作为密钥对圆周率进行加密。首先按密钥长度6对原文进行分组可得3.1415 926535 897932 384626 433832 795028 841971 693993 1510(包括标点符号),则每组数据分别按密钥顺序523461排列可得5.1431(3在第5位,.在第2位,1在第3位,4在第4位,1在第6位,5在第1位) 526593 297983 684632 233843 895072 141987 393969 5101。这样的数据自然很难看出它的真面目,但在破译专家眼中根本不成问题,他们可以试着用不同长度的密钥来一一试验,直至找出最终符合期望的数据排列方式。在现代高速运行电脑的帮助下,这一切看似不可能的工作实际上并不需要花费太多时间。只有不断增加密钥长度,才能略微提高数据不被破解的可能性。但也带来了加密与解密工作的繁琐与复杂性,而用以加密与解密的密钥如何在异地进行统一也是一个令人烦恼的问题。因此,更好的加密方法应运而生。三、秘密密钥与公开密钥与传统的换位密码思路不同,现代密码学的重点不在于寻找越来越长的密钥,而是把替代密码与换位密码相结合,使用较为复杂的算法对原文进行改造,通过不止一次的替代加工数据,以达到掩盖其真实面貌的目的。随之而来的问题是:这个复杂的秘密密钥将通过何种途径来进行传送呢?如果公开传送,无异于前功尽弃;而加密传送时又要产生另一个密钥,根本解决不了问题;除非当面传送。对经常需要更换密钥的部门而言,这还不如直接交递原文来得方便。幸运的是,专家们反其道而行,运用逆向思维来提出了“公开密钥”的思路。即抛开保守密钥的麻烦,直接将加密密钥公开,但要求与之相应的解密过程很难求得,即使掌握了加密密钥也无济于事。这就需要找出一种算法,使得不知情者即使能用同样的方法加密任意数量的原文,也无法找出恢复密文所对应原文的方法,或者即使知道也力不从心,极难计算。例如计算出7.39的5次方22040.5380367699并非难事,而要想知道22040.5380367699是哪个数的5次方可就没那么容易了。随着计算机学与数学学科的相互促进,很多全新的计算方法极大地拓宽了加密学者们的思路。下面就以一个简单的例子来介绍一种公开密钥算法。加密过程可完全公开:取原文的11次方,除以15所得的余数即为密文。即使窃密者获取了密文也无法通过尝试法来判断原文究竟是什么,因为实际加密过程中所用的密钥还远不止这么简单。而解密过程则万万不能泄露:取密文的3次方,仍除以15,所得余数即恢复为原文。密钥11、15、3的确定牵涉到一定的计算理论,这里不再详细介绍。关键是通过这样的方法,确实可以不出任何差错地恢复出原文。而这个恢复过程,不是知道了加密过程就能推导出来的。假设原文为7,则7的11次方为1977326743,除以15商131821782余13,即密文为13。密文13的3次方为2197,除以15商146余7,可得原文。借助于公开密钥,任何需要传输的机密数据都可放心地顺利传输,所有加密解密的安全问题统统迎刃而解。具体应用过程大致如下:如甲方要向乙方发送一份文件,则要求乙方先秘密选定一套加密密钥与解密密钥,并把加密密钥发送给甲方,加密密钥完全可以公开,乙方只要保存好解密密钥即可。甲方收到加密密钥后用它对文件加密,再把密文传送给乙方。该密文即使被窃密者截获也无关紧要,窃取方无法根据加密密钥来求得解密密钥对密文进行解密。此时只有正当的接收方(拥有解密密钥的乙方),才能恢复出原文。当然在实际应用中还有身份验证等问题,要想达到真正的秘密传送,其过程要比上述复杂许多。四、密钥与校验码的结合1、可行性与利弊分析虽然公开密钥的全安性极高,但它存在着计算量太大、运行速度太慢的致命弱点。即使是知道解密方法的一方,在恢复原文时也需要花费大量时间来进行计算。然而,为了数据安全,又不能不对数据进行加密,因此,数据加工的时间不能压缩。要想减少取得原文所花费的时间,只能从其它角度着手。数据在网络上进行传输时,除原本的数据外,还要加上许多其它成分,例如标示地址的报头、校验正误的校验码、表示级别的级类符号等等。其中最大的冗余就是用于校验所传数据是否正确的校验码。数据在传输过程中不可避免要受到外界的各种影响,可能会产生错误,因这种错误并非人为引起,因此,用于检查数据是否被正确传送的校验码是必不可少的“冗余”,是确保数据能被正确传送的关键。而对快速传输的数据而言,校验码带来的往往是大于20%的浪费。校验码有各种类型,最简单的为奇偶检验码:以二进制形式传送一个7位数据1001100时可在其后加上一位偶校验码0,使其在传输过程中的8位数据10011001各位数字之和为偶数。如果在传输过程中某一位出错变成11011001,则其各位数字之和变为奇数,接收方检验出错误后,可立即通知发送方重发以上数据,确保数据传送的正确性。传输过程中的单位出错都能被检查出来,但多位的错误(例如1100在传输中若第一位、第三位同时出错,变为0110仍会被系统默认为是正确的)可能会被忽略,实际使用中的校验码远不会这么简单,也就必然要占据传输数据量的更大比值。而在文件加密、传输时,数据加密的过程虽然繁杂,却带来一个崭新的想法:能否在解密的同时使密文能够自检错误呢?也就是说,通过加密,使密文中数据出现的可能性限定在一个较小范围之内,一旦由于传输中出错形成误码,则会超出正常范围之外,被接收方检测到即可及时纠错。2、简单尝试举例仍以上面所举的公开密钥为例:取原文的11次方,除以15所得的余数即为密文。分别考察0到9这十个数字,它们的密文分别对应如下:0的11次方为0,除以15商0余0,即密文为0;1的11次方为1,除以15商0余1,即密文为1;2的11次方为2048,除以15商136余8,即密文为8;3的11次方为177147,除以15商11809余12,即密文为12;4的11次方为4194304,除以15商279620余4,即密文为4;5的11次方为48828125,除以15商3255208余5,即密文为5;6的11次方为362797056,除以15商24186470余6,即密文为6;7的11次方为1977326743,除以15商131821782余13,即密文为13;8的11次方为8589934592,除以15商572662306余2,即密文为2;9的11次方为31381059609,除以15商2092070640余9,即密文为9。若仅考虑加密过程,则密文的取值范围为一个整数除以15的余数,从0到14。但在本例中,密文是由一位数0到9加工形成的,所以只有0、1、2、4、5、6、8、9、12、13这十种情况,凡超出此范围之外的数据必然可以断定为传输过程中出了错。这样就把加密与校验相结合,一方面可以减少纠错码的传输开支,因为传输密文一旦出错可以根据密文的可能值初步自检;另一方面对传输中出错的数据无需解密,直接报错要求重传,节省了部分解密开支,使数据解密的即时性得以提高。如果再进一步细化,可以区分某一字节或多字节出错时可能带来的不同错误码,甚至不必重发数据也可以由接收方直接修改,进一步减少了重新传输出错数据时所需的时间支出。因此,理想中的公开密钥算法不仅要求其解密过程很难通过加密过程求得,而且要使传输中出错的数据尽量落在正确数据的取值范围之外,甚至可由某些特殊出错情况判断出哪一位或哪几位出错,便于与检错纠错相结合。3、具体实施展望在具体实施以上方法时,首先要明确一个观念:加密与校验相结合只能减化而不能完全取消校验码,只能省略部分出错数据的解密工作而不能改变数据传输速度。因此这种方法对于传输加密文件时速度的提高仅有一

温馨提示

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

评论

0/150

提交评论