Return-Path: <debcooley1@gmail.com>
X-Original-To: spasm@mail2.ietf.org
Delivered-To: spasm@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1])
	by mail2.ietf.org (Postfix) with ESMTP id BE6CA246394C;
	Sat,  3 May 2025 03:54:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: 0.862
X-Spam-Level: 
X-Spam-Status: No, score=0.862 tagged_above=-999 required=5
	tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
	DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
	FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
	HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
	SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01]
	autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key)
	header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31])
	by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 9aAgziZ4Qpe0; Sat,  3 May 2025 03:54:23 -0700 (PDT)
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com
 [IPv6:2607:f8b0:4864:20::630])
	(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
	 key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256)
	(No client certificate requested)
	by mail2.ietf.org (Postfix) with ESMTPS id A18002463945;
	Sat,  3 May 2025 03:54:23 -0700 (PDT)
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-22435603572so35961245ad.1;
        Sat, 03 May 2025 03:54:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1746269663; x=1746874463; darn=ietf.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=zkhJTR1bWFTSUTxX6FSLO+jv4gPjYsYUyTqnNtLDh0g=;
        b=ZYW+5dcVXnuPJam+hMkFwuIW3KKnq691AkKtIQOX/A03rGrW4v5d1YL3nY6shL5X0y
         0/hhgH3EFSMnvBLwCgDmo8oEWjfMS/YKCzPs3j1AE5TQyZZxfiunMLf5Z3SGtVgAw3s9
         1XL1lo8dBzC+39Z2LbJ4v6v6lfd6aQVobCJyiqkzL3aL64ptIgRtz+HiIy873TjeMUpX
         HD1V+9UXcGDFh3Irep9AFQn9IYdr+P5kjQOXuqfeLXAnQ2sTyZ10rbZxR4JYtBr5sPId
         HAYMJNYFo71dMogQMtYcKlKeevoZ5JoTrCwcfGHfbGZPRJhtmf/8imAhnPd2iUKGIfq1
         wpoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1746269663; x=1746874463;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=zkhJTR1bWFTSUTxX6FSLO+jv4gPjYsYUyTqnNtLDh0g=;
        b=V3l55Harrad2y7BRGpywPLurImop9aFE8sjvvZb0OzkpHJvM4adXCEYhUQI0Six3vo
         xwcBCeQBQSHUpF6jYZC14k0V8rzuth/FTvfJhWxtY0tcDf8FpENXoi5ZBrOQpuzRLz3Y
         edCYJQUJdg+31TTe4+qk/gpcxNo6Yk+Symj96W8uAaAlv7MqMVcTlagPerOwl10zkaJZ
         d7C3joMw5T56ALIM6ANy3JqWgniLmHrwZQRqym5C34O3ltXKBS9a1eIFq3Ntmkmlnt1Z
         DH02ddTCLuQsFJ53ET3lY0XJ/B/E6iibyE7Tvr90C+eA/hp7p2tPniWEkNHUIsG6TDVk
         fftw==
X-Forwarded-Encrypted: i=1;
 AJvYcCW698AAcbLha0W0RO020EUmeELA0oewvu7l2WPFQDyX3vgvIYqGYAESCW7qeIDqcoYXLS/9+2JDHs77ggydg/g5YtUfyPh3xEfIgeLx5Fh0kJh47ZTK+mNB+9SxYnByZw==@ietf.org,
 AJvYcCXncWt5Tvp4MoJYrVDPhJahmDecqZZXL4pisEBDK7V9ave/+dg/8Xs6simQeyl+QHYSpyugsk9hWlHA0Iv6@ietf.org
X-Gm-Message-State: AOJu0YwIjmTE7BwOG6VMTKvnlZAkW/27IhhLysLPK4F2ZvBN6HTEEOB0
	uCMkjtDQy8ADIerAIrk97yJwR9+JcoZEm1fhC7q/1H/1Al0ziGfvGsUc13qcWvQ2zaatxpwqCjh
	FtlOsWVPrRaUslltrdGyvZ7NAag==
X-Gm-Gg: ASbGncs4odsl/0fc50USeW7wpqGqIAGiKUHNMLRkERgZTH8S760FoclULVoe/2K+bnX
	F+gvj1SVyLKXo1JQvdIglbsZp/xuJoH9ho5ZdnZwOypIMmggJJm2X2m8gwo8sWm5/0/702osjUn
	RY0zYHlS8NAN1IE+HRluRiq9vrqJQRSBkkF9BEqYGTHDTqRNSK09/ch5A=
X-Google-Smtp-Source: 
 AGHT+IG2irlMZaYF4mumBM3KQcb+MP+0jcx/1DnLUTv35hye+ikmiGR2v/UsErSbqFQKSDJ6ds57Hb+eTpJGlCaZpCo=
X-Received: by 2002:a17:90b:3d84:b0:2ee:ab29:1a63 with SMTP id
 98e67ed59e1d1-30a61957f3dmr957699a91.3.1746269662328; Sat, 03 May 2025
 03:54:22 -0700 (PDT)
MIME-Version: 1.0
References: 
 <CAGgd1OdzrYgzPUm2SdyBFi9mw1X3rDraPjQF5XgNGObpWdb_gw@mail.gmail.com>
 <CAMjbhoWDBduBqOszOt696s98uYM0Yr8tJn==TjMvKr1dj97k2g@mail.gmail.com>
In-Reply-To: 
 <CAMjbhoWDBduBqOszOt696s98uYM0Yr8tJn==TjMvKr1dj97k2g@mail.gmail.com>
From: Deb Cooley <debcooley1@gmail.com>
Date: Sat, 3 May 2025 06:54:10 -0400
X-Gm-Features: ATxdqUGP_2N9eyrqzSGOjTEU4NKsPVZTq4rylZExKVwk6fSO2XYRCA-kX-7zeCU
Message-ID: 
 <CAGgd1OfLNksoZa4vNpQVFAyR-kHQVHMCxHmD+Yak1EqgmhviDg@mail.gmail.com>
