• Stars
    star
    194
  • Rank 200,219 (Top 4 %)
  • Language
    C
  • License
    GNU Affero Genera...
  • Created almost 7 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Embedded no-code VM executing human-like language to manipulate data and process cryptographic operations.

Zenroom crypto VM

Zenroom logo

Zenroom is a secure language interpreter of both Lua and its own secure domain specific language (DSL) to execute fast cryptographic operations using elliptic curve arithmetics.

The Zenroom VM is very small, has no external dependency, is fully deterministic and ready to run end-to-end encryption on any platform: desktop, embedded, mobile, cloud micro-services, web browsers. It can be embedded inside applications written in Javascript, Python3, Rust or Golang.

Zencode is the name of the DSL executed by Zenroom: it is similar to human language and can process large data structures while operating cryptographic transformations and basic logical operations on them.

software by Dyne.org

Timeline

  • 2017 - Development started
  • 2019 - Released version 1.0.0
  • 2022 - Released version 2.0.0 (long term support)
  • 2022 - Started development of 3.0.0

This software has zero dependencies. If you chose to use it in your project be assured that we intend to support the same code to still run in 20 years from now.

Version 3 development started with the implementation of Quantum Resistant encryption and signatures.

Links

Continue to the developer website

or

Read the Zencode whitepaper

or

Visit the product website for a friendly introduction to the love we put in craftsmanship.

For many quick running examples visit the ApiRoom online IDE powered by Zenroom.

Zenroom is licensed as AGPLv3; we are open to grant exceptions on a commercial basis.

Applications

Many applications already include Zenroom and use the Zencode language.

Getting Started

To quickly try out Zenroom using the Zencode language with some examples navigate to ApiRoom and start typing into the browser.

The Zenroom VM runs locally in your browser (needs WASM) and ApiRoom provides various examples to show operational crypto flows.

ApiRoom is also an IDE (Integrated Development Environment) and by signing in with a username and password you can save your contracts and download them as a Dockerfile micro-service ready to deploy.

Tutorials

Build

Dependencies: makefile, cmake, zsh, gcc

Optional: musl-libc, emscripten for wasm builds

Use this command sequence:

git clone https://github.com/dyne/zenroom
cd zenroom
make linux

to create the CLI executable in src/zenroom

make linux-lib

to create the shared library in src/libzenroom-x86_64.so

make

to list more available targets

Meson + Ninja

Practical build scripts for GNU/Linux are provided using Meson + Ninja

make meson

Will produce a zenroom executable and a libzenroom shared lib in zenroom/build.

License

Copyright (C) 2017-2023 Dyne.org foundation

Designed and written by Denis "Jaromil" Roio with the help of Puria Nafisi Azizi and Andrea D'Intino.

Includes code contributions by Alberto Lerda, Matteo Cristino, Danilo Spinella, Luca Di Domenico and Rebecca Selvaggini.

Reviews and suggestions contributed by: Richard Stallman, Daniele Lacamera, Enrico Zimuel, SofΓ­a Celi, Sebastian Blichfeld, Danilo Spinella, Adam Burns, Thomas Fuerstner and JΓΌrgen Eckel.

Zenroom complies with the REUSE license specification and redistributes:

  • Lua 5.3 - Copyright Β© 1994–2019 Lua.org, PUC-Rio.
  • Apache Milagro Crypto Library (AMCL)
  • Various Lua libraries released under MIT license

Special thanks to our colleagues in the DECODE project whose research has inspired the birth of this project: Francesca Bria, George Danezis, Ola Bini, Mark de Villiers, Ivan Jelincic, Alberto Sonnino, Jim Barritt, Christian Espinoza, Samuel Mulube and Nina Boelsums.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

More Repositories

1

tomb

the Crypto Undertaker
Shell
1,328
star
2

frei0r

A large collection of free and portable video plugins
C
429
star
3

dnscrypt-proxy

DNSCrypt-Proxy repository, frankly maintained for what it does (no new features planned)
C
167
star
4

dowse

The Awareness Hub for the Internet of Things
C
158
star
5

file-extension-list

Organised collection of common file extensions
Shell
116
star
6

gitzone

git-based zone management tool for static and dynamic domains
Perl
114
star
7

ZShaolin

Interactive and scriptable console terminal on Android (build framework)
Java
111
star
8

