An open API service for producing an overview of a list of open source projects.

https://github.com/cloudflare/circl

circl cryptography csidh dilithium ed25519 ed448 elliptic-curves fips203 fips204 go golang hpke kyber ml-dsa ml-kem pki post-quantum sidh

Score: 33.58072895434252

Last synced: about 9 hours ago
JSON representation

Repository metadata:

CIRCL: Cloudflare Interoperable Reusable Cryptographic Library


Owner metadata:


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 733
Total Committers: 33
Avg Commits per committer: 22.212
Development Distribution Score (DDS): 0.469

Commits in past year: 75
Committers in past year: 10
Avg Commits per committer in past year: 7.5
Development Distribution Score (DDS) in past year: 0.333

Name Email Commits
armfazh a****h@c****m 389
Bas Westerbaan b****s@w****e 106
Kris Kwiatkowski k****s@c****m 67
Christopher Wood c****w@h****t 32
Josh Soref 2****f 31
xvzcf x****f 15
Watson Ladd w****n@c****m 13
Sofía Celi c****9@g****m 11
Michael McLoughlin m****n@g****m 10
John Bampton j****n 8
Christopher Patton c****n@g****m 7
Sascha Happ 7****s 6
Peter Wu p****u@c****m 5
Tom Thorogood m****b@t****k 5
Tanya Verma t****a@c****m 4
zhdllwyc y****w@u****u 3
Hrushikesh Deshpande 1****e 3
Diego F. Aranha d****a@g****m 2
dependabot[bot] 4****] 2
04cb 0****b@g****m 1
Ali 1****z 1
Baoshuo Ren i****@b****n 1
Bhargava Shastry b****y@e****g 1
Daniel d****n 1
Douglas Daniels d****s@g****m 1
Josh Brown j****1@g****m 1
Ko- K****- 1
Matt Clarkson m****n@g****m 1
Mik Kocikowski m****k@c****m 1
Harshini Ramanujam h****i@c****m 1
and 3 more...

Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 67
Total pull requests: 217
Average time to close issues: 5 months
Average time to close pull requests: about 2 months
Total issue authors: 48
Total pull request authors: 29
Average comments per issue: 1.93
Average comments per pull request: 1.05
Merged pull request: 162
Bot issues: 0
Bot pull requests: 2

Past year issues: 8
Past year pull requests: 28
Past year average time to close issues: 18 days
Past year average time to close pull requests: 4 days
Past year issue authors: 7
Past year pull request authors: 8
Past year average comments per issue: 0.88
Past year average comments per pull request: 0.79
Past year merged pull request: 15
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/cloudflare/circl

Top Issue Authors

  • armfazh (5)
  • bwesterb (4)
  • david415 (3)
  • chris-wood (3)
  • kriskwiatkowski (3)
  • UladzimirTrehubenka (3)
  • 3052 (2)
  • udf2457 (2)
  • krissully (2)
  • karalabe (2)
  • emersion (1)
  • JensAc (1)
  • alenhorvat (1)
  • ravinderncog (1)
  • slok2024 (1)

Top Pull Request Authors

  • armfazh (104)
  • bwesterb (40)
  • chris-wood (9)
  • Lekensteyn (9)
  • elementrics (8)
  • zhdllwyc (7)
  • tanyav2 (5)
  • tmthrgd (4)
  • z9z (3)
  • ilway25 (2)
  • dependabot[bot] (2)
  • hrushikeshdeshpande (2)
  • mattyclarkson (2)
  • emersion (2)
  • LINCKODE (2)

Top Issue Labels

  • question (8)
  • bug (7)
  • needs investigation (4)
  • help wanted (4)
  • good first issue (4)
  • new feature (2)
  • tests (2)
  • enhancement (1)
  • on-hold (1)
  • maintenance (1)
  • invalid (1)
  • documentation (1)
  • cosmetic (1)
  • fix-A-bug (1)

