aboutsummaryrefslogtreecommitdiff
path: root/guests/sha3/src
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-04-10 16:22:38 +0300
committerKamen Mladenov <kamen@syndamia.com>2025-04-10 16:39:17 +0300
commitf74b8238b25d4b063f7e207e7e2816268fabb973 (patch)
tree36ee7fd20c1f0294d88d37ac3d8f035c23dd737d /guests/sha3/src
parent786ff15fb153a8164d116af128a9b6f6ffed2645 (diff)
downloadzkVMs-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.rs19
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
+}