
Я в процессе развертывания Kleopatra и хотел бы проверить используемый шифр. В Kleopatra в разделе "GnuPG System > S/MIME > use cipher algorithm NAME" опция установлена на 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
Я также извлек первые 16 байт из file.gpg. Я где-то читал, что 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.
Модераторы: Этот пост должен быть на Super User, а не на Cryptography, где он был изначально опубликован. OP — новый пользователь, пожалуйста, дайте ему знать, что Cryptography Stack Exchange предназначен для обсуждения математики криптографии и разработки программного обеспечения, а не использования программного обеспечения.