龙之梦工作室
LOGO

技术文章


(SCI) Parallel Algorithm for Wireless Data Compression and Encryption   (SCI) Fast Algorithm of Truncated BWT for Data Compression of Sensors   Dr. Qin Jiancheng   龙之梦助力肇庆教育网云计算   Dr. Zhou Yousheng   Dr. Bai Yuan   龙之梦工作室加盟华南理工学术团队   [软件下载] ComZip超级压缩机免费版下载   继续潜行,龙之梦工作室技术研发又一年   [软件交易] “雅典娜”网页密码锁在线购买   [软件交易] Super Prime超级质数机在线购买   [软件交易] ComZip超级压缩机在线购买   [信息安全] “风语者”高强度加密技术   [信息安全] 多层纵深防御体系结构   [合著] 专利:安全事件检测方法及装置  

[原创] 信息加密技术实用算法的研究与开发——无密钥加密模式初探

[ 2007-11-03 13:37:32 ]

  引言/提要:本文介绍了信息加密技术之中,一种不常见但很有前途的模式——无密钥加密模式。通过与其他通用加密模式的比较,探讨了该模式的运作原理,及其在不安全信道中保护信息的技术可行性和实用性。同时,从比较中初步反映出该模式与其他加密模式之间的优缺点。

  关键词:现代密码学,无密钥加密模式,加密技术,信息安全

  摘要
  本文介绍了信息加密技术之中,一种不常见但很有前途的模式——无密钥加密模式。通过与其他通用加密模式的比较,探讨了该模式的运作原理,及其在不安全信道中保护信息的技术可行性和实用性。同时,从比较中初步反映出该模式与其他加密模式之间的优缺点,进而论述不同的加密模式如何优势互补。
  本文内容的划分:1、信息加密技术的价值;2、加密模式的区分;3、几种加密模式的概念模型;4、加密算法的数学理论基础;5、无密钥模式的可行性研究;6、无密钥模式的增强;7、与其他加密模式的比较;8、不同加密模式的转化与结合。

  目录:
 1、信息加密技术的价值
 2、加密模式的区分
 3、几种加密模式的概念模型
 4、加密算法的数学理论基础
 5、无密钥模式的可行性研究
 6、无密钥模式的增强
 7、与其他加密模式的比较
 8、不同加密模式的转化与结合

信息加密技术的价值

  本文所讨论的信息加密技术,是指利用计算机、密码机等智能信息工具,通过一定的算法,对数字化的信息进行加密变换,从而保障信息安全的技术。
  信息加密技术,具有十分广泛的用途。典型的应用包括:互联网应用,如电子邮箱、即时通信、网页浏览等;电信业务,如IP电话、电视会议、短信等;商业用途,如公文传发、银行支付、网间结算等。这些应用涉及大量有价值的信息,需要得到真正强有力的加密技术的保护。
  反过来,加密技术也促进了信息应用的发展,能够使应用领域扩展到前所未有的范围。例如,IP电话本来存在易被窃听的弱点,应用范围有限。一旦采用了加密技术,窃听的难度等同于破解密码,而且可以加入数字身份认证等特性。如此一来,IP电话就可以应用到商业领域,大大提高了IP电话的价值。
  加密技术对于个人隐私、商业利益乃至国家安全,都有着相当重要的意义。只要看看国外对加密技术的重视程度,就会明白这一点。与直接进口国外现成加密产品相比,自主开发的核心技术有着特殊的价值。使用进口产品固然可以节省研发时间,但完全依赖进口也是不安全的。
  首先,自主核心技术可以打破进口技术垄断。美国长期对强加密技术实行出口管制,外商也会出于自身利益而保护核心技术,从而阻止我们在技术上的超越。只有自主开发核心加密技术,才能够缩短差距,打破垄断,防止受制于人,并以竞争拉低进口产品的价格。
  其次,自主核心技术在安全性上更可信。由于进口产品的核心技术掌握在外商手中,难保里面不留有后门,或者连他们自己都不发觉的缺陷。例如,至今仍不清楚DES算法中,美国政府修改过的S转换盒是否内含玄机。而自主开发的核心技术有没有后门,是否存在隐患,自己一清二楚。
  算法公开的加密技术,是现代密码学的主要研究对象。因为算法不公开的加密,依赖于算法的不透明来维持保密性,无法从理论上保障其安全。一旦算法暴露,安全性也就不复存在了。而算法公开的加密技术,则是在算法本身不是秘密的情况下,仍然能够保持加密的安全性。这是真正经得起考验的加密技术,因此也是商业领域加密应用的主流。本文所讨论的加密技术,以算法公开的技术为主。

