package chacha
The Chacha functions, in OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
chacha-1.0.0.tbz
sha256=b7c74e310403a637b441bb8e8634886b7c675ee5dcc4c5532c435afebc1d800e
sha512=8970b66083f28ddbb5da65c0b59323a9821b790dbaecd49f4a2a2f18025a674e3493292699626b13e414c4d09fdad3a2f25783a3ca0c15ab9b678a69485858eb
doc/README.html
ChaCha family of encryption functions, in OCaml
An OCaml implementation of ChaCha functions, both ChaCha20 and the reduced ChaCha8 and ChaCha12 functions. The hot loop is implemented in C for efficiency reasons.
Installation
opam install chacha
Usage
utop[0]> #require "mirage-crypto";;
utop[1]> #require "mirage-crypto-rng.unix";;
utop[2]> Mirage_crypto_rng_unix.initialize ();;
- : unit = ()
utop[3]> let key = Mirage_crypto_rng.generate 32;;
val key : Cstruct.t = {Cstruct.buffer = <abstr>; off = 0; len = 32}
utop[4]> let nonce = Cstruct.create 8;;
val nonce : Cstruct.t = {Cstruct.buffer = <abstr>; off = 0; len = 8}
utop[5]> #require "chacha";;
utop[6]> let state = Chacha.create key nonce;;
val state : Chacha.t = <abstr>
utop[7]> Chacha.encrypt (Cstruct.of_string "My secret text") state |> Cstruct.to_string;;
- : string = "\026m.\\363\\026\\263\\207Xg\\256l\\262\\232F"
- Key can either 32 (recommended) or 16 bytes
- Chacha state may use a different hashing function, the recommended
Chacha_core.chacha20
is used by default.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page