#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 #drbg

Download history 50/week @ 2024-11-16 65/week @ 2024-11-23 82/week @ 2024-11-30 99/week @ 2024-12-07 10/week @ 2024-12-14 1/week @ 2024-12-28 14/week @ 2025-01-04 44/week @ 2025-01-11 55/week @ 2025-01-18 69/week @ 2025-01-25 107/week @ 2025-02-01 59/week @ 2025-02-08 83/week @ 2025-02-15 79/week @ 2025-02-22 88/week @ 2025-03-01

330 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
~53K SLoC