Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2024-05-04 | sha3.c: neon: add tests, improve performance (still too slow, see full ↵ | Paul Duncan | 1 | -198/+217 | |
commit message) scalar (odroid n2l): pabs@pizza:~/git/sha3/tests/bench> ./bench 1000 info: cpucycles: version=20240318 implementation=arm64-vct persecond=1800000000 info: backend=scalar num_trials=1000 src_lens=64,256,1024,4096,16384 dst_lens=32 function,dst_len,64,256,1024,4096,16384 sha3_224,28,34.0,16.4,15.5,14.0,13.7 sha3_256,32,34.0,16.1,15.4,14.8,14.4 sha3_384,48,34.0,23.4,19.0,18.8,18.6 sha3_512,64,34.0,30.8,28.1,26.5,26.5 shake128,32,34.0,16.1,13.6,12.1,11.8 shake256,32,34.0,16.1,15.5,14.8,14.4 neon (odroid n2l): pabs@pizza:~/git/sha3/tests/bench> ./bench 1000 info: cpucycles: version=20240318 implementation=arm64-vct persecond=1800000000 info: backend=neon num_trials=1000 src_lens=64,256,1024,4096,16384 dst_lens=32 function,dst_len,64,256,1024,4096,16384 sha3_224,28,65.6,32.5,31.8,28.7,28.2 sha3_256,32,65.6,32.5,31.9,30.8,30.0 sha3_384,48,65.6,48.0,39.7,39.5,39.0 sha3_512,64,68.0,63.9,59.1,56.0,55.9 shake128,32,65.6,32.5,28.4,25.4,24.8 shake256,32,65.6,32.5,31.6,30.5,29.7 | |||||
2024-05-03 | sha3.c: add missing RHO_IDS | Paul Duncan | 1 | -0/+9 | |
2024-05-03 | sha3.c: add neon backend | Paul Duncan | 1 | -9/+305 | |
2024-05-03 | sha3.c: refactor backends so they only implement permute_n() | Paul Duncan | 1 | -40/+21 | |
i verified that (gcc, at least) does constant propagation and inlines permute_n_<backend> and that this change does not affect performance. bench results, before: pabs@flex:~/git/sha3/tests/bench> ./bench info: cpucycles: version=20240318 implementation=amd64-pmc persecond=4800000000 info: backend=avx512 num_trials=100000 src_lens=64,256,1024,4096,16384 dst_lens=32 function,dst_len,64,256,1024,4096,16384 sha3_224,28,15.4,7.8,7.8,7.1,7.0 sha3_256,32,15.5,7.8,7.8,7.6,7.4 sha3_384,48,15.5,11.7,9.8,9.8,9.7 sha3_512,64,15.6,15.5,14.6,13.9,13.9 shake128,32,15.5,7.8,6.9,6.2,6.1 shake256,32,15.5,7.8,7.9,7.6,7.4 bench results, after change: pabs@flex:~/git/sha3/tests/bench> ./bench info: cpucycles: version=20240318 implementation=amd64-pmc persecond=4800000000 info: backend=avx512 num_trials=100000 src_lens=64,256,1024,4096,16384 dst_lens=32 function,dst_len,64,256,1024,4096,16384 sha3_224,28,15.4,7.8,7.8,7.1,7.0 sha3_256,32,15.6,7.8,7.8,7.6,7.4 sha3_384,48,15.6,11.7,9.8,9.8,9.7 sha3_512,64,15.6,15.5,14.6,13.8,13.8 shake128,32,15.6,7.9,6.9,6.2,6.1 shake256,32,15.7,7.9,7.9,7.6,7.4 | |||||
2024-05-01 | sha3.c: improve internal documentation, s/SHA3_BACKEND_/BACKEND_/ | Paul Duncan | 1 | -78/+134 | |
2024-04-29 | sha3.c: add permute_n_{scalar,avx512}() and refactor ↵ | Paul Duncan | 1 | -198/+23 | |
permute{,12}_{scalar,avx512}() to use them | |||||
2024-04-29 | sha3.c: s/ifdef/if/ in a few places | Paul Duncan | 1 | -2/+2 | |
2024-04-29 | sha3.[hc]: add sha3_backend() | Paul Duncan | 1 | -1/+9 | |
2024-04-29 | sha3.c: add/use SHA3_BACKEND | Paul Duncan | 1 | -11/+26 | |
2024-04-29 | sha3.c: permute{,12}_avx512(): optimize, update header comment | Paul Duncan | 1 | -367/+295 | |
2024-04-29 | sha3.c: build permute12_scalar() during testing, remove old comment | Paul Duncan | 1 | -7/+1 | |
2024-04-29 | sha3.c: clean up whitespace in rho(), pi(), and chi() | Paul Duncan | 1 | -38/+50 | |
2024-04-29 | sha3.c: use shared RCS, rename scalar and avx512 permute() to ↵ | Paul Duncan | 1 | -78/+547 | |
permute_{scalar,axv512}(), hard-code num_rounds to 24 in permute_{scalar,avx512}(), add permute12_{scalar,avx512}(), absorb12(), and xof12_{init,absorb,raw,absorb,squeeze_raw,squeeze,once}(), update turboshake to use xof12_*(), move permute tests to PERMUTE_TESTS static array, rename test_permute() to test_permute_scalar(), add test_permute_avx512(), add PERMUTE12_TESTS and test_permute12_{scalar,avx512}() | |||||
2024-03-02 | sha3.c: add fail_test(), use it in all tests | Paul Duncan | 1 | -211/+67 | |
2024-03-02 | sha3.c: rename HASH_RATE() to RATE(), document RATE() and use it everywhere, ↵ | Paul Duncan | 1 | -34/+71 | |
improve comments | |||||
2024-03-02 | sha3.c: fix comment | Paul Duncan | 1 | -1/+1 | |
2024-03-02 | sha3.c: parameterize turboshake | Paul Duncan | 1 | -50/+34 | |
2024-03-02 | sha3.c: parameterize parallelhash | Paul Duncan | 1 | -271/+143 | |
2024-03-02 | sha3.c: use __func__ in tests | Paul Duncan | 1 | -49/+49 | |
2024-03-02 | sha3.c: parameterize tuplehash | Paul Duncan | 1 | -121/+68 | |
2024-03-02 | sha3.c: parameterize kmac functions | Paul Duncan | 1 | -235/+122 | |
2024-03-02 | sha3.c: move kmac128(), add missing kmac comments | Paul Duncan | 1 | -53/+63 | |
2024-03-02 | sha3.c: parameterize cshake | Paul Duncan | 1 | -158/+86 | |
2024-03-02 | sha3.c: parameterize rate handling, simplify hash, shake, hmac, and cshake ↵ | Paul Duncan | 1 | -72/+58 | |
definitions | |||||
2024-03-02 | sha3.c: remove keccak(), refactor xof_absorb_raw() into absorb(), update ↵ | Paul Duncan | 1 | -92/+54 | |
hash_once(), hash_absorb(), and xof_absorb_raw() to use absorb() | |||||
2024-03-02 | sha3.[hc]: update comments | Paul Duncan | 1 | -2/+4 | |
2024-03-02 | sha3.c: move hmac below shake | Paul Duncan | 1 | -71/+71 | |
2024-03-02 | sha3.c: add DEF_HASH(), DEF_HMAC(), and DEF_SHAKE(), remove explicit hash, ↵ | Paul Duncan | 1 | -376/+137 | |
hmac, and shake implementations | |||||
2024-03-02 | sha3.c: xof_absorb_raw_large(): rename to xof_absorb_raw(), do not copy ↵ | Paul Duncan | 1 | -61/+11 | |
state, check message alignment to elide unnecessary copies, remove xof_absorb_raw_small() | |||||
2024-02-26 | rename SHA3_*_CAPACITY to SHA3_*_LEN, document SHA3_*_LEN and ↵ | Paul Duncan | 1 | -28/+47 | |
{SHA3,SHAKE*}_*_RATE | |||||
2024-02-24 | sha3.c: s/sha3(/hash_once(/, s/sha3_(init|absorb|final)/hash_$1/ | Paul Duncan | 1 | -21/+21 | |
2024-02-24 | sha3.c: improve internal documentation | Paul Duncan | 1 | -1/+29 | |
2024-02-24 | sha3.c: s/xof_absorb_raw_bulk/xof_absorb_raw_large/, ↵ | Paul Duncan | 1 | -10/+18 | |
s/xof_absorb_raw_simple/xof_absorb_raw_small/, add documentation to xof absorb functions | |||||
2024-02-24 | sha3.c: xof_squeeze_raw(): improve speed by squeezing in rate-sized chunks | Paul Duncan | 1 | -6/+36 | |
2024-02-24 | sha3.c: add xof_absorb_raw_bulk() to absorb data in bulk | Paul Duncan | 1 | -6/+99 | |
2024-02-24 | sha3.c: remove unused shake() function | Paul Duncan | 1 | -22/+0 | |
2024-02-24 | sha3.[hc]: remove shake{128,256}(), replace shake{128,256}_xof prefixes with ↵ | Paul Duncan | 1 | -270/+58 | |
shake{128,256}, update tests | |||||
2024-02-23 | sha3.c: add xof_{absorb,squeeze}_raw() | Paul Duncan | 1 | -15/+29 | |
2024-02-23 | sha3.c: use temp array for pi() and chi(), fix tests | Paul Duncan | 1 | -65/+67 | |
2023-10-16 | sha3.c: clean up intro, remove extraneous newline | Paul Duncan | 1 | -10/+10 | |
2023-10-14 | sha3.c: compress algorithm list in header comment block, mark entire file as ↵ | Paul Duncan | 1 | -19/+12 | |
INTERNAL to doxygen | |||||
2023-09-23 | sha3.c: k12_big_absorb_done(): fix uninitialized buffer warning | Paul Duncan | 1 | -1/+1 | |
2023-09-18 | sha3.c: add avx512 permute(), add step comments, do not build scalar steps ↵ | Paul Duncan | 1 | -1/+257 | |
unless necessary | |||||
2023-09-06 | sha3.[hc]: refactor k12 api | Paul Duncan | 1 | -84/+92 | |
2023-09-06 | README.md, sha3.[hc]: add KangarooTwelve to algorithm list | Paul Duncan | 1 | -0/+1 | |
2023-09-06 | sha3.c: add kangarootwelve_custom(), kangarootwelve(), ↵ | Paul Duncan | 1 | -1/+501 | |
kangarootwelve_length_encode(), test_kangarootwelve(), and test_kangarootwelve_length_encode() | |||||
2023-09-05 | sha3.[hc]: add turboshake{128,256}_custom() | Paul Duncan | 1 | -1/+9 | |
2023-09-05 | sha3.[hc]: s/TurboHash/TurboSHAKE/ | Paul Duncan | 1 | -1/+1 | |
2023-09-05 | sha3.c: full turboshake{128,256} tests | Paul Duncan | 1 | -19/+254 | |
2023-09-05 | sha3.c: permute() pass correct round to iota() for turboshake | Paul Duncan | 1 | -1/+1 | |