Top Pull Request Labels

  • new feature (30)
  • maintenance (19)
  • fix-A-bug (18)
  • enhancement (12)
  • cosmetic (11)
  • changesAPI (10)
  • tests (5)
  • documentation (4)
  • on-hold (4)
  • bug (2)
  • dependencies (2)
  • deprecated (1)

Package metadata

proxy.golang.org: github.com/cloudflare/circl

Package circl provides a collection of cryptographic primitives. The goal of this module is to be used as a tool for experimental deployment of cryptographic algorithms targeting Post-Quantum (PQ) and Elliptic Curve Cryptography (ECC). Following blog post describes ideas behind CIRCL in more details: https://blog.cloudflare.com/introducing-circl/

proxy.golang.org: github.com/cloudflare/circl/sign

Package sign provides unified interfaces for signature schemes. A register of schemes is available in the package

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/sign#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: (published 4 months ago)
  • Last Synced: 2026-04-11T17:46:12.107Z (about 1 month ago)
  • Versions: 0
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/math/fp448

Package fp448 provides prime field arithmetic over GF(2^448-2^224-1).

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/math/fp448#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 3 months ago)
  • Last Synced: 2026-05-11T14:17:48.521Z (6 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/ecc/goldilocks

Package goldilocks provides elliptic curve operations over the goldilocks curve.

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/ecc/goldilocks#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 2 days ago)
  • Last Synced: 2026-05-15T11:07:56.028Z (2 days ago)
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/sign/ed448

Package ed448 implements Ed448 signature scheme as described in RFC-8032. This package implements two signature variants. Specific functions for sign and verify are defined. A generic signing function for all schemes is available through the crypto.Signer interface, which is implemented by the PrivateKey type. A correspond all-in-one verification method is provided by the VerifyAny function. Both schemes require a context string for domain separation. This parameter is passed using a SignerOptions struct defined in this package. References:

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/sign/ed448#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 2 days ago)
  • Last Synced: 2026-05-15T11:07:55.242Z (2 days ago)
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/internal/sha3

Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. Both types of hash function use the "sponge" construction and the Keccak permutation. For a detailed specification see http://keccak.noekeon.org/ If you aren't sure what function you need, use SHAKE256 with at least 64 bytes of output. The SHAKE instances are faster than the SHA3 instances; the latter have to allocate memory to conform to the hash.Hash interface. If you need a secret-key MAC (message authentication code), prepend the secret key to the input, hash with SHAKE256 and read at least 32 bytes of output. The SHA3-x (x equals 224, 256, 384, or 512) functions have a security strength against preimage attacks of x bits. Since they only produce "x" bits of output, their collision-resistance is only "x/2" bits. The SHAKE-256 and -128 functions have a generic security strength of 256 and 128 bits against all attacks, provided that at least 2x bits of their output is used. Requesting more than 64 or 32 bytes of output, respectively, does not increase the collision-resistance of the SHAKE functions. A sponge builds a pseudo-random function from a public pseudo-random permutation, by applying the permutation to a state of "rate + capacity" bytes, but hiding "capacity" of the bytes. A sponge starts out with a zero state. To hash an input using a sponge, up to "rate" bytes of the input are XORed into the sponge's state. The sponge is then "full" and the permutation is applied to "empty" it. This process is repeated until all the input has been "absorbed". The input is then padded. The digest is "squeezed" from the sponge in the same way, except that output is copied out instead of input being XORed in. A sponge is parameterized by its generic security strength, which is equal to half its capacity; capacity + rate is equal to the permutation's width. Since the KeccakF-1600 permutation is 1600 bits (200 bytes) wide, this means that the security strength of a sponge instance is equal to (1600 - bitrate) / 2. The SHAKE functions are recommended for most new uses. They can produce output of arbitrary length. SHAKE256, with an output length of at least 64 bytes, provides 256-bit security against all attacks. The Keccak team recommends it for most applications upgrading from SHA2-512. (NIST chose a much stronger, but much slower, sponge instance for SHA3-512.) The SHA-3 functions are "drop-in" replacements for the SHA-2 functions. They produce output of the same length, with the same security strengths against all attacks. This means, in particular, that SHA3-256 only has 128-bit collision resistance, because its output length is 32 bytes.

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/internal/sha3#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published about 2 months ago)
  • Last Synced: 2026-05-15T11:07:28.729Z (2 days ago)
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/sign/ed25519

Package ed25519 implements Ed25519 signature scheme as described in RFC-8032. This package provides optimized implementations of the three signature variants and maintaining closer compatibility with crypto/ed25519. Specific functions for sign and verify are defined. A generic signing function for all schemes is available through the crypto.Signer interface, which is implemented by the PrivateKey type. A correspond all-in-one verification method is provided by the VerifyAny function. Signing with Ed25519Ph or Ed25519Ctx requires a context string for domain separation. This parameter is passed using a SignerOptions struct defined in this package. While Ed25519Ph accepts an empty context, Ed25519Ctx enforces non-empty context strings. These functions are compatible with the “Ed25519” function defined in RFC-8032. However, unlike RFC 8032's formulation, this package's private key representation includes a public key suffix to make multiple signing operations with the same key more efficient. This package refers to the RFC-8032 private key as the “seed”. References

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/sign/ed25519#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 2 days ago)
  • Last Synced: 2026-05-15T11:07:23.804Z (2 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/math/mlsbset

Package mlsbset provides a constant-time exponentiation method with precomputation. References: "Efficient and secure algorithms for GLV-based scalar multiplication and their implementation on GLV–GLS curves" by (Faz-Hernandez et al.)

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/math/mlsbset#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 2 days ago)
  • Last Synced: 2026-05-15T11:07:27.059Z (2 days ago)
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/math

Package math provides some utility functions for big integers.

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/math#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 2 days ago)
  • Last Synced: 2026-05-15T11:07:03.201Z (2 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/dh/x25519

Package x25519 provides Diffie-Hellman functions as specified in RFC-7748. Validation of public keys. The Diffie-Hellman function, as described in RFC-7748 [1], works for any public key. However, if a different protocol requires contributory behaviour [2,3], then the public keys must be validated against low-order points [3,4]. To do that, the Shared function performs this validation internally and returns false when the public key is invalid (i.e., it is a low-order point). References:

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/dh/x25519#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 2 days ago)
  • Last Synced: 2026-05-15T11:06:58.375Z (2 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/internal/conv

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/internal/conv#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 2 days ago)
  • Last Synced: 2026-05-15T11:05:59.631Z (2 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/dh/x448

Package x448 provides Diffie-Hellman functions as specified in RFC-7748. Validation of public keys. The Diffie-Hellman function, as described in RFC-7748 [1], works for any public key. However, if a different protocol requires contributory behaviour [2,3], then the public keys must be validated against low-order points [3,4]. To do that, the Shared function performs this validation internally and returns false when the public key is invalid (i.e., it is a low-order point). References:

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/dh/x448#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v1.6.3 (published 2 months ago)
  • Last Synced: 2026-05-15T11:05:58.515Z (2 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.933%
    • Forks count: 2.272%
    • Average: 4.115%
    • Dependent packages count: 5.929%
    • Dependent repos count: 6.326%
proxy.golang.org: github.com/cloudflare/circl/simd/keccakf1600/internal/asm

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/simd/keccakf1600/internal/asm#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v0.0.0-20260507191035-becaf2f2a86f (published 10 days ago)
  • Last Synced: 2026-05-15T11:07:22.021Z (2 days ago)
  • Versions: 27
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.361%
    • Forks count: 1.723%
    • Average: 4.857%
    • Dependent packages count: 6.999%
    • Dependent repos count: 9.346%
proxy.golang.org: github.com/cloudflare/circl/sign/dilithium/internal/common/asm

AVX2 optimized version of Poly.[Inv]NTT(). See the comments on the generic implementation for details on the maths involved.

proxy.golang.org: github.com/cloudflare/circl/pke/kyber/internal/common/asm

AVX2 optimized version of polynomial operations. See the comments on the generic implementation for the details of the maths involved.

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://pkg.go.dev/github.com/cloudflare/circl/pke/kyber/internal/common/asm#section-documentation
  • Licenses: BSD-3-Clause
  • Latest release: v0.0.0-20230906233825-44133f703215 (published over 2 years ago)
  • Last Synced: 2026-05-09T13:13:26.225Z (8 days ago)
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Stargazers count: 1.361%
    • Forks count: 1.723%
    • Average: 4.857%
    • Dependent packages count: 6.999%
    • Dependent repos count: 9.346%
proxy.golang.org: github.com/cloudflare/circl/math/fp25519

Package fp25519 provides prime field arithmetic over GF(2^255-19).

proxy.golang.org: github.com/Cloudflare/Circl

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/Cloudflare/Circl#section-documentation
  • Licenses:
  • Latest release: v1.6.3 (published 4 months ago)
  • Last Synced: 2026-05-15T11:06:34.213Z (2 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 4.815%
    • Average: 4.977%
    • Dependent repos count: 5.139%
proxy.golang.org: github.com/Cloudflare/circl

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/Cloudflare/circl#section-documentation
  • Licenses: other
  • Latest release: v1.6.3 (published 4 months ago)
  • Last Synced: 2026-05-04T03:03:03.463Z (14 days ago)
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.269%
    • Average: 5.446%
    • Dependent repos count: 5.623%
proxy.golang.org: github.com/cloudflare/circl/sign/internal/dilithium/asm

AVX2 optimized version of Poly.[Inv]NTT(). See the comments on the generic implementation for details on the maths involved.

ubuntu-22.04: golang-github-cloudflare-circl

  • Homepage: https://github.com/cloudflare/circl
  • Licenses:
  • Latest release: 1.0.0+20200724-1ubuntu1 (published 3 months ago)
  • Last Synced: 2026-03-07T03:35:53.283Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-11: golang-github-cloudflare-circl

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://packages.debian.org/bullseye/golang-github-cloudflare-circl
  • Licenses:
  • Latest release: 1.0.0+20200724-1 (published 3 months ago)
  • Last Synced: 2026-03-14T15:33:19.355Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-23.10: golang-github-cloudflare-circl

  • Homepage: https://github.com/cloudflare/circl
  • Licenses:
  • Latest release: 1.3.3-1 (published 3 months ago)
  • Last Synced: 2026-03-13T15:23:31.495Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-24.04: golang-github-cloudflare-circl

  • Homepage: https://github.com/cloudflare/circl
  • Licenses:
  • Latest release: 1.3.7-1 (published 3 months ago)
  • Last Synced: 2026-03-06T07:06:37.935Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-12: golang-github-cloudflare-circl

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://packages.debian.org/bookworm/golang-github-cloudflare-circl
  • Licenses:
  • Latest release: 1.3.1-2 (published 3 months ago)
  • Last Synced: 2026-03-12T23:08:58.842Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-24.10: golang-github-cloudflare-circl

  • Homepage: https://github.com/cloudflare/circl
  • Licenses:
  • Latest release: 1.3.9-1 (published 3 months ago)
  • Last Synced: 2026-03-08T15:04:57.865Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
ubuntu-23.04: golang-github-cloudflare-circl

  • Homepage: https://github.com/cloudflare/circl
  • Licenses:
  • Latest release: 1.3.1-2 (published 3 months ago)
  • Last Synced: 2026-03-11T07:13:50.268Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%
debian-13: golang-github-cloudflare-circl

  • Homepage: https://github.com/cloudflare/circl
  • Documentation: https://packages.debian.org/trixie/golang-github-cloudflare-circl
  • Licenses:
  • Latest release: 1.6.1-1 (published 3 months ago)
  • Last Synced: 2026-03-13T19:13:35.500Z (2 months ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 100%