gpg 的消息验证码
Message Authentication Code for gpg
gpg 软件开箱即用地支持对称加密。这意味着,它使用密码。但是除了保护内容之外,确保消息的身份验证也很重要。这个想法是创建文件本身的哈希和以及用于加密的密码。根据[1],流行的“消息验证码”是HMAC。输入后:
gpg --hmac --armor --symmetric --passphrase pwd1 file.txt
gpg: Invalid option "--hmac"
出现一条错误消息,指出软件无法识别该开关。如何正确使用 MAC 身份验证?
你不能。错误消息的原因是签名类型不适用于 GPG。您最好只使用标准 GPG 方法对文件进行签名和加密。即使您只想使用对称加密,收件人仍然需要使用 GPG 来解密文件。正确的命令是:
gpg -o filename.txt.asc -sear $recipient_key filename.txt
这假设您也始终加密到您自己的密钥,否则命令将是:
gpg -o filename.txt.asc -sear $recipient_key -r $your_key filename.txt
如果他们没有密钥,您仍然可以只对您自己的密钥进行签名和加密,然后提取会话密钥,这样您就可以提供给他们使用它来解密文件:
gpg -o filename.txt --show-session-key -d filename.txt.asc
然后收件人将能够解密:
gpg -o filename.txt --override-session-key $session_key -d filename.txt.asc
但是,如果您确实必须只使用对称加密,则可以分两次完成。
首先签署文件:
gpg -o filename.txt.asc -sa filename.txt
然后对称加密该文件:
gpg -o newfilename.asc -a -c filename.txt.asc
收件人需要运行两次解密命令;首先在对称加密的文件上,然后在它解密的文件上第二次。
普通的 --verify 选项仅用于检查明文签名文件或带有分离签名的文件。
gpg 软件开箱即用地支持对称加密。这意味着,它使用密码。但是除了保护内容之外,确保消息的身份验证也很重要。这个想法是创建文件本身的哈希和以及用于加密的密码。根据[1],流行的“消息验证码”是HMAC。输入后:
gpg --hmac --armor --symmetric --passphrase pwd1 file.txt
gpg: Invalid option "--hmac"
出现一条错误消息,指出软件无法识别该开关。如何正确使用 MAC 身份验证?
你不能。错误消息的原因是签名类型不适用于 GPG。您最好只使用标准 GPG 方法对文件进行签名和加密。即使您只想使用对称加密,收件人仍然需要使用 GPG 来解密文件。正确的命令是:
gpg -o filename.txt.asc -sear $recipient_key filename.txt
这假设您也始终加密到您自己的密钥,否则命令将是:
gpg -o filename.txt.asc -sear $recipient_key -r $your_key filename.txt
如果他们没有密钥,您仍然可以只对您自己的密钥进行签名和加密,然后提取会话密钥,这样您就可以提供给他们使用它来解密文件:
gpg -o filename.txt --show-session-key -d filename.txt.asc
然后收件人将能够解密:
gpg -o filename.txt --override-session-key $session_key -d filename.txt.asc
但是,如果您确实必须只使用对称加密,则可以分两次完成。
首先签署文件:
gpg -o filename.txt.asc -sa filename.txt
然后对称加密该文件:
gpg -o newfilename.asc -a -c filename.txt.asc
收件人需要运行两次解密命令;首先在对称加密的文件上,然后在它解密的文件上第二次。
普通的 --verify 选项仅用于检查明文签名文件或带有分离签名的文件。