-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Keccak implementation #39
Comments
DEC contains SHA3 implementations for 224, 256, 384 and 512 bit. What's the difference to Keccak, which became to SHA3 back then? Can you explain? |
Hello, The outputs of SHA3 and Keccak are different: SHA3 would be named SHA-3. SHA-3 & Keccak would be tested on: Best regards. |
Ok, so your request is really to implement the original keccak implementation which got modified between the two NIST competition rounds? As far as I've read the difference is the number of rounds used internally. |
Can you help me to clarify the differences between Keccak and SHA3? I could start an implementation then. |
I started to work on it but got stuck. I seems that the only difference lies in the passing of the message. But all references pointing out where the difference in other implementations are did not really help me. Either I didn't find that code, or I didn't see where the analogous code is in DEC's implementation. So unless I get help from somebody I'll stop working on this for now! I'll put my early attempt into the development branch, so if you want to help you can use that as starting point. |
Hello hafedh-trimeche just a "dirty" test... try this:
Replace this SHAKE/SHA3 padding code
Test f.e. with:
Does this help? Regards |
I hope to find the time within the next few days to have a look/test integration of that. If things go well I should be able to provide it at least in the development branch sooner than later. |
Yes, this helps ;-) |
Ok, the implementation of all 4 Keccack variants (224, 256, 384 and 512) is available in the development branch now, albeit still without unit tests. I will start on those in the next few minutes though! Ok, there's still somethign in it which makes it not useable, but I've already fixed this and work on unit tests so as soon as I've made more progress on the unit tests there will be an improved commit. |
Ok, fixed commit but still containing some failing unit tests. |
I tried to implement unit tests using the original test vector files found here: |
I worked on unit testing of Keccac yesterday, with a bit of help from Michael. Status is: some of the tests run 100% flawlessly now while a few test variants still report failures. I do guess that the basic implementation of Keccak is nhot at fault but we need to check some things with the failing tests. This might take some time though... |
Iff message length m, m mod 8 <> 0 fbl := m mod 8 NIST/DEC input and Keccak Team input are different from each other for the last byte:
example from "Keccak 224" test vectors: Msg C0= 1100 0000 The same message in NIST/DEC format: i.e. for DEC the input must be: Msg Keccak Format => Msg NIST/DEC format Another example: Tested with DEC dev and # ShortMsgKAT_224.txt # Algorithm Name: Keccak # Principal Submitter: The Keccak Team (Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche) |
As all the unit tests in the development branch run properly now, can I close this issue/request because it is available in development branch at least? |
Hello,
Would Keccak be implemented (224, 256, 384 and 512)?
Best regards.
The text was updated successfully, but these errors were encountered: