z4_types/key.rs
1use ark_ec::PrimeGroup;
2use ark_ed_on_bn254::{EdwardsAffine, EdwardsProjective, Fr};
3use ark_std::{
4 rand::{CryptoRng, RngCore},
5 UniformRand,
6};
7
8/// Type PublicKey
9pub type PublicKey = EdwardsAffine;
10
11/// Type SecretKey
12pub type SecretKey = Fr;
13
14/// Generate engine used keypair for player
15pub fn generate_keypair<R: CryptoRng + RngCore>(prng: &mut R) -> (SecretKey, PublicKey) {
16 let sk = Fr::rand(prng);
17 let pk = EdwardsProjective::generator() * sk;
18 (sk, EdwardsAffine::from(pk))
19}
20
21/// Sign for zk-friendly
22pub fn sign() {
23 //
24}
25
26/// Verify for zk-friendly
27pub fn verify() {
28 //
29}