OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Twenty First

Twenty First is a public GPL-2.0 Rust library of cryptographic and mathematical primitives for blockchain and zero-knowledge development, including the Tip5 hash function, finite-field and extension-field arithmetic, number-theoretic transforms, polynomial operations, lattice cryptography, Merkle Trees and Merkle Mountain Ranges.

Independent OpenViST project profile, based on linked sources.

Twenty First — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Twenty First when a project needs reusable Rust mathematics and cryptography primitives rather than a complete blockchain, application or proof system.

Who it is for

  • Rust developers building blockchain or zero-knowledge components.
  • Teams implementing STARK-oriented hashing and authenticated data structures.
  • Researchers and developers exploring lattice-based cryptography.
  • Developers adapting Rust cryptographic primitives for WebAssembly.

Documented uses

  • Provide Tip5 hashing for STARK-oriented designs.
  • Perform prime-field and extension-field arithmetic.
  • Apply number-theoretic transforms and polynomial operations.
  • Create Merkle Trees and Merkle Mountain Ranges.
  • Prototype lattice-cryptography operations and key encapsulation.
Before you choose

Requirements & limits

The repository is public and identified as open source under the GPL-2.0 license. The implementation language is Rust, and the README states that the library can be built for WebAssembly.

  • Its Tip5 hash function is explicitly associated with recursive STARKs in the project README.
  • It includes both base-field and extension-field types with a codec trait for field-element vectors.
  • It combines cryptographic primitives with NTT, polynomial, Merkle-tree and Merkle-Mountain-Range routines.
  • It includes lattice operations and an IND-CCA2-secure key encapsulation mechanism as described in the README.
  • WebAssembly build support is stated, but target and application-environment details are not specified.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Add documented cryptographic primitives to a Rust or WebAssembly project

Use the library as a source of Tip5, finite-field, lattice-cryptography or Merkle-related building blocks.

Before you start

  • A Rust development project.
  • A use case for one or more of the library's documented primitives.
  • For WebAssembly use, a project that can build Rust code for WebAssembly.

Steps

  1. Select the required primitive from the library's documented contents: Tip5, field types, NTTs, polynomials, lattice cryptography, Merkle Trees or Merkle Mountain Ranges.

  2. Integrate the Rust library into the project according to the project's dependency and build process.

  3. For WebAssembly applications, follow the repository's dedicated wasm32 README when configuring the build.

  4. Compose the selected primitives within the application's own proof, cryptographic or authenticated-data design.

Expected outcome

The project can use Twenty First's documented mathematical and cryptographic components, including a WebAssembly build where the documented build path is followed.

Guide limitations

  • The evidence does not demonstrate a complete STARK implementation.
  • Supported WebAssembly targets and application environments are not specified.
  • The supplied material does not document project-specific integration commands or runtime behavior.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
3 October 2026
Original website title
Neptune-Crypto/twenty-first · Official homepage title · retained in its source language