首页 > 学院 > 开发设计 > 正文

对称加密与非对称加密

2019-11-08 00:30:44
字体:
来源:转载
供稿:网友

一 , 概述

古语有云“君不密则失臣,臣不密则失身,机事不密则害成.是以君子慎密而不出也”,将信息进行加密和解密的必要性是显而易见的。它贯穿于整个人类的历史。

在现代密码学诞生以前,就已经有很多的加密方法了。例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊。16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码、猪圈密码,基于多表代换的维吉尼亚密码,二战中德军广泛使用的恩格玛加密机….但最终都找到了有效的破解算法。

现代密码学的诞生标志是1977年1月由美国国家标准局公布的数据加密标准(Data Encryption Standard,DES)。 在经过20多年之后,为适应现代的安全要求,2000年美国国家和标准技术协会筛选和评测出了被称为AES(Advanced Encryption Standard)的加密算法作为新的加密标准。目前,AES已被广泛使用,且未发现致命缺陷。到目前为止,AES是一个安全的加密算法。

然而,在加密算法之外,面临一个问题,那就是:秘钥的分发。就是说,解密方如何获得加密方的秘钥呢? 从而出现了:对称加密和非对称加密。

二,对称加密和非对称加密

1. 对称加密

对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。 常见的对称加密算法:DES,AES,3EDS等等。

2. 非对称加密

非对称加密指的是:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。 常见的非对称加密算法:RSA,ECC

3. 区别

对称加密算法相比非对称加密算法来说,加解密的效率要高得多。但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。所以在实际的网络环境中,会将两者混合使用

例如针对C/S模型, 1. 服务端计算出一对秘钥pub/PRi。将私钥保密,将公钥公开。 2. 客户端请求服务端时,拿到服务端的公钥pub。 3. 客户端通过AES计算出一个对称加密的秘钥X。 然后使用pub将X进行加密。 4. 客户端将加密后的密文发送给服务端。服务端通过pri解密获得X。 5. 服务端告知客户端已成功获得X。 6. 然后两边的通讯内容就使用对称加密,使用X作为秘钥来解密。

三,RSA原理

RSA是一种非对称加密。它的整个基础就建立在一个世界性的数学难题上。两个大质数的积的质因子分解。具体是为什么呢?

后面再补


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表