quantum-resistant-rustykey 0.13.9 → 0.14.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.
package/README.md CHANGED
@@ -61,3 +61,8 @@ TypeScript types are included (`dist/index.d.ts`) — no `@types/quantum-resista
61
61
  WASM modules are compiled from pinned C under `vendor/` (see `vendor.lock.json`). Independent C→WASM check: `REQUIRE_REPRODUCIBLE=1 pnpm build:vendor && pnpm verify:repro`. Provenance: [Supply-chain provenance](https://antonymott.github.io/quantum-resistant-rustykey/docs/guides/provenance).
62
62
 
63
63
  > Pre-production until v1.0.0. Prefer `@latest` (or a caret range) so dependents pick up patches.
64
+
65
+ ### Browser OPFS encrypted private keys
66
+
67
+ Browser **keygen and sign** for all four signature families (SQIsign including `*-webgpu` ids, ML-DSA, FN-DSA, SLH-DSA) go through `loadOpfsSkWallet()`: WebAuthn `userVerification: "required"`, `prf: {}` at registration (eval only on get), AES-GCM wrap, OPFS Worker. `load*().keypair()` / `.sign()` throw in the page. Node `load*()` loaders and `verify()` are unchanged. There is no plaintext main-thread fallback; `crossOriginIsolated === true` is required. Docs: [OPFS encrypted-sk wallet](https://antonymott.github.io/quantum-resistant-rustykey/docs/packages/opfs-sk). This is not GPU signing; `*-webgpu` ids still use WASM and do not write keys to GPU buffers.
68
+
package/dist/index.d.ts CHANGED
@@ -60,6 +60,98 @@ declare const MLDSA87_KAT_PK_HEX = "6690ec64441501ca68d249f8d9975a99a48d3a01aaa2
60
60
  declare const MLDSA87_KAT_MSG_HEX = "fa42ec123aa8d3b231a2811c893254af71bdf4d9a6907ae22ca7a603f83f6a2f0154c003b4cdcdb18d331fd6fb7a66240ee1a52a4dcc36bb46a1e0085961e650797c96f057629116e841a6dd4bc1840cafff64df8fe3ac9844186545e3b5f233116b977f87162472c0350ef9657bd3ace7c4bd4b94f7bc10fc1e067bd5514bf63a0b581f6d6cd16c4bf9d74bf4a8b64b933b972fab2c3f698a04ec5882706c978002a21bc667e77ff36978d4614615e97688eb42e9ccf9dc261f8755ecc4d5c4cd389209912dd47f7d81fba50966891259d81d583439d0130c34489ae76500ee0e823aeb596fc193e1207cbadf06106fb96ebaedb3e4460724ec7853c0b59ffa3bdbab1ad5438114c5d03c7b41f5ff85870950875f3cc9ba9c0f2eda8387641e9cbeafdf8b987809f51a297d9ee31752c6fcda25d33cb8ebbb37b34d4d762fef4ddb5f5947c682622e23c3172884f1505d7b51b276b2f9fb17f7a60dfba72db8325102903375ce17af51d7cd37cfe26145aef57a2f61414f6b93ce15de31b406f1fae70ae636fe52f68014b801658ee60c843fb0ad1fb3195ce8c632c7c498c30ad932c6b5eee6845ea29ae37b9d3832c696d976f4bedf24c19df9ccba5df590648f563997547ce6fb336e8d4374b655b48190bd54fd526013ca1b32d5e1b7cd2fdd5832f3ecb456532e73471ff3eedccfcead722b246ebcc149264babd0156f7a8d803251862462f4bbe1c3b914aa3a16c603ea51325baf0fa9b8184fa81135f12d5bc92d05a3d2b9ffa586d47e667a6275f4bd06079dd657ad37f559de619a42b541208e0caf0a8309f2ee08b25d479f12f6b04254eb334ee9d5dd0f27dcacedae3931c5058c59263711f13aebbf2d8a461c358a4f487be706261a65d64194fa2cdac8dfe78ebb4781008bcfd23974043bb351bcd7d8c777181953c1d4da26c2e0c47360c4683e97d80c6317c0940059e7ee3ffd0475bfa03a8c4826269354e4174b63d3935cf37bb1553196790204603f795428be3e0e439807bcb7e4efed09a2dc19c4f440d33b17fe3b13b957a7f6432c16139df7c13110581466970a79ec68eaed21f9488d568cf21f7f6f1f9cac6d54c15ddc55f490fe130c8296602e377dab325503154b058af2699288bf441ddaaac7c641f7979a40f137444d1749f684a83fb33c7757341a035574f0358235585a9adf56b2dfbd5e6ecc5b4a6508e06759c70bf49c77758a1d7820b4f6090d4d81aa56f7b04f4bb33350b3ece25292240a6bf942cfb602b19290a6fd92f1ae22b83d9cf82cead25309daab9e28071ac376b3a5a52bc58a1ea283e282a3558edfefdcf3fd1608d7b01025085ad5a5347412495320d09dfeac3ab201049be278123580445d7c2d0cc9d476432a72c5d1a4887d651b67c36033396f2a22d2ab26534f7a1fa649bcf27864bbe431d1381b65d5d4b0c236c88c54278d1a6ea57184b8a714638e2aa678383f9ce4f41887c053ded0945763ce68b208494dc1f5321449affcb9928cfa356a2b13909f7b959e744f0fa0b9ba34b460a6ef885f11a34cd03b5f8ab7fc0f637f8a4f8c182f0fa291a95e6541024fa839b3b5a1ef79bfb9b82cc0ae1e2647d3b450a309636e681648df011fca5c7890ea7db0ffd0c4b32293b2fa8046578293c828c1b9933926eab28666a39c536bb2ac0606a0b910fc750a36438a581b9dae839d72350e2596f01e6a0fcc39be59d73c539be30605313b5ed0df292a4454c252a061f52aa80648e90ca5ea4b5a45e9606dceadddef4ee5939dde156e80fdc3555b267fa8b9440b0079d255eac4d83ce54daa2708aa1d791f0aae6fb307c1bc6190af23972b370a95d757fa686eef410c911c303c5f54047fbeabdfc4dae358733bc3d906e5ce027de7865dae9c37cbe97349975f35f82569b509652db4f21b340696a039d8b556287c653584beb98824d894b6f5185e0adcfdb2bb3bf77ee31c0b1b68245ba47d293fafbe40d4231c70445dab980e26506ebbfcde55de95d83ba509a7da2acd81842cc51c68cdc6d8db0799d1cfba8926b2f592f1dd29a9ee5c178c06acfe230a162c652135d94500add907ffcdf2efc7acb6a6fe34e3aeea4dfaf5aece73b1e20767c3bf8135dd58f3c6d58b13f7e952c55a795ee12b71daece757123239c782641af7b644b52226158729a5be9ad2a50c27e795f616fdfe1d0774a35bf2e01d6c9326e69df679adef6f75de298fe2608bb305125633168a0194acbd6211968a665235a0fb5e58113a3ec80ca1fe92cac5d6b5f17d466fa1332144f508b4ebb87c16ddbb59a73741a58258c6d54aac4689b4724dca12a0440e8f48329ffd9492049e574d451c7f372480041e8a7d307c54e4f39c46ef56d46423d7d9df5cc1aaa0e24405c6002b7d51b83d21e60567e668278f61a7347448a31d4d7099d0f062a1eb23f16499a3e3469bd0bb37faf1b29371aacfbe6295c3d4a89e6ae371192273751bd8b7fb5712f74dc43df849f0428831e2b2f264d7bcc4daecbbab9b310ad9c904283d7ae376239c33961f5a9dc0634a05147cf2eb789d59529a717baf2be4e3989609548d8d465fa4dedc751617755e365bc615ee715f0e7cca082ad5c87b100c3571131f9aa5cc2a6b644b861a245bc547442a3bf0190aa928ef335a71ca092963903a723aa67a850206077b09376cfd629ba0d1a4739c6fe44dc5152bcf3072df54bd8622bd60e815cfaf8d88eef7ed045e29a23ce97d20175c309b8e9055b193906a0024705c8c3dddba2293b4cc14e853a68080c4024a54e2f77e499ec5d0f143415403df41abdfaa663f33d1030fdb7a39536146f4d5e56ee0661b3c36a41deef497c3a78e22a608c77599e7b8344813ba7f42e2bfe5da05fc9202e7b3a71f0027ec064b2295f97c36212ccfdae100e24dcee356a444dafae2e53c889fdc29f44474c9b91796e29ed5e6279ae0bceb381ba2c4dc9b6474f0a51de10434cf635dbb0c8bc51a1b8512ab7fba18358018c4ea7158033ae400d039e3d49ca98d1d90ff5d1af881d5aa74a5ffc19c34add47aba8b92516062bad5040d9bc48f2b126d1befc50afad24f7dc2b966f5ba05ddd5a764c7bbfb397fc56714cad1526c2d0cf47ca112827bde82468d8ae02822eacfdeee30bd3706e9bd024885d855960a4d998e17a4d5bcc3d821ffc1e4f6820deced20675dbac69a0b2177cf4654008108728162350fd7ef454ceb83d1120b34d18ed9d9d69e7dcefcc4267cc5020fc3a5d0d4ef2b539cc6c6f605da88c25e329d3cd15517a552dc62acb6d2d59de64b2673463044a871a2e4f17e287bdf7ab296fc1aab4e3636ec0019989cf680b8451f81b90374f42eb8e71f8b4e9152f6fa48ac538ee306cde076bb24736158c27040107b71dac35ee98afdb11b17ada7258df9f5b9f1f8569bf294c6d3deb9b5993ba3fc397883f43d65448639a1c0743d8f022d16f2fd133c4af4f4ce01c42d113653db8cea3628ba10e7b70434a08fe762c7970bcbecec172fe670a13d05251c49bbd931a8d704260ef802df154222bb9532d326e176cd10848363ef5d37b213c6cc47575b251a36ee788298fc709b92d5ced8f018ece990133556c20ef29f9190ff50b0d5f8896e22ec12ca07e045da4672e1fdc84313167c1d50e5933c2300438a79424be104b7cca1332b0365ad631aeaff31f3e21b0a429b91dab055105617162fb54460c445a3d5e0e44d55b20ef7003ba3923a17723fbea31027a88cac868080b574a564568e926c0a555bc8e5abb9823d0296d798cba45aa9b653d80fe0363f153a5ec77a3e3e3a6ad3e31799675a63ffb76ce3c696bb133c1fa294c8fc3fed6cf4303f0eb83aaae65c6d54dfe0794c4b1bd44fcda334457a6d80b4e82496d727c2f713b4a57ed3073a86fadc3580bdd38bb85fd467b06408e4e58d8c41e56c574a89609d4dd7047aa8b67e073c2a5ffa0df6cd91ed22b12395618ca9f97cbdb88e3707957bcaca584a4df618d3f969708f8709ff9dfb8e521fdc6818304ec89fcf5101a59bef8217f66b8c7c74d1fffd79bdf8c11c8d0a8fdda284fee1c0c4d6c96bead3f6e22d8749258da88a6bf4a4da49d8f525910bb924f788c976cb3c831317e86975d94651b21e5327472f87656bfbc91e44d7eeb1d45fac3d34e0a59c4dd5d712d15fa0a3681dcd1343df19d135bca91c678a58eb29b9c8157dae6e7f3296076100bc22141831a89dc2176b9d752aeca35fd8335536d8cff374b8d410ba8f2baf7d8ffb215f08f49bdf8fc3f8ad3dce52bf290f5d4585f0fcde811d0dcc882c861018da447cabcc6e3579da27d4ad7592c6a199e6163cc758d378cd2b772a14b9b698a622cf94f3580f259a0dddc475acad9538e142e21eb73ba9d87004db94d087b7eb4a5a2227fe82dbc834f30301ace8d2070cfb9b71a1e20044f6927633d7598d10df705d7eb4a1337db38300b77fa06be638b3ed5e98965ba7d8d6c931ff8e4c35ab82a217ce0abafa593408fd8ad91bc0c475c2248e389382882c896e9b8cb1bb818a909b61305cfad77c972c18e4d4624565beb049cdc03b1e03482a059277f06020e15e3b602582260cf24f74b185d0578e01127c11dc62e9cbfb86b38206cacc0bde9eb42cf046783ac22630a907198afbad0b5c43fb3ebf958a2ca69dbde83223f87ccb10cb059a5d55784f9bf874f8a223706b38edc488a9ae7f318ba3ceb312c2291effbbae6b18444a0883e86e15bcb74a6b70fbf44c177c87be371ddfa75efc380a0e30afec8fe1662d3adc04316cb74f6b4b2caf4acc374eafa83d4d7e7284e48719dacc0b2396972045c084652b2ffb849c522c428451e4db3bd3822601abeebf412f60683bebbd776e339bb1138a822b644f2a604326b7794208f7e00e0554e17197f0ae5a5fd4c7b26f683ccb27e332b3902c568d605732debbc70fb370e7d67067d8f6bd36bc91a5b7c19a5896350a18aa50f6dcc4484a8eade416f0797f730ac0d20032fbdd0387091ad5abe5e0c3d2b88932e4f29742670bf29a3a439ac08d6c80385907c3a1dd34e87306af5681481f5a8b390ce08af92c08f69dba386f7d2185016729e22c43c33fc47d906e6f01905572b217e1136de7613b3407651cf86504751f57119d910ca31b1f4d725b683cfd02d631d58297a55979c77439e6df5f11efecd6abfe932ba4879a79b8c66028b06dee447b0a55f14ccb56a5c936943d94d714d38418a9eb47523c2a73e370b01e90aacd24743725c370ee54eada7ee0b20d5c28777fb95a3a12b8b23018623b2041804816474af1008b523e73e4fdff056c43d51e90f19ed9c1146e6537b115af6138e7da834df6e37ab9681d931c4f811eeae12e119c59295acb633d2e6cb9f470d18f337e1eef4e72e7bbe91af9a425529dd1f1a58580f16c66f8729b68ca35a283163741a21ef0db87b3918ec58f533effa6f9a25c778609d0d69d0ecad5257949afaa4ce224f896744d1c0c89c24203073d708e437f522d631a669bb56429a4c01b5008925b7b70343d21aea5ea2437715272f379e69599b83da75e952dd495fcc2f7adf9b4567a31ea74d9180a6a0b79fbc889f92566b7c949bde9d5ad5aa9163ab910f59d333adc6c19df9d5ee375267d0bf0d6eacfb6d2ec4b2dee32e64aca1237fb80918885ec9f74c9db38a41576ac1bbcf725bb4e353aa17e221fda5035f51841745a2141390315923805f0736b6e4cc9821c3fe254ac55a2d2c1880132accfccac0f83c3759dd837080ffa8bdc7340ab210cfc04c1c451f71d97df113a1ea23391cde7ab196dd57f2100a7a5a3733ab2d3c31fd4df609993bb9c314b1dfa38afb59eff1625136e41e1dc655a570c944fe3fc0c73cd58d190e30dbf88afb75b875bffb238c21daedf36ed2cb1f17da07a25e002788193af68d7c234d4f3a52e0d8e56d7f887b92fe5758d067dc0a85217e1b32edec4e9dd32f73af2f203236d3d6bed5a4495822d53bec7625fc5a7a3c9b437f760e399fbe89b6c7ab50deeadd8eccc246472074fd9141178c0d2799e72f0ffe1b0fb5a098f51cc4be45b4164368734d8641993c895e7f3baed294db4e750d5f77225350cc5313ef83b9c37cccffea10d8660ef48e77106e6081f3bcd4a07e81b281163d895bb3954627b3a9bcefcda28f797bbd06bfe08d5fecac8fe85a074753805c8a92799a442305b46f04704b1d11ec06ebe7d2120f1ba8b713afd6aafa86c82a07fcdf8e9665539f18cefc3616f05c6683549e0f8d98596a110fffa7b22e835b3a874b69786f6b89e75faa5875c9c7034798c98de202b1436647fdf1ef4aeec32761ffde0393ff5cd280023edbbfa21f01dee290f1aacd3a654f0d77cc4e09f98e861817d8c8e22a39cb38bf3d169263bfca4fe9346d593f89c8a6f5ce29280b3f4f557e1361d941c8270e4aea46f30c44cba0f4594938d4042b89a21aaa51381612f63022d73f50be99327d415d6b037ac1902f613e2e357f785542c287eafa944fa8455a7dcdd4eb0222777eb85c597e4c39f5a4f577be6850bdf0bc2a52d110b1259db6e95fb4b74514d8ec86862d79117d2568fbabc9dd5f2eba32852a0fdb1f0e04d5c56aeb71a2e150cf551d970ae085d62a3df01eb60b5321c4c157a895d42e0a2d810dfef79753590a61d53080f38b9a3dbfd409192b95e3c45282d4fbfbb294859e8a867ab3960e47094a4bff278457a653a44878b3a8a81788b28d95aa6244bdc458054b21edd2085cccc1d3ad6c76e0287f6e406068eda3d5a868959e5b03db1df95b9e647015b1e4b8d1a14c8dbfe1482bf0ae3d62a72ff669cb47afc6b12e6e0e616d4dbf0c192d9bb31788d40da0e0085c5f8971d97f56a94d7099435d97c06a755a2eafe9947b7a2016e20dd933ea548b0d6e8188e358900d375387934da295155217f8056b05bad11265320f63e0a1083c81003cd5cc9d42241aff5f5c9c8548f161c9e4e2910c0d9b674580aac42836b2e42fd2fb86872bfcda967713563857e5dcd38c2753ec6c640bc35ce89a2cca9212b594f46b25c4fde148defd70095eb42e1ac78eba596879143e215b750d35a983e72cb4fc85f0a4523670cc6580922d1ed1e5dfd64e793f6a817a6bda17346205347e12367d9613ea9dcd3388d30a9e99fb72a97f4aedf1f9532282a9eb422f6a099f601f3c28817b651ab44072829d1424471c36ae6b94949d4e5eff017905521da61b601ec2e117a947dadf729f47a2219422e0943d1014ff8ee21d303ac34ffa26dfca24beb84727b063ce7094137f6b8f39c4b8ff88ed70302ec70a08c81d065b73960eb3215b68dbd01d2a90552e45ec25f857c99b6dccee8d561a112307cd9e5ed5b2696b9187819e546d45dbfd9638e82d0095ab552125ff6a54b8dd07303d52f69deb573e19369df32ecc93bc58d21ee71853452084ecb1099774c81574cd20f0f224dfa510008045b63041e23f96ef1cce51c4613e551b6d90773ea97c442370bed34337fedd48ecb47375a05a4180d61e4459a83defd4456cce8258ed44c93bd09c33c06d0d61280a024102aa883c12d02bfe4570041ce293b035500542ff05862028866450f20c99d9bc4ac26805a22e97abec4a5f5bf92298115f19fb01b65d137aa02a5aaa7c083894cc0d3f8ab50f5f5b16f94c18f0c042d11edcfa452ea5b98a5d1d04f179aea52863501c4bf3a6ee596f29a76fd76087b51bc4591130abe4e8492321a368be74be69237988756ea567fe2af1138df2ad7eb07dbfee5d1e4bece891aa990eec84504d356284ef4822cbb2a63f7c88cd89e3cc308fed1ec1e3dba868d0a83a581e2da779e117e679bf406acea040e9f445b949d4f12d0a3bda3e4d58fe9e888d9a62f71970ce86c3c8cd5d9a18e8f03124a7076935c4cb0547284877dbaf371cda73b7a0721e9b4d227f99bc22515422b618f835bb5301421379381c0ba93362798feb6d0ba64a2cdcb2cc4706de7e7f3454211f01b09cb5e0c356cc3b77ffeeb6a08aa0c08876d72809e64818f2056a3573840b97fa030420bbf5827d7226b30ad5491c38b3e2b85fb90914b4cd61e645c43e622afac3ffccc354b340d680311e9b157ae85b2e73d5bef65bf9cfc7856f36590da3455e105021676727c877560502d48c42d12caec1e1b7890b1421242a8c7bb83c8533f327684c04f9f0558d3801601af3f211eafe9582e74875789c2661578d45af67652dd87e54bc1b3454c8fffe73b057858219c167a3fa51cb95cd08203e552e8d3685106279742bbc56398d39041b35a4469fbcabc2e5fc858051e28078717de2020419b9549e253eb5944d908fe21d884d7091ac472081403e7500aea2d15093ca0d2b21937314e83bf3dc54262afa90f09551c90537ff2d35ad2c6986613291f863bb8a831e1daf39a6e4364db6fd6aee970fe57349078597ae3fb1124e8f203a2a0b2385d927f07ad5021ccd86cb756e3eb805816cbc03974163ab0e98744bb3a1cd192c5b99969c81422f4c9ec6fb594e49869a42c1f733378f2f7fc471ccf45ebb847214b3b7c552484363ef3b1670d37f8055689a7f364f2dd0035ee8e4c4b60e77b547dec8ceaeef34b1f8365117928e68b94672f2d660dc40ed7256a4870a3b9a3042a8ff4c38c6d85b70d002900b526a037fef00504eca5e471af185774aa581fac66c69fc91d8a846c331a0cf136bef07ddff2c8c3660acbca59114d11dab9d11af15fbea5a48029c7b46b0eb8703d83fd29322e7b72110c256c4349475238d842d27c2eb9bb1aaf0d6e3bd4732f380ea2589f4ab2fba39620197ac0538d970388de3df07edfdb9d74e5291f0931259f2c97d6de56c1b77fc2fb0e95588e94378d450698ce65a67937f60c6a7b66922eaed34ee8c425498f770c5525591393804fa5859c5fd3727b809b049f512e8c182168a9ec0ee4dc13e2666c41e026153c955d99077fb39657bf5dcda1382bf5e34d364c6e4f28dde9ad0450f62b32d94d3c3cca4612da4f6dd6f915eccd8918325c9773";
61
61
  declare const MLDSA87_KAT_SIG_HEX = "85cb1db5334f679d21f457df559241826480bc25668b6e5f1e878344807efd487b87e9857291271ba7271368fe42be6b3c362d4c48956712e38ec470f0e7296b27da3df0734fd506dbf01cb53cfd471448341176006a82d166c324c798bc7a92e2d135f1c9cf63c06964926dc43199bb5ab20705f9cbf0fe28a62b41e51651ba6429ce70a8ece844a3828d160ab90900be47a3756cef50ee6fa32c3d9303cfeb4f4e6c21d28833daf8bce21e018d466a8bc2cefa1d0bb743aef781d082e84c1ca7e7e560fa85999de8bc77433eef62b14675886697aa28cd760ebc434ffe8f717a2d4f395df97a6ced984cf065e9815fe41887a22b346c993ad877f2b601b1c4c65ba40b5dca82fba407d853fd99a0767289a4c192b81beed1685223938bef86b2a37aba62aa95d24b1aa65c539a1694bf6b8957b5ccc4aa3b508278e2a5bc8dedcbdc07b944997d03fcc8bfbeaebcfef14dcaaf064fab84c953f43e3f6263d53cdf448d1602fe2f596fe0f5654c7eba92aaaa4bdaa01f6bdf968b3bbf288156c33701aaf020af7b9dec04018212434c7b3ad425d70fa7d42c0456da45efd45e4b7f9d539ef223c6efcbe830fc15116e45ded86a8ae4d9c685443bbaa3acd5e7a02ce23057a644b09c076e70d84b3a91621fb7e398f572cc4c16a2355397a921591b6e628a212e709c67ab974e5719b6872d71325be3a012497bade25735ffdc81c02210969013dbe567ffe589f8d3ce77d2f7c01d50285ced55c4a8a3123b26813f41c0d7aeb527721590371e2a5bc3fd0773fb32dddb8f5d79a9c104d18539661b23dd4ede4d68034cd3a589659fb99e4d20063e89ca6d6933ad9bb2742956fd7ba3d5cb488b9ab3d8bf5676e01eab97c27f65e73e18142727bc50dd48a67ff0205d78a8b502e63734a7db7600eb15b18c5a8559477a13c34f8f3453ea04da442e23feb0fc0cb22996d6723067c3c18c50927c1c70c6a08624cc5124a2bac4c4a74f05bdfc61cdd3b89b16ba6de963feeb73b0dc50f3831db63d7fb252577f65c4c49d4fc5761ef386e03e0fbcfb7704b418b82b88f52d745b4dad3824c584eabc8c15c0bf415ccbd09eba6e7d8eee0d18d6306fa35652b7e3d7078249e47419be7436bf0b2c020735dcfb836828e054b4058d54f671e1f514193d9ac81a5f9c4955e7db5fd7323abea3bda1beff6e3484c6e64741389101d240b317981a516e9aabd2d8ba9f4df343914236b542f4fda5acce26f455a63dbe8f327f26414206835d6d331a7bfb79a75ac40a7920ceb5e7982117f1d15a1b1d0d61546f4d6c6a010976059627facc17d115ff75de0b28572abfaff3f325d1104cbed0115469d2e1a87093a738797f7ad53badb87e5c72143d69f139758ca17c995e8eac91aca06b72832595109f506714986a624fd1f2779d3716742e402b9d800d6c4e6dc97caee2f5e92094aa2d80e483d1d629058e60e4bfc9ee4056af36598dca2f84cc727157b0649109ba77a32e4dcd2a1092714363833278c96d95248f8567bd2acd0447c93f9dbcd75e06cea722ddc881a1cdf327b33e75718f9c14a6c44d8d69a39f7e2714923d29198db619e907a5a2b36e0bef83824063120f70851ebbd132fc6c8d090f735fa3762f607b96158ce3c70b1e97251f3361e02e0d4f02d4a3762c0b11af01736f9c1c47c88b350e9a6185c737cd8c25391b72c4b6832482341c3442feb55fae56994172ef2630e0efe11f2e2bd718f2c92427be2cd3f0ebabd78b762d39df48c057217ab83c451cb0cc96521eb7ef9d9ae72904b316a79eedd0e255f8f24eb00747f00847a237451d6afbb40e812dbf53524802539f953279f619ba95d27f420893f60b761fcb3dfc6da4dbedfbd9bbfacc70c55ea18ff2ede9bcb862d15c47dbc69af3f9582b7f9c68ad3a686b1ca28fac0e38c203431ebf5aa36d2905d7ecf3d4b7278599c9151f6b6fc7697c2a47fb0ea6b2c080a53beb1d337811dd68f207b14ba2bb3318a1167426f61ec540f16dfe287232ecc2cc721eef09f8e4b7cc654d675353b531ae61eb5db41fa4905ba97b88d263781061d6d5f8ecb67e97d4de4f1027eb6b0282bcc8343e203fe0c498d322995bff395faf70cea62a596cbaa540f421e5f3f97bec687584bd86e0bea5ada6aefcec73dee9258a54de1f6e2eea8b54483142f3d4d5e81db8370eb1fb80fd7aeaf51ebf2b50233b2feb31e1e62b588c25ba5dd71bbf4a503a3a1510340972d92c2273dcfc0539b49b0119e969c5beabf15ef3e5d39eecc0f39158703e7b6a1301069921c2dae9c10ee0ccad51d46251602c120c24fb3e394d7b7c03ee681630a146c8679d82a224a5bae9a648fbc45d0c7278bc1cf0e136fe48f24b8d239531e64706bf96696a4414c4ca4ff17e2746dd86dd1aa443e929e0841d7325b74da6d7c316352b0584a1076829f0cf0b1e0b7a6f8bf64c272896783c7a832fc2200f480bfeabc1c72c532834443157adc292222195ab63e7c5a73d46d93f553d5d1986e54579670dc3c20cdfde434f1567cd500cc00697ee92242d66092c882c337392a3a07ba255bcc31620494b7163429aebf7cff039c7f37c989fd0445ad532fc58fe930d77ce864195aadfda21b8fdc6aa7561b294420f944a5a915212b50a83e8c4505d5056642be5cd83fd5d8a7e69bab2b4c1f2774729beb7092aeafc9d261176186c83e768c2ad834d3aca0396ef66f6f0ae8f87dc3cb1dae8ba48e3e20bc5b5fca2aabe375ea124583e83cd9052d450e3c4020302753169417ab72eab0b5453592ebffb546586d0b69b149df08b9bda9ddb41e030c8dbb5bbe28b802a3c721bbde9653ad9169126b43107bdf873159c4b99b29c182ee71c83a8fb8e4acd6626941751c8357f297fb346f3641926750e93ccb8d9e6190ec737291ea405f35d906fdb688bff43ce91b52fdd687d004753a557dc4077843d9e263bb2b66f41506a0444eb59baa8759b117d4f284b672218c9209b929227aed906543130321d5c461600974f8705b2ddf7ddd8267944a3c21566becef4840f167b6196716089701d913705f3898210eb562ab54de1e49e1854880948ff2eb29e12c8b609153c345d5344ed77d0ee8fc5f2fc43409d5151e8982b9a9530e55bdec846c1504f2ab380a74cfc5117aaa3203f5ff042a1b2078d86a0f55f1f29513a7f2a206e91449204390d0dc708aa48d40031ec82ac501d5d45b2c61b57530c4dc8cbfa09fe6d3a444529742143848b2f62b02a45020faba5b0a18f437559fdfb18dfdaf1cd938e9b93f0b999e056a6e23cb93c08e8241340f75180acecdfc0b3be4275a056228fec4ddd6557e60285248a8ded0407db339dba867823576c5cfd2708e3ea3abdf360cb11f05ae85e288990935d65ad19e9d84d6248ac5fb036db300dbc7e6df91f46bf206693cf5889f508c571d0182b048cfae1a23a6d2a52a8b15f676f9f45d35cdfb72f5ac33961b8347c91d3bfac4631f60077d8cf3b183c68e41846e22099ffc1c13ab44143a7985937e2f470d48243aacc18e931a373b2636d955fe822500a07221d59543149fd6271de5de78b68a14f9428812181c275ca4b9b7943a9256335befa0396991f99887a9d190ea73db8219f30b743909378470684700458326fd40ed08d935d41544f880ef0003acb5c8ae1a20301d5ec255c590850761b10b123b9291f4896c7d4a5abc6f9dd9129f20c9fd125f96ea948698c5b90ee4e8a687e05fb94647677794d70f80f3809dffa1033f6d9703e0bf6c998186eadcbe1b6c4b051eb3f0aa567c08dcbeac93dae446673a65730b9fd3b40d93c3c526e8a74dcebb054e20d73420175795814725692c908caf1a658e4f19f77ba7cd5f4d9d81cb3d96522e0d843627ea19f738f118012d869fe557078a71d9663df761e4b9bc829d38fe0eda8206613d795da3db6eaafbd89071829d7a04402cb13d2e80a0aafb722181feacc6ecdf6847c087743eb1ef135be48c1e7c07402403594d66b75cf72aafdb09f143c19966b171eaccc20fbf1a6a9e36cc0cddb3e4e4caeb720b22fdf73f78bfff687a90124030a9c0b7f03071e959128b4383f03b085025de4ebfc277ce7ebd8040d45f614c2189d1f518a1fa1f780d4ab7b12ca7dd0cbe2d91aa029d75342b81cd09ccc693ccff7ef85b4a2dae13962b20102b5db99f34184ef1575253b400d7b914dbe5ddb91c8b10bd3d320967fb883a67d6641e089dc8dcd67e62d74bd9d90a37e210bce6c96b1fd51319f1626cdfd39a7dfb86fa894ec186c637c4b09714a32f6d3e347e57a537fa06b5c56a85e2783863bf442d963e0719ff75d2689a3cd505add9356680e6d873e9efbceb383cfbf05953fc7b04c5d0c765dc0411719ce7be4bccd5340824044c06b939211d5662ee6840447d10d9280f4e09b505d0d961db95a9ab253ebddb9478532672eff7b198fb4f8a050ce40bac13cfc016d6d1f35a24ab2d3285a4d6d679c295a78ac8fe4343faace82a8067420d62e879226f855c3551c0a1e4bcc686c34339d1a791fadd6688e673bfcc7915b59fafc430ac92f9674ce9309817c283ebe7fb6564f6a599676e8f8c15732772325ddc1f4f94732a9b6e85bb5ff61137bc3c3f51ddfe02192a57d0698bb9dd73bc412e751afa8993e3dda18ac538f4fc78bc73cf515244f5e68dbe0c9ef6a454efe083619b9afcb365abb9ff8059bad5cabaae15771620fe01b566114735bfd7cff8c68899f5c48fff3446b259467b1ec722336fc144d9b104db46070a1f910b925d3d17f4fa9f0ef2ab678457fa89e98e778071391e245437d0f4f367dd4f5a26dcb7bdbbf93c5c05cb80b86c58d96d88f7698d528acb4427c41d7df2032cc0bb68e6dc1df692850f6ac2937eb60463a4fe315a44b7176e85433831309e330a6627ceb481833d8fc31f4f45df20d679d3074de842dbb60c1374e8a800868458af7413302c41da789d2a715d23d7031489051336f8d1f51a500fa9fe1e28e01fa1bbd341c1cba638acf0ed5fd21bcc000c31be4bc7ce3c4ab3fb64f896e4c10dde48bcd651480dd74616d703e7a69a174b4de8b946c37a885a728f9224361dad9679c0711e9f4cd2e9761ac6e4b7df7f6ec23b8174685f8179f830f37e1c2b96e5b4d9b4c7321cbbe89d2523a92fd8427640863398a087988828cebb1f21ffe1170fa9c8062c492a62f65768aa26ddc9497295d08bce336b555dba060cfb6a89975fb92f60e2f67b9dd5e2181322850338ea0aa50bcba96e702000431f09e465f8cb7c192d6e073a4a28785307fa9950d0b331bf3a20cfdbd505ad0d2e8775f30fe04b000e6e6649bfb9a954e07f43f590328b1ef7f7d444b2b2e9d0ff27aa654d9f9c75db0df16e98ce2ab625daba5a12eac54c47530f4aba0f50e73cedde9802bb21091ecde4fcba6589fefa28b6958e2f4924194b16e35bd99b730395f5b70db0b626a8ddd67ba23438385834fdb2c01d02d224c4a0e8c93942806fbe87ed9b5e57fb719f579f056938d5baa70101caf20b9eec186aa63d2bba4bda421c2cf9a9adcf072df8f0f17fceba3b208cff92ca48ed56826be0fa49cfe6493d282b04e37d7ea8434991724699f5f98b7fa03e53ccfb8f38d9f2e4dfb531a2f112fc8ad71b245b517f883d72ca548de9778baa46dcfa15bba379b5fbb56085b0938efaf34a85d6772b55ee1d9b9045a2e80355ac990dc18e6d7b33935a2d8ba4fbd0ac1662a5958a7a12e5b921f915ef229823b9697fb78d2df7a793d251478d0950e640edd231616197b3a54685db5a2d8c5283dc37b18a526a89d7e1263e03eb4ea6837663fefeedb85c4db818db0af1b086bcbabac3a9b0daaf4705a7c6fc4359bbc2da89aa2a9e0e5d7556f9e30ccdc2684ff10c1cee185933f1a2c01eb8f707a3b0afa543fd00799fa768e6d0d0638036b0579e7b2bbd010dade86dce5dcc10415ce70f1357747c396b09496ac4a7c9fce453d7ef09f78f270477a435c090df6ba9db9844ebb6b3b3375ce0850bd64421a574b4d5f69e315ae7c4a87bf63fb729c6f0897bdd28d6c20af1fbf44ffe5653bb635b1b2a16883e61450df07132ba0fa725eb550a2273d047b9bbb97b68838a54f8fc6c16bfbbb1c997fa145bb292b484196d92c234d88b95c173a79ed0bdb2d3e82a7fac53707da89f6cebea1330297b630b5f111022fd6f98a70845aa4c1848689bf376dee546f69361bbca3642d63b8268c2be5fc7376f39438e1c79309f1e90de757f99265e6eed047f0db0cbbf94892aa7b4d1179723370b0c7ca01a6081711098253683383200630a6e604d953035a7ec64d887633af980fb518eac72479504a342a895b25b313979885e0d8468d7f82fb92e328b0a9787042b813ad10f35b8ccd6bcd9527b4f245f07e66a587fa77c8c10d5f69a4acca2f36467c7d9ca1cfdbfc2a546685861688011a22255989979cbc535b73f1f9062131708b97b1c2d354769100000000000000000000000000000000000000000000000000000610151720252e31";
62
62
  //#endregion
63
+ //#region src/opfs-sk/algorithms.d.ts
64
+ /**
65
+ * Browser signature variants that can store an encrypted private key in OPFS.
66
+ * `*-webgpu` ids use the same WASM as the matching SQIsign level — no keys go
67
+ * to the GPU.
68
+ */
69
+ declare const OPFS_SK_ALGORITHMS: readonly ["sqisign-lvl1", "sqisign-lvl3", "sqisign-lvl5", "sqisign-lvl1-webgpu", "sqisign-lvl3-webgpu", "sqisign-lvl5-webgpu", "ml-dsa-3", "ml-dsa-5", "fn-dsa-512", "fn-dsa-1024", "slh-dsa-128", "slh-dsa-192", "slh-dsa-256"];
70
+ type OpfsSkAlgorithm = (typeof OPFS_SK_ALGORITHMS)[number];
71
+ //#endregion
72
+ //#region src/opfs-sk/browser-gate.d.ts
73
+ /** Dedicated Worker name for `loadOpfsSkWallet()` — the only browser realm allowed to keygen/sign. */
74
+ declare const OPFS_SK_WORKER_NAME = "qrr-opfs-sk";
75
+ /** Static OPFS slot used by the pqc.rustykey.me wallet demos. */
76
+ declare const OPFS_SK_SLOT_SD_BUNDLE = "sd-bundle";
77
+ /**
78
+ * Browser page, SharedWorker, and non-wallet Dedicated Workers must not
79
+ * keygen or sign with a plaintext `sk`. The OPFS wallet worker is the
80
+ * exception. `verify()` is not gated.
81
+ */
82
+ declare function assertBrowserSkCeremonyAllowed(): void;
83
+ //#endregion
84
+ //#region src/opfs-sk/isolate.d.ts
85
+ /**
86
+ * Browser-only gate for the OPFS encrypted-sk wallet (`self.crossOriginIsolated`).
87
+ * Node / server loaders (`loadSqisignLvl*`, `loadMlDsa*`, …) stay unconstrained.
88
+ */
89
+ declare function assertOpfsSkCrossOriginIsolated(): void;
90
+ //#endregion
91
+ //#region src/opfs-sk/lifecycle.d.ts
92
+ type OpfsSkPrfMaterial = {
93
+ prfOutput: Uint8Array;
94
+ salt: Uint8Array;
95
+ /** Must be true — WebAuthn `userVerification: "required"` succeeded. */
96
+ userVerified: true;
97
+ };
98
+ //#endregion
99
+ //#region src/opfs-sk/prf.d.ts
100
+ /**
101
+ * Read `prf.results.first` from `credential.getClientExtensionResults()`.
102
+ * PRF must have been requested at the **first** registration; existing
103
+ * credentials cannot gain the extension later.
104
+ */
105
+ declare function opfsSkPrfOutputFromExtensionResults(extensionResults: unknown): Uint8Array;
106
+ /**
107
+ * Build wallet PRF material after a WebAuthn ceremony that requested
108
+ * `userVerification: "required"`. create() uses `prf: {}`; get() uses `prf.eval`.
109
+ */
110
+ declare function opfsSkPrfMaterialFromCeremony(input: {
111
+ extensionResults: unknown;
112
+ salt: Uint8Array;
113
+ userVerified: boolean;
114
+ }): OpfsSkPrfMaterial;
115
+ //#endregion
116
+ //#region src/opfs-sk/wallet.d.ts
117
+ type IOpfsSkWallet = {
118
+ keygen(algorithm: OpfsSkAlgorithm, prf: OpfsSkPrfMaterial, options?: {
119
+ slot?: string;
120
+ }): Promise<{
121
+ public_key: Uint8Array;
122
+ }>;
123
+ sign(algorithm: OpfsSkAlgorithm, message: Uint8Array, prf: OpfsSkPrfMaterial, options?: {
124
+ slot?: string;
125
+ }): Promise<Uint8Array>;
126
+ verify(algorithm: OpfsSkAlgorithm, signature: Uint8Array, message: Uint8Array, public_key: Uint8Array): Promise<boolean>;
127
+ hasKey(algorithm: OpfsSkAlgorithm, slot?: string): Promise<boolean>;
128
+ publicKey(algorithm: OpfsSkAlgorithm, slot?: string): Promise<Uint8Array>;
129
+ };
130
+ /** Host apps (e.g. Next.js) must serve dist/opfs-sk-worker.js. */
131
+ declare function setOpfsSkWorkerUrl(url: string): void;
132
+ /**
133
+ * Browser-only encrypted-at-rest wallet. Requires `crossOriginIsolated`.
134
+ * Decrypt + sign stay in the worker; the UI thread receives only signatures
135
+ * and public keys. Node loaders are unchanged.
136
+ */
137
+ declare function loadOpfsSkWallet(): Promise<IOpfsSkWallet>;
138
+ //#endregion
139
+ //#region src/opfs-sk/webauthn.d.ts
140
+ type OpfsSkWebAuthnHandshake = {
141
+ prf: OpfsSkPrfMaterial;
142
+ credential: PublicKeyCredential;
143
+ };
144
+ /**
145
+ * Trigger WebAuthn create/get with `userVerification: "required"`.
146
+ * create() sends `prf: {}` (enable only — salt/eval in options breaks Safari).
147
+ * get() sends `prf.eval.first` using the RP salt.
148
+ */
149
+ declare function opfsSkTriggerWebAuthn(input: {
150
+ mode: "create" | "get";
151
+ publicKey: PublicKeyCredentialCreationOptions | PublicKeyCredentialRequestOptions;
152
+ salt: Uint8Array;
153
+ }): Promise<OpfsSkWebAuthnHandshake>;
154
+ //#endregion
63
155
  //#region src/slhdsa.d.ts
64
156
  declare function loadSlhDsa128(): Promise<IFnDsa>;
65
157
  declare function loadSlhDsa192(): Promise<IFnDsa>;
@@ -156,5 +248,5 @@ declare function loadMlKem512(): Promise<IMlKem>;
156
248
  /** Load ML-KEM-1024 (WASM). */
157
249
  declare function loadMlKem1024(): Promise<IMlKem>;
158
250
  //#endregion
159
- export { type BytesLike, type EncryptResult, type IFnDsa, type IMlDsa, type IMlKem, type KeyPair, MLDSA65_KAT_MSG_HEX, MLDSA65_KAT_PK_HEX, MLDSA65_KAT_SIG_HEX, MLDSA87_KAT_MSG_HEX, MLDSA87_KAT_PK_HEX, MLDSA87_KAT_SIG_HEX, type MaybePromise, type MlKemKeyPair, SLHDSA128S_KAT_MSG_HEX, SLHDSA128S_KAT_PK_HEX, SLHDSA128S_KAT_SIG_HEX, SLHDSA192S_KAT_MSG_HEX, SLHDSA192S_KAT_PK_HEX, SLHDSA192S_KAT_SIG_HEX, SLHDSA256S_KAT_MSG_HEX, SLHDSA256S_KAT_PK_HEX, SLHDSA256S_KAT_SIG_HEX, SQISIGN_LVL1_KAT0_MSG_HEX, SQISIGN_LVL1_KAT0_PK_HEX, SQISIGN_LVL1_KAT0_SIG_HEX, SQISIGN_LVL1_KAT0_SM_HEX, SQISIGN_LVL3_KAT0_MSG_HEX, SQISIGN_LVL3_KAT0_PK_HEX, SQISIGN_LVL3_KAT0_SIG_HEX, SQISIGN_LVL3_KAT0_SM_HEX, SQISIGN_LVL5_KAT0_MSG_HEX, SQISIGN_LVL5_KAT0_PK_HEX, SQISIGN_LVL5_KAT0_SIG_HEX, SQISIGN_LVL5_KAT0_SM_HEX, SQISIGN_WEBGPU_VARIANT_LABELS, type SecretLike, type SqisignBenchSteps, type SqisignWebGpuSupport, type SqisignWebGpuVariant, benchSqisignWebGpu, getSqisignWebGpuSupport, isSqisignWebGpuAvailable, loadFnDsa1024, loadFnDsa512, loadMlDsa3, loadMlDsa5, loadMlKem1024, loadMlKem512, loadMlKem768, loadSlhDsa128, loadSlhDsa192, loadSlhDsa256, loadSqisignLvl1, loadSqisignLvl1WebGpu, loadSqisignLvl3, loadSqisignLvl3WebGpu, loadSqisignLvl5, loadSqisignLvl5WebGpu, setSqisignAccelWorkerUrl };
251
+ export { type BytesLike, type EncryptResult, type IFnDsa, type IMlDsa, type IMlKem, type IOpfsSkWallet, type KeyPair, MLDSA65_KAT_MSG_HEX, MLDSA65_KAT_PK_HEX, MLDSA65_KAT_SIG_HEX, MLDSA87_KAT_MSG_HEX, MLDSA87_KAT_PK_HEX, MLDSA87_KAT_SIG_HEX, type MaybePromise, type MlKemKeyPair, OPFS_SK_ALGORITHMS, OPFS_SK_SLOT_SD_BUNDLE, OPFS_SK_WORKER_NAME, type OpfsSkAlgorithm, type OpfsSkPrfMaterial, SLHDSA128S_KAT_MSG_HEX, SLHDSA128S_KAT_PK_HEX, SLHDSA128S_KAT_SIG_HEX, SLHDSA192S_KAT_MSG_HEX, SLHDSA192S_KAT_PK_HEX, SLHDSA192S_KAT_SIG_HEX, SLHDSA256S_KAT_MSG_HEX, SLHDSA256S_KAT_PK_HEX, SLHDSA256S_KAT_SIG_HEX, SQISIGN_LVL1_KAT0_MSG_HEX, SQISIGN_LVL1_KAT0_PK_HEX, SQISIGN_LVL1_KAT0_SIG_HEX, SQISIGN_LVL1_KAT0_SM_HEX, SQISIGN_LVL3_KAT0_MSG_HEX, SQISIGN_LVL3_KAT0_PK_HEX, SQISIGN_LVL3_KAT0_SIG_HEX, SQISIGN_LVL3_KAT0_SM_HEX, SQISIGN_LVL5_KAT0_MSG_HEX, SQISIGN_LVL5_KAT0_PK_HEX, SQISIGN_LVL5_KAT0_SIG_HEX, SQISIGN_LVL5_KAT0_SM_HEX, SQISIGN_WEBGPU_VARIANT_LABELS, type SecretLike, type SqisignBenchSteps, type SqisignWebGpuSupport, type SqisignWebGpuVariant, assertBrowserSkCeremonyAllowed, assertOpfsSkCrossOriginIsolated, benchSqisignWebGpu, getSqisignWebGpuSupport, isSqisignWebGpuAvailable, loadFnDsa1024, loadFnDsa512, loadMlDsa3, loadMlDsa5, loadMlKem1024, loadMlKem512, loadMlKem768, loadOpfsSkWallet, loadSlhDsa128, loadSlhDsa192, loadSlhDsa256, loadSqisignLvl1, loadSqisignLvl1WebGpu, loadSqisignLvl3, loadSqisignLvl3WebGpu, loadSqisignLvl5, loadSqisignLvl5WebGpu, opfsSkPrfMaterialFromCeremony, opfsSkPrfOutputFromExtensionResults, opfsSkTriggerWebAuthn, setOpfsSkWorkerUrl, setSqisignAccelWorkerUrl };
160
252
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/fndsa.ts","../src/mldsa.ts","../src/mldsa-kat.ts","../src/slhdsa.ts","../src/slhdsa-kat.ts","../src/sqisign.ts","../src/sqisign-kat-lvl1.ts","../src/sqisign-accel-env.ts","../src/sqisign-webgpu.ts","../src/index.ts"],"mappings":";KAAY,aAAa,KAAK,IAAI,QAAQ;;KAG9B,YAAY,aAAa;;;;;UAMpB;EAChB,IAAI,oCAAoC,aAAa;;;;;UAMrC;EAChB,IAAI,oCAAoC,aAAa;;UAGrC;EAEhB,IAAI,+BAA+B,aAAa;;;KAIrC,aAAa,YAAY;UAEpB;EAChB,WAAW;EACX,QAAQ,YAAY,aAAa,aAAa;EAC9C,QACC,YAAY,aAAa,eACzB,aAAa,aAAa,aACxB,QAAQ;EACX,iBACC,QAAQ,aAAa,YAAY,yBAC/B;EACH,eACC,iBACA,QAAQ,aAAa,cACnB,QAAQ;EACX,eACC,kBAAkB,YAClB,QAAQ,aAAa,cACnB;EACH;;KAQW;UAEK;EAChB,WAAW;EACX,KAAK,SAAS,WAAW,aAAa,YAAY,QAAQ;EAC1D,OACC,WAAW,WACX,SAAS,WACT,YAAY,YACV;EACH,iBAAiB,OAAO;;KAGb,SAAS;;;iBC0JC,gBAAgB,QAAQ;iBAKxB,iBAAiB,QAAQ;;;iBCLzB,cAAc,QAAQ;iBAKtB,cAAc,QAAQ;;;;;;;;cC5N/B;cAEA;cAEA;;cAIA;cAEA;cAEA;;;iBC6CS,iBAAiB,QAAQ;iBAIzB,iBAAiB,QAAQ;iBAIzB,iBAAiB,QAAQ;;;;;;;;;cChElC;cAEA;cAEA;;cAIA;cAEA;cAEA;;cAIA;cAEA;cAEA;;;iBCuPS,mBAAmB,QAAQ;iBAK3B,mBAAmB,QAAQ;iBAK3B,mBAAmB,QAAQ;;;;;;;;cCvRpC;;cAIA;;cAIA;;cAGA;;cAGA;cAEA;cAEA;cACA;;cAGA;cAEA;cAEA;cACA;;;KChCD;EACX;EACA;EACA;EACA;EACA;;cAGY;;;;;KAMD,oCAAoC;iBAUhC,2BAA2B;iBAyD3B;;;;iBCRA,yBAAyB;KA6O7B;EACX;EACA;EACA;;iBAGqB,mBACrB,SAAS,gBACT,mBACE;EACF;EACA;EACA;EACA,OAAO;;iBAkCc,yBAAyB,QAAQ;iBAIjC,yBAAyB,QAAQ;iBAIjC,yBAAyB,QAAQ;;;;iBCnCjC,gBAAgB,QAAQ;;iBAKxB,gBAAgB,QAAQ;;iBAKxB,iBAAiB,QAAQ"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/fndsa.ts","../src/mldsa.ts","../src/mldsa-kat.ts","../src/opfs-sk/algorithms.ts","../src/opfs-sk/browser-gate.ts","../src/opfs-sk/isolate.ts","../src/opfs-sk/lifecycle.ts","../src/opfs-sk/prf.ts","../src/opfs-sk/wallet.ts","../src/opfs-sk/webauthn.ts","../src/slhdsa.ts","../src/slhdsa-kat.ts","../src/sqisign.ts","../src/sqisign-kat-lvl1.ts","../src/sqisign-accel-env.ts","../src/sqisign-webgpu.ts","../src/index.ts"],"mappings":";KAAY,aAAa,KAAK,IAAI,QAAQ;;KAG9B,YAAY,aAAa;;;;;UAMpB;EAChB,IAAI,oCAAoC,aAAa;;;;;UAMrC;EAChB,IAAI,oCAAoC,aAAa;;UAGrC;EAEhB,IAAI,+BAA+B,aAAa;;;KAIrC,aAAa,YAAY;UAEpB;EAChB,WAAW;EACX,QAAQ,YAAY,aAAa,aAAa;EAC9C,QACC,YAAY,aAAa,eACzB,aAAa,aAAa,aACxB,QAAQ;EACX,iBACC,QAAQ,aAAa,YAAY,yBAC/B;EACH,eACC,iBACA,QAAQ,aAAa,cACnB,QAAQ;EACX,eACC,kBAAkB,YAClB,QAAQ,aAAa,cACnB;EACH;;KAQW;UAEK;EAChB,WAAW;EACX,KAAK,SAAS,WAAW,aAAa,YAAY,QAAQ;EAC1D,OACC,WAAW,WACX,SAAS,WACT,YAAY,YACV;EACH,iBAAiB,OAAO;;KAGb,SAAS;;;iBC6KC,gBAAgB,QAAQ;iBAKxB,iBAAiB,QAAQ;;;iBCLzB,cAAc,QAAQ;iBAKtB,cAAc,QAAQ;;;;;;;;cC/O/B;cAEA;cAEA;;cAIA;cAEA;cAEA;;;;;;;;cCHA;KAgBD,0BAA0B;;;;cC9BzB;;cAGA;;;;;;iBAwCG;;;;;;;iBC7BA;;;KCHJ;EACX,WAAW;EACX,MAAM;;EAEN;;;;;;;;;iBCOe,oCACf,4BACE;;;;;iBAiCa,8BAA8B;EAC7C;EACA,MAAM;EACN;IACG;;;KClDQ;EACX,OACC,WAAW,iBACX,KAAK,mBACL;IAAY;MACV;IAAU,YAAY;;EACzB,KACC,WAAW,iBACX,SAAS,YACT,KAAK,mBACL;IAAY;MACV,QAAQ;EACX,OACC,WAAW,iBACX,WAAW,YACX,SAAS,YACT,YAAY,aACV;EACH,OAAO,WAAW,iBAAiB,gBAAgB;EACnD,UAAU,WAAW,iBAAiB,gBAAgB,QAAQ;;;iBAgB/C,mBAAmB;;;;;;iBA0Ob,oBAAoB,QAAQ;;;KC9NtC;EACX,KAAK;EACL,YAAY;;;;;;;iBAQS,sBAAsB;EAC3C;EACA,WACG,qCACA;EACH,MAAM;IACH,QAAQ;;;iBCTU,iBAAiB,QAAQ;iBAIzB,iBAAiB,QAAQ;iBAIzB,iBAAiB,QAAQ;;;;;;;;;cCnElC;cAEA;cAEA;;cAIA;cAEA;cAEA;;cAIA;cAEA;cAEA;;;iBC0QS,mBAAmB,QAAQ;iBAK3B,mBAAmB,QAAQ;iBAK3B,mBAAmB,QAAQ;;;;;;;;cC1SpC;;cAIA;;cAIA;;cAGA;;cAGA;cAEA;cAEA;cACA;;cAGA;cAEA;cAEA;cACA;;;KChCD;EACX;EACA;EACA;EACA;EACA;;cAGY;;;;;KAMD,oCAAoC;iBAUhC,2BAA2B;iBAyD3B;;;;iBCPA,yBAAyB;KA+O7B;EACX;EACA;EACA;;iBAGqB,mBACrB,SAAS,gBACT,mBACE;EACF;EACA;EACA;EACA,OAAO;;iBAmCc,yBAAyB,QAAQ;iBAIjC,yBAAyB,QAAQ;iBAIjC,yBAAyB,QAAQ;;;;iBChBjC,gBAAgB,QAAQ;;iBAKxB,gBAAgB,QAAQ;;iBAKxB,iBAAiB,QAAQ"}