Wishlist: Adding all SHA3 candidates in SPHLib #347

Open
opened 2018-02-17 08:42:20 -06:00 by DonaldTsang · 4 comments
DonaldTsang commented 2018-02-17 08:42:20 -06:00 (Migrated from github.com)
  1. 224, 256, 384 and 512 bit hash for each of these algorithms
  2. 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
1. 224, 256, 384 and 512 bit hash for each of these algorithms 2. 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 * [ ] Bonus: [having a drag-and-drop function for experimenting with custom hashes and ciphers](https://developers.google.com/blockly/)
DonaldTsang commented 2018-03-05 06:28:39 -06:00 (Migrated from github.com)

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

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`
DonaldTsang commented 2018-03-05 10:41:14 -06:00 (Migrated from github.com)

Short notes regarding Key Derivation Functions

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)
### 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)
DonaldTsang commented 2018-03-06 04:23:03 -06:00 (Migrated from github.com)
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
NickBrighten commented 2026-08-08 18:12:56 -05:00 (Migrated from github.com)

If you want help, please let me know - can you give most of the common algorithms within the KATs...
I have most of the common algorithms implemented in 64-bits only in my .framework - the original sources give more than...

If you want help, please let me know - can you give most of the common algorithms within the KATs... I have most of the common algorithms implemented in 64-bits only in my .framework - the original sources give more than...
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-libtom/libtomcrypt#347
No description provided.