Skip to content

Commit 99f0f71

Browse files
committed
Releasing CIRCL v1.3.6
1 parent e728d0d commit 99f0f71

File tree

2 files changed

+99
-45
lines changed

2 files changed

+99
-45
lines changed

CITATION.cff

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
cff-version: 1.2.0
3-
version: 1.3.3
3+
version: 1.3.6
44
title: "Introducing CIRCL: An Advanced Cryptographic Library"
55
license: BSD-3-Clause
66
abstract: >
@@ -25,6 +25,6 @@ keywords:
2525
- golang
2626
repository-code: "https://github.com/cloudflare/circl/"
2727
type: software
28-
message: "Available at https://github.com/cloudflare/circl. v1.3.3 Accessed May, 2023."
28+
message: "Available at https://github.com/cloudflare/circl. v1.3.6 Accessed Oct, 2023."
2929
contact:
3030
- name: "Cloudflare, Inc."

README.md

+97-43
Original file line numberDiff line numberDiff line change
@@ -25,60 +25,114 @@ You can get CIRCL by fetching:
2525
go get -u github.com/cloudflare/circl
2626
```
2727

28+
Alternatively, look at the [Cloudflare Go](https://github.com/cloudflare/go/tree/cf) fork to see how to integrate CIRCL natively in Go.
29+
2830
## List of Algorithms
2931

30-
#### Diffie-Hellman Protocol
31-
- [X25519](https://datatracker.ietf.org/doc/html/rfc7748/)
32-
- [X448](https://datatracker.ietf.org/doc/html/rfc7748/)
33-
- [Curve4Q](https://datatracker.ietf.org/doc/draft-ladd-cfrg-4q/)
32+
[RFC-7748]: https://doi.org/10.17487/RFC7748
33+
[RFC-8032]: https://doi.org/10.17487/RFC8032
34+
[RFC-8235]: https://doi.org/10.17487/RFC8235
35+
[RFC-9180]: https://doi.org/10.17487/RFC9180
36+
[RFC-9380]: https://doi.org/10.17487/RFC9380
37+
[RFC-9474]: https://doi.org/10.17487/RFC9474
38+
[RFC-9496]: https://doi.org/10.17487/RFC9496
39+
[RFC-9497]: https://doi.org/10.17487/RFC9497
40+
[FIPS 202]: https://doi.org/10.6028/NIST.FIPS.202
41+
[FIPS 186-5]: https://doi.org/10.6028/NIST.FIPS.186-5
42+
[BLS12-381]: https://electriccoin.co/blog/new-snark-curve/
43+
[ia.cr/2015/267]: https://ia.cr/2015/267
44+
[ia.cr/2019/966]: https://ia.cr/2019/966
3445

35-
#### Digital Signature Schemes
36-
- [Ed25519](https://datatracker.ietf.org/doc/rfc8032/)
37-
- [Ed448](https://datatracker.ietf.org/doc/rfc8032/)
46+
### Elliptic Curve Cryptography
3847

39-
#### Groups based on Elliptic Curves
40-
- P-256, P-384, P-521, [FIPS 186-4](https://doi.org/10.6028/NIST.FIPS.186-4)
41-
- [Ristretto](https://datatracker.ietf.org/doc/draft-irtf-cfrg-ristretto255-decaf448/01/)
42-
- [Hash to Curve](https://datatracker.ietf.org/doc/draft-irtf-cfrg-hash-to-curve/)
48+
| Diffie-Hellman Protocol |
49+
|:---:|
4350

44-
#### High-Level Protocols
45-
- [HPKE](https://datatracker.ietf.org/doc/draft-irtf-cfrg-hpke/): Hybrid Public-Key Encryption
46-
- [VOPRF](https://datatracker.ietf.org/doc/draft-irtf-cfrg-voprf/): Verifiable Oblivious Pseudorandom function: OPRF, VOPRF and POPRF modes.
47-
- [BlindRSA](https://datatracker.ietf.org/doc/draft-irtf-cfrg-rsa-blind-signatures/): Blind RSA signatures.
48-
- [CPABE](./abe/cpabe): Ciphertext-policy Attribute-based Encryption.
51+
- [X25519](./dh/x25519) and [X448](./dh/x448) functions. ([RFC-7748])
52+
- [Curve4Q](./dh/curve4q) function based on FourQ curve. ([draft-ladd-cfrg-4q](https://datatracker.ietf.org/doc/draft-ladd-cfrg-4q/))
4953

50-
#### Post-Quantum Key Encapsulation Methods
51-
- [CSIDH](https://csidh.isogeny.org/): Post-Quantum Commutative Group Action
52-
- [Kyber](https://pq-crystals.org/kyber/) KEM: modes 512, 768, 1024
53-
- [FrodoKEM](https://frodokem.org/) KEM: modes 640-SHAKE
54-
- (**insecure, deprecated**) [SIDH/SIKE](https://sike.org/): Supersingular Key Encapsulation with primes p434, p503, p751
54+
| Digital Signature Schemes |
55+
|:---:|
5556

56-
#### Post-Quantum Public-Key Encryption
57-
- [Kyber](https://pq-crystals.org/kyber/) PKE: modes 512, 768, 1024
57+
- [Ed25519](./sign/ed25519) and [Ed448](./sign/ed448) signatures. ([RFC-8032])
5858

59-
#### Post-Quantum Digital Signature Schemes
60-
- [Dilithium](https://pq-crystals.org/dilithium/): modes 2, 3, 5
59+
| Prime Groups |
60+
|:---:|
6161

62-
#### Field Arithmetic
63-
- Fp25519, Fp448, Fp381
62+
- [P-256, P-384, P-521](./group). ([FIPS 186-5])
63+
- [Ristretto](./group) group. ([RFC-9496])
64+
- [Bilinear pairings](./ecc/bls12381): with the [BLS12-381] curve, and hash to G1 and G2.
65+
- [Hash to curve](./group), hash to field, XMD and XOF [expanders](./expander). ([RFC-9380])
66+
67+
| High-Level Protocols |
68+
|:---:|
69+
70+
- [HPKE](./hpke): Hybrid Public-Key Encryption ([RFC-9180])
71+
- [VOPRF](./oprf): Verifiable Oblivious Pseudorandom functions. ([RFC-9497])
72+
- [RSA Blind Signatures](./blindsign/blindrsa). ([RFC-9474])
73+
- [Partilly-blind](./blindsign/blindrsa/partiallyblindrsa/) Signatures. ([draft-cfrg-partially-blind-rsa](https://datatracker.ietf.org/doc/draft-amjad-cfrg-partially-blind-rsa/))
74+
- [CPABE](./abe/cpabe): Ciphertext-Policy Attribute-Based Encryption. ([ia.cr/2019/966])
75+
- [OT](./ot/simot): Simplest Oblivious Transfer ([ia.cr/2015/267]).
76+
- [Threshold RSA](./tss/rsa) Signatures ([Shoup Eurocrypt 2000](https://www.iacr.org/archive/eurocrypt2000/1807/18070209-new.pdf)).
77+
78+
### Post-Quantum Cryptography
79+
80+
| KEM: Key Encapsulation Methods |
81+
|:---:|
82+
83+
- [CSIDH](./dh/csidh): Post-Quantum Commutative Group Action ([CSIDH](https://csidh.isogeny.org/)).
84+
- [Kyber KEM](./kem/kyber): modes 512, 768, 1024 ([KYBER](https://pq-crystals.org/kyber/)).
85+
- [FrodoKEM](./kem/frodo): modes 640-SHAKE. ([FrodoKEM](https://frodokem.org/))
86+
- (**insecure, deprecated**) ~~[SIDH/SIKE](./kem/sike)~~: Supersingular Key Encapsulation with primes p434, p503, p751 ([SIKE](https://sike.org/)).
87+
88+
| Digital Signature Schemes |
89+
|:---:|
90+
91+
- [Dilithium](./sign/dilithium): modes 2, 3, 5 ([Dilithium](https://pq-crystals.org/dilithium/)).
92+
93+
### Zero-knowledge Proofs
94+
95+
- [Schnorr](./zk/dl): Prove knowledge of the Discrete Logarithm. ([RFC-8235])
96+
- [DLEQ](./zk/dleq): Prove knowledge of the Discrete Logarithm Equality. ([RFC-9497])
6497

65-
#### Elliptic Curves
66-
- P-384 Curve
67-
- [FourQ](https://eprint.iacr.org/2015/565)
68-
- [Goldilocks](https://eprint.iacr.org/2015/625)
69-
- [BLS12-381](https://electriccoin.co/blog/new-snark-curve/): Bilinear pairings, hash to G1 and G2.
7098

71-
#### Parallel SIMD
72-
- [Keccak](https://keccak.team/keccak_specs_summary.html) f1600 Permutation
99+
### Symmetric Cryptography
73100

74-
#### XOF: eXtendable Output Functions
75-
- [FIPS 202](https://doi.org/10.6028/NIST.FIPS.202): SHAKE128 and SHAKE256
76-
- [BLAKE2X](https://www.blake2.net/blake2x.pdf): BLAKE2XB and BLAKE2XS
77-
- [KangarooTwelve](https://keccak.team/kangarootwelve.html): KangarooTwelve
101+
| XOF: eXtendable Output Functions |
102+
|:---:|
78103

79-
#### Zero-knowledge Proofs
80-
- [Schnorr](./zk/dl): Prove knowledge of the Discrete Logarithm.
81-
- [DLEQ](./zk/dleq): Prove knowledge of the Discrete Logarithm Equality.
104+
- [SHAKE128 and SHAKE256](./xof) ([FIPS 202]).
105+
- [BLAKE2X](./xof): BLAKE2XB and BLAKE2XS ([Blake2x](https://www.blake2.net/blake2x.pdf))
106+
- [KangarooTwelve](./xof/k12): fast hashing based on Keccak-p. ([KangarooTwelve](https://keccak.team/kangarootwelve.html)).
107+
- SIMD [Keccak](https://keccak.team/keccak_specs_summary.html) f1600 Permutation.
108+
109+
| LWC: Lightweight Cryptography |
110+
|:---:|
111+
112+
- [Ascon v1.2](./cipher/ascon): Family of AEAD block ciphers ([ASCON](https://ascon.iaik.tugraz.at/index.html))
113+
114+
### Misc
115+
116+
| Integers |
117+
|:---:|
118+
119+
- Safe primes generation.
120+
- Integer encoding: wNAF, regular signed digit, mLSBSet representations.
121+
122+
| Finite Fields |
123+
|:---:|
124+
125+
- Fp25519, Fp448, Fp511, Fp434, Fp503, Fp751.
126+
- Fp381, and its quadratic, sextic and twelveth extensions.
127+
- Polynomials in monomial and Lagrange basis.
128+
129+
| Elliptic Curves |
130+
|:---:|
131+
132+
- P-384 Curve
133+
- [FourQ](https://eprint.iacr.org/2015/565)
134+
- [Goldilocks](https://eprint.iacr.org/2015/625)
135+
- [BLS12-381](https://electriccoin.co/blog/new-snark-curve/)
82136

83137
## Testing and Benchmarking
84138

@@ -105,7 +159,7 @@ APA Style
105159
```
106160
Faz-Hernández, A. and Kwiatkowski, K. (2019). Introducing CIRCL:
107161
An Advanced Cryptographic Library. Cloudflare. Available at
108-
https://github.com/cloudflare/circl. v1.3.3 Accessed May, 2023.
162+
https://github.com/cloudflare/circl. v1.3.6 Accessed Oct, 2023.
109163
```
110164

111165
Bibtex Source
@@ -120,7 +174,7 @@ Bibtex Source
120174
of this library is to be used as a tool for experimental
121175
deployment of cryptographic algorithms targeting Post-Quantum (PQ)
122176
and Elliptic Curve Cryptography (ECC).}},
123-
note = {Available at \url{https://github.com/cloudflare/circl}. v1.3.3 Accessed May, 2023},
177+
note = {Available at \url{https://github.com/cloudflare/circl}. v1.3.6 Accessed Oct, 2023},
124178
month = jun,
125179
year = {2019}
126180
}

0 commit comments

Comments
 (0)