Pre-alpha · solo · cryptography

Orange

Cryptography you can check.

Abstract

A language and toolchain for specifying, implementing, and verifying cryptography — so mathematical intent, native code, and assurance evidence stay connected instead of living in separate tools.

Inside No Such Machine’s cryptography and signals work, Orange is the language track: keep mathematical intent, executable realization, and assurance evidence connected instead of scattered across unrelated tools. Claims stay narrow; evidence is meant to be replayed.

Limits. Pre-alpha and solo-built. The compiler checks and evaluates a typed fragment. It does not yet generate native code or check proofs. Nothing in the repository has been independently reviewed or formally verified.

Example

Fragment the current compiler accepts — SHA-256 helpers from FIPS 180-4, written the way the standard writes them.

edition 2026;
module sha256 {
  spec choose(x: Word[32], y: Word[32], z: Word[32]) -> Word[32] {
    (x & y) ^ (~x & z)
  }
  spec majority(x: Word[32], y: Word[32], z: Word[32]) -> Word[32] {
    (x & y) ^ (x & z) ^ (y & z)
  }
}

References

Repository
Source tree, fixtures, and toolchain.
The Orange Book
Living reader guide for intent, status, and open questions.
Orange School
Competency path from no assumed background into the language.
Orange project emblem
Orange project emblem (identity mark — not a verification claim).