#[macro_use] extern crate nom; extern crate nalgebra as na; extern crate pairing; extern crate rand; use std::collections::HashMap; use pairing::{CurveProjective, Engine, Field, PrimeField}; use rand::{Rng, Rand}; pub mod msp; pub struct Mk { alpha: E::Fr, w: E::Fr, } pub struct Pk { alpha_t: E::Fqk, w_1: E::G1, } impl Mk { fn new(mut rng: &mut Rng, n: u32) -> Self { Mk { alpha: E::Fr::rand(&mut rng), w: E::Fr::rand(&mut rng), } } }