use crate::nizk::DdhTupleNizk;
use fastcrypto::groups::GroupElement;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct PrivateKey<G: GroupElement>(pub(crate) G::ScalarType);
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct PublicKey<G: GroupElement>(pub(crate) G);
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct RecoveryPackage<G: GroupElement> {
pub(crate) ephemeral_key: G,
pub(crate) proof: DdhTupleNizk<G>,
}
pub const AES_KEY_LENGTH: usize = 32;