<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>


<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<div>
<blockquote dir="auto">
<ol start="0">
<li>Why are you adding all these algorithms to GnuTLS? (You have added
CFB8, now comes CMAC and I saw that you were working on XTS.) Do you
have any application in mind, which would benefit from using GnuTLS,
rather than using Nettle directly?</li>
</ol>
</blockquote>
<p dir="auto">CFB8 and CMAC are used by Samba, we're working on making it use GnuTLS
for all algorithms instead of implementing their own.
I think this is partially so we can do FIPS certification on a single
library.
XTS is used by libvirt, which had to copy it from another library
although they normally use only GnuTLS.
So in general I am just bringing in stuff the our downstreams asked us
for, and Nikos opened issues for, a while ago.</p>
<blockquote dir="auto">
<ol>
<li>Could you please change just <code>CMAC_128</code>/<code>CMAC_256</code> to
<code>AES_CMAC_128</code>/<code>AES_CMAC_256</code> (and so on for lower case names).
Nettle code uses cmac128 for generic 128-bit-block CMAC version (e.g.
for GOST ciphers I'm adding <code>cmac64_*</code> interface). However CMAC code
is not specific to AES (NIST defines TDEA-CMAC-xxx, CMAC computed
using 3DES as basis).</li>
</ol>
</blockquote>
<p dir="auto">I can change it to CMAC_AES_128/256 like nettle does, the other way
around would make people think that this is AES + CMAC authentication
of some sort.</p>
<blockquote dir="auto">
<ol start="2">
<li>[NIST SP800-
38B](<a href="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublicati" rel="nofollow noreferrer noopener" target="_blank">https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublicati</a>
on800-38b.pdf) contained test vectors with tags which are exactly 16
bytes long. It is replaced now, but [examples for AES-
CMAC](<a href="https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-" rel="nofollow noreferrer noopener" target="_blank">https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-</a>
Standards-and-Guidelines/documents/examples/AES_CMAC.pdf) page also
has 16-byte tags. Could you please re-verify them and just attribute
them to NIST SP800-38A?</li>
</ol>
</blockquote>
<p dir="auto">Ok.</p>
<blockquote dir="auto">
<ol start="3">
<li>I think it's find to always return 16 bytes. If anybody wants, he
can handle tag truncation manually.</li>
</ol>
</blockquote>
<p dir="auto">I guess find -> fine, I agree.</p>
<blockquote dir="auto">
<ol start="4">
<li>Which part of GnuTLS MAC interface seems misnamed to you?</li>
</ol>
</blockquote>
<p dir="auto">it's called HMAC, gnutls_hmac_init when it handles MAC generally,
infact we are adding CMAC and there is already UMAC too. It is not a
big deal, but may be a little confusing to a novice.</p>
</div>


</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777777;">

<br>
Reply to this email directly or <a href="https://gitlab.com/gnutls/gnutls/merge_requests/786#note_112431524">view it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.com.
If you'd like to receive fewer emails, you can
<a href="https://gitlab.com/sent_notifications/d1205b5c0fbd6ce9f83cfc345b2defb2/unsubscribe">unsubscribe</a>
from this thread or
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Merge request","url":"https://gitlab.com/gnutls/gnutls/merge_requests/786#note_112431524"}}</script>
</p>
</div>
</body>
</html>