数据加密方法及原理介绍一,加密术语■加密◇透过数学公式运算,使文件或数据模糊化,将容易识别的明文变成不可识别的密文◇用于秘密通讯或安全存放文件及数据■解密◇为加密的反运算◇将已模糊化的文件或数据还原,由密文还原出明文■密钥◇是加密/解密运算过程中的一个参数,实际上就是一组随机的字符串二,加密方法1,对称式加密◆使用同一把密钥对数据进行加密和解密,又称对称密钥(SymmetricKey)或(SecretKey)◆进行加密通信前需要将密钥先传送给对方,或者双方通过某种密钥交换方法得到一个对称密钥◆缺点:破解相对较容易◆优点:加密/解密运算相对简单,耗用运算较少,加密/解密效率高◆常见算法:40Bits~128Bits●DES,3DES,AES,RC2,RC4等2,非对称式加密(也称为公钥/私钥加密)◆公钥加密主要用于身份认证和密钥交换.公钥加密,也被称为不对称加密法,即加解密过程需要两把不同的密钥,一把用来产生数字签名和加密数据,另一把用来验证数字签名和对数据进行解密.◆使用公钥加密法,每个用户拥有一个密钥对,其中私钥仅为其个人所知,公钥则可分发给任意需要与之进行加密通信的人.例如:A想要发送加密信息给B,则A需要用B的公钥加密信息,之后只有B才能用他的私钥对该加密信息进行解密.虽然密钥对中两把钥匙彼此相关,但要想从其中一把来推导出另一把,以目前计算机的运算能力来看,这种做法几乎完全不现实.因此,在这种加密法中,公钥可以广为分发,而私钥则需要仔细地妥善保管.◆双方使用不同密钥执行加密/解密工作◆又称为不对称密钥(AsymmetricKey),由一对公钥(PublicKey)和私钥(PrivateKey)构成一个密钥对◆密钥对具有单向性(OneWayFunction)以及不可推导性.公钥可以对外公开或传给通讯过程的另一方,私钥不可泄露必须由自己妥善保管,采用公钥加密的数据只能通过私钥解密,采用私钥加密的数据也只能通过公钥来解密.所谓有不可推导性是指通过公钥几乎是不可能推导出对方的私钥的,一般情况下都是采用公钥来加密,私钥用来解密及数字签名等◆密钥的保管●公钥可传送给需要进行安全通信的计算机或用户●私钥必须由自己好好保管,不可泄露◆缺点:加密/解密复杂,耗用较多运算,速度慢,效率相对较低◆优点:破解困难,安全性高,目前还没有发现公钥算法被破解的情况◆常见算法:512bits~4096bits●DH算法(Diffie-Hellman):非常典型的一种公钥算法,IPSec中普通使用DH算法●RSA(Rivest-Shamir-Aldeman:由这三个人共同发明的一种安全性极高的公钥算法)现在的SSL安全通信中普通采用RSA算法来进行生成通信双方最终用于数据加密和解密的对称密钥,数字签名等方面◆非对称(公钥)加密算法原理介绍本节以DH算法为例对非对称(公钥)加密算法的原理进行一个通俗,简单的简述,目的在于帮助大家了解非对称加密算法的基本工作原理,以及如何通过该算法巧妙的得出一个通信双方最终用来对数据进行加密/解密的共享密钥(对称密钥).3,哈希加密◆哈希加密算法是一种数据摘要算法,也称为消息摘要算法或者单项转换.任何一个数据文件都可以通过哈希算法得到一个唯一的,长度相同的消息摘要,哈希加密不需要密钥◆哈希加密是一种不可还原的数学运算,即通过消息摘要不可能得出原始文件数据◆消息摘要●双方必须在通信的两端各自执行Hash算法计算●同一种Hash运算会产生固定长度的摘要内容●原文改变则哈希运算的结果必定会是不同的◆常见算法●MD5(MessageDigestFive):128bits●SHA-1(SecureHashAlgorithm):160bits◆哈希加密通常用于数据盖章,保障数据的真实性,完整性等方面★一套完善的确保安全通信的体系结构应该能够解决通信双方的身份认证,数据在通信过程当中的保密性,不可否认性,完整性,反重播性等诸多安全方面的问题.所以,实际应用当中用于确保安全通信的框架体系结构如IPSec,SSL等都是利用了上述几种加密方法各自的优点混合在一起使用,进而而形成的一套完整的,高安全性的体系结构.如通常利用对称式加密算法的快速性,高效性以及便于通过硬件实现等优点来实现通信当中大数据的加密和解密;利用非对称式加密算法的高安全性,密钥管理的灵活性等优点来现实对小量数据的加密/解密,身份认证,密钥交换等;利用哈希加密技术来现实对数据的真实性,完整性进行保障.