
저는 Kleopatra를 출시하는 중이며 사용되는 암호를 확인하고 싶었습니다. Kleopatra에서는 "GnuPG 시스템 > S/MIME > 암호화 알고리즘 NAME 사용"에서 옵션이 AES로 설정되어 있습니다. 이것은 암호화에 사용되는 암호이며 아마도 AES128입니까? 어떻게 확인할 수 있나요?
Kleopatra를 통해 파일을 암호화하고 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번째 바이트는 AES용이어야 한다는 내용을 어딘가에서 읽었지만 09
이 역시 그렇지 않은 것 같습니다.
$ 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-192 또는 AES-256을 사용하여 보안 측면에서 많은 이점을 얻지 못하기 때문에 AES라고도 합니다.
중재자: 이 게시물은 원래 게시되었던 Cryptography가 아닌 Super User에 있어야 합니다. OP는 신규 사용자입니다. Cryptography Stack Exchange는 소프트웨어 사용보다는 암호화 수학 및 소프트웨어 개발에 대한 논의를 위한 것임을 알려주세요.