ml_dsa 0.1.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +104 -0
- data/LICENSE +14 -0
- data/LICENSE-APACHE +185 -0
- data/LICENSE-MIT +21 -0
- data/README.md +234 -0
- data/ext/ml_dsa/extconf.rb +47 -0
- data/ext/ml_dsa/fips202.c +933 -0
- data/ext/ml_dsa/fips202.h +166 -0
- data/ext/ml_dsa/ml-dsa-44/clean/api.h +52 -0
- data/ext/ml_dsa/ml-dsa-44/clean/ntt.c +98 -0
- data/ext/ml_dsa/ml-dsa-44/clean/ntt.h +10 -0
- data/ext/ml_dsa/ml-dsa-44/clean/packing.c +261 -0
- data/ext/ml_dsa/ml-dsa-44/clean/packing.h +31 -0
- data/ext/ml_dsa/ml-dsa-44/clean/params.h +44 -0
- data/ext/ml_dsa/ml-dsa-44/clean/poly.c +848 -0
- data/ext/ml_dsa/ml-dsa-44/clean/poly.h +52 -0
- data/ext/ml_dsa/ml-dsa-44/clean/polyvec.c +415 -0
- data/ext/ml_dsa/ml-dsa-44/clean/polyvec.h +65 -0
- data/ext/ml_dsa/ml-dsa-44/clean/reduce.c +69 -0
- data/ext/ml_dsa/ml-dsa-44/clean/reduce.h +17 -0
- data/ext/ml_dsa/ml-dsa-44/clean/rounding.c +98 -0
- data/ext/ml_dsa/ml-dsa-44/clean/rounding.h +14 -0
- data/ext/ml_dsa/ml-dsa-44/clean/sign.c +417 -0
- data/ext/ml_dsa/ml-dsa-44/clean/sign.h +49 -0
- data/ext/ml_dsa/ml-dsa-44/clean/symmetric-shake.c +26 -0
- data/ext/ml_dsa/ml-dsa-44/clean/symmetric.h +34 -0
- data/ext/ml_dsa/ml-dsa-65/clean/api.h +52 -0
- data/ext/ml_dsa/ml-dsa-65/clean/ntt.c +98 -0
- data/ext/ml_dsa/ml-dsa-65/clean/ntt.h +10 -0
- data/ext/ml_dsa/ml-dsa-65/clean/packing.c +261 -0
- data/ext/ml_dsa/ml-dsa-65/clean/packing.h +31 -0
- data/ext/ml_dsa/ml-dsa-65/clean/params.h +44 -0
- data/ext/ml_dsa/ml-dsa-65/clean/poly.c +799 -0
- data/ext/ml_dsa/ml-dsa-65/clean/poly.h +52 -0
- data/ext/ml_dsa/ml-dsa-65/clean/polyvec.c +415 -0
- data/ext/ml_dsa/ml-dsa-65/clean/polyvec.h +65 -0
- data/ext/ml_dsa/ml-dsa-65/clean/reduce.c +69 -0
- data/ext/ml_dsa/ml-dsa-65/clean/reduce.h +17 -0
- data/ext/ml_dsa/ml-dsa-65/clean/rounding.c +92 -0
- data/ext/ml_dsa/ml-dsa-65/clean/rounding.h +14 -0
- data/ext/ml_dsa/ml-dsa-65/clean/sign.c +415 -0
- data/ext/ml_dsa/ml-dsa-65/clean/sign.h +49 -0
- data/ext/ml_dsa/ml-dsa-65/clean/symmetric-shake.c +26 -0
- data/ext/ml_dsa/ml-dsa-65/clean/symmetric.h +34 -0
- data/ext/ml_dsa/ml-dsa-87/clean/api.h +52 -0
- data/ext/ml_dsa/ml-dsa-87/clean/ntt.c +98 -0
- data/ext/ml_dsa/ml-dsa-87/clean/ntt.h +10 -0
- data/ext/ml_dsa/ml-dsa-87/clean/packing.c +261 -0
- data/ext/ml_dsa/ml-dsa-87/clean/packing.h +31 -0
- data/ext/ml_dsa/ml-dsa-87/clean/params.h +44 -0
- data/ext/ml_dsa/ml-dsa-87/clean/poly.c +823 -0
- data/ext/ml_dsa/ml-dsa-87/clean/poly.h +52 -0
- data/ext/ml_dsa/ml-dsa-87/clean/polyvec.c +415 -0
- data/ext/ml_dsa/ml-dsa-87/clean/polyvec.h +65 -0
- data/ext/ml_dsa/ml-dsa-87/clean/reduce.c +69 -0
- data/ext/ml_dsa/ml-dsa-87/clean/reduce.h +17 -0
- data/ext/ml_dsa/ml-dsa-87/clean/rounding.c +92 -0
- data/ext/ml_dsa/ml-dsa-87/clean/rounding.h +14 -0
- data/ext/ml_dsa/ml-dsa-87/clean/sign.c +415 -0
- data/ext/ml_dsa/ml-dsa-87/clean/sign.h +49 -0
- data/ext/ml_dsa/ml-dsa-87/clean/symmetric-shake.c +26 -0
- data/ext/ml_dsa/ml-dsa-87/clean/symmetric.h +34 -0
- data/ext/ml_dsa/ml_dsa_44_impl.c +10 -0
- data/ext/ml_dsa/ml_dsa_65_impl.c +10 -0
- data/ext/ml_dsa/ml_dsa_87_impl.c +10 -0
- data/ext/ml_dsa/ml_dsa_ext.c +1360 -0
- data/ext/ml_dsa/ml_dsa_impl_template.h +35 -0
- data/ext/ml_dsa/ml_dsa_internal.h +188 -0
- data/ext/ml_dsa/randombytes.c +48 -0
- data/ext/ml_dsa/randombytes.h +15 -0
- data/lib/ml_dsa/batch_builder.rb +57 -0
- data/lib/ml_dsa/config.rb +69 -0
- data/lib/ml_dsa/internal.rb +76 -0
- data/lib/ml_dsa/key_pair.rb +39 -0
- data/lib/ml_dsa/parameter_set.rb +89 -0
- data/lib/ml_dsa/public_key.rb +180 -0
- data/lib/ml_dsa/requests.rb +96 -0
- data/lib/ml_dsa/secret_key.rb +221 -0
- data/lib/ml_dsa/version.rb +5 -0
- data/lib/ml_dsa.rb +277 -0
- data/patches/README.md +55 -0
- data/patches/pqclean-explicit-rnd.patch +64 -0
- data/sig/ml_dsa.rbs +178 -0
- data/test/fixtures/kat_vectors.yaml +16 -0
- metadata +194 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
ML-DSA-44:
|
|
3
|
+
msg: NIST-KAT-ML-DSA-44
|
|
4
|
+
pk_hex: 3c8dbc6e7df7888acca525fe719a5dd308df1ce899ba49bc958fa28a715ca8dcbd66dd24173035290f77f008bc97377b5a78ff48c10296b4569a8994f4d45523b46330a82a217534091e17173ad95359b1dace9f174bfbb1365edd29509342a597451cc4a29c2c3d1c8518836d143c364dbbd29197888a1d618207bb6d64e6ca30bfc5a965dd786abc410e451797f916c705dc296acdc9e81a72f3173ee141a4294ddfddef76f28d53dba469446ae24d213598799fc3f785469a5b5f3dce1168890721cc196f51d79d2d000fa04b3c8a684272761eaf4455634d9176067d5ae6e19d7f29a3b2a2a8c07332aeb9381e6f7ea9495a444e015223dc145fa5f8986fb4061d13fe14c19cf81bd97761384a594ac5be92839719f776ad33e08d195404e6fa5b2f846b93c2a5042c2fcc1c564a68fab1a586570c4179d8a86685626f171f12ec2496779926eab6806d1795a46774c66b56d5eb8f0a336b41d06a7eca3a21a7d6c79c698cdd610f5828072cf7145e2e2f435c8c5bd48459f63479c8627fa0bd0fd4bd57de819e2c272f9c6368a2d5f9d3a7e8e8d230ceb3f44ac888dfcaf95b85142607dc9adb7db01070325220e04b2c0b8727f87f66ae82e8b9fca703270e9cd864d3d2e2d4180c1c1dbb266def7b6f4d6328f5aa0c27a94350439d7b51a94cbde9ca09b4db9e16fc33c7bd5dabf3fc02e90fc80cc8e44c26ba5ef538b3f5c72e9d879b98f1525d4ed9a08f9848d48cfae12f93fd3bbe40f1f1d09d22a36b6975d8c2b93e083c61db9f404c6910dbf0de119da0ff57fa25193b26021f41d1cbd0b40619f26f26d4839d61381943c41f40a3fd502a85fbd1563a36fc1b16f0f67d398a11f62064ac36e41509c8e65e919f9c482db6b2f7e2ba18b9e5736710a6acc3e2bda2a4a238cc1c4c52818040f4fc3969aa505c1557a7f31af91820863724c91528d913cb79ebbbf39d94fa36937f720a77ab599e50cadf05971e3edda22e80647d41e902ba7e4d33b498273edee0f9d691e70a2261551604f3c10efb275a9788766cf06a745be81e85f5816a08722dd6ccfdbe18612e899e44be68f8c84a84e4bd4e49e3a8f9cdd2f03c8367b98138e78b1c719324b9c22ac771590292e06817fa04ec528e73f37828fd47bffd1bd9ca140b768b76cd037698c53956bd675b7dbeaef2a3ef956157f1462e3e3a537c1a19632c73b4f061fd5c72333fe080058ca47098ccd5ef83587790c92b31b37b2de5935c5c924213f2a528c26b009d0b25fa7e05debf730c71ce3d47e509a3562262d9f2b4f1e0ccd14dac689ab52820f436b6e2faa52969203d023262f729355fdb650d185afab9bdb04030499e16c8363bf96d24340e5907a15f501538a19013e4b366026973bb1334356aa9d23151bcdb841b6a892dae8548c734b3a8172de4aca1b27497183067bbb669fcb28f52219bdeb9ab673ee66049c59cb4b23d4a68970e6a9ba1b581d6cdba43289f2b018ac1b0f1901f87b3b9c6e7fabc2df15c7d0cd93701211f841cf1d0ffcbc7eee2eac4f3208cd1d1d7e1f515f0bae512738eb1531266698c5b22ab7c3c6e6e105130083e13c50ee87d0b2b9c9c6d906200c265a52be219594d20f494c9425d0feb354a926f62915d14765f27d074ef47f6cd524ddf57a7ce4161bb9a2a6e729440fe8fd1708c54b03599f632e68e64810444b2e7e627f9bbfa7b407b77048867383449420267672a95bf4f1905dab3d16e58681aebe54d93a6889b25e2e75d30f91c1d5754c41f8f82f0b56a6cc9fca4cd54ca8b09307491aadc73b0397b5b9837a2b3fbce57ff82efbfa1870635727eca185c767f7cd615d59c7a8c
|
|
5
|
+
sk_hex: 3c8dbc6e7df7888acca525fe719a5dd308df1ce899ba49bc958fa28a715ca8dc5b1509c81895b75817ced7d0644beb8a9f9d8f303c2ac822c887afcdc1005fefe9ba23de2034c36e1fd7ed4b4979b1f9b234d1efc18806eb99ad854efb52ddaf445b80067c50df7ce9adc40fd7ef5232d64f273bd12565c73bd63df1935447dfe0022103972dc122914c2830d12620e3b20493840193c82d11802cd1428a910410414251cc884544425210c964cbb460203370800050633462400690d9b2451b324c04b54019a62c9a221202454989b085dc202ad40604633465844424d30810dc164941846811233223328d0c406998086614b98c14c2310a2826d042651b492008c70959046920216cd0228922350a40c2294c14215046085ca42199188c091571c1326c90162d2335489b388d2334055904418838022432910490845c164413314099b8701cb40c4c000e52124a14806ca3908864206d1c870888a2251a340d2203441334084c407110364104840149a211c9a2091080808a08260b234908b05183b445d4240d9c386242b26d03098e500868131844d90811a348480c14529a4008c92842e0a22c63a031e18031092171a31212dba0841cb24d99466e91024963c0009090048c2465e33848838420832226914661231884112545db4085610402593809d8a251541848a30400a4001058b420112889dba681db024c52326c5b38850c4370e2286d5c444e10206a20480918a30520a30d0a43729b48116444498b302ea200460a3249103242db126601a14003272c22254d1a978c0c46050c4362a1120413080ac1162a81c828a0b8312413419c122d50240c1298052128460aa424dcc091430002dbb28064244149b84d2023014b804d522471e2a26014a2241ba748129488800861c8327109028c43046188a62d8b16219482400321520246844c446680380c2309209326508c362c58b870e1008dd83621129750081631d2362d08450ea0a25098326e003302c9344aa1c26c59a0285ba42cda0425230708d3c471c1a8104c3426838888a3120153b69148a48c191842cc96280c414080b001e210012432810448200c1271d904120bb90148048083a4849aa26dd280648b948582a28c0ac791e0426d49262824382ccb462a11413002249150b48dd3a47189c031c8140d14306203a5850804111a0142091788824266e3b41019458c14482d1815104804656040440a9828d4a210e0488a64244e00c51023220909240d7dad14c95798efceee2c75eef5c02aaf8865e83c9083b8661cb642ad10055f02f193b0ee4b5e1f3a2dc4f6bc381e6909af375a991452f5bbfde2202f768d19bfed9b61cc1a890951e850b71a15ab7a74a8b4f5a257656b0b0f2de688eac804a831708b969cca06bd94481efac44cc1e65dbe6b0082d60c2966aec0fd122c4f5137d9e3f34987e4786b533f33e6a4d9709b76db105af48b5d0942224f1b1f4e867bfc13861c4e683a81f51d8f4078cb7956a4f2e1f7d5fb61fbe332e1edde14b4c157d6fcea98b242a9e04619be361a57afd8b9a8a4a17648af8a6e83cde5a458b4e766418a1cd480c91d46fdd56071b6adfa4e08a4f6cade3d06b8215f3aefacd01b044a8900cffb3507937926b9908153efc4fa7f9082b0cbbba3cce8c7514f9a9e6aee00ee389800d3802466ee4b1a2348365e6572950bd860c928d8836385a464d0c1587b49e2a0efab9657e1bbd1f341bae82966b008ba9498c94af2a72dbe8911d7e97a4854e9482d33b009a6ee69e503dee13f3c9852bf637cfc360678e3b7b34b893b0eb00b7db638a5d9bab74e529f0217f7615a197e1b66ec3ded24cf2e308ecdbfdb46a2ddf3e791ba658e4ea03af904b37ff2050a3390c500a630be764c3bf2aed384b1d46486219efdcca53b4f83f33bb91293e50bee402e2bc022fbb358cebe7345e48d09ec52a7ab51b595b4cf5c581598a66b296ab51a6aae4ed1dd393759cedb0716d444f36800ee713a23e732960d7b9d9840fe928a4a9ce6f12e3fe8b6db4babdd5d458cd327b4ab0749e026e5c37bed828fff777a3d9ebb68ac3cf1a1a354bc0729a84e35882484a4b2c1158221ce64a39a34a63cb370eb483fe84dad701ab7d8e43315ef175fcf692503a506ec4b29ee613eaa1ffafcfee0e825326c36f73c6aa1d0ee2bdad7b91317193864c16e8440fd70ee0ffa44d13b7c34567c09f4f70f774a7906b5f7c10b84068b64b48c2e31551c6353cc9e078a1975b558dbe2223277748c0f1541a7275b839ddb3140f3c819900b05673159f823d739859b90a093129945cb2d23c2e81fccdb98d4cb2647c574c969a65664914c37739b485abb1e9c60ac1151830ee469436ca2d8f2446c87b7ee3c5389a5e3725e20df2acd94475dd1c71433dafa0fa37ee4fc825f2f910cd64cd488084c959cd62947fba1b06e10e2d8a8e2c6b73a09cc2fe254208ad72ff72e3b5179ee1c8008600d6f366fdaabe2e7d449d70b86f332947cd39ba60952dad8e03e84d2d7dbae42ff2c08b0ee8c1a40cea414d71773eada5f61eb0fe214bfc506c53fccfe776dd443147b2046830b41723af17589ce186633681844fcc6b8657f6052434ecdd4979fe4a279707ab86fd7422605964e6480a02e3abf9f84ae2e353ff0790ad166958c2d79db83f208fa47c3eceae51978164c5b7bd598dcafcf31024bd26d03f2d9911262062c3a89558a7f02cf208d16907298ba08d064fecd219f51f57bd9743ab36a6919995c2e5fb7bb931c679a0fd0f65cee6dc35ae80b6361d6156b202e79ef59ea554e02fb3e8317a56afd3e614b3fb08b46dae8b35fcbc823714d83f5ec355847a23058e506bc91b49a10e553bd168245814e5d7384b735a450cff2fce6a14c3883f53115aca7b8542dfc63c3bd7b96358e9aa3f670d4ca8cd87e4c04ee27c88d91cdb55f54bb0ef3118ffeb0186c175a93dde34be763ff1946f646ac59d6f059c2185e3fab34aa92a2369562f0708cd6438c3ed574b56d80a77e051f402edc421bb00a938f6830177cff2afb180541fcc8898c8f87adf52a8177e35a37e023f9713053ccabfa07f9939333c7ff2be27d1e032f82c49f726051e6f3773fc0e574b98608b68177cf03b66059ab60a864bf54312ac0381ab876cb19b2440ebb9fbb257887cc0a01c9435a9bf4d43e173cb50f2572b3fc218d0f656b6effe3c40b0b65edc4db3850fc49b83fa61a8aa860b7cfb916a4aa30d0a1e64612eefbec6eda3f1ae2095aec34005b0cb44beacf099d541ae9e364a0f6040c30ae95e18ebbf018f25c61f80e087e0e390779fb83e9977dc347ad63c4764936ea38de8e47aa401f147a3fb0ab855d410bc26efe7f2da9138156999344556590cfe404b3d2ee755fed128f116196b0261d6c2cb7050b47faeefca685a6e37ec14cf1d93b1f55330d0ebe6f08b5add5c7edd7ee121dab8ef5100a6ea90df2bc3a40e255dd732cf89e7cb370f3492f8bacb56c661bc41190eb7d24f6b2ff344b7d108689123d0833878a502b59b48083788f90a70a5b1c2e7d256a71ec1933d06316a76221cea9c95cb8d06b5cc5e0f65b5966f1514f5430c4f74afae10227ee
|
|
6
|
+
sig_hex: e74c688620dc74b9e518c6051de66c4528027f5cce7ea759bb2f5b826b39ed20af94f704391a2e67f8ac77709b2e33a4e5b7938d0dddf65af9b91e5b5a5f34a60c089c9fd354ebbdcd0cda443532fc2fac05447fe4dec9f427b26070b2a69edf89540536a8761c3eefaa36c698c9c96cfe1fa1693c745de5efc7058700d2db77a4d351fddedf5990e2137cd29d94dede35001baa85490f21e2090469ebfb4f7c7a0dbf336de7ccfef2c8c4b5c0ed8919aafc684d39fc4a86396fc7e5d5e78c443d571b033c3e431b054444dcc652285a7ab2d8c45a2b489da85b78eb086366d1ddf477be1deb7e5a844fa539c95c1e4a83e24c7b1d07c83eda5b4af570a3d8b8de3c3e3d349afe7be3d5b79224a861697b7adfe03ca65a040979b167ba8a12882edd49eff83ed012bc28de59d7a903b93acc27557c5e22042716088c1041894dc97d155bc42886fc506d06b2498a5adbbcc0ff0943f0720d9f85b8f6a58c04b65c9aedd52fd5903dbd3ed4fb4a4ccfabd253182eda047a539bd0e92a0411f6314deec48ea609bfe1a2747b5a9c00dd463afc4561fd5240b0dacb8004ac1991dacec8628c0d84b3f6cb0934bd8b61973c3c5f73536c4145c4184be0d91e239e01a81f1d4214c72b19a98c45e54a3a95fed33f9755ffcd1a5a76bcec0690ba9dabd4a6beb5b92de00107e4c9f7a7b063516d9a1e7b17f3b9edd7d94d55a311aa7d148b9ba4e51f79686f0788e5b46866c66e965bb6a789a577b2121f93e6639b5ef272fecd5a04a6da49d688e8596e76349a4d6c30b20101724676d8535893242e28d8012e1ecc147ca1080f5d73d65a6101a6b0c57fece0eb2e75c1efab036a8106953a6e2d5eff7a2e1b2c3a912915e8f3bccbc17b1af8270d3d1135fa0404f74aa7876e354526b841dbd3c0c2820afc3ff39c7cf1ac79845c6bc8d2a660615885a778890e8858f2a9d53eeead6f08963b5b6e63d3e5e55b19068da0170a3ac40207d450216b9ab2c73e4a3b3a9202e8a01b4ce68036f86d515a88b86fdcb1be2e2c1402daf97cd77068f623f0f7ce5e1cc59eee4e0a81c1ac64ae628fabd2449f36ff72339424abe6534bf1959961ea5fb1cbf4ed3eeb7f8322eb771497303c0716c6735a131109123b8abf862e61abce9411c67a70cefb4102f1d31fdbb4a93bb5719a6f4e69d27213ac76aea601877b5dae7b4f2e145641d6750ea79632c1bb85416f7e05cb0fbc46658c36519ac76a472d15bf78adeb9cd518ddfd81c4a1d6a841bcb474ccbe7cbae801f634be2230183eff772345e50f40a67416e5f4b0cf7cf11b801f4b6f5b6b5f8601468e158fb7abfec34a64b8e3c9fb2633cc8c0c8cc5d3da24ec29913bd7416711848be85417fb0ffd258cb0995f0f94cf6670b02c370362cbcfcbfa1c8bd7192a69e3714fc52540c62b46fb1e8dd71e4df34e8c9a077b7cd69090703546ff6ee564247c7cc14885665d7eaf2d2a38db22fbb472c4bd481b36db9176152f37898b666b01ebf08c43334f160871d8e9d832c90ce279d50d6c1a9327fdf3a9fef21358f64ed6583aa99e387ef8a7e5ddabad7db18610253f45232a60d3426d7db8907398b99e78280473c3f4fb078bea563595213b7815672fede931167d35b069f56a3819192f8ce8e398bfbf976878ff956b16512e6fcf6977ee5a5baf21976aa80686dd47c1972ec40251eb4978c2123890e6b673c4d401a44ce81321d9081a5cc9d7cff1f17738d5c61b110f53e034ff0d0c601e7f95b61c4522e7bbdbe0cc56568d9b2220530370259816febbe4a28edd8d401e19426c67e0dce7e4a7dcce8ed8ca2fb7a03eb2bea388964ffa4390a1ccf045999145682699afa99fa31162940d142f9527d57bbb35bc76510fc690defc6f12b897d648ba7d3882fed2316516ba559695aceb7fdb73d099744c4be60327bea1e56f9c5cc06473577fffaaea16aa8b4627f1cb8e13ec4d8f2e68afd24041c0572b1881f42b47e26ff2ad6019e0a0182329178300ec86823f3f063e37e8545b64ca8233bf342077c0114f1bead9abe72713bd54f15e64a9185168683f40faf204b603f68e0cda5456befe2f199ea5ad14f9daf0484f38b042559ae2a29b6d343c31d76abc06eb6803ca0935bb9448cc937aa97be3fe36a4583fdc045f83928edf8ad2dcdedf4a9fee53cbc87521f56a791eabfb9e67815cc4f773c2b139d10d8ded1940e69a3d06407ba0f8a6da36c9cc4f1d4a87432ef7ae01a06254d43939853c670282aeef58757da56d74a7921a0c9f4b36794b3a506a67a5cce30236fb4e1c4637fa5c99a200a213692149bf0200af1e4fa1494c79f2d34873d0a6a45f436b455e0a5fd4bf7b6d989d7be85f3c49fbfdb60977ab3d8d45b906021913d16f6b96223a7310b73cede276ce3c0951887d62ce19d4e72286920a1138530857407dfac00833e615e20f15ca2ccafcdace80c36ff695bdf5ec7d875bdfc3d16dfcefbe3137730ce999aa1e91eaa46a0aaff917e13ba2e83af06bd1cd38e9b711d414374e6b68518be0be7855590f2d35795bbf3f1a79e63b3af4a01ef05f417fc971562a4b87c6667ed296f9942212a11ef31a2ae0a67a004b5343d22f062817f6ba90e0821b851faafd565b5184d6803d98169be6baf5c467e1fbf6a3e87bc4b968ee8539c06ca4b7c043c5d435e94c2b8136e167b4208316021c4ae755b005f97cd48083ba2a0a410d721063c2b87b2d64ec1937b03cf1a0b81503f874523f1a62fa0f320b726021e3e579307152c14e8955788ad03b95e186fea730826fbdd188a03619725cb12d6d7d3c479ab479f4bf934dece2bba2f71624d8dfd00995281e3a6db096d0842dda7219e8170421ab840771f865bb1a8361595450e4fa95c7bf7232089429fc2890d4ea5fb87cc1559f95a50dc51ebaa800d18bfdb30a95d1422dc1fc96ae8e7c2ac75ed716fc629a89662f171cccac0d7142019298c14bfa519572a8bc896e0f042fca78f2bb699de56d8ed21218c1e7be3e68c087b68b4d61dbbf6eac4bf75bfaf261b7b5c5d4bcbe66e75cb0a268127130622c6159d6435e052824b3f37744bfda2da54c3674651d116ce22e9f3b72a3afbd042e8ce04af2f3e99f849eab6acd01767c8b2793730a3230c02dacbdfc0342ae096da4f37f860c4db576a157dcbe1f09e4d6fc2a8e56f49a489514025d490936b986006d50c6d80a617b5c77570b9a5698caf21fa00453fbff0f9c6ca4482addebf6027ff749e50c42edf34149e84ee2b85175d995266c65592112ce1da803d72ce505c436071f2a3b4046484f7d7f8082a4a9bfc4e1ee18282f4b697e96e2fe05092a2d3b767983c2ccd4e4e9f1f5fb002330505270809da0afc3d3dbe3f0f2f3fbff000000000000000000000000000000000000121b2b3e
|
|
7
|
+
ML-DSA-65:
|
|
8
|
+
msg: NIST-KAT-ML-DSA-65
|
|
9
|
+
pk_hex: 4bbbf6717115028c658772702a5c1c8fd6106c016b999793ea54312b45b27e176ac80a05d84c6c73022e5369ccd2d7bbefa4ff0a03a7a203402578a40ae112fbc84ab6b6b413139eb51bcf808c59ba825ddb08a43f70239f9ac8dfb623ae313d65a6e347d5fd2f33e26c1aaa5c0ff62476cee7f244216c3601b2e0c6d4dd21e92f3c21278943258aa8aff4304bf656cc271cc5b5741c92d5328a5c0eb7b07578ad52833abd8f08260925626a5949cfb37871c8b39f4c494c22c906c36a78ed8be2ea7c641671e41a141a41d7c685f1c192c0f862733efe23059b58cedf6e7da5826eeb770547fcf8443269095cb120826fc806be0ccb3c19f85ab29af19b5e32cd38dadfd7fd5afa65b2478aa276480d4e8fa48bfd87626a0fce7699f45bc09edafcd6078ca6fda867c3233266eb9b69a407e473ca91f9fc6db6eda292e60a79e26ca58e7812c2fccbad8091639a063ea081846634917045b7193d1c18d039fa14992d2780daf7c7fb5bf327b4fe179476b387160a4e6efa33ea20e7c96c0f7de5bc9ed5e3b8d24ac56a41a07338db3a40e15f64ed688dd2b4aab292bc50f26913d08dfd8f124a8d50a2e75f2451570a4663aaabf7a9c3bd886fccc9a196162b5a88c75c08c34065f59b59ea115af594f225ca54050e206a85480c16396c6bdf2aea99cc8e9d2d45e276e39f652fb0355be3fbaddf6caf701804bc158bb19121c35cda74e8c315b7240d9d37db747784902468ac451bafad45e8e76f9000123ca12eca98794409b15681698a601c25683bc36f8448ce8238c397a06a6ed6841ead940aa3a2c129767ac1cb07201724731b9a2e608d5095f684d7c92ac766d69d22223982cfe8100cf1459138ef50d346874e924664f1ed8aedcb6d92dd3b4bc6d5dc6345f2a892538f5d9af411500a95e2c7b124e07759018f8e260d5ec5a789f32e83f2948ffab957616804f1c6abfe837a41c80fd9c370ddd40dab23c2b95b814a4dc463e8ad4b33ab91980130c887870fbde31da365b75c7ca30cc45d756b848a3a4372f438fa0f90cc5d6758f5def557fb818c4d56779317edb096d1b949bdc25598382c4c84dea420c5582b61d055bdc717c47a3c5e02561ca8c4338246ed3e7d7133c441455dc50f951ba4921c04d64eaeae9763ebbec2533a255042577288cc8eb4522bdc5593fd4987f23eaeb48c16802f74340f5d008d6e31b2c2228d0030ffd30eb803fe986c88543b9febe34b9d5e2b7a48c5be38986a1120276192207e5694130becc42ca7bea59b04e52b68060d1a9b1de18ba753bbb1b81a16317d1d53eee206c19750cd67b75e1683e9879b8ba64596fe353da4dda0c895b08105521d3c53aaf5e7f740bc7ac922d7fe95add5d361054ed626095c8ac9ca7aa76f859103f8863f1464d7e3671738bed16c1a4ca7f8252c52d99c1de3df2cc0efed5d29262f1e55a7bb68f4aafd2b42f233b61963a6b682d46389c9cf9de41e37132b61d64fa224204b0eeb3c468836aa4867fcccbaf63028c56c209f10b8fba0b587063b60e69c3c398bbd5d42b744f49986dfea341d06c835fc94f0d9d0daadc090067a333762e6beb715e7fb938aa4f8614482f06d0f149692bc9c9d76b9df371ca995ae8796230a5f944ef9768d960fcf09ea126976f41116bd10c6a557976a0b14d29b59e1950da94cbcd90a08ec23da7bb715ebbd32fb4c7ca595466b5c0f7f49c756d26ef561171cde8ba2d1ff1e18bd3898e835fdedc1e8581209f24e6638f70bd94019dcc49c7a303fd63a1b1f1638177f3f1b35b1c71db9550fff8521d721d67019523908328c3c0f3d575985e147a3b767355c3c1202703ad499c208212bcee0eb02ffa7fe90c4566c107ed36e57549081204320980fb2455280387878571a5b2cfa279d8258a9a4cddada08a9d363c3ac78feba5178527ebc863f5e5e42748c506e5c6153d1ae6584c136d6899229f03c515e02b248ebf31d0ce4066ebdd3313c885b654dc879ec3dc9bc43a5ea92074d781eb0195d7b84999cc7a58fa3dc8ace7ab5ca84879ed1efb20b8d4072ea29809e4dfbe48bce502797d81c9c9f4851e7e6b2b5d80ffc80e367e533b9dfac6e7905d8650fef7d286c6fb1d0044ed92e5316410cac1843b9e39f18e3d842e12721eeb602f40a8fa29d33be30be149b3d460e6fe7e2cc4d1125ec554235979fb080c1f1a9d967543a7d0740fb06a60d45523fcca5eef17150c33a091735030285e60fb4db830d5914101d14ff109205942f095f2633114fec7eb5293c22c671f65063515ecb882005f657dfc1b0f8169188df435df410b963bdeebcd3cfcd41b5162039f15641ce196815b17e03ed0446665a77964bbc2480d32433ea75a27520055b37aff796a157f8c021fefb13c43c8b620beb3b7a0cd95dd30c0248d09ea9d7275fed62a1c8361604323fae64acaad73cb341366dced3e6da060755e2f9309a8679a466f8a9e8a83e79bc6404d17c391d8829677728d0a385705113d2b4630c8e20e36d200b34235ae9296a6f9b0d9c972b99ef840a35ec1583dcec15a60a66bba303fa3879eccbfe157a4a39df28560f60678a947f470dc3f873b80011b6f0a2af077f8a83a4f0a7c8302bd7a0cadb9d0c6065b228d175c4a2b1ebe4591d1443405a09730587b38c14b7db62085b04a7a970e8ae954decafba87f6dab9e1f998a107b6832af2e8c3a60a5ae7ce68b692b8ccb03405aabd71d5636864ba244df86c3ecfdfcccebad1
|
|
10
|
+
sk_hex: 4bbbf6717115028c658772702a5c1c8fd6106c016b999793ea54312b45b27e17b8bd61d4163d2b379bc48da28154e6b85732755d6b82a54a08dfe235ed3586f82f4063d7ebbf4f06c22a176411ab9bb118c740a34ac1d30c91c836b1ee7db8b8d1a5b95f7cf08a046b24984e460136c717264e88a3d69b7f30eafb5a1fdfa7e342570323665282770435775154852022503322320075806188312740442455511466438815504186374531833810017862633370555716214776652462133358445402135705837583042577433745365375037557868302403486861006213011746362178202864378582641718635574002177486050331107434344231587784737618358563233374882444482656420510471464036808454134558007415538468755184124578620160216645526548566048077603002672474555160112352161532542511661515446752017277016354733405605505807331800124245861527425631617135085314103805478404318300368867814863263675001612665538473043738230278274115236880147445583614116035023561188530823513278167782331640675288356767158340306825154845388423034283358325668277023245008081288842204704744668336242385672781175776436440514078066287006808615264348004808616525134076566020621704320312488716148101642140554751418335384753711638300266186363086407163005352350138124654624573168287718083727615041006345078831731724534760002553635545722701825084142376713273268203137113277175453411882536124375377660184278711608728353151324877276321518318537247437253054553386157524238427552038840522071807756778854851437032814313732280665036562318666642788831571868558335177785488272151858272740635612108027141751441645764652221262417584612810770804566630033734110531515238748737381151275062371461063814572138642053270168352033631778778418007350201835245517170333701158107121542202445026705217808252270176352821657267167732045004616476744828788631017817058663025343584547602305731732047350837333327251857587818365083581030253347736830830434314178281515385220712880864442516672620363724710475850728703233051450804813458856033540622721088342357510503236045327555823263165478836380810223827064256085550056843363346360757765465852274535404244577077646347518514384048466755327751867084073126127503446333886848503020624451401272533035672714334634718764668156475537081526445555631642203625166702060272304262456735245833577558372152344613426263781412712063464876134616443786417477034771470568275707123100204431363523051254105637884467886580618746146552333708341282375355115821518455666583654825878186341567853001208263170807127227572147677550421240286115064127065720111177143010641502351756585011085407060263508676270066277100266435504265025063648566641487074857257386877813875170066420418761335760654628642058428461886170486480342800162203143682235685458180275847222524178131810630274135582354860204120230170021047020673844836224274315712056367675476045008502514451716265316510027538085060866385502682010510318666476208283368114881755108835338223226658088517204670726606032103750421768101415783420032474162008351332382705715713618650182518088887404670675417405151518815443547555267280703803541755458774213131684053772261186435741361824231687068061320572368707703356042652040578213575856467022683582513137032673875150234541328470453086605126745353567d494e5cd38d439ac81c9140b2ec80568b36c6dc5e4aeabd955f09a6536230cc9f941638b1ebc0be58d92bd958a2a798118aa061865141c831090dda09d7bcdda86c3a3167d8f120923ffe470ec6a4369828a2feaca48538bc0ab1277b15c08d8dafb600906cdafbf9a040ff00afe94b9bd70035e64c070cd29c766352e1acb622e53d408688d1d75ae58f8f77cfc47905edbcf2023a54e0aae6f3da05c7c1de8e8daebb170e17c6fea55979e4cd93eaa5f639334bd5b095dba4f187616817840051e5ab99237f479f346466a390c81349d1693ee6d35f378a9863adf236aa959703e1d9d44db53405abdc1d483d45fdc4b6e51410d03cb8d86c124429b1b1d2431b7a47eb2538c82a7fabdfac7c766c01e4623ee54e237f643c56309d258271e8c0eb557b0ba344b9a2bd423c803cf8838f7457723d182e0cf5f57bf1923804be8960097bdeb0338c057c8717350c5a751c79a1068e1fed1ac90ffed157431cdd7b4123d924609c071a27166829b727027838f68b7b599b7b19d15c67087738c85bed7d1a028abdd372d05e6b9ebcb1f97abf677d2fbb47e1ad1309f174a307a1910e9b670071b3b21f9db32875bd2f2191c508319dd815933724ba5110b32653e870873b88c1be8939d6920f73ba8db8e6ec67f85fcf939f34a1c6ea78aaa5b9b38fec4368150d62b563023c934866870c529861bf75aa3f2623d8eec2550ddd88b9060efdeed2198ef9bbabb397c0ad1745f94085103cfb2a23f9c800efa156b8b6d1a0700b98956c940a925461d59b79a4eebca3e8c771281ff6d18e5b76e33fbc4d53eb5e636b800afb59a62f19a17bb4b2fdc002afb1eb56d309489bea16f4a244ab6860725b91f0223b85261cb9dbedfba663f687574e95d31d4a7275e98ce746ffc43403eba0e253b89362ca873901415c32bcec139217e7f4be9abeeea4b03b2e791bb91147a98725da6f67cbff387068bc753fa5e555d58f2e2a62f8f20302cbfde6c8b070954a8c8005b9964f07526acd95af7499465447b87fdaafedd8a340cf301a709f844ad27aeb02b1d275ee9e8c7ec9753ca20d36418db30db90317d30e58fa15439bad0b1a69912ae422e80530e7833bf79394b607dc5850528be23e6be846dab6326988a048531a775fb4d379db5864beb958a16fd83c8430fbcb7be0f276a8c79d633ff96ec9d3de4f7beb7e42fe52e0df5ae1f275904a6e5c0a81508084581fdab42d24ff0bed1c616912ed00f04874302351248fbfa60623aa293752edeeb977100d671db63b70ae1a4c1836f1b3853c31681533813bd0f69b3cc263c9502c2967ec18c8b021602c842fcffe7ad9de65c6250af98391b9ed5bde054fb3d9d168d49dc7d271e643e9de1ea76ad3ce9d82a515ef20c55f491e895510c345128375e4de78bbcb15a8fc167c5c757868f65bbcef901b4b0485f0ac127143c94e9e401aee8c6fbb3300e8711aa231f6d6ce8d0c76711e7e6184cc83f044781b67fba65a91b1b08742b935981076c5a2d463ce4f3041f9c036212a03b63df40f04c59e46f8bfe8ede71eeca75ebed2b82f4c846ca36d5b75666704c943500cc8c1a7c8f66007e3dcdc1495862905b4a687c1693a56f007f5fbfe1a77cb67a480580e0cb8f370048c2a464177a122eae03cf89c868b5ffc17804808ec76468a6dc816a3a592d629435e8d9ac0f6a4b7203ee08b8764f51468582a7127c16ea3bda1279a894d35bce5e936ec10dd6bec44455df949ab088f3e33bf413f3fb7012fda8c62a96933ac2d4bcb2d0a61faebfa834a09c8f7a2da27cd19339fef3b07d40d34a52ef30057e26eee418e910d456ac54b82e6ce3f9013da3ce540ae1b0067fe92659dc67ce0025a3674747ac03f1d747abebf4540b88f2a6678934e7b00f7540a937254b279caf22b4886f9d0a5f8a306bbafc0a11943a29f799643eccb607627252839cedebbfdf03c105d19d9ececda46d0b02594bffb498bc320df488e8ffaec97c8565089dc7db38b2b1296f77d18ef4a5a9edbc3ff22ab438fcaaaa9da0e66d1a9a24b7f3a9faa6cb717d2fc607cdf26db338018623be2634e9e93a15f1e7cab4df25504fdb73f4e91bf7a9aa78e929e8a2ae47f537ca3b58f852e35c0a913b3a25973c5b83de49c71161dd2c7e9717cdf6011c44e7a1969d1d5ee6432b43c4b7653e507af24e027a45f9c450e1c9692ad4a5db8965a8e54998433cc2f6f16d0675a1779c5ca0b1073f847833aa63216a7fe6219ebcc947b0645a68e25a514ce23ec9aa8c17ef6246d8ee58f2e35d181fc7c63e31069a67cca16a4e6991b88d8ff9ed7719ab47ac5a0d54b349a62e953b8898127097d1e4b03e0d2bcb848053ab8e2a228acfb79ead6bdb5856c32ce1b989d325513a7bec055387ea69c2eba49cdc6295d3b1eb73afa52834f975d802e9ac9a5b2277cb7cbf339ecefa8e97dffd175d17d2af11478aea3fa9247eb6709368c9d4bdb493818dcabc81de734edc6ba36b501e727df675193e5f90ef6fbc7b870749b0f084226bbb128b882825672d6c8d2e91e1cfc1831cb0e729e40122d6ef2c8efcb00d719595b309ebb32e2824435a02711471c4c6c02aa3d37c7a63cc3ba54447bd6f211b39aa0a9f942e2a7016a07f8b2caa219af701249a2a3e455fe4a5e55a9a471ed192c2ee7a15818959eeda1142911e646494be2d313c6ca842a76791981cdf9f650198d7f151279948a7288959b142039192528f0f4365ed495d5b148110daf8e1d328b7beb921163e968b722f6e922ef3c7f421493717690f2dedfaa723a178749adeb3e5661bee5b2ed0ab9f1c968c7a573e57a0ea48a791a8d9200e3782b555b5fdec66b5d8dcde6355fac88db0bf69df821c9ab92229ad9153d0c690a05f5ce06f21d101a07faccd2374af3ce26aca4a19a5212fa280be8865cc190871c23682b9054a123275adb0f24c0e939607e536eed153ae9a7b7ce72e096f9fc34bb5e5f6268c1e86a8d2f21042c042b311e3867e2c1742e6a0e327fc73afa2357eba0738e30d50987d83f983d4654462fa9dc5d4aa0bd516788aa9c7f0cbca9abc6288af2a041c2d191cf9ec9b84e80e76ee95781e4e520eb29dc9a1ec92e5f8689b5521696dd116a5bb127ca52755158d0fffd2b3bcba8003324ef5b512d8b73657f1e837e04e24f8919a5005c7bc5377f4eb913cff62b6f82ba8d22edccd0e4725ada46659d2ed8356614572ce4326149958a62c71caa87f03afcbbc0fd7cb0eeee37d21c783ec895b5a0ca1f0e07a7d434d1e702ad69ce03e5b3fb5ab0e766ec508ae8601f81c5920338c14a516d6e77c07227d6a6f959de04a242a449bd7dc1102c75e04461fde97525a0fc19158d0c828750d04506953ef95282797807519eee3dfdb8edfcb92152cd2b2367e42177d04674d601a20fc3b22a5ad7fb35d618528a6885a4115e43398974c7486a3d13dd0e52c515598197970e6a1e0308a169a6eeb765a3778f705aa525684a4a20e89bb214d1d055d76340736dc74
|
|
11
|
+
sig_hex: 2fdbb70d4dd6d32e77dca13e78e57de5fa97d54e6dca1e3f842061b1d9c0f3e7657c85c6c17d70e8b82c68cb5d7371cf3abb96f4a18b0cbbf265ccb998446ff2aa4a92fa765172ba215c24400a638b8baaf2dfb4d93d9f417c8d6776e51e86109d64af7b546d4eeb8b85592531e227ec938f4824b8de519358d6ad781a152c9fcaddad9dcfbb640c70d93dce07d8bac196f9bf31a9b5b1ebe553af318b18ace618af0f51c0f3912b2485cae3c23b6fa78abe792cae2831a64f03bc56777788594439b07761ebdcf2cd383309596217f7bcb8c8d97e48428318bcd32f9304b182c89668715b994a76e918bfb7c49d26caabf9401d47a7191273f9ea241a9d995421bbab6ad307fd653fb65b3b65010246ad25391941103ff2b416373d10c9384c64054df1e6d37123913ca6ad09323d71e9c7cfca9e1336a57baa98b694c46fb3b4bf7f2b8cc16e19fdadbe87838506b581302790123666314ee3e5af6479ee9234689fc3b1ab24f5160e0de06d61af588e7ade356c7b2beed3b0c84b46a5cba8e49f72200d16c29dd0095c179dd725dff173e388dd5b9d16ac81d1e9357617a8148963b99c255c5b6bc8bc959eb27cd98bdf3ea0c32326dfb9e0a127a84589aae62d82d060edda0893176f8a074558d37628429c35fd110dd62ed9d7c2720ba71b6d55e57ff27c98d7bd1d2fc5b4500ea8487711680eab93aa40fee702a1f446b8cc9a4c7a56922260136444123a0e7022e540741b92c2fdcfc8a487d914e702dc413f9978963f8bfae3f8f96c78a7dc6519de24760ed4b79601821f08adeb43f9f5094f7d5e32a1a107f94ac943e0dc40c8cef1b47c9ed36aab9d694c56b7f9fc702c890c061d655aaf5492a73b7b9588ee5ddf444b5fbf676f881e0cd39979808876473b470664b6d5ed507a836d9703c5b4f2f70b223d1b48f08c6683984bba436425360511696d3451fd9f6117b744b58e7d1f602b9c66d56022577633ced8f51fad637d473944f912a4cf30ef1796f074d2b73b9f816ed90db05c97c61a6be70d1431e448b6323bfc40107edcf55f4c43d5953e355a4f043ab60015e83373b1296a1348e6a572e32e4eeadaf2099d2d5017311a3622d3031a883730cf19aa717e425a1b46eb354a9e07afad90808cafba92aca48f36d62adbdb4c323f1fcf8ee4f301f9ab880b4c4283a3ee2d403b68a4bddeee21df0a8f47d82ec7e143cc3103b4e6b177f27bd28638b49c59f38cbd0cac67ce69d2e707b508fcfd27a4bf60245c9cc2b5d778c128b7171ed85d42d2264e9538e598c2bd955efeb016c25618f22c66cee0fded4d865bdabfe6c96c603cbdf27eade2cdfd9bd32594cc357d340d1f2621e2e9f356e96169065cfc59330f175195416362c06d07e45ee8db56bec70c7f95d63c09ea4aca191e763b9d1b0e6e4820754353ea49e3884992c5ee09acad8bb7d626b2392f12bb40b8f7e3420efcb0f62b7aa832856ea292ec0172660f9963a8ab78b9fc20b72e9b255cd6ad92e58dbbc9633a77b9a833b6c8404d45beb92f795eeb2db5294383cd8a638e84f4a8f1fd8bc722dc496168b86f4a6efd7b4ae5c5f7dace18557824ab5bfadb1b5b07e650757237f9aed6f38cf955e847e41368255a65233a5c728cb4f5045146aca4bef0db2665adde682a6b7651b5ef77dca70689abb2ddd71f8305c13c7aa72ada3b18908700e03e35a41d9ab7b839d55e5575eb96b26d2f7f1541d0fe07de9452f0f204eae72066c88e831e3d54332de5ae7ec68d528982e0eb7fbf0a7fd1efc855bbef178fe64a75f877a455896a5a3f7263b98e615243b2c1dc8a1801b9ed81f77594fd2fcbf7763a76d3116c3257cb1af96b0e150a4a7f9365b9a2ea3511e72f702dd7f60156607db963f957e98a72652d1d193f844f90dbf1c527ff12970e500f3085ae109605ae0a82575e48f82a3fc783bfc68a4b3eb8f0eb42d94dce0bd057777fb66557d0a1698cf0ef87ebf8009b37ff5868dcd0921ca3fd4f2827edaefd5ce5da00de9aca917de2fbae06c8040e28a7f47901dacd00ce4da93d87461d7ef011ff0bd6b9697909eef0bd49d480006403ebbd0f1a0f01d57432b1e11a52f9a7b78a947a62101f67d032469fe3e6e78a76546593a8092b6f010133458e8f730489cb8ab63a77d7986071cb593c8cd95c44e4f177dcdf2d47827481bab5a8586066136aa072a30febaee2be6402b0eeba27c3ce07c06ccb3db15eab408d18beb95f1bdd85bc3d6c09f529f7ede368878ac383d9e94b961236aa267ee0fa6f90abf9192fc32aa949a3bfb31aa18f71cfd17f36d8872f5595b74813c838cd590fd1327ad86559408e15341147cfd5d773b12aa7040492c2e834adb884caf9d0dbc1a58fdd85a0383b5555e453b626c44e12e5cbb0959b4e675582b5e3082f87e4b65961345b77c1baa2f93e1351f3824320cb13058e3fc940fb9eaccab26c23f129015e64be3cf65e20908e1502bb13a63f1ff627cdf0d2f1dd30c231d3d48aa676876c39a1b223555953d0515b2a9a6b876db424579c0065cf845d03936a192489f45a379364f9dd7da39cd6eb8365af74bb073e47011f6cd8b8113798eddfe6a9d09c96f82fbaafac9de62816eb20fc25f8568ea4be63240f492564bc78bb51e48297eb128c7f6910af25200ba195e4d9cf9a782480abbaedea81aa65d4f6dd421d9d868a360e057b6b057b394d8793445a387277431fbd5ec700188c3ec17639b4863a68068fce5632ef40afdd7924927bb363d3ef6f0f5c62e353b487113e68ee3f480b67f794a5d7bd5746b941666c8ed29e85deed2dee9e293a835eea1405d03a7419bfde0d32347c8a7b42e7b87bf91e67713aded44bb477788486b460dbb904a2efbaa954996d281309df2910e26ec4b0948ffe8f90f06a4dba6a2b04c9895007904d09df9c848f548c058c3649ce7a5e0320d012400263e1ced62379fc7825195b075f0dc16bd6d9f78c9c0ce4dfb698a9ba8d2c26d760f916c68f0e5021b9c34d6be361340d893335a48c4cfa421986a70738395b38ab453b9410b18940cc7140ecb46d82903ee57e0dd79f2388fc1363c142c051d4c138536967bf3c9fe31f7cb37f38d05b881d0989def870b6421c8725e7763d3c26fac8441c57d55ca027f457df641feff57b7f5ab91259992aaa190c4f4ca801ada8a2684a935a488c76ac8a8c78ca836dfee23079d00a1a587cb80049c854b8e248acb33254b9c82d5ca3f0cd40ee63221e44017b0b6eca3fac612288fe9e13197de93322319f6bcbe2b315e1c4a8d58ac9dd8d7cb8ff244c317208c2c9f37152ba8845d3104a140e5f0758112d808c2a956dfec384742fcc09dc3628a5f93cbec7a5f5b78b95b8d0541c29430a9fe847bb02de8e7ad861a44e0fdbaa9891f9084a50b1f86b300eff50e3c75126db4c63cbc91b121fa7fc04063c62ff49abbdb7472781d1944ac19012acd55dfb18cb2ad4be0c4be8a4c33fe78c2da7d5fbb7586d399caa42a9dbc23f48a556fdb26be80919f360af7d4e4ac4991ac006722a51786dc720b2bafa9d309a3b0e0fbdb38f61a0ea492a90f546433cb1956a1d5a98a0371981de8096c853390c3b96f25c15aa49aa9e6547d1245d39588865f2554125e1aa6db2f802fa23c06a9b456ee4232a969377ee3b8558dff30b7ab9cf743ff22fc5bc960051c621de3bc50ba2491b53d7898846b84814f3866794f72138e28148501d4d8af634c95968af604fe87d4db8c947aaf0aab9b932be0434f1677266cb19032b8c1f4c19d699f38d255c6a357c3ec62a422f3d82599eda78ccf6a7ae5dd999dd82d2096b765897a01c3538253690e15c17a969ef657ced48167fb0eda7cac36b6fe655e4f139dddb96f63c660ca6f4deaf5ff352d98dc93b424bd2bc8b89540c19ec43741369a7315171e52655b9d95015b0b9dacd50f843fba225e817bf9b178fa8d37deba447d682e11a8fd467dd8d1629d7df39c46be6ee5d77ddbd2771810ab102e23f6c2a34f2da9ad6cf520be559851fe3dc1a252c26bf6ef16253079fcdbc2e700eebaa36b5b93d9c1663246d12b2dd2a75f47c8839f40871a2b1bef61d956d87fd43bbee165960ce256b2ddccf6d6549f796392cba5491d5c494dd155240407e6a91d39c084e52d987e33beafecd1fc777cca47109632ab6b44dc9d004a32510312520d17300d59cc150299b3a52567f1b8fbbf3f345ebbeae1025db1fb1464cba50b37894c155b7b03644ea20a5eb2b972fbf388f1b3babc336072e9d4ccf4c80f9bf0b1e81f88edb8cf98dcb781c458b43fdbc9cc5f76062e933765a52906c316a6be9c56351c02b455c301167f764f5e39777d81f2e5810296b12e646721291569726a56e83dfc3fbf9cc103485106dd9d6bc344fee1129d7df921588ae2cef97e29e6b8b09c46107666f98c31993ae1a22dc78d8267087577612324fe0f21223a1230d30be34256b5dac1d15e63aba9d614d89a545153d054e3d6f80812ac3f2e4403cc1419947d9e49fe0427f5e116581bbf3bb5b713408c80734e20219a0e8f331d68a5d84c6ee73808e6cfb9d8dd838acc247202383c5d22637384b639ee1ff177c7f90538fb9c5ef0a2c4e58638d9194c910175ec4c800000000000000000000000000000000000000050d11161f24
|
|
12
|
+
ML-DSA-87:
|
|
13
|
+
msg: NIST-KAT-ML-DSA-87
|
|
14
|
+
pk_hex: 46daabc7c972747545b2ca0c7a8781ec562298e398f07dcf9989f2a2fa6cf42fe8a06bc523f253d6c4725ad2bfaeae85385b3802827526ee1b5aa19fc46428d76fece275bd636d61bf4cb07865e31dbdd9fdc57baf3027e64db2debf04c65f1aad0b2d1bb892f9e801fc696598b7b408831b52033e8bcce3451baf80080394535c482c4b93b08b16aaba84f367f49b205d6a6b94614f648bf7d45fcfda721caf24177af7e3fff2bd537a467260ff56f614ddd200cb2c7cc692844c6451b63cb29b3282c37cf2b24378daf5487d0953df0ead2a37cc7b48a516274fe4fcf0a6ebd1e5cdd75c7b54d92b0b89475e6d62474d5466d6baf5f4f1d2ba039a23c9714afb728e12ebb3b519a46c04f970acba7f3ef35da223ff515323e9e2a2a11286cf859f3c5ee24d27ce6fa8b9eac63996d0f0df4dc71e55ee06e47d84428f7975bd645d6a602671c6b1d9aec3c62be1b61fff7432c606fb0feb4ed348264b15658eecae78b5d50dc7e1bcf6246d7c2bd4203e7ac1d1127a9eba1d26f7f907bfeeb85ce5cc0ad4fa8c1c03fe92e9b0a78bb4ae971715473c21913c3e8d66e285a9d63eea021b558cc95065bb92634379a5355726e4265e6e61ac1ceb8cebe004cf11fe7d9157e6e6455a7c45a4176a869bafca7792a97acfa1e5936dfdb8708cd27959ef2ece1dcb03d622803765db3db8bdb865d67201b6a68df2f1e65bd3b36e56f26478d3a183aaf6e62d5fed154282e1600dc229095144990d18978b88c7933bfa68614fd4f8675970d90c7278186d7cae68dcc1344b31757775d2c1c2e7a50c811c6686a677d48eaf1f995d3ea5eb97ff3d2bc05f56622108b3290e84d28e2c1b6e0224567aa8c7e74e9ffd2dbd1d43ecb60856cea772dc5598c9ea2e5ec30db38d1035519376fd9fc16306be68ab5350a99d7748187dc705bea4ec302905c76d1f4b2de6ee0d7d96d63d130f578193fe19e2116546318dd022c913954e0840d8906b5005e7f71328b68801eb1d5d63c2ccf0a05d439b9629cbb5a820c9da113e57c5d32023abcfa261d110db7cbfbe40ec0379ec7c5c380d0d49f9cc6f462c17e23616bf5b9fdc6254ac53fddd79e5b17591f891e0502276672b8518162398d3d5aac51660581825018ba39fb714b055c5c6ca626614c41f0330e4177a70e818112ca9f33e29ee0f4117884c2d7e252422f0b47d056d36f5f54e047e409e6a739f3ddf3e10e6dda949748787f8c5b7344bd9ce10128d4306d61ec65456367fadd6bb4e3fbd5277a55289f7daa913424646fd998c84cc532efc4ce721794ef52023d9a2d36395e7e8405564caa13538c4d513d24b889da06aa6db5aca327f0c7d4fa0650c99f4d64aabc5753a5ef9d06576bc5d0a94f362ea0f90aa937b38f644e08f7f22772d6ec58778c05ecf50b5fd5e42a5f1f92f3506ed00d8899ad3f920d011487e815abdbd6c3b948aaa6369c11d316ea76a280482307e982cf13dc2cdb4fbc19c2033659eded2e10e5199a87fabe94dd59777d3bf28db3f9787d00535bb3966dbbfdf7b6fbe8253a391af22a78fde87dfd84c29ee0da16a59bd903b5c1cb4d995aea23ac603e5b079ebdada2e50ca068aa60261a14737f187120bd3f5add99ad2bc69ea3658256c164752617fd95d487adc9ed1759db24cde240b156c44bc823a5c5ef121b38751fe4b0c3368bd43737bff12436192a01b757fea2acfcb64f9f6d73fdbf95a77723fd50b133822a3d81f6f387cdcfbf93ff383136663e1bbe24aa423bc9004c41734f27a9f0a94cdcba3170e2ef9e80fef367ce11917226540cf19b8a574b6dc2f8acc9fc0682cf31b8782a5e32c244194deef34a0679b62fc7a433d1fc29623656341ea89fd0d4bb241281e24fb25a5a456dcd38133c4a6e0c4fe32277c1bf295b21748c9c5315865f934dbee1eb0f37ded8ae01617ec208389adf899af94c4af7e5b65396c3e9ed56658ae9bdd139c9d8f425c7d520d0da33cabb318d1c3101aafdd9baa5aa550dfd5a39e62198947bbca195c5ab836cab9a4a3c83b282c03a27a426f8cfe552bed16d29ae62229f4a950a6a65be670494d9950f3e0c3bdae8ea1d8f9cb5bd0006f2e5392d5ae8fe11f158b5c0ddf215a432eb600469cd3d1659031eecb030245a00537a7ddb0c19c6a0d8faeaeb28e948b3886ecab49745360becfa1091c33f99d7ff512b13c26a1dda31e155b96d7e1acf617250af5310b71bf8daa9c6126aba88a7990f7bbe706ec49e3ce8450ed9a50dd4b0f8e669682ea089e6ad055fba568f842534f805aea84bdc56fd23ac0d1d543cc7cf012219fc95faaee372fa842ee15e02690a0262abd426d622bbcad4eb915f1fad96e0fce33b3d07329d2c0134c893219f16e4cf3f65f4d7c68c5560446772d5c69c1c33196fefde79df4b0d31225253b78419f7564e8b11d965bb506fafb43eb784de4afb7dbc7e6b7b3ddc6613dab2c784c7947e2e8846a42b860115915b22b6ac17b86beb16535ab3d74dec43c6d443d1bd8e7d043501795f67fb063a682bd240c1e5aaa7463c918a9580555c0e1302e77059ac008a15d2f64ccaa444bf22795e67ec68315cf709c3d506ae400972e5e96a70ff441458214454369cc9dc07e907d18e633508e5db60939114b3c0d06a47690910514358d1db4cad2655ecc22f2585fbc29212950253d3154238c742dd14fbe667cc2463cb2719712d59d10bf25bb26057972b4601b95fbbb04a3516b0adf6153c0f4049b6b9ecec334c7b0df4526dc8142d164b7007836cf6031fd55218e40813d8405662bcec9451981836e6d3f7ad8ebb3a14da4ec0d5e5b97a7217da9b2637150cadc65d94c937c5e9e3fe221d7dec701f88136a16fda93915cf638b97c85726941ea6eec0d58bd16932bd333bbbcf026949b2f22eb07c85da9a4e6bb11a38d96cd983d272c9b33e49986d2bf96ce7b59604b83e3c2d90f13c00d3c4075bd74bc6f7f3b318a752d7960786cedb830b5852456127726bffdf6c15f73bd70fb3a09f61cba4e23cdb53eb170ec7c3b4f3b0203a053803c9f2f8e376be6091f03f14aed8a80a3724c45926ef9ece0925b353c537bd817f6a255e037e5dffa563d03ff9420764ffa2516f62e7c091dfb15ea8deac718dbfd073b92c5628364adf8c7383792ed4eb0d3e3affe70dfaf7476aba8cd49d1a864e4c65b993217a910b1d47d0f7ecc12a75be3626bd1219e09dd6d7e3fb47203611ae03a8b1e244383ab493233e9bcd21cddcfde383259086ed1b5b7624c0939f731e230db5f66749f0d1acb211bb8fe9de65ecc78fc03fc6dc6f31e867b91632d725cc3b6a5256541a3867dae14d6892b78c7115a43654a3881274b2b1b164a6864879c6c93331b3cf585648685d5fd816c6446884f07cf348b6413f69e7d8926362e205fd341feda5b1e8346ad24dffdfce86b41f22c274b3c06b05cdf55392425626e2df94a4e536e3e3a2622a206ba1d8d42c6b737f4ca8eff0068e6d89ff223be5a586efd7765dfae5215640105e20f6d47927d2eac67de666fbba6798c9f4870eac60a0769d0bc94e5789fd2f379a1e93e7f1e0190b69fa1e4b63271495baa940ca6130da333947ae684164bf8b2847a5a5601400abde476869b4eaae177ee4fc3c30fcd53b53ca4eced250b
|
|
15
|
+
sk_hex: 46daabc7c972747545b2ca0c7a8781ec562298e398f07dcf9989f2a2fa6cf42f84bb0856fdd9210c7b48341d2910fb324845a0383f83648eabfa2ed2100355a2561eae6bd061e7e4f1108297c6663b2f4bd33d9cf39dfe0d17ea044b2ad76210da59d026c8f2431b0861d9d50c8cc4be96bb5f41a32c12c31d96ef2178745adf24881111a54c0a9800180369033421222171da062ec4248ecc34618438608236459b9805494048e30286c3942814164142b26d9a026e230092191708c1222e12284619859121274441240402266ada46520cb011c9062088105020a60d60c08924026084324663a43142c490a1328ccca230648228c2b429421412daa28012b22821c3300ab94514248981165141447211014540c205d1420901266c4880450908451c9268e008614486240817321a442d8100492224465b3010a48460c02670d3b224839611a30469020822ca883052a88599b668812625c284800a1011d43464140945d030848b38500017408812616330218aa6304146310838111215408c9240d3246a0c4251c4040e21815022c805090940c1320e5b84201a112854402ae232824c90508c06928b309113b94404a66950c4614832600b8770989824c32872e3b66489826184303219022520c52d640842933050029211dbb071cb486519c42548360e63862c0c8081e13845531451d090108a1000cc9490249901c4207182400c20344224106a09a35062989080100e410009a1c68d11a1090196045b04462387040c0032214748da345001814504328961806801043064944109222e9aa8109346500c0382e4c0300c20085004808c060411c808920465198410591044139964d1b4419a206259b28013220649b06cc9168a40220403052d23384c5b406842080c9218051444440348686344489bb464190909111184a24480d8128dc34209d1320c12362cc900400b054589408203810d889840001802003789000764ca82105910880925441a150203a66049302009430a8aa68c84368a98920d4828020a01611292418092080b276889428a0c318948182188b46913320121262ea0204990422cc118120b178e898021a4942d842065e438105b386c61288609068053946c51a00d0823021a1152a0980d01b71050444422914c1c080152304a83340140248804972063082a1c243003286d00450d1a0980a2a8205a822892246919048012258de4b831d1006901a24104402459260944142c20012c6410011c204ca1c48c1ab57094048c2305508046481c979003462e41c884d23002ca1645e33222d3002560c601d214300b422a8c3631ccc84992122e49042c80166d9b828d04c4012326229c1660820881ccc2459290450b864c1a2902a142685a1482a1c86810c16114a94d49802d894246a10008a0328463b06d0921025b0488a44245cb304224b121db300914b34841424044c0111005206132645ca261a214400380200988440c3500d8288d0b246d1241312226719c3870a21606c880695ac84841188ad8267184444582324a21816110260dd024929848814446501215101ab341d1944c831465518084a22210e3306e02052a04a0215c0242e02666c2c0044a4688c1340690168644a4291a1922e0a884233065d918710014698a8240629630132585dcc84898c6919ca4300a0990038685e424684ba4909020686400210c012d9320509b1204d3164102178190c44502c90911103248a60c84868559466a1a090104194104000980a87044b829d00220909649e2b009c2b6881b806d9c222cd0b640d3429109142200a430e1b270a2c00c10342e50820d0c03520022448896890aa24443b8608c9649e04864e2008d10a48cc01222893081c33246108165a2228ad2b60d5ab450e3c00010064084900d09318208a20849b84982442222b60180985080062819207160962922390c83b6700a46625bb8415488201ba22900a5109a8800d9968de1226d501485020684d0846858428559c0311904094a36061a432c64346812302050040ed03220182805d9942423a62419398018118a8290884c164521c34844a22988326064066e2243928cc2011022629cb00d1c3368e03092132410c2364c52260e0bb76d4424310bb0255030460235710a928810204ad20620d83665d884902432651a8248a0442aa3008c622026048409c9162ed100901a238010fb9cc83a641db9479bd860bff5ab83e7b846229cba3495ce556c0b0991534d796f6d8c8947f06e095929cef8c939ad1aaaec5ed20cd163a0c7c6fc603e3f1b74de627164a5af92d131ecf7afe1d3730a0ca326bc4e2cd7da03065bf6113a4fe8f3d724e35067e3dcef52d21d66fa0848c8cf8944ca19541032f64f249a79c2d7badbd6e877d9dca2b4f59c1abe102b3a366ed62c7cfe5aab45ea00274c9e8beda42dd7f343bf60bd6a4acc18139533750ca44842bc897392b564cd51a61c616d4011271c6c8fabcd0fe5107667ac9be9ed63e9dae1b39fa88cda952a85b325b1fc28e757651813f35cac7537f082cee88f836f15fd515d7c3db82899b7a48cfd1dfbb7f387a039d9f4607b76ce02645f3fbf95e57792004b9493c5d54558be6a96fc4d834a51dc513c5d593d169e515e8930db2b322e82823c791f81678c52f2582bcae9afe91eb3ee0c781f6adbea844eeed45ad6b41f682739b8394763f088156e132c240c8865cb0ebeda225b9741fff64a739eb37bc9530ae5e2ee2559e451e7bdbb793c672e09e6c73a2d8048dced18bec4a5eaa109aefe6c2979ae4286aa45d4ffd8bdfd2bde1f07668e779aab6022266aa0c9c6e3008ee1ecf57b7d43acddbecd2e671174916c46d0b5892422b6f1d97d3972c93b0820f88c860a7c34fa6f471974f045ae242fa52f48a9a7eff7957e7ec5af1aba4a330dd063773071948f6daf165c169feaa4a7e0dcadbb254505404fc6aa3c8808a542bb433e728d37a299bee5175dbda8b66f6d59e1bd2bd2f6d8542423438037a8133c6225f8decbf13b0f3213243f148f2ab34d2869ed05b1d993cd92a3122e831dd239b4929683285f92770016df843024664f179055e82674d277d0e8cd677728c3e00a5760963349290ecb7d9f4ae2fe74175f400b3c508f0b813156f72d0ff7b3b5ce50debe77a7e9ecc86e53aca3d61487ac2cadccf77ac2b6bacfe681c5e6c91696e7ced0f4e75df9f6735ceb014c595fd9e8ceeae547dfb47217cfa7fd658ca630e472a6f04ac5d97ec0ca6ae91423ffb2d803643d6c9cbbafb232fe74a8db1f2e293ed6e1c26edafc30f6f1bcb79c3760883375409b2f321c8d79c53a825a958da6d06b4ff39ea1e8c3dea1c11f9383be3af695dc57204310879974f733d8bb7c33f759c652f86b7b48f37519ddfcd9d71a53d8fbd2683164c7a67c2ff8837c7b7d8b9b96af9620b692e0943bcf970553b166a6854fa6440be031f0d59a27aeb5f7b660fb01b8922943afa52bc4d10ccfe499cadd333893e671ff37a0db2179c80e217324f8a328d4ba586b39fa51b90d195f29fe607f80bf33d81e073a00b2a95fb978ef8dc28a66ed3686949522de22b304bf51b6c3bade992fb9490246846ec2cba7e754c2b2ac6be1e154dbd36f71bf8f03c908784347535125fcd7b116c54347743c537a6a0a06b6f7cb5354fd988d67bf5cdfb4f3685f02049d6939918f42be5db08fdfcb9f7cc4a47769313245acf6baed77b98efe567dc8fe5180afa385fec3d7d514d66413f1bae8848725fb14ce51c82abf1c0d56e37328cd7f33553a4f4b242759a70d0843726ea3491064be12814db872bff430523137959836080379d60a1ce358395d1880b55685521322721625a895bc17377e2bb0f91e3e707897d742c78ab3430349385685b5cfc073427d1e32bbfd2d519438146e392b6491b45d3d29c3e8eb1b521c0e8b01778bb17caa76eb5a9a260f7b956a7637696caba06417cd9a981d8c2e77af537560f57bb13bc8e0b5e7eae8e06763fe4aa7ba9f8c87a9009b81af1a745f1e0e735745ea7b61658e1820bb525a811290f40dbad1f3393ce61796a3bef4232712552ed011e5afdad8447d4d0a885ba9682d7bd59deb326e26eead2459e41d1354688eba0f56b7be02e7ed10e79228e885e664735a492bd9650c9b9560f26e7a4dcfc6636f98f524a9afcd5a404b0cdcd9bf953f77b240ec6c0a73bfd8329a5e33091e93fa478e934a3a1a25a4d0a6b9449980eadf81d3bd034121c377b96e1f090fca2cd1b30484c715aa17ac1a58d41e11e64b771d0138b4e85e113f7f78954d3bd018b9d4990013f4d1669b59233579eb3cb1bd9777a0da75aa462e0dacbe9dfddaee42a9efc1ec588343bcf8af1418d4056697473a7f5dbfe429322282039e3e21170c2795a3314cd9792770c37846ebed7eb5288feb413a23061942f7b1d72cc791d0c376a951390fc279ff5f64a101310621f1ff1596b487d06d6789b4d8a59eab9fd5080d3e371f5ffd47aa3b4b23812d23f88449c10ae86d6af5f7dcbb55925dabe926937ca7fcd5fb090d0e406387441f2404894a6298410baa71ddff41aee595be6620f6f1073f489ae12f9701789f092e2deda79c7108c6ea183245e6e1e8a4c8653682f9b2937e756a3f0ca0621e7b11435225ed3a01372f4cb398357c285cd953636626bdb17672d2f9a41a891dd29ce7b0768c4801be92a58c159c970ddd55cf2e468d5493652405d818dd7a07f79af799a9c33a6addbf6988060a9a1e34f236e747ce55615029e7ead4dc874f13bb4c75d4cf62452d9a8579ab527a1f85f9c1f83f7263fcf05dee901bb5a27a137a5d18fd119640553e3c63fe0c4291cdd0d1a37fc3dd7e7bdce8b8507427428e7cb2559c71e37852ba9a47329f4962c138a391075e9728fc46fb36cca19b0129b04e092c58fdbe3fab1e397401da323b20db8a81784166e3e8ff0daaf46684608036d99c32864fb6ff70faff17532b7c258c280d47a3021aa36c2cb2f6d7ce76b9757c7704122cb07b1ed887c1da55e5b9e6b4a7ec020d2a640806887ef029ec770c84c6e1abd2c7ec0a9f9360c39ba4e6a2420298f08a29569755d82d39b017fc0332c31a16fa8ff4fed6d71605925b0ac1f2afe689bb9eb334ce17f7af1a19e107717a6279847d8324e86c421f9fc9ed52114d0ac9784926793798a7c4690056cde9814f344f35db81f9a93c170d684af6a20b88103c5f4d2b987aef225daa774091ed2bad60d48829f438e0d017f4702a4ad79401f3927a272df1cb1464f1a2df13e73a736e6d7ffe4e2e193059c0036a36e683034075b1a0aae3bac269900803d6ba9d99e0a0ce3a39c5581665fad47e06c4f61f6871ab6fdf6d62713864cd1112bf91034c4adfa64a568d091239e298c69d517ee86fccca7d433857a72c1c3062c65ae3733b0eb803de3226f9e29d34987fb3047b94f9eec1138f58b77ff3f6ef909d418ab93b3e3650f06f999559c5844194bd7069dd0daabdd4986d862a6835ec9988e493ae38047dad66371caad77e4d4b767e4985be8933139446b3d6a4e31166f52ac40443e2f78830ad8508affd86626982c975d5201e8a4243991c8848aa180e0979cd0976f4a459537d1842603f7ebf495b7dcedea776fec6c375abbc2b96477f8b9bff39953343ea2a4a502e52cb7e2f9aed03bd19d385fc93a5f9550d1379524b1a155c61f101f1ea53c245fd9817d60bb8ed225b059397df724277272f679b94c13d63a825f2f3eec6782c0c92f4747c1bc5b9c3184a26c3281eef8c9c55ed7de788e058e30faebd8e2ba965d2ad32ecaf727bfebf4b8dd2d09afdf6d39ae1173ef46776a2b26b34d8104abfb7483ae4e3da4d6a2b4a7f4ba7d0636796f841779ba06beb39894b7bcfdd40759912dbb306b30b60ec46dac6390aeee3f2b1f0a26c3899a9b0c6d8a8abc562c2f2c5d94ca8d49801e60399875e20666cac0d807f2d32e4de5dd29f209bdbdf8451f4440b72063d88f6f1c256b9f9b1493dfb8ba31a80244fb69a3b8f9c292383001ba229a760a0ab9d36c74516ae9d376575057234c2fe9f9dcae7811dc194f7d27ed0d71d8db6a491e20442c18c6a95cceac6a11d7ca2351c51ebaaaeec2b35b91ef02f767e429a518ada6e06b6a5b65d8cb054307a9bec89fbb0a06f006f4ff46a3c4f014f4cf4d3581f0bef524506bde996ce23c5f7d2a15edbae07bc59b6b45f27f94ee71d34e04a56e616e11abbd2d29d53c4a634dbf9d360212bb67c4fa22701e6f2319ef4aa716451ccd7cec90c93ab3ad721ab34ec5730aedab6445966ab04e47effac118822aba3d6cd0fd3ade52d6c0fc34129f56fc6c59f700ea7bdea9f18b600360582b7a3a1d07f44a8ee7d2b532c8f0ab81e4c96066af79e7110d4417a830683496f50b160e2da980d20ab563e6d293842eb11d711e68a5c4dd2a98d2169f0527f3470ad2d6fc462ebc7472fb370c6ac1dac9d3a829db3360e3847c5e5cdb7794a1f1fa84c294ca32ede0158465ff8a92139fc73e2cc7765d13f7359af2bfe81ed8ab2de5046ff6295883619824b48c11b771bc19fb6074be3377e1b81350fb4e2ce9843454067ca45b24648c8b299e3448105c14fa4f4d1fd08734d3aafd3b8cd13e310369fde0fbdfdf9bf21d5a075eb24a3ab89008282120f4d1d9735eea4932b316a2861c2aeedaee306cae168d6b717c314fc1c3d00520d2a760fb90cc5c2a69e199b62aefd21fa3f5798c022e39e3f1c7fedc066fc8ed2238885900023802e7289b89b00d20ac2ce39c700beeec6b1f4a3de5617514c4da8e6b8f1c9b4e486eebb038543b6af5a599ab6cf5058c7065b94e0397e1757ec68d5d492069dfc272a082c6144d78f087bcf249809ffdc67198d62bb2c5c7bc3becc507932349da5aa9b2e
|
|
16
|
+
sig_hex: 11c77a7af156f1029981180e840040e7857330998d1c63d94f1649426f9ea11983cc99381bc17e40654090322bf81b268d3d763d03b7554f3332026167b7621e80417960407dd9f3f714a7cb8bda81377ecf9d7e16ec98ec76fd90a8a8096df9a8803f76b91292dd74af41475b3adcd014c4618fa2a8fbc8c01e956b87e25b0023a35b8b72f4dd26ae525bc87a379e87dc8d51ceddd71e4a57382c6b9d5e63122f69262f9198b8d3bf0cdc54aad354ce6b80951af2eb2a67dc960c1ae0bf391c097a3ccd4c6071e21751ccd2ded82cf6ed47a247ae23924028daeee76ede539717cd4ac321360f20eee669463599aea1e2980d89a78df46723625b04290f0689dc4ce7519ee72e9aa8e330b2f60b30793a7d517485c3660709e3657ae611d9069a620c0f1a166988022d6e467fcab9274232ae6d144236270fe03b4fe69e99262d61c9785c0243b3ab1282e8c200a59b8ae0e211ce3f1af86c8c1d51a04d3fcf309dc6d020262d001626fddfa63898423d2d82189095342b470ef7017f52cf6395ac4fdd365ae26df0c044216ffbecfa91dac5b2d11628ec5bb16dcbb5225ea9dd55802c5f63f10161e89be0d98bd46ab0b7bea80e78bf9b4a6f8d1eee8b0068f64a4344eb060bcccb98ea51236cd36bfb32678acba3d226e7a13caf9de82c641d056b2c08fbc7129d9eebb401e37ff61d9b3d4303f249914643738e03a370698576fe5447064a653d09d3fc2351647605ecf3a2755ee346f77942c7498d7958196aa211d9d1156dac3b07b9ceedb0127d4cd8b00017b0b92425911980f02af16dc540840461fe7957dea251d20400d27da42af56f72899f056e2697baf9c123539e56fa7da1f7d9023b73c6869cfccccea80444f620140654e6a7d8efdfd11a5aebf02e12bad48501776959b2275bf8801409911eeacd088976ceb3fbd1a0c22246519b68bc6620738dfe1801ec57377fa8e812f49167336d1689f1cef6384d76f11c6fa61c4f8468ce65b8df12507de0ff606f9f07e6b08d2bac24579c6f0a9a7844eb0583f52d069685aea2894e35c99c4a8947cb6a36f3d04544acbfd09440f42ce98ee8f0893a6259a2cb7372ec3d9b5c0858febe424794841c1b2f06b597cbbd73d79f3e6fd7d12584d0e605b154a9957ffb7c28f7a67da9492a8ff5337bbe337cbd01a340756cc227fea040f726600b1ed5fa1be8c15d3ca513af520222e7adbe51c66c302962b0a956146d670d84082b43a2cdab9b6a74e832ad05a240db2f0c71ecd5cda5380c8311c321c783a012641c60272cdb858ff58c42c2a3755d5c0907f22ceed836dbd7e88a5b6da137219388817bed899f07173ee7783acbb2be5ec107fa6808ffb81f891a4a4bedf5f381fb4aa94d9bfb5fe283d75f759a23cb15619c372b133c7a7266b8997c7f50146a50912fd0ac019ab10ee80e9e454460ac4bc312f652eaea28a3d4769bfdc1b28463d499b5c5c76221f177f47d9a53a5700a96cb950afd36094777cb45882968133cb0b054e046ea110e5a1a5158edd835d559bcffd99a16fe15406fd9d8a71d8cb1ce45da2dec118323e5869d20dd04c213ebe77a80ecb899bb07547b3f344e5cec3bc5aae625713d58a9aba1e6ce2d68367eccfc93c4c0defb7222ac9204750a46c55478f4dec4573e61ef83d0a6a98870fd4446a31d2a162f33df2ee3b4754966270db203813210c3f434c5231c7f95623bb59884d6017a5577601c9e46bb8b2845a3b4b766cf87baff2dc8cc4f1390b0b9797198d1c9f4a3b6bee0acebd9e1b48b97d6847f4238cebe82bb9d5153d504a11a51284bcfe08a836baba4a787ef2c0bdccd7b8af8e0b58c04b06cad2b4ca679652ec95fbf97fd15b5aef62f6ab566b1e4efc9250bfc582b74dbde3eae31bf0649cded106e23b937fd0fa07bc2b64ca9d6ed1dc35918bfdf9d094630a5a44a4bb508e2f9eb4e6a238e13a0ab79565efd9b172af1d8e81d2b71f4ab743a2fc64c24226ccc5a6b819e590c976489b580efeb8ae040cc7f66aee0e565a9c5bd3a7c31ed9eaf030cbae41d3add34fc7e82a3742e6feccb11077805378501abf748de0034f83245c8fe7e8051a76b1d620f71a43f04487075bc3755f9d4b48fd3fd812e89b5d28cab4150529749ccf4a93bbdaf7933dce7685d9e07cfb51fe291c972fa2f71cd7bce2fa24c8fc3910c108e644e92cbf74972a357a67f15d24c7d41660786c4cc9e5b24fe72aea75641474de5a4bef65406578c42efca7943cb48022a8520145730fe71b4534f70c990190b63c24effed258bee35d3c34a1b0e4e6aca503009065399dd3eedbaadfb33b0be6c63eeba625c752ef0c9cf7a74691e39ad3f674b3173ca423d7fd11066aa9d343f2a8dfc4a8f19ec757224188b7289c8be84044ff0b56548b70d2dbd084d48461713ea2ac7d262d0a1eddee47005e8484c5b779db810de5f8b00198c60f64f28ee174dcd5e2d1f6af42e506a5bc88b9a74e82e1aa63bd2edb44b194d58f8be120657cb31884d686488b1c42305f71d091aa583ab479437c7a02d7088b474fd7e67829aad8c6b37852cfefb64099bfd4de49c3e766faba72e9985d802b3baf79f90bfad36028154eb1928b11221373c314db836db62b36a488805609b3cd7e1a575ca9da6f0a1f828c892b163bddf2991580d5e2f5c1d17781fb8486943513d33f8a8d87afa17bdd2a38a2e0cf2bdd2a15adbc5bd1284e843d2af3db172648b987d9d1877e6501accc4d6c33287a9c0db7991e89db4dadc383f8cd6cceefb44f1f6c78a0d893208d8b6837ed904da2a13bc7f2f3241c7cf9bce5bbd2e6c4e4b4614b397e3b572f039e1f9742ce5d1533eb8f481c37f2534a265dea48094eaa2ae90cc9e82eb5ce47e86221d2bf27006038bb3037195c71debbbc689ce0e64b5aaa3393eddf2cfc62bbc5eac43a0e752f1d392e1baf166c0b3737f6e35ba31c62d4e1e140d53e9be3b66bea9ff581e803e3348be57bf15e2d07b7532594cff62154f944ce19bcaded2931191d39b9d664ae93e34ef7870f639728b51ce5f4ca63ea66b4d6e658ffc3ab498278fa363f6d43b66b4546a8a0d8a7e3c7e89cc016f544ce9f173dbc02336f714292b307205549466f229a02ecdf646685ee286b65dec98b57df1f87e83c730c9e54f2d25c505ad92af68729347af789e6cee9a3184024b276b56755e883e8616d42a1609b86fc6c11dc39c951d64088e642f48c23bcaf5f174e11eb36f9342b136b1c1c5cc355a674cadd8008880c0c96b55378f491c98789dde68c132717f49669a69f62207bb21c39cdfe8834046fd6d48997e643b72ee8ba13a75bb8600796a207409929bdf92e09b34aabcb19a8d6cb2865bc8d3104e02afbdda336cfb838d9901260ec18a0e200cce8ca2ee656d87579c9710b5a67381cecc9eace3fd7f60ac4dd2af3b9b07fcbd50daba2c793a1ac9a1a8afbe5c5dc91770c7f6e16acc7ea401558d6eed13046aa1ae0209b20e77b283b438cfe9ba9d7c871a22e9c092afce1a94721c6a3444acd8ca672f66de878f3f9c6baad8f18284db478f25304675fe9d295f89476b9c61aeb7ed44d02176c2f550b643afc88990d235245eb758faf77863345e0ea4e0260faf23fa7b9fd3551eac60e4ffccae1abc2ab861a34d006e6b3f3f3284e77947776399a8cb240c185bb5cf9cf6c4949f4786985170c84f497bd8fc6608af13ef3b5c50d0266e83f975522136e5c32718131ec5093760732fbc400a12e9b2c4d70525febaf5f50f1e4987966fe064184fc39b4fc733f7c83debd991d522ce488decddd2477ce08c2472466616971bfbd26297a39cd7f7e7bc9e47bff0261cc8b7563afc5d740dbefa644c338c6593a25b7b6da677cb2f8ae4c6c5e570ad3c23d4ab463df48feb020ce9ac56156aa170ccb1ed328c28161b8e65dbfe36e65e58ff186c91c99dc998d8c10006ff033b27b812ac49cd60407c7efe7a5e1ef1c34e5887765b9e05a423c5fcb178445c472ee57e6643e4bd81d6a2384c13effab0bae3224423cadde11e91d5ada285ea9b1be50a0fa05d4cd450cc85e12cb1a73cc6373d31688489cf43a2c41e398eb6e5409f98d7a623acd7913bd3f810c788b10b879258eac136312efd848530fa95057054d692fdcc003f18ba5cdfe185e0b3f8d29ada8048976e3aef6dfb8f0ccc1c742b2b509a0e4ad176a30bca25d3c59acb93e665fd4e7083a697442a549daa90d597ec9b39a4c7ee66447264fea45ef06c0c4fbdf8e2de14758a6d58cd29655740a46fd77c8ab09e5d64f2a44f31d1b582ee217e347363120d314d5237ce57878020120a38b2814b0ecb328a07711e3025507a290ba1f99335cec20a69bfb6aca8287cc9a1017418be4c0081ee7730233d27da5f140e5cb682c79de4e589be26d666090b74d15f536b5bea33611d510858de6293ba9ccefc7577e9e387ae1e37caa1fc2c97cd45619807677eda64207b836c6eb7eaa81021766b69579fa2cacb7f1c17f1551899c2a21cca85deac349076460a55e1e2dce9e361f86a48165e073e021d47353d08493b9c95c39998a987fddef41b98317b64e25509432c3afbd816c75bb9d19d2506619e17fbfcf7cd77fb629ba68f816e0ca06734076d68810565d1e596323d765f33397ec6009f2f606ca7292d4bb4596c18082779346cb9a4153ad39ff4707cac8948380440b9fd294e92679399146d88b9419970c3bacdc0116e7a5cc038872ed06fff17e32f3847224a9b09063b1f36ac2ca3a36c15afed73a442e494b40e87b0422997c3aa4c234dbcb1ff9d7e409a8bb9291dba2d29bf29eac90e79d923ca39d6f3e9f855567ab2968075cc3f902ab84d09926bbbed78942f3bf35cfa18b3d226d69d499f63615fd921a5a7c23de60753ad1ad6c5dd6947be59c73c08ab7c90c03dbe58efda81787012f53d7454e5a489b7a9659d254d1d25464140ad44b42e6559a7f6f140a5d0937eeec5d93922a83c1e0fe670517bef48455bdbfb9e3a430c18e84473ea6f3948062dbec71e39bc73a524f0d1f1182a065e2ff84fc319a4dcc16286451cb66e885cd4184e30d6c3982661fbda3b2d705b2d55b5bf7ea335083b34d6588c02101f5a81d9b6cbc8c5750fa68af2e18812d872b848e59dc71e3942ee42d456414fe9431ebfc45a796dd5fa0d97144d204be8a7e2c963d5720a714069fe2fb6aa399d1b89453c881c0fc979e527b3fca4828c57853acc20f01ec81954dac1cf6a9ea51350e83ae548aa1a67f458013d2703b313491a6e12cbb959330a1c9c638373634a879a4f914d5a292a2079165783f97e735c3770e076f3a1854c31a3ced2df57856da4368a625842ea191ca51f63bbcfcc692e8932a43d468b9b47638eda1f9b507453f67d1e157c4f5aa750321e125921e2aa26124a24c912e08227bbd940b1a4de189cab6f33bcf0322b7e126da2bc1c1b6fabc7be9c154e0ffc88688e1f9045664ed4e084a629db1b34cb2a01c8f9f2762a4a5dfac0d609301cbf219a49d47804cd4300b53a57016eed30d9ad109913aaa8bce8a9bebae9732c07f73fa2b447b32bd0e19f43503b961de4e0a5bc38e210ea91165d31dc7af225b53393b2e1a182ad3e5f4f57c03b914eef2aff290c0b949767e5542400845260c0fdd0fa309a612bafed7b2358deebd86fa3a881c898f620660f5cc302d16d9ca544db8b047b98c27279b8c488a76b911255e68affbfcd2278c6a3e65c844ba16738d1f20d193cd5d2e2e635e009adb3eed08f3197d080191df487b9af1af5ba1274f62e785940e8b59186d2bca01dc511261c10967a8bb751fd70ead8e5e6a9e6ebe49f9c9a367889878a7cca89b86a92d484e3b69596c41997591c1789c240eefaddc479b70fbd731ec676763663b4e41d4c9e34adc2bd02aa1a795556e28f1c1fb24a145a236c7e83eac85ff3861615e70f7bb51a29a0c0828251871b1a32fbdc4d6b1048a40c25f34e965f1767c48b333027864624aba639ed7a7d544457da209886128aa0f865695e343b7fc9b9e46e6ea9cb3d80063a5fc2a414a408a5f2dc43b4e5bd7ddf3f759db5f11eab16f7153cf5c4387b279a11f74ef490d444f0f24d7b628105525508adc309a328eb2c33b12d78b840f2654893e18cdd062ac36f9ce071793e7d4b6054c2efdc867b828eaf40d0cd786e00a9e0d438ee2ebc4fa109e1b6fd3a6e34f47d3eb15767658c1b847a6f449f25e35ef0555cd52995f112fcf71d951a026b88142db04c5cf55428847930c23bfa579e5c2cf145d639398139da61738bfd5ab0a4c55b3a12c774f2ff9eb24e2e09cb8f1146f162dcfe0fabeea9c7d274b00fa841f9554e22070f0109a8b9a99bc4820048374192c21b3180bf42b2b2aafc0d1221ca9971d44e133914704a0c95c43f7e4cad25587e83fa0148c8ca004d7583898bc0c1d2e5f4f51743669ebbcccdfa2128384168748fa9b5c6d9f70733414c6067afb852575e6c9fb1eaf0236a6d95b4fa0000000000000000000000000509151d2931393f
|
metadata
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: ml_dsa
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Suleyman Musayev
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-03-18 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: pqc_asn1
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: minitest
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '5.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '5.0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rake
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '13.0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '13.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rake-compiler
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '1.0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '1.0'
|
|
69
|
+
description: 'Ruby C extension wrapping the ML-DSA post-quantum digital signature
|
|
70
|
+
algorithm (NIST FIPS 204, formerly CRYSTALS-Dilithium). Bundles the PQClean clean
|
|
71
|
+
C implementation for all three parameter sets: ML-DSA-44 (NIST Level 2), ML-DSA-65
|
|
72
|
+
(Level 3), and ML-DSA-87 (Level 5). Supports both hedged (randomized) and deterministic
|
|
73
|
+
signing modes.'
|
|
74
|
+
email:
|
|
75
|
+
- slmusayev@gmail.com
|
|
76
|
+
executables: []
|
|
77
|
+
extensions:
|
|
78
|
+
- ext/ml_dsa/extconf.rb
|
|
79
|
+
extra_rdoc_files: []
|
|
80
|
+
files:
|
|
81
|
+
- CHANGELOG.md
|
|
82
|
+
- LICENSE
|
|
83
|
+
- LICENSE-APACHE
|
|
84
|
+
- LICENSE-MIT
|
|
85
|
+
- README.md
|
|
86
|
+
- ext/ml_dsa/extconf.rb
|
|
87
|
+
- ext/ml_dsa/fips202.c
|
|
88
|
+
- ext/ml_dsa/fips202.h
|
|
89
|
+
- ext/ml_dsa/ml-dsa-44/clean/api.h
|
|
90
|
+
- ext/ml_dsa/ml-dsa-44/clean/ntt.c
|
|
91
|
+
- ext/ml_dsa/ml-dsa-44/clean/ntt.h
|
|
92
|
+
- ext/ml_dsa/ml-dsa-44/clean/packing.c
|
|
93
|
+
- ext/ml_dsa/ml-dsa-44/clean/packing.h
|
|
94
|
+
- ext/ml_dsa/ml-dsa-44/clean/params.h
|
|
95
|
+
- ext/ml_dsa/ml-dsa-44/clean/poly.c
|
|
96
|
+
- ext/ml_dsa/ml-dsa-44/clean/poly.h
|
|
97
|
+
- ext/ml_dsa/ml-dsa-44/clean/polyvec.c
|
|
98
|
+
- ext/ml_dsa/ml-dsa-44/clean/polyvec.h
|
|
99
|
+
- ext/ml_dsa/ml-dsa-44/clean/reduce.c
|
|
100
|
+
- ext/ml_dsa/ml-dsa-44/clean/reduce.h
|
|
101
|
+
- ext/ml_dsa/ml-dsa-44/clean/rounding.c
|
|
102
|
+
- ext/ml_dsa/ml-dsa-44/clean/rounding.h
|
|
103
|
+
- ext/ml_dsa/ml-dsa-44/clean/sign.c
|
|
104
|
+
- ext/ml_dsa/ml-dsa-44/clean/sign.h
|
|
105
|
+
- ext/ml_dsa/ml-dsa-44/clean/symmetric-shake.c
|
|
106
|
+
- ext/ml_dsa/ml-dsa-44/clean/symmetric.h
|
|
107
|
+
- ext/ml_dsa/ml-dsa-65/clean/api.h
|
|
108
|
+
- ext/ml_dsa/ml-dsa-65/clean/ntt.c
|
|
109
|
+
- ext/ml_dsa/ml-dsa-65/clean/ntt.h
|
|
110
|
+
- ext/ml_dsa/ml-dsa-65/clean/packing.c
|
|
111
|
+
- ext/ml_dsa/ml-dsa-65/clean/packing.h
|
|
112
|
+
- ext/ml_dsa/ml-dsa-65/clean/params.h
|
|
113
|
+
- ext/ml_dsa/ml-dsa-65/clean/poly.c
|
|
114
|
+
- ext/ml_dsa/ml-dsa-65/clean/poly.h
|
|
115
|
+
- ext/ml_dsa/ml-dsa-65/clean/polyvec.c
|
|
116
|
+
- ext/ml_dsa/ml-dsa-65/clean/polyvec.h
|
|
117
|
+
- ext/ml_dsa/ml-dsa-65/clean/reduce.c
|
|
118
|
+
- ext/ml_dsa/ml-dsa-65/clean/reduce.h
|
|
119
|
+
- ext/ml_dsa/ml-dsa-65/clean/rounding.c
|
|
120
|
+
- ext/ml_dsa/ml-dsa-65/clean/rounding.h
|
|
121
|
+
- ext/ml_dsa/ml-dsa-65/clean/sign.c
|
|
122
|
+
- ext/ml_dsa/ml-dsa-65/clean/sign.h
|
|
123
|
+
- ext/ml_dsa/ml-dsa-65/clean/symmetric-shake.c
|
|
124
|
+
- ext/ml_dsa/ml-dsa-65/clean/symmetric.h
|
|
125
|
+
- ext/ml_dsa/ml-dsa-87/clean/api.h
|
|
126
|
+
- ext/ml_dsa/ml-dsa-87/clean/ntt.c
|
|
127
|
+
- ext/ml_dsa/ml-dsa-87/clean/ntt.h
|
|
128
|
+
- ext/ml_dsa/ml-dsa-87/clean/packing.c
|
|
129
|
+
- ext/ml_dsa/ml-dsa-87/clean/packing.h
|
|
130
|
+
- ext/ml_dsa/ml-dsa-87/clean/params.h
|
|
131
|
+
- ext/ml_dsa/ml-dsa-87/clean/poly.c
|
|
132
|
+
- ext/ml_dsa/ml-dsa-87/clean/poly.h
|
|
133
|
+
- ext/ml_dsa/ml-dsa-87/clean/polyvec.c
|
|
134
|
+
- ext/ml_dsa/ml-dsa-87/clean/polyvec.h
|
|
135
|
+
- ext/ml_dsa/ml-dsa-87/clean/reduce.c
|
|
136
|
+
- ext/ml_dsa/ml-dsa-87/clean/reduce.h
|
|
137
|
+
- ext/ml_dsa/ml-dsa-87/clean/rounding.c
|
|
138
|
+
- ext/ml_dsa/ml-dsa-87/clean/rounding.h
|
|
139
|
+
- ext/ml_dsa/ml-dsa-87/clean/sign.c
|
|
140
|
+
- ext/ml_dsa/ml-dsa-87/clean/sign.h
|
|
141
|
+
- ext/ml_dsa/ml-dsa-87/clean/symmetric-shake.c
|
|
142
|
+
- ext/ml_dsa/ml-dsa-87/clean/symmetric.h
|
|
143
|
+
- ext/ml_dsa/ml_dsa_44_impl.c
|
|
144
|
+
- ext/ml_dsa/ml_dsa_65_impl.c
|
|
145
|
+
- ext/ml_dsa/ml_dsa_87_impl.c
|
|
146
|
+
- ext/ml_dsa/ml_dsa_ext.c
|
|
147
|
+
- ext/ml_dsa/ml_dsa_impl_template.h
|
|
148
|
+
- ext/ml_dsa/ml_dsa_internal.h
|
|
149
|
+
- ext/ml_dsa/randombytes.c
|
|
150
|
+
- ext/ml_dsa/randombytes.h
|
|
151
|
+
- lib/ml_dsa.rb
|
|
152
|
+
- lib/ml_dsa/batch_builder.rb
|
|
153
|
+
- lib/ml_dsa/config.rb
|
|
154
|
+
- lib/ml_dsa/internal.rb
|
|
155
|
+
- lib/ml_dsa/key_pair.rb
|
|
156
|
+
- lib/ml_dsa/parameter_set.rb
|
|
157
|
+
- lib/ml_dsa/public_key.rb
|
|
158
|
+
- lib/ml_dsa/requests.rb
|
|
159
|
+
- lib/ml_dsa/secret_key.rb
|
|
160
|
+
- lib/ml_dsa/version.rb
|
|
161
|
+
- patches/README.md
|
|
162
|
+
- patches/pqclean-explicit-rnd.patch
|
|
163
|
+
- sig/ml_dsa.rbs
|
|
164
|
+
- test/fixtures/kat_vectors.yaml
|
|
165
|
+
homepage: https://github.com/msuliq/ml_dsa
|
|
166
|
+
licenses:
|
|
167
|
+
- MIT
|
|
168
|
+
- Apache-2.0
|
|
169
|
+
metadata:
|
|
170
|
+
rubygems_mfa_required: 'true'
|
|
171
|
+
homepage_uri: https://github.com/msuliq/ml_dsa
|
|
172
|
+
source_code_uri: https://github.com/msuliq/ml_dsa
|
|
173
|
+
changelog_uri: https://github.com/msuliq/ml_dsa/blob/main/CHANGELOG.md
|
|
174
|
+
bug_tracker_uri: https://github.com/msuliq/ml_dsa/issues
|
|
175
|
+
post_install_message:
|
|
176
|
+
rdoc_options: []
|
|
177
|
+
require_paths:
|
|
178
|
+
- lib
|
|
179
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
180
|
+
requirements:
|
|
181
|
+
- - ">="
|
|
182
|
+
- !ruby/object:Gem::Version
|
|
183
|
+
version: 2.7.2
|
|
184
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
|
+
requirements:
|
|
186
|
+
- - ">="
|
|
187
|
+
- !ruby/object:Gem::Version
|
|
188
|
+
version: '0'
|
|
189
|
+
requirements: []
|
|
190
|
+
rubygems_version: 3.4.19
|
|
191
|
+
signing_key:
|
|
192
|
+
specification_version: 4
|
|
193
|
+
summary: 'ML-DSA (FIPS 204): post-quantum digital signature algorithm.'
|
|
194
|
+
test_files: []
|