Return-Path: <housley@vigilsec.com>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id EF3473A005B
 for <cfrg@ietfa.amsl.com>; Fri, 24 Apr 2020 11:24:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.796
X-Spam-Level: 
X-Spam-Status: No, score=-1.796 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1,
 SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001]
 autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id RmXa1iqn_Wrd for <cfrg@ietfa.amsl.com>;
 Fri, 24 Apr 2020 11:24:39 -0700 (PDT)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id A55803A003D
 for <cfrg@irtf.org>; Fri, 24 Apr 2020 11:24:38 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.smeinc.net (Postfix) with ESMTP id 1848C300AF8
 for <cfrg@irtf.org>; Fri, 24 Apr 2020 14:24:36 -0400 (EDT)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1])
 by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id VocKCAk9qIsV for <cfrg@irtf.org>;
 Fri, 24 Apr 2020 14:24:32 -0400 (EDT)
Received: from a860b60074bd.fios-router.home
 (pool-72-66-113-56.washdc.fios.verizon.net [72.66.113.56])
 by mail.smeinc.net (Postfix) with ESMTPSA id BCF53300435;
 Fri, 24 Apr 2020 14:24:32 -0400 (EDT)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <C07F2E30-AEFE-43C8-BDA4-5C90097C1E9E@vigilsec.com>
Content-Type: multipart/alternative;
 boundary="Apple-Mail=_C122A3B4-BC22-4DF2-A94E-BE3B4A13DBB8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\))
Date: Fri, 24 Apr 2020 14:24:34 -0400
In-Reply-To: <BL0PR0901MB43210514EB286236FD09945EF3D00@BL0PR0901MB4321.namprd09.prod.outlook.com>
Cc: Scott Fluhrer <sfluhrer@cisco.com>,
 IRTF CFRG <cfrg@irtf.org>
To: Quynh Dang <quynh.dang@nist.gov>
References: <3F99CED3-A810-4CF6-98AC-A55E29000D1F@vigilsec.com>
 <MN2PR11MB3936EF98AC1A6E300AF0D020C1D30@MN2PR11MB3936.namprd11.prod.outlook.com>
 <8D7734DD-58AD-450B-B527-73AF004224CD@vigilsec.com>
 <BL0PR0901MB432179C856F93148CBD664B6F3D00@BL0PR0901MB4321.namprd09.prod.outlook.com>
 <408B4950-1A32-4D89-A6B5-80BE807752BE@vigilsec.com>
 <BL0PR0901MB43210514EB286236FD09945EF3D00@BL0PR0901MB4321.namprd09.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.104.14)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/g2gtqIilsFXKGC51SGOikVLaaaU>
Subject: Re: [Cfrg] draft-fluhrer-lms-more-parm-sets-01
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/cfrg>,
 <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/cfrg>,
 <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Apr 2020 18:24:43 -0000


--Apple-Mail=_C122A3B4-BC22-4DF2-A94E-BE3B4A13DBB8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Thanks.  I understand your argument, but I do not see truncation as a =
step.  At most, it is a memory copy.

Russ


