前一节已讲到,黑客往往通过欺骗、破解和拦截等方式窃取计算机的通信数据,借此窥得计算机密码。数据加密技术则很好地解决了以上问题。如果没有密钥,经过加密的数据即使落到黑客手中,他们也很难获取其中的信息。数据加密技术已经成为现代通信安全的重要保障。
数据加密解密的过程并不复杂。简言之,这一技术在数据传输的过程中增加了“编码”和“解码”的环节:用户利用电脑传输信息时,加密技术会按照一定的规则对内容进行重新编排,经过编排之后的信息在外人看来只是一堆乱码,但接收者收到之后,系统会按照相同的规则对内容进行解码还原,从中提取有效的信息。即使黑客截取了传输数据,也会因为不谙解码规则而无法解读,经过加密之后的密码也不易被“流光”之类的软件破解。
最早具有数据加密意识的是古罗马的杰出军事家恺撒大帝。战争时期,恺撒为了保证与将领们通信的安全,曾下令把明文中的每一个字母用它在字母表上位置后面的第三个字母代替,这样,在恺撒密码中,D相当于明文中的A,E相当于明文中的B,以此类推。
用现在的眼光来看,恺撒密码是一种十分简单的单密钥加密技术,即发送者和接收者使用相同的密钥对消息进行加密和解密。仍以恺撒密码为例,恺撒密码的密钥即“密文D=明文A,密文E=明文B,密文F=明文C,……”,无论是编码者还是译码者,都要按照这一规则进行编码或释码。从简单的恺撒密码到复杂的DES[1]密码,运用的都是这种单密钥加密技术。这样就产生了一个密钥管理的问题:发送者如何将密钥不露声色地告诉接收者?如果在网络上传输宝贵的密钥,很难保证它不被黑客们 截获。
双密钥加密技术的出现很好地解决了这一问题。双钥密码算法是一种将加密密钥和解密密钥设置为两个不同密钥的密码算法,它使用了一对密钥:一个用于加密信息,另一个则用于解密信息,发送者可以将加密密钥公开而仍保留解密密钥,任何人都能用公开的加密密钥发送加密信息,但却只能通过唯一的解密密钥来解读密文。在网络时代,双密钥密码使得通信双方无须事先交换密钥就可进行保密通信。(www.xing528.com)
RSA算法[2]就是目前公认的十分安全且应用广泛的双钥密码算法。它利用了数学中的单向性原理,简言之,就是逆向运算难于正常运算的规律:除法比乘法难,开方比乘方难……就RSA算法而言,解密密钥很难通过公开的加密密钥推算出来,这种难度体现在对n的因式分解上,因而RSA算法的基础就是这样一个事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
RSA是目前最有影响力的公钥加密算法,能够抵抗目前为止已知的绝大多数密码攻击,已被国际标准化组织(ISO)推荐为公钥数据加密标准,因此被广泛地应用于邮件加密、电子签名和TPC安全协议之中。现今,只有短的RSA钥匙才可能被强力方式解破,只要其钥匙的长度足够长,用RSA加密的信息基本上是不可能被解破的。
任何事物都有盛有衰,在分布式计算和量子计算机理论日趋成熟的今天,对大整数进行快速的因式分解不再是镜花水月,RSA加密安全性已经受到了巨大的挑战。但在新的算法尚未成熟之前,RSA算法仍然是目前最安全的数据加密技术。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。