@@ -36,10 +36,9 @@ pub trait GroupDigest: MapToCurve {
3636 where
3737 X : ExpandMsg < Self :: K > ,
3838 {
39- let mut u = [ Self :: FieldElement :: default ( ) , Self :: FieldElement :: default ( ) ] ;
40- hash_to_field :: < X , _ , _ > ( msg, dst, & mut u) ?;
41- let q0 = Self :: map_to_curve ( u[ 0 ] ) ;
42- let q1 = Self :: map_to_curve ( u[ 1 ] ) ;
39+ let [ u0, u1] = hash_to_field :: < 2 , X , _ , Self :: FieldElement > ( msg, dst) ?;
40+ let q0 = Self :: map_to_curve ( u0) ;
41+ let q1 = Self :: map_to_curve ( u1) ;
4342 Ok ( Self :: add_and_map_to_subgroup ( q0, q1) )
4443 }
4544
@@ -67,9 +66,8 @@ pub trait GroupDigest: MapToCurve {
6766 where
6867 X : ExpandMsg < Self :: K > ,
6968 {
70- let mut u = [ Self :: FieldElement :: default ( ) ] ;
71- hash_to_field :: < X , _ , _ > ( msg, dst, & mut u) ?;
72- let q0 = Self :: map_to_curve ( u[ 0 ] ) ;
69+ let [ u] = hash_to_field :: < 1 , X , _ , Self :: FieldElement > ( msg, dst) ?;
70+ let q0 = Self :: map_to_curve ( u) ;
7371 Ok ( Self :: map_to_subgroup ( q0) )
7472 }
7573
@@ -91,8 +89,7 @@ pub trait GroupDigest: MapToCurve {
9189 where
9290 X : ExpandMsg < Self :: K > ,
9391 {
94- let mut u = [ Self :: Scalar :: default ( ) ] ;
95- hash_to_field :: < X , _ , _ > ( msg, dst, & mut u) ?;
96- Ok ( u[ 0 ] )
92+ let [ u] = hash_to_field :: < 1 , X , _ , Self :: Scalar > ( msg, dst) ?;
93+ Ok ( u)
9794 }
9895}
0 commit comments