To: Bas Westerbaan <bas@cloudflare.com>
Content-Type: multipart/alternative; boundary="000000000000e7bddd06343916a2"
Message-ID-Hash: HN25S2QUQQGL5FFUA3GMQVD5PB6QXX53
X-Message-ID-Hash: HN25S2QUQQGL5FFUA3GMQVD5PB6QXX53
X-MailFrom: debcooley1@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency;
 loop; banned-address; member-moderation; header-match-spasm.ietf.org-0;
 nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size;
 news-moderation; no-subject; digests; suspicious-header
CC: LAMPS WG <spasm@ietf.org>,
 draft-ietf-lamps-dilithium-certificates.authors@ietf.org,
 LAMPS Chairs <lamps-chairs@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: =?utf-8?q?=5Blamps=5D_Re=3A_AD_comments_on_draft-ietf-lamps-dilithium-certif?=
	=?utf-8?q?icates?=
List-Id: This is the mail list for the LAMPS Working Group <spasm.ietf.org>
Archived-At: 
 <https://mailarchive.ietf.org/arch/msg/spasm/eyN55Ilb1P_POC6cvYBQuTTQp40>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Owner: <mailto:spasm-owner@ietf.org>
List-Post: <mailto:spasm@ietf.org>
List-Subscribe: <mailto:spasm-join@ietf.org>
List-Unsubscribe: <mailto:spasm-leave@ietf.org>

--000000000000e7bddd06343916a2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thanks for the quick work.  These all look good.

If you send me a full diff before you push a version update, I can do one
last check.  (watch the long lines, which apparently get truncated in the
html version)

Deb

On Sat, May 3, 2025 at 5:48=E2=80=AFAM Bas Westerbaan <bas@cloudflare.com> =
wrote:

> Deb,
>
> Thank you for your comments.
>
> Section 1.1:  Is there a decent source for terminology?  If so, list
>
> it here.  If there isn't, that's fine too.
>
> Perhaps PQUIP=E2=80=99s pqc-engineers or hybrid-terminology comes closest=
, but it
> doesn=E2=80=99t seem to be an ideal reference. Any terminology in particu=
lar you=E2=80=99d
> like to see defined?
>
> Section 2, algorithm: Nit: add (OID) after 'an object identifier'.
>
> Addressed in [1].
>
> Section 2, last sentence:  ctx is not defined, nor used in the main
>
> part of the draft, only in Appendix D.  I would define it here.  If it
>
> only applies in the Appendix D situation, then I would move the
>
> statement (and definition) there.
>
> It applies to the main document. In [2] we make the reference more
> explicit.
>
> Section 4:  the ASN.1 is 'BIT STRING', the description is 'byte
>
> stream' or 'byte string'.  Is it worth making it clear that these are
>
> all the same thing? I realize that the ASN.1 tags are fixed, but the
>
> explanatory text is not.  ('OCTET STRING' is a whole other thing, so
>
> I'm leaving it out of this comment)  [I realize this is a ridiculously
>
> picky comment.]
>
> Does the change in [1] address this sufficiently?
>
> Section 8, last sentence: 'random seed xi' is called 'seed' or
>
> '32-byte seed (xi)' everywhere else in the draft.  Is it a loss of
>
> rigor to delete the word 'random'?  (also see my comment on Section
>
> 10)
>
> The =E2=80=9Crandom=E2=80=9D is meant to signal that we=E2=80=99re in the=
 case that the seed is
> randomly generated within the function, instead of being provided
> externally. What about making it an adverb on =E2=80=9Cgenerated=E2=80=9D=
 as in [1]?
