libtomcrypt
libtomcrypt copied to clipboard
Wishlist: Adding all SHA3 candidates in SPHLib
- 224, 256, 384 and 512 bit hash for each of these algorithms
- Allow stripped variable outputs (like SHA512-256 or SHA512-384)
Note: All SHA2 candidates uses the same basic input-output formats.
For future reference: http://www.saphir2.com/sphlib/
- [ ] blake
- [ ] bmw
- [ ] cubehash
- [ ] echo
- [ ] fugue
- [ ] groestl
- [ ] hamsi
- [ ] jh
- [ ] keccak
- [ ] luffa
- [ ] shabal
- [ ] shavite
- [ ] simd
- [ ] skein
For libtomcrypt, it follows the format
md5_init(&md); md5_process(&md, in, in_len); md5_done(&md, out);
While for SPHLib,
sph_md5_init(&md); sph_md5(&md, in, in_len); sph_md5_done(&md, out);
So the syntax is nearly identical.
Also, for SPHLib, hashes are md5.c headers are sph_md5.h tests are test_md5.c
Short notes regarding Key Derivation Functions
- "Old KDF strength" SCrypt > BCrypt > PBKDF2
- Finalist library https://github.com/mbroz/PHCtest
- Original competition Repo https://github.com/bsdphk/PHC
Winner and special recognition KDFs
- [ ] Argon2 (the winner, allows tweaking with hashes)
- [ ] Catena (allows tweaking with hashes)
- [ ] Makwa (allows tweaking with hashes)
- [ ] Lyra2 (allows tweaking with sponge functions)
- [ ] Yescrypt (based on Scrypt, needs Salsa20 and a hash function)
Finalists
- [ ] BATTCrypt (based on BCrypt, needs Blowfish and a hash function)
- [ ] Pufferfish (based on BCrypt, needs Blowfish, takes no hash function)
- [ ] Parallel (allows tweaking with hashes)
- [ ] Pomelo (does not allow tweaking with hashes)
List of other hash algorithms:
- https://multipoolminer.io/algorithms
- https://github.com/JayDDee/cpuminer-opt
- https://github.com/nemosminer/NemosMiner-v2.4.2
- https://github.com/luisvasquez/cpuminer-easy
- https://www.nicehash.com/algorithm
- https://github.com/maciejczyzewski/retter