#aes-256 #drbg #ctr #drbg-ctx

aes_ctr_drbg

Implementation of CTR DRBG based on AES-256

2 releases

0.0.2 Apr 13, 2021
0.0.1 Apr 13, 2021

#2 in #ctr

Download history 29/week @ 2023-12-11 8/week @ 2023-12-25 14/week @ 2024-01-01 27/week @ 2024-01-15 38/week @ 2024-01-22 28/week @ 2024-01-29 29/week @ 2024-02-05 132/week @ 2024-02-12 12/week @ 2024-02-19 55/week @ 2024-02-26 105/week @ 2024-03-04 67/week @ 2024-03-11 53/week @ 2024-03-18 152/week @ 2024-03-25

382 downloads per month

MIT license

5KB
95 lines

AES-CTR-DRBG

DRBG implementation based on AES-256.

Usage:

use aes_ctr_drbg::DrbgCtx;

fn main() {


	// personalization string must be min. 48 bytes long
	let p = vec![48, 0];

	// get entropy from somewhere, f.e. /dev/random
	let entropy: [u8; 48] = [0x04; 48]; // don't use that!

	let mut drbg = DrbgCtx::new();
	drbg.init(&entropy, p);

	// get 10 bytes
	let mut out = Vec::new();
	out.resize(10, 0);
	drbg.get_random(&mut out);

    println!("{:?}", out);
}

Dependencies

~4MB
~50K SLoC