Subject: [Cfrg] Introduction, and some concerns regarding draft-irtf-cfrg-argon2

From: Gwynne Raskind <[email-masked]>
Date: Sun, 26 Apr 2020 08:40:06 -0500

Hello!

My name is Gwynne Raskind; I'm a software engineer with a fairly wide range of technical experience and interests. I'm new to this mailing list, and to the IRTF in general - a colleague suggested that I subscribe to this working group's community to bring up an issue of concern to me with regards to the currently published draft of the specification of the Argon2 key derivation function (formally draft-irtf-cfrg-argon2-10).

In the course of both my work and general interest, I had occasion to investigate this algorithm and to attempt to build an implementation natively in the Swift language. Unfortunately, I found the draft in its present form to be less helpful than I had hoped. After a considerable amount of time spent studying the C reference implementation and comparing it with the specification, I was able to derive a nearly complete and partially functional implementation of my own. It was a fascinating learning experience, but I also noted a significant number of typographical errors, incomplete descriptions, missing elements, and other problems in the spec itself.

As I have an active interest in the cryptography space, as well as plenty of experience as both a technical writer and as a systems engineer, I took it upon myself to write up a somewhat exhaustive list of the various issues I encountered in the spec, ranging from technical analysis to grammatical concerns: I would be very pleased to contribute it (along with some accompanying suggestions of potential corrections) if it would be welcomed. I apologize if I'm in any way out of line; I couldn't find any kind of guidelines for how to approach this sort of problem, short of doing exactly this, so here I am.

Thanks for reading through this, and I hope to get the chance to help out!

-- Gwynne Raskind

---

From: "Scott Fluhrer (sfluhrer)" <[email-masked]>
Date: Mon, 27 Apr 2020 17:45:23 +0000

I haven't seen any public responses, and so, while I'm not an editor of this particular draft, I'd like to reply to your concerns.

We would love to hear your critiques, both about minor errors such as typos, in addition to more major problems, such as ambiguities in the specification.

One major reason these drafts are published is to get them correct; by helping us make the draft better, you are helping us a great deal.

And, there isn't any secret handshakes to work on this mailing list; we welcome everyone.  And you are certainly not out of line.

I look forward to hearing your corrections and your suggestions.  Thank you.

From: Cfrg <[email-masked]> On Behalf Of Gwynne Raskind
Sent: Sunday, April 26, 2020 9:40 AM
To: [email-masked]
Subject: [Cfrg] Introduction, and some concerns regarding draft-irtf-cfrg-argon2

Hello!

-- Gwynne Raskind

---

From: Colin Perkins <[email-masked]>
Date: Mon, 27 Apr 2020 23:32:07 +0100

I agree – this draft is close to publication as an RFC, so if there are corrections and/or clarifications needed, then it would be useful to get feedback so they can be incorporated before publication.

Colin

> On 27 Apr 2020, at 18:45, Scott Fluhrer (sfluhrer) <sfluhrer=[email-masked]> wrote:
> 
> I haven’t seen any public responses, and so, while I’m not an editor of this particular draft, I’d like to reply to your concerns.
>  
> And, there isn’t any secret handshakes to work on this mailing list; we welcome everyone.  And you are certainly not out of line.
>  
> From: Cfrg <[email-masked] <mailto:[email-masked]>> On Behalf Of Gwynne Raskind
> To: [email-masked] <mailto:[email-masked]>
> In the course of both my work and general interest, I had occasion to investigate this algorithm and to attempt to build an implementation natively in the Swift language.. Unfortunately, I found the draft in its present form to be less helpful than I had hoped. After a considerable amount of time spent studying the C reference implementation and comparing it with the specification, I was able to derive a nearly complete and partially functional implementation of my own. It was a fascinating learning experience, but I also noted a significant number of typographical errors, incomplete descriptions, missing elements, and other problems in the spec itself.
>  
> _______________________________________________
> Cfrg mailing list
> [email-masked] <mailto:[email-masked]>
> https://www.irtf.org/mailman/listinfo/cfrg <https://www.irtf.org/mailman/listinfo/cfrg>

-- 
Colin Perkins
https://csperkins.org/

---

From: Gwynne Raskind <[email-masked]>
Date: Tue, 28 Apr 2020 19:53:26 -0500

Thanks to everyone for their encouragement! I've attached my edited set of notes in Markdown format (I can provide it in alternative form if desired). I have tried to restrain this initial set of notes mostly to the most critical issues, as I've been known to end up simply rewriting entire documents if I don't keep myself in check (and frankly this draft has tempted me greatly in that regard) ^^; Please don't hesitate to ask any questions if there's anything that needs clarifying. I hope you find these notes helpful!

(P.S.: If the mailing list strips attachments, as I know many do, I welcome suggestions as to the best alternative for making the document available - my first instinct would be to post it as a GitHub Gist and send its link to the list instead.)

-- Gwynne Raskind

On Apr 27, 2020, at 17:32, Colin Perkins <[email-masked]> wrote:

Colin

Hello!

-- Gwynne Raskind

_______________________________________________
Cfrg mailing list
[email-masked]
https://www.irtf.org/mailman/listinfo/cfrg

--
Colin Perkins
https://csperkins.org/

---

From: Gwynne Raskind <[email-masked]>
Date: Tue, 28 Apr 2020 21:04:38 -0500

Apologies for the noise, but I just discovered a couple of errors in my notes (as was certain to happen the moment I sent them, no doubt :) ). Rather than send another attachment to the list and most likely end up having to replace that as well, I've posted the revised content as a Gist, found here: <https://gist.github.com/gwynne/d596cb9712849cdc033084b2eebaf680 <https://gist.github.com/gwynne/d596cb9712849cdc033084b2eebaf680>>. From now on this link will always provide the most up to date revision of the document.

-- Gwynne Raskind

> On Apr 28, 2020, at 19:53, Gwynne Raskind <[email-masked]> wrote:
> 
> <draft-argon2-deconstruction.md>
> 
> -- Gwynne Raskind
> 
>> On Apr 27, 2020, at 17:32, Colin Perkins <[email-masked] <mailto:[email-masked]>> wrote:
>> 
>>> On 27 Apr 2020, at 18:45, Scott Fluhrer (sfluhrer) <sfluhrer=[email-masked] <mailto:sfluhrer=[email-masked]>> wrote:
>>> 
>> https://csperkins.org/ <https://csperkins.org/>
>> 
>> 
>> 
>> 
>