package salsa20-core

  1. Overview
  2. Docs

Description

An OCaml implementation of Salsa20 Core functions, both Salsa20/20 Core and the reduced Salsa20/8 Core and Salsa20/12 Core functions. The hot loop is implemented in C for efficiency reasons.

Salsa 20 Core are functions from 64-byte strings to 64-byte strings.

Installation

opam install salsa20-core

Usage

utop[0]> #require "salsa20-core";;
utop[1]> 0
|> Char.chr
|> String.make 64
|> Cstruct.of_string
|> Salsa20_core.salsa20_20_core (* or salsa20_12_core / salsa20_8_core *)
|> Cstruct.to_string;;
- : string =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"

Published: 22 Aug 2017

README

README.md

The Salsa20 core functions, in OCaml

An OCaml implementation of Salsa20 Core functions, both Salsa20/20 Core and the reduced Salsa20/8 Core and Salsa20/12 Core functions. The hot loop is implemented in C for efficiency reasons.

Salsa 20 Core are functions from 64-byte strings to 64-byte strings.

Installation

opam install salsa20-core

Usage

utop[0]> #require "salsa20-core";;
utop[1]> 0
|> Char.chr
|> String.make 64
|> Cstruct.of_string
|> Salsa20_core.salsa20_20_core (* or salsa20_12_core / salsa20_8_core *)
|> Cstruct.to_string;;
- : string =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"

Dependencies (6)

  1. cstruct >= "1.7.0" & < "6.0.1"
  2. ocb-stubblr build & >= "0.1.1"
  3. topkg build
  4. ocamlbuild build
  5. ocamlfind build
  6. ocaml >= "4.02.0"

Dev Dependencies (1)

  1. alcotest with-test

Used by (2)

  1. salsa20
  2. scrypt-kdf >= "0.4.0"

Conflicts

None