Hi Everyone,

Our SHA-3 is not really SHA-3 since FIPS 202 was finalized. We can change 
it, but then we break folks who began using it in 2013. Also see "SHA-3 
test vector results" (http://github.com/weidai11/cryptopp/issues/158).

So I was thinking:

  (1) Update SHA-3 to FIPS 202
  (2) Provide a basic Keccak

(1) gets us in line with FIPS 202. (2) provides a path for existing users.

The tricky spot seems to be Keccak, which appears to have at least 11 
revisions (http://keccak.noekeon.org/files.html). Their web page is kind of 
messy and lacks dates, so I'm having trouble determining (a) what version 
our SHA is, and (b) what version FIPS 202 is.

So my questions are:

  (1) Is it OK to change SHA-3 to align it with FIPS 202?
  (2) How should we include Keccak so that early adopters don't break?
  (3) What version of Keccak should we include as our Keccak since it seems 
to be a moving target?

For (2), we could do something like:

    class Keccak_ORIG { ... };

For (3), it can be colorful since we could do something like:

    // Compile time
    template <unsigned int Version>
    class Keccak { ... };

  Or:

    // Runtime
    class Keccak
    {
        Keccak(unsigned int version) {...}
    };

Jeff


-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to