@@ -48,15 +48,15 @@ pub mod interactive_prover {
4848 use crate :: sigma_protocol:: { private_input:: DlogProverInput , Challenge } ;
4949 use blake2:: Blake2b ;
5050 use blake2:: Digest ;
51- use elliptic_curve :: ops :: MulByGenerator ;
51+ use ergo_chain_types :: ec_point :: exponentiate_gen ;
5252 use ergo_chain_types:: {
53- ec_point:: { exponentiate, generator , inverse} ,
53+ ec_point:: { exponentiate, inverse} ,
5454 EcPoint ,
5555 } ;
5656 use ergotree_ir:: serialization:: SigmaSerializable ;
5757 use ergotree_ir:: sigma_protocol:: sigma_boolean:: ProveDlog ;
5858 use k256:: elliptic_curve:: ops:: Reduce ;
59- use k256:: { ProjectivePoint , Scalar } ;
59+ use k256:: Scalar ;
6060
6161 /// Step 5 from <https://ergoplatform.org/docs/ErgoScript.pdf>
6262 /// For every leaf marked “simulated”, use the simulator of the sigma protocol for that leaf
@@ -77,7 +77,7 @@ pub mod interactive_prover {
7777 let e: Scalar = challenge. clone ( ) . into ( ) ;
7878 let minus_e = e. negate ( ) ;
7979 let h_to_e = exponentiate ( & public_input. h , & minus_e) ;
80- let g_to_z = exponentiate ( & generator ( ) , & z) ;
80+ let g_to_z = exponentiate_gen ( & z) ;
8181 let a = g_to_z * & h_to_e;
8282 (
8383 FirstDlogProverMessage { a : a. into ( ) } ,
@@ -91,11 +91,10 @@ pub mod interactive_prover {
9191 #[ cfg( feature = "std" ) ]
9292 pub fn first_message ( ) -> ( Wscalar , FirstDlogProverMessage ) {
9393 use ergotree_ir:: sigma_protocol:: dlog_group;
94- let r = dlog_group:: random_scalar_in_group_range (
95- crate :: sigma_protocol:: crypto_utils:: secure_rng ( ) ,
96- ) ;
97- let g = generator ( ) ;
98- let a = exponentiate ( & g, & r) ;
94+
95+ use crate :: sigma_protocol:: crypto_utils;
96+ let r = dlog_group:: random_scalar_in_group_range ( crypto_utils:: secure_rng ( ) ) ;
97+ let a = exponentiate_gen ( & r) ;
9998 ( r. into ( ) , FirstDlogProverMessage { a : a. into ( ) } )
10099 }
101100
@@ -137,7 +136,7 @@ pub mod interactive_prover {
137136 (
138137 r. into ( ) ,
139138 FirstDlogProverMessage {
140- a : Box :: new ( ProjectivePoint :: mul_by_generator ( & r) . into ( ) ) ,
139+ a : Box :: new ( exponentiate_gen ( & r) ) ,
141140 } ,
142141 )
143142 }
@@ -169,10 +168,9 @@ pub mod interactive_prover {
169168 challenge : & Challenge ,
170169 second_message : & SecondDlogProverMessage ,
171170 ) -> EcPoint {
172- let g = generator ( ) ;
173171 let h = * proposition. h . clone ( ) ;
174172 let e: Scalar = challenge. clone ( ) . into ( ) ;
175- let g_z = exponentiate ( & g , second_message. z . as_scalar_ref ( ) ) ;
173+ let g_z = exponentiate_gen ( second_message. z . as_scalar_ref ( ) ) ;
176174 let h_e = exponentiate ( & h, & e) ;
177175 g_z * & inverse ( & h_e)
178176 }
0 commit comments