赞
踩
对称加密只有一个密钥,直接使用这一个密钥对信息进行加密或解密。这样子就使得对称加密解密十分高效,计算量也相较于非对称加密小很多,适合有大量数据的场合。
密钥只有一个且他一定不能泄漏。由此分发密钥,讲这个密钥传递给客户端是一件很有挑战性的事情。所以相较于非对称加密,对称加密的安全性低一些,因为再传递过程中密钥可能被他人获取。
常见对称加密算法:
DES(Data Encryption Standard):
3DES(Triple Data Encryption Algorithm):
AES(Advanced Encryption Standard):
非对称加密再服务端时会生成一对密钥,分别为公钥和私钥,这个公钥可以明文发送给客户端,之后所有客户端给服务端发送消息前,都先用公钥对消息进行加密,那么请求再网络中被非法获取,没有私钥的话也无法获取信息。之后客户端就可以放心的发送请求给服务端了。等请求打到服务端,服务端再用私钥将信息解密。
两个密钥中,公钥可以公开,而私钥不在网络中传输,则没有被截取的危险。则安全性得到了很大的提升。当然计算效率相较于对称加密会慢。为什么公钥和私钥可以互相解密呢,这是数学上问题。
RSA加密算法:
密钥生成:
p
和 q
。n = p * q
。r = (p - 1) * (q - 1)
。r
互质的整数 e
,使得 e
与 r
满足 e * d ≡ 1 (mod r)
,其中 d
是 e
的模反元素。(e, n)
,私有密钥为 (d, n)
。加密方法:
k
位的块 P
。P
,计算 C = P^e (mod n)
,其中 C
即为 P
的密文。解密方法:
C
,计算 P = C^d (mod n)
,其中 P
即为明文。
总之,RSA算法使用平方运算,明文以分组为单位进行加密,每个分组的二进制值小于 n。密钥的长度决定了加密的安全性,通常 n 的大小为1024位或309位十进制数。
混合加密就是为了利用对称加密的高效性和非对称加密的安全性。
数字签名并不是对想要传递的信息进行加密,主要用途是用来身份验证的,判断这个信息是否由特定发送方发送。
哈希函数是对一段信息产生内容摘要,待客户端接收信息后,再对信息原文进行哈希函数计算,对比两个内容摘要是否一样,防止信息再传输过程中被篡改。
而数字签名和哈希函数结合起来。此时和非对称加密反过来,是使用公钥进行加密的。
作用:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。