pub trait SignatureParams: ParameterSet {
type W1Size: ArraySize;
type ZSize: ArraySize;
type HintSize: ArraySize;
type SignatureSize: ArraySize;
const GAMMA1_MINUS_BETA: u32;
const GAMMA2_MINUS_BETA: u32;
// Required methods
fn split_hint(
y: &Array<u8, <Self as SignatureParams>::HintSize>,
) -> (&Array<u8, <Self as ParameterSet>::Omega>, &Array<u8, <Self as ParameterSet>::K>);
fn encode_w1(
t1: &Vector<BaseField, Self::K>,
) -> Array<u8, <Self as SignatureParams>::W1Size>;
fn decode_w1(
enc: &Array<u8, <Self as SignatureParams>::W1Size>,
) -> Vector<BaseField, Self::K>;
fn encode_z(
z: &Vector<BaseField, Self::L>,
) -> Array<u8, <Self as SignatureParams>::ZSize>;
fn decode_z(
enc: &Array<u8, <Self as SignatureParams>::ZSize>,
) -> Vector<BaseField, Self::L>;
fn concat_sig(
c_tilde: Array<u8, <Self as ParameterSet>::Lambda>,
z: Array<u8, <Self as SignatureParams>::ZSize>,
h: Array<u8, <Self as SignatureParams>::HintSize>,
) -> EncodedSignature<Self>;
fn split_sig(
enc: &EncodedSignature<Self>,
) -> (&Array<u8, <Self as ParameterSet>::Lambda>, &Array<u8, <Self as SignatureParams>::ZSize>, &Array<u8, <Self as SignatureParams>::HintSize>);
}Required Associated Constants§
const GAMMA1_MINUS_BETA: u32
const GAMMA2_MINUS_BETA: u32
Required Associated Types§
type W1Size: ArraySize
type ZSize: ArraySize
type HintSize: ArraySize
type SignatureSize: ArraySize
Required Methods§
fn split_hint( y: &Array<u8, <Self as SignatureParams>::HintSize>, ) -> (&Array<u8, <Self as ParameterSet>::Omega>, &Array<u8, <Self as ParameterSet>::K>)
fn encode_w1( t1: &Vector<BaseField, Self::K>, ) -> Array<u8, <Self as SignatureParams>::W1Size>
fn decode_w1( enc: &Array<u8, <Self as SignatureParams>::W1Size>, ) -> Vector<BaseField, Self::K>
fn encode_z( z: &Vector<BaseField, Self::L>, ) -> Array<u8, <Self as SignatureParams>::ZSize>
fn decode_z( enc: &Array<u8, <Self as SignatureParams>::ZSize>, ) -> Vector<BaseField, Self::L>
fn concat_sig( c_tilde: Array<u8, <Self as ParameterSet>::Lambda>, z: Array<u8, <Self as SignatureParams>::ZSize>, h: Array<u8, <Self as SignatureParams>::HintSize>, ) -> EncodedSignature<Self>
fn split_sig( enc: &EncodedSignature<Self>, ) -> (&Array<u8, <Self as ParameterSet>::Lambda>, &Array<u8, <Self as SignatureParams>::ZSize>, &Array<u8, <Self as SignatureParams>::HintSize>)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.