JaroMail

Terminal UI email client to download, filter, search and archive messages off-line
Shell
102
star
9

domain-list

A list of domains (including CDN hosts) belonging to ICT company silos, i.e. FB, GOOG, AMZN etc.
Shell
76
star
10

sup

a "small is beautiful" tool for UNIX privilege escalation
C
53
star
11

dynebolic-upstream

dyne:bolic is a nomadic operating system, 100% Free, based on GNU/Linux
ASL
34
star
12

harvest

Tool to sort large collections of files according to common typologies
Shell
32
star
13

webnomad

A slick and solid website builder
JavaScript
30
star
14

binnit

minimal no-fuss pastebin service clone in golang
Go
30
star
15

decode-proximity-hw

Embedded version of decode's proximity app
C
26
star
16

Freecoin

New project, moved to https://github.com/d-cent/freecoin
C++
24
star
17

tinfoil

A minimalist tool to manage multiple profiles for web browsers
Shell
22
star
18

docker-devuan-builds

Slim docker base images based on Devuan
Dockerfile
21
star
19

dohd

Very fast DNS-over-HTTPS to DNS proxy with emphasis on privacy (no logging)
C
21
star
20

docker2sh

Convert a Dockerfile to a shell script
Python
14
star
21

AutOrg

Autonomy is Organization
Emacs Lisp
13
star
22

FXC

FXC Simple Secret Sharing - clojure library
Clojure
13
star
23

social-wallet-api

Social Wallet REST API web interface
Clojure
12
star
24

sud

minimalist sudo alternative: multi-user privilege escalation tool in three letters
HTML
10
star
25

reflow-crypto

Reflow: Zero Knowledge Multi Party Signatures with Application to Distributed Authentication
TeX
10
star
26

autosshfs

Per user SSHFS automount using user's SSH configuration
Shell
9
star
27

scorsh

Signed-Commit Remote Shell - authenticated trigger for remote execution via Git
Go
9
star
28

fabchain

FABchain network based on geth + clique
Lua
8
star
29

W3C-DID

Dyne.org's W3C-DID implementation
Shell
8
star
30

Tomb3

WIP for Tomb v3 the crypto undertaker
Shell
8
star
31

pangolin

The Secret Pangolin Code, Fastest Proximity Tracing in the West (FPTW)
C
8
star
32

freecoin-lib

Freecoin digital currency toolkit - core library
Clojure
8
star
33

reflow-os

Base scripts to run Reflow OS
Makefile
7
star
34

RedRoom

Zenroom crypto module for Redis
C
7
star
35

zuper

Zsh Ultimate Programmer's Extensions Refurbished
Shell
7
star
36

bonfire_ui_reflow

UI for reflow bonfire app
Elixir
7
star
37

TorTV

Build of Tor maintained to run on TV devices and set-top boxes
Shell
6
star
38

decode-web

DECODE Project static website, rendered from the original site in Drupal
HTML
6
star
39

lotionroom

Tendermint / Cosmos proof of concept contract made with Zenroom
JavaScript
6
star
40

Sawroom

Zenroom Transaction Processor for Hyperledger Sawtooth
Python
6
star
41

Agiladmin

Administration of timesheets and project budgets for small and medium organisations
JavaScript
6
star
42

reflow-docs

ReflowOS Architecture and Manual for Distributed Network Setup and Maintenance
HTML
5
star
43

social-explorer

A Social Explorer UI built on top of SWAPI and Sawroom
Clojure
5
star
44

TBT

Time Based Text
C++
5
star
45

luigi

Design tool for hackers
JavaScript
5
star
46

fistpy

✊ 🐍 Python client library for Fist full text search
Python
5
star
47

slangroom

Enhance zencode smart contracts with your slang
TypeScript
5
star
48

starters

πŸ“ Projects template starters of Dyne.org
Svelte
5
star
49

lua-paillier

Lua module for the Paillier cryptographic scheme
C
4
star
50

Writedown

Minimalistic academic publisher using markdown and pandoc
Shell
4
star
51

luabinaries

Binary builds of the Lua language interpreter
Makefile
4
star
52

markdown-inline-tag

Render the content of <markdown></markdown> tags inside an HTML file using Pandoc
Shell
4
star
53

handbook-dev

Dyne.org's Handbook for developers
3
star
54

just-auth

A simple two factor authentication library
Clojure
3
star
55

social-wallet

A social wallet with a simple configurable UI backed by the social wallet api
Clojure
3
star
56

reflow-dpp-demo

Produce a Digital Product Passport from Reflow OS object
HTML
3
star
57

zenswarm

Protototype of Zenroom based consensus
Shell
3
star
58

clj-flows

A building block of the REFLOW infrastructure: a VF implementation in clojure, with graphql as API layer.
Clojure
3
star
59

restroom-mw

πŸ›  Easy REST API builder executing Zencode
TypeScript
3
star
60

lua-zenroom

Port of Zenroom crypto primitives running on Lua5.1/Luajit including Nginx, Tarantool and Openresty
C
3
star
61

fxc-soldipubblici

Console interattiva (live-coding) per analisi di dati pubblicati su soldipubblici.gov.it
3
star
62

clj-storage

Minimal storage lib to facilitate different DB implementations
Clojure
2
star
63

mkdocs-dyne-theme

A mkdocs theme for dyne.org software webpages
HTML
2
star
64

zenflows

Resource-Event-Agent Graph Database governed by Valueflows vocabulary logics
Elixir
2
star
65

zenflows-crypto

Zencode crypto functions for Zenflows
Shell
2
star
66

restroom-github-action

Shell
2
star
67

tech-radar

Overview of technologies mapped according to our level of adoption
2
star
68

petition-tp-python

Transaction processor for Decode Petition over Hyperledger Sawtooth
Python
2
star
69

clj-auxiliary

Common auxiliary functions extending clojure basic utilities
Clojure
2
star
70

indycaptcha

An independent captcha that does not feed any AI and takes arbitrary lists of words
HTML
2
star
71

social-wallet-admin-console

Interactive admin console (REPL) for the social wallet
JavaScript
2
star
72

shuriken

A tool to throw confs around like a ninja
Shell
2
star
73

devuan-rpi4-home-assistant

Base installer for home-assistant + extensions for Devuan on RaspberryPi 4
Shell
2
star
74

devuan-sdk

Simple Development Kit for the Devuan GNU/Linux distribution
Shell
2
star
75

gh-cd

πŸš€ cd || clone || repo create
Go
2
star
76

socialwallet.app

HTML
2
star
77

bonfire_reflow

Bonfire module for REFLOW authenticated graphs
Elixir
2
star
78

lurker-ng

Fork of lurker to keep the mailinglist archive alive with new fixes
C++
2
star
79

zenswarm-oracle

Zenswarm Oracle implementation
JavaScript
2
star
80

weechad

Easy WeeChat configuration for Chads
Shell
2
star
81

docker-dyne-software

Docker setups to quickly deploy some software applications made by Dyne.org
Dockerfile
2
star
82

json-schema-builder-svelte

A Svelte component library for building JSON Schemas
Svelte
1
star
83

dyne.github.io

Astro
1
star
84

rustroom

Rust micro-service for fast async Zencode execution
Rust
1
star
85

zenflows-gui

Reflow GUI
TypeScript
1
star
86

blog-code-samples

Code samples linked from https://medium.com/think-do-tank
HTML
1
star
87

zenroom-go-wrapper

Go
1
star
88

bonfire_api_json

http api json post endpoints for bonfire
Elixir
1
star
89

dynebot

Telegram bot intended for helping automating small tedious tasks of dyne.org internal interaction
Python
1
star
90

great-dane

Zenroom DNS utilities
Go
1
star
91

softwarepassport

Software Passport compliancy check on the blockchain
Python
1
star
92

pangolin-armor

Proxy with load-balancing and SSL management for node pangolin staging server
JavaScript
1
star
93

zenroom-web-example

πŸš€ Running Zenroom js on HTML
HTML
1
star
94

bonfire_quantify

1
star
95

FXC-webapi

FXC web API for Simple Secret Sharing
Clojure
1
star
96

clj-paypal-ipn

PayPal IPN handler in Clojure for use with Ring and Compojure.
Clojure
1
star
97

tender-vf

prototype tendermint value flows
1
star
98

Zenroom-Android-app

Simple Android app, built to show how to use Zenroom libs
Java
1
star
99

valueflows-dashboard

JavaScript
1
star
100

.github

1
star