深入理解Linux高级安全加密技术
1. 非对称密钥加密与解密
非对称密钥加密和解密文件需要以下步骤:
1. 生成密钥对和密钥环。
2. 将公钥副本导出到文件。
3. 共享公钥文件。
4. 想要给你发送加密文件的人将你的公钥添加到他们的密钥环中。
5. 使用你的公钥对文件进行加密。
6. 将加密文件发送给你。
7. 你使用私钥对文件进行解密。
在非对称加密中,每个公钥和私钥是一对协同工作的组合,这可能会让人感到困惑。
2. 数字签名
数字签名是一种用于身份验证和数据验证的电子标识。它不是你物理签名的扫描件,而是随文件发送的加密令牌,确保文件来自你且未被修改。创建数字签名的步骤如下:
1. 创建文件或消息。
2. 使用gpg2工具为文件创建哈希值或消息摘要。
3. gpg2工具使用非对称密钥密码对哈希值和文件进行加密,这里使用公/私钥对中的私钥,得到数字签名的加密文件。
4. 将加密后的哈希值(即数字签名)和文件发送给接收者。
5. 接收者重新创建接收到的加密文件的哈希值或消息摘要。
6. 接收者使用gpg2工具,通过公钥解密接收到的数字签名,获取原始哈希值或消息摘要。
7. gpg2工具比较原始哈希值和重新创建的哈希值是否匹配。如果匹配,接收者会得知数字签名有效。
8. 接收者可以读取解密后的文件。
在步骤3中首先使用私钥,而在非对称密钥加密的描述中,首先使用的是公钥。非对称密钥加密足够灵活,允许你使用私钥进行加密,接收者使用公钥进行解密。
数字签名有其特殊的密码算法。