加密模式的区分

  现代密码学中,把算法公开的加密技术分为单密钥模式、双密钥模式和无密钥模式几种。其中前两者是最常见的模式,而无密钥模式由于设计难度大,虽然是一种理想的加密通信模式,却未能得到广泛的应用。
  单密钥模式,也称为私钥模式、对称密钥模式,是通信双方使用同一个密钥的加密模式。常见的3DES、AES标准,就属于单密钥模式。
  双密钥模式,也称为公钥模式、非对称密钥模式,是通信双方使用两个不同密钥的加密模式。其中一方使用的密钥是公钥,公钥可以对外公开,另一方使用的密钥是自己的私钥,私钥是保密的。常见的RSA算法、椭圆离散对数算法,就属于双密钥模式。
  无密钥模式,也称为随机密钥模式,通信双方并不使用固定的密钥,而是每次都各自随机生成一个密钥,用过一次就不再使用。无密钥模式并不是没有密钥,更不等于不保密,相反由于每次都采用随机密钥,而且只使用一次,这恰恰是最安全的。因为每次加密被破解,都不会影响到其他各次的加密,只因密码不同。
  目前比较常用的是公钥模式,其中的典型就是RSA算法,这是基于大质数分解数学难题的加密算法。许多流行的安全通信、数字签名、认证中心等应用,都采用了RSA加密。由于RSA算法的速度问题,通常都与速度较快的单密钥算法结合使用:用RSA算法进行数字签名和传送单密钥算法的密码,而实际的大量信息内容则用单密钥算法进行加密。
  事实上,加密模式不是孤立存在的,必然依赖于加密算法。一种加密模式可以有多种不同的加密算法。另一方面,加密算法并不局限于特定的加密模式。同一种加密算法,有可能既适用于某种模式,又适用于另一种模式。

几种加密模式的概念模型

  为了说明这几种加密模式的区别,我们可以对这几种加密模式作个比喻。
  假设甲乙两人进行秘密通信,任务是甲要把某些机密信息传递给乙。但是双方之间的信息传输通道是不安全的,例如是通过互联网或电话线来通信,别人随时可以截取到通信的信息。为此,甲乙两人对信息进行了加密,使得别人即使截取到信息,也因为难以破解而无法得知里面的内容。
  我们分别描述甲乙两人用单密钥模式、双密钥模式、无密钥模式来进行秘密通信的情形。
  单密钥模式就好像是一个带锁的匣子,甲乙双方各有一把相同的钥匙,都可以打开这把锁。
  通信过程是:甲把信放进匣子,用钥匙锁上锁,然后把匣子邮寄给乙。运输途中匣子是锁着的,因此信是安全的。乙收到匣子后,用钥匙开锁,打开匣子,就取到了信。
  单密钥模式的概念模型如图一所示。
单密钥模式

  双密钥模式就好像是一个信箱,上面有一条细缝,可以把信投进信箱里,但是无法从细缝里取出里面的信。信箱后面还有一个加锁的门,打开门就可以取到信。锁的钥匙只有乙才拥有。
  通信过程是:甲把信从细缝塞进信箱里,然后把信箱邮寄给乙。运输途中信箱是锁着的,从细缝里也取不出来,因此信是安全的。乙收到信箱后,用钥匙开锁,打开信箱门,就取到了信。
  双密钥模式的概念模型如图二所示。
