数据加密与多态加密技术综述.docVIP

  • 17
  • 0
  • 约4.97千字
  • 约 7页
  • 2018-03-03 发布于重庆
  • 举报
数据加密与多态加密技术综述

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

文档评论(0)

1亿VIP精品文档

相关文档