diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-04-10 16:22:38 +0300 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-04-10 16:39:17 +0300 |
| commit | f74b8238b25d4b063f7e207e7e2816268fabb973 (patch) | |
| tree | 36ee7fd20c1f0294d88d37ac3d8f035c23dd737d /guests/sha3/src | |
| parent | 786ff15fb153a8164d116af128a9b6f6ffed2645 (diff) | |
| download | zkVMs-benchmarks-f74b8238b25d4b063f7e207e7e2816268fabb973.tar zkVMs-benchmarks-f74b8238b25d4b063f7e207e7e2816268fabb973.tar.gz zkVMs-benchmarks-f74b8238b25d4b063f7e207e7e2816268fabb973.zip | |
feat(guests): Add SHA3 program
Diffstat (limited to 'guests/sha3/src')
| -rw-r--r-- | guests/sha3/src/lib.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/guests/sha3/src/lib.rs b/guests/sha3/src/lib.rs new file mode 100644 index 0000000..10815f4 --- /dev/null +++ b/guests/sha3/src/lib.rs @@ -0,0 +1,19 @@ +#![cfg_attr(feature = "no_std", no_std)] + +#[cfg(feature = "no_std")] +extern crate alloc; +#[cfg(feature = "no_std")] +use alloc::vec::Vec; + +use sha3::{Digest, Keccak256}; + +#[guests_macro::proving_entrypoint] +pub fn main(secret: Vec<u8>, hash: Vec<u8>) -> bool { + let mut hasher = Keccak256::new(); + hasher.update(secret); + let result = hasher.finalize(); + + let output: [u8; 32] = result.into(); + + output.to_vec() == hash +} |
