开发中的信息加密

加密技术作为安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,
到达目的地后再用相同或不同的手段还原(解密)。加密技术的应用是多方面的,但最为广泛的还是在电子
商务和VPN上的应用

加密技术分类

加密技术根据其实现,主要分为对称加密非对称加密,但是大家熟知的MD5、sha算法不是加密技术,属于单线散列摘要算法,不可逆算法。

对称加密

所谓对称加密,就是加密和解密使用同一秘钥,这也是这种加密算法最显著的缺点之一。上面的字典、圣经等也可以理解为是一份秘钥。现代的加密算法中,DES、3DES、AES等算法都属于对称加密算法。

  • 优点:效率高
  • 缺点:密钥传输不确定性,一单密钥泄露,就造成加密的失败

非对称加密

这种加密算法的秘钥分为公钥和私钥,公开秘钥用于对信息进行加密,而解密时使用私有秘钥进行解密,信息发送方使用公钥对信息进行加密,然后将信息发送给接收方,接收方使用私钥进行解密即可。常见的非对称加密算法有:RSA、EIGamal、背包算法、Rebin(RSA的特例)。

  • 优点:相对于对称加密安全
  • 缺点:效率低

单线散列摘要

单向散列算法,又称hash函数,Hash函数(也称杂凑函数或杂凑算法)就是把任意长的输入消息串变化 成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一般用于产生消息摘要,密钥加密等。

常见散列函数(Hash函数)有:

MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,
可以用来把不同长度的数据块进行暗码运算成一个128位的数值。
SHA(Secure Hash Algorithm)这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值。
MAC(Message Authentication Code):消息认证代码,是一种使用密钥的单向函数,可以用它们在系统上或
用户之间认证文件或消息,常见的是HMAC(用于消息认证的密钥散列算法)。
CRC(Cyclic Redundancy Check):循环冗余校验码,CRC校验由于实现简单,检错能力强,被广泛使用在各种
数据校验应用中。占用系统资源少,用软硬件均能实现,是进行数据传输差错检测地一种很好的手段(CRC 并不是严格
意义上的散列算法,但它的作用与散列算法大致相同,所以归于此类)。

(摘录于百度)

https中对加密技术的应用

https通信双方建立通信后,A首先生成一对公钥和私钥,并将公钥发送给B,B使用公钥将一个对称加密算法的“秘钥+有效期”加密后,再发回给A,A使用私钥解密后,双方便同步了一个对称算法的秘钥,然后在规定的有效期内,双方便可以使用这个秘钥对通信数据进行加密和解密。

总结起来:非对称加密传输的是加密算法;对称加密传输的是信息。