数据传输时的加密与解密

一 加密的目的及方式

1 确保数据的机密性

对称加密:加密解密用同一个**
非对称加密:加密解密用不同的**(公钥 私钥)

2 保护信息的完整性

信息摘要:基于输入的信息生成长度较短 位数固定的散列值

二 常见的加密算法(加解密时的计算规则)

对称加密:DES AES
非对称加密:RSA DSA
Hash散列技术,用于信息摘要:MD5 SHA

三 MD5完整性检验

使用md5sum校验工具
生成MD5校验值(md5sum 安装包)–>与软件官方提供的校验值对比(iptables -nL | md5sum)

四 GPG加解密工具

1 GnuPG简介

官网:http://www.gnupg.org/
时下最流行的数据加密 数字签名工具软件
查看版本信息 gpg --version
数据传输时的加密与解密

2 GPG对称加解密

加密操作: --symmetric 或 -c
解密操作:–decrypt 或 -d

案例:给1.txt文件进行加密 解密
touch 1.txt
加密
gpg -c test.txt
设置密码
file 1.txt*
数据传输时的加密与解密

解密
gpg -d 1.txt.gpg > 1.txt
cat ~/1.txt

3 GPG非对称加解密

数据传输时的加密与解密
3.1 创建**对
–gen-key
gpg --gen-key

3.2 导出公钥
–export --armor 或 -a
gpg --export -a > /tmp/userb.pub

3.3 导入公钥
–import
gpg --import /tmp/userb.pub

3.4 加密
–encrypt 或 -e
touch 2.txt
gpg -e -r userb 2.txt

3.5 解密
–devrypt 或 -d
mv 2.txt.gpg /tmp/
gpg -d /tmp/2.txt.gpg > d2.txt

3.6 GPG软件签名与验证

软件签名与验证过程

  1. 软件官方以私钥对软件包执行数字签名
  2. 用户下载软件包 软件官方的公钥
  3. 以官方公钥验证软件包签名 确保数据来源正确

为软件包建立签名文件
–detach-sign 或 -b

验证软件包签名
–verify

相关文章: