Zenroom is a tiny secure execution environment that runs on in any platform (Linux, Windows, Mac, Android, iOS) on any architecture (X86/64, ARM32/64 Cortex-M) as well as in the browser (via WASM). The Zenroom stack allows you to spin-up microservices that can authenticate, sign and verify, encrypt and decrypt all via execution of human-readable scripts, for all sort of applications. It helps to implement cryptography keeping it simple, understandable and maintainable.
Post-Quantum Cryptography
Zenroom implements quantum-proof cryptography from the NIST competition winners (Dilithium2 and Kyber512) as well as the algorithms currently being by the NIST, including ML-DSA-44 (FIPS-204) and ML-KEM-512 (FIPS-203). Zenroom also implements the algorithms, that won the NIST competition, Dilithium2 Kyber512 as well as SNTRUP 761 implemented in OpenSSH.
Cryptography
Zenroom performs signatures and verifications using ECDSA, EDDSA, Schnorr, BBS, Ethereum signatures, on the most widely used elliptic curves such as SECP256K1, NIST-256, BLS381, ED25519 (and many more, see full list), RSA. Zenroom also performs AES-GCM, as well multiple hashing algorithms (SHA, HMAC, KDF, PBKDF).
Additionally, Zenroom is capable of zero knowledge proofs based on Coconut and BBS, multi-party computation based on Reflow Multisignature, W3C-VC – and a lot more.
Blockchain interoperability
Blockchain interoperability is the ability of blockchains to communicate with other blockchains, enabling data exchange and transfers of tokens or assets across different distributed ledger technologies.
Zenroom offers interoperability between Bitcoin, Ethereum, Fabric, Sawtooth, Iota, Planetmint, meaning that a single Zenroom smart contract can perform operations on each of these ledgers, allowing operations as NFT or token transfer along with multilayer and multi-source data notarization. The capability has been used to develop the blockchain oracle Zenswarm.
Ultra-portable and ultra-light
Zenroom is a tiny secure execution environment that integrates in any platform and application, even on a chip or a web page. It can authenticate, authorize access and execute human-readable smart contracts for blockchains, databases and much more. See for example how to use Zenroom as an offline Bitcoin wallet.
Programmable in “human language”
Executes smart contracts in Lua or in Zencode: a non Turing-complete, English-like DSL, inspired by LangSec and BDD. Zencode looks looks like this:
Scenario 'ecdh'
Given nothing
When I create the ecdh key
When I create the ecdh public key
Then print the 'keyring'
Then print the 'ecdh public key'
You can run this code on Zenroom’s online IDE https://apiroom.net
More info
Zenroom homepage: https://zenroom.org
Zenroom docs: https://docs.zenroom.org
Online IDE: https://apiroom.net