From ce11fbe89297a922759b134636b9adf56628c359 Mon Sep 17 00:00:00 2001 From: Moudy Date: Wed, 13 Aug 2025 09:05:55 +0200 Subject: [PATCH] last few fixes --- .DS_Store | Bin 10244 -> 10244 bytes Cargo.toml | 1 + chacha20-demo/src/lib.rs | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 chacha20-demo/src/lib.rs diff --git a/.DS_Store b/.DS_Store index f1256a7dd1eb2b377a149d987300318bb31e495b..39f198e590df9e9129dfbb786cba538e2da93834 100644 GIT binary patch delta 229 zcmZn(XbG6$&uFnRU^hRb#bzFX9gOVehL$=C7Ur8z3w~r4ZKFL(ya_!7i9NlTQme@}n6tSz1VP^Bz$)&dux!TUlvq2{R)A Dy_q=< delta 51 zcmZn(XbG6$&uF?aU^hRb>1G~*9gOTIX2v=S<`$bz3w~tY%qY&rxv{{NaWlKZR#qU- Gg9!kj?++6I diff --git a/Cargo.toml b/Cargo.toml index f41b7e2..b619517 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,4 +2,5 @@ resolver = "2" members = [ "chacha20-demo", + "shake256-demo", ] diff --git a/chacha20-demo/src/lib.rs b/chacha20-demo/src/lib.rs new file mode 100644 index 0000000..d2461e1 --- /dev/null +++ b/chacha20-demo/src/lib.rs @@ -0,0 +1,37 @@ +#[cfg(not(rust_analyzer))] +mod generated { + include!(concat!(env!("OUT_DIR"), "/methods.rs")); +} +#[cfg(not(rust_analyzer))] +pub use generated::{GUEST_ELF, GUEST_ID}; + + +#[cfg(rust_analyzer)] +pub const GUEST_ELF: &[u8] = &[]; +#[cfg(rust_analyzer)] +pub const GUEST_ID: [u32; 8] = [0; 8]; + +use anyhow::Result; +use risc0_zkvm::{default_prover, ExecutorEnv, Receipt}; + + +pub fn prove_encrypt( + key: [u8; 32], + nonce: [u8; 12], + plaintext: &[u8], +) -> Result<(Receipt, Vec)> { + let env = ExecutorEnv::builder() + .write(&key)? + .write(&nonce)? + .write(&plaintext.to_vec())? + .build()?; + + let prover = default_prover(); + let prove_info = prover.prove(env, GUEST_ELF)?; + let receipt = prove_info.receipt; + receipt.verify(GUEST_ID)?; + + let ciphertext: Vec = receipt.journal.bytes.clone(); // if this errors, use .to_vec() + + Ok((receipt, ciphertext)) +}