mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Implement AEAD for SKESK packets.
* g10/packet.h (PKT_symkey_enc): Add field aead_algo. * g10/build-packet.c (do_symkey_enc): Support version 5 packets. * g10/parse-packet.c (parse_symkeyenc): Ditto. * g10/encrypt.c (encrypt_symmetric): Force using a random session key in AEAD mode. (encrypt_seskey): Add and support arg aead_algo. (write_symkey_enc): Ditto. (encrypt_simple): Adjust accordingly. (encrypt_filter): Ditto. * g10/gpgcompose.c (sk_esk): For now call encrypt_seskey without AEAD support. * g10/mainproc.c (symkey_decrypt_seskey): Support AEAD. Nver call BUG but return an error. (proc_symkey_enc): Call symkey_decrypt_seskey in a bug compatible way. * g10/import.c (check_prefs): Check AEAD preferences. * g10/keyedit.c (show_prefs): Print AEAD preferences. -- For easier debugging this patch also changes some diagnostics to also print the encryption mode with the cipher algorithm. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
da3015e3c0
commit
9aab9167bc
11 changed files with 300 additions and 104 deletions
|
@ -1326,9 +1326,6 @@ sign_symencrypt_file (ctrl_t ctrl, const char *fname, strlist_t locusr)
|
|||
s2k->hash_algo = S2K_DIGEST_ALGO;
|
||||
|
||||
algo = default_cipher_algo();
|
||||
if (!opt.quiet || !opt.batch)
|
||||
log_info (_("%s encryption will be used\n"),
|
||||
openpgp_cipher_algo_name (algo) );
|
||||
cfx.dek = passphrase_to_dek (algo, s2k, 1, 1, NULL, &canceled);
|
||||
|
||||
if (!cfx.dek || !cfx.dek->keylen) {
|
||||
|
@ -1341,6 +1338,12 @@ sign_symencrypt_file (ctrl_t ctrl, const char *fname, strlist_t locusr)
|
|||
if (!cfx.dek->use_aead)
|
||||
cfx.dek->use_mdc = !!use_mdc (NULL, cfx.dek->algo);
|
||||
|
||||
if (!opt.quiet || !opt.batch)
|
||||
log_info (_("%s.%s encryption will be used\n"),
|
||||
openpgp_cipher_algo_name (algo),
|
||||
cfx.dek->use_aead? openpgp_aead_algo_name (cfx.dek->use_aead)
|
||||
/**/ : "CFB");
|
||||
|
||||
/* now create the outfile */
|
||||
rc = open_outfile (-1, fname, opt.armor? 1:0, 0, &out);
|
||||
if (rc)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue