18 Commits

Author SHA1 Message Date
Tony Arcieri
7675b171ad
keccak: 2021 edition upgrade; MSRV 1.60 (#70)
`keccak` was previously excluded from the toplevel workspace due to its
MSRV of 1.41 and incompatibilities with packages used by `ascon`.

This bumps the edition, changes the version to `0.2.0-pre` to denote it
contains breaking changes (though this is not intended to be a
`0.2.0-pre` release), and bumps MSRV.

With the MSRV bumped, `keccak` can and has been re-added to the toplevel
workspace.
2024-01-12 14:45:05 -07:00
Coda Hale
2dc13bf92e
keccak: enable asm backend for p1600 (#68) 2024-01-09 12:41:20 -07:00
Alexander Wagner
6e512a3b1a
keccak: Add keccak_p fns for [200, 400, 800, 1600] (#55)
Due to the generics approach of the keccak_p routine, the performance
degrades significantly. To encounter this the commonly used functions
are now defined by macros.
2023-04-30 10:25:27 -06:00
Tony Arcieri
5831f8bd51
keccak: 2018 edition upgrade, lints, docs (#32)
- Bumps the crate's edition to 2018, which is MSRV-compatible.
- Adds a more expansive set of lints
- Adds the `missing_docs` lint, and adds docs where missing
- Fixes tests on ARMv8
2023-02-11 11:40:15 -07:00
Tony Arcieri
d82151aa0d
keccak: remove f1600_armv8_sha3_asm re-export (#27)
As discussed in #24
2022-11-14 11:06:04 -07:00
Tony Arcieri
6bd1a6d0ab
keccak: rename f1600_armv8_sha3_asm (#26)
Include the target architecture and feature in the name of the function.
2022-11-13 20:56:27 -07:00
Tony Arcieri
4e36eefaa0
keccak: rename aarch64_sha3 module to armv8 (#25)
This is more consistent with the other crates we have which implement
ARMv8 intrinsics, such as the `aes` and `polyal` crates.
2022-11-13 15:32:07 -07:00
Tony Arcieri
a687839512
keccak: add asm feature; use cpufeatures on aarch64 (#24)
Gates `asm` support under a crate feature.

Uses the `cpufeatures` crate to detect the presence of the `sha3`
extension for ARMv8 CPUs, automatically falling back to a software
implementation if it isn't available.

When the `asm` feature is enabled on `aarch64` targets, exposes
`f1600_asm` that relies on ARMv8 `sha3` hardware intrinsics.
2022-11-13 15:15:26 -07:00
Remco Bloemen
b2d1e84abf
keccak: add aarch64 asm intrinsics implementation keccak_f1600 (#23) 2022-11-01 10:08:45 -06:00
Alexander Wagner
f31b4b6eee
Use portable_simd instead of deprecate packed_simd (#16) 2022-05-24 17:07:32 -06:00
Alexander Wagner
2736330d93
Add f1600x{2, 4, 8} (#8) 2022-05-12 08:49:34 -06:00
Alexander Wagner
a2ef49e5a6
Add generic keccak-p and keccak-f {200, 400, 800} (#7) 2022-05-11 11:36:17 -06:00
Alexander Wagner
71c7948b23
Revive CI with GH Workflows (#6) 2022-01-26 03:26:50 +00:00
newpavlov
35ac0f140f small code cleanup 2018-04-03 19:54:43 +03:00
newpavlov
fcb42fe8d1 do not unroll the rounds loop 2018-03-27 19:28:37 +03:00
newpavlov
dd9f552e61 disable rustfmt 2018-03-21 17:10:26 +03:00
newpavlov
af282ce18f fixed formatting 2018-03-21 16:27:38 +03:00
newpavlov
9bb3d48391 keccak-f[1600] 2018-03-21 15:44:29 +03:00