双密钥模式

  无密钥模式就好像是一个带两个锁眼的匣子,任何锁都可以扣在锁眼上。而只要任何一个锁眼扣上锁,匣子就打不开。
  通信过程会复杂一些:
  首先甲把信放进匣子,随意找一把锁和钥匙,用锁扣住锁眼A,把匣子邮寄给乙。运输途中因为锁眼A上了锁,匣子打不开,因此信是安全的。
  乙收到匣子,也随意找一把锁和钥匙,用锁扣住锁眼B,把匣子寄回给乙。运输途中因为锁眼A、B都上了锁,匣子打不开,因此信是安全的。
  甲收到匣子,用钥匙打开锁眼A上的锁,再把匣子寄回给乙。运输途中因为锁眼B仍然上了锁,匣子打不开,因此信是安全的。
  乙收到匣子,用钥匙打开锁眼B上的锁,打开匣子,就取到了信。
  无密钥模式的概念模型如图三所示。
无密钥模式

  以上概念模型,描述信在运输途中是“安全”的,其实都忽略了这样一个事实:别人可以用暴力砸开信箱、匣子,取到里面的信。但是,我们仍然说信是“安全”的,这是一种相对的安全。因为信箱、匣子如果足够坚固,暴力砸开它需要付出极大的代价,即使取到信也是得不偿失。
  现代密码学认为:没有绝对的安全,安全只是相对而言。只要破解保护所付出的代价,超过或者相当于受保护信息的价值,我们就说受保护的信息是安全的。

加密算法的数学理论基础

  信息加密作为实用的技术,可以采用的理论基础并不唯一。本文所涉及的加密算法与数学难题有关,而选用的理论基础也是数学上的函数理论。
  我们把加密、解密的运算看作是某种可逆的函数,其中解密是加密的逆函数。而且,这种函数有着如下特征:加密函数的运算很容易,并且密钥是函数中的一个参数。解密作为加密的逆函数,密钥同样是参数之一。而最为重要的一点,在知道密钥的情况下,解密函数的运算很容易,如果不知道密钥,解密运算将非常困难。
  加密容易、解密容易、破解困难,正是这样的特征,才使得加密信息得到保护,不会轻易被外人获取,从而使得加密算法具有了信息安全的价值。
  以上论述,若以整数域里的二元函数为例,可以用数学方式来描述如下:
  设x是未加密的明文,y是加密后的密文,a是加密密钥,b是解密密钥,x、y、a、b都是整数。设加密函数f(x, a)、解密函数g(y, b)都是整数域里的函数,g是f的逆函数。
  加密过程:y=f(x, a)。
  解密过程:x=g(y, b)=g(f(x, a), b)。
  破解过程:有多种途径,可以是求解下述方程之一。至于方程中哪个是未知数,哪个已知,则视情况而定。
  (1)求解方程y=f(x, a),(2)求解方程x=g(y, b),(3)求解方程x=g(f(x, a), b)。
  函数f、g的运算应该是容易的,而求解上面任何一个方程都应该是困难的。理想情况下,只能用穷举法求得方程的解,这样的加密算法最为成功。
  以RSA算法为例,f、g都是乘法和求模运算的函数,比较容易计算,而解方程则需要用到质数分解运算。在质数很大的情况下,这种运算是非常困难的,因此RSA算法是个好的加密算法。
应当注意,加密和解密的密钥a、b可以相等,也可以不等。当a=b时,就是单密钥加密模式,否则就是双密钥或多密钥模式。
  以上就是加密算法的数学理论基础。理论上,任何具备上述特征的数学函数,都可以用来作为加密算法。而实际上,由于受到现实硬件性能、软件算法、经济成本等条件的限制,许多数学算法实现起来并不理想,所以不实用。