> On Apr 24, 2020, at 12:44 PM, Dang, Quynh H. (Fed) =
<quynh.dang@nist.gov> wrote:
>=20
> Hi Russ,
>=20
> If you use SHA3-256 to get a 192-bit version, you will need to run =
SHA3-256 (output is 256 bits), then do a truncation step to get a =
192-bit value. With SHAKE256/192, you just run SHAKE256 with the output =
being 192 bits; there is no extra truncation step needed.=20
>=20
> SHA3-256 is intended for being used as a fixed output length hash =
function.=20
>=20
> Therefore, SHAKE256/192 makes more sense than SHA3-256 with an =
additional truncation step to get a 192-bit output.
>=20
> So, (SHAKE256/192 + SHAKE256/256) makes more sense than both of these =
options: (SHA3-256 + SHA3-256/192) and (SHA3-256 + SHAKE256/192).=20
>=20
> Regards,
> Quynh.=20
>=20
> Regards,
> Quynh.=20
>=20
> From: Russ Housley <housley@vigilsec.com =
<mailto:housley@vigilsec.com>>
> Sent: Friday, April 24, 2020 10:17 AM
> To: Dang, Quynh H. (Fed) <quynh.dang@nist.gov =
<mailto:quynh.dang@nist.gov>>
> Cc: Scott Fluhrer <sfluhrer@cisco.com <mailto:sfluhrer@cisco.com>>; =
IRTF CFRG <cfrg@irtf.org <mailto:cfrg@irtf.org>>
> Subject: Re: [Cfrg] draft-fluhrer-lms-more-parm-sets-01
> =20
> Quynh:
>=20
> I do not understand number 2.  Can you please say more?  I think it =
makes sense if the output is greater than the size of the hash function, =
but exactly the same or less.
>=20
> The difference it primarily the padding at the end of the message:
>=20
> SHA3-256(M) =3D KECCAK[512](M || 01, 256)
> SHAKE256(M, d) =3D KECCAK[512](M || 1111, d)
>=20
> This answers Uri's question about the performance.  They are =
essentially the same.
>=20
> Russ
>=20
>=20
>> On Apr 24, 2020, at 6:52 AM, Dang, Quynh H. (Fed) =
<quynh.dang=3D40nist.gov@dmarc.ietf.org =
<mailto:quynh.dang=3D40nist.gov@dmarc.ietf.org>> wrote:
>>=20
>> Hi Russ and all,
>>=20
>> The reasons for specifying SHAKE256/256 and SHAKE256/192 are =
followings:
>>=20
>> 1) SHA3-256 and SHAKE256/256 are the same except different paddings =
to make them different functions.=20
>>=20
>> 2) If we use SHA3-256, then we would use SHA3-256/192 or SHAKE256/192 =
for the 192-bit version. SHA3-256 (or SHA3-512 etc...) is intended to be =
used as a fixed output length hash function. Therefore, it makes more =
sense to use SHAKE256/192 than to use SHA3-256/192.=20
>>=20
>> So, it makes more sense to use SHAKE256/256 and SHAKE256/192 than to =
use SHA3-256 and SHAKE256/192.
>>=20
>> 3) SHAKE256 has already been adopted for CMS and PKIX. So, it makes =
more sense to continue to use SHAKE256 than to use another variant of it =
such as SHA3-256.=20
>>=20
>> Regards,
>> Quynh.=20
>> From: Russ Housley <housley@vigilsec.com =
<mailto:housley@vigilsec.com>>
>> Sent: Thursday, April 23, 2020 5:23 PM
>> To: Scott Fluhrer <sfluhrer@cisco.com <mailto:sfluhrer@cisco.com>>
>> Cc: Dang, Quynh H. (Fed) <quynh.dang@nist.gov =
<mailto:quynh.dang@nist.gov>>; IRTF CFRG <cfrg@irtf.org =
<mailto:cfrg@irtf.org>>
>> Subject: Re: draft-fluhrer-lms-more-parm-sets-01
>> =20
>> Thanks for the prompt reply Scott.
>>=20
>> > On Apr 23, 2020, at 5:18 PM, Scott Fluhrer (sfluhrer) =
<sfluhrer@cisco.com <mailto:sfluhrer@cisco.com>> wrote:
>> >=20
>> >> -----Original Message-----
>> >> From: Russ Housley <housley@vigilsec.com =
<mailto:housley@vigilsec.com>>
>> >> Sent: Thursday, April 23, 2020 3:01 PM
>> >> To: Scott Fluhrer (sfluhrer) <sfluhrer@cisco.com =
<mailto:sfluhrer@cisco.com>>
>> >> Cc: IRTF CFRG <cfrg@irtf.org <mailto:cfrg@irtf.org>>
>> >> Subject: draft-fluhrer-lms-more-parm-sets-01
>> >>=20
>> >> Scott:
>> >>=20
>> >> Thanks for your talk on this draft yesterday.  It raised a few =
questions.
>> >>=20
>> >> 1) SHA256-192:  I like it.  Does the size of I change?  My guess =
is that it is still
>> >> 16 bytes, but I want to be sure.
>> >=20
>> > The size of I remains at 16 bytes.  The reason I is there is to =
address potential multitarget attacks; that is, where someone attacks =
two different public keys by hashing a single value and seeing if it =
matched a value from either Merkle tree/Winternitz chain.  Because two =
different public keys will have different I values, this doesn't yield =
an advantage (as the attempted hash will need to select a specific I =
value.
>> >=20
>> > This protection doesn't have anything to do with the hash size, and =
so it does not change.
>>=20
>> Thanks.  This is as I expected.
>>=20
>> >> 2) SHAKE256-256 and SHAKE256-192:  Why use an Extendable-Output
>> >> Function (XOF)?  Since the output in the application is always 256 =
bits or 192
>> >> bits, the normal reason for picking an XOF does not seem relevant.
>> >=20
>> > That's actually a Dang question; he suggested we add it, so I =
copied him.
>> >=20
>> > On the other hand, SHAKE256 and SHA3-256 are almost the same =
(differing only in the end-of-message padding), and so I don't believe =
it really matters.
>>=20
>> Yes, you are obviously correct about the extra suffix bits, and I =
look forward to hearing from Quynh.
>>=20
>>=20
>> >> 3) Temporary code points: Why do you have collisions?  For =
example,
>> >> LMOTS_SHA256_N24_W1 and LMS_SHA256_M24_H5 are the same, and RFC
>> >> 8554 avoided overlaps between LMS and LMOTS code points.
>> >=20
>> > They're not a collision; they are in different spaces  The fact =
that RFC 8554 happened to avoid collisions is just an accident of =
history (originally, that draft defined 128 bit hashes as well, and the =
LMSOT code points for 128 bits hashes came after the 256 bit hashes, and =
the LMS code points for 128 bit hashes came first.  We dropped the 128 =
bit hashes, but left the 256 bit code points unchanged, resulting in the =
current assignments.
>>=20
>> Okay.
>>=20
>> Russ
>>=20
>> _______________________________________________
>> Cfrg mailing list
>> Cfrg@irtf.org <mailto:Cfrg@irtf.org>
>> https://www.irtf.org/mailman/listinfo/cfrg =
<https://gcc02.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww.i=
rtf.org%2Fmailman%2Flistinfo%2Fcfrg&data=3D02%7C01%7Cquynh.dang%40nist.gov=
%7C6ac7ab538a714decc34308d7e85a421f%7C2ab5d82fd8fa4797a93e054655c61dec%7C1=
%7C0%7C637233346677116474&sdata=3Dy%2Blji5zAiSvjacp5HUpFWxHNG9PTX4RN%2F2w0=
Q0t53A8%3D&reserved=3D0>

--Apple-Mail=_C122A3B4-BC22-4DF2-A94E-BE3B4A13DBB8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" =
class=3D"">Thanks. &nbsp;I understand your argument, but I do not see =
truncation as a step. &nbsp;At most, it is a memory copy.<div =
class=3D""><br class=3D""></div><div class=3D"">Russ</div><div =
class=3D""><br class=3D""><div><br class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D"">On Apr 24, 2020, at 12:44 PM, Dang, Quynh H. =
(Fed) &lt;<a href=3D"mailto:quynh.dang@nist.gov" =
class=3D"">quynh.dang@nist.gov</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; font-family: =
Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=3D"">Hi =
Russ,</div><div style=3D"font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: =
12pt;" class=3D""><br class=3D""></div><div style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;" class=3D"">If you use SHA3-256 to get a =
192-bit version, you will need to run SHA3-256 (output is 256 bits), =
then do a truncation step to get a 192-bit value. With SHAKE256/192, you =
just run SHAKE256 with the output being 192 bits; there is no extra =
truncation step needed.&nbsp;</div><div style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;" class=3D""><br class=3D""></div><div =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; font-family: =
Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" =
class=3D"">SHA3-256 is intended for being used as a fixed output length =
hash function.&nbsp;</div><div style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;" class=3D""><br class=3D""></div><div =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; font-family: =
Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" =
class=3D"">Therefore, SHAKE256/192 makes more sense than SHA3-256 with =
an additional truncation step to get a 192-bit output.</div><div =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; font-family: =
Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=3D""><br =
class=3D""></div><div style=3D"font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: =
12pt;" class=3D"">So, (SHAKE256/192 + SHAKE256/256) makes more sense =
than both of these options: (SHA3-256 + SHA3-256/192) and (SHA3-256 + =
SHAKE256/192).&nbsp;</div><div style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;" class=3D""><br class=3D""></div><div =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; font-family: =
Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" =
class=3D"">Regards,</div><div style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;" class=3D"">Quynh.&nbsp;</div><div =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; font-family: =
Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=3D""><br =
class=3D""></div><div style=3D"font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: =
12pt;" class=3D"">Regards,</div><div style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;" class=3D"">Quynh.&nbsp;</div><div =
id=3D"appendonsend" style=3D"caret-color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""></div><div style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;" class=3D""><br class=3D""></div><hr =
tabindex=3D"-1" style=3D"caret-color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; display: inline-block; width: 1083.875px;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D""></span><div id=3D"divRplyFwdMsg" =
dir=3D"ltr" style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><font face=3D"Calibri, sans-serif" style=3D"font-size: =
11pt;" class=3D""><b class=3D"">From:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Russ Housley &lt;<a =
href=3D"mailto:housley@vigilsec.com" =
class=3D"">housley@vigilsec.com</a>&gt;<br class=3D""><b =
class=3D"">Sent:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Friday, April 24, 2020 =
10:17 AM<br class=3D""><b class=3D"">To:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Dang, Quynh H. (Fed) &lt;<a =
href=3D"mailto:quynh.dang@nist.gov" =
class=3D"">quynh.dang@nist.gov</a>&gt;<br class=3D""><b =
class=3D"">Cc:</b><span class=3D"Apple-converted-space">&nbsp;</span>Scott=
 Fluhrer &lt;<a href=3D"mailto:sfluhrer@cisco.com" =
class=3D"">sfluhrer@cisco.com</a>&gt;; IRTF CFRG &lt;<a =
href=3D"mailto:cfrg@irtf.org" class=3D"">cfrg@irtf.org</a>&gt;<br =
class=3D""><b class=3D"">Subject:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Re: [Cfrg] =
draft-fluhrer-lms-more-parm-sets-01</font><div =
class=3D"">&nbsp;</div></div><div class=3D"" style=3D"caret-color: =
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; word-wrap: break-word; line-break: =
after-white-space;">Quynh:<div class=3D""><br class=3D""></div><div =
class=3D"">I do not understand number 2. &nbsp;Can you please say more? =
&nbsp;I think it makes sense if the output is greater than the size of =
the hash function, but exactly the same or less.<div class=3D""><br =
class=3D""></div><div class=3D"">The difference it primarily the padding =
at the end of the message:</div><div class=3D""><br class=3D""></div><div =
class=3D""><span class=3D"x_Apple-tab-span" style=3D"white-space: =
pre;"></span>SHA3-256(M) =3D KECCAK[512](M || 01, 256)</div><div =
class=3D""><span class=3D"x_Apple-tab-span" style=3D"white-space: =
pre;"></span>SHAKE256(M, d) =3D KECCAK[512](M || 1111, d)</div><div =
class=3D""><br class=3D""></div><div class=3D""><div class=3D"">This =
answers Uri's question about the performance. &nbsp;They are essentially =
the same.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Russ</div><div class=3D""><br class=3D""></div><div =
class=3D""><div class=3D""><br class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D"">On Apr 24, 2020, at 6:52 AM, Dang, Quynh H. =
(Fed) &lt;<a href=3D"mailto:quynh.dang=3D40nist.gov@dmarc.ietf.org" =
class=3D"">quynh.dang=3D40nist.gov@dmarc.ietf.org</a>&gt; =
wrote:</div><br class=3D"x_Apple-interchange-newline"><div class=3D""><div=
 class=3D"" style=3D"font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; text-decoration: none; font-family: Calibri, Arial, =
Helvetica, sans-serif; font-size: 12pt;">Hi Russ and all,</div><div =
class=3D"" style=3D"font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; text-decoration: none; font-family: Calibri, Arial, =
Helvetica, sans-serif; font-size: 12pt;"><br class=3D""></div><div =
class=3D"" style=3D"font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; text-decoration: none; font-family: Calibri, Arial, =
Helvetica, sans-serif; font-size: 12pt;">The reasons for specifying =
SHAKE256/256 and SHAKE256/192 are followings:</div><div class=3D"" =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;"><br class=3D""></div><div class=3D"" =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;">1) SHA3-256 and SHAKE256/256 are the same =
except different paddings to make them different =
functions.&nbsp;</div><div class=3D"" style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, =
Arial, Helvetica, sans-serif; font-size: 12pt;"><br class=3D""></div><div =
class=3D"" style=3D"font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; text-decoration: none; font-family: Calibri, Arial, =
Helvetica, sans-serif; font-size: 12pt;">2) If we use SHA3-256, then we =
would use SHA3-256/192 or SHAKE256/192 for the 192-bit version. SHA3-256 =
(or SHA3-512 etc...) is intended to be used as a fixed output length =
hash function. Therefore, it makes more sense to use SHAKE256/192 than =
to use SHA3-256/192.&nbsp;</div><div class=3D"" style=3D"font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; text-decoration: none; =
font-family: Calibri, Arial, Helvetica, sans-serif; font-size: =
12pt;"><br class=3D""></div><div class=3D"" style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, =
Arial, Helvetica, sans-serif; font-size: 12pt;">So, it makes more sense =
to use SHAKE256/256 and SHAKE256/192 than to use SHA3-256 and =
SHAKE256/192.</div><div class=3D"" style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, =
Arial, Helvetica, sans-serif; font-size: 12pt;"><br class=3D""></div><div =
class=3D"" style=3D"font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; text-decoration: none; font-family: Calibri, Arial, =
Helvetica, sans-serif; font-size: 12pt;">3) SHAKE256 has already been =
adopted for CMS and PKIX. So, it makes more sense to continue to use =
SHAKE256 than to use another variant of it such as =
SHA3-256.&nbsp;</div><div class=3D"" style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none; font-family: Calibri, =
Arial, Helvetica, sans-serif; font-size: 12pt;"><br class=3D""></div><div =
class=3D"" style=3D"font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; text-decoration: none; font-family: Calibri, Arial, =
Helvetica, sans-serif; font-size: 12pt;">Regards,</div><div class=3D"" =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;">Quynh.&nbsp;</div><div id=3D"x_appendonsend"=
 class=3D"" style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
