数据加密与校验纠错码相结合的一点尝试(精)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据加密与校验纠错码相结合的一点尝试

陈晓蕾

(单位:苏州市工业园区娄葑学校 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%的浪费。

相关文档
最新文档