Skip to content

Commit fb5b3bb

Browse files
committed
Add back test_chacha_set_counter
1 parent c17f7f1 commit fb5b3bb

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/prng/chacha.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,25 @@ mod test {
382382
assert_eq!(results, expected);
383383
}
384384

385+
#[test]
386+
fn test_chacha_set_counter() {
387+
// Test vector 5 from
388+
// https://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305-04
389+
// Although we do not support setting a nonce, we try it here anyway so
390+
// we can use this test vector.
391+
let seed = [0u8; 32];
392+
let mut rng: ChaChaRng = SeedableRng::from_seed(seed);
393+
rng.set_counter(0, 2u64 << 56);
394+
395+
let mut results = [0u32; 16];
396+
for i in results.iter_mut() { *i = rng.next_u32(); }
397+
let expected = [0x374dc6c2, 0x3736d58c, 0xb904e24a, 0xcd3f93ef,
398+
0x88228b1a, 0x96a4dfb3, 0x5b76ab72, 0xc727ee54,
399+
0x0e0e978a, 0xf3145c95, 0x1b748ea8, 0xf786c297,
400+
0x99c28f5f, 0x628314e8, 0x398a19fa, 0x6ded1b53];
401+
assert_eq!(results, expected);
402+
}
403+
385404
#[test]
386405
fn test_chacha_set_rounds() {
387406
let seed = [0u8; 32];

0 commit comments

Comments
 (0)