crypto

module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2025 License: Apache-2.0

README

Sonr Crypto

Sonr Crypto is a collection of cryptographic primitives that are used by Sonr.

Packages

  • Accumulator: Accumulator is a cryptographic accumulator that allows for efficient verification of large sets of data.
  • Bulletproof: Bulletproof is a zero-knowledge proof system that allows for efficient verification of large sets of data.
  • Core: Core is a collection of cryptographic primitives that are used by Sonr.
  • Daed: Daed is a distributed key generation protocol that allows for efficient verification of large sets of data.
  • Dkg: Dkg is a distributed key generation protocol that allows for efficient verification of large sets of data.
  • Ecies: Ecies is a symmetric encryption algorithm that allows for efficient verification of large sets of data.
  • Keys: Keys is a collection of cryptographic primitives that are used by Sonr.
  • Mpc: Mpc is a collection of cryptographic primitives that are used by Sonr.
  • Ot: Ot is a collection of cryptographic primitives that are used by Sonr.
  • Paillier: Paillier is a cryptographic algorithm that allows for efficient verification of large sets of data.
  • Sharing: Sharing is a collection of cryptographic primitives that are used by Sonr.
  • Signatures: Signatures is a collection of cryptographic primitives that are used by Sonr.
  • Subtle: Subtle is a collection of cryptographic primitives that are used by Sonr.
  • Tecdsa: Tecdsa is a collection of cryptographic primitives that are used by Sonr.
  • Ted25519: Ted25519 is a collection of cryptographic primitives that are used by Sonr.
  • Ucan: Ucan is a collection of cryptographic primitives that are used by Sonr.
  • Zkp: Zkp is a collection of cryptographic primitives that are used by Sonr.

License

This project is licensed under the Apache 2.0 License.

Directories

