- 信息传递中的风险
手段:
技术:黑客
非技术:拔网线
社会工程学:一起喝酒喝醉了就i把密码说了
一、加/解密
发送方:加密(明文-----> 密文)
接收方:解密(密文------>明文)
- 加密目的及方式:
确保数据的机密性
对称加密:加/解密用同一个密钥
算法:DES、AES
非对称加密:公钥加密,私钥解密(加/解密用不同的密钥)
算法:RSA、DSA
验证完整性
常见的加密算法(计算规则):
hash散列技术,用于信息摘要
SHA
MD5
- 根据输入的文本(长度不限),生成固定长度(例如128位)的摘要文本
- 只要输入的文本不同,则生成的摘要文本也不一样
保护信息的完整性
信息摘要(hash值):基于输入的信息生成长度较短、位数固定的散列值
[root@root ~]# ls /root/ | md5sum
[root@root ~]# echo "aaaaaa" > a.txt
[root@root ~]# ls /root/ | md5sum[root@root ~]# md5sum a.txt
[root@root ~]# echo "bbbb" >> a.txt
[root@root ~]# md5sum a.txt
[root@root ~]# sed -i '2d' a.txt
[root@root ~]# md5sum a.txt
[root@root ~]# rm -rf a.txt
[root@root ~]# ls /root/ | md5sum
[root@root ~]# which gpg
/usr/bin/gpg
[root@root ~]# rpm -q gnupg2
gnupg2-2.0.22-5.el7_5.x86_64
[root@root ~]# gpg --help
[root@root ~]# man gpg
GnuPG最流行的数据加密、数字签名工具软件
支持算法
- 公钥:RSA、ELG、DSA
- 对称加密:3DES、CAST5、BLOWFISH、AES、AES256
- 散列:MD5、SHA、、、SHA256、SHA512
加密例子[真机上操作]
[root@root ~]# useradd usera #发送方
[root@root ~]# useradd userb #接收方
[root@root ~]# echo "123456" | passwd --stdin usera
[root@root ~]# echo "123456" | passwd --stdin userb
开2终端
[root@root ~]# ssh -X userb@120.78.120.52
[root@root ~]# ssh -X usera@120.78.120.52
gpg对称加/解密
gpg -c 加密 文件
gpg -d 解密 文件
[usera@root ~]$ vim test.txt
love you
love love you
very very love you
nice #随便写一些看的懂的明文
[usera@root ~]$ gpg -c test.txt #进行加密,(提示)输入加密密码1