无密钥模式的可行性研究

  从概念模型来看,无密钥模式其实是相当理想的,甚至比双密钥模式还要好。因为双密钥模式尚且需要管理公钥和私钥,而无密钥模式根本没这个必要,每次只要随机产生一个密钥即可。这种模式之所以没有广泛流行,很大程度上是因为难以设计出适用于该模式的加密算法。
  如前所述,这样的加密算法必须具备加密容易、解密容易、破解困难的基本特点,不能有缺陷。而无密钥模式下,至少需要进行4次加解密运算、3次信息交换,很容易存在破解的漏洞。某些算法能够满足无漏洞、难破解的要求,却又因运算复杂,导致现实情况下加密或解密的速度太慢,无法满足实用性要求。某些算法的加、解密速度足够快,但破解的速度又不够慢,导致加密强度不足,同样满足不了实用性要求。
  可见,研究出适当的加密算法,并且开发出现实可行的计算机程序,是实现无密钥模式的基本前提。该模式的可行性,取决于其加密算法的可行性。
  笔者经过长时间的思考,并参考了有关加密算法的资料,发现基于离散对数难题的加密算法,可以很好地满足无密钥模式的要求。随后,开发出关键算法程序,并进行了精心优化。经过测试和分析,加密效果令人满意。
  在测试环境下,采用AthlonXP 1800+的普通32位PC机,3217位加密的时间不超过1.5秒,而1279位加密更达15倍的速度,低于100毫秒。解密速度与加密相同。如果采用64位算法,纯软件性能即可达到32位算法的2至4倍。考虑到当前已有更高性能的计算机硬件产品,甚至计算机集群、网格,还可以用DSP开发专用密码卡,这种加解密速度完全符合实用性要求。
  离散对数加密,是基于数学难题——求解以质数为模的自然数对数而设计的加密算法,其加密强度与RSA算法相当,没有明显的缺陷,能够满足信息保密的要求。
  至此,有了理论基础及具体算法,又有了实际程序及测试数据,无密钥加密模式的现实可行性已初步确定。

无密钥模式的增强

  为进一步提高加解密速度,借鉴了RSA结合3DES的方式,把离散对数加密算法与单密钥算法相结合。前者负责传递后者的密钥,后者则负责加密明文信息。
  理论上,任何单密钥算法,包括标准的3DES在内,都可以与前者配合使用。实际中,选用了同样是自主开发的一种单密钥算法。该算法采用384位长分组的链式加密,明文经过充分糅合,达到位扩散的效果,能够较好地对抗线性分析、差分分析攻击。
  根据信息性质的不同,明文在加密之前,还可以选择性地进行有损或无损压缩,增加信息熵的无序性,可有效对抗概率统计分析攻击。
  经过以上处理,已经足以抵御攻击者窃取信息的努力,保障信息的保密性。但是,对于攻击者的身份冒充、信息破坏等手段,仍尚未能够有效防御。
  这就是说,加密信息通过不安全的途径进行传递,攻击者也已经无法在合理时间内破解。但是,如果攻击者冒充通信双方的身份,实施中间人攻击,真正的通信方会被欺骗。又或者,攻击者虽然破解不了,但可以篡改、删除、重发密文,而接收方不会发觉。
  这些攻击并不是无法抵御的,我们可以从流行的加密认证体系中得到借鉴,运用到自己的无密钥模式之中。
  给明文加上序列号、时间戳,则一旦信息被删除、重发,或者颠倒了发送顺序,就可以从序列号和时间戳上发觉。给明文加上摘要,也就是明文的校验码,则一旦信息被篡改,会导致摘要不符,从而暴露。当然,序列号、时间戳和摘要必须连同明文一起加密。
  理论上,任何一种摘要算法都可以应用在无密钥模式之下。实际中,选用了自主开发的散列算法,是基于离散幂运算的。之所以选用这样的算法,是考虑到加密算法同样用到了离散幂运算,这样在设计硬件加密芯片的时候,可以重复利用相同的逻辑部件,简化设计,降低硬件成本。
  要防止身份冒充,可以采用数字签名算法。数字签名应满足以下要求:可鉴别,对方可以从数字签名中判断出真假。防冒充,别人不知道密钥,在合理时间内将无法伪造出符合条件的数字签名。防抵赖,作过的数字签名不会出自别人。防泄漏,从数字签名中不会有足够的信息,令密钥外泄。
  目前在无密钥模式下,仍然采用双密钥模式的数字签名。原因是无密钥模式中的密码全是随机生成,并不固定,而数字签名却要求具有固定的特征,才能够认证签名者的身份。双密钥模式,有用作签名的私钥和用作验证的公钥,确实适合数字签名。
  理论上,任何一种数字签名算法,包括RSA算法,均可应用在本文所描述的密码体系之下。实际中,选用了一种自主开发的算法。该算法原本由国外设计,用于当前的双密钥加密模式,只有算法简介,没有现成的程序。笔者对其算法稍作修改,使之适于作数字签名之用,然后自主开发全部的程序代码。该数字签名算法同样基于离散对数难题,如前所述,选用该算法可以简化硬件加密芯片的设计,节约成本。
  经过上述切实有效的增强工作,无密钥加密模式已经形成较为严密的防御体系,可以抵抗大部分针对信息的攻击,能够满足多种实际应用的需要。不过,安全永远是相对的,目前流行的加密模式不能例外,这里的无密钥模式同样不会例外。我们只可以说,够用就好。只要我们所提供的安全保护,能迫使攻击者不得不付出足够的代价,我们就成功了。

