一、对称加密
1、对称加密的介绍
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥加密。也就是密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难。
对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。密钥的大小既要照顾到安全性,也要照顾到效率。
常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES。
2、对称加密的优点
对称加密是最快速、最简单的一种加密方式,加密与解密用的是同样的密钥。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。
3、对称加密的缺点
对称加密算法在电子商务交易过程中存在几个问题:
1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。直接的面对面协商可能是不现实而且难于实施的,所以双方可能需要借助于邮件和电话等其它相对不够安全的手段来进行协商;
2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥,很难适应开放社会中大量的信息交流;
3、对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份;
4、对称密钥的管理和分发工作是一件具有潜在危险的和烦琐的过程。对称加密是基于共同保守秘密来实现的,采用对称加密技术的贸易双方必须保证采用的是相同的密钥,保证彼此密钥的交换是安全可靠的,同时还要设定防止密钥泄密和更改密钥的程序。
4、对称加密的实验
实验目的:centos6对chen.txt 实现对称加密 发送给centos7,centos7 解密看到信息。
centos6 在xshell 中不能弹出 x11 图形化界面,只能在本机上做。(连续输入2次密码)
gpg -c chen.txt 对chen.txt 文件进行对称加密
加密后生成一个新的文件,名为:chen.txt.gpg 。并将加密后的文件发送给对方。
注:c7 为设置centos7所对应的域名。
centos7 :已收到加密的文件
gpg -o chen.txt -d chen.txt.gpg 解密 并命名解密后文件名
随后弹出一个对话框,输入密码
对称加密的一大缺点是密钥的管理与分配,也就是说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被×××们拦截。所以就产生了非对称加密,而且在现实中通常使用的都是非对称加密。
二、非对称加密
1、非对称加密的介绍
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
非对称加密的典型应用是数字签名。
常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
2、非对称加密的特点
与对称加密不同,非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥和私钥。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对加加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。与对称加密不同的是,私钥持有人不需要将私钥通过网络发送出去,因此安全性大大提高。
3、非对称加密的缺点
虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。
4、非对称加密的实验
实验目的:centos6对chenchen.txt 实现用centos7公钥加密 发送给centos7,centos7 用centos 7的私钥解密看到其信息内容。
在需加密数据的主机上生成公钥/私钥对
gpg --gen-key 生成公私钥 ,并进行以下操作
保存后,会弹出一个输入密码的对话框,输入私钥的密码,并选择Take This one anyway ,再次输入密码。
gpg -k 查看私钥 gpg -K 查看公钥
gpg -a --export -o centos7.key 导出公钥
scp centos7.key root@c6:/app/ 将centos7.key 发送给c6用户root根目录下的app
在c6 中查看已收到公钥(centos7.key)
gpg --import centos6.key 在centos6系统中导入公钥,通过gpg -k/K 查看公私钥。
centos6系统用c7的公钥对chenchen.txt 加密
gpg -e -r magedu letter.txt centos6系统将chenchen.txt文件用centos7公钥加密
ls 查看app目录下的文件 scp chenchen.txt.gpg root@c7:/app 将加密后的文件发给c7
在centos7系统中可以查看到已收到公钥加密的文件,centos7用其私密解密
gpg -o xin.txt -d xin.txt.gpg -d :解密;-o :指定解密后文件的命名
centos7 系统需要私钥解密时,需输入私钥。
可以查看到解密后的文件chenchen.txt 已存在,内容正确!
三、小总结
对称或非对称密钥的运作方式不同,一种允许双方进行加密和解密,另一种则是单方面通信。但两者都是SSL的组成部分。非对称加密有助于在SSL握手期间验证公钥/私钥对的所有权,而对称加密是在安全连接期间用于实际通信的方法。