diff --git a/openpgp/packet/encrypted_key.go b/openpgp/packet/encrypted_key.go index 7a01344a..4d34c4a9 100644 --- a/openpgp/packet/encrypted_key.go +++ b/openpgp/packet/encrypted_key.go @@ -454,6 +454,7 @@ func SerializeEncryptedKeyAEAD(w io.Writer, pub *PublicKey, cipherFunc CipherFun return serializeEncryptedKeyX448(w, config.Random(), buf[:lenHeaderWritten], pub.PublicKey.(*x448.PublicKey), keyBlock, byte(cipherFunc), version) case PubKeyAlgoKyber768X25519, PubKeyAlgoKyber1024X448, PubKeyAlgoKyber768P256, PubKeyAlgoKyber1024P384, PubKeyAlgoKyber768Brainpool256, PubKeyAlgoKyber1024Brainpool384: + // TODO: check v6 PKESK return serializeEncryptedKeyKyber(w, config.Random(), buf[:lenHeaderWritten], pub.PublicKey.(*kyber_ecdh.PublicKey), keyBlock, pub) case PubKeyAlgoDSA, PubKeyAlgoRSASignOnly: return errors.InvalidArgumentError("cannot encrypt to public key of type " + strconv.Itoa(int(pub.PubKeyAlgo))) diff --git a/openpgp/packet/public_key.go b/openpgp/packet/public_key.go index b2dcfcb6..4985cc66 100644 --- a/openpgp/packet/public_key.go +++ b/openpgp/packet/public_key.go @@ -637,7 +637,6 @@ func (pk *PublicKey) parseEdDSA(r io.Reader) (err error) { return } -<<<<<<< HEAD func (pk *PublicKey) parseX25519(r io.Reader) (err error) { point := make([]byte, x25519.PointSize) _, err = io.ReadFull(r, point) @@ -690,10 +689,7 @@ func (pk *PublicKey) parseEd448(r io.Reader) (err error) { return } -// parseKyberECDH parses a Dilithium + ECDSA public key as specified in -======= // parseDilithiumECDSA parses a Dilithium + ECDSA public key as specified in ->>>>>>> bf54e14 (Add SPHINCS+ signature support) // https://www.ietf.org/archive/id/draft-wussler-openpgp-pqc-00.html#section-5.3.2 func (pk *PublicKey) parseDilithiumECDSA(r io.Reader, ecLen, dLen int) (err error) { pk.p = encoding.NewEmptyOctetArray(ecLen) diff --git a/openpgp/read_write_test_data.go b/openpgp/read_write_test_data.go index bb94d03a..32033bd9 100644 --- a/openpgp/read_write_test_data.go +++ b/openpgp/read_write_test_data.go @@ -335,8 +335,3 @@ AtNTq6ihLMD5v1d82ZC7tNatdlDMGWnIdvEMCv2GZcuIqDQ9rXWs49e7tq1NncLY hz3tYjKhoFTKEIq3y3Pp =h/aX -----END PGP PUBLIC KEY BLOCK-----` - -const eddsaKyber512X25519PrivateHex = `c58f0551d0c680160000002d092b06010401da470f01010740108117fa321a45e4be7b1c9bcfd4e0a93657caf7f8a639bcaeea98d55b01e554fe1c09030829ca39e5f459f7ba6054eec58783ecac95e009b09164d8c8ba0000003601607f3f19c6798b609e580e8c71666ecc64e19242599ff9a742c82fe94ebb215f5e06f4ac738a4990068a2507fffbe1241fa84cdce1cd2e476f6c616e6720476f70686572202854657374204b657929203c6e6f2d7265706c7940676f6c616e672e636f6d3ec28d0513160a003f050251d0c68022a105ef73a861210c47e19f4fa7b089190474fe0264ae1b1329d357b68831e05166ae021b03021e05021901020b0703150a0802160002220100008bb800ff60a9c77b193429c8f87c2525ea1e9581778a92b819c59a7247c0e58749ab90310100ccf385320edc52bba95050add638eb7521895cfec0073e3b3abf89acc7800b03c7c9400551d0c6802000000340bb02921f0287acf3e37cdfc012267d6f234561bff2a346a6234aadea385e2e5e25d7306ad08c3d27065e9016f2f7306b15179e605bdfd63b25b78cefb4cc25b84f7e7ab317935dff242243d74fbca1b1e161553e9515d4340018fb667528ce58b1424bb556f9620d4dcc3891cbb780928728db8946c51970fca68da054178b445c18ba07107c932abdf4e3209ed7908c516dbee87ff4da8614b0c5ff34b55bd57bc8083f8f497163a590f2658493a8cbab0b13eaea6becab99adb36fb9f973a7acc6331479f027b7e1091a3b1201a6a262c3b48003923aeea688b3d3b4f3007cc1db120de2c5686b0e444ab4c4b46436b2c51be09afdb27bb91714a7db4bd7441df7d996dc90572bea0c8420841bf6a91523cccfca3f8b836f0a3b51f9baae7ef6b81d746b2ff72aac1237fe737af899527f376d3374269a626335992b7f742d7a514a21d8a97f95867009bf83115bd51478e8421db4764ff1345409f8c7d1456419c028eb16a0b143c71b3822e317ca4e9c129ca43705e509ae7a3cf7487aa6f93dc6f6c62f694795da7c714675b0509ca562b44a45a2b59c055801a140b872d8e8c5eff95b05034e67716d0553089247a1891916d9294ea9f3494bab88b181b87af8b09e64c14e18b7c5b309ac7473fd82213381790937b85f407c6fa81e262823ab33721cfb21213282eb1c619c3075c9879611317af8169fd53a83f658c0c3327efcf043e0ea4da2581df13846660562fff3c0f2d32fd794275fd867f2885c7d7143d17531da248b21f0b8b1c378311725e575360fc30ad27bb1e86c6b389b719c689f8f4b8c2fc978fc927d31d083a2c38a602acb13f436ce501ec936cfe32c41f897b8e4962b72116fe0910d295a5ff7276346db0a312cb5c81807ccb66a1cd480a1e921989c80c78301dd5008b9e88d824133f7705b90a017def714a81270a5511a5a8c8a4428b6c9d09088256670b290c5c95271ac3d45a415b017be7d53be5dd199d0a37eb027c017fb0880e278a916432ce010255141afe80001e5080f6b93d61a9378e02438f168578ca299817af8f24a3421627d26b3ef154ea49635aac52b8eca7e7de05e42012c0621579ab6b754d4c1bf66b9fb60272cfacdea55fba9a99c59eb87c1b6025f4a9a4b763fc47f543070a46741cad3fa8c9d46fe1c0903087c5c6181529b2b7a60eb50f1e4d4b8746dce699f87038df40900000694157997ba643dc711ac29409f02764e9447d196ab0c4c4eb8a503edaf0419f2607c403c4537d6fbfca02fd632179f072ef06802fddf4c31e1b97cdf8082f7f7773f7ea8e1f3f70e7ac78667c8066a45b8939c8ed4cde4086f09091ed0ce41fcef69f3e6699e9d196e172a193cbd3d25bf281eb9c6decc0b946b1a79a6a8ec9bb6fac34fbbbb33108c4be3b23bbdc3406add0908230bf5e25848e8d3dc1f52782769f05c991ddfcecff9fa12de482e15006e411407572ed1acf47d174f12b3a452600a2f5ed0ea39980154f5b7313815581b7fc5bfd8961abc29428011c1472206e996d48f70359e543ab47aca1ac4869cbb8c5b3f9044ecf36c2e5a65813e4408c87e9c05f52d5d8e3e91f9e9123e64f8804dfb2ea9eee9b6393c5af393f439c3c4152517f03aceeae24d7fee51515f4bd3361b4cd2f873e978fd988d036f6d7952ff3aa5302316d54cbb9902808f4666d7a215d65e8b8f25e5fe61d57977c0b70df13c881e49f3b7a5419be851d0ce8ca5ae046c538532dc036bb18359f588464971bb59c1451f7620da826d46f3b78125e094a8995d2ba9018b872273f1dd97f6a1a12bbdeb10fd04a72a73562f02e3965da88f40e3e6323439611762c922f4e03089ea58bc993b01935c3cec6efd04e6869d815bd2a74ffb4db090311b9526304dd526eeb26805bbdada896feb9c6ef2368e135d4d2cd239a5ca8a02ad8742a33f8ef30081e36d4ed198366ad83ce68b43b76fe06d84de8c2ab6498f5464e6ff2e963eb2b569cb807b2ae75514b1b4731f4e3406744645826aa1f12bde71ed841696808bca1dae9cd80a888fc67ca5d963510c0f19cf4ca98d91dcf347f3e7d4cac760ceb36ad90e362d66fdedfe36101cd08e8cc5cd96cbc1f73157db22c63b093b2e7f250f9d9749d9adf20f09226e231ff17b33310e4c02b49c3ca301fd6abeb3c88842b2416d60f4444e91fd335f308f40d4fa69562d4ce8133addb7bb3452943c55a4359c5f45ab7596dedd17d7e8b56253ee8b0824a17b2a903a1c991741f8888581f1d26717760afff4cbf31a0d64ec587aaca6f08f4602c1894ab05e087055f8092eb4703ac033c2b87ad45385f5920b709f6807b8f854b2444064639e6369fd7f59fb563c3545fee525af24fb366fe5274cef3b745de678150511f9797f9fe6252e651458cecd82b35d41aed41e7641b2adc51e890e2593b64c52eefbcb9c8d893b5274acbfd7d40068229426b0da8c5c3ed6c7df70f4b783160f1a978ec2cb5b6180b770fb5a99528e401a2765dc64582111b92086ef747ac04ceb3c9cab36ef879faf7946ba07a72dd95f19129e1b9a6f0118887e851313961e271d3171416240a127882d2fbcc72ee1bab9bfc02ee8bbd54c882b28e08162eceb29e0a60281e39d0896bd3f57b1b2a04685924c0bcb2835ce55ff2083441fdb0458ea3df16311e90285baac3912d37617a25879f8ac296b3a8c14a6d49e5f7172a8362220f0ab2cc8b213cd7b687e10e10bce131027563e26849a4756d835a1acb775ffb2dc807824b1299647d43a41c120fadab33100d76d700517f6585d9b889d600dde9352e0fdcdd8227abdd0fe87ac82f55e34fd5f8191724309c474e5c4cc7f07b679af264813b3c19d1d820cd68a13e3b7e7f357026cb614cf6be489d7c354620930e105feb56377dbbe52a6741a65a39bcf0888c10b02ada352b7ac0dc5f46504c419e87a916060ae3a73a1111082ee1ae7139c6cb1f34b2ff3b4fc3fdad89a3ff157a3a0ae25188fc043ce1fefeb898534972936bbf135c6905cbd4572beb376b8a0d14dd8a64514f00db972c52d032fcaa0cb655c9a72f355da0c2c921456fa95f0d6d1e56e30268f464bee2a20203d0c65c8e955617add26e3df4dc54ec0da7a44d402df67cc29406f57bd958d7dc9d274d7cfb60e8c8fc9e5aedd72c2bff70ecb3cb400616e7aab5165f0ea8596137d85a9af6091750f75b90511d0a57b4d235458ff4264243933b10006a30b5303a0b65e4ab92c68fdf22e8204f1d29044403fb90e2970c890b26b09d94ac22452e1f4979f2fb480fd24263b3f07af16793c555dc2fab0e84abac9c4652aa7f3b3d89845a33d29bbd2d9cb15f08785ff8fa5dc73d94102f220193d8641cb654c5cac900915e6dae521c9cb2ce6a9a82b7c24cee972928149808dc3d7029d95646e59d4c45cd08817be63ee6c6306bdcb9e93e5c9713cfdf3d6d8ebe32740884f85990b0568409ebfde319cf6dfa2314b726d1ba35f4f38d85360bdabba28bb132bca6f352b2256a4323d98832b1a892481f03d67f4860055593e23d9e3c737a6d33bcfae8dd507952e4cc273a770195f2a90460b8809fc74b58576b94743a2d5c27a0518160a002c050251d0c68022a105ef73a861210c47e19f4fa7b089190474fe0264ae1b1329d357b68831e05166ae021b0c0000ac170100c247d6a92191fcad7503ecf3183a96daa2766dd4282f99f935aa20e2f016a2a100ff44f138367c53264323ec887e91f50edf1bbdb8d60f41789156575272979f2f02` -const eddsaKyber1024X448PrivateHex = `c58f0551d0c680160000002d092b06010401da470f01010740108117fa321a45e4be7b1c9bcfd4e0a93657caf7f8a639bcaeea98d55b01e554fe1c090308e81b653bbec8fd7b60ec708430dc48677c5aac2fee4a592e680000003679035f3f268ff8af45dadaf90781cc19373333c0c98e0ce35b703454482e6b31b5286dcb1bfbfe2060b896f77004885e692adc31ca41cd2e476f6c616e6720476f70686572202854657374204b657929203c6e6f2d7265706c7940676f6c616e672e636f6d3ec28d0513160a003f050251d0c68022a105ef73a861210c47e19f4fa7b089190474fe0264ae1b1329d357b68831e05166ae021b03021e05021901020b0703150a0802160002220100008bb800ff60a9c77b193429c8f87c2525ea1e9581778a92b819c59a7247c0e58749ab90310100ccf385320edc52bba95050add638eb7521895cfec0073e3b3abf89acc7800b03c7d2700551d0c68021000006589a9db5dba36ce1460ecea0d609bae03c7238ce1709f537e5ed0d5aa388cfac1dcf51a8bfa181a03f1505a4acd8dcd56a9741f19a1508629a6e427497b303e1003ce44280b3ba5e60892690f56446050ebe3a6641d9bc6d02806095965a8a5f248497759bac8f1596677c866c8b7ce15240571a65d7476f7027149e7a9384d8bc778c9a391c1c16e72adad537e2538669989e23017d8e43bbe08841b4793f03077fb3d6955c496a68b13767bb37897b1eeda40a3da386067a91c1b74fe34bc376eb9da1266e4aba49fa895b01bb77929b33a8a9973274c5f3b2cbbd75c90e363f5c9598217ccb7b397490b6842a1057bc9ab503a63deb89546414551a851a8fd28351f962193c441eb10af9e47cd85bbd9183a96dca9d8cd5afb67ac24b0729c144c8651c2f94dac04fe8376fe36ea53b4bea3b071e452713d83888747f3ef8345646b08a98098b5a4f3a55afcd8ba4bf08103c8bbcb605c5b0524edca160d520baa500b2b228b4435344237c1a4bd17255b197e5a15bd7e0a16891997349c24a689cab866715f45d1bc42ca33bc761ab7999547e25052cdf40baa2926bf2b57044b75078c4024834c04aa84f784b00d4659368b37600a1aa1e485fbc4625c61c9c62502dfb193976870aa1b02f771c3f347ac6f29852d301895e570526ba9907950c3ab3cf35e60c1b657e9cf861c73b05a4578707792252c48a13791feb295edee11c71b4348ea38a79a4abc6ccbb90caa9111881890c673b80a4a60302b6431a9a86761f9babc79a188352c3c2475f4e95b94cc81a32b3544df0c6b227b188901d168a739cb59347f34b3d87cd60eba3e5220b041a4719834ee236151e030f7d3847a9935bf1771e28396b09eb809352308bd7947a8c84ff988f49819abc5a3c31299beeb5063c055548ea316cd3a7516944512bb1306c6841d61e25b0a0b7f576e5dc2090b41821116c756ccd50411bd7e925f1a32000ed344cb9aeee161944178a05f48e9504a0773c10fba26de358c31d7ca254377ae614c979798378875312097636b3a9d9f99c7dfc1a9d1477a17a81c42b315b1a28d435669558851bfbcdcd746225883470403bdbea223f168044076ee094c946dc14987b93e942ce64371520e297aa195919332976a9a47857b1b86a20cfd69ddc98b043e1153b2027969238e03a71d0fa1b784761d6511a2fd28efc4a0c9d9a87fb076bdc9904ca1b3804d4c9bed46d9af37231fb2f427a5ed2741a6c6b8c5ce879be36a5cbb85e8d4098af216483748cdc7acd9fcc0c0083b59964399c9bb9ce2159732b826c2c4b6c1c352cc7832b086ede76cd5feb5626371f236b6da41a10a1b57145684a1b997b5a869853f5cff18a4f18122a3a6a503b41489c7a15a94329abfc8f86b90d3cf74fd5d7c2c4373166bc02f742479307b620b75263642c021ac1f2f3697b582cd770b821c1584e168598a2c87c9c34de97957f8a819dc2155fe492ac5c1baa0b3a07f8756d396117d4c259e8711695151f99af3f1b7980a4aaa952cce7f793f5e242c34b64ca036520a4609f11693e62780a848e863204f7e52c8d01147f3bade31cbc530038839176fcc19083211ed9b3347a4341877c5e50e60efc522d26411e35d25248240fe73a51935011d50543b9823e33181c7be498edc539ce65078425afa3abc80cd095e239b68639b285515597848c2fe22d4155928e454d4384789bfb79d1c0c1e79068d0b97d121a2129a3c9d97261ef5a1bace45328714998ec4d8e02a93130a7a144330964050399986982cfec0ba931f48b0cc5459d03160c946fc9a0ba54c6beef1a88ce625ae9154fda5c1939e1bf74d1c0bed2ca9a25bc354417e9360ba7e2a6bc512353891c60e958e088aadf261afddc3e417c446a8479b151619bb813b1a277ea472ffe3602948c01d4081575224d11a1963e05526eb4bd310692155376b7488ed7eab80c9870e0c36b4b63c94a6224d2546ca6121d9b8610aa56974b59a4d8f481bc562e16ec21fb85ab1df9b1cb9ac5758ba5aa300b93764ccea57abb40312cd4a009e02e062a1cfa0802b23b80dfe44f4a42553630af86baadc07b3c2082ad37b83a1a15c18cabce83f784e4e47d66778b906108a518b3b06bcd2c361a9809642db61083ec29d97a50318311017474a9a47fe321237d009f06d411a0491276b4515e09b3c2254333f41274089a1f65b634d23a4d54ae19690a3f3361f8ba290b4118f2a0a6e2268efcf80f0fc7d7e4d80e3ae496388f63008f74589b09936ef9effaedb0ec82357108989ffe1c090308240a414967c45c7a60736f6658bdcec8d8b6daf486d36adf6b00000cac545732032611197fdfc55fe4161894f1d137ea19249a90a00f2e48904a9110fa4e2c9f6f267632a6587ff139a030acb60e2409724a5e057d703c5320f91c84edf266f5686fc6dc10b99054acb043c667ebe4daa096a600dcc59dc30a0945d5e85316bf36b6ab36c7f8b900d79612dfe1711319cfddb0bcf72ac9a95f64d49688f8cc7f79341255bdda5e874f75f87b62dae84f9a622ffc65703a3866cce8fae1b4c2030a0f88fc8aae39dac86e54920ee0278a5dfaa1a6481597615a0f1f634bd4bcf951f48d097f0f0d61a48dbfa56cd8df21f5c0e3cb94fc289598abebac471010654bcca7871357f5f3ea14919003dbc394bf3564fd7baaedfd638aee88a1a5b702a4a55cbf24e39c3f2dc63bd5d9ac4436f1271d14f2a4617fd4bc2481b11a11406f77ec6ca1812bbae4aaef8416b7d31ad74b5056308464d1b1e5fba6669e52c0a034b0b48b592322b7efa32b53c974106896bf0a6dace7bfdf170ce10e67c796e16af3f29de88b471272e57cb72354894fd84999b7c5c333cf0661bd387da1afef9535d37a508ccae9ba44b10643a359ba71e9258675be8aa2428eceabeb34523ae56bad341cb9f959bcf900cf47321c695d505731d47fc97665fecc7a6f386f6bc71f587968cbc8a713ea9e31f268728bc46c07df0940bfe425a2c4129960d91d8c91a2fa86e582f9045f8ba062accb96ac52eeeff9dc55db7dc64b83a12daa92f684822a7b3cda4938885723c226e97e38bc703c0a6f6abb57218d5853a44b99d0ffe9cfe6a25c2612f4113a5d3595c96d702030e5a7da3a0293a509d2e238e077220710d3d6b216f458f086091acdb0d0656d6b106595ddc3500cf943c766922d3b2a6fbbbd4a6baea3ef901da0fa69b414a218168b5e80d41556f9402df63dae83fad8e78f7689ded6fcdccd653a0d54397e27be956cd9120573f65fd2da9bdcfce488946ce338f0532a536c67973aab37f2526ce12aba25dd078fda2f9f297fce7135a43f69d079c240c3663e2b56309316243bf780d7bfec64593e9771fae5bc47a3bbde3f48522bcff8a5e49aa2285a6ead620321bd5d664167b2872072770d75e075dcee43b2eb607a05bdc0ced01ea9a75f76470f9d0eab38aa320b947a379e31263e055f513364aeb845c54e8c06c84372eb3fddc7f8d84063643920ef439ee0ae9c5fc436222d22bab9a0c9d69f23904f3ecc33f973266c1860f709500a281a39720e4d80c0b15d4793c9d5ca7060e619dc57e7039f56f102e0e6793ec815963eb2f70813316d990bde532f06ce53f90e233465f66d6c856c3f1de185931156daa8f2217cde1a675899939ac865f6fc341ffe582fd18034d7931e801908b24fecd02b8ce73566e3a6af6513dd22e44c7bedea145521aa1dbd275f7e1c07b2b294f804403f1c21cd20635441eece8b173cc7a9d765e352431815bc2a7edabef14238d6e2af3314b1c3ec835b749e701e9973943194f678232a0d277b2382657a44da152c1051fc60e22844e15b8c89baa64338bfaba7e4b9c1b0320ab3ab0d5a87832166f11315ed4e75b1a9287be14bdf532fed9cbc85f42d5d64434d3b82127c393236d1b26e756829ca8e0f595d1271f27bfc1c313b36ead0ca4e2c2e755c8dc66fa1e271aabdf1fa234f3437ff8bd96d46469561710134c21feb8787d40068a30ffe5d5378b4ea1e0dafa25d446a7758a1dd47c21515735b3c352322dad6468680ea8535f1ab8a56bd4ac0d268696d750e4e6ff73b48f64bfd4ecc3d71c349af37815dc755ea8a555d3b4a57b639c3564bce3a6e9ae1d878d0acc8aeb3a9789a327c4e5c4710231adcb57303a3bbe606476dbe4d98f8efa1edc829b4b8ff4a3c0b187234c95e7866977df89c0dcef997a3cad4c3bbe7cb52ff7d5cc286c0e56817052384fbe9253e49fa12d2ea2ae4af711b0783060410d40675390c862a2808a9b9d1120461fa66db9168ceb3d773d8db1d57f713629ec694a4f2a693d13942ceea2c33a9b5893a60bb1f55f925fe0d11352f59b3fbe5311ef0a11a469b08e46ff3fbdb66b11cccd8916789ed4554548e42ad08ce22a169e5ec8c0dff735ff293b77846a5c6b20037debfdb8d63883e553dcda9b4fb9b669c63a552a81ec544a3dcb23481842f458d3f3b42af836d38ca25a57e758994e8ae9b9bea4231d37eec0633d5e2059619cf83bf8ea6984805e8462a3f01aa8fc97f5c531c5e9a227ba7004dc471dba74ad00eb55b317d769decc27030006e111c6f81661fad9f85514b939c16a3cbfad2de84870485bdff569b166d2c6fe094b6adcce78a376cfb664b0328b1f75fc933a53b982031ce902ca8a7e7712f75f0135fd372ad61ff5307ad9d370e9fe705c7ed68dce54e9ac4a81cfd37da0d3fa702f22a419dd8b384008114c27f858d60e1576e19e506b673febd43b7493d90df434fbaa2ff4142b1a19ccb0d2fe9e78751da894bf73d607543e78ec5f77a90b8abdbcc13a477c5bdc10d921f33f712a1c83f2d5509c8e9244414a6ad2f5766bbfcaf9e3e4fa7c16aafa554cbb5a84fc6121a0c772ff409933ac94f3f3e1279dbf1d0025000ee4c3299222bb4e28f5ec2345506ce13bd4b2eea282b591ad0ab80f2634f407dd7d84691c4df073b07ed2e80f1757bfc94b92510139f68ed5c4f82320b6f51c6e14b83ade75cd5bfadd685f81c8e0a54ea25a806c01461b855fa6e8abef1daa2c815218d62c0991a65f653dddc5504a62b80eba8f1f1e5db06268b8d4d47e6df7636ffea1d4f687c512439c7ef0734bd6268a8e79e86fc23c78355dc06aea22914e29d9cf0cedfd4a2ed10cc200f040333897f6456248dac7087d96bef2e1e379baac94e6957e20a389d3da01709044a98b75992431e1da6c5a7b5424e7bb4188fac05af5d38557e7a55b2f395ce66d4db7851820cfba7a4d0ace8edcff1c2d6dbd483420a6061ab7100c7c7d762bdd33d104aca5613b06c7d26394537e4ab68530e297434071227e839f2d81a710098e0b631e1c1ef872f6c17a5a6e16a20469c3fa640cfca0708e770f79a0657a901d591d2a0853729a2f7bd75e44bda844f4a881e13ee6c1ae234d82936a845bffc2ddd0ddd748b0d35357a216b9ac819ec175b55a35ed5e502efa83a40a3c915f1f2fc5905387d87f0090aac1cd6166383b94a2433146facd9b93863e6108351c5d50bfa67be670d6f87da9d22c929f1114ad08c41d1cb028304e1516608789593c05796e5e5aa3d02e6a2f0fade7b6523de262f96c4a1af5413328d7bb513d9d728762ed544a77341aeb64abeeb55a8e765a53977ed251650c94aac54ffa11d7348869103a0dcb4984479ef50684037fde493ead182ae6584dfafd9263669d897ea6cf0055910fc3eeb2f013ebfa66f72b228a1be5c750f47f5de06d65d4bfcc7fa4bab8feb2b1fc9ca8fef2a62c4b89c4feb302f171355bff81a37fc509e3b1c05ad2464819cb5ec50b17e96ef3d4f4684aaa8cc6f41ae860b346a00d5c863e3c35cc0e9a50843c2938860159948daca3d8379a15e866727d72614ab6b64ce7e9451ac47feb7fa11823b49cdd6768361e3b16334566898005edb09d3818d7b599887d72658facc9bb504695499c1696b455cf41b3ef96e334d8c1bd972c2fbbc88854d15b8e1566350ef3cbb33d1fe9c294e5ac4940dfc2f707b210bb1943715d12ea87b4c94abf10d95048aaf543bf296829d930ff6fb4b99a4d9a3634de8a065a3113b5a78d7f5f9e325d5f7537ae7e5715df3703914023ae127e7a46ae428e5b0cc18844db5d7df8322a3d777955acd5d1aca0e78f8165f1917b0e6169934d68ada1c7adfdf8160f5814a9086dd20bd3d3ec7b1ac7c62f34d600ee2b838f58edd88c5669270cc11cd8b9cf52f265cc1c01f6c5b193bad669504faa6ec5564bd9c9bf928371ec113bd5795593eec07531bd69df13cc618b6ec9effb3912b9ad0b18bd3a2275144c9a9f442f59ff2b49f57933b30cf43f5ccd7c68b5384ce2f29a3ab2436dffd581d8a523857509e6be12ca509d649d8f11385d04298495f03bcc70cac327aeaf46274c2c499205fb285d5cc63ff16cc6f6bb198862d9f188a0d85c490014e462d880ab3ca5fc2b9ad5f73ac78150d561b88b10a296fbde1598e4e0f978c3dbcd71e454c481a70851bf43f22a6b827bc4fb31a80763f7f31831e5409327185c087b10ad861ad279d40eefbcc2d6efcbe4b2ff29bc4438afe45ffaff461a98649154c906ed655019d17166ee8a8b87b0be8a17f699213989748a732f70f111a02df32d0e4e4f08cc56baa96d4b5b91278794a2c02907847a39fa9338f35a23700c53af6a2c75fdb5b899ba892624099161e5b07029f11ded9619a6ffe6a8da350e656d7b9aba08accb26ed599e43793fbfcaa946f6c6d42bae92eb371a6a7e5d159e0bde881ea91f0d8d11205ac519ad11487775230a4b37d42755b528c1d338bef5f06a8be3ccd08bd2a42e9ff28f7a892378300b1ad270e25ff4ae61fefc3af49eaf8ad9f6101a722bff5dcddeef8b61818ce067a8cb8242bddf9bf02b204f08b1f7f9aae5a025e0dfb01f9b3dc9cc27a0518160a002c050251d0c68022a105ef73a861210c47e19f4fa7b089190474fe0264ae1b1329d357b68831e05166ae021b0c000035630100b2427e9422f31a95ab3fb094dd13a1a70fc79c2a92d1c41ac7ae3f66cbdac5e30100a8bdfb8e2d8f935ee9df078632fe936ba914a61acfd1b8617fdcc3352e229b04` -const eddsaKyber768P384PrivateHex = `c58f0551d0c680160000002d092b06010401da470f01010740108117fa321a45e4be7b1c9bcfd4e0a93657caf7f8a639bcaeea98d55b01e554fe1c0903088f298799eb6e039b60f884adc72ec182413b7594d8b4b0e20200000036322fa1566a816066ed47fdd57298593cac201d2da2a4edd5f07299093c112be2d0f673cca5b4e83d3c868ebc6fa2a29457b3a35da56ccd2e476f6c616e6720476f70686572202854657374204b657929203c6e6f2d7265706c7940676f6c616e672e636f6d3ec28d0513160a003f050251d0c68022a105ef73a861210c47e19f4fa7b089190474fe0264ae1b1329d357b68831e05166ae021b03021e05021901020b0703150a0802160002220100008bb800ff60a9c77b193429c8f87c2525ea1e9581778a92b819c59a7247c0e58749ab90310100ccf385320edc52bba95050add638eb7521895cfec0073e3b3abf89acc7800b03c7ce110551d0c680220000050104b09bd714e8cf1f527cb1c1d22df043f7164ac3a4ee5ad1a9463c2d72c693ca48a2a0027181df84a5e62eef8632d8a684771e5eaf0225b10cf4e500a42f11a07321e5c649c3505953309054f9869efa72c3f53eb1263884f500bf1c7aeac62c42fe9a332755bd495b1c91d1ceeda47dcc0c370d34abc73a21522061b54684209004845820d0d5adcdd129eb7c98c0e94df7a4cb19b9716782abc711793d425bc96bc4d0ab4412f56ea2388954043c3d538d51aac00dd16e3a328c9d053723ea909a5533f6a2c46e64acd5600914d00819e77876e40744f623bd6888753807ea4a3e0d2337f285bf89f2287e0c74276366b48bbdf676b0738428c249a8cdf6498de11fbff41b68f25873163e0ccc6f5002bf08a618d8e8c2bfa58975532a09328e1b8b0951929d244c6871e23a97c332191043c930166dd7a65ed906d2464cc3b140bd69bcaf950affd798e2c23bb6062c692378be6b6c5d8981539528d256b7fbf2a5104a8a1b5424d7703374097f66600749b46742905c72ecb68d3b6dde0ba58f6157a0552f3c98c619564d86d7862436a396d888200b11b7fa1959566abe69221bd102822cb2f114c1ae29c5dcdb469249c00f36cefcc0afbfcc04fec7580a8995328c7c1f5076316b5e75362fef9b4990054dbdd490f3c19601f1880f2a24f8560cdeb48012e8cce8927e6c25088909a19f9c65f2b450c4e159b5f8207f305950555cafac6f37e48aeeb47ceb59ab6a60c87a29875b623080996c95a295576a5b1439bdfda9c4293a927fb95a45240646b58140b856a2c053227723d0197b33ecc0983a5f3ba084d7414161ab445d681321d762f215ac0d27bc0166beddf05094b6b3a91c000a446016107a8cc08015b5b7ac422067505b2c3842e4a777e0d77bd746bbd5267f9ae217e5f4549a635196194d72f5467c6c5b522a21a9524a456abd7ab52be84b79e6b3ccf5123983a424961852c32411df898aae7c09eff1667db2232c8559f74305b1e446a4b97c0979719087513eecced67b2d53956cce5b0785136c9fb528ebb3241f727d95271589a391b1660362785de4d5a420d92fadb1a48de7b072839f73744db7b183af5567383b77639961c17a1a98a8367bd48ccbe150ae718f6932084c996cf053c55e5451b9449f82451862a55627389d92ba84fc780b8779668fa45a545893e681cb2b1398689410e5633633f469662c705d0063803ab48b6310d06914058c66f8d2524a44536f2041a307392285cf18b78f7731772b80066a82ab16f937026a3112dcb73ff40177f63a7b7cac6333ca21d47f6988b981b203f9d275ec5b1d94c96f61099733e793109cceb69c0f172b03817aaa3e96c7c4088b7b275691983b3e0192d243acfc329338264ac7355c4352a3e35348ea272be68724e0ecb2d7593431449edac12e38c2a3f40c40f630876f607a27f296264a2afd4127d1b07120517b5fd2518049cdd398a941309ac147bba5c44eb4447df46b77c96b829657044cda9ad1f81fa7b630e8a9410bf1a2190c2118c7628c2089c1021d02491bee3b2483911734a5ca632806ffc74b92a1660f95bfac9cc94a751800e6c85ca2b0ca9466f0894282f302e1d528ce939476b86fe0c78b89329643d550d3bc59747b26fd20b09ae6247c9890e1536a5d6328c9fa15b04957cdd84f04f78686812465b3bce50b5f19ea6199715a11d5a51b8095ed0879cf013c156acef11a267ea56041f5aa09bc4b72482831248d3ff2af352c15826e11f7d93b7217fbffad65d4d7b0bb71935ed93b303f886b444a99be0c5e9ffe1c090308c34ef99776712da260bfcd0d43f6780a814142d2184e9bb184000009a49750fc5db8a2588088aa7cd4f1a28ddc6eb92f9039dd5902d06f9dbed033b540d4f892c187b8d9ed8871c32fcc70b4fe6323d37619cdac601bd65092c78eb6626c212e7507fef5d077b09136a4fa2cb29bc6655096212323ff613db572f903f163d1cb437b7fdb07dd749c37a7403a455aeb02bf5aeec90b52642af3b47e1517931748462ef89ffde00e399665502258110b2b4781e801609c3b261ec5cc5a3b532891eee1d7e7dfb1ccfb884496ad1aa27fd4ddbcde79ab3748ea9e84ccb4bd14773b67b2de7f0fd206878a54cbb91a16db6ba79a09bd2fea66903b52248f54db298f7fded95bcbd75642be43353b01cc5539a87f506ed2b9255622d89bc0f5fb4df436cbd43812739fc44489da9daac32db518ae87be0ddd6636f0c137e10cda9421502630ada5cd8fe8212b1388ced14836947877e8f78ddc8f391c932269ccae9469c994a8273343347462919458b719c564bcc80db64321bd2c341ed85e6117c55c06deb2caaaccf4731bbe595340172d9dab1b43d3de6e469b912eb645ff80143802d57b57f844ecc00ab606ccbbaa3d8c1636651c8e6f276af89aefc51e4804c69ebeec71f08568078f407db6faa7e01ea8bfda69144f32d9a97d391bdfe551a3695f35d42dc27f963f66e0bc1a1f4cfa4768411ae7c78d52258ff24ee8302b9eb85d627fe07250f3b86f7aefc6fee917445dc519bf072df4391f9341d8634300de6250674cfdcbcf65498fbc9b2e03c9448bb33d7fd4bcce8ba8d83c7bd269fdefdaeab49a65df21e4a6513c979469896726e58584145e1d2da9112213d7bd0634c933714fa546db76535c71c0a6d7b961ddfbead3784abea6b19bb328be5df3a5f3de2fb125a20ae4ee70ee47dd631a05a87c9fbd744b13972c62ebde1ba84889fdea434296fd0aac3ca13c9468408ac9a6f5b9ecad0136f71180cc8aeae4ec8564c2cd6c13db063cb61a54e13d4c447e745d564a389a29cf93a3079fdbd64cfc971aaa86fda8bb10867f7fddd47e637245184ef9c579ad4e2d6cc8866a6ca092b5f36586263f45d01b95ff2c43f542a48f5f135faeeceea18129d231da6949480feb1e4d73254d7231d1e8db1270a65afe12970fb1ba2e50b6109022a01901c3737b93d997809ccb338540d3d6f7084fdb9d9e2c5550c9497322cb7d06aed0f0ee942ff44f75c1c925b1f87d24a7df9cf6a4920712e66bdc8ae5f9f91136f749ae4465b51f40323fd2b82945930308562122ddc72fc978b6b8736e663d4399bc237cf7654555bc81eee7795609d64b84b2b1ef4cdb29780dc869a9b213839ca1bb01378d77a5f7b2a1e9210e88feb3c6a3e9d0ccff317e2c687f308172d243fcb7c249acf7de0de3839133a32217235f771ed57ce00ea507424025ef2bb74e76c4165612fcf3625a00585c0bdca273567b14cf362fcec4847e892e0f40df1132a0a33363bcb145b9bcaba4c5cf08af561656481b43994c611dfc68274f55f55eb0bf686a151d6e582aaf71d7e21d50f280a7f3ceb0acbbbd3df7c112c6970fdd8b9970bf0884bc741ba40735a58abff2d4aed78c44c9bbbb7a82622087dc8d8d67e8d9d1b495aa48663656fd682678071317d4ff805cda95d2d63e1fd1b894e03346b193e8dcdded6af61865cba80c75bf2d550516b2b3bce67f04085e324abe560d6c6e4c81b4296a53b87da9cabe770dc3b5107ece6c35a42bbd86d0756c2839fc3f7bbfb709d7e027f8ff09242fd0e316440a5bed0e76ecf064ef1c90e6895f362b3d7e3371bd9f4ff9afdd18450581e14ec537944f94d09f5b594f1d337231f8eacb1ca73f80afc434ded48a625b0af7176e7d7a5e9de95755e28fde85237068d562954c4f4b64d718add1768fd20fc4f6464a7a96c2bc632c180b064ba56b50c740f3dd5e2ea347af1130e926e983ad1ec56b578589a27b30488d41248a540718c2f641011907915a8b332dc6aeaccef2a0c6c58d9eb50db61d52e190a250c4d631d6613c7816cd1f43fa3867c9640fd824da866f383e4941522c121d94b2dc76432ed587c9c9d08b04cf3611a93a01bfd3b5537a73c13e3847ed148924243f19515652ee77191017583bb88c4f4d98b426aec4e96aa119ff1d73f98641eb9847ad5987412d8fba082772efcdf44aecb53c731d767fe2f2033aec32fa16d90f00d9f63d80977def686220c057e7ea9670df57c62445ccc769d0f51f2bff206f47846b4483ce8322b23a1aa1e6cdd8a618044a096172d1d7332e40f1a036aaf3af9330772ac39ee0e0398dc5d03c075ed1a387661a17214fbf1d4598815abbb4fd23b81df1149be10fecedefaaff4ceb28472cc947e0f3d75bc9fef976069d40f15ee0a104410954b556966f99810f9b5ca46f6b763fac853efbfe42c748215e24356b91a3e99e232422681673ad0f5cccb6832af7d57eb05be179d029dc2339fe4568af15d535d6e049ddc84ec58590d6218e37af69fce646343647570ab30631499758abd5798105e3b151156ca3473e09cd8469b664dae0a125080865bc3ccf276375d3dc741ad49ef41cf1aa6c2adf9ec837242f72a3aea50de60761c0ee1a4e5945d26913ed8a8f1bcb03e99b175760c7e5177d76ac2510f3f22f95ebfe9ba0fcfd97b0dfadd6be41ed540bb48b46cb1a854116ec4cacb8d94b67fb468d4057dd15c86c4c0fcb50c7b57538bc1f94190f6f1b6c3e2438c528e77bab83a8a95484e5cb194da790289be113498a9366921029d0fa759edd6be73b3374fc69509765df77aba18c574c58773497c2305e7f6ca81ab3db6116ee4ef1516093df036c22fc99c7b25988c5a63646a59972cb7070f412ef89759b886e25e49d130111d29a9ae6c9d30e2d6adc9d619ebeec004e2c1896b3c5752255c36e0fa552a1c79f50702553777fe6c309ac3b166dd33597cd0b905e46814669bef9bf459e1adf8c32b1cfe4e7d15c6a8afb3db927bd162a2e7aa52319fcbc6c39c9833839ed5e4717b8db51935bb1ff37e479eaf1cc8ed7148f0f5bc0cea7e16aa38c03d64e74be1609c7c0ae996819164c3f29770e0a55ff12ff20e83d71ab0a0e1363b39e473a749fba5d8f3f5fc5042a8fca081a5336a02c2cbbef591306bd174ec2359abbf26d81e16b5c365998138a7e1b1db124834e04f27a3f5dbc97051e54b3976726c826d6d6fe914674176243f3d09ceac84bdcb042a9cad05c13c39cb0d62a6228d60f050b9b237a5c1dad18a4723e45b03cf634052a942add1fa156408d0e64f06d52e85ace0ddb64e289ee3696834d144aadcdfb3ff69ed30cc25b328b6f7cabeaf0b052a32e17b3fddf06e7a4b66efb38f1425f2322dee96643d7b7f957b3b93525b90444e584094e8849b70ebc39a7b8a9798d032a69e499526e037b9eb346ece96cff1b11041991d6b7f59cafce2dd3b0c1684ae80cc3dc0ecfd9db0dfe65fe5f6578ae10305b1576baead11d96709ab32ca5dca865d3442f4ff0c27a0518160a002c050251d0c68022a105ef73a861210c47e19f4fa7b089190474fe0264ae1b1329d357b68831e05166ae021b0c0000dedc0100cfd23592e73c074cb635c570926b9211ced48e9ac43e643e1823afb2d2f4f91c0100a3c59dd1adde63d2bd804f088b917c5676501672e0c504b3c37b4c252b77f30f` -const eddsaKyber1024P521PrivateHex = `c58f0551d0c680160000002d092b06010401da470f01010740108117fa321a45e4be7b1c9bcfd4e0a93657caf7f8a639bcaeea98d55b01e554fe1c0903080b362f583816dac860a79fa3688407dc0c6c3dbefb27c2324200000036188959831edeee0efa94a90306ddadc13c4fcea687b483a0fa2a331e93e022ed06a2b2b1493a50699a0ccf31d86a2a9977eb39fe35d0cd2e476f6c616e6720476f70686572202854657374204b657929203c6e6f2d7265706c7940676f6c616e672e636f6d3ec28d0513160a003f050251d0c68022a105ef73a861210c47e19f4fa7b089190474fe0264ae1b1329d357b68831e05166ae021b03021e05021901020b0703150a0802160002220100008bb800ff60a9c77b193429c8f87c2525ea1e9581778a92b819c59a7247c0e58749ab90310100ccf385320edc52bba95050add638eb7521895cfec0073e3b3abf89acc7800b03c7d2c70551d0c68023000006a50400ce524887883260d0015f183f68b61bcc3bdd207e5d552f3d0c8213976b2ec89935846c25ebf5897bbb30d670ba2db044beab7e25ddbc991073a17e53aa9034213800b09e1a5fedc9587652e2c072696da8c01df58a3f722d55643de1b04b0bef21a56e57a9938e21e9047adccc9f3ae6238ea6fb05a6bf82c79a26b11734314e5b66a67bc14f4b9398ccd348e1362a00c86e7021520f039434058cd32083042287112b33b3a81426a6c49a8876eed93a5ac3af76965abcc6b8f6c709a7771c45cc483ed22f7ed27bea0867e40864d12a671b4a3ea38237c2622703f520fda78059222a1fa765d6d4b6b98869ee59c381614b2f49c0f4eb1784e5b21df9025a757ac3d020894aa969136c7eacac17d8148341cc8e14612184b5d001810778c057528f3dcbcb21214242716b7765173bdb154e355c68448fafd3b83e3541b49632c17c3171e44e5e0465f1a2167dc92ad0a527b43b7776fbcc94f6263995877c837092996b55a51f47671db1657e710a3b2d430488d2373fea25ab1885b1327664358e20199902f0a4316973a039913a4a5495413c49cc723fa02534aa74ca7b6a0a49417442bd0b2a6a1289caff120bb1f2699978b5b9778452ec7456cb6b7556bd53897bd925708ee79eaef400ef4c7d71304ef2ba4af69160e79b6106e1436cd95e5b720dbca17c08eaca0c94acf663ccf6d65864282b3d3b56c502a7f74765509780a049796c2082950a65b0ba1f6f6abc06d4c5d7d8abeb78b65da6986989466d7478bf3b9edf14b01b17afd6203a220408d214b82ad64fe8ec5fdf3273ba37c6c5f298016c36cfa579ece203df608e0f74305b7845db639fa854bb2c4693de848372c45c647596dd849f55a1a540a0a2c25a032a194b1aa0547cb08132f93d075b86a3b716044a40edd2555e0087407487471b2c2549bc87d246ff04013b28bffbe79119e2394a666a776c91ceecab2de03e67283aebcb6f08d3cbe4e0976da472a6223f40897e6340caa65826f3487208b58c641355a7c85509c8c7dcf736fcb5ace6009053b783fab6687c492fb332623bb625d8ec52d026313426128a71020c4720929a678562cc24d4b9817664ce2424d90c808d86901dbb2267a17b13c14d218737a5da706818690974c81b861021a45b5ad944634b0d0c5b35a4222f52085d39174835367f38388821c04a57821643e37df57b174e385cafcb296374015eeb25f8f207bc900d47c2580a7565d7bba5cdcac8bc2578e6367f00d235d55aa39d140b6e872903f937b2465bdab63b4c79a8da2a169490590dc22dca9a92fb746fb03b99fa345b1126250a8a060b18a52e2cc15ed48994f684a2a1197fab5378940d2d747e01e6c397824c50341245bc202bc1bafa1405e9c955fb818d00383289c66240480bde24bd827619b261541abb0f50408202b3378e32c1b8429790c91294e1957af1526e129732881103548dddc19b0117ad6604a2d324576410cbbb279902b9ad8f38c5d0f96231565729448e6541c14d76a9d71903cc97851b896fa9e72d7303c6bfc3ca55e6134ee38969e60847c08fdd7c717cc80f72874c83c588ebeb0dfe82ccb687431da5c35e633b2336b55e2b73b5169d27d8384267763fb02e99c2c2bf849d1fd7bd83f53c93647f135881f4336ae160c62820671d587cafd94aa7249b1bc58d5c09bdbf533ff30817d3b36aa8461707211a04132ff257c9eea79ad1e8b40b8ca649872283f216ff600a02933ebfc792b096acd9f0070865c7a02bad74a71737a72674849d04b1747c4203d8b02f64d3ca4686b039484ef4798225fa38247b03ac995dfbb36270e294426ba5d3f75f83dcb6238b3d3097ca116385c2da282a515929eb49ba55c0d5fac8908ab0ccf9b381e238fdcbb01e8c00e4a0be8731b3158ba576c378b486b2e84b3bb804259e5486fe64ce0889bf90290f86911d566b146b3528be9ba7ea5acf0f8915517b8468cbb917a81f5a57918ab8370213995ca7c283a8186782aeb17247cfb48c2a6bc1b6941a14683426692dd7e3853ea7a588765ca6f05b9b924b39735971348113274d3614bac5640b89590b118b920fac47fb16b0b5c29ba1274e17d589b104983f1b0490e95125d746c92b5e3b0a36b8f096970ab50d72af2e7c9b52d77a49a03bb231384564a0fdd53c16f11840e16301e9bcafe4a09419b88432417dc224e0bbbfaf840eec5b55774a9b279157855a929f0a6cdc083eac8300e31916d36985e61ca4fc96808a9126a12b582f0567f04772a3584dcc00cabff53dc2b3a57990a9dd6b31bb9b8efcca82189900d99a09cca00ca744b435740acf997b2584cf43eace0971c399660134810677a6091ba2a7d02c11f646c2355984bdbdd88f1496f32cd462516124c1fe1c09030839858e0a34fc7d126062ff6e7e93b93118fecb3e56d4649a4e00000cb67a611ea436a71acf56dd7c34d61bcb3c40bbff8d839a33d28befa461fa13b68b0924451d04f945f611d586a0f47e98a7ebd32f631726564d6d1a8e0dde6adfda1cd1510a85befd79d691cead929230e99ba89e9f7dd94e4855336d22b1953dda8099262223862c68a76ca142f0bf18dea765be497ed5889a18a8f3651a1cb739fc9fdc7832e635e62b0dadad89af8794ee00b30fa41d6d2873e06226bd4eafefa057921499291e54ae73e9e172909d6fbf0ecf341dfbe1499b29eede43e4e6594b32cc31b8b2867ef9f753d81b7ec816ad4017888efe5650cd8688c4d38f63b648fc88825f15ecf57d1f5a8153e4945939007eae5d4c2ab8d4351b03fd88f7b21360e6cfa7f8a6c3ad0ec9481a892f9e78a7fa7cbe507d0f19300e34349bdb526021af06c9659357f665f8226b7c3b2271ec12f9b3a1f5055cb1dd7c3b63454c6952a847a77d1d2afc44ffc9e34a8f09e34b704e2f74c43fd4c787d3e6e8f8de8bd7dffc305424a0345c627964e0b7cfaf8066d01a05ab97c2af50611ffb6a09634997537f691dec8b90d086e4209a352ed6ddae4c3dcb773e81a3d3c71f2c432d2124257596e11684334f48b27d5c367a6b485a8bc2c3f0fae7af9e7e12990148a5ca7d07fa6efc250fcf1fc4dd18fb25ca9cf5c590508559b4599e063bd52edfdf9ec38dabdf8cab1876bac92918e0b87be3e6d55c9e295c15f8c0d01b4a0d76542767fff6fd24a87ab5635a40f72a42784e8eb14cca767af42f6c088bed54766cf2994f11b9b236026a4374bef56a024416e3de7a364b398c7be5ff97e56ff80c369e6ddacb04e7609e4e1425308f559213fc08a88a63d2572349b17865eb42e64c22b782bf173013ab4314a715414df57070fc48ff33b2ab7441dd0dcbb94c74769c76ff91f91c966b7b697681a0e637f524f0cb2a16e10691ca28174afc6b6cf6121647c89470ca781d772a449e9fcdeb0994f0db144a0b03b19d394c0be08d1d02d0d8fbdbfb685f54d51e570da1278eb4f361efd58d44cd748aa7ac0936c0d6b9870cef4ee5028ac51bcab78330eb1892fae212bcd8291d2f6182bb202493d8f9288c577d06769658e5d39bb00be8e4c7faad0881de684f9ed25f2e222d5083d197f042f8d5726ba3db9fe9e946ae6ca68ef1321e8fc278396d03e23854705d7973669dfe39dbdb3c4e2f01fb88bffe186762c9e287b94c582f224229799fd931536751cee04bb629be9070ce25189c82580b6d5acccd9795f1999013023f3f619952349ba89157b9fcf3f56f36def952ea2b7995d715014d0186724b6778dcd8dc5e1abb31d6d8f28915b0ff7d4621800099b4b24ab245d9138c746ba006dc31b4d36ee372ad76c1d9197a61e289dd9a0868883d15675cf900add35f9aedc8f37f0db9329240d9c5ee41882ce4ec7c90611b6244bb872f5e6cf6034d8ffb8e34444ac3a6a3186f812f84fef869eecae8dc6f898f1d4d6cccb09011edb37b92f0ae6141466f8bb375b9ede366924683187af9aaecaddd19f4841023978e8911df92426d9a9a938d8c22811748c8b98784fa9bf0a1e4e58e5edf00f54a022d6526ec25e6107ada3208ef11bb7d080931ac041b322d835140e37dfd24c15e33ac58ff169b534fd6c4f996c6aec6f4876abb4ffcd72748e939aacc1f217a76beced6d41f60f1841a8bc6628e85e6de4229c090e91abbd2afb633e0e7ff4fee40ece12ec8ecfd5f4b6f6815183b96029c5cfad8d64d409cd050e58a927f47ae1d8bf5fc81cdb13ffd330f9ba9cfdf2d9f60114885535f30bc14e1282ff37459695d0facac3d94180f3c53d579d309a79baa6edf80d1ff6b255b6104e9ed1503d604868dd802279af00557d238745a9226b9d262fc226c8780abb397f509abfd6cb5f25f60f4f72816a0cbac2ec403c71df373b4f0396eb199b2bf48effd648da9bcf8236f8681501d86d9e377b31308fc646032d1470589fd9219eac705ae9935bed851b23f558182d05b9e75f9a55f33b43427e98cb8708e7505b6d3092f30400636e57b911447b13d0310119c750ae08c3297154c2192c58025557cdc1e81357742d6c3d193aece652eadf8ed2ec892e6cd9e8766707e040ff47e7cef0f79c2dfde794af39caee880a36953e4612837b11a5b600bc7d3aaef8ca3b581e390c7b4eaa27f40fd6a5c55e751ed49ef84f9a36d0225953dcddfaa9b8681790ff04df246943f293252370583c588ba69ee01c0047c28a1e0befd49fa45abeeed56693167a5e23cc797a18e7abcc84cb563bc068c77f99c19377fe3a8579cf41e1e3883ce9d1c3422415f13c7c6e57fa28ce0faf15865b47b188f8e152471281089c87a03d3bfd4c0de273c91e0fc50d03a2e017cf3de4c537c575e277b743fcd6f1ad5ffeaae711e3790c8b4d4517ff1008e4e669eb48ca7bf1fab9807426d9a3a4f4f916033abb17968c4337aceeea553e27f0ae84f21f0600010dc82104fc139f4ad911d4d1b889a7f0723a1b064c8a7758128d2b12b2faa66b84d652f6ce0c4c0a8d4e7ea229269256b91ed40dc1df6c325757eefd5482a5920c6d6fdc51ca122834971664c57d928a50335482012983af0dc2fc243810a53ddcb25d9494bc4b50ca290fa882c6000bf3f272a13e7f9955599c3434c96145bf4d0b0611518904e36f1f5a7c610ce9535b922d44e081604c418183c39c3054e7add1e485158613446b1bbbaec69e52cf7f52d2c51b8d19d5529fcaea86df5e7195c98543aa8644c67cbdc1e4583f7364ccb9d59b03fc42a39446eba3ba2392d641c0f0d646fdd8c2ff47f998f9e8130d49361535720ed9ce2a426c6af8a2661a098cd9f0b3c9e16c62cf6d20331ff36379a5f57bf23788c4c6a86dbd21bd714699b54ef15469152a8f399be70f8a7e82db6edaa4e58ee92ae63b31b83e5373db695a085e5e5a745ecb68022fb342dad57a8f231fda6d9ae4bc6bea89001090eb2af444eb0a44dd6492253e33d1624fd70b36dbeeb7da5924c99868048dce47edbb7be358289f818d507c28a799db9326b2521f9bca25015e64d5b3781ac28329cafefdd5c2c8531c9211b98c55f7730ba6929ea1ba6265c3e5920eae81e19362ef403051718637f46cbf46971b6801bc41e2e5cb50351888aa964fd149bc21df6f35ae9493a1b1ff13094eaa50f209e56094af54b301df537afe9ea251a132d57f51ab8c6a79e84d811d63712059bb1bfd48937d33fd47b564ed767895d81bed86afdf5272e2f4f1d19e4da895a8ceaa7c0abc1f596d0af376c40764056b0a829dc605c4b173d7852ce335e026dc34e72e67ec5deff102d141bed9bb32bc0c91e5619806acd2d67741aa2db9624fc095cc86caff37fb67fcf993b53b6e5d18ea40a869a2b5f9a0e0e0f0029472c5c01c742eb0ad0dbf0921f84b34e18ebb1efe4fca570c9f8b62c6bbbb1cf6e22c11638b902b391dd5cbe6f3887134fad40f618bab46967a597f30dbdd07d3b72be1c8fb698759f1f0ad6ad1c09d834dd0ebb6cd077af5cc01bf27f71a35e52b4df3e037cff21826b9219a0728462440e21cbc902ae1eec677a99fdc7f7f96ccfdddf10ff5cc738ab62fdfce13565b53e826b4fc271822f9af19cd9d91689602d30ffdf590205dce21f2c2b50bfac798221b9bf86daef6fd49991597f4a795168ebf35887a6fe119c49201829356ed08b564c374ca38c607625dd5ca29643a955c3001da8f7a42d7fdec8c945dc3dce7e323416a489bd99a8d24e43129c79795c448386eb0fb7b817ad7b3a61e4d1a28322232dcbcfea412af6d4e38d159afc09faa96f12973908b8bbf4fa0f3cb9773d2c608f08e0b779d5554055ff4b016e32a2a084896f18e724c12cdbea427806bb6fe5ce1810d005b1348fdfc843a075cf8742687b21e2e98b81d81ee37b5156a0181a70e7fc403b9fe04b17aa0fed8207f99b79ff008630df3cb6cca308e43551960057dd69f8bd80762bc04e0a62d53bd303ac5bcbc1cdf7bdfdd596acaab6b2466fd4c05783ec40d2d9682513b2b0d6d820fbb0e295bea2ee3a14f6a3efc2233402b3230176ab3e23f511ba2825ac6524aeb629ee9c291f1db166fd6758bb97963e3d8e1cecedabb7b8aaa07d6f52917dd003938cbd0cf680c1f145e72f3881b2a8a757e72d4ae7b5a0ada4a079ba0746bf453005b46c1daa08b493134a81997b2ae312eb5e3afb29ec631083f02620792ee8cdc7400430244466090abcc8c3761531fdc8ba46d56c2beb25845662d3246ca568bbd7a93ad50afddb4476ff5accf4ea771ce03bf0d261b30e2334139b6718671b8b71fa5c63814dab6301a92ba9a26cbab489e91537ec0edd60336a6b8c6e36a31c5ab06d1263cdc05cdc2c44d50674da0a686349dd7ae773a047421cf49d9dab5311628282dc6cf5e55cd09a93ba7c3a99137399eb7fe78777fcd3946e2110263ee2b9abbaa9729f8344b59e9947e981fdc620d99de2aa06b4603698c14454e8d8c9b12edf3f288f50606a626ee678e1ddf950f5c2f2aed39d9a13d5c72f09998fc5d722785fdb2860a5316cc42448e801049a1bae3b0919cc8fd2244c35df4c26024b10e058506c0664c27a0518160a002c050251d0c68022a105ef73a861210c47e19f4fa7b089190474fe0264ae1b1329d357b68831e05166ae021b0c0000d38400ff4fa850f3bd822c10dcf0fe6c1169f1c41cebbd62a420107f200a10347ce3f03e00f9012e16be9af7f64907368bbc07cb53c0d1d65f188fe3acff5cc1a1e8637ea905` diff --git a/openpgp/write_test.go b/openpgp/write_test.go index c4760195..1ce9c632 100644 --- a/openpgp/write_test.go +++ b/openpgp/write_test.go @@ -450,36 +450,13 @@ var testEncryptionTests = []struct { true, false, }, + // Broken as it needs v5 PKESK //{ - // eddsaKyber512X25519PrivateHex, + // eddsaKyber768X25519PrivateHex, // false, //}, //{ - // eddsaKyber512X25519PrivateHex, - // true, - //}, - //{ - // eddsaKyber1024X448PrivateHex, - // false, - //}, - //{ - // eddsaKyber1024X448PrivateHex, - // true, - //}, - //{ - // eddsaKyber768P384PrivateHex, - // false, - //}, - //{ - // eddsaKyber768P384PrivateHex, - // true, - //}, - //{ - // eddsaKyber1024P521PrivateHex, - // false, - //}, - //{ - // eddsaKyber1024P521PrivateHex, + // eddsaKyber768X25519PrivateHex, // true, //}, }