与其他加密模式的比较

  当无密钥模式被设计成相对完善的密码体系之后,我们再回过头来看看,这种模式与其他模式相比,有什么优点和不足。
  单密钥模式的优点在于加解密速度快,破解困难。单密钥模式的加密算法比较容易设计,只要是精心设计过的好算法,在密钥长度相同的条件下,单密钥模式的加解密速度、加密强度都是三种模式之中最高的。
  而单密钥模式的不足也很明显,就是密钥在传送、管理上的困难。另外,由于双方共用相同的密钥,很难实现数字签名、身份认证等功能。
  双密钥模式的优点,就在于密钥的管理和传送方便。由于有公钥和私钥,并且前者无法计算出后者,因此可以将公钥向所有人公布,而只保管一个私钥。不象单密钥模式,和多少人通信就需要保管多少个不同的密钥。另外,双密钥模式十分适用于数字签名和身份认证。
  至于双密钥模式的不足,在于加解密速度和生成密钥的速度较慢。尤其是后者,要生成一对密钥是比较费力的。以RSA算法为例,生成密钥需要寻找大质数,需要计算乘法逆元,这些都是相当耗时、耗计算机资源的运算。
  无密钥模式的最大优点就是无密钥——确切地说是没有固定的密钥。不象双密钥模式,无密钥模式是不需要保存密钥的,每次加密都随机生成新的密钥。因此,泄漏密钥的危险性大大减小,也节省了密钥管理和传送的成本。可以说,无密钥模式是三种模式之中最易用的。
  但是,无密钥模式也存在不足。首先是算法设计困难,既要让双方能够用真正随机的密钥完成通信,又要防止出现漏洞,泄露密钥,还要满足现实的要求,光是设计这样的算法就需要毅力、能力和运气。其次,该模式要进行3次通信,须消耗一部分带宽资源。还有,目前所用的离散幂运算的速度较慢,使加解密速度比RSA算法还要慢。不过,采用了精心优化过的算法之后,速度弱点已经得到有效的弥补。
  此外,在数字签名和身份认证方面,双密钥模式仍然具有优势,因此无密钥模式的数字签名也借鉴了前者,采用随机生成的私钥和公钥作签名及认证。