>
> Section 10, para 3:  I struggled with this paragraph. What's the
>
> point?  have you buried the lead?  If the point is 'poor entropy',
>
> then I think you lead with that.  If the point is side channel
>
> protection, move that to para 4? I think you can separate these two
>
> attack surfaces.  In addition:
>
> First two sentences:  There are two modes, deterministic and
>
> randomized.  Second sentence is 'non-deterministic', change that to
>
> 'randomized'?
>
> Sentence 3: there is a "private random seed (rho')" which I'm assuming
>
> is a different value.  Any chance we can reinforce that this is
>
> different from 'seed xi'?
>
> throughout para 3:  rnd, rng, spell them out.  Clarify that the
>
> 256-bit string is rnd.  random for the randomized version and a
>
> constant string for the deterministic version.  I couldn't quite tell
>
> if 'rng' was a typo.
>
> In https://github.com/lamps-wg/dilithium-certificates/pull/139 we moved
> and tightened up the section. Does this work for you?
>
> Section 10, para 5:  Meh.... the ability to export/lose control of a
>
> private key leaves an issue with non-repudiation, no?  I'm fine with
>
> the paragraph as it stands, but add something to convey the risk of
>
> private key exposure. [I will note that I might also disagree with
>
> non-repudiation as a 'fundamental security property', but that is a
>
> personal bias.]
>
> We tweaked the wording.
> https://github.com/lamps-wg/dilithium-certificates/pull/140
>
> Section 10, last sentence: 'These properties', which properties?  The
>
> properties in this section?  Is this a security consideration?  Or
>
> does it belong up in Section 4?
>
> It=E2=80=99s only a tangential remark. If it=E2=80=99s too much clutter, =
we can remove it.
> https://github.com/lamps-wg/dilithium-certificates/pull/141
>
> Section 10.2, para 2:  I'd make first sentence about interoperability.
>
> The rest can be about why these two methods don't interoperate.
>
> Section 10.1, para 3:  Let me summarize:  HashML-DSA loses some hash
>
> collision protection, but it doesn't matter because of these other
>
> things?  Did I understand that?  If that's true, I'd soften the first
>
> sentence a bit. There is a security reason, but it isn't a strong one.
>
> The for realsie issue is interoperability (para 2). [note:  IETF is
>
> all about interoperability, so making this the top reason is perfect.]
>
> We tweaked the text in
> https://github.com/lamps-wg/dilithium-certificates/pull/142
>
> Section 10.1, Para 3:  Is the hash of the public key referred to as
>
> 'tr'?  If so, then 'hash of the public key tr' could be 'hash of the
>
> public key (tr)'  [as is done with seed(xi)]
>
> Yes. Addressed in [1].
>
> Appendices A-C:  I did not review (other than noticing a typo).
>
> Appendix D, figure 2:  I may very well be wrong (my math chops are
>
> gone), but shouldn't the mu computation include M?  Assuming M is the
>
> message to be signed. (I see the hash of the pk, and ctx, but not M.
>
> I also see M' which I'm assuming is the hash of M in Figure 3).  Happy
>
> to have you tell me I'm an idiot, and that it is correct.  :)
>
> Viktor answered this already, and the correction of a different typo he
> spotted: https://github.com/lamps-wg/dilithium-certificates/pull/143
>
> Appendix D:  I would reiterate what ctx is suppose to be here.
>
> Addressed in [2]
>
> Nit:
>
> Section 10:  spell out RBG (it is literally the only time it is used).
>
> Section C.4, warning:  systmes/systems
>
> Addressed in [1].
>
>
> Best,
>
>
> Bas
>
> [1] https://github.com/lamps-wg/dilithium-certificates/pull/137
>
> [2] https://github.com/lamps-wg/dilithium-certificates/pull/138
>
>
>
> On Fri, May 2, 2025 at 3:47=E2=80=AFPM Deb Cooley <debcooley1@gmail.com> =
wrote:
>
>> Authors,
>>
>> Thank you for this well written draft.  Below are my comments, some of
>> them are quite picky.  I'm happy to chat about them.
>>
>> Deb
>> Sec AD
>>
>> -------------------------------------------
>> Section 1.1:  Is there a decent source for terminology?  If so, list it
>> here.  If there isn't, that's fine too.
>>
>> Section 2, algorithm: Nit: add (OID) after 'an object identifier'.
>>
>> Section 2, last sentence:  ctx is not defined, nor used in the main part
>> of the draft, only in Appendix D.  I would define it here.  If it only
>> applies in the Appendix D situation, then I would move the statement (an=
d
>> definition) there.
>>
>> Section 4:  the ASN.1 is 'BIT STRING', the description is 'byte stream'
>> or 'byte string'.  Is it worth making it clear that these are all the sa=
me
>> thing? I realize that the ASN.1 tags are fixed, but the explanatory text=
 is