Path Synopsis
Package accumulator implements the cryptographic accumulator as described in https://eprint.iacr.org/2020/777.pdf It also implements the zero knowledge proof of knowledge protocol described in section 7 of the paper.
Package accumulator implements the cryptographic accumulator as described in https://eprint.iacr.org/2020/777.pdf It also implements the zero knowledge proof of knowledge protocol described in section 7 of the paper.
Package aead provides authenticated encryption with associated data (AEAD) implementations following NIST SP 800-38D standards for secure data encryption and integrity verification.
Package aead provides authenticated encryption with associated data (AEAD) implementations following NIST SP 800-38D standards for secure data encryption and integrity verification.
Package argon2 provides secure key derivation using Argon2id
Package argon2 provides secure key derivation using Argon2id
Package bulletproof implements the zero knowledge protocol bulletproofs as defined in https://eprint.iacr.org/2017/1066.pdf
Package bulletproof implements the zero knowledge protocol bulletproofs as defined in https://eprint.iacr.org/2017/1066.pdf
Package core contains a set of primitives, including but not limited to various elliptic curves, hashes, and commitment schemes.
Package core contains a set of primitives, including but not limited to various elliptic curves, hashes, and commitment schemes.
curves
Package curves: Field implementation IS NOT constant time as it leverages math/big for big number operations.
Package curves: Field implementation IS NOT constant time as it leverages math/big for big number operations.
curves/native/k256/fp
Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Go --no-wide-int --relax-primitive-carry-to-bitwidth 32,64 --cmovznz-by-mul --internal-static --package-case flatcase --public-function-case UpperCamelCase --private-function-case camelCase --public-type-case UpperCamelCase --private-type-case camelCase --no-prefix-fiat --doc-newline-in-typedef-bounds --doc-prepend-header 'Code generated by Fiat Cryptography.
Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Go --no-wide-int --relax-primitive-carry-to-bitwidth 32,64 --cmovznz-by-mul --internal-static --package-case flatcase --public-function-case UpperCamelCase --private-function-case camelCase --public-type-case UpperCamelCase --private-type-case camelCase --no-prefix-fiat --doc-newline-in-typedef-bounds --doc-prepend-header 'Code generated by Fiat Cryptography.
curves/native/k256/fq
Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Go --no-wide-int --relax-primitive-carry-to-bitwidth 32,64 --cmovznz-by-mul --internal-static --package-case flatcase --public-function-case UpperCamelCase --private-function-case camelCase --public-type-case UpperCamelCase --private-type-case camelCase --no-prefix-fiat --doc-newline-in-typedef-bounds --doc-prepend-header 'Code generated by Fiat Cryptography.
Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Go --no-wide-int --relax-primitive-carry-to-bitwidth 32,64 --cmovznz-by-mul --internal-static --package-case flatcase --public-function-case UpperCamelCase --private-function-case camelCase --public-type-case UpperCamelCase --private-type-case camelCase --no-prefix-fiat --doc-newline-in-typedef-bounds --doc-prepend-header 'Code generated by Fiat Cryptography.
curves/native/p256/fp
Code generated by Fiat Cryptography.
Code generated by Fiat Cryptography.
curves/native/p256/fq
Code generated by Fiat Cryptography.
Code generated by Fiat Cryptography.
dkg
frost
Package frost is an implementation of the DKG part of https://eprint.iacr.org/2020/852.pdf
Package frost is an implementation of the DKG part of https://eprint.iacr.org/2020/852.pdf
gennaro
Package gennaro is an implementation of the DKG part of https://eprint.iacr.org/2020/540.pdf
Package gennaro is an implementation of the DKG part of https://eprint.iacr.org/2020/540.pdf
gennaro2p
Package gennaro2p wraps dkg/genarro and specializes it for the 2-party case.
Package gennaro2p wraps dkg/genarro and specializes it for the 2-party case.
Package ecdsa provides ECDSA signature canonicalization
Package ecdsa provides ECDSA signature canonicalization
ed25519/edwards25519
Package edwards25519 implements operations in GF(2**255-19) and on an Edwards curve that is isomorphic to curve25519.
Package edwards25519 implements operations in GF(2**255-19) and on an Edwards curve that is isomorphic to curve25519.
ed25519/extra25519
Package extra25519 implements fast arithmetic on the extended twisted Edwards curve.
Package extra25519 implements fast arithmetic on the extended twisted Edwards curve.
mpc
Package mpc implements the Sonr MPC protocol
Package mpc implements the Sonr MPC protocol
ot
base/simplest
Package simplest implements the "Verified Simplest OT", as defined in "protocol 7" of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package simplest implements the "Verified Simplest OT", as defined in "protocol 7" of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
extension/kos
Package kos in an implementation of maliciously secure OT extension protocol defined in "Protocol 9" of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package kos in an implementation of maliciously secure OT extension protocol defined in "Protocol 9" of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
ottest
Package ottest contains some utilities to test ot functions.
Package ottest contains some utilities to test ot functions.
Package paillier contains Paillier's cryptosystem (1999) [P99].
Package paillier contains Paillier's cryptosystem (1999) [P99].
Package password provides secure password handling and validation
Package password provides secure password handling and validation
Package salt provides cryptographically secure salt generation and management for use in key derivation functions and encryption operations.
Package salt provides cryptographically secure salt generation and management for use in key derivation functions and encryption operations.
Package secure provides utilities for secure memory handling and sensitive data management.
Package secure provides utilities for secure memory handling and sensitive data management.
Package sharing is an implementation of shamir secret sharing and implements the following papers.
Package sharing is an implementation of shamir secret sharing and implements the following papers.
v1
signatures
bbs
Package bbs is an implementation of BBS+ signature of https://eprint.iacr.org/2016/663.pdf
Package bbs is an implementation of BBS+ signature of https://eprint.iacr.org/2016/663.pdf
bls/bls_sig
Package bls_sig is an implementation of the BLS signature defined in https://tools.ietf.org/html/draft-irtf-cfrg-bls-signature-03
Package bls_sig is an implementation of the BLS signature defined in https://tools.ietf.org/html/draft-irtf-cfrg-bls-signature-03
bls/tests/bls command
tecdsa
dklsv1
package dklsv1 provides a wrapper around the [DKLs18](https://eprint.iacr.org/2018/499.pdf) sign and dkg and provides serialization, serialization, and versioning for the serialized data.
package dklsv1 provides a wrapper around the [DKLs18](https://eprint.iacr.org/2018/499.pdf) sign and dkg and provides serialization, serialization, and versioning for the serialized data.
dklsv1/dealer
Package dealer implements key generation via a trusted dealer for the protocol [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package dealer implements key generation via a trusted dealer for the protocol [DKLs18](https://eprint.iacr.org/2018/499.pdf).
dklsv1/dkg
Package dkg implements the Distributed Key Generation (DKG) protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package dkg implements the Distributed Key Generation (DKG) protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
dklsv1/refresh
This file implements the key refresh protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
This file implements the key refresh protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
dklsv1/sign
Package sign implements the 2-2 threshold signature protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package sign implements the 2-2 threshold signature protocol of [DKLs18](https://eprint.iacr.org/2018/499.pdf).
Package ted25519 implements the Ed25519 signature algorithm.
Package ted25519 implements the Ed25519 signature algorithm.
frost
Package frost is an implementation of t-of-n threshold signature of https://eprint.iacr.org/2020/852.pdf
Package frost is an implementation of t-of-n threshold signature of https://eprint.iacr.org/2020/852.pdf
Package ucan provides User-Controlled Authorization Networks (UCAN) implementation for decentralized authorization and capability delegation in the Sonr network.
Package ucan provides User-Controlled Authorization Networks (UCAN) implementation for decentralized authorization and capability delegation in the Sonr network.
util module
Package vrf implements a verifiable random function using the Edwards form of Curve25519, SHA3 and the Elligator map.
Package vrf implements a verifiable random function using the Edwards form of Curve25519, SHA3 and the Elligator map.
Package wasm provides cryptographic signing and verification for WebAssembly modules
Package wasm provides cryptographic signing and verification for WebAssembly modules
zkp
schnorr
Package schnorr implements a Schnorr proof, as described and used in Doerner, et al.
Package schnorr implements a Schnorr proof, as described and used in Doerner, et al.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL