pq_crypto 0.3.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +56 -0
  3. data/CHANGELOG.md +50 -0
  4. data/GET_STARTED.md +374 -30
  5. data/README.md +59 -195
  6. data/SECURITY.md +101 -82
  7. data/ext/pqcrypto/extconf.rb +85 -9
  8. data/ext/pqcrypto/mldsa_api.h +71 -1
  9. data/ext/pqcrypto/mlkem_api.h +24 -0
  10. data/ext/pqcrypto/pq_externalmu.c +310 -0
  11. data/ext/pqcrypto/pqcrypto_ruby_secure.c +784 -85
  12. data/ext/pqcrypto/pqcrypto_secure.c +179 -72
  13. data/ext/pqcrypto/pqcrypto_secure.h +103 -7
  14. data/ext/pqcrypto/pqcrypto_version.h +7 -0
  15. data/ext/pqcrypto/vendor/.vendored +1 -1
  16. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/Makefile +8 -0
  17. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/LICENSE +5 -0
  18. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/Makefile +19 -0
  19. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/Makefile.Microsoft_nmake +23 -0
  20. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/api.h +18 -0
  21. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/cbd.c +83 -0
  22. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/cbd.h +11 -0
  23. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/indcpa.c +327 -0
  24. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/indcpa.h +22 -0
  25. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/kem.c +164 -0
  26. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/kem.h +23 -0
  27. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/ntt.c +146 -0
  28. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/ntt.h +14 -0
  29. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/params.h +36 -0
  30. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/poly.c +311 -0
  31. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/poly.h +37 -0
  32. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/polyvec.c +198 -0
  33. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/polyvec.h +26 -0
  34. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/reduce.c +41 -0
  35. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/reduce.h +13 -0
  36. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/symmetric-shake.c +71 -0
  37. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/symmetric.h +30 -0
  38. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/verify.c +67 -0
  39. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/verify.h +13 -0
  40. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/LICENSE +5 -0
  41. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/Makefile +19 -0
  42. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/Makefile.Microsoft_nmake +23 -0
  43. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/api.h +18 -0
  44. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/cbd.c +108 -0
  45. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/cbd.h +11 -0
  46. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/indcpa.c +327 -0
  47. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/indcpa.h +22 -0
  48. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/kem.c +164 -0
  49. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/kem.h +23 -0
  50. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/ntt.c +146 -0
  51. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/ntt.h +14 -0
  52. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/params.h +36 -0
  53. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/poly.c +299 -0
  54. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/poly.h +37 -0
  55. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/polyvec.c +188 -0
  56. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/polyvec.h +26 -0
  57. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/reduce.c +41 -0
  58. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/reduce.h +13 -0
  59. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/symmetric-shake.c +71 -0
  60. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/symmetric.h +30 -0
  61. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/verify.c +67 -0
  62. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/verify.h +13 -0
  63. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/Makefile +19 -0
  64. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/LICENSE +5 -0
  65. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/Makefile +19 -0
  66. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/Makefile.Microsoft_nmake +23 -0
  67. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/api.h +50 -0
  68. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/ntt.c +98 -0
  69. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/ntt.h +10 -0
  70. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/packing.c +261 -0
  71. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/packing.h +31 -0
  72. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/params.h +44 -0
  73. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/poly.c +848 -0
  74. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/poly.h +52 -0
  75. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/polyvec.c +415 -0
  76. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/polyvec.h +65 -0
  77. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/reduce.c +69 -0
  78. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/reduce.h +17 -0
  79. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/rounding.c +98 -0
  80. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/rounding.h +14 -0
  81. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/sign.c +407 -0
  82. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/sign.h +47 -0
  83. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/symmetric-shake.c +26 -0
  84. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/symmetric.h +34 -0
  85. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/Makefile +19 -0
  86. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/LICENSE +5 -0
  87. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/Makefile +19 -0
  88. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/Makefile.Microsoft_nmake +23 -0
  89. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/api.h +50 -0
  90. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/ntt.c +98 -0
  91. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/ntt.h +10 -0
  92. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/packing.c +261 -0
  93. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/packing.h +31 -0
  94. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/params.h +44 -0
  95. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/poly.c +823 -0
  96. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/poly.h +52 -0
  97. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/polyvec.c +415 -0
  98. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/polyvec.h +65 -0
  99. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/reduce.c +69 -0
  100. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/reduce.h +17 -0
  101. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/rounding.c +92 -0
  102. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/rounding.h +14 -0
  103. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/sign.c +407 -0
  104. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/sign.h +47 -0
  105. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/symmetric-shake.c +26 -0
  106. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/symmetric.h +34 -0
  107. data/lib/pq_crypto/algorithm_registry.rb +200 -0
  108. data/lib/pq_crypto/hybrid_kem.rb +1 -12
  109. data/lib/pq_crypto/kem.rb +104 -13
  110. data/lib/pq_crypto/pkcs8.rb +387 -0
  111. data/lib/pq_crypto/serialization.rb +1 -14
  112. data/lib/pq_crypto/signature.rb +231 -13
  113. data/lib/pq_crypto/spki.rb +131 -0
  114. data/lib/pq_crypto/version.rb +1 -1
  115. data/lib/pq_crypto.rb +90 -19
  116. data/script/vendor_libs.rb +4 -0
  117. metadata +99 -3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pq_crypto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Haydarov
@@ -51,8 +51,8 @@ dependencies:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '5.0'
54
- description: Native Ruby wrapper around ML-KEM-768, ML-DSA-65, and an optional hybrid
55
- ML-KEM-768+X25519 KEM, backed by PQClean and OpenSSL.
54
+ description: Native Ruby wrapper around ML-KEM, ML-DSA, and an optional hybrid ML-KEM-768+X25519
55
+ KEM, backed by PQClean and OpenSSL.
56
56
  email:
