@oqs/liboqs-js 0.15.0

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 (317) hide show
  1. package/LICENSE.md +50 -0
  2. package/README.md +829 -0
  3. package/bin/cli.js +16 -0
  4. package/dist/classic-mceliece-348864.deno.js +0 -0
  5. package/dist/classic-mceliece-348864.min.js +0 -0
  6. package/dist/classic-mceliece-348864f.deno.js +0 -0
  7. package/dist/classic-mceliece-348864f.min.js +0 -0
  8. package/dist/classic-mceliece-460896.deno.js +0 -0
  9. package/dist/classic-mceliece-460896.min.js +0 -0
  10. package/dist/classic-mceliece-460896f.deno.js +0 -0
  11. package/dist/classic-mceliece-460896f.min.js +0 -0
  12. package/dist/classic-mceliece-6688128.deno.js +0 -0
  13. package/dist/classic-mceliece-6688128.min.js +0 -0
  14. package/dist/classic-mceliece-6688128f.deno.js +0 -0
  15. package/dist/classic-mceliece-6688128f.min.js +0 -0
  16. package/dist/classic-mceliece-6960119.deno.js +0 -0
  17. package/dist/classic-mceliece-6960119.min.js +0 -0
  18. package/dist/classic-mceliece-6960119f.deno.js +0 -0
  19. package/dist/classic-mceliece-6960119f.min.js +0 -0
  20. package/dist/classic-mceliece-8192128.deno.js +0 -0
  21. package/dist/classic-mceliece-8192128.min.js +0 -0
  22. package/dist/classic-mceliece-8192128f.deno.js +0 -0
  23. package/dist/classic-mceliece-8192128f.min.js +0 -0
  24. package/dist/cross-rsdp-128-balanced.deno.js +0 -0
  25. package/dist/cross-rsdp-128-balanced.min.js +0 -0
  26. package/dist/cross-rsdp-128-fast.deno.js +0 -0
  27. package/dist/cross-rsdp-128-fast.min.js +0 -0
  28. package/dist/cross-rsdp-128-small.deno.js +0 -0
  29. package/dist/cross-rsdp-128-small.min.js +0 -0
  30. package/dist/cross-rsdp-192-balanced.deno.js +0 -0
  31. package/dist/cross-rsdp-192-balanced.min.js +0 -0
  32. package/dist/cross-rsdp-192-fast.deno.js +0 -0
  33. package/dist/cross-rsdp-192-fast.min.js +0 -0
  34. package/dist/cross-rsdp-192-small.deno.js +0 -0
  35. package/dist/cross-rsdp-192-small.min.js +0 -0
  36. package/dist/cross-rsdp-256-balanced.deno.js +0 -0
  37. package/dist/cross-rsdp-256-balanced.min.js +0 -0
  38. package/dist/cross-rsdp-256-fast.deno.js +0 -0
  39. package/dist/cross-rsdp-256-fast.min.js +0 -0
  40. package/dist/cross-rsdp-256-small.deno.js +0 -0
  41. package/dist/cross-rsdp-256-small.min.js +0 -0
  42. package/dist/cross-rsdpg-128-balanced.deno.js +0 -0
  43. package/dist/cross-rsdpg-128-balanced.min.js +0 -0
  44. package/dist/cross-rsdpg-128-fast.deno.js +0 -0
  45. package/dist/cross-rsdpg-128-fast.min.js +0 -0
  46. package/dist/cross-rsdpg-128-small.deno.js +0 -0
  47. package/dist/cross-rsdpg-128-small.min.js +0 -0
  48. package/dist/cross-rsdpg-192-balanced.deno.js +0 -0
  49. package/dist/cross-rsdpg-192-balanced.min.js +0 -0
  50. package/dist/cross-rsdpg-192-fast.deno.js +0 -0
  51. package/dist/cross-rsdpg-192-fast.min.js +0 -0
  52. package/dist/cross-rsdpg-192-small.deno.js +0 -0
  53. package/dist/cross-rsdpg-192-small.min.js +0 -0
  54. package/dist/cross-rsdpg-256-balanced.deno.js +0 -0
  55. package/dist/cross-rsdpg-256-balanced.min.js +0 -0
  56. package/dist/cross-rsdpg-256-fast.deno.js +0 -0
  57. package/dist/cross-rsdpg-256-fast.min.js +0 -0
  58. package/dist/cross-rsdpg-256-small.deno.js +0 -0
  59. package/dist/cross-rsdpg-256-small.min.js +0 -0
  60. package/dist/falcon-1024.deno.js +0 -0
  61. package/dist/falcon-1024.min.js +0 -0
  62. package/dist/falcon-512.deno.js +0 -0
  63. package/dist/falcon-512.min.js +0 -0
  64. package/dist/falcon-padded-1024.deno.js +0 -0
  65. package/dist/falcon-padded-1024.min.js +0 -0
  66. package/dist/falcon-padded-512.deno.js +0 -0
  67. package/dist/falcon-padded-512.min.js +0 -0
  68. package/dist/frodokem-1344-aes.deno.js +0 -0
  69. package/dist/frodokem-1344-aes.min.js +0 -0
  70. package/dist/frodokem-1344-shake.deno.js +0 -0
  71. package/dist/frodokem-1344-shake.min.js +0 -0
  72. package/dist/frodokem-640-aes.deno.js +0 -0
  73. package/dist/frodokem-640-aes.min.js +0 -0
  74. package/dist/frodokem-640-shake.deno.js +0 -0
  75. package/dist/frodokem-640-shake.min.js +0 -0
  76. package/dist/frodokem-976-aes.deno.js +0 -0
  77. package/dist/frodokem-976-aes.min.js +0 -0
  78. package/dist/frodokem-976-shake.deno.js +0 -0
  79. package/dist/frodokem-976-shake.min.js +0 -0
  80. package/dist/hqc-128.deno.js +0 -0
  81. package/dist/hqc-128.min.js +0 -0
  82. package/dist/hqc-192.deno.js +0 -0
  83. package/dist/hqc-192.min.js +0 -0
  84. package/dist/hqc-256.deno.js +0 -0
  85. package/dist/hqc-256.min.js +0 -0
  86. package/dist/kyber-1024.deno.js +0 -0
  87. package/dist/kyber-1024.min.js +0 -0
  88. package/dist/kyber-512.deno.js +0 -0
  89. package/dist/kyber-512.min.js +0 -0
  90. package/dist/kyber-768.deno.js +0 -0
  91. package/dist/kyber-768.min.js +0 -0
  92. package/dist/mayo-1.deno.js +0 -0
  93. package/dist/mayo-1.min.js +0 -0
  94. package/dist/mayo-2.deno.js +0 -0
  95. package/dist/mayo-2.min.js +0 -0
  96. package/dist/mayo-3.deno.js +0 -0
  97. package/dist/mayo-3.min.js +0 -0
  98. package/dist/mayo-5.deno.js +0 -0
  99. package/dist/mayo-5.min.js +0 -0
  100. package/dist/ml-dsa-44.deno.js +0 -0
  101. package/dist/ml-dsa-44.min.js +0 -0
  102. package/dist/ml-dsa-65.deno.js +0 -0
  103. package/dist/ml-dsa-65.min.js +0 -0
  104. package/dist/ml-dsa-87.deno.js +0 -0
  105. package/dist/ml-dsa-87.min.js +0 -0
  106. package/dist/ml-kem-1024.deno.js +0 -0
  107. package/dist/ml-kem-1024.min.js +0 -0
  108. package/dist/ml-kem-512.deno.js +0 -0
  109. package/dist/ml-kem-512.min.js +0 -0
  110. package/dist/ml-kem-768.deno.js +0 -0
  111. package/dist/ml-kem-768.min.js +0 -0
  112. package/dist/ntru-hps-2048-509.deno.js +0 -0
  113. package/dist/ntru-hps-2048-509.min.js +0 -0
  114. package/dist/ntru-hps-2048-677.deno.js +0 -0
  115. package/dist/ntru-hps-2048-677.min.js +0 -0
  116. package/dist/ntru-hps-4096-1229.deno.js +0 -0
  117. package/dist/ntru-hps-4096-1229.min.js +0 -0
  118. package/dist/ntru-hps-4096-821.deno.js +0 -0
  119. package/dist/ntru-hps-4096-821.min.js +0 -0
  120. package/dist/ntru-hrss-1373.deno.js +0 -0
  121. package/dist/ntru-hrss-1373.min.js +0 -0
  122. package/dist/ntru-hrss-701.deno.js +0 -0
  123. package/dist/ntru-hrss-701.min.js +0 -0
  124. package/dist/ov-iii-pkc-skc.deno.js +0 -0
  125. package/dist/ov-iii-pkc-skc.min.js +0 -0
  126. package/dist/ov-iii-pkc.deno.js +0 -0
  127. package/dist/ov-iii-pkc.min.js +0 -0
  128. package/dist/ov-iii.deno.js +0 -0
  129. package/dist/ov-iii.min.js +0 -0
  130. package/dist/ov-ip-pkc-skc.deno.js +0 -0
  131. package/dist/ov-ip-pkc-skc.min.js +0 -0
  132. package/dist/ov-ip-pkc.deno.js +0 -0
  133. package/dist/ov-ip-pkc.min.js +0 -0
  134. package/dist/ov-ip.deno.js +0 -0
  135. package/dist/ov-ip.min.js +0 -0
  136. package/dist/ov-is-pkc-skc.deno.js +0 -0
  137. package/dist/ov-is-pkc-skc.min.js +0 -0
  138. package/dist/ov-is-pkc.deno.js +0 -0
  139. package/dist/ov-is-pkc.min.js +0 -0
  140. package/dist/ov-is.deno.js +0 -0
  141. package/dist/ov-is.min.js +0 -0
  142. package/dist/ov-v-pkc-skc.deno.js +0 -0
  143. package/dist/ov-v-pkc-skc.min.js +0 -0
  144. package/dist/ov-v-pkc.deno.js +0 -0
  145. package/dist/ov-v-pkc.min.js +0 -0
  146. package/dist/ov-v.deno.js +0 -0
  147. package/dist/ov-v.min.js +0 -0
  148. package/dist/slh-dsa-sha2-128f.deno.js +0 -0
  149. package/dist/slh-dsa-sha2-128f.min.js +0 -0
  150. package/dist/slh-dsa-sha2-128s.deno.js +0 -0
  151. package/dist/slh-dsa-sha2-128s.min.js +0 -0
  152. package/dist/slh-dsa-sha2-192f.deno.js +0 -0
  153. package/dist/slh-dsa-sha2-192f.min.js +0 -0
  154. package/dist/slh-dsa-sha2-192s.deno.js +0 -0
  155. package/dist/slh-dsa-sha2-192s.min.js +0 -0
  156. package/dist/slh-dsa-sha2-256f.deno.js +0 -0
  157. package/dist/slh-dsa-sha2-256f.min.js +0 -0
  158. package/dist/slh-dsa-sha2-256s.deno.js +0 -0
  159. package/dist/slh-dsa-sha2-256s.min.js +0 -0
  160. package/dist/slh-dsa-shake-128f.deno.js +0 -0
  161. package/dist/slh-dsa-shake-128f.min.js +0 -0
  162. package/dist/slh-dsa-shake-128s.deno.js +0 -0
  163. package/dist/slh-dsa-shake-128s.min.js +0 -0
  164. package/dist/slh-dsa-shake-192f.deno.js +0 -0
  165. package/dist/slh-dsa-shake-192f.min.js +0 -0
  166. package/dist/slh-dsa-shake-192s.deno.js +0 -0
  167. package/dist/slh-dsa-shake-192s.min.js +0 -0
  168. package/dist/slh-dsa-shake-256f.deno.js +0 -0
  169. package/dist/slh-dsa-shake-256f.min.js +0 -0
  170. package/dist/slh-dsa-shake-256s.deno.js +0 -0
  171. package/dist/slh-dsa-shake-256s.min.js +0 -0
  172. package/dist/snova-24-5-4-esk.deno.js +0 -0
  173. package/dist/snova-24-5-4-esk.min.js +0 -0
  174. package/dist/snova-24-5-4-shake-esk.deno.js +0 -0
  175. package/dist/snova-24-5-4-shake-esk.min.js +0 -0
  176. package/dist/snova-24-5-4-shake.deno.js +0 -0
  177. package/dist/snova-24-5-4-shake.min.js +0 -0
  178. package/dist/snova-24-5-4.deno.js +0 -0
  179. package/dist/snova-24-5-4.min.js +0 -0
  180. package/dist/snova-24-5-5.deno.js +0 -0
  181. package/dist/snova-24-5-5.min.js +0 -0
  182. package/dist/snova-25-8-3.deno.js +0 -0
  183. package/dist/snova-25-8-3.min.js +0 -0
  184. package/dist/snova-29-6-5.deno.js +0 -0
  185. package/dist/snova-29-6-5.min.js +0 -0
  186. package/dist/snova-37-17-2.deno.js +0 -0
  187. package/dist/snova-37-17-2.min.js +0 -0
  188. package/dist/snova-37-8-4.deno.js +0 -0
  189. package/dist/snova-37-8-4.min.js +0 -0
  190. package/dist/snova-49-11-3.deno.js +0 -0
  191. package/dist/snova-49-11-3.min.js +0 -0
  192. package/dist/snova-56-25-2.deno.js +0 -0
  193. package/dist/snova-56-25-2.min.js +0 -0
  194. package/dist/snova-60-10-4.deno.js +0 -0
  195. package/dist/snova-60-10-4.min.js +0 -0
  196. package/dist/sntrup761.deno.js +0 -0
  197. package/dist/sntrup761.min.js +0 -0
  198. package/package.json +108 -0
  199. package/src/algorithms/kem/classic-mceliece/classic-mceliece-348864.js +336 -0
  200. package/src/algorithms/kem/classic-mceliece/classic-mceliece-348864f.js +336 -0
  201. package/src/algorithms/kem/classic-mceliece/classic-mceliece-460896.js +336 -0
  202. package/src/algorithms/kem/classic-mceliece/classic-mceliece-460896f.js +336 -0
  203. package/src/algorithms/kem/classic-mceliece/classic-mceliece-6688128.js +336 -0
  204. package/src/algorithms/kem/classic-mceliece/classic-mceliece-6688128f.js +336 -0
  205. package/src/algorithms/kem/classic-mceliece/classic-mceliece-6960119.js +336 -0
  206. package/src/algorithms/kem/classic-mceliece/classic-mceliece-6960119f.js +336 -0
  207. package/src/algorithms/kem/classic-mceliece/classic-mceliece-8192128.js +336 -0
  208. package/src/algorithms/kem/classic-mceliece/classic-mceliece-8192128f.js +336 -0
  209. package/src/algorithms/kem/frodokem/efrodokem-1344-aes.js +366 -0
  210. package/src/algorithms/kem/frodokem/efrodokem-1344-shake.js +366 -0
  211. package/src/algorithms/kem/frodokem/efrodokem-640-aes.js +366 -0
  212. package/src/algorithms/kem/frodokem/efrodokem-640-shake.js +366 -0
  213. package/src/algorithms/kem/frodokem/efrodokem-976-aes.js +366 -0
  214. package/src/algorithms/kem/frodokem/efrodokem-976-shake.js +366 -0
  215. package/src/algorithms/kem/frodokem/frodokem-1344-aes.js +366 -0
  216. package/src/algorithms/kem/frodokem/frodokem-1344-shake.js +366 -0
  217. package/src/algorithms/kem/frodokem/frodokem-640-aes.js +366 -0
  218. package/src/algorithms/kem/frodokem/frodokem-640-shake.js +366 -0
  219. package/src/algorithms/kem/frodokem/frodokem-976-aes.js +366 -0
  220. package/src/algorithms/kem/frodokem/frodokem-976-shake.js +366 -0
  221. package/src/algorithms/kem/hqc/hqc-128.js +366 -0
  222. package/src/algorithms/kem/hqc/hqc-192.js +366 -0
  223. package/src/algorithms/kem/hqc/hqc-256.js +366 -0
  224. package/src/algorithms/kem/kyber/kyber-1024.js +349 -0
  225. package/src/algorithms/kem/kyber/kyber-512.js +347 -0
  226. package/src/algorithms/kem/kyber/kyber-768.js +348 -0
  227. package/src/algorithms/kem/ml-kem/ml-kem-1024.js +345 -0
  228. package/src/algorithms/kem/ml-kem/ml-kem-512.js +345 -0
  229. package/src/algorithms/kem/ml-kem/ml-kem-768.js +344 -0
  230. package/src/algorithms/kem/ntru/ntru-hps-2048-509.js +366 -0
  231. package/src/algorithms/kem/ntru/ntru-hps-2048-677.js +366 -0
  232. package/src/algorithms/kem/ntru/ntru-hps-4096-1229.js +366 -0
  233. package/src/algorithms/kem/ntru/ntru-hps-4096-821.js +366 -0
  234. package/src/algorithms/kem/ntru/ntru-hrss-1373.js +366 -0
  235. package/src/algorithms/kem/ntru/ntru-hrss-701.js +366 -0
  236. package/src/algorithms/kem/ntru/sntrup761.js +367 -0
  237. package/src/algorithms/sig/cross/cross-rsdp-128-balanced.js +391 -0
  238. package/src/algorithms/sig/cross/cross-rsdp-128-fast.js +391 -0
  239. package/src/algorithms/sig/cross/cross-rsdp-128-small.js +391 -0
  240. package/src/algorithms/sig/cross/cross-rsdp-192-balanced.js +391 -0
  241. package/src/algorithms/sig/cross/cross-rsdp-192-fast.js +391 -0
  242. package/src/algorithms/sig/cross/cross-rsdp-192-small.js +391 -0
  243. package/src/algorithms/sig/cross/cross-rsdp-256-balanced.js +391 -0
  244. package/src/algorithms/sig/cross/cross-rsdp-256-fast.js +391 -0
  245. package/src/algorithms/sig/cross/cross-rsdp-256-small.js +391 -0
  246. package/src/algorithms/sig/cross/cross-rsdpg-128-balanced.js +391 -0
  247. package/src/algorithms/sig/cross/cross-rsdpg-128-fast.js +391 -0
  248. package/src/algorithms/sig/cross/cross-rsdpg-128-small.js +391 -0
  249. package/src/algorithms/sig/cross/cross-rsdpg-192-balanced.js +391 -0
  250. package/src/algorithms/sig/cross/cross-rsdpg-192-fast.js +391 -0
  251. package/src/algorithms/sig/cross/cross-rsdpg-192-small.js +391 -0
  252. package/src/algorithms/sig/cross/cross-rsdpg-256-balanced.js +391 -0
  253. package/src/algorithms/sig/cross/cross-rsdpg-256-fast.js +391 -0
  254. package/src/algorithms/sig/cross/cross-rsdpg-256-small.js +391 -0
  255. package/src/algorithms/sig/falcon/falcon-1024.js +378 -0
  256. package/src/algorithms/sig/falcon/falcon-512.js +379 -0
  257. package/src/algorithms/sig/falcon/falcon-padded-1024.js +380 -0
  258. package/src/algorithms/sig/falcon/falcon-padded-512.js +380 -0
  259. package/src/algorithms/sig/mayo/mayo-1.js +390 -0
  260. package/src/algorithms/sig/mayo/mayo-2.js +390 -0
  261. package/src/algorithms/sig/mayo/mayo-3.js +390 -0
  262. package/src/algorithms/sig/mayo/mayo-5.js +390 -0
  263. package/src/algorithms/sig/ml-dsa/ml-dsa-44.js +338 -0
  264. package/src/algorithms/sig/ml-dsa/ml-dsa-65.js +338 -0
  265. package/src/algorithms/sig/ml-dsa/ml-dsa-87.js +338 -0
  266. package/src/algorithms/sig/slh-dsa/slh-dsa-sha2-128f.js +367 -0
  267. package/src/algorithms/sig/slh-dsa/slh-dsa-sha2-128s.js +367 -0
  268. package/src/algorithms/sig/slh-dsa/slh-dsa-sha2-192f.js +367 -0
  269. package/src/algorithms/sig/slh-dsa/slh-dsa-sha2-192s.js +367 -0
  270. package/src/algorithms/sig/slh-dsa/slh-dsa-sha2-256f.js +367 -0
  271. package/src/algorithms/sig/slh-dsa/slh-dsa-sha2-256s.js +367 -0
  272. package/src/algorithms/sig/slh-dsa/slh-dsa-shake-128f.js +367 -0
  273. package/src/algorithms/sig/slh-dsa/slh-dsa-shake-128s.js +367 -0
  274. package/src/algorithms/sig/slh-dsa/slh-dsa-shake-192f.js +367 -0
  275. package/src/algorithms/sig/slh-dsa/slh-dsa-shake-192s.js +367 -0
  276. package/src/algorithms/sig/slh-dsa/slh-dsa-shake-256f.js +367 -0
  277. package/src/algorithms/sig/slh-dsa/slh-dsa-shake-256s.js +367 -0
  278. package/src/algorithms/sig/snova/snova-24-5-4-esk.js +391 -0
  279. package/src/algorithms/sig/snova/snova-24-5-4-shake-esk.js +391 -0
  280. package/src/algorithms/sig/snova/snova-24-5-4-shake.js +391 -0
  281. package/src/algorithms/sig/snova/snova-24-5-4.js +391 -0
  282. package/src/algorithms/sig/snova/snova-24-5-5.js +391 -0
  283. package/src/algorithms/sig/snova/snova-25-8-3.js +391 -0
  284. package/src/algorithms/sig/snova/snova-29-6-5.js +391 -0
  285. package/src/algorithms/sig/snova/snova-37-17-2.js +391 -0
  286. package/src/algorithms/sig/snova/snova-37-8-4.js +391 -0
  287. package/src/algorithms/sig/snova/snova-49-11-3.js +391 -0
  288. package/src/algorithms/sig/snova/snova-56-25-2.js +391 -0
  289. package/src/algorithms/sig/snova/snova-60-10-4.js +391 -0
  290. package/src/algorithms/sig/uov/ov-iii-pkc-skc.js +390 -0
  291. package/src/algorithms/sig/uov/ov-iii-pkc.js +390 -0
  292. package/src/algorithms/sig/uov/ov-iii.js +390 -0
  293. package/src/algorithms/sig/uov/ov-ip-pkc-skc.js +390 -0
  294. package/src/algorithms/sig/uov/ov-ip-pkc.js +390 -0
  295. package/src/algorithms/sig/uov/ov-ip.js +390 -0
  296. package/src/algorithms/sig/uov/ov-is-pkc-skc.js +390 -0
  297. package/src/algorithms/sig/uov/ov-is-pkc.js +390 -0
  298. package/src/algorithms/sig/uov/ov-is.js +390 -0
  299. package/src/algorithms/sig/uov/ov-v-pkc-skc.js +390 -0
  300. package/src/algorithms/sig/uov/ov-v-pkc.js +390 -0
  301. package/src/algorithms/sig/uov/ov-v.js +390 -0
  302. package/src/cli/algorithms.js +254 -0
  303. package/src/cli/commands/info.js +35 -0
  304. package/src/cli/commands/kem.js +91 -0
  305. package/src/cli/commands/list.js +30 -0
  306. package/src/cli/commands/sig.js +98 -0
  307. package/src/cli/index.js +86 -0
  308. package/src/cli/io.js +147 -0
  309. package/src/cli/parser.js +64 -0
  310. package/src/core/errors.js +75 -0
  311. package/src/core/validation.js +28 -0
  312. package/src/index.js +164 -0
  313. package/src/kem.js +60 -0
  314. package/src/sig.js +87 -0
  315. package/src/types/algorithms.d.ts +1543 -0
  316. package/src/types/errors.d.ts +60 -0
  317. package/src/types/index.d.ts +9 -0
