对称加密:加密和解密使用同一个秘钥
DES,3DES,AES(128、192、256bits)
特性:
1、加密、解密使用同一个秘钥,效率高
2、将原始数据分割成固定大小的块,逐个进行加密
缺陷:
1、密钥过多 2、密钥分发 3、数据来源无法确认
非对称加密算法
RSA(加密,数字签名)、DSA(数字签名)
公钥加密:密钥成对出现
公钥:公开给所有人;public key
私钥:自己留存,必须保证其私密性;secret key
特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
功能:
数字签名:主要在于让接收方确认发送方身份
对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方
数据加密:适合加密较小数据
缺点:密钥长,加密解密效率低下
数字证书实现:A→发送者 B→接受者
数字签名:用A私钥加密HASH值,证明来源
原文加密:用B公钥加密原文,确保只有B能解密
校验原文:用解密后的数字签名和做HASH原文比对
对称与非对称加密综合使用:
对称密钥[数据+A私钥{数据的HASH值}]+B公钥(对称密钥)
HASH算法:
常见算式
md5:128bits、sha1:160bits、sha224、sha256、sha384、sha512
常用工具
md5sum [--check\-c] file
sha1sum [--check\-c] file
opssl、gpg
rpm -V
GPG命令
一、实现对称加密
对称加密file文件
gpg -c file
ls file.gpg
在另一台主机上解密file
gpg -o file -d file.gpg
二、实现非对称加密
原理:在hostB主机上用公钥加密,在hostA主机上解密
1、在hostA主机上生成公钥/私钥对
gpg --gen-key
2、在hostA主机上查看公钥
gpg --list-keys
3、在hostA主机上导出公钥到wang.pubkey
gpg -a --export -o wang.pubkey
4、从hostA主机上复制公钥文件到需要加密的B主机上
scp wang.pubkey hostB
5、在需要加密数据的hostB主机上生成公钥/私钥对
gpg --list-keys
gpg --gen-key
6、在hostB主机上导入公钥
gpg --import wang.pubkey
gpg --list-keys ###查看密钥列表
7、用从hostA主机导入的公钥,加密hostB主机的文件file,生成file.gpg
gpg -e -r hostA公钥 file
file file.gpg ###查看文件类型
8、复制加密文件到hostA主机
scp fstab.gpg hostA
9、在hostA主机解密文件
gpg -d file.gpg ###预览文件
gpg -o file -d file.gpg
删除公钥和密钥
gpg --delete-key hostA
gpg --delete-secret-keys hostA