>> not.  ('OCTET STRING' is a whole other thing, so I'm leaving it out of t=
his
>> comment)  [I realize this is a ridiculously picky comment.]
>>
>> Section 8, last sentence: 'random seed xi' is called 'seed' or '32-byte
>> seed (xi)' everywhere else in the draft.  Is it a loss of rigor to delet=
e
>> the word 'random'?  (also see my comment on Section 10)
>>
>> Section 10, para 3:  I struggled with this paragraph. What's the point?
>>  have you buried the lead?  If the point is 'poor entropy', then I think
>> you lead with that.  If the point is side channel protection, move that =
to
>> para 4? I think you can separate these two attack surfaces.  In addition=
:
>> First two sentences:  There are two modes, deterministic and randomized.
>> Second sentence is 'non-deterministic', change that to 'randomized'?
>> Sentence 3: there is a "private random seed (rho')" which I'm assuming i=
s
>> a different value.  Any chance we can reinforce that this is different f=
rom
>> 'seed xi'?
>> throughout para 3:  rnd, rng, spell them out.  Clarify that the 256-bit
>> string is rnd.  random for the randomized version and a constant string =
for
>> the deterministic version.  I couldn't quite tell if 'rng' was a typo.
>>
>> Section 10, para 5:  Meh.... the ability to export/lose control of a
>> private key leaves an issue with non-repudiation, no?  I'm fine with the
>> paragraph as it stands, but add something to convey the risk of private =
key
>> exposure. [I will note that I might also disagree with non-repudiation a=
s a
>> 'fundamental security property', but that is a personal bias.]
>>
>> Section 10, last sentence: 'These properties', which properties?  The
>> properties in this section?  Is this a security consideration?  Or does =
it
>> belong up in Section 4?
>>
>> Section 10.2, para 2:  I'd make first sentence about interoperability.
>> The rest can be about why these two methods don't interoperate.
>>
>> Section 10.1, para 3:  Let me summarize:  HashML-DSA loses some hash
>> collision protection, but it doesn't matter because of these other thing=
s?
>> Did I understand that?  If that's true, I'd soften the first sentence a
>> bit. There is a security reason, but it isn't a strong one.  The for
>> realsie issue is interoperability (para 2). [note:  IETF is all about
>> interoperability, so making this the top reason is perfect.]
>>
>> Section 10.1, Para 3:  Is the hash of the public key referred to as
>> 'tr'?  If so, then 'hash of the public key tr' could be 'hash of the pub=
lic
>> key (tr)'  [as is done with seed(xi)]
>>
>> Appendices A-C:  I did not review (other than noticing a typo).
>>
>> Appendix D, figure 2:  I may very well be wrong (my math chops are gone)=
,
>> but shouldn't the mu computation include M?  Assuming M is the message t=
o
>> be signed. (I see the hash of the pk, and ctx, but not M.  I also see M'
>> which I'm assuming is the hash of M in Figure 3).  Happy to have you tel=
l
>> me I'm an idiot, and that it is correct.  :)
>>
>> Appendix D:  I would reiterate what ctx is suppose to be here.
>>
>> Nit:
>> Section 10:  spell out RBG (it is literally the only time it is used).
>> Section C.4, warning:  systmes/systems
>>
>

--000000000000e7bddd06343916a2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Thanks for the quick work.=C2=A0 These all look good.=
=C2=A0 <br></div><div><br></div><div>If you send me a full diff before you =
push a version update, I can do one last check.=C2=A0 (watch the long lines=
, which apparently get truncated in the html version)</div><div><br></div><=
div>Deb</div></div><br><div class=3D"gmail_quote gmail_quote_container"><di=
v dir=3D"ltr" class=3D"gmail_attr">On Sat, May 3, 2025 at 5:48=E2=80=AFAM B=
as Westerbaan &lt;<a href=3D"mailto:bas@cloudflare.com">bas@cloudflare.com<=
/a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><=
div dir=3D"ltr"><div>Deb,</div><div><br></div><div>Thank you for your comme=
nts.</div><div><br></div><div><span id=3D"m_-3330355503042501211gmail-docs-=
internal-guid-35e2a13f-7fff-1510-d87b-abb11b8702dc"><p dir=3D"ltr" style=3D=
"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span =
style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);backgr=
ound-color:transparent;font-variant-numeric:normal;font-variant-east-asian:=
normal;font-variant-alternates:normal;vertical-align:baseline">Section 1.1:=
=C2=A0 Is there a decent source for terminology?=C2=A0 If so, list</span></=
p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;=
margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-seri=
f;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal=
;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-ali=
gn:baseline">it here.=C2=A0 If there isn&#39;t, that&#39;s fine too.</span>=
</p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bott=
om:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb=
(0,0,0);background-color:transparent;font-variant-numeric:normal;font-varia=
nt-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline=
">Perhaps PQUIP=E2=80=99s pqc-engineers or hybrid-terminology comes closest=
, but it doesn=E2=80=99t seem to be an ideal reference. Any terminology in =
particular you=E2=80=99d like to see defined?</span></p><br><p dir=3D"ltr" =
style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt=
"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0=
);background-color:transparent;font-variant-numeric:normal;font-variant-eas=
t-asian:normal;font-variant-alternates:normal;vertical-align:baseline">Sect=
ion 2, algorithm: Nit: add (OID) after &#39;an object identifier&#39;.</spa=
n></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bo=
ttom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:r=
gb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-var=
iant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseli=
ne">Addressed in [1].</span></p><br><p dir=3D"ltr" style=3D"line-height:1.3=
8;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-si=
ze:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:trans=
parent;font-variant-numeric:normal;font-variant-east-asian:normal;font-vari=
ant-alternates:normal;vertical-align:baseline">Section 2, last sentence:=C2=
=A0 ctx is not defined, nor used in the main</span></p><p dir=3D"ltr" style=
=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><sp=
an style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);bac=
kground-color:transparent;font-variant-numeric:normal;font-variant-east-asi=
an:normal;font-variant-alternates:normal;vertical-align:baseline">part of t=
he draft, only in Appendix D.=C2=A0 I would define it here.=C2=A0 If it</sp=
an></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top=
:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans=
-serif;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:n=
ormal;font-variant-east-asian:normal;font-variant-alternates:normal;vertica=
l-align:baseline">only applies in the Appendix D situation, then I would mo=
ve the</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;=
margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:=
Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant=
-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:norm=
al;vertical-align:baseline">statement (and definition) there.</span></p><br=
><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"=
><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0)=
;background-color:transparent;font-variant-numeric:normal;font-variant-east=
-asian:normal;font-variant-alternates:normal;vertical-align:baseline">It ap=
plies to the main document. In [2] we make the reference more explicit.</sp=
an></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin=
-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,=
sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-numer=
ic:normal;font-variant-east-asian:normal;font-variant-alternates:normal;ver=
tical-align:baseline">Section 4:=C2=A0 the ASN.1 is &#39;BIT STRING&#39;, t=
he description is &#39;byte</span></p><p dir=3D"ltr" style=3D"line-height:1=
.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-=
size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:tra=
nsparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-va=
riant-alternates:normal;vertical-align:baseline">stream&#39; or &#39;byte s=
tring&#39;.=C2=A0 Is it worth making it clear that these are</span></p><p d=
ir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin=
-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;colo=
r:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-variant-alternates:normal;vertical-align:bas=
eline">all the same thing? I realize that the ASN.1 tags are fixed, but the=
</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin=
-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,=
sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-numer=
ic:normal;font-variant-east-asian:normal;font-variant-alternates:normal;ver=
tical-align:baseline">explanatory text is not.=C2=A0 (&#39;OCTET STRING&#39=
; is a whole other thing, so</span></p><p dir=3D"ltr" style=3D"line-height:=
1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font=
-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:tr=
ansparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-v=
ariant-alternates:normal;vertical-align:baseline">I&#39;m leaving it out of=
 this comment)=C2=A0 [I realize this is a ridiculously</span></p><p dir=3D"=
ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-botto=
m:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(=
0,0,0);background-color:transparent;font-variant-numeric:normal;font-varian=
t-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline"=
>picky comment.]</span></p><br><p dir=3D"ltr" style=3D"line-height:1.38;mar=
gin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Ari=
al,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-nu=
meric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;=
vertical-align:baseline">Does the change in [1] address this sufficiently?<=
/span></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;mar=
gin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Ari=
al,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-nu=
meric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;=
vertical-align:baseline">Section 8, last sentence: &#39;random seed xi&#39;=
 is called &#39;seed&#39; or</span></p><p dir=3D"ltr" style=3D"line-height:=
