An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 4.1% on proxy.golang.org
Top 2.3% forks on proxy.golang.org

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.

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/cloudflare/circl/internal/sha3
Keywords: circl , cryptography , csidh , dilithium , ed25519 , ed448 , elliptic-curves , go , golang , hpke , kyber , pki , post-quantum , sidh
License: BSD-3-Clause
Latest release: 19 days ago
Namespace: github.com/cloudflare/circl/internal
Stars: 1,517 on GitHub
Forks: 176 on GitHub
Total Commits: 525
Committers: 26
Average commits per author: 20.192
Development Distribution Score (DDS): 0.56
More commit stats: commits.ecosyste.ms
See more repository details: repos.ecosyste.ms
Last synced: 19 days ago

Top 6.3% on 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 de...
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/dh/x25519
Package x25519 provides Diffie-Hellman functions as specified in RFC-7748. Validation of public ...
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/sign/ed448
Package ed448 implements Ed448 signature scheme as described in RFC-8032. This package implement...
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/sign
Package sign provides unified interfaces for signature schemes. A register of schemes is availab...
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/math/mlsbset
Package mlsbset provides a constant-time exponentiation method with precomputation. References: ...
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/ecc/goldilocks
Package goldilocks provides elliptic curve operations over the goldilocks curve.
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/math
Package math provides some utility functions for big integers.
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/dh/x448
Package x448 provides Diffie-Hellman functions as specified in RFC-7748. Validation of public ke...
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/sign/ed25519
Package ed25519 implements Ed25519 signature scheme as described in RFC-8032. This package provi...
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/internal/conv
CIRCL: Cloudflare Interoperable Reusable Cryptographic Library
Latest release: 19 days ago - 1,517 stars on GitHub
Top 4.1% on proxy.golang.org
github.com/cloudflare/circl/math/fp448
Package fp448 provides prime field arithmetic over GF(2^448-2^224-1).
Latest release: 19 days ago - 1,517 stars on GitHub
Top 5.4% on proxy.golang.org
github.com/Cloudflare/circl v1.6.1
CIRCL: Cloudflare Interoperable Reusable Cryptographic Library
17 versions - Latest release: 6 months ago - 1,517 stars on GitHub
Top 1.0% on proxy.golang.org
github.com/cloudflare/circl v1.6.1
Package circl provides a collection of cryptographic primitives. The goal of this module is to be...
17 versions - Latest release: 6 months ago - 6,861 dependent packages - 2,787 dependent repositories - 1,517 stars on GitHub
Top 4.9% on proxy.golang.org
github.com/cloudflare/circl/simd/keccakf1600/internal/asm v0.0.0-20240103120215-ede59c5caa02
CIRCL: Cloudflare Interoperable Reusable Cryptographic Library
25 versions - Latest release: over 1 year ago - 1,517 stars on GitHub
Top 4.9% on proxy.golang.org
github.com/cloudflare/circl/sign/dilithium/internal/common/asm v0.0.0-20230906233825-44133f703215
AVX2 optimized version of Poly.[Inv]NTT(). See the comments on the generic implementation for de...
21 versions - Latest release: about 2 years ago - 1,517 stars on GitHub
Top 4.9% on proxy.golang.org
github.com/cloudflare/circl/pke/kyber/internal/common/asm v0.0.0-20230906233825-44133f703215
AVX2 optimized version of polynomial operations. See the comments on the generic implementation ...
20 versions - Latest release: about 2 years ago - 1,517 stars on GitHub