init: ecdsa r1 & k1 with sha256 check

This commit is contained in:
0xvikasrushi
2024-10-29 00:29:31 +07:00
parent 61592f1db2
commit 1337c89239
3 changed files with 38 additions and 0 deletions

7
noir/Nargo.toml Normal file
View File

@@ -0,0 +1,7 @@
[package]
name = "noir"
type = "bin"
authors = [""]
compiler_version = ">=0.36.0"
[dependencies]

1
noir/README.md Normal file
View File

@@ -0,0 +1 @@
# Openpassport Noir Circuits

30
noir/src/main.nr Normal file
View File

@@ -0,0 +1,30 @@
use std::hash::sha256::sha256_var;
fn ecdsa_secp256r1_sha256(
message: [u8; 32],
pub_key_x: [u8; 32],
pub_key_y: [u8; 32],
signature: [u8; 64],
msg_size: u64,
) {
let hashed_message = sha256_var(message, msg_size);
std::println(hashed_message);
let valid_signature =
std::ecdsa_secp256r1::verify_signature(pub_key_x, pub_key_y, signature, hashed_message);
assert(valid_signature);
}
fn ecdsa_secp256k1_sha256(
message: [u8; 32],
pub_key_x: [u8; 32],
pub_key_y: [u8; 32],
signature: [u8; 64],
msg_size: u64,
) {
let hashed_message = sha256_var(message, msg_size);
std::println(hashed_message);
let valid_signature =
std::ecdsa_secp256k1::verify_signature(pub_key_x, pub_key_y, signature, hashed_message);
assert(valid_signature);
}