1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font=
-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:tr=
ansparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-v=
ariant-alternates:normal;vertical-align:baseline">&#39;32-byte seed (xi)&#3=
9; everywhere else in the draft.=C2=A0 Is it a loss of</span></p><p dir=3D"=
ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-botto=
m:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(=
0,0,0);background-color:transparent;font-variant-numeric:normal;font-varian=
t-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline"=
>rigor to delete the word &#39;random&#39;?=C2=A0 (also see my comment on S=
ection</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;=
margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:=
Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant=
-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:norm=
al;vertical-align:baseline">10)</span></p><br><p dir=3D"ltr" style=3D"line-=
height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;=
font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;=
font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alt=
ernates:normal;vertical-align:baseline">The =E2=80=9Crandom=E2=80=9D is mea=
nt to signal that we=E2=80=99re in the case that the seed is randomly gener=
ated within the function, instead of being provided externally. What about =
making it an adverb on =E2=80=9Cgenerated=E2=80=9D as in [1]?</span></p><br=
><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;m=
argin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif=
;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;=
font-variant-east-asian:normal;font-variant-alternates:normal;vertical-alig=
n:baseline">Section 10, para 3:=C2=A0 I struggled with this paragraph. What=
&#39;s the</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:3=
6pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-fam=
ily:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-var=
iant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:=
normal;vertical-align:baseline">point?=C2=A0 have you buried the lead?=C2=
=A0 If the point is &#39;poor entropy&#39;,</span></p><p dir=3D"ltr" style=
=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><sp=
an style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);bac=
kground-color:transparent;font-variant-numeric:normal;font-variant-east-asi=
an:normal;font-variant-alternates:normal;vertical-align:baseline">then I th=
ink you lead with that.=C2=A0 If the point is side channel</span></p><p dir=
=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-b=
ottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:=
rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-va=
riant-east-asian:normal;font-variant-alternates:normal;vertical-align:basel=
ine">protection, move that to para 4? I think you can separate these two</s=
pan></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-to=
p:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,san=
s-serif;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:=
normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertic=
al-align:baseline">attack surfaces.=C2=A0 In addition:</span></p><p dir=3D"=
ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-botto=
m:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(=
0,0,0);background-color:transparent;font-variant-numeric:normal;font-varian=
t-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline"=
>First two sentences:=C2=A0 There are two modes, deterministic and</span></=
p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;=
margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-seri=
f;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal=
;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-ali=
gn:baseline">randomized.=C2=A0 Second sentence is &#39;non-deterministic&#3=
9;, change that to</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margi=
n-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;=
font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;=
font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alt=
ernates:normal;vertical-align:baseline">&#39;randomized&#39;?</span></p><p =
dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margi=
n-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;col=
or:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font=
-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:ba=
seline">Sentence 3: there is a &quot;private random seed (rho&#39;)&quot; w=
hich I&#39;m assuming</span></p><p dir=3D"ltr" style=3D"line-height:1.38;ma=
rgin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9=
pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transpare=
nt;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-=
alternates:normal;vertical-align:baseline">is a different value.=C2=A0 Any =
chance we can reinforce that this is</span></p><p dir=3D"ltr" style=3D"line=
-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-=
color:transparent;font-variant-numeric:normal;font-variant-east-asian:norma=
l;font-variant-alternates:normal;vertical-align:baseline">different from &#=
39;seed xi&#39;?</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-=
left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;fo=
nt-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;fo=
nt-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alter=
nates:normal;vertical-align:baseline">throughout para 3:=C2=A0 rnd, rng, sp=
ell them out.=C2=A0 Clarify that the</span></p><p dir=3D"ltr" style=3D"line=
-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-=
color:transparent;font-variant-numeric:normal;font-variant-east-asian:norma=
l;font-variant-alternates:normal;vertical-align:baseline">256-bit string is=
 rnd.=C2=A0 random for the randomized version and a</span></p><p dir=3D"ltr=
" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0=
pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0=
,0);background-color:transparent;font-variant-numeric:normal;font-variant-e=
ast-asian:normal;font-variant-alternates:normal;vertical-align:baseline">co=
nstant string for the deterministic version.=C2=A0 I couldn&#39;t quite tel=
l</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margi=
n-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial=
,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-nume=
ric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;ve=
rtical-align:baseline">if &#39;rng&#39; was a typo.</span></p><br><p dir=3D=
"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span sty=
le=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);backgroun=
d-color:transparent;font-variant-numeric:normal;font-variant-east-asian:nor=
mal;font-variant-alternates:normal;vertical-align:baseline">In </span><a hr=
ef=3D"https://github.com/lamps-wg/dilithium-certificates/pull/139" style=3D=
"text-decoration-line:none" target=3D"_blank"><span style=3D"font-size:9pt;=
font-family:Arial,sans-serif;background-color:transparent;font-variant-nume=
ric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;te=
xt-decoration-line:underline;vertical-align:baseline">https://github.com/la=
mps-wg/dilithium-certificates/pull/139</span></a><span style=3D"font-size:9=
pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transpare=
nt;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-=
alternates:normal;vertical-align:baseline"> we moved and tightened up the s=
ection. Does this work for you?</span></p><br><p dir=3D"ltr" style=3D"line-=
height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-=
color:transparent;font-variant-numeric:normal;font-variant-east-asian:norma=
l;font-variant-alternates:normal;vertical-align:baseline">Section 10, para =
5:=C2=A0 Meh.... the ability to export/lose control of a</span></p><p dir=
=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-b=
ottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:=
rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-va=
riant-east-asian:normal;font-variant-alternates:normal;vertical-align:basel=
ine">private key leaves an issue with non-repudiation, no?=C2=A0 I&#39;m fi=
ne with</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt=
;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family=
:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-varian=
t-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:nor=
mal;vertical-align:baseline">the paragraph as it stands, but add something =
to convey the risk of</span></p><p dir=3D"ltr" style=3D"line-height:1.38;ma=
rgin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9=
pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transpare=
nt;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-=
alternates:normal;vertical-align:baseline">private key exposure. [I will no=
te that I might also disagree with</span></p><p dir=3D"ltr" style=3D"line-h=
eight:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-=
color:transparent;font-variant-numeric:normal;font-variant-east-asian:norma=
l;font-variant-alternates:normal;vertical-align:baseline">non-repudiation a=
s a &#39;fundamental security property&#39;, but that is a</span></p><p dir=
=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-b=
ottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:=
rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-va=
riant-east-asian:normal;font-variant-alternates:normal;vertical-align:basel=
ine">personal bias.]</span></p><br><p dir=3D"ltr" style=3D"line-height:1.38=
;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family=
:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-varian=
t-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:nor=
mal;vertical-align:baseline">We tweaked the wording. </span><a href=3D"http=
s://github.com/lamps-wg/dilithium-certificates/pull/140" style=3D"text-deco=
ration-line:none" target=3D"_blank"><span style=3D"font-size:9pt;font-famil=
y:Arial,sans-serif;background-color:transparent;font-variant-numeric:normal=
;font-variant-east-asian:normal;font-variant-alternates:normal;text-decorat=
ion-line:underline;vertical-align:baseline">https://github.com/lamps-wg/dil=
ithium-certificates/pull/140</span></a></p><br><p dir=3D"ltr" style=3D"line=
-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-=
color:transparent;font-variant-numeric:normal;font-variant-east-asian:norma=
l;font-variant-alternates:normal;vertical-align:baseline">Section 10, last =
sentence: &#39;These properties&#39;, which properties?=C2=A0 The</span></p=
><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;m=
argin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif=
;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;=
font-variant-east-asian:normal;font-variant-alternates:normal;vertical-alig=
n:baseline">properties in this section?=C2=A0 Is this a security considerat=
ion?=C2=A0 Or</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-lef=
t:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-=
family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-=
variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternat=
es:normal;vertical-align:baseline">does it belong up in Section 4?</span></=
p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom=
:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0=
,0,0);background-color:transparent;font-variant-numeric:normal;font-variant=
-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">=
It=E2=80=99s only a tangential remark. If it=E2=80=99s too much clutter, we=
 can remove it. </span><a href=3D"https://github.com/lamps-wg/dilithium-cer=
