@@ -6,6 +6,8 @@ use group::{Group, GroupEncoding};
66use sigma_rs:: {
77 codec:: { ByteSchnorrCodec , KeccakDuplexSponge } ,
88 GroupMorphismPreimage ,
9+ ScalarVar ,
10+ PointVar ,
911 NISigmaProtocol
1012} ;
1113
@@ -38,8 +40,8 @@ fn discrete_logarithm<G: SRandom + Group + GroupEncoding>(
3840) -> ( Preimage < G > , Vec < G :: Scalar > ) {
3941 let mut morphismp: Preimage < G > = Preimage :: new ( ) ;
4042
41- let var_x: usize = 0 ;
42- let ( var_G, var_X) : ( usize , usize ) = ( 0 , 1 ) ;
43+ let var_x= ScalarVar ( 0 ) ;
44+ let ( var_G, var_X) = ( PointVar ( 0 ) , PointVar ( 1 ) ) ;
4345 morphismp. allocate_scalars ( 1 ) ;
4446 morphismp. allocate_elements ( 2 ) ;
4547 morphismp. append_equation ( var_X, & [ ( var_x, var_G) ] ) ;
@@ -67,8 +69,8 @@ fn dleq<G: Group + GroupEncoding + SRandom>(
6769 let X = G * x;
6870 let Y = H * x;
6971
70- let var_x: usize = 0 ;
71- let ( var_G, var_H, var_X, var_Y) = ( 0 , 1 , 2 , 3 ) ;
72+ let var_x = ScalarVar ( 0 ) ;
73+ let ( var_G, var_H, var_X, var_Y) = ( PointVar ( 0 ) , PointVar ( 1 ) , PointVar ( 2 ) , PointVar ( 3 ) ) ;
7274 morphismp. allocate_scalars ( 1 ) ;
7375 morphismp. allocate_elements ( 4 ) ;
7476 morphismp. set_elements ( & [ ( var_G, G ) , ( var_H, H ) , ( var_X, X ) , ( var_Y, Y ) ] ) ;
@@ -94,8 +96,8 @@ fn pedersen_commitment<G: Group + GroupEncoding + SRandom>(
9496
9597 let C = G * x + H * r;
9698
97- let ( var_x, var_r) = ( 0 , 1 ) ;
98- let ( var_G, var_H, var_C) = ( 0 , 1 , 2 ) ;
99+ let ( var_x, var_r) = ( ScalarVar ( 0 ) , ScalarVar ( 1 ) ) ;
100+ let ( var_G, var_H, var_C) = ( PointVar ( 0 ) , PointVar ( 1 ) , PointVar ( 2 ) ) ;
99101 morphismp. allocate_scalars ( 2 ) ;
100102 morphismp. allocate_elements ( 3 ) ;
101103 morphismp. set_elements ( & [ ( var_H, H ) , ( var_G, G ) , ( var_C, C ) ] ) ;
@@ -125,9 +127,9 @@ fn pedersen_commitment_dleq<G: Group + GroupEncoding + SRandom>(
125127 let X = msm_pr :: < G > ( & witness, & [ generators[ 0 ] , generators[ 1 ] ] ) ;
126128 let Y = msm_pr :: < G > ( & witness, & [ generators[ 2 ] , generators[ 3 ] ] ) ;
127129
128- let ( var_x, var_r) = ( 0 , 1 ) ;
129- let var_Gs = ( 0 , 1 , 2 , 3 ) ;
130- let ( var_X, var_Y) = ( 4 , 5 ) ;
130+ let ( var_x, var_r) = ( ScalarVar ( 0 ) , ScalarVar ( 1 ) ) ;
131+ let var_Gs = ( PointVar ( 0 ) , PointVar ( 1 ) , PointVar ( 2 ) , PointVar ( 3 ) ) ;
132+ let ( var_X, var_Y) = ( PointVar ( 4 ) , PointVar ( 5 ) ) ;
131133 morphismp. allocate_scalars ( 2 ) ;
132134 morphismp. allocate_elements ( 4 ) ;
133135 morphismp. allocate_elements ( 2 ) ;
@@ -161,9 +163,9 @@ fn bbs_blind_commitment_computation<G: Group + GroupEncoding + SRandom>(
161163 let C = Q_2 * secret_prover_blind + J_1 * msg_1 + J_2 * msg_2 + J_3 * msg_3;
162164
163165 // This is the part that needs to be changed in the specification of blind bbs.
164- let ( var_secret_prover_blind, var_msg_1, var_msg_2, var_msg_3) = ( 0 , 1 , 2 , 3 ) ;
165- let ( var_Q_2, var_J_1, var_J_2, var_J_3) = ( 0 , 1 , 2 , 3 ) ;
166- let var_C = M + 1 ;
166+ let ( var_secret_prover_blind, var_msg_1, var_msg_2, var_msg_3) = ( ScalarVar ( 0 ) , ScalarVar ( 1 ) , ScalarVar ( 2 ) , ScalarVar ( 3 ) ) ;
167+ let ( var_Q_2, var_J_1, var_J_2, var_J_3) = ( PointVar ( 0 ) , PointVar ( 1 ) , PointVar ( 2 ) , PointVar ( 3 ) ) ;
168+ let var_C = PointVar ( M + 1 ) ;
167169
168170 morphismp. allocate_scalars ( M +1 ) ;
169171 morphismp. allocate_elements ( M +1 ) ;
0 commit comments