<div dir="ltr"><div>Yes, yes, a thousand times yes!<br><br>Keep in mind that if you truncate a GCM tag at all, let's say down to your 32 bit example, the security level for existential forgery is much lower than 32 bits. Furthermore, successful forgeries may reveal the authentication key. [Ferguson05]<br>

<br></div>[Ferguson05]: <a href="http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/CWC-GCM/Ferguson2.pdf">http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/CWC-GCM/Ferguson2.pdf</a><br></div><div class="gmail_extra">

<br><br><div class="gmail_quote">On Mon, Jun 30, 2014 at 6:29 PM, Alex Gaynor <span dir="ltr"><<a href="mailto:alex.gaynor@gmail.com" target="_blank">alex.gaynor@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Background:<div><br></div><div>Right now when you provide a tag to GCM for decryption/verification, we allow it to be truncated, always. This means that applications that don't want truncation must add their own length checking.</div>


<div><br></div><div>Analysis:</div><div><br></div><div>This is terrible, because it means most applications will silently allow truncation down to a 4-byte MAC (32-bits), which is much easier to brute force to otherwise exploit than the full 16-byte MAC.</div>


<div><br></div><div>Proposal:</div><div><br></div><div>Changing the constructor to disallow truncated MACs by default, and require the user to explicitly opt in to truncation.</div><div><br></div><div>This is technically backwards-incompatible, but I think it's a good change, because of the enormity of the improvement in security.</div>


<div><br></div><div>A patch doing this is here: <a href="https://github.com/pyca/cryptography/pull/1201" target="_blank">https://github.com/pyca/cryptography/pull/1201</a></div><div><br></div><div>Feedback please!</div><span class="HOEnZb"><font color="#888888"><div>

Alex<br clear="all">
<div><br></div>-- <br><div dir="ltr">"I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire)<br>"The people's good is the highest law." -- Cicero<br>


<div>GPG Key fingerprint: 125F 5C67 DFE9 4084</div></div>
</div></font></span></div>
<br>_______________________________________________<br>
Cryptography-dev mailing list<br>
<a href="mailto:Cryptography-dev@python.org">Cryptography-dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/cryptography-dev" target="_blank">https://mail.python.org/mailman/listinfo/cryptography-dev</a><br>
<br></blockquote></div><br></div>