rbx-cryptography

Sizes

Every key, nonce, tag, digest, signature and ciphertext size, in bytes.

Look up how big something is.

Digests

HashBytes
MD516
SHA-120
SHA-224, SHA3-22428
SHA-256, SHA3-256, BLAKE332
SHA-384, SHA3-38448
SHA-512, SHA3-512, BLAKE2b64
SHAKE128, SHAKE256Any

BLAKE3 can give any length, and BLAKE2b any length from 1 to 64.

Encryption

KeyNonceTag
ChaCha20-Poly1305321216
XChaCha20-Poly1305322416
AES-GCM16, 24 or 32Any but 0, 12 recommended16
ChaCha20 on its own16 or 3212
XChaCha20 on its own16 or 3224

The ciphertext is always the same length as the message.

Keys and MACs

Bytes
Keyed BLAKE3 key32
BLAKE2b key1 to 64
Poly1305 key32
HMAC, KMAC and HKDF keysAny

Ed25519 and X25519

Bytes
Secret key32
Public key32
Ed25519 signature64
X25519 shared secret32

ML-KEM

LevelPublic keySecret keyCiphertextShared secret
ML-KEM-5128001,63276832
ML-KEM-7681,1842,4001,08832
ML-KEM-10241,5683,1681,56832

KeyGen takes two 32 byte seeds, and Encapsulate takes a 32 byte message.

ML-DSA

LevelPublic keySecret keySignature
ML-DSA-441,3122,5602,420
ML-DSA-651,9524,0323,309
ML-DSA-872,5924,8964,627

The key seed and the signing randomness are 32 bytes each, and a context is up to 255.

Encoding

Size
Base644 characters for every 3 bytes, rounded up.
Hex2 characters for every byte.

On this page