package/src/index.js ADDED
@@ -0,0 +1,164 @@
1
+ /**
2
+ * @fileoverview Main entry point for @oqs/liboqs-js
3
+ * @description Post-quantum cryptography for Node.js and browsers via WebAssembly bindings to liboqs
4
+ *
5
+ * @example
6
+ * // Key encapsulation (ML-KEM)
7
+ * import { createMLKEM768 } from '@oqs/liboqs-js';
8
+ *
9
+ * const kem = await createMLKEM768();
10
+ * const { publicKey, secretKey } = await kem.generateKeyPair();
11
+ * const { ciphertext, sharedSecret } = await kem.encapsulate(publicKey);
12
+ * kem.destroy();
13
+ *
14
+ * @example
15
+ * // Digital signatures (ML-DSA)
16
+ * import { createMLDSA65 } from '@oqs/liboqs-js';
17
+ *
18
+ * const sig = await createMLDSA65();
19
+ * const { publicKey, secretKey } = await sig.generateKeyPair();
20
+ * const message = new TextEncoder().encode('Hello!');
21
+ * const signature = await sig.sign(message, secretKey);
22
+ * const isValid = await sig.verify(message, signature, publicKey);
23
+ * sig.destroy();
24
+ */
25
+
26
+ // Re-export error classes
27
+ export * from './core/errors.js';
28
+
29
+ // Export ML-KEM algorithms (NIST FIPS 203 standardized)
30
+ export { createMLKEM512, MLKEM512, ML_KEM_512_INFO } from './algorithms/kem/ml-kem/ml-kem-512.js';
31
+ export { createMLKEM768, MLKEM768, ML_KEM_768_INFO } from './algorithms/kem/ml-kem/ml-kem-768.js';
32
+ export { createMLKEM1024, MLKEM1024, ML_KEM_1024_INFO } from './algorithms/kem/ml-kem/ml-kem-1024.js';
33
+
34
+ // Export Kyber algorithms (deprecated - use ML-KEM instead)
35
+ export { createKyber512, Kyber512, KYBER512_INFO } from './algorithms/kem/kyber/kyber-512.js';
36
+ export { createKyber768, Kyber768, KYBER768_INFO } from './algorithms/kem/kyber/kyber-768.js';
37
+ export { createKyber1024, Kyber1024, KYBER1024_INFO } from './algorithms/kem/kyber/kyber-1024.js';
38
+
39
+ // Export ML-DSA signature algorithms
40
+ export { createMLDSA44, MLDSA44, ML_DSA_44_INFO } from './algorithms/sig/ml-dsa/ml-dsa-44.js';
41
+ export { createMLDSA65, MLDSA65, ML_DSA_65_INFO } from './algorithms/sig/ml-dsa/ml-dsa-65.js';
42
+ export { createMLDSA87, MLDSA87, ML_DSA_87_INFO } from './algorithms/sig/ml-dsa/ml-dsa-87.js';
43
+
44
+ // Export Falcon signature algorithms
45
+ export { createFalcon512, Falcon512, FALCON_512_INFO } from './algorithms/sig/falcon/falcon-512.js';
46
+ export { createFalcon1024, Falcon1024, FALCON_1024_INFO } from './algorithms/sig/falcon/falcon-1024.js';
47
+ export { createFalconPadded512, FalconPadded512, FALCON_PADDED_512_INFO } from './algorithms/sig/falcon/falcon-padded-512.js';
48
+ export { createFalconPadded1024, FalconPadded1024, FALCON_PADDED_1024_INFO } from './algorithms/sig/falcon/falcon-padded-1024.js';
49
+
50
+ // Export MAYO signature algorithms
51
+ export { createMAYO1, MAYO1, MAYO_1_INFO } from './algorithms/sig/mayo/mayo-1.js';
52
+ export { createMAYO2, MAYO2, MAYO_2_INFO } from './algorithms/sig/mayo/mayo-2.js';
53
+ export { createMAYO3, MAYO3, MAYO_3_INFO } from './algorithms/sig/mayo/mayo-3.js';
54
+ export { createMAYO5, MAYO5, MAYO_5_INFO } from './algorithms/sig/mayo/mayo-5.js';
55
+
56
+ // Export UOV signature algorithms
57
+ export { createOVIp, OVIp, OV_IP_INFO } from './algorithms/sig/uov/ov-ip.js';
58
+ export { createOVIpPkc, OVIpPkc, OV_IP_PKC_INFO } from './algorithms/sig/uov/ov-ip-pkc.js';
59
+ export { createOVIpPkcSkc, OVIpPkcSkc, OV_IP_PKC_SKC_INFO } from './algorithms/sig/uov/ov-ip-pkc-skc.js';
60
+ export { createOVIs, OVIs, OV_IS_INFO } from './algorithms/sig/uov/ov-is.js';
61
+ export { createOVIsPkc, OVIsPkc, OV_IS_PKC_INFO } from './algorithms/sig/uov/ov-is-pkc.js';
62
+ export { createOVIsPkcSkc, OVIsPkcSkc, OV_IS_PKC_SKC_INFO } from './algorithms/sig/uov/ov-is-pkc-skc.js';
63
+ export { createOVIII, OVIII, OV_III_INFO } from './algorithms/sig/uov/ov-iii.js';
64
+ export { createOVIIIPkc, OVIIIPkc, OV_III_PKC_INFO } from './algorithms/sig/uov/ov-iii-pkc.js';
65
+ export { createOVIIIPkcSkc, OVIIIPkcSkc, OV_III_PKC_SKC_INFO } from './algorithms/sig/uov/ov-iii-pkc-skc.js';
66
+ export { createOVV, OVV, OV_V_INFO } from './algorithms/sig/uov/ov-v.js';
67
+ export { createOVVPkc, OVVPkc, OV_V_PKC_INFO } from './algorithms/sig/uov/ov-v-pkc.js';
68
+ export { createOVVPkcSkc, OVVPkcSkc, OV_V_PKC_SKC_INFO } from './algorithms/sig/uov/ov-v-pkc-skc.js';
69
+
70
+ // Export Classic McEliece KEM algorithms
71
+ export { createClassicMcEliece348864, ClassicMcEliece348864, CLASSIC_MCELIECE_348864_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-348864.js';
72
+ export { createClassicMcEliece348864f, ClassicMcEliece348864f, CLASSIC_MCELIECE_348864F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-348864f.js';
73
+ export { createClassicMcEliece460896, ClassicMcEliece460896, CLASSIC_MCELIECE_460896_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-460896.js';
74
+ export { createClassicMcEliece460896f, ClassicMcEliece460896f, CLASSIC_MCELIECE_460896F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-460896f.js';
75
+ export { createClassicMcEliece6688128, ClassicMcEliece6688128, CLASSIC_MCELIECE_6688128_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-6688128.js';
76
+ export { createClassicMcEliece6688128f, ClassicMcEliece6688128f, CLASSIC_MCELIECE_6688128F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-6688128f.js';
77
+ export { createClassicMcEliece6960119, ClassicMcEliece6960119, CLASSIC_MCELIECE_6960119_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-6960119.js';
78
+ export { createClassicMcEliece6960119f, ClassicMcEliece6960119f, CLASSIC_MCELIECE_6960119F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-6960119f.js';
79
+ export { createClassicMcEliece8192128, ClassicMcEliece8192128, CLASSIC_MCELIECE_8192128_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-8192128.js';
80
+ export { createClassicMcEliece8192128f, ClassicMcEliece8192128f, CLASSIC_MCELIECE_8192128F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-8192128f.js';
81
+
82
+ // Export FrodoKEM KEM algorithms
83
+ export { createFrodoKEM640AES, FrodoKEM640AES, FRODOKEM_640_AES_INFO } from './algorithms/kem/frodokem/frodokem-640-aes.js';
84
+ export { createFrodoKEM640SHAKE, FrodoKEM640SHAKE, FRODOKEM_640_SHAKE_INFO } from './algorithms/kem/frodokem/frodokem-640-shake.js';
85
+ export { createFrodoKEM976AES, FrodoKEM976AES, FRODOKEM_976_AES_INFO } from './algorithms/kem/frodokem/frodokem-976-aes.js';
86
+ export { createFrodoKEM976SHAKE, FrodoKEM976SHAKE, FRODOKEM_976_SHAKE_INFO } from './algorithms/kem/frodokem/frodokem-976-shake.js';
87
+ export { createFrodoKEM1344AES, FrodoKEM1344AES, FRODOKEM_1344_AES_INFO } from './algorithms/kem/frodokem/frodokem-1344-aes.js';
88
+ export { createFrodoKEM1344SHAKE, FrodoKEM1344SHAKE, FRODOKEM_1344_SHAKE_INFO } from './algorithms/kem/frodokem/frodokem-1344-shake.js';
89
+
90
+ // Export eFrodoKEM KEM algorithms
91
+ export { createEFrodoKEM640AES, EFrodoKEM640AES, EFRODOKEM_640_AES_INFO } from './algorithms/kem/frodokem/efrodokem-640-aes.js';
92
+ export { createEFrodoKEM640SHAKE, EFrodoKEM640SHAKE, EFRODOKEM_640_SHAKE_INFO } from './algorithms/kem/frodokem/efrodokem-640-shake.js';
93
+ export { createEFrodoKEM976AES, EFrodoKEM976AES, EFRODOKEM_976_AES_INFO } from './algorithms/kem/frodokem/efrodokem-976-aes.js';
94
+ export { createEFrodoKEM976SHAKE, EFrodoKEM976SHAKE, EFRODOKEM_976_SHAKE_INFO } from './algorithms/kem/frodokem/efrodokem-976-shake.js';
95
+ export { createEFrodoKEM1344AES, EFrodoKEM1344AES, EFRODOKEM_1344_AES_INFO } from './algorithms/kem/frodokem/efrodokem-1344-aes.js';
96
+ export { createEFrodoKEM1344SHAKE, EFrodoKEM1344SHAKE, EFRODOKEM_1344_SHAKE_INFO } from './algorithms/kem/frodokem/efrodokem-1344-shake.js';
97
+
98
+ // Export HQC KEM algorithms
99
+ export { createHQC128, HQC128, HQC_128_INFO } from './algorithms/kem/hqc/hqc-128.js';
100
+ export { createHQC192, HQC192, HQC_192_INFO } from './algorithms/kem/hqc/hqc-192.js';
101
+ export { createHQC256, HQC256, HQC_256_INFO } from './algorithms/kem/hqc/hqc-256.js';
102
+
103
+ // Export NTRU KEM algorithms
104
+ export { createNTRUHps2048509, NTRUHps2048509, NTRU_HPS_2048_509_INFO } from './algorithms/kem/ntru/ntru-hps-2048-509.js';
105
+ export { createNTRUHps2048677, NTRUHps2048677, NTRU_HPS_2048_677_INFO } from './algorithms/kem/ntru/ntru-hps-2048-677.js';
106
+ export { createNTRUHps4096821, NTRUHps4096821, NTRU_HPS_4096_821_INFO } from './algorithms/kem/ntru/ntru-hps-4096-821.js';
107
+ export { createNTRUHps40961229, NTRUHps40961229, NTRU_HPS_4096_1229_INFO } from './algorithms/kem/ntru/ntru-hps-4096-1229.js';
108
+ export { createNTRUHrss701, NTRUHrss701, NTRU_HRSS_701_INFO } from './algorithms/kem/ntru/ntru-hrss-701.js';
109
+ export { createNTRUHrss1373, NTRUHrss1373, NTRU_HRSS_1373_INFO } from './algorithms/kem/ntru/ntru-hrss-1373.js';
110
+ export { createSntrup761, Sntrup761, SNTRUP761_INFO } from './algorithms/kem/ntru/sntrup761.js';
111
+
112
+ // Export CROSS signature algorithms
113
+ export { createCrossRsdp128Balanced, CrossRsdp128Balanced, CROSS_RSDP_128_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdp-128-balanced.js';
114
+ export { createCrossRsdp128Fast, CrossRsdp128Fast, CROSS_RSDP_128_FAST_INFO } from './algorithms/sig/cross/cross-rsdp-128-fast.js';
115
+ export { createCrossRsdp128Small, CrossRsdp128Small, CROSS_RSDP_128_SMALL_INFO } from './algorithms/sig/cross/cross-rsdp-128-small.js';
116
+ export { createCrossRsdp192Balanced, CrossRsdp192Balanced, CROSS_RSDP_192_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdp-192-balanced.js';
117
+ export { createCrossRsdp192Fast, CrossRsdp192Fast, CROSS_RSDP_192_FAST_INFO } from './algorithms/sig/cross/cross-rsdp-192-fast.js';
118
+ export { createCrossRsdp192Small, CrossRsdp192Small, CROSS_RSDP_192_SMALL_INFO } from './algorithms/sig/cross/cross-rsdp-192-small.js';
119
+ export { createCrossRsdp256Balanced, CrossRsdp256Balanced, CROSS_RSDP_256_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdp-256-balanced.js';
120
+ export { createCrossRsdp256Fast, CrossRsdp256Fast, CROSS_RSDP_256_FAST_INFO } from './algorithms/sig/cross/cross-rsdp-256-fast.js';
121
+ export { createCrossRsdp256Small, CrossRsdp256Small, CROSS_RSDP_256_SMALL_INFO } from './algorithms/sig/cross/cross-rsdp-256-small.js';
122
+ export { createCrossRsdpg128Balanced, CrossRsdpg128Balanced, CROSS_RSDPG_128_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdpg-128-balanced.js';
123
+ export { createCrossRsdpg128Fast, CrossRsdpg128Fast, CROSS_RSDPG_128_FAST_INFO } from './algorithms/sig/cross/cross-rsdpg-128-fast.js';
124
+ export { createCrossRsdpg128Small, CrossRsdpg128Small, CROSS_RSDPG_128_SMALL_INFO } from './algorithms/sig/cross/cross-rsdpg-128-small.js';
125
+ export { createCrossRsdpg192Balanced, CrossRsdpg192Balanced, CROSS_RSDPG_192_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdpg-192-balanced.js';
126
+ export { createCrossRsdpg192Fast, CrossRsdpg192Fast, CROSS_RSDPG_192_FAST_INFO } from './algorithms/sig/cross/cross-rsdpg-192-fast.js';
127
+ export { createCrossRsdpg192Small, CrossRsdpg192Small, CROSS_RSDPG_192_SMALL_INFO } from './algorithms/sig/cross/cross-rsdpg-192-small.js';
128
+ export { createCrossRsdpg256Balanced, CrossRsdpg256Balanced, CROSS_RSDPG_256_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdpg-256-balanced.js';
129
+ export { createCrossRsdpg256Fast, CrossRsdpg256Fast, CROSS_RSDPG_256_FAST_INFO } from './algorithms/sig/cross/cross-rsdpg-256-fast.js';
130
+ export { createCrossRsdpg256Small, CrossRsdpg256Small, CROSS_RSDPG_256_SMALL_INFO } from './algorithms/sig/cross/cross-rsdpg-256-small.js';
131
+
132
+ // Export all SLH-DSA algorithms (FIPS 205 standardized)
133
+ export { createSlhDsaSha2128f, SlhDsaSha2128f, SLH_DSA_SHA2_128F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-128f.js';
134
+ export { createSlhDsaSha2128s, SlhDsaSha2128s, SLH_DSA_SHA2_128S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-128s.js';
135
+ export { createSlhDsaSha2192f, SlhDsaSha2192f, SLH_DSA_SHA2_192F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-192f.js';
136
+ export { createSlhDsaSha2192s, SlhDsaSha2192s, SLH_DSA_SHA2_192S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-192s.js';
137
+ export { createSlhDsaSha2256f, SlhDsaSha2256f, SLH_DSA_SHA2_256F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-256f.js';
138
+ export { createSlhDsaSha2256s, SlhDsaSha2256s, SLH_DSA_SHA2_256S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-256s.js';
139
+ export { createSlhDsaShake128f, SlhDsaShake128f, SLH_DSA_SHAKE_128F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-128f.js';
140
+ export { createSlhDsaShake128s, SlhDsaShake128s, SLH_DSA_SHAKE_128S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-128s.js';
141
+ export { createSlhDsaShake192f, SlhDsaShake192f, SLH_DSA_SHAKE_192F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-192f.js';
142
+ export { createSlhDsaShake192s, SlhDsaShake192s, SLH_DSA_SHAKE_192S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-192s.js';
143
+ export { createSlhDsaShake256f, SlhDsaShake256f, SLH_DSA_SHAKE_256F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-256f.js';
144
+ export { createSlhDsaShake256s, SlhDsaShake256s, SLH_DSA_SHAKE_256S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-256s.js';
145
+
146
+ // Export SNOVA signature algorithms
147
+ export { createSnova2454, Snova2454, SNOVA_24_5_4_INFO } from './algorithms/sig/snova/snova-24-5-4.js';
148
+ export { createSnova2454Esk, Snova2454Esk, SNOVA_24_5_4_ESK_INFO } from './algorithms/sig/snova/snova-24-5-4-esk.js';
149
+ export { createSnova2454Shake, Snova2454Shake, SNOVA_24_5_4_SHAKE_INFO } from './algorithms/sig/snova/snova-24-5-4-shake.js';
150
+ export { createSnova2454ShakeEsk, Snova2454ShakeEsk, SNOVA_24_5_4_SHAKE_ESK_INFO } from './algorithms/sig/snova/snova-24-5-4-shake-esk.js';
151
+ export { createSnova2455, Snova2455, SNOVA_24_5_5_INFO } from './algorithms/sig/snova/snova-24-5-5.js';
152
+ export { createSnova2583, Snova2583, SNOVA_25_8_3_INFO } from './algorithms/sig/snova/snova-25-8-3.js';
153
+ export { createSnova2965, Snova2965, SNOVA_29_6_5_INFO } from './algorithms/sig/snova/snova-29-6-5.js';
154
+ export { createSnova37172, Snova37172, SNOVA_37_17_2_INFO } from './algorithms/sig/snova/snova-37-17-2.js';
155
+ export { createSnova3784, Snova3784, SNOVA_37_8_4_INFO } from './algorithms/sig/snova/snova-37-8-4.js';
156
+ export { createSnova49113, Snova49113, SNOVA_49_11_3_INFO } from './algorithms/sig/snova/snova-49-11-3.js';
157
+ export { createSnova56252, Snova56252, SNOVA_56_25_2_INFO } from './algorithms/sig/snova/snova-56-25-2.js';
158
+ export { createSnova60104, Snova60104, SNOVA_60_10_4_INFO } from './algorithms/sig/snova/snova-60-10-4.js';
159
+
160
+ /**
161
+ * Library version
162
+ * @constant {string}
163
+ */
164
+ export const VERSION = '0.15.0';
package/src/kem.js ADDED
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @fileoverview KEM (Key Encapsulation Mechanism) algorithm exports
3
+ * @description Shorthand exports for all KEM algorithms
4
+ * @module @oqs/liboqs-js/kem
5
+ */
6
+
7
+ // Export all ML-KEM algorithms (NIST FIPS 203 standardized)
8
+ export { createMLKEM512, MLKEM512, ML_KEM_512_INFO } from './algorithms/kem/ml-kem/ml-kem-512.js';
9
+ export { createMLKEM768, MLKEM768, ML_KEM_768_INFO } from './algorithms/kem/ml-kem/ml-kem-768.js';
10
+ export { createMLKEM1024, MLKEM1024, ML_KEM_1024_INFO } from './algorithms/kem/ml-kem/ml-kem-1024.js';
11
+
12
+ // Export all Kyber algorithms (deprecated - use ML-KEM instead)
13
+ export { createKyber512, Kyber512, KYBER512_INFO } from './algorithms/kem/kyber/kyber-512.js';
14
+ export { createKyber768, Kyber768, KYBER768_INFO } from './algorithms/kem/kyber/kyber-768.js';
15
+ export { createKyber1024, Kyber1024, KYBER1024_INFO } from './algorithms/kem/kyber/kyber-1024.js';
16
+
17
+ // Export all FrodoKEM algorithms
18
+ export { createFrodoKEM640AES, FrodoKEM640AES, FRODOKEM_640_AES_INFO } from './algorithms/kem/frodokem/frodokem-640-aes.js';
19
+ export { createFrodoKEM640SHAKE, FrodoKEM640SHAKE, FRODOKEM_640_SHAKE_INFO } from './algorithms/kem/frodokem/frodokem-640-shake.js';
20
+ export { createFrodoKEM976AES, FrodoKEM976AES, FRODOKEM_976_AES_INFO } from './algorithms/kem/frodokem/frodokem-976-aes.js';
21
+ export { createFrodoKEM976SHAKE, FrodoKEM976SHAKE, FRODOKEM_976_SHAKE_INFO } from './algorithms/kem/frodokem/frodokem-976-shake.js';
22
+ export { createFrodoKEM1344AES, FrodoKEM1344AES, FRODOKEM_1344_AES_INFO } from './algorithms/kem/frodokem/frodokem-1344-aes.js';
23
+ export { createFrodoKEM1344SHAKE, FrodoKEM1344SHAKE, FRODOKEM_1344_SHAKE_INFO } from './algorithms/kem/frodokem/frodokem-1344-shake.js';
24
+
25
+ // Export all eFrodoKEM algorithms
26
+ export { createEFrodoKEM640AES, EFrodoKEM640AES, EFRODOKEM_640_AES_INFO } from './algorithms/kem/frodokem/efrodokem-640-aes.js';
27
+ export { createEFrodoKEM640SHAKE, EFrodoKEM640SHAKE, EFRODOKEM_640_SHAKE_INFO } from './algorithms/kem/frodokem/efrodokem-640-shake.js';
28
+ export { createEFrodoKEM976AES, EFrodoKEM976AES, EFRODOKEM_976_AES_INFO } from './algorithms/kem/frodokem/efrodokem-976-aes.js';
29
+ export { createEFrodoKEM976SHAKE, EFrodoKEM976SHAKE, EFRODOKEM_976_SHAKE_INFO } from './algorithms/kem/frodokem/efrodokem-976-shake.js';
30
+ export { createEFrodoKEM1344AES, EFrodoKEM1344AES, EFRODOKEM_1344_AES_INFO } from './algorithms/kem/frodokem/efrodokem-1344-aes.js';
31
+ export { createEFrodoKEM1344SHAKE, EFrodoKEM1344SHAKE, EFRODOKEM_1344_SHAKE_INFO } from './algorithms/kem/frodokem/efrodokem-1344-shake.js';
32
+
33
+ // Export all HQC algorithms
34
+ export { createHQC128, HQC128, HQC_128_INFO } from './algorithms/kem/hqc/hqc-128.js';
35
+ export { createHQC192, HQC192, HQC_192_INFO } from './algorithms/kem/hqc/hqc-192.js';
36
+ export { createHQC256, HQC256, HQC_256_INFO } from './algorithms/kem/hqc/hqc-256.js';
37
+
38
+ // Export all Classic McEliece algorithms
39
+ export { createClassicMcEliece348864, ClassicMcEliece348864, CLASSIC_MCELIECE_348864_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-348864.js';
40
+ export { createClassicMcEliece348864f, ClassicMcEliece348864f, CLASSIC_MCELIECE_348864F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-348864f.js';
41
+ export { createClassicMcEliece460896, ClassicMcEliece460896, CLASSIC_MCELIECE_460896_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-460896.js';
42
+ export { createClassicMcEliece460896f, ClassicMcEliece460896f, CLASSIC_MCELIECE_460896F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-460896f.js';
43
+ export { createClassicMcEliece6688128, ClassicMcEliece6688128, CLASSIC_MCELIECE_6688128_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-6688128.js';
44
+ export { createClassicMcEliece6688128f, ClassicMcEliece6688128f, CLASSIC_MCELIECE_6688128F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-6688128f.js';
45
+ export { createClassicMcEliece6960119, ClassicMcEliece6960119, CLASSIC_MCELIECE_6960119_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-6960119.js';
46
+ export { createClassicMcEliece6960119f, ClassicMcEliece6960119f, CLASSIC_MCELIECE_6960119F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-6960119f.js';
47
+ export { createClassicMcEliece8192128, ClassicMcEliece8192128, CLASSIC_MCELIECE_8192128_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-8192128.js';
48
+ export { createClassicMcEliece8192128f, ClassicMcEliece8192128f, CLASSIC_MCELIECE_8192128F_INFO } from './algorithms/kem/classic-mceliece/classic-mceliece-8192128f.js';
49
+
50
+ // Export all NTRU algorithms
51
+ export { createNTRUHps2048509, NTRUHps2048509, NTRU_HPS_2048_509_INFO } from './algorithms/kem/ntru/ntru-hps-2048-509.js';
52
+ export { createNTRUHps2048677, NTRUHps2048677, NTRU_HPS_2048_677_INFO } from './algorithms/kem/ntru/ntru-hps-2048-677.js';
53
+ export { createNTRUHps4096821, NTRUHps4096821, NTRU_HPS_4096_821_INFO } from './algorithms/kem/ntru/ntru-hps-4096-821.js';
54
+ export { createNTRUHps40961229, NTRUHps40961229, NTRU_HPS_4096_1229_INFO } from './algorithms/kem/ntru/ntru-hps-4096-1229.js';
55
+ export { createNTRUHrss701, NTRUHrss701, NTRU_HRSS_701_INFO } from './algorithms/kem/ntru/ntru-hrss-701.js';
56
+ export { createNTRUHrss1373, NTRUHrss1373, NTRU_HRSS_1373_INFO } from './algorithms/kem/ntru/ntru-hrss-1373.js';
57
+ export { createSntrup761, Sntrup761, SNTRUP761_INFO } from './algorithms/kem/ntru/sntrup761.js';
58
+
59
+ // Re-export error classes for convenience
60
+ export * from './core/errors.js';
package/src/sig.js ADDED
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @fileoverview Signature algorithm exports
3
+ * @description Shorthand exports for all signature algorithms
4
+ * @module @oqs/liboqs-js/sig
5
+ */
6
+
7
+ // Export all ML-DSA algorithms
8
+ export { createMLDSA44, MLDSA44, ML_DSA_44_INFO } from './algorithms/sig/ml-dsa/ml-dsa-44.js';
9
+ export { createMLDSA65, MLDSA65, ML_DSA_65_INFO } from './algorithms/sig/ml-dsa/ml-dsa-65.js';
10
+ export { createMLDSA87, MLDSA87, ML_DSA_87_INFO } from './algorithms/sig/ml-dsa/ml-dsa-87.js';
11
+
12
+ // Export all Falcon algorithms
13
+ export { createFalcon512, Falcon512, FALCON_512_INFO } from './algorithms/sig/falcon/falcon-512.js';
14
+ export { createFalcon1024, Falcon1024, FALCON_1024_INFO } from './algorithms/sig/falcon/falcon-1024.js';
15
+ export { createFalconPadded512, FalconPadded512, FALCON_PADDED_512_INFO } from './algorithms/sig/falcon/falcon-padded-512.js';
16
+ export { createFalconPadded1024, FalconPadded1024, FALCON_PADDED_1024_INFO } from './algorithms/sig/falcon/falcon-padded-1024.js';
17
+
18
+ // Export all MAYO algorithms
19
+ export { createMAYO1, MAYO1, MAYO_1_INFO } from './algorithms/sig/mayo/mayo-1.js';
20
+ export { createMAYO2, MAYO2, MAYO_2_INFO } from './algorithms/sig/mayo/mayo-2.js';
21
+ export { createMAYO3, MAYO3, MAYO_3_INFO } from './algorithms/sig/mayo/mayo-3.js';
22
+ export { createMAYO5, MAYO5, MAYO_5_INFO } from './algorithms/sig/mayo/mayo-5.js';
23
+
24
+ // Export all UOV algorithms
25
+ export { createOVIp, OVIp, OV_IP_INFO } from './algorithms/sig/uov/ov-ip.js';
26
+ export { createOVIpPkc, OVIpPkc, OV_IP_PKC_INFO } from './algorithms/sig/uov/ov-ip-pkc.js';
27
+ export { createOVIpPkcSkc, OVIpPkcSkc, OV_IP_PKC_SKC_INFO } from './algorithms/sig/uov/ov-ip-pkc-skc.js';
28
+ export { createOVIs, OVIs, OV_IS_INFO } from './algorithms/sig/uov/ov-is.js';
29
+ export { createOVIsPkc, OVIsPkc, OV_IS_PKC_INFO } from './algorithms/sig/uov/ov-is-pkc.js';
30
+ export { createOVIsPkcSkc, OVIsPkcSkc, OV_IS_PKC_SKC_INFO } from './algorithms/sig/uov/ov-is-pkc-skc.js';
31
+ export { createOVIII, OVIII, OV_III_INFO } from './algorithms/sig/uov/ov-iii.js';
32
+ export { createOVIIIPkc, OVIIIPkc, OV_III_PKC_INFO } from './algorithms/sig/uov/ov-iii-pkc.js';
33
+ export { createOVIIIPkcSkc, OVIIIPkcSkc, OV_III_PKC_SKC_INFO } from './algorithms/sig/uov/ov-iii-pkc-skc.js';
34
+ export { createOVV, OVV, OV_V_INFO } from './algorithms/sig/uov/ov-v.js';
35
+ export { createOVVPkc, OVVPkc, OV_V_PKC_INFO } from './algorithms/sig/uov/ov-v-pkc.js';
36
+ export { createOVVPkcSkc, OVVPkcSkc, OV_V_PKC_SKC_INFO } from './algorithms/sig/uov/ov-v-pkc-skc.js';
37
+
38
+ // Export all CROSS algorithms
39
+ export { createCrossRsdp128Balanced, CrossRsdp128Balanced, CROSS_RSDP_128_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdp-128-balanced.js';
40
+ export { createCrossRsdp128Fast, CrossRsdp128Fast, CROSS_RSDP_128_FAST_INFO } from './algorithms/sig/cross/cross-rsdp-128-fast.js';
41
+ export { createCrossRsdp128Small, CrossRsdp128Small, CROSS_RSDP_128_SMALL_INFO } from './algorithms/sig/cross/cross-rsdp-128-small.js';
42
+ export { createCrossRsdp192Balanced, CrossRsdp192Balanced, CROSS_RSDP_192_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdp-192-balanced.js';
43
+ export { createCrossRsdp192Fast, CrossRsdp192Fast, CROSS_RSDP_192_FAST_INFO } from './algorithms/sig/cross/cross-rsdp-192-fast.js';
44
+ export { createCrossRsdp192Small, CrossRsdp192Small, CROSS_RSDP_192_SMALL_INFO } from './algorithms/sig/cross/cross-rsdp-192-small.js';
45
+ export { createCrossRsdp256Balanced, CrossRsdp256Balanced, CROSS_RSDP_256_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdp-256-balanced.js';
46
+ export { createCrossRsdp256Fast, CrossRsdp256Fast, CROSS_RSDP_256_FAST_INFO } from './algorithms/sig/cross/cross-rsdp-256-fast.js';
47
+ export { createCrossRsdp256Small, CrossRsdp256Small, CROSS_RSDP_256_SMALL_INFO } from './algorithms/sig/cross/cross-rsdp-256-small.js';
48
+ export { createCrossRsdpg128Balanced, CrossRsdpg128Balanced, CROSS_RSDPG_128_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdpg-128-balanced.js';
49
+ export { createCrossRsdpg128Fast, CrossRsdpg128Fast, CROSS_RSDPG_128_FAST_INFO } from './algorithms/sig/cross/cross-rsdpg-128-fast.js';
50
+ export { createCrossRsdpg128Small, CrossRsdpg128Small, CROSS_RSDPG_128_SMALL_INFO } from './algorithms/sig/cross/cross-rsdpg-128-small.js';
51
+ export { createCrossRsdpg192Balanced, CrossRsdpg192Balanced, CROSS_RSDPG_192_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdpg-192-balanced.js';
52
+ export { createCrossRsdpg192Fast, CrossRsdpg192Fast, CROSS_RSDPG_192_FAST_INFO } from './algorithms/sig/cross/cross-rsdpg-192-fast.js';
53
+ export { createCrossRsdpg192Small, CrossRsdpg192Small, CROSS_RSDPG_192_SMALL_INFO } from './algorithms/sig/cross/cross-rsdpg-192-small.js';
54
+ export { createCrossRsdpg256Balanced, CrossRsdpg256Balanced, CROSS_RSDPG_256_BALANCED_INFO } from './algorithms/sig/cross/cross-rsdpg-256-balanced.js';
55
+ export { createCrossRsdpg256Fast, CrossRsdpg256Fast, CROSS_RSDPG_256_FAST_INFO } from './algorithms/sig/cross/cross-rsdpg-256-fast.js';
56
+ export { createCrossRsdpg256Small, CrossRsdpg256Small, CROSS_RSDPG_256_SMALL_INFO } from './algorithms/sig/cross/cross-rsdpg-256-small.js';
57
+
58
+ // Export all SLH-DSA algorithms
59
+ export { createSlhDsaSha2128f, SlhDsaSha2128f, SLH_DSA_SHA2_128F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-128f.js';
60
+ export { createSlhDsaSha2128s, SlhDsaSha2128s, SLH_DSA_SHA2_128S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-128s.js';
61
+ export { createSlhDsaSha2192f, SlhDsaSha2192f, SLH_DSA_SHA2_192F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-192f.js';
62
+ export { createSlhDsaSha2192s, SlhDsaSha2192s, SLH_DSA_SHA2_192S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-192s.js';
63
+ export { createSlhDsaSha2256f, SlhDsaSha2256f, SLH_DSA_SHA2_256F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-256f.js';
64
+ export { createSlhDsaSha2256s, SlhDsaSha2256s, SLH_DSA_SHA2_256S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-sha2-256s.js';
65
+ export { createSlhDsaShake128f, SlhDsaShake128f, SLH_DSA_SHAKE_128F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-128f.js';
66
+ export { createSlhDsaShake128s, SlhDsaShake128s, SLH_DSA_SHAKE_128S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-128s.js';
67
+ export { createSlhDsaShake192f, SlhDsaShake192f, SLH_DSA_SHAKE_192F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-192f.js';
68
+ export { createSlhDsaShake192s, SlhDsaShake192s, SLH_DSA_SHAKE_192S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-192s.js';
69
+ export { createSlhDsaShake256f, SlhDsaShake256f, SLH_DSA_SHAKE_256F_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-256f.js';
70
+ export { createSlhDsaShake256s, SlhDsaShake256s, SLH_DSA_SHAKE_256S_INFO } from './algorithms/sig/slh-dsa/slh-dsa-shake-256s.js';
71
+
72
+ // Export all SNOVA algorithms
73
+ export { createSnova2454, Snova2454, SNOVA_24_5_4_INFO } from './algorithms/sig/snova/snova-24-5-4.js';
74
+ export { createSnova2454Esk, Snova2454Esk, SNOVA_24_5_4_ESK_INFO } from './algorithms/sig/snova/snova-24-5-4-esk.js';
75
+ export { createSnova2454Shake, Snova2454Shake, SNOVA_24_5_4_SHAKE_INFO } from './algorithms/sig/snova/snova-24-5-4-shake.js';
76
+ export { createSnova2454ShakeEsk, Snova2454ShakeEsk, SNOVA_24_5_4_SHAKE_ESK_INFO } from './algorithms/sig/snova/snova-24-5-4-shake-esk.js';
77
+ export { createSnova2455, Snova2455, SNOVA_24_5_5_INFO } from './algorithms/sig/snova/snova-24-5-5.js';
78
+ export { createSnova2583, Snova2583, SNOVA_25_8_3_INFO } from './algorithms/sig/snova/snova-25-8-3.js';
79
+ export { createSnova2965, Snova2965, SNOVA_29_6_5_INFO } from './algorithms/sig/snova/snova-29-6-5.js';
80
+ export { createSnova37172, Snova37172, SNOVA_37_17_2_INFO } from './algorithms/sig/snova/snova-37-17-2.js';
81
+ export { createSnova3784, Snova3784, SNOVA_37_8_4_INFO } from './algorithms/sig/snova/snova-37-8-4.js';
82
+ export { createSnova49113, Snova49113, SNOVA_49_11_3_INFO } from './algorithms/sig/snova/snova-49-11-3.js';
83
+ export { createSnova56252, Snova56252, SNOVA_56_25_2_INFO } from './algorithms/sig/snova/snova-56-25-2.js';
84
+ export { createSnova60104, Snova60104, SNOVA_60_10_4_INFO } from './algorithms/sig/snova/snova-60-10-4.js';
85
+
86
+ // Re-export error classes for convenience
87
+ export * from './core/errors.js';