不同加密模式的转化与结合

  无密钥模式与双密钥模式,都是采用非对称的密钥。两者最大的区别,就在于密钥是否随机生成。换言之,如果每次加密都采用同样的非对称密钥,那就是双密钥模式,否则,每次都用不同密钥的就是无密钥模式。
  因此,双密钥和无密钥模式之间,可以有条件地互相转化。无密钥模式下,若一旦生成密钥就固定不动,每次都用这对密钥加密,那就成了双密钥模式。反过来,双密钥模式下,如果每次加密都随机生成一对新密钥,将新的公钥传给对方用于加密,那就成了无密钥模式。
  一般而言,无密钥模式转化为双密钥模式较容易,而反过来转化则较难。原因是双密钥模式的算法之中,生成一对密钥都比较费力,因此每次生成新的密钥就更不容易。而无密钥模式的算法易于生成密钥,采用固定的密钥也没什么困难。
  例如RSA算法,每次寻找新的大质数和计算乘法逆元,代价相当可观,并不容易做到,因此RSA还是适合于双密钥模式,即一次性生成密钥,以后每次都采用这一对密钥。
  至于前面所述基于离散对数难题的加密算法,则可适用于无密钥模式。因为该算法无须每次寻找大质数,仅需要每次生成随机数,实现的代价很小。纵使其数字签名采用了双密钥模式,该算法生成公钥和私钥的代价同样很小。
  由于三种加密模式各有长处和不足,最好能够互相结合起来,取长补短。事实上,这完全可以实现。正如双密钥模式能够结合单密钥模式以加快速度,无密钥模式也可以。
  前面所述无密钥模式的增强,实质上就是将三种模式很好地配合起来:无密钥模式负责传递密钥,单密钥模式负责加密信息,双密钥模式负责数字签名。
  如此,三种模式的优势得以充分发挥:无密钥模式的密钥传递,保障了不安全信道之下,密钥的随机性和保密性;单密钥模式的信息加密,发挥了加解密速度和加密强度的优势;双密钥模式的数字签名,吸收了公钥体系在签名、认证方面的成熟之处。
  由于无密钥模式在其中起了最关键的作用,因此三种模式结合之后,仍然归入无密钥加密模式的范畴。

  以上对无密钥加密模式作了总体性的论述,具体每个环节的算法,须另文详尽介绍才能叙述清楚。目前,这仍是一种不常见的加密模式。但从简单比较中,我们已经可以知道该模式相对其他通用模式的优势所在。尤其是在随机密钥方面,该模式的安全性是其他模式所不可比拟的。
  通过具体的加密算法,该模式被证实具有现实可行性,并且能够将几种加密模式的优势结合起来。考虑到性能、成本等多方面综合因素,无密钥加密模式很有发展前途。
  信息安全领域里,没有绝对的安全,安全永远都是相对的。加密算法、加密模式并不会一成不变,总有改善和更新的时候。例如DES会被AES取代,以RSA为代表的双密钥模式又比纯单密钥模式应用得更为广泛。可以相信,以无密钥模式的优点,在信息安全领域里将会获得长足的进步,得到广泛的应用。


龙之梦
2004.11.11
发表意见   相关搜索   返回主页   关闭窗口
相关文章:
  [原创] ISP技术在计算机组成原理实验仪中的应用(论文摘要) [2007-04-24]
  [合著] 《计算机组成原理题解、题库与实验》实验教材原稿 [2007-04-24]
  [合著] 实验参考 [2007-04-24]
  [合著] 一台模型计算机的设计与调试(四):组合逻辑控制器流水方案 [2007-06-27]
  [合著] 一台模型计算机的设计与调试(三):组合逻辑控制器方案 [2007-06-27]
  [合著] 一台模型计算机的设计与调试(二):微程序控制器流水方案 [2007-06-27]

最新留言:
  [2014-10-16]
  [2014-10-16]
  [2014-06-04]
  [2014-06-04]
  [2013-12-08]
  [2013-11-29]


从2005年3月18日起
访问本站页面计数器人次
版权所有 © 2005 龙之梦工作室,保留一切权利。
电子邮箱:master@28x28.com , co2288@126.com
相关链接 |