@@ -80,10 +80,24 @@ impl Group for Ristretto255 {
8080 ) )
8181 }
8282
83- fn deserialize_scalar ( scalar_bits : & GenericArray < u8 , Self :: ScalarLen > ) -> Result < Self :: Scalar > {
84- Scalar :: from_canonical_bytes ( ( * scalar_bits) . into ( ) )
85- . filter ( |scalar| scalar != & Scalar :: zero ( ) )
86- . ok_or ( Error :: ScalarError )
83+ fn base_elem ( ) -> Self :: Elem {
84+ RISTRETTO_BASEPOINT_POINT
85+ }
86+
87+ fn identity_elem ( ) -> Self :: Elem {
88+ RistrettoPoint :: identity ( )
89+ }
90+
91+ // serialization of a group element
92+ fn serialize_elem ( elem : Self :: Elem ) -> GenericArray < u8 , Self :: ElemLen > {
93+ elem. compress ( ) . to_bytes ( ) . into ( )
94+ }
95+
96+ fn deserialize_elem ( element_bits : & GenericArray < u8 , Self :: ElemLen > ) -> Result < Self :: Elem > {
97+ CompressedRistretto :: from_slice ( element_bits)
98+ . decompress ( )
99+ . filter ( |point| point != & RistrettoPoint :: identity ( ) )
100+ . ok_or ( Error :: PointError )
87101 }
88102
89103 fn random_scalar < R : RngCore + CryptoRng > ( rng : & mut R ) -> Self :: Scalar {
@@ -100,36 +114,22 @@ impl Group for Ristretto255 {
100114 }
101115 }
102116
103- fn serialize_scalar ( scalar : Self :: Scalar ) -> GenericArray < u8 , Self :: ScalarLen > {
104- scalar. to_bytes ( ) . into ( )
105- }
106-
107117 fn invert_scalar ( scalar : Self :: Scalar ) -> Self :: Scalar {
108118 scalar. invert ( )
109119 }
110120
111- fn deserialize_elem ( element_bits : & GenericArray < u8 , Self :: ElemLen > ) -> Result < Self :: Elem > {
112- CompressedRistretto :: from_slice ( element_bits)
113- . decompress ( )
114- . filter ( |point| point != & RistrettoPoint :: identity ( ) )
115- . ok_or ( Error :: PointError )
116- }
117-
118- // serialization of a group element
119- fn serialize_elem ( elem : Self :: Elem ) -> GenericArray < u8 , Self :: ElemLen > {
120- elem. compress ( ) . to_bytes ( ) . into ( )
121- }
122-
123- fn base_elem ( ) -> Self :: Elem {
124- RISTRETTO_BASEPOINT_POINT
121+ #[ cfg( test) ]
122+ fn zero_scalar ( ) -> Self :: Scalar {
123+ Scalar :: zero ( )
125124 }
126125
127- fn identity_elem ( ) -> Self :: Elem {
128- RistrettoPoint :: identity ( )
126+ fn serialize_scalar ( scalar : Self :: Scalar ) -> GenericArray < u8 , Self :: ScalarLen > {
127+ scalar . to_bytes ( ) . into ( )
129128 }
130129
131- #[ cfg( test) ]
132- fn zero_scalar ( ) -> Self :: Scalar {
133- Scalar :: zero ( )
130+ fn deserialize_scalar ( scalar_bits : & GenericArray < u8 , Self :: ScalarLen > ) -> Result < Self :: Scalar > {
131+ Scalar :: from_canonical_bytes ( ( * scalar_bits) . into ( ) )
132+ . filter ( |scalar| scalar != & Scalar :: zero ( ) )
133+ . ok_or ( Error :: ScalarError )
134134 }
135135}
0 commit comments