last few fixes

This commit is contained in:
Moudy 2025-08-13 09:05:55 +02:00
parent 45655fada2
commit ce11fbe892
3 changed files with 38 additions and 0 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -2,4 +2,5 @@
resolver = "2"
members = [
"chacha20-demo",
"shake256-demo",
]

37
chacha20-demo/src/lib.rs Normal file
View File

@ -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<u8>)> {
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<u8> = receipt.journal.bytes.clone(); // if this errors, use .to_vec()
Ok((receipt, ciphertext))
}