Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
messenger
command
|
|
|
internal
|
|
|
aesgcmsiv-asm
Package siv implements the Synthetic Initialization Vector (SIV) authenticated encryption scheme specified in RFC 5297.
|
Package siv implements the Synthetic Initialization Vector (SIV) authenticated encryption scheme specified in RFC 5297. |
|
aesgcmsiv-noasm
Package aesgcmsiv implements AES-GCM-SIV as specified in RFC 8452.
|
Package aesgcmsiv implements AES-GCM-SIV as specified in RFC 8452. |
|
blake3
Package blake3 provides an SSE4.1/AVX2 accelerated BLAKE3 implementation.
|
Package blake3 provides an SSE4.1/AVX2 accelerated BLAKE3 implementation. |
|
crypto
Package crypto implements the [XAES-256-GCM] extended-nonce AEAD, an efficient combination of a NIST SP 800-108r1 KDF and AES-256-GCM.
|
Package crypto implements the [XAES-256-GCM] extended-nonce AEAD, an efficient combination of a NIST SP 800-108r1 KDF and AES-256-GCM. |
|
deoxysii
Package deoxysii implements the Deoxys-II-256-128 MRAE algorithm.
|
Package deoxysii implements the Deoxys-II-256-128 MRAE algorithm. |
|
elixxir-crypto/authorize
Package authorize contains logic for signing and verifying a given timestamp and for signing & verifying certificate request info.
|
Package authorize contains logic for signing and verifying a given timestamp and for signing & verifying certificate request info. |
|
elixxir-crypto/broadcast/escape
Package escape includes helpers for escaping and unescaping strings.
|
Package escape includes helpers for escaping and unescaping strings. |
|
elixxir-crypto/cmix
Any extensions or modifications to the core messaging functionality should be done here, except for conversion of the encrypted message types to the comms messages used for transmitting data.
|
Any extensions or modifications to the core messaging functionality should be done here, except for conversion of the encrypted message types to the comms messages used for transmitting data. |
|
elixxir-crypto/cyclic
Package cyclic wraps our large.Int structure.
|
Package cyclic wraps our large.Int structure. |
|
elixxir-crypto/diffieHellman
Package diffieHellman implements a Diffie-Hellman key exchange.
|
Package diffieHellman implements a Diffie-Hellman key exchange. |
|
elixxir-crypto/e2e
Packagee 2e contains functions used in the end-to-end encryption algorithm, including the end-to-end key rotation.
|
Packagee 2e contains functions used in the end-to-end encryption algorithm, including the end-to-end key rotation. |
|
elixxir-crypto/fastRNG
Package fastRNG is an implementation of the Fortuna construction as specified by Ferguson, Schneier and Kohno in 'Cryptography Engineering: Design Principles and Practical Applications' Link: https://www.schneier.com/academic/paperfiles/fortuna.pdf
|
Package fastRNG is an implementation of the Fortuna construction as specified by Ferguson, Schneier and Kohno in 'Cryptography Engineering: Design Principles and Practical Applications' Link: https://www.schneier.com/academic/paperfiles/fortuna.pdf |
|
elixxir-crypto/hash
Package hash includes a general-purpose hashing algorithm, blake2b, that should be suitable for most of our needs.
|
Package hash includes a general-purpose hashing algorithm, blake2b, that should be suitable for most of our needs. |
|
elixxir-crypto/nike/ecdh
Package ecdh provide an implementation of the Nike interface using X25519.
|
Package ecdh provide an implementation of the Nike interface using X25519. |
|
elixxir-crypto/partnerships/crust
Package crust will contain cryptographic functions needed for communication between the xx messenger and Crust.
|
Package crust will contain cryptographic functions needed for communication between the xx messenger and Crust. |
|
elixxir-crypto/registration
Package registration contains functions for generating data for registration.
|
Package registration contains functions for generating data for registration. |
|
elixxir-crypto/rsa
Package rsa implements a wrapper on Go's crypto/rsa into a more sane object driven approach, while adding PEM and wire marshaling and unmarshalling formats as well as a Multicast OAEP feature, which encrypts with the private key and encrypts with the public key.
|
Package rsa implements a wrapper on Go's crypto/rsa into a more sane object driven approach, while adding PEM and wire marshaling and unmarshalling formats as well as a Multicast OAEP feature, which encrypts with the private key and encrypts with the public key. |
|
elixxir-crypto/shuffle
Package shuffle has a Fisher-Yates shuffle algorithm that we use for mixing the slots in our Permute phases.
|
Package shuffle has a Fisher-Yates shuffle algorithm that we use for mixing the slots in our Permute phases. |
|
hpqc/bacap
Package bacap provides the Blinded Cryptographic Capability system (BACAP).
|
Package bacap provides the Blinded Cryptographic Capability system (BACAP). |
|
hpqc/circl/abe
Package abe provides Attribute-based data encryption algorithms.
|
Package abe provides Attribute-based data encryption algorithms. |
|
hpqc/circl/abe/cpabe
Package cpabe provides Ciphertext-Policy Attribute-based Encryption algorithms.
|
Package cpabe provides Ciphertext-Policy Attribute-based Encryption algorithms. |
|
hpqc/circl/abe/cpabe/tkn20
Package tkn20 implements a ciphertext-policy ABE by Tomida, Kawahara, Nishimaki.
|
Package tkn20 implements a ciphertext-policy ABE by Tomida, Kawahara, Nishimaki. |
|
hpqc/circl/blindsign
Package blindsign provides blind signature schemes.
|
Package blindsign provides blind signature schemes. |
|
hpqc/circl/blindsign/blindrsa
Package blindrsa implements the RSA Blind Signature Protocol as defined in [RFC9474].
|
Package blindrsa implements the RSA Blind Signature Protocol as defined in [RFC9474]. |
|
hpqc/circl/blindsign/blindrsa/partiallyblindrsa
Package partiallyblindrsa implements a partially blind RSA protocol.
|
Package partiallyblindrsa implements a partially blind RSA protocol. |
|
hpqc/circl/cipher
Package cipher provides data encryption algorithms.
|
Package cipher provides data encryption algorithms. |
|
hpqc/circl/cipher/ascon
Package ascon provides ASCON family of light-weight AEAD ciphers.
|
Package ascon provides ASCON family of light-weight AEAD ciphers. |
|
hpqc/circl/dh
Package dh provides variety of Diffie-Hellman key exchange methods.
|
Package dh provides variety of Diffie-Hellman key exchange methods. |
|
hpqc/circl/dh/csidh
Package csidh implements commutative supersingular isogeny-based Diffie-Hellman key exchange algorithm (CSIDH) resulting from the group action.
|
Package csidh implements commutative supersingular isogeny-based Diffie-Hellman key exchange algorithm (CSIDH) resulting from the group action. |
|
hpqc/circl/dh/curve4q
Package curve4q implements Diffie-Hellman operations using the FourQ curve at the 128-bit security level.
|
Package curve4q implements Diffie-Hellman operations using the FourQ curve at the 128-bit security level. |
|
hpqc/circl/dh/sidh
Package sidh is deprecated, it provides SIDH and SIKE key encapsulation mechanisms.
|
Package sidh is deprecated, it provides SIDH and SIKE key encapsulation mechanisms. |
|
hpqc/circl/dh/sidh/internal/common
Package common provides types, variables, constants and functions commonly used in SIDH or SIKE.
|
Package common provides types, variables, constants and functions commonly used in SIDH or SIKE. |
|
hpqc/circl/dh/sidh/internal/p503
Package p503 provides implementation of field arithmetic used in SIDH and SIKE.
|
Package p503 provides implementation of field arithmetic used in SIDH and SIKE. |
|
hpqc/circl/dh/sidh/internal/p751
Package p751 provides implementation of field arithmetic used in SIDH and SIKE.
|
Package p751 provides implementation of field arithmetic used in SIDH and SIKE. |
|
hpqc/circl/dh/x25519
Package x25519 provides Diffie-Hellman functions as specified in RFC-7748.
|
Package x25519 provides Diffie-Hellman functions as specified in RFC-7748. |
|
hpqc/circl/dh/x448
Package x448 provides Diffie-Hellman functions as specified in RFC-7748.
|
Package x448 provides Diffie-Hellman functions as specified in RFC-7748. |
|
hpqc/circl/ecc
Package ecc provides implementation of arithmetic on some elliptic curves.
|
Package ecc provides implementation of arithmetic on some elliptic curves. |
|
hpqc/circl/ecc/bls12381
Package bls12381 provides bilinear pairings using the BLS12-381 curve.
|
Package bls12381 provides bilinear pairings using the BLS12-381 curve. |
|
hpqc/circl/ecc/bls12381/ff
Package ff provides finite fields of characteristic P381.
|
Package ff provides finite fields of characteristic P381. |
|
hpqc/circl/ecc/fourq
Package fourq provides elliptic curve operations over FourQ curve.
|
Package fourq provides elliptic curve operations over FourQ curve. |
|
hpqc/circl/ecc/goldilocks
Package goldilocks provides elliptic curve operations over the goldilocks curve.
|
Package goldilocks provides elliptic curve operations over the goldilocks curve. |
|
hpqc/circl/ecc/p384
Package p384 provides optimized elliptic curve operations on the P-384 curve.
|
Package p384 provides optimized elliptic curve operations on the P-384 curve. |
|
hpqc/circl/expander
Package expander generates arbitrary bytes from an XOF or Hash function.
|
Package expander generates arbitrary bytes from an XOF or Hash function. |
|
hpqc/circl/group
Package group provides prime-order groups based on elliptic curves.
|
Package group provides prime-order groups based on elliptic curves. |
|
hpqc/circl/hpke
Package hpke implements the Hybrid Public Key Encryption (HPKE) standard specified by draft-irtf-cfrg-hpke-07.
|
Package hpke implements the Hybrid Public Key Encryption (HPKE) standard specified by draft-irtf-cfrg-hpke-07. |
|
hpqc/circl/internal/nist
Package nist implements helpers to generate NIST's Known Answer Tests (KATs).
|
Package nist implements helpers to generate NIST's Known Answer Tests (KATs). |
|
hpqc/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.
|
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. |
|
hpqc/circl/kem
Package kem provides a unified interface for KEM schemes.
|
Package kem provides a unified interface for KEM schemes. |
|
hpqc/circl/kem/frodo
Package frodo provides the key encapsulation mechanism FrodoKEM.
|
Package frodo provides the key encapsulation mechanism FrodoKEM. |
|
hpqc/circl/kem/frodo/frodo640shake
Package frodo640shake implements the variant FrodoKEM-640 with SHAKE.
|
Package frodo640shake implements the variant FrodoKEM-640 with SHAKE. |
|
hpqc/circl/kem/hybrid
Package hybrid defines several hybrid classical/quantum KEMs for use in TLS.
|
Package hybrid defines several hybrid classical/quantum KEMs for use in TLS. |
|
hpqc/circl/kem/kyber
Package kyber implements the CRYSTALS-Kyber.CCAKEM IND-CCA2 secure key encapsulation mechanism (KEM) as submitted to round 3 of the NIST PQC competition and described in
|
Package kyber implements the CRYSTALS-Kyber.CCAKEM IND-CCA2 secure key encapsulation mechanism (KEM) as submitted to round 3 of the NIST PQC competition and described in |
|
hpqc/circl/kem/kyber/kyber1024
Package kyber1024 implements the IND-CCA2 secure key encapsulation mechanism Kyber1024.CCAKEM as submitted to round 3 of the NIST PQC competition and described in
|
Package kyber1024 implements the IND-CCA2 secure key encapsulation mechanism Kyber1024.CCAKEM as submitted to round 3 of the NIST PQC competition and described in |
|
hpqc/circl/kem/kyber/kyber512
Package kyber512 implements the IND-CCA2 secure key encapsulation mechanism Kyber512.CCAKEM as submitted to round 3 of the NIST PQC competition and described in
|
Package kyber512 implements the IND-CCA2 secure key encapsulation mechanism Kyber512.CCAKEM as submitted to round 3 of the NIST PQC competition and described in |
|
hpqc/circl/kem/kyber/kyber768
Package kyber768 implements the IND-CCA2 secure key encapsulation mechanism Kyber768.CCAKEM as submitted to round 3 of the NIST PQC competition and described in
|
Package kyber768 implements the IND-CCA2 secure key encapsulation mechanism Kyber768.CCAKEM as submitted to round 3 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece
Package mceliece implements the Classic McEliece cryptosystem.
|
Package mceliece implements the Classic McEliece cryptosystem. |
|
hpqc/circl/kem/mceliece/mceliece348864
Package mceliece348864 implements the IND-CCA2 secure key encapsulation mechanism mceliece348864 as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece348864 implements the IND-CCA2 secure key encapsulation mechanism mceliece348864 as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece348864f
Package mceliece348864f implements the IND-CCA2 secure key encapsulation mechanism mceliece348864f as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece348864f implements the IND-CCA2 secure key encapsulation mechanism mceliece348864f as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece460896
Package mceliece460896 implements the IND-CCA2 secure key encapsulation mechanism mceliece460896 as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece460896 implements the IND-CCA2 secure key encapsulation mechanism mceliece460896 as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece460896f
Package mceliece460896f implements the IND-CCA2 secure key encapsulation mechanism mceliece460896f as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece460896f implements the IND-CCA2 secure key encapsulation mechanism mceliece460896f as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece6688128
Package mceliece6688128 implements the IND-CCA2 secure key encapsulation mechanism mceliece6688128 as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece6688128 implements the IND-CCA2 secure key encapsulation mechanism mceliece6688128 as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece6688128f
Package mceliece6688128f implements the IND-CCA2 secure key encapsulation mechanism mceliece6688128f as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece6688128f implements the IND-CCA2 secure key encapsulation mechanism mceliece6688128f as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece6960119
Package mceliece6960119 implements the IND-CCA2 secure key encapsulation mechanism mceliece6960119 as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece6960119 implements the IND-CCA2 secure key encapsulation mechanism mceliece6960119 as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece6960119f
Package mceliece6960119f implements the IND-CCA2 secure key encapsulation mechanism mceliece6960119f as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece6960119f implements the IND-CCA2 secure key encapsulation mechanism mceliece6960119f as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece8192128
Package mceliece8192128 implements the IND-CCA2 secure key encapsulation mechanism mceliece8192128 as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece8192128 implements the IND-CCA2 secure key encapsulation mechanism mceliece8192128 as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mceliece/mceliece8192128f
Package mceliece8192128f implements the IND-CCA2 secure key encapsulation mechanism mceliece8192128f as submitted to round 4 of the NIST PQC competition and described in
|
Package mceliece8192128f implements the IND-CCA2 secure key encapsulation mechanism mceliece8192128f as submitted to round 4 of the NIST PQC competition and described in |
|
hpqc/circl/kem/mlkem
Package mlkem implements IND-CCA2 secure ML-KEM key encapsulation mechanism (KEM) as defined in FIPS 203.
|
Package mlkem implements IND-CCA2 secure ML-KEM key encapsulation mechanism (KEM) as defined in FIPS 203. |
|
hpqc/circl/kem/mlkem/mlkem1024
Package mlkem1024 implements the IND-CCA2 secure key encapsulation mechanism ML-KEM-1024 as defined in FIPS203.
|
Package mlkem1024 implements the IND-CCA2 secure key encapsulation mechanism ML-KEM-1024 as defined in FIPS203. |
|
hpqc/circl/kem/mlkem/mlkem512
Package mlkem512 implements the IND-CCA2 secure key encapsulation mechanism ML-KEM-512 as defined in FIPS203.
|
Package mlkem512 implements the IND-CCA2 secure key encapsulation mechanism ML-KEM-512 as defined in FIPS203. |
|
hpqc/circl/kem/mlkem/mlkem768
Package mlkem768 implements the IND-CCA2 secure key encapsulation mechanism ML-KEM-768 as defined in FIPS203.
|
Package mlkem768 implements the IND-CCA2 secure key encapsulation mechanism ML-KEM-768 as defined in FIPS203. |
|
hpqc/circl/kem/schemes
Package schemes contains a register of KEM schemes.
|
Package schemes contains a register of KEM schemes. |
|
hpqc/circl/kem/sike
Package sike is deprecated, it contains the SIKE key encapsulation mechanism.
|
Package sike is deprecated, it contains the SIKE key encapsulation mechanism. |
|
hpqc/circl/kem/sike/sikep434
Package sikep434 is deprecated, it implements the key encapsulation mechanism SIKEp434.
|
Package sikep434 is deprecated, it implements the key encapsulation mechanism SIKEp434. |
|
hpqc/circl/kem/sike/sikep503
Package sikep503 is deprecated, it implements the key encapsulation mechanism SIKEp503.
|
Package sikep503 is deprecated, it implements the key encapsulation mechanism SIKEp503. |
|
hpqc/circl/kem/sike/sikep751
Package sikep751 is deprecated, it implements the key encapsulation mechanism SIKEp751.
|
Package sikep751 is deprecated, it implements the key encapsulation mechanism SIKEp751. |
|
hpqc/circl/kem/xwing
Package xwing implements the X-Wing PQ/T hybrid KEM
|
Package xwing implements the X-Wing PQ/T hybrid KEM |
|
hpqc/circl/math
Package math provides some utility functions for big integers.
|
Package math provides some utility functions for big integers. |
|
hpqc/circl/math/fp25519
Package fp25519 provides prime field arithmetic over GF(2^255-19).
|
Package fp25519 provides prime field arithmetic over GF(2^255-19). |
|
hpqc/circl/math/fp448
Package fp448 provides prime field arithmetic over GF(2^448-2^224-1).
|
Package fp448 provides prime field arithmetic over GF(2^448-2^224-1). |
|
hpqc/circl/math/gf2e12
Package gf2e12 provides finite field arithmetic over GF(2^12).
|
Package gf2e12 provides finite field arithmetic over GF(2^12). |
|
hpqc/circl/math/gf2e13
Package gf2e13 provides finite field arithmetic over GF(2^13).
|
Package gf2e13 provides finite field arithmetic over GF(2^13). |
|
hpqc/circl/math/mlsbset
Package mlsbset provides a constant-time exponentiation method with precomputation.
|
Package mlsbset provides a constant-time exponentiation method with precomputation. |
|
hpqc/circl/math/polynomial
Package polynomial provides representations of polynomials over the scalars of a group.
|
Package polynomial provides representations of polynomials over the scalars of a group. |
|
hpqc/circl/oprf
Package oprf provides Verifiable, Oblivious Pseudo-Random Functions.
|
Package oprf provides Verifiable, Oblivious Pseudo-Random Functions. |
|
hpqc/circl/ot
Package ot provides oblivious-transfer protocols.
|
Package ot provides oblivious-transfer protocols. |
|
hpqc/circl/pke
Package pke provides a variety of public key encryption mechanisms.
|
Package pke provides a variety of public key encryption mechanisms. |
|
hpqc/circl/pke/kyber
Package kyber implements the CRYSTALS-Kyber.CPAPKE public key encryption as submitted to round 3 of the NIST PQC competition and described in
|
Package kyber implements the CRYSTALS-Kyber.CPAPKE public key encryption as submitted to round 3 of the NIST PQC competition and described in |
|
hpqc/circl/pke/kyber/kyber1024
kyber1024 implements the IND-CPA-secure Public Key Encryption scheme Kyber1024.CPAPKE as submitted to round 3 of the NIST PQC competition and described in
|
kyber1024 implements the IND-CPA-secure Public Key Encryption scheme Kyber1024.CPAPKE as submitted to round 3 of the NIST PQC competition and described in |
|
hpqc/circl/pke/kyber/kyber512
kyber512 implements the IND-CPA-secure Public Key Encryption scheme Kyber512.CPAPKE as submitted to round 3 of the NIST PQC competition and described in
|
kyber512 implements the IND-CPA-secure Public Key Encryption scheme Kyber512.CPAPKE as submitted to round 3 of the NIST PQC competition and described in |
|
hpqc/circl/pke/kyber/kyber768
kyber768 implements the IND-CPA-secure Public Key Encryption scheme Kyber768.CPAPKE as submitted to round 3 of the NIST PQC competition and described in
|
kyber768 implements the IND-CPA-secure Public Key Encryption scheme Kyber768.CPAPKE as submitted to round 3 of the NIST PQC competition and described in |
|
hpqc/circl/secretsharing
Package secretsharing provides methods to split secrets into shares.
|
Package secretsharing provides methods to split secrets into shares. |
|
hpqc/circl/sign
Package sign provides unified interfaces for signature schemes.
|
Package sign provides unified interfaces for signature schemes. |
|
hpqc/circl/sign/bls
Package bls provides BLS signatures using the BLS12-381 pairing curve.
|
Package bls provides BLS signatures using the BLS12-381 pairing curve. |
|
hpqc/circl/sign/dilithium
Deprecated.
|
Deprecated. |
|
hpqc/circl/sign/dilithium/mode2
mode2 implements the CRYSTALS-Dilithium signature scheme Dilithium2 as submitted to round3 of the NIST PQC competition and described in
|
mode2 implements the CRYSTALS-Dilithium signature scheme Dilithium2 as submitted to round3 of the NIST PQC competition and described in |
|
hpqc/circl/sign/dilithium/mode3
mode3 implements the CRYSTALS-Dilithium signature scheme Dilithium3 as submitted to round3 of the NIST PQC competition and described in
|
mode3 implements the CRYSTALS-Dilithium signature scheme Dilithium3 as submitted to round3 of the NIST PQC competition and described in |
|
hpqc/circl/sign/dilithium/mode5
mode5 implements the CRYSTALS-Dilithium signature scheme Dilithium5 as submitted to round3 of the NIST PQC competition and described in
|
mode5 implements the CRYSTALS-Dilithium signature scheme Dilithium5 as submitted to round3 of the NIST PQC competition and described in |
|
hpqc/circl/sign/ed25519
Package ed25519 implements Ed25519 signature scheme as described in RFC-8032.
|
Package ed25519 implements Ed25519 signature scheme as described in RFC-8032. |
|
hpqc/circl/sign/ed448
Package ed448 implements Ed448 signature scheme as described in RFC-8032.
|
Package ed448 implements Ed448 signature scheme as described in RFC-8032. |
|
hpqc/circl/sign/eddilithium2
Package eddilithium2 implements the hybrid signature scheme Ed25519-Dilithium2.
|
Package eddilithium2 implements the hybrid signature scheme Ed25519-Dilithium2. |
|
hpqc/circl/sign/eddilithium3
Package eddilithium3 implements the hybrid signature scheme Ed448-Dilithium3.
|
Package eddilithium3 implements the hybrid signature scheme Ed448-Dilithium3. |
|
hpqc/circl/sign/mldsa
mldsa implements NIST post-quantum signature scheme ML-DSA (FIPS204)
|
mldsa implements NIST post-quantum signature scheme ML-DSA (FIPS204) |
|
hpqc/circl/sign/mldsa/mldsa44
mldsa44 implements NIST signature scheme ML-DSA-44 as defined in FIPS204.
|
mldsa44 implements NIST signature scheme ML-DSA-44 as defined in FIPS204. |
|
hpqc/circl/sign/mldsa/mldsa65
mldsa65 implements NIST signature scheme ML-DSA-65 as defined in FIPS204.
|
mldsa65 implements NIST signature scheme ML-DSA-65 as defined in FIPS204. |
|
hpqc/circl/sign/mldsa/mldsa87
mldsa87 implements NIST signature scheme ML-DSA-87 as defined in FIPS204.
|
mldsa87 implements NIST signature scheme ML-DSA-87 as defined in FIPS204. |
|
hpqc/circl/sign/schemes
Package schemes contains a register of signature algorithms.
|
Package schemes contains a register of signature algorithms. |
|
hpqc/circl/sign/slhdsa
Package slhdsa provides Stateless Hash-based Digital Signature Algorithm.
|
Package slhdsa provides Stateless Hash-based Digital Signature Algorithm. |
|
hpqc/circl/simd
Package simd provides parallel implementations of some primitives.
|
Package simd provides parallel implementations of some primitives. |
|
hpqc/circl/simd/keccakf1600
Package keccakf1600 provides a two and four-way Keccak-f[1600] permutation in parallel.
|
Package keccakf1600 provides a two and four-way Keccak-f[1600] permutation in parallel. |
|
hpqc/circl/tss
Package tss provides threshold signature schemes.
|
Package tss provides threshold signature schemes. |
|
hpqc/circl/tss/rsa
Package rsa provides RSA threshold signature scheme.
|
Package rsa provides RSA threshold signature scheme. |
|
hpqc/circl/vdaf
Package vdaf provides verifiable distributed aggregation functions.
|
Package vdaf provides verifiable distributed aggregation functions. |
|
hpqc/circl/vdaf/prio3
Package prio3 implements Prio3, a set of Verifiable Distributed Aggregation Functions (VDAFs).
|
Package prio3 implements Prio3, a set of Verifiable Distributed Aggregation Functions (VDAFs). |
|
hpqc/circl/vdaf/prio3/arith
Package arith provides arithmetic operations over prime fields, vectors, and polynomials.
|
Package arith provides arithmetic operations over prime fields, vectors, and polynomials. |
|
hpqc/circl/vdaf/prio3/count
Package count is a VDAF for counting Boolean measurements.
|
Package count is a VDAF for counting Boolean measurements. |
|
hpqc/circl/vdaf/prio3/histogram
Package histogram is a VDAF for aggregating integer measurements into buckets.
|
Package histogram is a VDAF for aggregating integer measurements into buckets. |
|
hpqc/circl/vdaf/prio3/internal/cursor
Package cursor aids with iteration of slices.
|
Package cursor aids with iteration of slices. |
|
hpqc/circl/vdaf/prio3/internal/flp
Package flp provides a Fully-Linear Proof (FLP) system.
|
Package flp provides a Fully-Linear Proof (FLP) system. |
|
hpqc/circl/vdaf/prio3/internal/prio3
Package prio3 supports a variety of verifiable distributed aggregation functions.
|
Package prio3 supports a variety of verifiable distributed aggregation functions. |
|
hpqc/circl/vdaf/prio3/mhcv
Package mhcv is a VDAF for aggregating vectors of Booleans with bounded weight.
|
Package mhcv is a VDAF for aggregating vectors of Booleans with bounded weight. |
|
hpqc/circl/vdaf/prio3/sum
Package sum is a VDAF for aggregating integers in a pre-determined range.
|
Package sum is a VDAF for aggregating integers in a pre-determined range. |
|
hpqc/circl/vdaf/prio3/sumvec
Package sumvec is a VDAF for aggregating vectors of integers in a pre-determined range.
|
Package sumvec is a VDAF for aggregating vectors of integers in a pre-determined range. |
|
hpqc/circl/xof
Package xof provides an interface for eXtendable-Output Functions.
|
Package xof provides an interface for eXtendable-Output Functions. |
|
hpqc/circl/xof/k12
k12 implements the KangarooTwelve XOF.
|
k12 implements the KangarooTwelve XOF. |
|
hpqc/circl/zk
Package zk provides primitives for zero-knowledge proofs of knowledge.
|
Package zk provides primitives for zero-knowledge proofs of knowledge. |
|
hpqc/circl/zk/dl
Package dl provides a Schnorr NIZK discrete-log proof.
|
Package dl provides a Schnorr NIZK discrete-log proof. |
|
hpqc/circl/zk/dleq
Package dleq provides zero-knowledge proofs of Discrete-Logarithm Equivalence (DLEQ).
|
Package dleq provides zero-knowledge proofs of Discrete-Logarithm Equivalence (DLEQ). |
|
hpqc/circl/zk/qndleq
Package qndleq provides zero-knowledge proofs of Discrete-Logarithm Equivalence (DLEQ) on Qn.
|
Package qndleq provides zero-knowledge proofs of Discrete-Logarithm Equivalence (DLEQ) on Qn. |
|
hpqc/kem
Package kem provides a unified interface for KEM schemes.
|
Package kem provides a unified interface for KEM schemes. |
|
hpqc/kem/adapter
Package adapter provides an adhoc hashed ElGamal construction that essentially acts like an adapter, adapting a NIKE to KEM.
|
Package adapter provides an adhoc hashed ElGamal construction that essentially acts like an adapter, adapting a NIKE to KEM. |
|
hpqc/kem/circlkem
Package circlkem adapts circl KEM types to hpqc KEM interfaces.
|
Package circlkem adapts circl KEM types to hpqc KEM interfaces. |
|
hpqc/kem/combiner
Package combiner is a security-preserving KEM combiner.
|
Package combiner is a security-preserving KEM combiner. |
|
hpqc/kem/hqc
Package hqc provides KEM wrappers around the go-hqc implementation of the HQC (Hamming Quasi-Cyclic) code-based post-quantum KEM, exposing the three NIST parameter sets through our common kem.Scheme interface.
|
Package hqc provides KEM wrappers around the go-hqc implementation of the HQC (Hamming Quasi-Cyclic) code-based post-quantum KEM, exposing the three NIST parameter sets through our common kem.Scheme interface. |
|
hpqc/kem/mkem
Package mkem provides multiparty KEM construction.
|
Package mkem provides multiparty KEM construction. |
|
hpqc/kem/mlkem768
Package mlkem768 provides a KEM wrapper that uses our KEM interfaces.
|
Package mlkem768 provides a KEM wrapper that uses our KEM interfaces. |
|
hpqc/kem/sntrup
This package provide the Streamlined NTRU Prime KEM.
|
This package provide the Streamlined NTRU Prime KEM. |
|
hpqc/kem/xwing
Package xwing provides the xwing KEM using a KEM wrapper so that it obeys our KEM interfaces for Scheme, PrivateKey, PublicKey.
|
Package xwing provides the xwing KEM using a KEM wrapper so that it obeys our KEM interfaces for Scheme, PrivateKey, PublicKey. |
|
hpqc/nike
Package nike contains generic NIKE interfaces and many implementations.
|
Package nike contains generic NIKE interfaces and many implementations. |
|
hpqc/rand
Package rand provides various utitilies related to generating cryptographically secure random numbers and byte vectors.
|
Package rand provides various utitilies related to generating cryptographically secure random numbers and byte vectors. |
|
hpqc/sign/circlsign
Package circlsign adapts circl sign types to hpqc sign interfaces.
|
Package circlsign adapts circl sign types to hpqc sign interfaces. |
|
hpqc/sign/ed25519
Package is our ed25519 wrapper type which also conforms to our generic interfaces for signature schemes.
|
Package is our ed25519 wrapper type which also conforms to our generic interfaces for signature schemes. |
|
hpqc/sign/falcon
Package falcon implements the hpqc sign.Scheme interface for the padded Falcon parameter sets exposed by github.com/katzenpost/falcon (Falcon-padded-512 and Falcon-padded-1024).
|
Package falcon implements the hpqc sign.Scheme interface for the padded Falcon parameter sets exposed by github.com/katzenpost/falcon (Falcon-padded-512 and Falcon-padded-1024). |
|
hpqc/sign/mldsa
Package mldsa implements the hpqc sign.Scheme interface for the FIPS 204 ML-DSA signature scheme, in its three standard parameterisations (ML-DSA-44, ML-DSA-65, ML-DSA-87).
|
Package mldsa implements the hpqc sign.Scheme interface for the FIPS 204 ML-DSA signature scheme, in its three standard parameterisations (ML-DSA-44, ML-DSA-65, ML-DSA-87). |
|
hpqc/sign/sphincsplus
Package sphincsplus implements interface wrapper around a specific parameterization of Sphincs+.
|
Package sphincsplus implements interface wrapper around a specific parameterization of Sphincs+. |
|
hpqc/sign/sqisign
Package sqisign implements the hpqc sign.Scheme interface for SQIsign level 1.
|
Package sqisign implements the hpqc sign.Scheme interface for SQIsign level 1. |
|
hpqc/sqisign/bindings/go/sqisign
Package sqisign is a Go binding for the SQIsign level-1 signature scheme, wrapping the sqisign-ffi crate at the repository root.
|
Package sqisign is a Go binding for the SQIsign level-1 signature scheme, wrapping the sqisign-ffi crate at the repository root. |
|
lms/common
Package common contains some data types and utilities used throughout the lms and ots packages.
|
Package common contains some data types and utilities used throughout the lms and ots packages. |
|
lms/lms
Package lms implements Leighton-Micali Hash-Based Signatures (RFC 8554)
|
Package lms implements Leighton-Micali Hash-Based Signatures (RFC 8554) |
|
lms/ots
Package ots implements one-time signatures (LM-OTS) for use in LMS
|
Package ots implements one-time signatures (LM-OTS) for use in LMS |
|
oqs
Package oqs provides a GO wrapper for the C liboqs quantum-resistant library.
|
Package oqs provides a GO wrapper for the C liboqs quantum-resistant library. |
|
skein
Package skein implements the Skein512 hash function based on the Threefish tweakable block cipher.
|
Package skein implements the Skein512 hash function based on the Threefish tweakable block cipher. |
|
skein/skein1024
Package skein1024 implements the Skein1024 hash function based on the Threefish1024 tweakable block cipher.
|
Package skein1024 implements the Skein1024 hash function based on the Threefish1024 tweakable block cipher. |
|
skein/skein256
Package skein256 implements the Skein256 hash function based on the Threefish256 tweakable block cipher.
|
Package skein256 implements the Skein256 hash function based on the Threefish256 tweakable block cipher. |
|
skein/threefish
Package threefish implements the Threefish tweakable block cipher.
|
Package threefish implements the Threefish tweakable block cipher. |
|
threefish
Package threefish implements the Threefish tweakable block cipher.
|
Package threefish implements the Threefish tweakable block cipher. |
|
xmssmt
Go implementation of the XMSS[MT] post-quantum stateful hash-based signature scheme as described in RFC 8391.
|
Go implementation of the XMSS[MT] post-quantum stateful hash-based signature scheme as described in RFC 8391. |
|
xx-network-crypto/chacha
Package chacha contains logic for encryption and decryption using the chacha20poly1305 encryption algorithm.
|
Package chacha contains logic for encryption and decryption using the chacha20poly1305 encryption algorithm. |
|
xx-network-crypto/csprng
Package csprng wraps the golang crypto/rand package so that we can use different random number generators interchangeably when the need arises.
|
Package csprng wraps the golang crypto/rand package so that we can use different random number generators interchangeably when the need arises. |
|
xx-network-crypto/mnemonic
Package mnemonic provides english mnemonic encodings wrapping the golang bip39 reference implementation.
|
Package mnemonic provides english mnemonic encodings wrapping the golang bip39 reference implementation. |
|
xx-network-crypto/nonce
Package nonce contains our implementation of a nonce, including an expiration time, generation time and TTL.
|
Package nonce contains our implementation of a nonce, including an expiration time, generation time and TTL. |
|
xx-network-crypto/signature/ec
Package ec contains logic for handling elliptic curve keys
|
Package ec contains logic for handling elliptic curve keys |
|
xx-network-crypto/signature/rsa
Package rsa pem.go imports and exports to pem files.
|
Package rsa pem.go imports and exports to pem files. |
|
xx-network-crypto/tls
Package tls contains wrapper functions for creating GRPC credentials.
|
Package tls contains wrapper functions for creating GRPC credentials. |
|
xx-network-primitives/id
Package id contains the generic ID type, which is a byte array that represents an entity ID.
|
Package id contains the generic ID type, which is a byte array that represents an entity ID. |
|
xx-network-primitives/id/idf
Package idf contains the structure of the ID File.
|
Package idf contains the structure of the ID File. |
|
xx-network-primitives/keyMutex
Package keyMutex implements a keyed mutex with a sync map.
|
Package keyMutex implements a keyed mutex with a sync map. |
|
xx-network-primitives/netTime
Package netTime provides a custom time function that should provide the current accurate time used by the network from a custom time service.
|
Package netTime provides a custom time function that should provide the current accurate time used by the network from a custom time service. |
|
xx-network-primitives/rateLimiting
Package rateLimiting implements the leaky bucket algorithm: https://en.wikipedia.org/wiki/Leaky_bucket
|
Package rateLimiting implements the leaky bucket algorithm: https://en.wikipedia.org/wiki/Leaky_bucket |
Click to show internal directories.
Click to hide internal directories.