Skip to content

Commit

Permalink
Add common utilities for CRYSTALS Kyber/Dilithium
Browse files Browse the repository at this point in the history
Most notably, this is an abstract implementation to handle CRYSTALS
polynomials, poly vectors and poly matrices. Also, a generic
implementation for bit-packed encoding/decoding of coefficients
useful for both Kyber and Dilithium.

Co-Authored-By: Fabian Albert <[email protected]>
  • Loading branch information
reneme and FAlbertDev committed Jun 21, 2024
1 parent 3002915 commit a851298
Show file tree
Hide file tree
Showing 9 changed files with 1,536 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/lib/pubkey/kyber/kyber_common/kyber.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* (C) 2021-2022 Jack Lloyd
* (C) 2021-2022 Manuel Glaser and Michael Boric, Rohde & Schwarz Cybersecurity
* (C) 2021-2022 René Meusel and Hannes Rantzsch, neXenio GmbH
* (C) 2024 René Meusel, Rohde & Schwarz Cybersecurity
* (C) 2024 René Meusel, Fabian Albert, Rohde & Schwarz Cybersecurity
*
* Botan is released under the Simplified BSD License (see license.txt)
*/
Expand Down
2 changes: 1 addition & 1 deletion src/lib/pubkey/kyber/kyber_common/kyber_keys.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* (C) 2021-2024 Jack Lloyd
* (C) 2021-2022 Manuel Glaser and Michael Boric, Rohde & Schwarz Cybersecurity
* (C) 2021-2022 René Meusel and Hannes Rantzsch, neXenio GmbH
* (C) 2024 René Meusel, Rohde & Schwarz Cybersecurity
* (C) 2024 René Meusel, Fabian Albert, Rohde & Schwarz Cybersecurity
*
* Botan is released under the Simplified BSD License (see license.txt)
*/
Expand Down
18 changes: 18 additions & 0 deletions src/lib/pubkey/pqcrystals/info.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<defines>
PQCRYSTALS -> 20240228
</defines>

<module_info>
name -> "CRYSTALS"
brief -> "Base utilities for CRYSTALS-Kyber/ML-KEM and CRYSTALS-Dilithium/ML-DSA. CRYptographic SuiTe for Algebraic LatticeS"
type -> "Internal"
</module_info>

<requires>
</requires>

<header:internal>
pqcrystals.h
pqcrystals_encoding.h
pqcrystals_helpers.h
</header:internal>
Loading

0 comments on commit a851298

Please sign in to comment.