[openpgp] Re: on the risks of AEAD as signature [was: Re : draft-ietf-openpgp-persistent-symmetric-keys-02.txt]
Falko Strenzke <[email protected]> Tue, 11 Nov 2025 08:18:18 +0100
| Newsgroups | gmane.ietf.openpgp |
|---|---|
| Organization | MTG AG |
| Message-ID | <[email protected]> |
Am 10.11.25 um 17:24 schrieb Andrew Gallagher: > On 10/11/2025 13:52, Daniel Huigens wrote: >> The reason we added an HKDF step for AEAD in SEIPDv2 and S2K usage >> octet 253 was to thwart cross-AEAD-mode attacks, not key commitment. > > Right, I thought we also got key commitment as a side effect, but > after doing the maths it seems any protection given is minimal. > > The HKDF output is shared between the message key and the IV, so if > you generate two message keys via HKDF you also get two different IVs, > and the attack described relies upon the IV/nonce being the same > between both ciphertexts. To make the salamander attack work in > practice you need two different message keys with the same IV, > therefore you need to find two HKDF outputs with N-64 colliding bits > in the appropriate place... so at first glance that's good. In [1], for neither GCM nor OCB3 <https://www.usenix.org/system/files/sec22-albertini.pdf#page=6> it is apparent to me that the IV has to be equal for multi-key-collisions (MKC). It doesn't enter the equations for computing the tag. For GCM it is especially easy to show that the IV isn't relevant. Let's assume a 2-key-collision attack. For the encryption / decryption, the IV affects only the key stream, since it forms the predecessor of the first counter block for the CTR encryption. In ranges where bits in the resulting plaintext have to be controlled in both plaintexts, finding keys that satisfy the required bit values have to be found by brute force anyway. It doesn't matter whether the key candidates for both plaintexts are used to encrypt the same counter block or different ones. In either case, the brute force effort is 2^x trial encryptions, where x is the number of bits that have to be controlled in both plaintexts. For the remaining bit positions in the plaintext, the value matters only in either one plaintext and thus can be controlled by bit flips in the ciphertext, causing no effort in any case. The tag repair is done entirely only through an area that must be random in both plaintexts. In case you are referring to [2] for the assumption that nonce has to be equal, then this might be easy to resolve: In the attacked scheme <https://eprint.iacr.org/2019/016.pdf#page=7>, the nonce is prepended to the ciphertext, thus must be committed to by the attacker, and for this reason has to be equal for both keys. What in my understanding reliably prevents the known attacks against GCM and OCB3 in OpenPGP is the final authentication tag computed over an empty input. All attacks known in the literature require a certain amount of attacker controlled space in the message: - For AES-GCM: one block at the same position in both plaintexts or in the additional data - For OCB3: 2b blocks at the same position in both plaintexts, where b is the block cipher’s block size in bits With the empty plaintext and the additional data determined by the message and chunk index, it is not possible to achieve an MKC with the attacks given in the literature. If an application releases plaintext early during decryption, and the final error message is ignored, then MKC is possible, but this is true for attacks shortening the message as well. Falko [1] /How to Abuse and Fix Authenticated Encryption Without Key Commitment/ Ange Albertini and Thai Duong, Google Research; Shay Gueron, University of Haifa and Amazon; Stefan Kölbl, Atul Luykx, and Sophie Schmieg, Google Research https://www.usenix.org/conference/usenixsecurity22/presentation/albertin https://www.usenix.org/system/files/sec22-albertini.pdf [2] /Fast Message Franking: From Invisible Salamanders to Encryptment/ Yevgeniy Dodis, Paul Grubbs, Thomas Ristenpart, Joanne Woodage https://eprint.iacr.org/2019/016.pdf > > But. GCM uses a 12-octet nonce (i.e N=96), leaving only 32 bits in the > IV - which is practically nothing, equivalent to colliding a short > keyID. Yikes. > > A > > _______________________________________________ > openpgp mailing list -- [email protected] > To unsubscribe send an email to [email protected] -- *MTG AG* Dr. Falko Strenzke Phone: +49 6151 8000 24 E-Mail: [email protected] Web: mtg.de <https://www.mtg.de> ------------------------------------------------------------------------ MTG AG - Dolivostr. 11 - 64293 Darmstadt, Germany Commercial register: HRB 8901 Register Court: Amtsgericht Darmstadt Management Board: Jürgen Ruf (CEO), Tamer Kemeröz Chairman of the Supervisory Board: Dr. Thomas Milde This email may contain confidential and/or privileged information. If you are not the correct recipient or have received this email in error, please inform the sender immediately and delete this email.Unauthorised copying or distribution of this email is not permitted. Data protection information: Privacy policy <https://www.mtg.de/en/privacy-policy> _______________________________________________ openpgp mailing list -- [email protected] To unsubscribe send an email to [email protected]
smime.p7s
(application/pkcs7-signature, 4.9 KB) - not displayed