quantum-resistant-rustykey 0.13.9 → 0.14.1
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 +5 -0
- package/dist/index.d.ts +106 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +634 -156
- package/dist/index.js.map +1 -1
- package/dist/opfs-sk-worker.js +5185 -0
- package/dist/opfs-sk-worker.js.map +7 -0
- package/dist/sqisign-accel-worker.js +124 -65
- package/dist/sqisign-accel-worker.js.map +3 -3
- package/package.json +6 -4
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>;
|
|
@@ -91,25 +183,30 @@ declare function loadSqisignLvl5(): Promise<IFnDsa>;
|
|
|
91
183
|
//#endregion
|
|
92
184
|
//#region src/sqisign-kat-lvl1.d.ts
|
|
93
185
|
/**
|
|
94
|
-
* NIST-style KAT verify vectors (count = 0) from upstream the-sqisign
|
|
95
|
-
*
|
|
186
|
+
* NIST-style KAT verify vectors (count = 0) from upstream the-sqisign `nist-v3`
|
|
187
|
+
* response files (`KAT/PQCsignKAT_{270,417,549}_SQIsign_p{324_3,500_27,664_17}.rsp`).
|
|
188
|
+
* File name is historical (lvl1); exports cover L1 / p324_3, L3 / p500_27, and L5 / p664_17.
|
|
96
189
|
* Used for fast verify-only tests (reference keygen/sign KAT are too slow for default CI).
|
|
190
|
+
*
|
|
191
|
+
* Count = 0 has `mlen = 33` and `smlen = CRYPTO_BYTES + 33`. The signed
|
|
192
|
+
* message is the remainder of `sm` after `CRYPTO_BYTES` (same 33 bytes as
|
|
193
|
+
* the `.rsp` `msg =` field, ending in `…556ac8`).
|
|
97
194
|
*/
|
|
98
|
-
declare const SQISIGN_LVL1_KAT0_PK_HEX = "
|
|
195
|
+
declare const SQISIGN_LVL1_KAT0_PK_HEX = "AA943594EB7DCB5EEEBE30D1D266941B110C034804A958A151F308E8A3DFE05B4FEDF8D12FA25DA215CA2EA5E7E346810A30D23E62C01536DAD9901901D1C72A81E912436CB95C0ED921300A9F1017309B2905";
|
|
99
196
|
/** `sm` from the KAT file (signature || message). */
|
|
100
|
-
declare const SQISIGN_LVL1_KAT0_SM_HEX = "
|
|
197
|
+
declare const SQISIGN_LVL1_KAT0_SM_HEX = "AF9119C1D62766FE4FC73791F2DFE76016E57EED4FC02D9E1A34244262CFF1A352BFE6D09A98EEDB2E0C04E419B973696F5C9F12135565EE410B05CB9B9DB2655218CA918D151DA2B36D5A14510D9F6CC729D1EBCF6D05702826D5A7013998E33A1750117E4D665FFDD21ED048147A2F5F7955D463AF8CB53A673F66AE0DD5380F186302369A07D48FFDE881F955A871DDC372ACD4A6401884530B6835FD5A050EEA188026474533AFA387C4CC966CEF0D81EC694F3C90E2CEE6C6C0CB0EBF82682562D6D7D80D02D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8";
|
|
101
198
|
/** Detached signature bytes (first `CRYPTO_BYTES` of `sm`). */
|
|
102
199
|
declare const SQISIGN_LVL1_KAT0_SIG_HEX: string;
|
|
103
200
|
/** Message bytes (remainder of `sm` after the signature). */
|
|
104
201
|
declare const SQISIGN_LVL1_KAT0_MSG_HEX: string;
|
|
105
202
|
/** NIST-style KAT vector for SQIsign level 3 (count = 0). */
|
|
106
|
-
declare const SQISIGN_LVL3_KAT0_PK_HEX = "
|
|
107
|
-
declare const SQISIGN_LVL3_KAT0_SM_HEX = "
|
|
203
|
+
declare const SQISIGN_LVL3_KAT0_PK_HEX = "120516638BDB039F8EF434D76D76EEF56F2C037B50F7ADEE93406DBDDF66522741D1B2C6C5FC1D9C5716D958B6FA65FBDB954DAD121A74621E8E6B38FB6F5A01AD41CECF084BC914E4CD93D3E2BE6A2445F13D6C7D0BD3595C30D4F6C607B90D3CABAE3528656570D1FBEE620C2BD02FE1F7D919DDAD183F6BDB14981D06910113";
|
|
204
|
+
declare const SQISIGN_LVL3_KAT0_SM_HEX = "0DD29C66B2D5C521CF9B77E84986C1CBD7BA2A9DB1CB4DC2C3C95EA86960D8F3E9013C86A39AF926DB126DF33A32F41B239D091D54475263A5DCCB06D29C980014EF29BD87C65F1D0F52AB25227C1B87C7D2499CDE2B4831B42555CEDFB4AD3FD3F4D366E83407A93603617843A545805F6323BB0F4D7779849B621E2460850137910E07515F966E11A5A6A8267DFF3D30B696286812353C706A1B7F302D86846591EB5A4F51308F1960FCB0C33A35A1616C2594B3637EB499EC924493BE9C580BB75E159EB8F293A08BC38373C110E6CB6AA1E5B17C4A5B6B0792FE31A1788B4E535F8AA82C90F684B93C64FAA671BD5BA50B50405C91568CDCD818AFD4444CC7A34821D485CF67D4D72EF2B9786D8DCE77B598ACEC2B61C504203156E084364626A1AC1CC478F79D0EF6E27E7CDCFF0A09D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8";
|
|
108
205
|
declare const SQISIGN_LVL3_KAT0_SIG_HEX: string;
|
|
109
206
|
declare const SQISIGN_LVL3_KAT0_MSG_HEX: string;
|
|
110
207
|
/** NIST-style KAT vector for SQIsign level 5 (count = 0). */
|
|
111
|
-
declare const SQISIGN_LVL5_KAT0_PK_HEX = "
|
|
112
|
-
declare const SQISIGN_LVL5_KAT0_SM_HEX = "
|
|
208
|
+
declare const SQISIGN_LVL5_KAT0_PK_HEX = "549BB0A2966D55E5941B657E68F19F568E410CC9EB7A3D404B0C14A9FB232C53258D19E6B62D609DAB0562115954074551BCE47A2D155D73362805100DB9F0C09B98390CA19E65068A0A162EFA919B3AC00769075A4F55F8C80CB15B8111727CC0C522BB3FBA1F8FEFE573060623999270501C9F10BDA692DE97E4578DEB50F7DA513E3214112F47E6D198DD4274C4468934DF5DE2774B1C98A8FE1D1C030B8797568B209965B11008";
|
|
209
|
+
declare const SQISIGN_LVL5_KAT0_SM_HEX = "8C18127B477FFD59BEA23A07A4D02A4D6C9086111D98F1C5DC50F3E4BDCEC99E58203F23BA228536158843171E10B7BE4F822EF0FDCD2690F30B75906C798921FA2FDA66C958279A3DC11E21BBF5E46885710B06621F6E89E7DF3B12EC4B01D61F91E84B30398F48FD6AEAE35C66D5B866C58D74A635298D84D82736C52390375D5EB3B9E474015A5A68AF3A941E7B2C2BA475D7A9C779CF7F726F4B8D13972B28E093D4FF568310F537975EBC41683B45B1213BA8F75619507422077ABA77D2BA8535F91DEC6E94619AB005855923A7ED98A193354499831AD90141FA3E2307401A680E49198AA71DDB22A7A9B105B3F74DFEBDAB6231DF2B3DF40DE17DA57C08B9290C9F766C029C81B7680E026A60B558EBDA84B289C4068031AAF840C1DE3EA212177ED309C8F719D2383230F14654CD64D1F0EC0EBAEF2C13AFED1C02460205C212A2849877F8CF34134B7F95620B5B3137CE3AFE8F71E6D965C8CEDD7D0A38510F098D07A6A8EEEC98CA65862EEE6C4902EDA308A9A18DB4D16E0869AD9C8648EB79E64952F77D07161092696E49D214710225D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8";
|
|
113
210
|
declare const SQISIGN_LVL5_KAT0_SIG_HEX: string;
|
|
114
211
|
declare const SQISIGN_LVL5_KAT0_MSG_HEX: string;
|
|
115
212
|
//#endregion
|
|
@@ -156,5 +253,5 @@ declare function loadMlKem512(): Promise<IMlKem>;
|
|
|
156
253
|
/** Load ML-KEM-1024 (WASM). */
|
|
157
254
|
declare function loadMlKem1024(): Promise<IMlKem>;
|
|
158
255
|
//#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 };
|
|
256
|
+
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
257
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;;;
|
|
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;;;;;;;;;;;;;cCrSpC;;cAIA;;cAIA;;cAGA;;cAGA;cAEA;cAEA;cACA;;cAGA;cAEA;cAEA;cACA;;;KCrCD;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"}
|