text-decoration: none;"></div><hr tabindex=3D"-1" class=3D"" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none; display: inline-block; =
width: 1083.875px;"><span class=3D"" style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; text-decoration: none; float: none; display: inline =
!important;"></span><div id=3D"x_divRplyFwdMsg" dir=3D"ltr" class=3D"" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none;"><font face=3D"Calibri, =
sans-serif" class=3D"" style=3D"font-size: 11pt;"><b =
class=3D"">From:</b><span =
class=3D"x_Apple-converted-space">&nbsp;</span>Russ Housley &lt;<a =
href=3D"mailto:housley@vigilsec.com" =
class=3D"">housley@vigilsec.com</a>&gt;<br class=3D""><b =
class=3D"">Sent:</b><span =
class=3D"x_Apple-converted-space">&nbsp;</span>Thursday, April 23, 2020 =
5:23 PM<br class=3D""><b class=3D"">To:</b><span =
class=3D"x_Apple-converted-space">&nbsp;</span>Scott Fluhrer &lt;<a =
href=3D"mailto:sfluhrer@cisco.com" =
class=3D"">sfluhrer@cisco.com</a>&gt;<br class=3D""><b =
class=3D"">Cc:</b><span =
class=3D"x_Apple-converted-space">&nbsp;</span>Dang, Quynh H. (Fed) =
&lt;<a href=3D"mailto:quynh.dang@nist.gov" =
class=3D"">quynh.dang@nist.gov</a>&gt;; IRTF CFRG &lt;<a =
href=3D"mailto:cfrg@irtf.org" class=3D"">cfrg@irtf.org</a>&gt;<br =
class=3D""><b class=3D"">Subject:</b><span =
class=3D"x_Apple-converted-space">&nbsp;</span>Re: =
draft-fluhrer-lms-more-parm-sets-01</font><div =
class=3D"">&nbsp;</div></div><div class=3D"x_BodyFragment" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none;"><font size=3D"2" =
class=3D""><span class=3D"" style=3D"font-size: 11pt;"><div =
class=3D"x_PlainText">Thanks for the prompt reply Scott.<br class=3D""><br=
 class=3D"">&gt; On Apr 23, 2020, at 5:18 PM, Scott Fluhrer (sfluhrer) =
