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}