是否可以使用 GPG 显示用于加密的密码?
我发现解密时使用详细标志可以获得所需的信息:
gpg: 使用 4096 位 RSA 密钥加密,ID 1122334455667788,创建于 2017-09-01
gpg:AES256加密数据
:压缩包:算法=2
我有两个与此相关的问题。
- 此信息是否已加密(使用公钥)?
- 这些信息可以打印吗?
澄清:我想看看公钥算法和对称密码。
答案1
可以使用以下命令查看信息gpg
:
mtak@rubiks:~/.password-store/test(master)$ gpg --list-packets -vv --show-session-key test.gpg
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 1, keyid 0062798D743AC1D3
data: [4096 bits]
gpg: public key is 0062798D743AC1D3
gpg: using subkey 0062798D743AC1D3 instead of primary key B3A64441695490BB
gpg: public key encrypted data: good DEK
# off=527 ctb=d2 tag=18 hlen=2 plen=164 new-ctb
:encrypted data packet:
length: 164
mdc_method: 2
gpg: using subkey 0062798D743AC1D3 instead of primary key B3A64441695490BB
gpg: encrypted with 4096-bit RSA key, ID 0062798D743AC1D3, created 2016-07-27
"Merijntje Tak <[email protected]>"
gpg: AES256 encrypted data
gpg: session key: '9:0712ABE10B7F0246B70A9138A3722E277028C6A1FA581A8CCEE6DC4B867E5AD6'
# off=548 ctb=ac tag=11 hlen=2 plen=121
:literal data packet:
mode b (62), created 1514453162, name="zTDbDQ-test-test.txt",
raw data: 98 bytes
gpg: decryption okay
对称密码已加密。当尝试使用无权访问私钥的 GPG 执行“--list-packets”时,它会显示:
test@rubiks:~$ gpg --list-packets -vv --show-session-key test.gpg
# off=0 ctb=85 tag=1 hlen=3 plen=524
:pubkey enc packet: version 3, algo 1, keyid 0062798D743AC1D3
data: [4095 bits]
gpg: public key is 0062798D743AC1D3
# off=527 ctb=d2 tag=18 hlen=2 plen=165 new-ctb
:encrypted data packet:
length: 165
mdc_method: 2
gpg: encrypted with RSA key, ID 0062798D743AC1D3
gpg: decryption failed: No secret key
答案2
可以使用 获取示例中的信息gpg --list-packets
。
(或者,pgpdump
以不同的格式显示相同的 OpenPGP 结构。)