lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date: Mon, 7 Apr 2014 13:28:40 +0200
From: Thomas Pornin <>
Subject: [ Re: pseudocode for Makwa]

For the benefit of everybody, I was discussing with Steve the pseudocode
format for the Wiki :

See below for our exchanges.

I think it would be a good idea if submitters did write the pseudocode
for their own candidate, but please, try to use the syntax and naming
conventions set forward by Steve and explained below. It is pseudocode
and, as such, is meant for humans, not machines, so there is no notion
of a compiler rejecting it for a misplaced comma; however, there is
high value in coherent, systematic notations.

	--Thomas Pornin

----- Forwarded message from Steve Thomas <> -----

Date: Sun, 6 Apr 2014 23:32:07 -0500 (CDT)
From: Steve Thomas <>
To: Thomas Pornin <>
Subject: Re: pseudocode for Makwa
X-Mailer: Open-Xchange Mailer v7.4.0-Rev29

> On April 5, 2014 at 7:53 AM Thomas Pornin <> wrote:
> I see that you have begun to write pseudocode for all PHC submissions.
> Would it help if I provide such pseudocode for Makwa ? Or do you
> want to do it yourself ? (Maybe you already have an uncommitted
> prototype...)

Sure that will help.

I was just going down the list and I'm at Gambit. I need to go back and
standardize some of them like LE_32_TO_STR instead of LITTLE_ENDIAN_32
and function case. The way I've been "trying" to do this is uppercase
for data conversions and everything else is lowercase. Also
underscore_word_spacing instead of camelCase. I also uppercase constants
unless it looks like it should be an input but isn't because we were only
allowed t_cost and m_cost. Like with EARWORM and start_t_cost = 0. Hmm I
should do that for Catena too. Actually I should just have those be
inputs. As you can see there really isn't a set way to do this and I'm
just flying by the seat of my pants. One last thing I name some variables
like state_string and state_array if the same variable has multiple
representations such as with AntCrypt. With Catfish I named a variable
big_int just to make it clear in other algorithms this would probably be
named hash because it is the output of a hashing algorithm. Keep in mind
I'm bad at naming.

I try to make them very simple to read. I also don't always follow the
author's pseudocode such as with Catfish. They did everything as strings
and converted to big integers when doing pow mod, but I thought it was
easier to read if it was always in big integers.

Also this should be discussed over the mailing list. I was going to CC
the mailing list but thought that might seem like a jerk move. Anyways if
you do not have problems with this being on the mailing list then just
forward this email to there.

----- End forwarded message -----

Powered by blists - more mailing lists