npxio

npxio

A small lab building two things from first principles: a new encryption system, and a new programming language.

The name: nonce, plaintext, xor, the three things every stream cipher touches. The mark is XOR drawn as shapes: where the two squares overlap, they cancel.

~/ionpxio
$ ls ~/io
lattice/   npx/

$ cat ~/io/lattice/STATUS
a 256-bit stream cipher, 20 rounds
5 rounds broken by our own attacks
round 6 and up: holding
public challenge: open

$ cat ~/io/npx/STATUS
a general-purpose language
version 0.3, compiles to JavaScript

$ 
live

LATTICE

a new encryption system

An experimental 256-bit stream cipher built from add, rotate, XOR and one multiply. We designed four versions, attacked each one ourselves, and published every result, including the ones that broke it.

Rounds
20
Broken by us
5
Mode
LATTICE-4-Poly1305, authenticated
Challenge
9 secret keys, open
npx

npx

a new programming language

A general-purpose language where data flows left to right like a shell pipe, failures are values you handle on the same line, and & runs work in the background.

Stage
0.3, early; syntax can change
Runs
in the browser and on the command line
Grows
every night, automatically
Uses
any npm package, discord.js included
Written in npx
the LATTICE cipher, matching every test vector

how we work

Publish what failed

LATTICE-1 looked fine until a scan of every input bit found a crack; four rounds fell for about 277 work. That result sits in the public log next to the good ones.

Attack before we claim

Every number we publish comes from attacks we ran first: differential, linear, cube, rotational and key recovery, over billions of samples.

Experiments aren't products

Nothing we invent protects real data until other people have spent years failing to break it. Until then, real software uses proven tools.