pkg/

directory
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2026 License: Apache-2.0

Directories

Path Synopsis
Package base provides the base package contains a set of base primitives, including but not limited to various elliptic curves, data structures, and common functions used across this library.
Package base provides the base package contains a set of base primitives, including but not limited to various elliptic curves, data structures, and common functions used across this library.
algebra
Package algebra provides algebraic interfaces and generic helpers for groups, rings, fields, modules, and related algebraic structures.
Package algebra provides algebraic interfaces and generic helpers for groups, rings, fields, modules, and related algebraic structures.
algebra/impl/fields
Package fields provides low-level field element traits used by generated finite field implementations.
Package fields provides low-level field element traits used by generated finite field implementations.
base58
Package base58 implements base58 encoding and decoding.
Package base58 implements base58 encoding and decoding.
binaryfields/bf128
Package bf128 implements arithmetic over the binary field GF(2^128).
Package bf128 implements arithmetic over the binary field GF(2^128).
bitvec
Package bitvec implements a mutable bit vector with insertion, deletion, and indexing operations.
Package bitvec implements a mutable bit vector with insertion, deletion, and indexing operations.
cgo/boring
Package boring wraps a small subset of BoringSSL BigNum APIs for internal use.
Package boring wraps a small subset of BoringSSL BigNum APIs for internal use.
ct
Package ct provides constant-time operations for cryptographic implementations, helping to prevent timing-based side-channel attacks.
Package ct provides constant-time operations for cryptographic implementations, helping to prevent timing-based side-channel attacks.
curves
Package curves provides implementation of various elliptic curves.
Package curves provides implementation of various elliptic curves.
curves/curve25519
Package curve25519 implements Curve25519 group operations, field elements, scalars, and encoding helpers.
Package curve25519 implements Curve25519 group operations, field elements, scalars, and encoding helpers.
curves/edwards25519
Package edwards25519 implements the Edwards25519 curve, its scalar and base fields, and point encoding.
Package edwards25519 implements the Edwards25519 curve, its scalar and base fields, and point encoding.
curves/edwards25519/impl
Package impl contains low-level Edwards25519 field and point implementations plus hash-to-curve parameters.
Package impl contains low-level Edwards25519 field and point implementations plus hash-to-curve parameters.
curves/impl/points
Package points provides point arithmetic implementations for short Weierstrass and twisted Edwards curves.
Package points provides point arithmetic implementations for short Weierstrass and twisted Edwards curves.
curves/impl/rfc9380
Package rfc9380 implements hash-to-curve helpers from RFC 9380.
Package rfc9380 implements hash-to-curve helpers from RFC 9380.
curves/impl/rfc9380/expanders
Package expanders implements XMD and XOF expanders for RFC 9380.
Package expanders implements XMD and XOF expanders for RFC 9380.
curves/impl/rfc9380/mappers/elligator2
Package elligator2 implements Elligator 2 mappings for Curve25519 and Edwards25519.
Package elligator2 implements Elligator 2 mappings for Curve25519 and Edwards25519.
curves/impl/rfc9380/mappers/sswu
Package sswu implements simplified SWU mapping and related helpers for RFC 9380.
Package sswu implements simplified SWU mapping and related helpers for RFC 9380.
curves/impl/traits
Package traits provides reusable traits for field and curve wrappers.
Package traits provides reusable traits for field and curve wrappers.
curves/k256
Package k256 implements the secp256k1 curve, field, scalar, and point types.
Package k256 implements the secp256k1 curve, field, scalar, and point types.
curves/k256/impl
Package impl contains low-level secp256k1 field arithmetic and point operations.
Package impl contains low-level secp256k1 field arithmetic and point operations.
curves/p256
Package p256 implements the NIST P-256 curve, field, scalar, and point types.
Package p256 implements the NIST P-256 curve, field, scalar, and point types.
curves/p256/impl
Package impl contains low-level P-256 field arithmetic and point operations.
Package impl contains low-level P-256 field arithmetic and point operations.
curves/pairable
Package pairable provides exposes pairing-friendly curve families and shared interfaces.
Package pairable provides exposes pairing-friendly curve families and shared interfaces.
curves/pairable/bls12381
Package bls12381 implements the BLS12-381 curve groups, fields, and pairing interfaces.
Package bls12381 implements the BLS12-381 curve groups, fields, and pairing interfaces.
curves/pairable/bls12381/impl
Package impl contains low-level BLS12-381 field arithmetic, points, and pairing engine code.
Package impl contains low-level BLS12-381 field arithmetic, points, and pairing engine code.
curves/pasta
Package pasta implements the Pallas and Vesta curves and their field types.
Package pasta implements the Pallas and Vesta curves and their field types.
curves/pasta/impl
Package impl contains low-level Pallas and Vesta field arithmetic and point operations.
Package impl contains low-level Pallas and Vesta field arithmetic and point operations.
datastructures
Package datastructures provides generic data structure interfaces and implementations for Go.
Package datastructures provides generic data structure interfaces and implementations for Go.
datastructures/bimap
Package bimap provides bidirectional map implementations for the datastructures interfaces.
Package bimap provides bidirectional map implementations for the datastructures interfaces.
datastructures/hashmap
Package hashmap provides hash-based map implementations for the datastructures interfaces.
Package hashmap provides hash-based map implementations for the datastructures interfaces.
datastructures/hashset
Package hashset provides hash-based set implementations for the datastructures interfaces.
Package hashset provides hash-based set implementations for the datastructures interfaces.
nt
Package nt provides foundational number theory primitives for cryptographic applications.
Package nt provides foundational number theory primitives for cryptographic applications.
nt/cardinal
Package cardinal provides representations for cardinal numbers (cardinalities) used to express the size of algebraic structures such as groups, rings, and fields.
Package cardinal provides representations for cardinal numbers (cardinalities) used to express the size of algebraic structures such as groups, rings, and fields.
nt/crt
Package crt provides Chinese Remainder Theorem (CRT) reconstruction and decomposition for cryptographic applications.
Package crt provides Chinese Remainder Theorem (CRT) reconstruction and decomposition for cryptographic applications.
nt/modular
Package modular provides CRT-accelerated modular arithmetic for cryptographic applications such as RSA and Paillier.
Package modular provides CRT-accelerated modular arithmetic for cryptographic applications such as RSA and Paillier.
nt/num
Package num provides arbitrary-precision arithmetic for cryptographic applications.
Package num provides arbitrary-precision arithmetic for cryptographic applications.
nt/numct
Package numct provides constant-time arbitrary-precision arithmetic for cryptographic applications.
Package numct provides constant-time arbitrary-precision arithmetic for cryptographic applications.
nt/znstar
Package znstar provides multiplicative groups of units modulo n, denoted (Z/nZ)*, for cryptographic applications such as RSA and Paillier encryption.
Package znstar provides multiplicative groups of units modulo n, denoted (Z/nZ)*, for cryptographic applications such as RSA and Paillier encryption.
polynomials
Package polynomials provides polynomial rings and modules over algebraic structures with helpers for sampling, evaluation, and serialisation.
Package polynomials provides polynomial rings and modules over algebraic structures with helpers for sampling, evaluation, and serialisation.
polynomials/interpolation/lagrange
Package lagrange provides Lagrange interpolation utilities over finite fields and modules.
Package lagrange provides Lagrange interpolation utilities over finite fields and modules.
prng/csprng
Package csprng defines interfaces and helpers for cryptographically secure PRNGs, including a threadsafe wrapper.
Package csprng defines interfaces and helpers for cryptographically secure PRNGs, including a threadsafe wrapper.
prng/csprng/fkechacha20
Package fkechacha20 implements a cryptographically-secure pseudo-random number generator based on a fork of the ChaCha20 with fast key erasure.
Package fkechacha20 implements a cryptographically-secure pseudo-random number generator based on a fork of the ChaCha20 with fast key erasure.
prng/csprng/nist
Package nist implements a cryptographically-secure pseudo-random number generator i.e Deterministic Random Bit Generator (DRBG) definition of NIST spec, based on AES (AES128 or AES256) as block cipher in counter mode.
Package nist implements a cryptographically-secure pseudo-random number generator i.e Deterministic Random Bit Generator (DRBG) definition of NIST spec, based on AES (AES128 or AES256) as block cipher in counter mode.
prng/csprng/rfc8937
Package rfc8937 provides a randomness wrapper that ties the security of the CSPRNG to a deterministic signing key.
Package rfc8937 provides a randomness wrapper that ties the security of the CSPRNG to a deterministic signing key.
prng/pcg
Package pcg provides a seedable PCG-based PRNG for tests and non-cryptographic randomness.
Package pcg provides a seedable PCG-based PRNG for tests and non-cryptographic randomness.
serde
Package serde provides serialisation and deserialization utilities using CBOR (Concise Binary Object Representation) format.
Package serde provides serialisation and deserialization utilities using CBOR (Concise Binary Object Representation) format.
utils
Package utils provides common utility functions and helpers for working with Go primitives and data structures.
Package utils provides common utility functions and helpers for working with Go primitives and data structures.
utils/algebrautils
Package algebrautils provides utilities for working with algebraic structures such as monoids, groups, rings, and fields.
Package algebrautils provides utilities for working with algebraic structures such as monoids, groups, rings, and fields.
utils/ioutils
Package ioutils provides I/O helpers for Readers and Writers.
Package ioutils provides I/O helpers for Readers and Writers.
utils/iterutils
Package iterutils provides functional utilities for working with Go 1.23+ iterators (iter.Seq and iter.Seq2), enabling lazy evaluation and efficient data processing.
Package iterutils provides functional utilities for working with Go 1.23+ iterators (iter.Seq and iter.Seq2), enabling lazy evaluation and efficient data processing.
utils/maputils
Package maputils provides utilities for working with Go maps, providing functional transformations and map operations.
Package maputils provides utilities for working with Go maps, providing functional transformations and map operations.
utils/mathutils
Package mathutils provides mathematical utility functions for cryptographic and numerical operations.
Package mathutils provides mathematical utility functions for cryptographic and numerical operations.
utils/nocopy
Package nocopy provides types to prevent copying of structs after first use, useful for ensuring proper handling of sensitive data structures.
Package nocopy provides types to prevent copying of structs after first use, useful for ensuring proper handling of sensitive data structures.
utils/sliceutils
Package sliceutils provides functional utilities for working with slices in Go, providing a rich set of operations for transforming, filtering, and manipulating slice data.
Package sliceutils provides functional utilities for working with slices in Go, providing a rich set of operations for transforming, filtering, and manipulating slice data.
Package commitments provides interfaces and utilities for commitment schemes plus concrete hash-based and Pedersen implementations.
Package commitments provides interfaces and utilities for commitment schemes plus concrete hash-based and Pedersen implementations.
hash
Package hash_comm provides a simple, non-homomorphic commitment scheme built from a keyed BLAKE2b-256 hash (HMAC-style).
Package hash_comm provides a simple, non-homomorphic commitment scheme built from a keyed BLAKE2b-256 hash (HMAC-style).
indcpacom
Package indcpacom implements a commitment scheme based on IND-CPA secure encryption.
Package indcpacom implements a commitment scheme based on IND-CPA secure encryption.
pedersen
Package pedersen provides pedersen commitments are perfectly hiding and computationally binding.
Package pedersen provides pedersen commitments are perfectly hiding and computationally binding.
Package encryption defines generic interfaces for encryption schemes, including key generation, encryption/decryption, and homomorphic variants.
Package encryption defines generic interfaces for encryption schemes, including key generation, encryption/decryption, and homomorphic variants.
hpke
Package hpke implements Hybrid Public Key Encryption as specified in RFC 9180.
Package hpke implements Hybrid Public Key Encryption as specified in RFC 9180.
paillier
Package paillier implements the Paillier cryptosystem, an additive homomorphic public-key encryption scheme.
Package paillier implements the Paillier cryptosystem, an additive homomorphic public-key encryption scheme.
Package hashing provides core hashing utilities providing generic hash, HMAC, and KMAC operations with support for length-prefixed encoding.
Package hashing provides core hashing utilities providing generic hash, HMAC, and KMAC operations with support for length-prefixed encoding.
bip340
Package bip340 provides bIP-340 tagged hash implementation for Schnorr signatures.
Package bip340 provides bIP-340 tagged hash implementation for Schnorr signatures.
kmac
Package kmac provides kMAC (Keccak Message Authentication Code) implementation per NIST SP 800-185.
Package kmac provides kMAC (Keccak Message Authentication Code) implementation per NIST SP 800-185.
poseidon
Package poseidon provides poseidon hash function over the Pallas base field, designed for efficient use in zero-knowledge proof systems.
Package poseidon provides poseidon hash function over the Pallas base field, designed for efficient use in zero-knowledge proof systems.
Package key_agreement provides each of the subpackages implement a different key agreement algorithm.
Package key_agreement provides each of the subpackages implement a different key agreement algorithm.
dh
Package dh implements ECSVDP (Elliptic Curve Secret Value Derivation Primitive) as specified in IEEE 1363-2000.
Package dh implements ECSVDP (Elliptic Curve Secret Value Derivation Primitive) as specified in IEEE 1363-2000.
dh/dhc
Package dhc implements ECSVDP-DHC, as per section 7.2.2 of IEEE 1363-2000.
Package dhc implements ECSVDP-DHC, as per section 7.2.2 of IEEE 1363-2000.
Package network provides utilities for coordinating multi-party protocols: session identifiers, message routing, and simple exchange patterns.
Package network provides utilities for coordinating multi-party protocols: session identifiers, message routing, and simple exchange patterns.
echo
Package echo provides three-round echo broadcast primitive that ensures all honest parties deliver the same payload.
Package echo provides three-round echo broadcast primitive that ensures all honest parties deliver the same payload.
exchange
Package exchange provides convenience functions that orchestrate broadcast and unicast communication patterns over a network.Router using correlation IDs and CBOR encoding.
Package exchange provides convenience functions that orchestrate broadcast and unicast communication patterns over a network.Router using correlation IDs and CBOR encoding.
testutils
Package ntu provides helpers for exercising network protocols in-memory without real transports.
Package ntu provides helpers for exercising network protocols in-memory without real transports.
ot
Package ot provides generalises a common interface for 1-out-of-2 Oblivious Transfer protocols.
Package ot provides generalises a common interface for 1-out-of-2 Oblivious Transfer protocols.
base/ecbbot
Package ecbbot implements the "Batched Simplest OT", an OT protocol with endemic security defined in Figure 3 of MRR21, to run Random OTs (ROT) for a batch of choice bits in parallel.
Package ecbbot implements the "Batched Simplest OT", an OT protocol with endemic security defined in Figure 3 of MRR21, to run Random OTs (ROT) for a batch of choice bits in parallel.
base/vsot
Package vsot implements the "Verified Simplest OT", as defined in "protocol 7" of DKLs18.
Package vsot implements the "Verified Simplest OT", as defined in "protocol 7" of DKLs18.
extension/softspoken
Package softspoken implements of maliciously secure 1-out-of-2 Correlated Oblivious Transfer extension (COTe) protocol.
Package softspoken implements of maliciously secure 1-out-of-2 Correlated Oblivious Transfer extension (COTe) protocol.
proofs
dlog
Package dlog provides helpers for sigma proofs related to discrete logarithms.
Package dlog provides helpers for sigma proofs related to discrete logarithms.
dlog/batch_schnorr
Package batch_schnorr provides batch Schnorr protocol.
Package batch_schnorr provides batch Schnorr protocol.
dlog/schnorr
Package schnorr implements the regular Schnorr proof of knowledge of dlog.
Package schnorr implements the regular Schnorr proof of knowledge of dlog.
paillier/lp
Package lp provides implementation of zero knowledge proof of valid Paillier public key.
Package lp provides implementation of zero knowledge proof of valid Paillier public key.
paillier/lpdl
Package lpdl provides zero-knowledge proof that a value encrypted in a given Paillier ciphertext is the discrete log of a given Elliptic curve point.
Package lpdl provides zero-knowledge proof that a value encrypted in a given Paillier ciphertext is the discrete log of a given Elliptic curve point.
paillier/nthroot
Package nthroot provides implementation of zero-knowledge proof of knowledge of Nth root.
Package nthroot provides implementation of zero-knowledge proof of knowledge of Nth root.
paillier/pailliern
Package pailliern provides implementation of zero knowledge proof of valid Paillier public key.
Package pailliern provides implementation of zero knowledge proof of valid Paillier public key.
paillier/range
Package paillierrange provides a range proof.
Package paillierrange provides a range proof.
sigma
Package sigma defines a generic interface for sigma protocols and interactive compiler for running it in round-based setup where:.
Package sigma defines a generic interface for sigma protocols and interactive compiler for running it in round-based setup where:.
sigma/compiler
Package compiler provides compilers that transform interactive sigma protocols into non-interactive zero-knowledge proofs of knowledge (NIZKPoK).
Package compiler provides compilers that transform interactive sigma protocols into non-interactive zero-knowledge proofs of knowledge (NIZKPoK).
sigma/compiler/fiatshamir
Package fiatshamir implements the Fiat-Shamir transform for compiling interactive sigma protocols into non-interactive zero-knowledge proofs.
Package fiatshamir implements the Fiat-Shamir transform for compiling interactive sigma protocols into non-interactive zero-knowledge proofs.
sigma/compiler/fischlin
Package fischlin implements the Fischlin transform for compiling interactive sigma protocols into non-interactive zero-knowledge proofs with UC security.
Package fischlin implements the Fischlin transform for compiling interactive sigma protocols into non-interactive zero-knowledge proofs with UC security.
sigma/compiler/internal
Package internal defines the core interfaces for non-interactive zero-knowledge proof compilers.
Package internal defines the core interfaces for non-interactive zero-knowledge proof compilers.
sigma/compiler/randfischlin
Package randfischlin implements a randomised variant of Fischlin's transform for compiling interactive sigma protocols into non-interactive zero-knowledge proofs.
Package randfischlin implements a randomised variant of Fischlin's transform for compiling interactive sigma protocols into non-interactive zero-knowledge proofs.
sigma/compiler/zk
Package zk implements a zero-knowledge compiler that transforms honest-verifier zero-knowledge (HVZK) sigma protocols into fully zero-knowledge interactive protocols using commitment schemes.
Package zk implements a zero-knowledge compiler that transforms honest-verifier zero-knowledge (HVZK) sigma protocols into fully zero-knowledge interactive protocols using commitment schemes.
sigma/compose/sigand
Package sigand implements AND composition of sigma protocols.
Package sigand implements AND composition of sigma protocols.
sigma/compose/sigor
Package sigor implements OR composition of sigma protocols.
Package sigor implements OR composition of sigma protocols.
bls
Package bls implements BLS (Boneh-Lynn-Shacham) digital signatures as specified in draft-irtf-cfrg-bls-signature-06.
Package bls implements BLS (Boneh-Lynn-Shacham) digital signatures as specified in draft-irtf-cfrg-bls-signature-06.
ecdsa
Package ecdsa implements the Elliptic Curve Digital Signature Algorithm (ECDSA) as specified in FIPS 186-5 and SEC 1, Version 2.0.
Package ecdsa implements the Elliptic Curve Digital Signature Algorithm (ECDSA) as specified in FIPS 186-5 and SEC 1, Version 2.0.
schnorrlike
Package schnorrlike provides a generic framework for Schnorr-like signature schemes.
Package schnorrlike provides a generic framework for Schnorr-like signature schemes.
schnorrlike/bip340
Package bip340 implements BIP-340 Schnorr signatures for Bitcoin.
Package bip340 implements BIP-340 Schnorr signatures for Bitcoin.
schnorrlike/mina
Package mina implements Schnorr signatures for the Mina Protocol.
Package mina implements Schnorr signatures for the Mina Protocol.
schnorrlike/schnorr
Package vanilla provides a configurable generic Schnorr signature implementation.
Package vanilla provides a configurable generic Schnorr signature implementation.
threshold
aor
Package aor provides protocol for distributively sampling a random value: all parties contribute randomness, and everyone outputs the XOR if and only if all openings verify.
Package aor provides protocol for distributively sampling a random value: all parties contribute randomness, and everyone outputs the XOR if and only if all openings verify.
dkg/gennaro
Package gennaro provides distributed key generation for threshold signatures following the Gennaro et al.
Package gennaro provides distributed key generation for threshold signatures following the Gennaro et al.
recovery
Package recovery provides protocol for reconstructing a missing party’s Feldman share as described in “Proactive Secret Sharing”.
Package recovery provides protocol for reconstructing a missing party’s Feldman share as described in “Proactive Secret Sharing”.
refresh
Package refresh provides proactive share refresh protocol following “Proactive Secret Sharing”.
Package refresh provides proactive share refresh protocol following “Proactive Secret Sharing”.
rvole/bbot
Package rvole_bbot implements the RVole protocol using BBOT-based multiplication.
Package rvole_bbot implements the RVole protocol using BBOT-based multiplication.
rvole/softspoken
Package rvole_softspoken implements the RVole protocol using SoftSpoken-based multiplication.
Package rvole_softspoken implements the RVole protocol using SoftSpoken-based multiplication.
sharing
Package sharing defines interfaces and types for secret sharing schemes.
Package sharing defines interfaces and types for secret sharing schemes.
sharing/additive
Package additive implements additive secret sharing over arbitrary groups.
Package additive implements additive secret sharing over arbitrary groups.
sharing/feldman
Package feldman implements Feldman's verifiable secret sharing (VSS) scheme.
Package feldman implements Feldman's verifiable secret sharing (VSS) scheme.
sharing/pedersen
Package pedersen implements Pedersen's verifiable secret sharing (VSS) scheme.
Package pedersen implements Pedersen's verifiable secret sharing (VSS) scheme.
sharing/shamir
Package shamir implements Shamir's (t,n) threshold secret sharing scheme.
Package shamir implements Shamir's (t,n) threshold secret sharing scheme.
sharing/zero/hjky
Package hjky provides zero-sum sharing protocol.
Package hjky provides zero-sum sharing protocol.
sharing/zero/przs
Package przs provides pseudorandom (non-interactive) zero sharing.
Package przs provides pseudorandom (non-interactive) zero sharing.
sharing/zero/przs/setup
Package przssetup provides commit-and-reveal setup for pairwise seeds used by the PRZS sampler.
Package przssetup provides commit-and-reveal setup for pairwise seeds used by the PRZS sampler.
tsig
Package tsig defines common types for threshold signature schemes.
Package tsig defines common types for threshold signature schemes.
tsig/tbls
Package tbls provides threshold BLS signature scheme implementation for pairing-friendly curves.
Package tbls provides threshold BLS signature scheme implementation for pairing-friendly curves.
tsig/tbls/boldyreva02
Package boldyreva02 provides implementation of the Boldyreva threshold BLS signature scheme.
Package boldyreva02 provides implementation of the Boldyreva threshold BLS signature scheme.
tsig/tbls/boldyreva02/keygen
Package keygen provides shard creation for Boldyreva threshold BLS signatures.
Package keygen provides shard creation for Boldyreva threshold BLS signatures.
tsig/tbls/boldyreva02/signing
Package signing provides threshold BLS signing protocol for Boldyreva scheme.
Package signing provides threshold BLS signing protocol for Boldyreva scheme.
tsig/tecdsa
Package tecdsa defines shared types and helpers for threshold ECDSA schemes.
Package tecdsa defines shared types and helpers for threshold ECDSA schemes.
tsig/tecdsa/dkls23
Package dkls23 implements DKLs23 threshold ECDSA signing protocol.
Package dkls23 implements DKLs23 threshold ECDSA signing protocol.
tsig/tecdsa/dkls23/keygen/dkg
Package dkg implements the DKLS23 distributed key generation protocol.
Package dkg implements the DKLS23 distributed key generation protocol.
tsig/tecdsa/dkls23/keygen/trusted_dealer
Package trusted_dealer implements DKLS23 key generation with a trusted dealer.
Package trusted_dealer implements DKLS23 key generation with a trusted dealer.
tsig/tecdsa/dkls23/signing/interactive/sign
Package sign implements interactive DKLS23 signing.
Package sign implements interactive DKLS23 signing.
tsig/tecdsa/dkls23/signing/interactive/sign_bbot
Package sign_bbot implements interactive DKLS23 signing using BBOT multiplication.
Package sign_bbot implements interactive DKLS23 signing using BBOT multiplication.
tsig/tecdsa/dkls23/signing/interactive/sign_softspoken
Package sign_softspoken implements interactive DKLS23 signing using SoftSpoken multiplication.
Package sign_softspoken implements interactive DKLS23 signing using SoftSpoken multiplication.
tsig/tecdsa/lindell17
Package lindell17 implements the Lindell 2017 threshold ECDSA protocol.
Package lindell17 implements the Lindell 2017 threshold ECDSA protocol.
tsig/tecdsa/lindell17/keygen/dkg
Package dkg implements Lindell17 distributed key generation.
Package dkg implements Lindell17 distributed key generation.
tsig/tecdsa/lindell17/keygen/trusted_dealer
Package trusted_dealer implements Lindell17 key generation with a trusted dealer.
Package trusted_dealer implements Lindell17 key generation with a trusted dealer.
tsig/tecdsa/lindell17/signing
Package signing implements Lindell17 threshold ECDSA signing rounds.
Package signing implements Lindell17 threshold ECDSA signing rounds.
tsig/tschnorr
Package tschnorr provides threshold Schnorr signature implementation supporting multiple MPC-friendly Schnorr variants.
Package tschnorr provides threshold Schnorr signature implementation supporting multiple MPC-friendly Schnorr variants.
tsig/tschnorr/lindell22
Package lindell22 provides implementation of the Lindell 2022 threshold Schnorr signing protocol.
Package lindell22 provides implementation of the Lindell 2022 threshold Schnorr signing protocol.
tsig/tschnorr/lindell22/keygen
Package keygen provides key generation for Lindell22 threshold Schnorr signing.
Package keygen provides key generation for Lindell22 threshold Schnorr signing.
tsig/tschnorr/lindell22/signing
Package signing provides interactive signing protocol for Lindell22 threshold Schnorr.
Package signing provides interactive signing protocol for Lindell22 threshold Schnorr.
Package transcripts provides transcript abstractions and helpers for protocols.
Package transcripts provides transcript abstractions and helpers for protocols.
hagrid
Package hagrid provides a transcript implementation based on cSHAKE256 with domain separation and labelled message binding.
Package hagrid provides a transcript implementation based on cSHAKE256 with domain separation and labelled message binding.

Jump to

Keyboard shortcuts

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