mirror of
https://github.com/henrydcase/nobs.git
synced 2024-11-22 15:18:57 +00:00
Henry Case
49bf0db8fd
* xorIn and copyOut function pointers cause input and output data to be moved to heap. This degrades performance of calling code. * This change removes usage of those function pointers. We will always use unaligned implementation as it's faster (but may crash on some systems) * Benchmark compares generic vs unaligned xorIn and copyOut benchmark old ns/op new ns/op delta BenchmarkPermutationFunction-4 463 815 +76.03% BenchmarkShake128_MTU-4 4443 8180 +84.11% BenchmarkShake256_MTU-4 4739 9060 +91.18% BenchmarkShake256_16x-4 71886 132629 +84.50% BenchmarkShake256_1MiB-4 3695138 6649012 +79.94% BenchmarkCShake128_448_16x-4 21210 24611 +16.03% BenchmarkCShake128_1MiB-4 3009342 3396496 +12.87% BenchmarkCShake256_448_16x-4 26034 27785 +6.73% BenchmarkCShake256_1MiB-4 3654713 3829404 +4.78% |
||
---|---|---|
dh/sidh | ||
drbg | ||
ec/x448 | ||
etc | ||
hash | ||
kem/sike | ||
utils | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
Makefile | ||
README.md |
nobs-j-crypto
Crypto primitives implementation in Go.
Implemented primitives
- dh/
- SIDH
- ec/
- x448
- hash/
- cSHAKE (sha3 coppied from "golang.org/x/crypto")
- SM3
- rand/
- CTR_DRBG with AES256 (NIST SP800-90A)
- kem/
- SIKE: version 3 (as per paper on sike.org)
Testing
make test
Licence
WTFPL except if specified differently in subfolders