哈希算法(单向散列)

数据相同摘要相同,判断文件摘要就能知道文件是否相同,比较哈希值。数据不变哈希值不变。

哈希与加密混合使用,对称与非对称加密一起用

常见算法 md5: 128bits、sha1: 160bits、sha224、sha256、sha384、sha512

常用工具 • md5sum | sha1sum [ --check ] file

[root@centos ~]# md5sum apache.sh 9bcfb6fb9a92e728d387d5c7d48e6df7 apache.sh 哈希值

• openssl、gpg • rpm -V

密钥交换:IKE( Internet Key Exchange )

公钥加密:

DH (Deffie-Hellman):生成会话密钥

DH: A: g,p 协商生成公开的整数g, 大素数p

B: g,p

A:生成隐私数据 :a (a<p),计算得出 g^a%p,发送给B

B:生成隐私数据 :b,计算得出 g^b%p,发送给A

A:计算得出 [(g^b%p)^a] %p = g^ab%p,生成为密钥 B:计算得出 [(g^a%p)^b] %p = g^ab%p,生成为密钥

rpm -V 包名:通过单向散列算法检验rpm包的合法性

rpm -K 包名:通过单向散列算法检验rpm包的签名

gpg实现对称加密

1 对称加密file文件 gpg -c file

(1)在发送方对文件加密

输入密钥

(2)在接收方解密

1536762508732 在执行解密时需要接收方输入加密密钥

ls file.gpg

2 在另一台主机上解密file gpg -o file -d file.gpg

使用gpg工具实现公钥加密

在hostB主机上用公钥加密,在hostA主机上解密 在hostA主机上生成公钥/私钥对 gpg --gen-key 在hostA主机上查看公钥 gpg --list-keys 在hostA主机上导出公钥到wang.pubkey gpg -a --export -o wang.pubkey 从hostA主机上复制公钥文件到需加密的B主机上 scp wang.pubkey hostB:

在需加密数据的hostB主机上生成公钥/私钥对 gpg --list-keys gpg --gen-key 在hostB主机上导入公钥 gpg --import wang.pubkey gpg --list-keys 用从hostA主机导入的公钥,加密hostB主机的文件file,生成file.gpg gpg -e -r wangxiaochun file file file.gpg

复制加密文件到hostA主机 scp fstab.gpg hostA: 在hostA主机解密文件 gpg -d file.gpg gpg -o file -d file.gpg 删除公钥和私钥 gpg --delete-keys wangxiaochun gpg --delete-secret-keys wangxiaochun

中间×××原理

1536716773154

CA和证书

证书申请

服务脚本

1536744572561