Documentation of Lua scripting in Zenroom
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 documentation of the cryptographic primitive functions that are made available by the Lua direct-syntax parser in Zenroom.
For more information see the homepage of this project: Zenroom.org.
Modules
| OCTET | Array of raw bytes: base data type in ZenroomOctets are first-class citizens in Zenroom. |
| HASH | Cryptographic hash functionsAn hash is also known as 'message digest', 'digital fingerprint', 'digest' or 'checksum'. |
| ECP | Elliptic Curve Point Arithmetic (ECP)Base arithmetical operations on elliptic curve point coordinates. |
| SECP | Elliptic Curve Point Arithmetic for secp256k1 (SECP)Point arithmetic over the secp256k1 curve used by Bitcoin and BIP-340 Schnorr. |
| BIG | Big Number Arithmetic (BIG)Base arithmetical operations on big numbers. |
| FLOAT | Float (F)Floating-point numbers are a fundamental data type in computing used to represent real numbers (numbers with fractional parts). |
| TIME | TIMEThis class allows to work with TIME objects. |
| AES | Advanced Encryption Standard (AES)AES Block cipher in varoius modes. |
| ECDH | Elliptic Curve Diffie-Hellman encryption (ECDH)Asymmetric public/private key encryption technologies. |
| ED | Ed25519 signature scheme (ED)This module provides algorithms and functions for an elliptic curve signature scheme. |
| P256 | P256P-256 (also known as secp256r1 or prime256v1) is one of the most widely used elliptic curves in modern cryptography. |
| QP | POST QUANTUM (QP)Post-quantum cryptography (PQC) refers to cryptographic algorithms that are designed to be secure against attacks by quantum computers. |
| String | String operationsStandard Lua string manipulation like searching and matching. |
| Table | Table operationsStandard Lua data structure manipulation on maps (key/value) and arrays. |
| INSPECT | Debug inspection facilityThe INSPECT class provides a number of functions to ease development and debugging. |
| lua.zencode | ZENCODE WATCHDOG assert all values in table are converted to zenroom types used in zencode when transitioning out of given memory |
| BBS | BBS signature schemeThe BBS signature scheme (also known as the Boneh-Boyen-Shacham signature scheme) is a cryptographic signature scheme based on pairing-based cryptography: the BBS scheme is particularly notable for its use of bilinear pairings on elliptic curves, which enable efficient verification and compact signatures. |