@@ -60,11 +60,12 @@ where
60
60
fn prf_msg (
61
61
sk_prf : & SkPrf < Self :: N > ,
62
62
opt_rand : & Array < u8 , Self :: N > ,
63
- msg : impl AsRef < [ u8 ] > ,
63
+ msg : & [ impl AsRef < [ u8 ] > ] ,
64
64
) -> Array < u8 , Self :: N > {
65
65
let mut mac = Hmac :: < Sha256 > :: new_from_slice ( sk_prf. as_ref ( ) ) . unwrap ( ) ;
66
66
mac. update ( opt_rand. as_slice ( ) ) ;
67
- mac. update ( msg. as_ref ( ) ) ;
67
+ msg. iter ( )
68
+ . for_each ( |msg_part| mac. update ( msg_part. as_ref ( ) ) ) ;
68
69
let result = mac. finalize ( ) . into_bytes ( ) ;
69
70
Array :: clone_from_slice ( & result[ ..Self :: N :: USIZE ] )
70
71
}
@@ -73,13 +74,13 @@ where
73
74
rand : & Array < u8 , Self :: N > ,
74
75
pk_seed : & PkSeed < Self :: N > ,
75
76
pk_root : & Array < u8 , Self :: N > ,
76
- msg : impl AsRef < [ u8 ] > ,
77
+ msg : & [ impl AsRef < [ u8 ] > ] ,
77
78
) -> Array < u8 , Self :: M > {
78
79
let mut h = Sha256 :: new ( ) ;
79
80
h. update ( rand) ;
80
81
h. update ( pk_seed) ;
81
82
h. update ( pk_root) ;
82
- h. update ( msg . as_ref ( ) ) ;
83
+ msg . iter ( ) . for_each ( |msg_part| h. update ( msg_part . as_ref ( ) ) ) ;
83
84
let result = Array ( h. finalize ( ) . into ( ) ) ;
84
85
let seed = rand. clone ( ) . concat ( pk_seed. 0 . clone ( ) ) . concat ( result) ;
85
86
mgf1 :: < Sha256 , Self :: M > ( & seed)
@@ -220,11 +221,12 @@ where
220
221
fn prf_msg (
221
222
sk_prf : & SkPrf < Self :: N > ,
222
223
opt_rand : & Array < u8 , Self :: N > ,
223
- msg : impl AsRef < [ u8 ] > ,
224
+ msg : & [ impl AsRef < [ u8 ] > ] ,
224
225
) -> Array < u8 , Self :: N > {
225
226
let mut mac = Hmac :: < Sha512 > :: new_from_slice ( sk_prf. as_ref ( ) ) . unwrap ( ) ;
226
227
mac. update ( opt_rand. as_slice ( ) ) ;
227
- mac. update ( msg. as_ref ( ) ) ;
228
+ msg. iter ( )
229
+ . for_each ( |msg_part| mac. update ( msg_part. as_ref ( ) ) ) ;
228
230
let result = mac. finalize ( ) . into_bytes ( ) ;
229
231
Array :: clone_from_slice ( & result[ ..Self :: N :: USIZE ] )
230
232
}
@@ -233,13 +235,13 @@ where
233
235
rand : & Array < u8 , Self :: N > ,
234
236
pk_seed : & PkSeed < Self :: N > ,
235
237
pk_root : & Array < u8 , Self :: N > ,
236
- msg : impl AsRef < [ u8 ] > ,
238
+ msg : & [ impl AsRef < [ u8 ] > ] ,
237
239
) -> Array < u8 , Self :: M > {
238
240
let mut h = Sha512 :: new ( ) ;
239
241
h. update ( rand) ;
240
242
h. update ( pk_seed) ;
241
243
h. update ( pk_root) ;
242
- h. update ( msg . as_ref ( ) ) ;
244
+ msg . iter ( ) . for_each ( |msg_part| h. update ( msg_part . as_ref ( ) ) ) ;
243
245
let result = Array ( h. finalize ( ) . into ( ) ) ;
244
246
let seed = rand. clone ( ) . concat ( pk_seed. 0 . clone ( ) ) . concat ( result) ;
245
247
mgf1 :: < Sha512 , Self :: M > ( & seed)
0 commit comments