8
8
9
9
extern crate alloc;
10
10
11
- use alloc:: borrow:: ToOwned ;
12
11
use alloc:: collections:: BTreeMap ;
13
12
14
13
use frost_rerandomized:: RandomizedCiphersuite ;
@@ -159,9 +158,9 @@ fn hash_to_array(inputs: &[&[u8]]) -> [u8; 32] {
159
158
output
160
159
}
161
160
162
- fn hash_to_scalar ( domain : & [ u8 ] , msg : & [ u8 ] ) -> Scalar {
161
+ fn hash_to_scalar ( domain : & [ & [ u8 ] ] , msg : & [ u8 ] ) -> Scalar {
163
162
let mut u = [ Secp256K1ScalarField :: zero ( ) ] ;
164
- hash_to_field :: < ExpandMsgXmd < Sha256 > , Scalar > ( & [ msg] , & [ domain] , & mut u)
163
+ hash_to_field :: < ExpandMsgXmd < Sha256 > , Scalar > ( & [ msg] , domain, & mut u)
165
164
. expect ( "should never return error according to error cases described in ExpandMsgXmd" ) ;
166
165
u[ 0 ]
167
166
}
@@ -188,21 +187,21 @@ impl Ciphersuite for Secp256K1Sha256 {
188
187
///
189
188
/// [spec]: https://datatracker.ietf.org/doc/html/rfc9591#section-6.5-2.4.2.2
190
189
fn H1 ( m : & [ u8 ] ) -> <<Self :: Group as Group >:: Field as Field >:: Scalar {
191
- hash_to_scalar ( ( CONTEXT_STRING . to_owned ( ) + "rho" ) . as_bytes ( ) , m)
190
+ hash_to_scalar ( & [ CONTEXT_STRING . as_bytes ( ) , b "rho"] , m)
192
191
}
193
192
194
193
/// H2 for FROST(secp256k1, SHA-256)
195
194
///
196
195
/// [spec]: https://datatracker.ietf.org/doc/html/rfc9591#section-6.5-2.4.2.4
197
196
fn H2 ( m : & [ u8 ] ) -> <<Self :: Group as Group >:: Field as Field >:: Scalar {
198
- hash_to_scalar ( ( CONTEXT_STRING . to_owned ( ) + "chal" ) . as_bytes ( ) , m)
197
+ hash_to_scalar ( & [ CONTEXT_STRING . as_bytes ( ) , b "chal"] , m)
199
198
}
200
199
201
200
/// H3 for FROST(secp256k1, SHA-256)
202
201
///
203
202
/// [spec]: https://datatracker.ietf.org/doc/html/rfc9591#section-6.5-2.4.2.6
204
203
fn H3 ( m : & [ u8 ] ) -> <<Self :: Group as Group >:: Field as Field >:: Scalar {
205
- hash_to_scalar ( ( CONTEXT_STRING . to_owned ( ) + "nonce" ) . as_bytes ( ) , m)
204
+ hash_to_scalar ( & [ CONTEXT_STRING . as_bytes ( ) , b "nonce"] , m)
206
205
}
207
206
208
207
/// H4 for FROST(secp256k1, SHA-256)
@@ -221,25 +220,19 @@ impl Ciphersuite for Secp256K1Sha256 {
221
220
222
221
/// HDKG for FROST(secp256k1, SHA-256)
223
222
fn HDKG ( m : & [ u8 ] ) -> Option < <<Self :: Group as Group >:: Field as Field >:: Scalar > {
224
- Some ( hash_to_scalar (
225
- ( CONTEXT_STRING . to_owned ( ) + "dkg" ) . as_bytes ( ) ,
226
- m,
227
- ) )
223
+ Some ( hash_to_scalar ( & [ CONTEXT_STRING . as_bytes ( ) , b"dkg" ] , m) )
228
224
}
229
225
230
226
/// HID for FROST(secp256k1, SHA-256)
231
227
fn HID ( m : & [ u8 ] ) -> Option < <<Self :: Group as Group >:: Field as Field >:: Scalar > {
232
- Some ( hash_to_scalar (
233
- ( CONTEXT_STRING . to_owned ( ) + "id" ) . as_bytes ( ) ,
234
- m,
235
- ) )
228
+ Some ( hash_to_scalar ( & [ CONTEXT_STRING . as_bytes ( ) , b"id" ] , m) )
236
229
}
237
230
}
238
231
239
232
impl RandomizedCiphersuite for Secp256K1Sha256 {
240
233
fn hash_randomizer ( m : & [ u8 ] ) -> Option < <<Self :: Group as Group >:: Field as Field >:: Scalar > {
241
234
Some ( hash_to_scalar (
242
- ( CONTEXT_STRING . to_owned ( ) + "randomizer" ) . as_bytes ( ) ,
235
+ & [ CONTEXT_STRING . as_bytes ( ) , b "randomizer"] ,
243
236
m,
244
237
) )
245
238
}
0 commit comments