This library has been archived and is no longer supported. As such it should not be used, and it is not used by Coinbase.
Coinbase's advanced cryptography library
Caution
This fork is not maintained actively, it is only used as a way for the Obol team to update critical dependencies on Charon. It will be deprecated soon
Caution
The FROST DKG implementation in this repository might be vulnerable to a DDoS attack, which could potentially disrupt the keys being generated. Charon is immune to that thanks to its defensive programming approach.
Use the latest version of this library:
go get github.com/coinbase/kryptology
Pin a specific release of this library:
go get github.com/coinbase/[email protected]
Public documentations can be found at https://pkg.go.dev/github.com/coinbase/kryptology
To access the documentation of the local version, run godoc -http=:6060
and open
the following url in your browser.
http://localhost:6060/pkg/github.com/coinbase/kryptology/
Prerequisites: golang 1.17
, make
git clone [email protected]/coinbase/kryptology.git && make
The following is the list of primitives and protocols that are implemented in this repository.
The curve abstraction code can be found at pkg/core/curves/curve.go
The curves that implement this abstraction are as follows.
The generic protocol interface pkg/core/protocol/protocol.go. This abstraction is currently only used in DKLs18 implementation.
- Cryptographic Accumulators
- Bulletproof
- Oblivious Transfer
- Threshold ECDSA Signature
- DKLs18 - DKG and Signing
- GG20: The authors of GG20 have stated that the protocol is obsolete and should not be used. See https://eprint.iacr.org/2020/540.pdf.
- Threshold Schnorr Signature
- Paillier encryption system
- Secret Sharing Schemes
- Verifiable encryption
- ZKP Schnorr
- Versioning:
vMajor.Minor.Patch
- Major revision indicates breaking API change or significant new features
- Minor revision indicates no API breaking changes and may include significant new features or documentation
- Patch indicates no API breaking changes and may include only fixes