From c3c4d66ea88be7634f29167a61f9a993898e08f5 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Sun, 4 Oct 2026 17:31:11 +0000 Subject: [PATCH] README --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a416544..fa5dc46 100644 --- a/README.md +++ b/README.md @@ -123,12 +123,12 @@ Constants (per module): NAME, KEYBYTES, NONCEBYTES, MACBYTES, MACBYTES_LONG, RAT - nonce_increment(nonce) - wipe(buffer) -### CSPRNG (aeg.random) +### Random Generator (CSPRNG) -Seeded once from the OS, then a deterministic AEGIS keystream: each call increments the nonce, so no output block ever repeats. random_key() and random_nonce() draw from it. +Seeded once from the OS with random key and nonce, then a cryptographically secure AEGIS keystream: each call increments the nonce, so no output block ever repeats. `random_key()` and `random_nonce()` draw from it. The into variant can directly fill Numpy integer arrays and other structures that support Buffer API, making it far faster than any alternatives (e.g. Numpy's own random module). -- ciph.random() -> per-thread aeg.random.Random singleton for the cipher module -- rng.bytes(n) -> bytearray, rng.into(buf), rng(n) +- random().bytes(n) -> bytearray +- random().into(buffer) -> None ### Random-access encrypted files (aeg.raf)