Skip to content

Commit

Permalink
fix security flaw in hqc
Browse files Browse the repository at this point in the history
  • Loading branch information
thomwiggers committed Dec 11, 2024
1 parent 96a0178 commit 0c07fa8
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 6 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

## 2024-12-11
* `pqcrypto-hqc` was updated to addresss a security flaw in decapsulation.

## 2024-10-24
* `pqcrypto-kyber` and `pqcrypto-dilithium` are retired and replaced by `pqcrypto-mlkem` and `pqcrypto-mldsa`, respectively.
* `pqcrypto-falcon` now separates Falcon into the "compressed" mode and the "padded" variants. The "compressed" variant likely produces shorter signatures than the max size.
Expand Down
4 changes: 2 additions & 2 deletions implementations.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---

pqcrypto_version: 0.18.0
pqcrypto_version: 0.18.1
traits_version: 0.3.5

kems:
Expand Down Expand Up @@ -50,7 +50,7 @@ kems:
implementations: [clean, avx2]
doctest: no
hqc:
version: 0.2.0
version: 0.2.1
implementations: [clean]
schemes:
- name: hqc-128
Expand Down
2 changes: 1 addition & 1 deletion pqclean
Submodule pqclean updated 84 files
+4 −0 SECURITY.md
+1 −1 crypto_kem/hqc-128/META.yml
+1 −0 crypto_kem/hqc-128/clean/api.h
+5 −0 crypto_kem/hqc-128/clean/code.c
+2 −0 crypto_kem/hqc-128/clean/code.h
+2 −0 crypto_kem/hqc-128/clean/domains.h
+11 −0 crypto_kem/hqc-128/clean/fft.c
+2 −0 crypto_kem/hqc-128/clean/fft.h
+11 −0 crypto_kem/hqc-128/clean/gf.c
+7 −0 crypto_kem/hqc-128/clean/gf.h
+1 −0 crypto_kem/hqc-128/clean/gf2x.c
+1 −0 crypto_kem/hqc-128/clean/gf2x.h
+7 −0 crypto_kem/hqc-128/clean/hqc.c
+2 −0 crypto_kem/hqc-128/clean/hqc.h
+11 −3 crypto_kem/hqc-128/clean/kem.c
+2 −0 crypto_kem/hqc-128/clean/parameters.h
+11 −0 crypto_kem/hqc-128/clean/parsing.c
+5 −0 crypto_kem/hqc-128/clean/parsing.h
+11 −0 crypto_kem/hqc-128/clean/reed_muller.c
+2 −0 crypto_kem/hqc-128/clean/reed_muller.h
+15 −0 crypto_kem/hqc-128/clean/reed_solomon.c
+2 −0 crypto_kem/hqc-128/clean/reed_solomon.h
+3 −0 crypto_kem/hqc-128/clean/shake_ds.c
+2 −0 crypto_kem/hqc-128/clean/shake_ds.h
+3 −0 crypto_kem/hqc-128/clean/shake_prng.c
+2 −0 crypto_kem/hqc-128/clean/shake_prng.h
+9 −0 crypto_kem/hqc-128/clean/vector.c
+3 −0 crypto_kem/hqc-128/clean/vector.h
+1 −1 crypto_kem/hqc-192/META.yml
+1 −0 crypto_kem/hqc-192/clean/api.h
+5 −0 crypto_kem/hqc-192/clean/code.c
+2 −0 crypto_kem/hqc-192/clean/code.h
+2 −0 crypto_kem/hqc-192/clean/domains.h
+11 −0 crypto_kem/hqc-192/clean/fft.c
+2 −0 crypto_kem/hqc-192/clean/fft.h
+11 −0 crypto_kem/hqc-192/clean/gf.c
+7 −0 crypto_kem/hqc-192/clean/gf.h
+1 −0 crypto_kem/hqc-192/clean/gf2x.c
+1 −0 crypto_kem/hqc-192/clean/gf2x.h
+7 −0 crypto_kem/hqc-192/clean/hqc.c
+2 −0 crypto_kem/hqc-192/clean/hqc.h
+11 −3 crypto_kem/hqc-192/clean/kem.c
+2 −0 crypto_kem/hqc-192/clean/parameters.h
+11 −0 crypto_kem/hqc-192/clean/parsing.c
+5 −0 crypto_kem/hqc-192/clean/parsing.h
+11 −0 crypto_kem/hqc-192/clean/reed_muller.c
+2 −0 crypto_kem/hqc-192/clean/reed_muller.h
+15 −0 crypto_kem/hqc-192/clean/reed_solomon.c
+2 −0 crypto_kem/hqc-192/clean/reed_solomon.h
+3 −0 crypto_kem/hqc-192/clean/shake_ds.c
+2 −0 crypto_kem/hqc-192/clean/shake_ds.h
+3 −0 crypto_kem/hqc-192/clean/shake_prng.c
+2 −0 crypto_kem/hqc-192/clean/shake_prng.h
+9 −0 crypto_kem/hqc-192/clean/vector.c
+3 −0 crypto_kem/hqc-192/clean/vector.h
+1 −1 crypto_kem/hqc-256/META.yml
+1 −0 crypto_kem/hqc-256/clean/api.h
+5 −0 crypto_kem/hqc-256/clean/code.c
+2 −0 crypto_kem/hqc-256/clean/code.h
+2 −0 crypto_kem/hqc-256/clean/domains.h
+11 −0 crypto_kem/hqc-256/clean/fft.c
+2 −0 crypto_kem/hqc-256/clean/fft.h
+11 −0 crypto_kem/hqc-256/clean/gf.c
+7 −0 crypto_kem/hqc-256/clean/gf.h
+1 −0 crypto_kem/hqc-256/clean/gf2x.c
+1 −0 crypto_kem/hqc-256/clean/gf2x.h
+7 −0 crypto_kem/hqc-256/clean/hqc.c
+2 −0 crypto_kem/hqc-256/clean/hqc.h
+11 −3 crypto_kem/hqc-256/clean/kem.c
+2 −0 crypto_kem/hqc-256/clean/parameters.h
+11 −0 crypto_kem/hqc-256/clean/parsing.c
+5 −0 crypto_kem/hqc-256/clean/parsing.h
+11 −0 crypto_kem/hqc-256/clean/reed_muller.c
+2 −0 crypto_kem/hqc-256/clean/reed_muller.h
+15 −0 crypto_kem/hqc-256/clean/reed_solomon.c
+2 −0 crypto_kem/hqc-256/clean/reed_solomon.h
+3 −0 crypto_kem/hqc-256/clean/shake_ds.c
+2 −0 crypto_kem/hqc-256/clean/shake_ds.h
+3 −0 crypto_kem/hqc-256/clean/shake_prng.c
+2 −0 crypto_kem/hqc-256/clean/shake_prng.h
+9 −0 crypto_kem/hqc-256/clean/vector.c
+3 −0 crypto_kem/hqc-256/clean/vector.h
+1 −0 test/duplicate_consistency/hqc-128_clean.yml
+1 −0 test/duplicate_consistency/hqc-192_clean.yml
2 changes: 1 addition & 1 deletion pqcrypto-hqc/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "pqcrypto-hqc"
description = "Post-Quantum Key-Encapsulation Mechanism hqc"
readme = "README.md"
version = "0.2.0"
version = "0.2.1"
authors = ["Thom Wiggers <[email protected]>"]
edition = "2021"
license = "MIT OR Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions pqcrypto/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "pqcrypto"
description = "Post-Quantum cryptographic primitives"
readme = "README.md"
version = "0.18.0"
version = "0.18.1"
authors = ["Thom Wiggers <[email protected]>"]
edition = "2021"
license = "MIT OR Apache-2.0"
Expand All @@ -15,7 +15,7 @@ categories = ["cryptography"]
pqcrypto-traits = { path = "../pqcrypto-traits", version = "0.3.5" }
pqcrypto-mlkem = { path = "../pqcrypto-mlkem", version = "0.1.0", optional = true }
pqcrypto-classicmceliece = { path = "../pqcrypto-classicmceliece", version = "0.2.0", optional = true }
pqcrypto-hqc = { path = "../pqcrypto-hqc", version = "0.2.0", optional = true }
pqcrypto-hqc = { path = "../pqcrypto-hqc", version = "0.2.1", optional = true }
pqcrypto-mldsa = { path = "../pqcrypto-mldsa", version = "0.1.0", optional = true }
pqcrypto-falcon = { path = "../pqcrypto-falcon", version = "0.4.0", optional = true }
pqcrypto-sphincsplus = { path = "../pqcrypto-sphincsplus", version = "0.7.0", optional = true }
Expand Down

0 comments on commit 0c07fa8

Please sign in to comment.