Skip to content

refactor: make sha3 exterior interface unmodified in patch#9

Open
gdmlcjs wants to merge 4 commits intoopenvm/sha3-v0.10.8from
chore/sha3-v0.10.8-patch
Open

refactor: make sha3 exterior interface unmodified in patch#9
gdmlcjs wants to merge 4 commits intoopenvm/sha3-v0.10.8from
chore/sha3-v0.10.8-patch

Conversation

@gdmlcjs
Copy link
Copy Markdown
Collaborator

@gdmlcjs gdmlcjs commented Apr 18, 2026

Refactors the sha3 patch to use the lower level openvm-keccak256-guest crate instead of the openvm-keccak256 crate.
The internal implementations are swapped to use the openvm functions for the zkvm target. The native_keccakf and native_xorin functions are used everywhere in all of the sha3 hashes (Sha3, Keccak, Shake, TurboShake, CShake) except for the 12-round permutation in TurboShake.
The hashing structs and traits are now untouched so that the interface of the patched version is equivalent to the upstream version.

@gdmlcjs gdmlcjs requested a review from jonathanpwang April 18, 2026 01:55
@gdmlcjs gdmlcjs self-assigned this Apr 18, 2026
@gdmlcjs gdmlcjs force-pushed the chore/sha3-v0.10.8-patch branch from e10bc81 to f8daa2a Compare April 18, 2026 02:43
@gdmlcjs gdmlcjs marked this pull request as ready for review April 18, 2026 02:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant