I did want to comment on one other thing:
>>> (Issue-4): Identifiers reused for different meanings
In scrypt, "B" is an array of "p" vectors, each of which is 128*r
octets. In scryptROMix, "B" is a single vector of 128*r octets. In
scryptBlockMix, "B" is a vector of 2*r 64-octet blocks.
I'm not sure that changing variable names here is a good idea. For any
performant implementation, these variables will refer to the same memory
area and thus a consistent variable name helps to signal that. It is
just the interpretation of that memory area that is different in these
functions.
The document would be clearer if distinct identifiers were used for
each unique concept.
I believe the identifier refers to unique concepts. For B, what differs
is how that memory area is interpreted in each algorithm description.
I don't think it works for a *spec* to assume that a "memory area" can
be interpreted differently, sometimes as a number, sometimes as an array
of bytes, sometimes as an array of arrays, etc.
Making such assumptions depends on the language being used mapping these
things to the same memory in a consistent way. Some languages don't
allow this at all, and those that do often lay out memory with padding
for efficiency, according to little/big endianness, etc.
So I think it is important to clearly define any type coercions that are
needed.
Thanks,
Paul
_______________________________________________
Gen-art mailing list
Gen-art@ietf.org
https://www.ietf.org/mailman/listinfo/gen-art