&lt;<a href=3D"mailto:sfluhrer@cisco.com" =
class=3D"">sfluhrer@cisco.com</a>&gt; wrote:<br class=3D"">&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt;&gt; =
-----Original Message-----<br class=3D"">&gt;&gt; From: Russ Housley =
&lt;<a href=3D"mailto:housley@vigilsec.com" =
class=3D"">housley@vigilsec.com</a>&gt;<br class=3D"">&gt;&gt; Sent: =
Thursday, April 23, 2020 3:01 PM<br class=3D"">&gt;&gt; To: Scott =
Fluhrer (sfluhrer) &lt;<a href=3D"mailto:sfluhrer@cisco.com" =
class=3D"">sfluhrer@cisco.com</a>&gt;<br class=3D"">&gt;&gt; Cc: IRTF =
CFRG &lt;<a href=3D"mailto:cfrg@irtf.org" =
class=3D"">cfrg@irtf.org</a>&gt;<br class=3D"">&gt;&gt; Subject: =
draft-fluhrer-lms-more-parm-sets-01<br class=3D"">&gt;&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt;&gt; =
Scott:<br class=3D"">&gt;&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt;&gt; =
Thanks for your talk on this draft yesterday.&nbsp; It raised a few =
questions.<br class=3D"">&gt;&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt;&gt; =
1) SHA256-192:&nbsp; I like it.&nbsp; Does the size of I change?&nbsp; =
My guess is that it is still<br class=3D"">&gt;&gt; 16 bytes, but I want =
to be sure.<br class=3D"">&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt; The =
size of I remains at 16 bytes.&nbsp; The reason I is there is to address =
potential multitarget attacks; that is, where someone attacks two =
different public keys by hashing a single value and seeing if it matched =
a value from either Merkle tree/Winternitz chain.&nbsp; Because two =
different public keys will have different I values, this doesn't yield =
an advantage (as the attempted hash will need to select a specific I =
value.<br class=3D"">&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt; This =
protection doesn't have anything to do with the hash size, and so it =
does not change.<br class=3D""><br class=3D"">Thanks.&nbsp; This is as I =
expected.<br class=3D""><br class=3D"">&gt;&gt; 2) SHAKE256-256 and =
SHAKE256-192:&nbsp; Why use an Extendable-Output<br class=3D"">&gt;&gt; =
Function (XOF)?&nbsp; Since the output in the application is always 256 =
bits or 192<br class=3D"">&gt;&gt; bits, the normal reason for picking =
an XOF does not seem relevant.<br class=3D"">&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt; =
That's actually a Dang question; he suggested we add it, so I copied =
him.<br class=3D"">&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt; On =
the other hand, SHAKE256 and SHA3-256 are almost the same (differing =
only in the end-of-message padding), and so I don't believe it really =
matters.<br class=3D""><br class=3D"">Yes, you are obviously correct =
about the extra suffix bits, and I look forward to hearing from =
Quynh.<br class=3D""><br class=3D""><br class=3D"">&gt;&gt; 3) Temporary =
code points: Why do you have collisions?&nbsp; For example,<br =
class=3D"">&gt;&gt; LMOTS_SHA256_N24_W1 and LMS_SHA256_M24_H5 are the =
same, and RFC<br class=3D"">&gt;&gt; 8554 avoided overlaps between LMS =
and LMOTS code points.<br class=3D"">&gt;<span =
class=3D"x_Apple-converted-space">&nbsp;</span><br class=3D"">&gt; =
They're not a collision; they are in different spaces&nbsp; The fact =
that RFC 8554 happened to avoid collisions is just an accident of =
history (originally, that draft defined 128 bit hashes as well, and the =
LMSOT code points for 128 bits hashes came after the 256 bit hashes, and =
the LMS code points for 128 bit hashes came first.&nbsp; We dropped the =
128 bit hashes, but left the 256 bit code points unchanged, resulting in =
the current assignments.<br class=3D""><br class=3D"">Okay.<br =
class=3D""><br class=3D"">Russ<br class=3D""><br =
class=3D""></div></span></font></div><span class=3D"" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none; float: none; display: =
inline =
!important;">_______________________________________________</span><br =
class=3D"" style=3D"font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; text-decoration: none;"><span =
class=3D"" style=3D"font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; text-decoration: none; float: =
none; display: inline !important;">Cfrg mailing list</span><br class=3D"" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; text-decoration: none;"><a =
href=3D"mailto:Cfrg@irtf.org" class=3D"" style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px;">Cfrg@irtf.org</a><br class=3D"" style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; text-decoration: none;"><a =
href=3D"https://gcc02.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%=
2Fwww.irtf.org%2Fmailman%2Flistinfo%2Fcfrg&amp;data=3D02%7C01%7Cquynh.dang=
%40nist.gov%7C6ac7ab538a714decc34308d7e85a421f%7C2ab5d82fd8fa4797a93e05465=
5c61dec%7C1%7C0%7C637233346677116474&amp;sdata=3Dy%2Blji5zAiSvjacp5HUpFWxH=
NG9PTX4RN%2F2w0Q0t53A8%3D&amp;reserved=3D0" =
originalsrc=3D"https://www.irtf.org/mailman/listinfo/cfrg" =
shash=3D"n5koXSxR6vmBm2UI5QH7jZRPsHQ3V+edp5cnBvAbbH9bCUSnLRzJg5C9motZFuLbx=
Du7ivqoTZUza+khwmrJqtvxPBdthw3SH41b7Mg1M+oVTMfU8E8t7gbja5p9LNlKuHDlJWVNVWQ=
SP9RpGw/sQRuFjI51Ad8pkLif4wD+3oo=3D" class=3D"" style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: =
0px;">https://www.irtf.org/mailman/listinfo/cfrg</a></div></blockquote></d=
iv></div></div></div></div></div></blockquote></div><br =
class=3D""></div></body></html>=

--Apple-Mail=_C122A3B4-BC22-4DF2-A94E-BE3B4A13DBB8--

