Zenroom - Application Protocol Interface documentation

Zenroom is a portable language interpreter inspired by language-theoretical security and designed to be small, attack-resistant and very portable. Its main use case is distributed computing of untrusted code, for instance it can be used for delicate cryptographic operations. Here is the "application protocol interface" documentation of the cryptographic primitive functions that are made available by zenroom in its computations.

For more information see the homepage of this project: zenroom.dyne.org.

Software by Dyne.org

Modules

OCTET

Base data type for cryptographic opearations

Octets are first-class citizens in Zenroom.

RNG

Cryptographically Secure Random Number Generator (RNG)

Each new RNG instance is initialised with a different random seed

Cryptographic security is achieved by hashing the random numbers using this sequence: unguessable seed -> SHA -> PRNG internal state -> SHA -> random numbers.

HASH

Cryptographic hash functions

An hash is also known as 'message digest', 'digital fingerprint', 'digest' or 'checksum'.

ECDH

Elliptic Curve Diffie-Hellman encryption (ECDH)

Asymmetric public/private key encryption technologies.

ECP

Elliptic Curve Point Arithmetic (ECP)

Base arithmetical operations on elliptic curve point coordinates.

ECP2

Twisted Elliptic Curve Point Arithmetic (ECP2)

Base arithmetical operations on twisted elliptic curve point coordinates.

BIG

Big Number Arithmetic (BIG)

Base arithmetical operations on big numbers.

LAMBDA

Advanced data manipulation (LAMBDA)

Manipulate complex data structures with functional programming prototypes.

math standard mathematical functions.
string string operations like searching and matching.
table manipulating Lua tables.

Tutorials

Syntax
Functional
Schema
StateMachine
Embed

Examples

hello.lua
json-tables.lua
wave.lua
keygen.lua
crypt-to-multi.lua
generated by LDoc 1.4.3 Last updated 2018-10-01 18:53:47
]==]