Skip to content
This repository has been archived by the owner on Oct 2, 2023. It is now read-only.
/ schnorr-sig Public archive

A custom Schnorr signature scheme using Rescue-Prime hash internally for fast verification in zk-STARK statements.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

toposware/schnorr-sig

Schnorr-sig

This crate provides an implementation of a modified version of the Schnorr signature protocol, for efficient verification in a STARK AIR program. The underlying curve is a custom curve, Cheetah, based on a sextic extension of the the Prime Field Fp with p = 264 - 232 + 1, and curve equation E(Fp): y2 = x3 + x + B, with B = u + 395 where

  • u^6 - 7 = 0 is the polynomial defining the sextic extension Fp6 over Fp. and implemented here.

  • This implementation may not rely on the Rust standard library by relying on the alloc crate instead.

WARNING: This is an ongoing, prototype implementation subject to changes. In particular, it has not been audited and may contain bugs and security flaws. This implementation is NOT ready for production use.

Features

  • serialize (on by default): Enables Serde serialization
  • std (on by default): Enables the Rust standard library

Description

See :

  • here for an introduction to Schnorr signatures,
  • here for the implementation of the underlying fields and elliptic curve,
  • here for the implementation of the internal Rescue hash function.

License

Licensed under either of

at your option.

About

A custom Schnorr signature scheme using Rescue-Prime hash internally for fast verification in zk-STARK statements.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Languages