Official AKADATA documentation · v0.0.5

Reference implementations

Readable implementations of the same canonical validation and phrase-generation behaviour for different platforms.

One algorithm, several runtime environments

These are working reference implementations, not merely a list of files. Each version exists to make the same canonical validation and phrase-generation rules inspectable in its own runtime environment.

Every implementation is self-contained: it embeds the compressed canonical chunk data in its own native structure and reads no external wordlist file at runtime. The embedded words field holds compressed base64 raw-DEFLATE token streams, not decoded words. The self-contained PHP CLI remains canonical. The PHP include class is designed for website integration. Vanilla ECMAScript is browser JavaScript and uses Web Crypto; Node.js is a separate server-side implementation using Node built-ins.

Select an implementation to read its native embedded data model, canonical validation, randomness source, OpenPGP position and complete published source.

PHP canonical CLI/reference

The self-contained canonical reference. Native embedded compressed chunk data; it reconstructs the canonical JSON byte-for-byte for OpenPGP verification.

Dependencies
PHP 8; gpg and the expected public key are required only for optional OpenPGP verification of the canonical JSON.
Check
./aip-56-reference.php --check
Run
./aip-56-reference.php

PHP website include class

The includeable class for websites. Native embedded compressed chunk data via selfContained(); optional integration APIs may exist. It has no CLI side effects, sessions, cookies, headers, database access or network access.

Dependencies
PHP 8 with JSON, zlib and hash support.
Check
make -C implementations/php check
Run
make -C implementations/php run

Vanilla ECMAScript/browser

Browser-safe vanilla ECMAScript. Native frozen module object containing compressed chunk data. It exists because Node.js is not browser JavaScript.

Dependencies
A modern browser with Web Crypto; no npm packages, bundler, framework or DOM dependency for the core generator.
Check
make -C implementations/ecmascript check
Run
make -C implementations/ecmascript run

Node.js

Server-side JavaScript using Node built-ins such as crypto and zlib. Native frozen object containing compressed chunk data.

Dependencies
Node.js built-in crypto and zlib modules; no npm dependencies.
Check
make -C implementations/node check
Run
make -C implementations/node run

Python

A standard-library reference useful for scripts, tests and integration tooling. Native dict containing compressed chunk data.

Dependencies
Python 3 standard library.
Check
make -C implementations/python check
Run
make -C implementations/python run

Go

A small compiled reference using Go’s standard library and crypto/rand. Native structs/slices/maps containing compressed chunk data.

Dependencies
Go toolchain; standard library only.
Check
make -C implementations/go check
Run
make -C implementations/go run

C

A low-level reference using zlib and OpenSSL/libcrypto. Native C structs containing compressed chunk data; no json-c dependency.

Dependencies
C compiler, zlib and OpenSSL/libcrypto; no json-c dependency.
Check
make -C implementations/c check
Run
make -C implementations/c run

C#

.NET reference supporting both .NET 8 and .NET 10. Native records/classes/arrays containing compressed chunk data.

Dependencies
.NET 8 or .NET 10 SDK/runtime.
Check
make -C implementations/csharp check
Run
make -C implementations/csharp run

Java

A JVM reference using SecureRandom and raw-DEFLATE handling. Native records/classes/arrays containing compressed chunk data.

Dependencies
A JDK providing javac and java; standard Java runtime libraries.
Check
make -C implementations/java check
Run
make -C implementations/java run

Rust

A Rust reference using Cargo-managed dependencies and secure randomness. Native static structs/arrays containing compressed chunk data.

Dependencies
Rust and Cargo; crates.io access unless the small dependency set is cached.
Check
make -C implementations/rust check
Run
make -C implementations/rust run

Perl

A Unix and administrator-friendly scripting reference. Native hashref containing compressed chunk data.

Dependencies
Perl and the core/system modules documented in the release README.
Check
make -C implementations/perl check
Run
make -C implementations/perl run

Lua

A small dependency-free Lua 5.3+ reference. Native table containing compressed chunk data.

Dependencies
Lua 5.3+ with the environment documented in the release README.
Check
make -C implementations/lua check
Run
make -C implementations/lua run