tificates/pull/141" style=3D"text-decoration-line:none" target=3D"_blank"><=
span style=3D"font-size:9pt;font-family:Arial,sans-serif;background-color:t=
ransparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-=
variant-alternates:normal;text-decoration-line:underline;vertical-align:bas=
eline">https://github.com/lamps-wg/dilithium-certificates/pull/141</span></=
a></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-=
top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,s=
ans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-numeri=
c:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vert=
ical-align:baseline">Section 10.2, para 2:=C2=A0 I&#39;d make first sentenc=
e about interoperability.</span></p><p dir=3D"ltr" style=3D"line-height:1.3=
8;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-si=
ze:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:trans=
parent;font-variant-numeric:normal;font-variant-east-asian:normal;font-vari=
ant-alternates:normal;vertical-align:baseline">The rest can be about why th=
ese two methods don&#39;t interoperate.</span></p><br><p dir=3D"ltr" style=
=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><sp=
an style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);bac=
kground-color:transparent;font-variant-numeric:normal;font-variant-east-asi=
an:normal;font-variant-alternates:normal;vertical-align:baseline">Section 1=
0.1, para 3:=C2=A0 Let me summarize:=C2=A0 HashML-DSA loses some hash</span=
></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0=
pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-s=
erif;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:nor=
mal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-=
align:baseline">collision protection, but it doesn&#39;t matter because of =
these other</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:=
36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-fa=
mily:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-va=
riant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates=
:normal;vertical-align:baseline">things?=C2=A0 Did I understand that?=C2=A0=
 If that&#39;s true, I&#39;d soften the first</span></p><p dir=3D"ltr" styl=
e=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><s=
pan style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);ba=
ckground-color:transparent;font-variant-numeric:normal;font-variant-east-as=
ian:normal;font-variant-alternates:normal;vertical-align:baseline">sentence=
 a bit. There is a security reason, but it isn&#39;t a strong one.</span></=
p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;=
margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-seri=
f;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal=
;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-ali=
gn:baseline">The for realsie issue is interoperability (para 2). [note:=C2=
=A0 IETF is</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:=
36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-fa=
mily:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-va=
riant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates=
:normal;vertical-align:baseline">all about interoperability, so making this=
 the top reason is perfect.]</span></p><br><p dir=3D"ltr" style=3D"line-hei=
