upstream: https://github.com/mirage/mirage-crypto
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

[ci skip] update README and opam description

+16 -10
+14 -8
README.md
··· 3 3 %%VERSION%% 4 4 5 5 mirage-crypto is a small cryptographic library that puts emphasis on the 6 - applicative style and ease of use. It includes basic ciphers (AES, 3DES, RC4), 7 - hashes (MD5, SHA1, SHA2 family), AEAD primitives (AES-GCM, AES-CCM), public-key 8 - primitives (RSA, DSA, DH) and a strong RNG (Fortuna). 6 + applicative style and ease of use. It includes basic ciphers (AES, 3DES, RC4, 7 + ChaCha20/Poly1305), hashes (MD5, SHA1, SHA2 family), AEAD primitives (AES-GCM, 8 + AES-CCM), public-key primitives (RSA, DSA, DH) and a strong RNG (Fortuna). 9 9 10 10 RSA timing attacks are countered by blinding. AES timing attacks are avoided by 11 11 delegating to AES-NI. ··· 16 16 facilitate changes (e.g. build system) required by Mirage that the upstream 17 17 didn't have time to keep up with. 18 18 19 - Mirage-crypto-entropy embeds the former mirage-entropy opam package, which 20 - implements various entropy sources for MirageOS unikernels: 21 - - timer based ones (see [whirlwind RNG paper](https://www.ieee-security.org/TC/SP2014/papers/Not-So-RandomNumbersinVirtualizedLinuxandtheWhirlwindRNG.pdf)) 19 + Mirage-crypto-rng embeds the former mirage-entropy opam package, which 20 + implements various entropy sources: 21 + - non-deterministic execution time (used at initial seeding, see the [whirlwind RNG paper](https://www.ieee-security.org/TC/SP2014/papers/Not-So-RandomNumbersinVirtualizedLinuxandtheWhirlwindRNG.pdf)) 22 + - a hook into the Lwt event loop that collects a timestamp of each event 22 23 - rdseed and rdrand (x86/x86-64 only) 23 24 24 25 [API documentation online](https://mirage.github.io/mirage-crypto/doc) ··· 34 35 35 36 #### RNG seeding 36 37 37 - If RNG fails with `Fatal error: exception Uncommon.Boot.Unseeded_generator`, you 38 - need to [seed][doc-entropy] it. 38 + If RNG fails with `Fatal error: exception Unseeded_generator`, you need to 39 + seed it. 40 + 41 + Lwt: 42 + ```OCaml 43 + let () = Mirage_crypto_rng_lwt.initialize () 44 + ``` 39 45 40 46 Unix: 41 47 ```OCaml
+2 -2
mirage-crypto.opam
··· 30 30 "ocaml-freestanding" {< "0.4.1"} 31 31 ] 32 32 description: """ 33 - Mirage-crypto provides symmetric ciphers (DES, AES, RC4), and hashes (MD5, 34 - SHA-1, SHA-2). 33 + Mirage-crypto provides symmetric ciphers (DES, AES, RC4, ChaCha20/Poly1305), and 34 + hashes (MD5, SHA-1, SHA-2). 35 35 """