
Estoy en el proceso de implementar Kleopatra y quería verificar el cifrado que se utiliza. En Kleopatra, en "Sistema GnuPG > S/MIME > usar algoritmo de cifrado NOMBRE", la opción está configurada en AES. ¿Es este el cifrado utilizado para el cifrado y presumiblemente es AES128? ¿Cómo puedo verificar eso?
Cifré un archivo a través de Kleopatra y lo envié a una caja de Linux donde ejecuté el texto cifrado pgpdump
. No estoy seguro de lo que estoy mirando. Esperaba ver 'AES' por aquí en alguna parte.
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
Lo intenté gnupg --list-packets file.gpg
con nada que vea como indicativo del cifrado, pero probablemente sea mi ignorancia la que muestra:
$ 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
También extraje los primeros 16 bytes de file.gpg. Leí en alguna parte que el cuarto byte debería ser 09
para AES, pero este tampoco parece ser el caso:
$ od -t x1 file.gpg | head -1
0000000 85 01 0c 03 19 c3 9b 0a b3 f1 23 95 01 07 fd 15
Respuesta1
En GnuPG, debajo de los algoritmos enumerados, como el siguiente resultado de gpg --version
, puede ver los cifrados de bloque admitidos en su compilación.
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
A diferencia de la familia Camellia, AES-128 simplemente figura como AES. Probablemente esto se deba a lo ubicuo que es AES-128; A menudo se lo denomina simplemente AES porque actualmente, la mayoría de las aplicaciones no se benefician mucho en cuanto a seguridad al usar AES-192 o AES-256.
Moderadores: esta publicación debe estar en Superusuario, en lugar de en Criptografía, donde se publicó originalmente. OP es un usuario nuevo, hágales saber que Cryptography Stack Exchange es para discutir las matemáticas de la criptografía y el desarrollo de software en lugar del uso de software.