{"id":13576817,"url":"https://github.com/coinbase/kryptology","last_synced_at":"2025-04-05T08:33:29.002Z","repository":{"id":37012604,"uuid":"424027493","full_name":"coinbase/kryptology","owner":"coinbase","description":null,"archived":true,"fork":false,"pushed_at":"2022-09-08T15:31:24.000Z","size":5063,"stargazers_count":843,"open_issues_count":17,"forks_count":124,"subscribers_count":31,"default_branch":"master","last_synced_at":"2024-08-02T15:31:22.418Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coinbase.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audits/Coinbase_BLS-12381_Audit_report.pdf","citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2021-11-02T23:15:27.000Z","updated_at":"2024-08-01T17:58:15.000Z","dependencies_parsed_at":"2022-07-11T15:03:49.424Z","dependency_job_id":null,"html_url":"https://github.com/coinbase/kryptology","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coinbase%2Fkryptology","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coinbase%2Fkryptology/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coinbase%2Fkryptology/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coinbase%2Fkryptology/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coinbase","download_url":"https://codeload.github.com/coinbase/kryptology/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223176832,"owners_count":17100664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T15:01:14.538Z","updated_at":"2025-04-05T08:33:28.986Z","avatar_url":"https://github.com/coinbase.png","language":"Go","funding_links":[],"categories":["Go","TSS list"],"sub_categories":[],"readme":"# Important\nThis library has been archived and is no longer supported. As such it should not be used, and it is not used by Coinbase.\n\n# Kryptology\nCoinbase's advanced cryptography library\n\n## Quickstart\nUse the latest version of this library:\n```$xslt\ngo get github.com/coinbase/kryptology\n```\n\nPin a specific release of this library:\n```$xslt\ngo get github.com/coinbase/kryptology@v1.6.0\n```\n\n## Documentation\n\nPublic documentations can be found at https://pkg.go.dev/github.com/coinbase/kryptology\n\nTo access the documentation of the local version, run `godoc -http=:6060` and open\nthe following url in your browser.\n\nhttp://localhost:6060/pkg/github.com/coinbase/kryptology/\n\n## Developer Setup\n**Prerequisites**: `golang 1.17`, `make`\n\n```$xslt\ngit clone git@github.com/coinbase/kryptology.git \u0026\u0026 make \n``` \n\n## Components\n\nThe following is the list of primitives and protocols that are implemented in this repository.\n\n### Curves\n\nThe curve abstraction code can be found at [pkg/core/curves/curve.go](pkg/core/curves/curve.go)\n\nThe curves that implement this abstraction are as follows.\n\n- [BLS12377](pkg/core/curves/bls12377_curve.go)\n- [BLS12381](pkg/core/curves/bls12381_curve.go)\n- [Ed25519](pkg/core/curves/ed25519_curve.go)\n- [Secp256k1](pkg/core/curves/k256_curve.go)\n- [P256](pkg/core/curves/p256_curve.go)\n- [Pallas](pkg/core/curves/pallas_curve.go)\n\n### Protocols\n\nThe generic protocol interface [pkg/core/protocol/protocol.go](pkg/core/protocol/protocol.go).\nThis abstraction is currently only used in DKLs18 implementation.\n\n- [Cryptographic Accumulators](pkg/accumulator)\n- [Bulletproof](pkg/bulletproof)\n- Oblivious Transfer\n  - [Verifiable Simplest OT](pkg/ot/base/simplest)\n  - [KOS OT Extension](pkg/ot/extension/kos)\n- Threshold ECDSA Signature\n  - [DKLs18 - DKG and Signing](pkg/tecdsa/dkls/v1)\n  - 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](https://eprint.iacr.org/2020/540.pdf).\n    - [GG20 - DKG](pkg/dkg/gennaro)\n    - [GG20 - Signing](pkg/tecdsa/gg20)\n- Threshold Schnorr Signature\n  - [FROST threshold signature - DKG](pkg/dkg/frost)\n  - [FROST threshold signature - Signing](pkg/ted25519/frost)\n- [Paillier encryption system](pkg/paillier)\n- Secret Sharing Schemes\n  - [Shamir's secret sharing scheme](pkg/sharing/shamir.go)\n  - [Pedersen](pkg/sharing/pedersen.go)\n  - [Feldman](pkg/sharing/feldman.go)\n- [Verifiable encryption](pkg/verenc)\n- [ZKP Schnorr](pkg/zkp/schnorr)\n\n\n## Contributing\n- [Versioning](https://blog.golang.org/publishing-go-modules): `vMajor.Minor.Patch`\n    - Major revision indicates breaking API change or significant new features\n    - Minor revision indicates no API breaking changes and may include significant new features or documentation\n    - Patch indicates no API breaking changes and may include only fixes\n \n \n## [References](docs/)\n- [[GG20] _One Round Threshold ECDSA with Identifiable Abort._](https://eprint.iacr.org/2020/540.pdf)\n- [[specV5] _One Round Threshold ECDSA for Coinbase._](docs/Coinbase_Pseudocode_v5.pdf)\n- [[EL20] _Eliding RSA Group Membership Checks._](docs/rsa-membership.pdf) [src](https://www.overleaf.com/project/5f9c3b0624a9a600012037a3)\n- [[P99] _Public-Key Cryptosystems Based on Composite Degree Residuosity Classes._](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.112.4035\u0026rep=rep1\u0026type=pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoinbase%2Fkryptology","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoinbase%2Fkryptology","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoinbase%2Fkryptology/lists"}