ght:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;fon=
t-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;fon=
t-variant-numeric:normal;font-variant-east-asian:normal;font-variant-altern=
ates:normal;vertical-align:baseline">We tweaked the text in </span><a href=
=3D"https://github.com/lamps-wg/dilithium-certificates/pull/142" style=3D"t=
ext-decoration-line:none" target=3D"_blank"><span style=3D"font-size:9pt;fo=
nt-family:Arial,sans-serif;background-color:transparent;font-variant-numeri=
c:normal;font-variant-east-asian:normal;font-variant-alternates:normal;text=
-decoration-line:underline;vertical-align:baseline">https://github.com/lamp=
s-wg/dilithium-certificates/pull/142</span></a></p><br><p dir=3D"ltr" style=
=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><sp=
an style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);bac=
kground-color:transparent;font-variant-numeric:normal;font-variant-east-asi=
an:normal;font-variant-alternates:normal;vertical-align:baseline">Section 1=
0.1, Para 3:=C2=A0 Is the hash of the public key referred to as</span></p><=
p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;mar=
gin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;c=
olor:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;fo=
nt-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:=
baseline">&#39;tr&#39;?=C2=A0 If so, then &#39;hash of the public key tr&#3=
9; could be &#39;hash of the</span></p><p dir=3D"ltr" style=3D"line-height:=
1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font=
-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:tr=
ansparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-v=
ariant-alternates:normal;vertical-align:baseline">public key (tr)&#39;=C2=
=A0 [as is done with seed(xi)]</span></p><br><p dir=3D"ltr" style=3D"line-h=
eight:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;f=
ont-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;f=
ont-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alte=
rnates:normal;vertical-align:baseline">Yes. Addressed in [1].</span></p><br=
><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;m=
argin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif=
;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;=
font-variant-east-asian:normal;font-variant-alternates:normal;vertical-alig=
n:baseline">Appendices A-C:=C2=A0 I did not review (other than noticing a t=
ypo).</span></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36=
pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-fami=
ly:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-vari=
ant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:n=
ormal;vertical-align:baseline">Appendix D, figure 2:=C2=A0 I may very well =
be wrong (my math chops are</span></p><p dir=3D"ltr" style=3D"line-height:1=
.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-=
size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:tra=
nsparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-va=
riant-alternates:normal;vertical-align:baseline">gone), but shouldn&#39;t t=
he mu computation include M?=C2=A0 Assuming M is the</span></p><p dir=3D"lt=
r" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:=
0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,=
0,0);background-color:transparent;font-variant-numeric:normal;font-variant-=
east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">m=
essage to be signed. (I see the hash of the pk, and ctx, but not M.</span><=
/p><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt=
;margin-bottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-ser=
if;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:norma=
l;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-al=
ign:baseline">I also see M&#39; which I&#39;m assuming is the hash of M in =
Figure 3).=C2=A0 Happy</span></p><p dir=3D"ltr" style=3D"line-height:1.38;m=
argin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:=
9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transpar=
ent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant=
-alternates:normal;vertical-align:baseline">to have you tell me I&#39;m an =
idiot, and that it is correct.=C2=A0 :)</span></p><br><p dir=3D"ltr" style=
=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-=
size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:tra=
nsparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-va=
riant-alternates:normal;vertical-align:baseline">Viktor answered this alrea=
dy, and the correction of a different typo he spotted: </span><a href=3D"ht=
tps://github.com/lamps-wg/dilithium-certificates/pull/143" style=3D"text-de=
coration-line:none" target=3D"_blank"><span style=3D"font-size:9pt;font-fam=
ily:Arial,sans-serif;background-color:transparent;font-variant-numeric:norm=
al;font-variant-east-asian:normal;font-variant-alternates:normal;text-decor=
ation-line:underline;vertical-align:baseline">https://github.com/lamps-wg/d=
ilithium-certificates/pull/143</span></a></p><br><p dir=3D"ltr" style=3D"li=
ne-height:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span sty=
le=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);backgroun=
d-color:transparent;font-variant-numeric:normal;font-variant-east-asian:nor=
mal;font-variant-alternates:normal;vertical-align:baseline">Appendix D:=C2=
=A0 I would reiterate what ctx is suppose to be here.</span></p><br><p dir=
=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span =
style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);backgr=
ound-color:transparent;font-variant-numeric:normal;font-variant-east-asian:=
normal;font-variant-alternates:normal;vertical-align:baseline">Addressed in=
 [2]</span></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-left:36p=
t;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:9pt;font-famil=
y:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-varia=
nt-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:no=
rmal;vertical-align:baseline">Nit:</span></p><p dir=3D"ltr" style=3D"line-h=
eight:1.38;margin-left:36pt;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-=
color:transparent;font-variant-numeric:normal;font-variant-east-asian:norma=
l;font-variant-alternates:normal;vertical-align:baseline">Section 10:=C2=A0=
 spell out RBG (it is literally the only time it is used).</span></p><p dir=
=3D"ltr" style=3D"line-height:1.38;margin-left:36pt;margin-top:0pt;margin-b=
ottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:=
rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-va=
riant-east-asian:normal;font-variant-alternates:normal;vertical-align:basel=
ine">Section C.4, warning:=C2=A0 systmes/systems</span></p><br><p dir=3D"lt=
r" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-=
color:transparent;font-variant-numeric:normal;font-variant-east-asian:norma=
l;font-variant-alternates:normal;vertical-align:baseline">Addressed in [1].=
</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-b=
ottom:0pt"><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:=
rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-va=
riant-east-asian:normal;font-variant-alternates:normal;vertical-align:basel=
ine"><br></span></p><p style=3D"line-height:1.38;margin-top:0pt;margin-bott=
om:0pt"><font color=3D"#000000" face=3D"Arial, sans-serif"><span style=3D"f=
ont-size:12px">Best,</span></font></p><p style=3D"line-height:1.38;margin-t=
op:0pt;margin-bottom:0pt"><font color=3D"#000000" face=3D"Arial, sans-serif=
"><span style=3D"font-size:12px"><br></span></font></p><p style=3D"line-hei=
ght:1.38;margin-top:0pt;margin-bottom:0pt"><font color=3D"#000000" face=3D"=
Arial, sans-serif"><span style=3D"font-size:12px"> Bas</span></font></p><br=
><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"=
><span style=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0)=
;background-color:transparent;font-variant-numeric:normal;font-variant-east=
-asian:normal;font-variant-alternates:normal;vertical-align:baseline">[1] <=
/span><a href=3D"https://github.com/lamps-wg/dilithium-certificates/pull/13=
7" style=3D"text-decoration-line:none" target=3D"_blank"><span style=3D"fon=
t-size:9pt;font-family:Arial,sans-serif;background-color:transparent;font-v=
ariant-numeric:normal;font-variant-east-asian:normal;font-variant-alternate=
s:normal;text-decoration-line:underline;vertical-align:baseline">https://gi=
thub.com/lamps-wg/dilithium-certificates/pull/137</span></a></p><p dir=3D"l=
tr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:9pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-=
color:transparent;font-variant-numeric:normal;font-variant-east-asian:norma=
l;font-variant-alternates:normal;vertical-align:baseline">[2] </span><a hre=
f=3D"https://github.com/lamps-wg/dilithium-certificates/pull/138" style=3D"=
text-decoration-line:none" target=3D"_blank"><span style=3D"font-size:9pt;f=
ont-family:Arial,sans-serif;background-color:transparent;font-variant-numer=
ic:normal;font-variant-east-asian:normal;font-variant-alternates:normal;tex=
t-decoration-line:underline;vertical-align:baseline">https://github.com/lam=
ps-wg/dilithium-certificates/pull/138</span></a></p></span><br></div><div><=
br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_att=
r">On Fri, May 2, 2025 at 3:47=E2=80=AFPM Deb Cooley &lt;<a href=3D"mailto:=
debcooley1@gmail.com" target=3D"_blank">debcooley1@gmail.com</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr=
"><div>Authors, <br></div><div><br></div><div>Thank you for this well writt=
en draft.=C2=A0 Below are my comments, some of them are quite picky.=C2=A0 =
I&#39;m happy to chat about them. <br></div><div><br></div><div>Deb</div><d=
iv>Sec AD</div><div><br></div><div>----------------------------------------=
---</div><div>Section 1.1: =C2=A0Is there a decent source for terminology?=
=C2=A0 If so, list it here.=C2=A0 If there isn&#39;t, that&#39;s fine too.<=
/div><br>Section 2, algorithm: Nit: add (OID) after &#39;an object identifi=
er&#39;.<br><br>Section 2, last sentence: =C2=A0ctx is not defined, nor use=
d in the main part of the draft, only in Appendix D.=C2=A0 I would define i=
t here.=C2=A0 If it only applies in the Appendix D situation, then I would =
move the statement (and definition) there.<br><br>Section 4: =C2=A0the ASN.=
1 is &#39;BIT STRING&#39;, the description is &#39;byte stream&#39; or &#39=
;byte string&#39;.=C2=A0 Is it worth making it clear that these are all the=
 same thing? I realize that the ASN.1 tags are fixed, but the explanatory t=