57
57
  - romanhajdarov@gmail.com
58
58
  executables: []
@@ -69,10 +69,12 @@ files:
69
69
  - ext/pqcrypto/extconf.rb
70
70
  - ext/pqcrypto/mldsa_api.h
71
71
  - ext/pqcrypto/mlkem_api.h
72
+ - ext/pqcrypto/pq_externalmu.c
72
73
  - ext/pqcrypto/pq_randombytes.c
73
74
  - ext/pqcrypto/pqcrypto_ruby_secure.c
74
75
  - ext/pqcrypto/pqcrypto_secure.c
75
76
  - ext/pqcrypto/pqcrypto_secure.h
77
+ - ext/pqcrypto/pqcrypto_version.h
76
78
  - ext/pqcrypto/vendor/.vendored
77
79
  - ext/pqcrypto/vendor/pqclean/common/aes.c
78
80
  - ext/pqcrypto/vendor/pqclean/common/aes.h
@@ -86,6 +88,7 @@ files:
86
88
  - ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-times4-SIMD256.c
87
89
  - ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-times4-SnP.h
88
90
  - ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-unrolling.macros
91
+ - ext/pqcrypto/vendor/pqclean/common/keccak4x/Makefile
89
92
  - ext/pqcrypto/vendor/pqclean/common/keccak4x/Makefile.Microsoft_nmake
90
93
  - ext/pqcrypto/vendor/pqclean/common/keccak4x/SIMD256-config.h
91
94
  - ext/pqcrypto/vendor/pqclean/common/keccak4x/align.h
@@ -98,7 +101,54 @@ files:
98
101
  - ext/pqcrypto/vendor/pqclean/common/sha2.h
99
102
  - ext/pqcrypto/vendor/pqclean/common/sp800-185.c
100
103
  - ext/pqcrypto/vendor/pqclean/common/sp800-185.h
104
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/LICENSE
105
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/Makefile
106
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/Makefile.Microsoft_nmake
107
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/api.h
108
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/cbd.c
109
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/cbd.h
110
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/indcpa.c
111
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/indcpa.h
112
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/kem.c
113
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/kem.h
114
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/ntt.c
115
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/ntt.h
116
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/params.h
117
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/poly.c
118
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/poly.h
119
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/polyvec.c
120
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/polyvec.h
121
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/reduce.c
122
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/reduce.h
123
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/symmetric-shake.c
124
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/symmetric.h
125
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/verify.c
126
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/verify.h
127
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/LICENSE
128
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/Makefile
129
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/Makefile.Microsoft_nmake
130
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/api.h
131
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/cbd.c
132
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/cbd.h
133
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/indcpa.c
134
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/indcpa.h
135
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/kem.c
136
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/kem.h
137
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/ntt.c
138
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/ntt.h
139
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/params.h
140
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/poly.c
141
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/poly.h
142
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/polyvec.c
143
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/polyvec.h
144
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/reduce.c
145
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/reduce.h
146
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/symmetric-shake.c
147
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/symmetric.h
148
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/verify.c
149
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/verify.h
101
150
  - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/LICENSE
151
+ - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/Makefile
102
152
  - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/Makefile.Microsoft_nmake
103
153
  - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/api.h
104
154
  - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/cbd.c
@@ -120,7 +170,29 @@ files:
120
170
  - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/symmetric.h
121
171
  - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/verify.c
122
172
  - ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/verify.h
173
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/LICENSE
174
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/Makefile
175
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/Makefile.Microsoft_nmake
176
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/api.h
177
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/ntt.c
178
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/ntt.h
179
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/packing.c
180
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/packing.h
181
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/params.h
182
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/poly.c
183
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/poly.h
184
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/polyvec.c
185
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/polyvec.h
186
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/reduce.c
187
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/reduce.h
188
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/rounding.c
189
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/rounding.h
190
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/sign.c
191
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/sign.h
192
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/symmetric-shake.c
193
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/symmetric.h
123
194
  - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/LICENSE
195
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/Makefile
124
196
  - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/Makefile.Microsoft_nmake
125
197
  - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/api.h
126
198
  - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/ntt.c
@@ -140,12 +212,36 @@ files:
140
212
  - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/sign.h
141
213
  - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/symmetric-shake.c
142
214
  - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/symmetric.h
215
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/LICENSE
216
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/Makefile
217
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/Makefile.Microsoft_nmake
218
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/api.h
219
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/ntt.c
220
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/ntt.h
221
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/packing.c
222
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/packing.h
223
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/params.h
224
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/poly.c
225
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/poly.h
226
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/polyvec.c
227
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/polyvec.h
228
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/reduce.c
229
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/reduce.h
230
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/rounding.c
231
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/rounding.h
232
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/sign.c
233
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/sign.h
234
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/symmetric-shake.c
235
+ - ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/symmetric.h
143
236
  - lib/pq_crypto.rb
237
+ - lib/pq_crypto/algorithm_registry.rb
144
238
  - lib/pq_crypto/errors.rb
145
239
  - lib/pq_crypto/hybrid_kem.rb
146
240
  - lib/pq_crypto/kem.rb
241
+ - lib/pq_crypto/pkcs8.rb
147
242
  - lib/pq_crypto/serialization.rb
148
243
  - lib/pq_crypto/signature.rb
244
+ - lib/pq_crypto/spki.rb
149
245
  - lib/pq_crypto/version.rb
150
246
  - lib/pqcrypto.rb
151
247
  - script/vendor_libs.rb