我正在推出 Kleopatra,想验证一下所使用的密码。在 Kleopatra 中,在“GnuPG 系统 > S/MIME > 使用密码算法名称”下,选项设置为 AES。这是用于加密的密码吗?它可能是 AES128 吗?我该如何验证?
我通过 Kleopatra 加密了一个文件,并将其发送到 Linux 机器,然后通过 运行密文pgpdump
。不确定我在看什么。我以为会在这里的某个地方看到“AES”。
Old: Public-Key Encrypted Session Key Packet(tag 1)(268 bytes)
New version(3)
Key ID - 0xxxxxxxxxxxx95
Pub alg - RSA Encrypt or Sign(pub 1)
RSA m^e mod n(2045 bits) - ...
-> m = sym alg(1 byte) + checksum(2 bytes) + PKCS-1 block type 02
Old: Public-Key Encrypted Session Key Packet(tag 1)(268 bytes)
New version(3)
Key ID - 0xxxxxxxxxxxx4E
Pub alg - RSA Encrypt or Sign(pub 1)
RSA m^e mod n(2046 bits) - ...
-> m = sym alg(1 byte) + checksum(2 bytes) + PKCS-1 block type 02
New: Symmetrically Encrypted and MDC Packet(tag 18)(512 bytes) partial start
Ver 1
Encrypted data [sym alg is specified in pub-key encrypted session key]
(plain text + MDC SHA1(20 bytes))
New: (54 bytes) partial end
我已经尝试过,gnupg --list-packets file.gpg
但没有看到任何可以表明密码的东西,但这可能是我的无知的表现:
$ gpg --list-packets file.gpg
:pubkey enc packet: version 3, algo 1, keyid xxxxxxxx95
data: [2045 bits]
:pubkey enc packet: version 3, algo 1, keyid xxxxxxxx4E
data: [2046 bits]
:encrypted data packet:
length: unknown
mdc_method: 2
gpg: encrypted with 2048-bit RSA key, ID xxxxxx4E, created 2018-11-28
"xxxxxx <xxxxxx@xxxxx>"
gpg: encrypted with 2048-bit RSA key, ID xxxxxx95, created 2017-07-13
"xxxxxxxxx <xxxxxx@xxxxx>"
gpg: decryption failed: secret key not available
我还提取了 file.gpg 的前 16 个字节。我读到过第 4 个字节应该是09
用于 AES 的,但这似乎也不是事实:
$ od -t x1 file.gpg | head -1
0000000 85 01 0c 03 19 c3 9b 0a b3 f1 23 95 01 07 fd 15
答案1
在 GnuPG 中,在列出的算法下,例如下面的输出gpg --version
,您可以看到您的构建支持的分组密码。
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
与 Camellia 系列不同,AES-128 被简单地列为 AES。这可能是因为 AES-128 非常普遍;它通常被称为 AES,因为目前大多数应用程序使用 AES-192 或 AES-256 并不能带来太多安全方面的好处。
版主:此帖子应发布在超级用户上,而不是最初发布在 Cryptography 上。OP 是新用户,请让他们知道 Cryptography Stack Exchange 是用于讨论密码学的数学和软件开发,而不是软件的使用。