ext is not. =C2=A0(&#39;OCTET STRING&#39; is a whole other thing, so I&#39;=
m leaving it out of this comment) =C2=A0[I realize this is a ridiculously p=
icky comment.]<br><br>Section 8, last sentence: &#39;random seed xi&#39; is=
 called &#39;seed&#39; or &#39;32-byte seed (xi)&#39; everywhere else in th=
e draft.=C2=A0 Is it a loss of rigor to delete the word &#39;random&#39;? =
=C2=A0(also see my comment on Section 10)<br><br>Section 10, para 3: =C2=A0=
I struggled with this paragraph. What&#39;s the point? =C2=A0have you burie=
d the lead?=C2=A0 If the point is &#39;poor entropy&#39;, then I think you =
lead with that.=C2=A0 If the point is side channel protection, move that to=
 para 4? I think you can separate these two attack surfaces.=C2=A0 In addit=
ion: <br>	First two sentences: =C2=A0There are two modes, deterministic and=
 randomized.=C2=A0 Second sentence is &#39;non-deterministic&#39;, change t=
hat to &#39;randomized&#39;?<br>	Sentence 3: there is a &quot;private rando=
m seed (rho&#39;)&quot; which I&#39;m assuming is a different value.=C2=A0 =
Any chance we can reinforce that this is different from &#39;seed xi&#39;?<=
br>	throughout para 3: =C2=A0rnd, rng, spell them out.=C2=A0 Clarify that t=
he 256-bit string is rnd. =C2=A0random for the randomized version and a con=
stant string for the deterministic version.=C2=A0 I couldn&#39;t quite tell=
 if &#39;rng&#39; was a typo.<br><br>Section 10, para 5: =C2=A0Meh.... the =
ability to export/lose control of a private key leaves an issue with non-re=
pudiation, no?=C2=A0 I&#39;m fine with the paragraph as it stands, but add =
something to convey the risk of private key exposure. [I will note that I m=
ight also disagree with non-repudiation as a &#39;fundamental security prop=
erty&#39;, but that is a personal bias.]<br><br>Section 10, last sentence: =
&#39;These properties&#39;, which properties?=C2=A0 The properties in this =
section?=C2=A0 Is this a security consideration?=C2=A0 Or does it belong up=
 in Section 4?<br><br>Section 10.2, para 2: =C2=A0I&#39;d make first senten=
ce about interoperability.=C2=A0 The rest can be about why these two method=
s don&#39;t interoperate.<br><br>Section 10.1, para 3: =C2=A0Let me summari=
ze: =C2=A0HashML-DSA loses some hash collision protection, but it doesn&#39=
;t matter because of these other things?=C2=A0 Did I understand that?=C2=A0=
 If that&#39;s true, I&#39;d soften the first sentence a bit. There is a se=
curity reason, but it isn&#39;t a strong one.=C2=A0 The for realsie issue i=
s interoperability (para 2). [note: =C2=A0IETF is all about interoperabilit=
y, so making this the top reason is perfect.]<br><br>Section 10.1, Para 3: =
=C2=A0Is the hash of the public key referred to as &#39;tr&#39;?=C2=A0 If s=
o, then &#39;hash of the public key tr&#39; could be &#39;hash of the publi=
c key (tr)&#39; =C2=A0[as is done with seed(xi)]<br><br>Appendices A-C: =C2=
=A0I did not review (other than noticing a typo).<br><br>Appendix D, figure=
 2: =C2=A0I may very well be wrong (my math chops are gone), but shouldn&#3=
9;t the mu computation include M?=C2=A0 Assuming M is the message to be sig=
ned. (I see the hash of the pk, and ctx, but not M.=C2=A0 I also see M&#39;=
 which I&#39;m assuming is the hash of M in Figure 3).=C2=A0 Happy to have =
you tell me I&#39;m an idiot, and that it is correct. =C2=A0:)<br><br>Appen=
dix D: =C2=A0I would reiterate what ctx is suppose to be here.<br><br>Nit: =
=C2=A0<br>Section 10: =C2=A0spell out RBG (it is literally the only time it=
 is used).<br>Section C.4, warning: =C2=A0systmes/systems</div>
</blockquote></div></div>
</blockquote></div>

--000000000000e7bddd06343916a2--

