diff options
author | Wladimir J. van der Laan <laanwj@protonmail.com> | 2020-09-10 16:35:56 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@protonmail.com> | 2020-09-10 16:37:21 +0200 |
commit | a47e5964861dfb98d61719c9852e12fd6da84c31 (patch) | |
tree | 051087797c034953e4ef67826ad436f7616d8ab3 /src/netaddress.cpp | |
parent | 564e1ab0f3dc573bd3ea60a80f6649c361243df9 (diff) | |
parent | ab654c7d587b33d62230394663020439f80cee28 (diff) |
Merge #19841: Implement Keccak and SHA3_256
ab654c7d587b33d62230394663020439f80cee28 Unroll Keccak-f implementation (Pieter Wuille)
3f01ddb01bfffd49dfa131898d1c674ac5d0ac99 Add SHA3 benchmark (Pieter Wuille)
2ac8bf95834c8a43ebf365f09fb610829733134b Implement keccak-f[1600] and SHA3-256 (Pieter Wuille)
Pull request description:
Add a simple (and initially unoptimized) Keccak/SHA3 implementation based on https://github.com/mjosaarinen/tiny_sha3/blob/master/sha3.c, as one will be needed for TORv3 support (the conversion from BIP155 encoding to .onion notation uses a SHA3-based checksum). In follow-up commits, a benchmark is added, and the Keccakf function is unrolled for a (for me) 4.9x speedup.
Test vectors are taken from https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/secure-hashing#sha3vsha3vss.
ACKs for top commit:
practicalswift:
ACK ab654c7d587b33d62230394663020439f80cee28 -- patch looks correct and no sanitizer complaints when doing some basic fuzz testing of the added code (remember: **don't trust: fuzz!**) :)
laanwj:
re-ACK ab654c7d587b33d62230394663020439f80cee28
vasild:
ACK ab654c7
Tree-SHA512: 8a91b18c46e8fb178b7ff82046cff626180362337e515b92fbbd771876e795da2ed4e3995eb4849773040287f6e687237f469a90474ac53f521fc12e0f5031d9
Diffstat (limited to 'src/netaddress.cpp')
0 files changed, 0 insertions, 0 deletions