欢迎来到天天文库
浏览记录
ID:33021675
大小:73.48 KB
页数:7页
时间:2019-02-19
《数据加密与多态加密技术综述》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据加密与多态加密技术综述第11卷第5期2009年9月天津职业院校联合JournalofTianjinVocationallnstitutesNo.5Vbl.llSep.2009数据加密与多态加密技术综述刘键林(天津现代职业技术学院,天津市300222)摘要:数据加密已经被广泛的运用能够有效的对抗逆向分析,而加密技术的关键是延长数据被逆向分析预计的有效期限.通过介绍相关的密码学,数据加密以及基于公钥加密算法的方法与步骤,详细介绍了多态加密的原理与方法.关键词:加密算法;密钥多态加密中图分类号:TP3
2、9308文献标识码:A文章编号:1673—582X(2009)05—0076—03我们正处在一个全新的计算机信息网络安全时代,网络聚合了人类的集体智慧,随着计算机安全信息处理技术的不断成熟,计算相关数据呈几何级数字增长,不断的复杂化,精确化,快速化,促进了我们更加直接,快速的交流,使得那些被认为安全性很高的加密算法(特别是那些依据数学算法加密的数据)被逆向攻破的时间远远小于预计的期限•因此我们应该对数据保护技术进行更多的思考和尝试,对于计算机大批量存储的数据信息,需要采取非常有效的安全措施来保护.,
3、数据加密方法在传统的数据加密过程中,有几种方法经常用来加密数据流•这些方法都可以使用软件来实现,但是,当只知道密文的时候,是不容易破译这些加密算法的.最好的加密算法对数据和软件的性能儿乎是没有什么影响的,并且还可以带来保护数据的优点.例如,我们大家都知道的Winrar,它既压缩数据又可以加密数据.又如,dbms(数据库管理系统)的一些软件包里面包含一些加密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用户自己设置的密码,所有这些加密算法都具有高效的加密能力.在所有的加密算法中最简单的一种就
4、是”置换表“算法,这种算法也能很好达到加密的需要.每一个数据段(每一个字节)对应着相应的”置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件•加密稈序和解密稈序都需要一个这样的”置换表”.事实±,80x86CPU系列就有一个指令”XLAT”(换码指令)利用硕件来完成这样的工作.这种加密算法比较简单,加密解密速度很快,但是一旦这个”置换表”被对方获得,那这个加密方案就完全被识破了•进一步的讲,这种加密算法对于逆向分析来讲是非常肓接的,只要找到一个”置换表”就可以了.笔者认为对这种”置换表”
5、加密方式的一个改进就是使用两个或者更多的”置换表”,这些表都是基于数据流屮字节的位置的,或者基于数据流本身•这样,逆向分析将变得非常困难,因为逆向分析必须正确地做几次”置换表”变换.通过使用更多的”置换表”,并且按伪随机的方式试用每个”置换表”,这种改进的加密方法已经变的很难逆向分析•例如,我们对所有的偶数位置的数据使用a表,对所有的奇数位置使用b表,即使逆向分析人员获得了明文和密文,想破译这个加密方案也是非常困难的,除非确切的知道我们使用的两张表•与使用”置换表”相类似加密方法还可以,”变换关键数
6、据位置”也可以在加密数据屮使用•但是,这需要更多的执行时间.从输入表屮读入明文放到一个buf〜r(缓存)中,再在buf〜r中对他们重排序撚后按这个顺序输出.解密程序的时候按相反的顺序还原数据.这种方法如果是和一些其它的加密算法混合使用,这就使得逆向分析变得十分的困难.另外我们还可以加入这样的加密算法,就是字/・7节循环移位和xor(异或)操作.如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流•这种方法是很收稿日期:2009-()1—
7、19作者简介:刘键林(1959一),男,天津市人,天津现代职业技术学院,助理工程师,从事数据的保护与加密技术研究.976?好的,如果逆向分析它就更加困难.而且,更进一步的是,如果再使用xor操作,按位做异或操作,就使逆向分析更加困难了.如果在一些程序中,如何使我们已经加密的数据本身知道数据是否已经被篡改了或被破坏了,这时就需要程序本身产生一些自校验码,并且把这些校验码插入到数据流屮.这样做对数据的防篡改与程序本身的保护都是有好处的•所以,加密程序在每次load到内存开始执行时,都要检查一下木身是否被
8、病毒感染,数据是否已经被篡改或被破坏,对需要运行的文件都耍做这种自校验检查.因为,病毒程序的编写者将会利用破坏和修改其它的程序或数据来达到其目地的.因此,在一些反病毒或杀病毒软件中一定要使用加密技术.循环冗余校验是一种典型的校验数据安全的方法.对于每一个数据块,它使用位循环移位和XO1•操作来产生一个16位或32位的校验数据,这样如果任何一位自校验数据错误就会导致校验和出错.例如xmodem-crc.这种方法已经成为标准,crc校验算法对于发现加密数据块中的错误校验和
此文档下载收益归作者所有