From: Niels Möller Date: Thu, 3 Jul 2025 20:22:42 +0000 (+0200) Subject: Additional slh-dsa test cases. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Fmaster;p=thirdparty%2Fnettle.git Additional slh-dsa test cases. --- diff --git a/ChangeLog b/ChangeLog index 267730ec..e6fa8d81 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ 2025-07-03 Niels Möller - * testsuite/slh-dsa-test.c (test_main): Additional key generation - test cases, from https://github.com/usnistgov/ACVP-Server. + * testsuite/slh-dsa-test.c (test_main): Additional test cases, + from https://github.com/usnistgov/ACVP-Server. 2025-07-01 Niels Möller diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in index 5806a668..3914ec4b 100644 --- a/testsuite/Makefile.in +++ b/testsuite/Makefile.in @@ -95,7 +95,9 @@ SOURCES = $(TS_SOURCES) $(EXTRA_SOURCES) testutils.c dlopen-test.c DISTFILES = $(SOURCES) $(CXX_SOURCES) Makefile.in \ $(TS_SH) $(TS_SC_NETTLE) $(TS_SC_HOGWEED) sc-valgrind.sh testutils.h sha3.awk \ - gold-bug.txt slh-dsa-shake-128s.ref slh-dsa-shake-128f.ref + gold-bug.txt slh-dsa-shake-128s.ref slh-dsa-shake-128f.ref \ + slh-dsa-shake-128f-tc64.msg slh-dsa-shake-128f-tc64.sig \ + slh-dsa-shake-128s-tc215.msg slh-dsa-shake-128s-tc215.sig all: $(EXTRA_TARGETS) diff --git a/testsuite/slh-dsa-shake-128f-tc64.msg b/testsuite/slh-dsa-shake-128f-tc64.msg new file mode 100644 index 00000000..6655a5db --- /dev/null +++ b/testsuite/slh-dsa-shake-128f-tc64.msg @@ -0,0 +1,72 @@ +14AD3E6BE94E5F92 6241041A9D7F9889 BDFF5BA185052A6D B3132990E37AE6C6 +0390B0A2BA50DF65 9F140E1A2EEF2C83 D8FC6AA0F6B707C4 50F9BCC8B4FEA771 +5C320AC902708527 9F52598CCA7A666F DCDE8E8BEB42F90D 5AB21240787EB8F8 +A1D995955F086166 8755E2EFC5627762 3A34466CF7494AF2 C869D263D60D7D81 +421EEE41DDA1A422 4A85D43534C1762C 16E94EF500FA1690 1A7336032BACEC5C +8B17B13C8E8D4C88 2A46660ED96465FE 6CFD0FC3690999F3 5A7DCF2929CE69B1 +93AE9A9AC0E32A26 ADB8FF99ED710EE9 9D5FD2945D800A25 B2711FB9B4F94029 +E0547FE84E035E3F 926D44742F4B647A 3783236AF8490613 96E89E1E23BC94F1 +2C2EE552EC456DC0 CACADE6394A10E50 90427548EA6D57C5 A66B2DBCC4280A70 +D1D8153D9CF4BDAC CC0ED7500FAC7FC4 A462472D2D65C942 6C8146A9F23ACFA1 +1BED101365B3B3D7 70A3AEB4AFC446ED 1520F693C9255EE2 EB7BF14FCC2D507B +C28614569A94E49B F611528C48B5BD5E D013D642B691272F 44ABA84A4FA9E9C3 +2FF76A6C221701EC 62AC25F155A38D94 C541F8B5F07F722D F2366E9B8047471B +02A82FD549829FC9 C9C7C228BF1966B2 46299297C4EC6B5E CDB4EEC1E1CAB325 +D5E40BBC55D4BD57 D8BDA15BDE3FE1E1 F84F65346C1D000D 6484AA07DA77866B +23A068A0FB5F02AC 5DFEB4C5F9D0E377 BBC9386835D6C53D 85061B57801A568C +829B2CC1B79CAA31 B79B0B325A851480 DC2A21300309064F 621F3CA590BA4769 +300F4A0D51C0A1DD FA3C713C26275DC1 ACAC11C783879BCC A97D815879A46D29 +D73259B847C02DEE F2A5B89ED6B0CDE3 78B64AFDE31E9B8A C791CE7EAE9483B2 +DB48ECF30BD678F6 AAF5E61F11635E77 FC30EDFC564871C4 26648FBFB7D7E3D9 +C5C9013528C91465 B3A14655E3C1EF56 518555926D487CDD 7D15BD1F3C2C98F0 +4ACAE000B9B0FD51 C25B45D325EED9E3 84CBEC4FC82DA3A5 CABBE5261BD6C1F8 +746B43BDA473223D D51EC011ED469862 3BD8F5FD250D5C8E 878474DCEED27082 +6C3319BE5015BB7A C8115D24BC2A2A3F 97D3F88B582D2B8E 2A94D260EDEA4F32 +427C3B1886303534 634E2A519B86225A E562C73E04B2FEA8 4BA0EE86491FC8F3 +63F8AADE840FA15E 11FD3D57D5772E18 1B1C7FB6DEB22BED 5AC027278F4732A1 +A5FFC8CA9F3E7664 18A5F0309F596873 C77ECE7CC06EF32B C34A1CFB74BA0402 +2DDDB03EEAF697E9 984025D1DEEE3777 BC9CE29449607E56 3EB3C136270FA43E +77CF1FD6D0250FA9 1218DC3FC431DF84 80440B18F87BD14D B48163FAA0AA0274 +7FE903BD73B8BCC7 B5DA0F1BAD33D7A1 AD61E12A8424287A 8D928F8DECC48422 +3489739CD28CE662 6F8F3D20F65EDF43 0E4FBE25CC36FDF3 86D64A591A2B56F2 +FB067A8C76E6F16C 86AE608117AE50D7 ECA9B943B78028AE 15EA82C4F96C10CF +1155CE4736CCECC7 9375A5F5E413DD08 9A43C62AFA6847CA 4DB15963AD84E22B +A34595F4B6EB1BB3 D3B4ABFE4A75606F 4D3048DB98B314A6 498532527FC07B3E +74EF6B45822A38E2 1F5FDE0F0E914F7F 03D92429C2571B0F 8A181FEECE3A13B2 +C3BA9099F5634872 590B32B4C29FBE69 73008C93733FF805 8960A8CA9D91EE52 +14A1AECDFBC37F90 6C9869BB5CA56F33 E2BD80BC8C275372 888B5D75F4B40AC2 +C78F5932D2A126F4 BD19BAC6B28091E7 D69C7FA854B5E16E D3816F21B73DAA27 +5E1B3CED8C46D062 66D4726E9527F3F7 AD15B29EDB69DD03 7DE679A2048CC92F +8850EDA6783EFC88 3B5A1232B95F544D 2374AE816C33774C C1B42C88CF0BBD78 +072BCEEA74176B5C 961FD152B69FB8AA 6F48ADC105D05B57 3A62BDE49A92A80D +ADC9D17109C395D1 35B451C78AB2AE7F 99C71B77186A41D8 9DD7AE09E9A110E8 +E65C05651E51718A BFC62C47A8F82EE8 6BA685AB7B8E69B2 2EEFC37B4E559861 +FBFAC0B99A1A251F 739605821D70C761 53FC5F81030CE2A6 159F7F4470E421C5 +484AB7705A82E5CB 2888B85D357E52AE 33345F701BE0ACB3 6B1A3B80E54EA72B +F43B00701EFB96B2 6D7A62AFC04EC150 2065921810160149 BAD56BF03552458A +3878ABF6CF7213C5 4D70861C2A6789D7 0B70D22BD8E0A4A0 32CFE331C0E423F3 +978C164925CCC0F2 906BF8B4B633199E 072CD45846DC174E C1D1C39065A43046 +243D5043059003DF C81807F02E6671F5 5F49D5F12A4731E7 CF1BD929AC890B98 +5B271A282978E8DD 1EFFA077C4E76A9B FA6F19713C8B6D3F 6579BCED6D22DE68 +8FCBD798016C6579 BB127D988796618C 09474B8BF29B6432 C01C948FF2A3EF9C +97270D257373E346 FB0B0DA0BE2D5CFA 09AE905DBE76909D F04A0CE5B26084C8 +B33BC6E3916A3A9A A50A018239557CCC 0146F0766BA3D85D 0B9F8FAE0E8850FC +8D46F63BFA5E40F9 25FC0196D39B3D80 F81A6E025D120FA9 77C041D2635F97A6 +A1D51D76D575E76F 494D887B4C4F1E4C 71F30EA52FF1D2AB BDCBB0E2CE8A47AE +774EE6F2E8AE7307 C09DF32FBDCC7528 A30F5CAA0E0EF487 C70625497CA80D3D +7D4647C277C15CCD 9D1CB3247899B1E2 142D8ADBC7C5F4BF 105DB3457B112374 +C16CC96FAF89562D EB237002CE05E47A 4BA15AA01CCFA947 B5F74BCDEE48F10D +1E82295C14FD836F CEA6AB700CAAB75C 2AA28D6D1F42F6EB C9DD6C33F924D496 +947CAC85610F1DD9 0E7AE212BA732422 2B45F1C2DE858ACB 078A6C31D692E9B0 +B966E331CCE2A11C 656CF2A90DFD7635 0F43C5E2D48DFC78 AD7967022B824500 +23F01031A83365F0 28C550DBFD37456F 8D98B31C920DA0C9 978C6532D3C9E2B5 +48F0E1536D03CDC2 5F58F07456930412 AB3ACC0D378DF105 437D3576F6C44918 +3AA66F024AF1AA59 A6EBAA8412E347CC 035BF61CE11C5CB7 F32B44175D73AE09 +DC02589D60086EA2 57AE2A9345E43088 9592EAA5CE251B93 44CF0BB8930108D0 +7FEF68436CDD5FEE 01C541FDAFA087FE E4D81965442DF945 46C47BBFF66F6799 +ABDA34CCE21460AF F82FD3C76A6157BF 8F0128FB9AB3AAB4 BC4A58CC8C571DD4 +8CAC5F076016FF0C D3B419EFE1B58F9F 9107171444F4450A E195E2E221346312 +1EB57DFA00E9C7A6 156CEFE0BE8C499F 2D7901F06A3B8909 A75FF028BD1578C3 +94D77B2B54BD1893 F78150CEFDED6AD2 BDA0F799F8F8E99A E0D1B7197CBF2865 +3AEDCE285E063F25 13F9E853D66ADB5F 796CE7E57BB3B063 00DA3194E22B8CE0 +D52638D84CE3 diff --git a/testsuite/slh-dsa-shake-128f-tc64.sig b/testsuite/slh-dsa-shake-128f-tc64.sig new file mode 100644 index 00000000..2ccb3f98 --- /dev/null +++ b/testsuite/slh-dsa-shake-128f-tc64.sig @@ -0,0 +1,534 @@ +0F38CC7ADE876B45 7F320394A92FF67C DDF11D943F3F82BB 68637E340AD3B4AB +527CA5BEA54635B4 48D276149AE6ED58 E800F544238A355E A53C9206D10C0DBF +11A7DFFD2F573291 B71D9C8820888CF8 B5384F2EC55496BD F2629798A3205816 +55B050F4A4639EBC E2EAC4ACB68C562B 55C38A219C0C1BE7 DD1A258A93580C22 +B29CDD083117ECC1 D941F76A83292412 9F8257225D4FC7A3 F0764B6C0A373E37 +25BECC287038FAF6 29C3301E249E87CB A6BE61E6B61B55F2 08736402275B22BC +05344D994D54F5A6 23D16ABDC24F357A FA284436B8B3B541 1AFFF41C08D63793 +23748E062713ECD8 E58B48371CC93F8E 6F8DBA23723014E0 52967A9FF627143C +F67F90ADD6A74096 BDE443EFDE017869 EFEA20650C587A38 14B2005657C3A583 +9FFE956E38A8DD8F 1D75A8110D855C17 D4A8860B70D4F180 6677118E6F8DF193 +B61F90F1DD854331 D6BD84E96037F75D 311E2F46EAEB93BD CB0A857A92D7154A +4E297D100F994399 5A0197F2ED97B0F6 EC4BAB2F6D0273E9 290CF61FA966FE9D +59044896565E8E6F 4F8AD5450A853D5E C69FB6317B50A7E4 AF91991FAE7BDBCA +C5E0AED8A2F1FEA3 C692618EF0FD541B A22A9E47D561AF4A 80FA584E9EC86E29 +ED619448AD7CB66C 76547AF8013755D8 334B7B61C720729D 4404FE51A299BC7B +28F46EC7B3161279 46671160836272FF 44865BD8FD03F594 4BAAB493C30095D7 +DF7B008CA5CA0172 6EFFACBE63D5A887 1A158E3E95ECF469 2076C5F7CC96DCB0 +3BD1DB90B4B50CA4 60ABCF9647B238B6 F81B4B2BB5521A56 1CAC9E6EF256CD09 +1A3096C383679440 4AE110AD65D4B6B3 E9872A01DF798F25 CE3B58BE1D84A4F1 +3F7240AB5299523F D06F835B82F024A4 68B8B7CC58DA0017 69F4C92581C2D24E +CAEE03B7F4532F1B A552D4911AC71595 78F8D8E3466F35E2 80E7DEDF075A9CDC +0685262F57DD96BA 3414FFD69A94712F 2A35CCE8D8C3553D 9CDA268047BF0C3C +B9746E859185DE87 125D518AFC98EFC4 C70466683A3E4F2B 9AD2F9BD426A8CB8 +06FC43F84F353F56 CA50919CD84E1163 057B6C2222116780 EF4961EE97753CF0 +D8969BA19D0DAC7D CB6E4A4DA1E95640 2C8BF5494ACF77CF 56AF6795F3FD916F +103D2E474CD2F9A0 F45F39A943564EB3 522C8D16B8BC275F DC964E3CBCAA78E9 +90751B862332935B F2384AC1ECAD7246 97F1437A16322BE9 80F8F6D9399D93C6 +F689F8D441037910 1163E7255C93C4F1 FD63A0A7FF4FF6F1 6ED409F20502A435 +D2F6F23C5D4314A8 C822800671EB1BE2 61C2EECAF648890E 45162EB2AFD0FAA4 +70A1C6876275860B 09FB3F756E9BA651 D09997D1D532F780 97A4798BDD4E73A7 +9EBD4A08E1F174C3 DB7D84FB5D22ED8E 64760EFDCB621C8E 290633116DB1B89B +0EB0862B56235D0D CA56F38007633650 10815249D12D7D3F 4F98487374565636 +E4A66AB60622F2AE 28879E2D36222FC6 82DEB51A81796E6B 0C347D3282E840B1 +A1E24590321F33D7 26C63013EA9912F2 E1D61E76901827EE 375D2128460278A0 +DCE34A5C295074D3 B6658F4A754B1DDA 07E9DF63FE037ED2 B32C1EA8DB8F94DA +5437D66EE738AA74 F6F1365E2C571943 CF1719CD4FC3E2B2 9F8963C79E2DB105 +F933AC3FD132C23B 2D7F20F0BF0F73AB 3E6C40A90984BE32 48806042D414F536 +A32FEF91E8021FD5 4657E70C64F41286 EBC8C52DECAEE002 7DDDCF7BF9BF4E65 +FA425231EA9EE534 8732CB34D981398C 1523B184BB56C41B 3E959FA9443742F4 +2E17BCAC777EF383 D17A185032E88F91 8A19CDFEF32C5418 B5D541F36C13262C +0DF6A7A704D4CA10 D4EE49B811EF9440 D3AA99F6DCFFEE49 4539716044ADE2ED +7718AB8352A840B9 974DB20DB7B024A5 776CE032C6CA088F 6537EEC291DF4F8A +039F8BCAFB3D2DCD F7CDE3A8A76F0127 5A1998A99DEDF69B 5A49E5F0A048677D +CCF6C22D63D1A540 441D9FF47568B45D 064B3A892673BBC5 7A20ADEE921F7657 +A4AAAEDBA3232242 6AB5E38BCCED5CBE D3F95138727854F1 5092F107C3CBB07E +6C44D4476F6595F7 D4D82E0D98CC86C7 7AEDB47FD3E1A171 5641F48F5F666D7B +0E2F764E97A489BF 010130D1E9ADC5BB 195761092011E1CB 931DA22A02FB36FA +7E7F94544A1F1EF5 275C95B675ED4022 6EC75F6E76CF4958 609956ECFA34F60F +DB06E093234CDB23 24D553BB46BDBB8F F81DD5C576CB66DF 74DD7B57AD23467A +D439EB98EBBDF589 5B54A7F21A9CC3CB C9AC384E9B6E80B7 9E794FB9A46BE308 +13A027B840F73BCB F5DACB9D7C0C9F47 25CF8547496740B5 C659AE12F2FEFD88 +846F925260D795FF 8BFF64B47AB8B40A 20AD1E52852DE61F 8AEB2D2572B464D9 +83EF2EDFE05D17A5 E72145E56D881BDB 5DE580DA47FDF6F0 765D43FD33D46FD6 +EB1866ED7EEEFD3C 4F7D4F6E0C7AC77F F2278BABD2A6A04A 90F48CEE61DB7BA9 +78EAAE6BBC04290F F32A39535A92262A BC5599024F2A38A5 4B3FCD444B73B356 +C2C14FA46D75788D CB0D01272DB6EA5E C3EE0CCB5F1C5621 D6FCEFD1B3E9B986 +95E2DC5A5FEE6598 C504903F4F0E541A A602DD6B59207E90 C6EAB28348AD2731 +5E0855D51D6AC6D3 C78DD9D2597C643F 3C05D0AB9F237A13 0E45B8E53D4138E0 +719A1DF565CB3485 08B39CC70978A48A F9AF8245729DD3DF 14E4AB3F952EC8A8 +13851E13BDF70922 E5184222A3A04266 FDAE1E6E8ACDF6C5 EDF13F3EA5440953 +A6EBFF8E9B43FAFC 0D5CAA46322CE172 C776090612355CF8 A9C70EED0BE44608 +284C4CF48729EA50 3C97B8707612B782 95D627EC4A332B14 38DB5FCAF2292CE4 +0EE0F93CAD597F06 206354B9178AD47F FCD0E5ED829A48ED A32F3F3EFBC756AC +52844A64972B0635 A824673215BB1A22 8F1BFCD1D97325F9 A4307519296FBD36 +45EBFB231AEF8232 D8F71059350C8C9A 6ECCA270B76A0D01 EF1489FF0A9E2D85 +CCC48335551AD008 41E086935B9829C9 CF9830CE7E4445FB B4A20BDDACDD5026 +5971A4851DD2BE7E 9DBC779A529ADE38 C07BE7BC8925A15B EF234A368A17377C +120604045302EBD7 E5C6C9177D2D1F84 85D28705CE74D43C 95326ABA51572B40 +6A45D4796A746162 BA1528409433E5C4 567FCA58EB1B94E2 F6DF50BA601AFBFF +92E7A66710AA964E C1057F616B9EC5DB 4A320D050CE8570E 3376217A459C3075 +BCA9D4463923A214 AB40B9C6DED96AA8 CA6C2DC4D2754326 D30A0C3BFD24D6E8 +A4870C7636FDE263 727DC5544A8E1503 17E17FD153697CB6 0E70549FE990745C +E163137AA746AABF 3E76E991EDC1393D AB591AA4E7343A3D 2124BA40D5BC1280 +FCEEDA9B1DC4A394 064E332BE317F2A9 9C4E65EB0EF62D31 F764C4881EE7CA78 +84863FD482B06246 19B113AE68EFC6DC 410098DE2CE30F89 C330A3E6A24DD89B +0C240E2BF704100A C0CF4A7D98E81E77 E9F987D69FC013D2 87CCE854EB5655BA +F3AC439758FB2757 332AF52252AE90CD 0FEE40A78EEBC12E 149E129C5A3A1B0D +C3F90AB93E171974 6ADCA04CECFCE18D 03ACD62E4403EDB2 CA3FDBBD30616E1D +A0BB1EFC1CA91C79 09CA79E4008D45F6 4E25A345C7908581 D65B2900FFE91479 +EA3F50C6C5DB110C ACE1FA3382D39788 0216FF4C30C96E22 EC7F08F16DAFE374 +726D2EF2DB70F1A0 E7D3FA436D3CBE0F 2A85094113FDEEB8 F7B430B8C36304D0 +1AD89353B616BC14 1C413B924D1567F7 663364506D943FDC B3F022297ED6CE92 +553EAD49985F9F6A AFD2C28D60F3A99E D513BCDCBAEFD19D C711450B4D43988E +3CCA06F5D70B9760 FC78AC37A598D383 A3F483E4B6CB2B6E BA4D5F03CD6EF066 +DCEBCB6C276444C4 6295A453D093CCBD 5C0B856B513089FB 9566E125D356231B +F34CC67B0ADD2A54 13298CA2839DB005 64EF98BDC1D63F64 0ED8EF268AF304F5 +0667CE7C82720EC8 B25EDE12A323CFDC 296ACB4F67201C75 2DBE248269405254 +B44A20266C8970D6 230ECC0A87377B3B E7312D8A9E89B745 3C01E0ECA98AC2EF +6F10CDD23F8037C1 EF8CEE1A1D2727C5 AA3A3FAEDF691CC5 D3CEFBCC24D45EBE +8EF93909C1D675DF DBB974976EBF7565 B6B041D6EF3C2761 BF969D9F3C7911F0 +24292414A5C3042E 251A22FD8BA33E0D 6BD34E4E07E6A7F1 2240632C0EFD6627 +D26349613208DD70 D9305C439692FBD1 DE0805463025573C 11214CB23D0A8D6D +D19D7A0E3A0E7394 AD617679F17414F8 B87EFA419397F116 6D86B73BDBB34946 +444EC1F9CE55489C B958FD10AD3DC535 82EDED6C003709A4 41FBEFEDE39A04C0 +93C0C7FF4869F2C4 D12CD5F46C70D499 5786C9B735341810 ACEE4902E13322C2 +E14BF8FD418B8B75 1ACF9D5034B3E560 1CF9290D63956CFD 017C8D672BC98ECE +25C0ECE8907C032E 6F35AE96F00D4204 22D68FAF4F91D4AB 828C55EE618EA64E +95BF08948E6ADDC0 2D8592D3BA481712 294C110E4AB9D0CA FCF753612831A538 +B0DE1A02DF51306C BE1969C076E52E87 CB4BC5B9D79A8B29 CF00E5A0088163C9 +CB539D1C9741561B 620CC859CF74B18C 65DF29D7D0A06726 2C5FCAFF43BDD220 +1FFD7E56383360FF 239394135978E26F C8728882FAD6A9EC 56A9673FC3C0F9DB +F7DD1E5A39880A82 B28742733BA77B68 40F0D9ED641D3F01 0A17ADED75467E4D +CDE0A492E091FEE0 191CA1CBFD56F183 6A67389FDCA16062 543528E78F07AB40 +EFEB333B606A86FB CEF53FA1F58E036F 4B86134B58A81EF3 B20408D3DFED9D52 +71CE26F9261A6BE4 20D97889F567C6BA F4BAE0ED0557B8B6 D0ED96499CC05E52 +0B437102F5CB98BD 8EDCF4856B248165 1796E45F2BCBC159 468CE9803BAA76BE +16CE3436B4AB01C1 A15214E46BF200CE FF583AAB584AF0F2 C7230E868C8051D1 +6187D30B97EC71C3 D2D47DA9227682EB 01459548051B14CD 8897C4B366B320D7 +63EBF2AE7326F4F9 0EB94E19DEBBA2C7 B26FE3E572C961DD AC24B16CD7FBAC6A +B4D7903BB5A4E040 B691BC2A76F1D44A F5A2E40D43C8630B 7ACABA3EF73BF71C +83E3996092804A95 231FD0B3FDE8D60A CBFAA07D89D44709 C4093B12E0FDD250 +4D994687398DE6CB 05E46F15F26E6717 CCE265E27E9AD891 CE9CAF13B8DD1FD6 +33FA9CC00CC75259 C4B41B2E639BD489 32F40BA13E1B4F5A 452482EAAE212F09 +BEA6B8334F11E1C9 2FE27E6A1D2206A9 4074F4AA751C3517 B3A16696A6C19678 +4314270CA8EDE719 3912AD43224A81CB 9F1FC452D5122C7B C11A4F38DC2BBB7C +39F548D867149E8A 5876F760BF713905 10EAABCFE0A87CF9 F8996BAD2939C7FD +F86E6CE3170F932F 84925312603B1E2D D283D831473FA068 7D5F407F780BBC4D +BB8A3CFCF0FAD516 7AE338C79DCE4A7B CE16DFD274427333 3298D7E5815A51D4 +308F00878722D57A E56E5A683C806198 92A6584A4A8212F5 5F376DCC5EC57645 +4AD109684D7E9FB1 73B68D809387C7ED C54E35E2DB1E3654 BB55CA525430F1AB +4733075D9A953066 4BEA4FE550C8A438 C38BB0C71CB30C10 2192B2869B6CDC3F +DEE14E670015F686 5EDBDBC1A9284CA9 A9FE6E4A6271B010 09F3D6B417D3D14F +6B622ABC3DF5EAC4 16F2AE2E015478C7 2BE5B2444DCFE52A 33646385756BE1C5 +2B02C2F9E0C41D2E 060FA524FDB94EC0 385D6886EB54F3D2 B92DB084EC3BA614 +C0F1151E8428A7AB B6B850056611D1F3 FFF3DFB5DE2DE608 4A8EC1EDE17E8914 +446DDA3AC44F0BD9 80412A8ADF90B17A BFF212D7DF3C1DD0 4E7C613C9028D77D +82C7C65C0DC21C4B 2178C35A69E0DB21 9DD7169C20B9C2A2 2E166AA73AEB7355 +9397742B806A4626 1273DF9797E867FD C4DB4F02B8E589CE E2055F407E7B1D78 +4CC2B15ABC9B9405 4D1A0F763E3E5146 08E5B94D6EC7D1EC 46BBD778E52B0F8F +4F8A94C92AD17B6A 2DAC56E3990E0A15 433FFD23CBC43FBA C71C824A067F0CCC +B72769ED43B86953 984712C4E0BF8DA7 B5E2DEC500AEBAA2 DBEDA0CD74DEF3DE +EB99BF1ADC37B058 4C8A724EBEC83CAB 0922F540F9352906 A1054D89A2A8061A +103B7651FD06FE41 9A502E3C6A6A0368 9434E7113076940A DF9EDB1FD1E9AA51 +8FA707FA0B155ED6 DB50D587E32DD4B1 E17ABE7DBE3CCB17 B2ED0A25DEBE8A6F +39552C810DF1D33C 75C7DFA208BD6832 ED3C4363077E99AF B300CEC7042E3A91 +E39454234341C36B EE01FE7204E75DF4 C885F0F30CD373C6 795FB69FA5270D91 +1836A5B02AB74879 B06A3706A559B8B1 85D3F0D57C771912 85379E94E5D4006F +FCDA367F9ECE0BC2 D9AF84C84E22ABED 8F95023648FDA58F 78A3FF3C2556F6AE +1ACD907DA444DEB2 27E4D58F1C5D6777 84E80D4DD3ED5AFD 8F2D239079FCB1D1 +8544AF85E28E448E 765794DEF6933144 1A4BDB63E407CE48 87C9A0D00B9A0A5D +546E771606644C02 E2AE6EFF04CDF653 8EEF15FA9B4910F4 3E9B3165330EB5E4 +DEF3397A5641DCC3 526DAEEFC9330618 E4C4DCC90A3F92AD 477645E51304A6A5 +494DA2B0AAE3316A 5AA9EFED02489412 70215BABCC9A7D59 C56AF674FD20E58A +8AB3B67E4318971B 5B4FDFF2299FAB10 3EE2632D5E9A9A1D 5D87BFFA6596E85F +7B08F0097351B8EA EC812323CE7A4EE5 48184F651A47D7B5 AE0F802DB172DDC9 +A0BC1F8C4709280A 8775C7F942D1A72B C810D571B628BFBF 67A52E21D8399117 +182B8A2D2FD959AB 94965EA7DA607D4C CEB200350922156E 4D524D2162F95492 +EB698AC06A8EB93D 082675BC04C4EAB9 E2205A9E5FD29B34 D8F2B049C253B479 +72983681600899AE 8AC14689D92151F0 205165194F956048 65961EF7209484E5 +ABFF0E4F7ED2A627 555905A75F8400BE BD2A4A387B56D365 0629CFA917EB9FD6 +28F66C0F7BC1A2FB 733999BE8B7384E0 EEBC1C611F056D7F BF28BD0A2AED5D87 +DC901411310B3E68 C7F4E746C99D63E1 214E3F7621E1522D 3A5B81A08BE889B5 +18BBC6E4619FDCAD 88C70FCFBEC2B5A5 F7BC2C1F894AFD46 39B7C0762C7D8892 +00CBEA2A4F668BEF 6258A3BD20DA069F EB6F876AC98260DB 9BE52FB5A7EF6971 +A42768AD18339C8D 4E5EA9D06D443A1F C291BB208805EE1D 237274E3A518E1D1 +EE5425CDB1E4B06D 6F1B6A7D37FC9705 97BAA3C913934862 662DFA14339CF0B3 +599A79C9BABBCE76 007CE4B931E013BA 1F07C9BF8E76E67E 6FC78248E2130071 +EEAA92855870E4FF ED50D2258D1F0E6C 72854E43D9E4AB39 A65DA5EAD6A920B8 +878AB5E9A5777153 1491C0B9E0886364 A090188AC39B3203 CDA07CD0F3267AAA +926EC147DB272146 DF69853E336CA652 13268B1668D0E05B 13E14C1CDB7A7F37 +EC626001B617EF93 F0D4F84E8C33B31F 0DEC7B76C9DEE410 917EAB47D5747167 +CC5FF97C73E1E516 9522E47CAF372ACA CA6D40FB8B94F61C 6D3EA8F4FD05581E +DFC035C665816307 52C92A034286BA2F F61CC0E29D3D7D74 7710BBAE0B45C82D +5F2C4DDB29955A7A B16E5B14F5FC1328 E5B9612E1D21BAA8 671D74FA3EB629A3 +2A26CBEEF56911D7 72CFF13583D98B62 53CECC52DDDA9F61 AD19D1241B26D42B +0A1DA3956E47F45E E1FB62A8239ABEBF 8BD8BE95E315BA21 2BF15DB0ADF22740 +1005451E146CCD82 9E3047DD5388B9C3 9D772023DF0F5754 7902A264441C1B6A +566E268724545483 D92201D5E3C5E3F4 5DAB300C536FBAEC 7AA243573DD6CDF1 +1230AC2C49CF5C18 48DA61410255FF88 E706C6246C91F15E 7F408DDBD064B01B +FE3E9E2C60C4E22E 02D3B54D33A77FB0 2E3D5459212E6A8A BCBD931C37F9A84C +B2C2AA58904333F6 9A8511B04E1695C5 9959E83233305316 A6F0DBAE6913CF38 +6FC900B879F1D085 961FF13AC981BA12 43304012AAE8862E D9BCF79052881146 +005DBAF4A2583CAE C10D9C5243481AF2 C71A096731F0276E E092C9CD9000B787 +C5963E7BD96E96C2 38F9A7EAA68A4119 72170D43A7E3C9C2 82FF27553C9A1D46 +566CE8882099B1ED 9E09903F291DA882 19D6EE166DCDC806 FFD572C05C26945B +DC9F733B12908870 6255801CA29C7C92 BF27126A0507E420 95B5CF3D445DE321 +E466BCEDE5985B27 111BB9A8F45FC084 5FC0D432FC03B0F4 B94FB48EEE855B0F +F01E60A379930BAC 4CAD273AC3AE9602 25AC1114A01724DA FCA0E843E813B5B1 +E7C4BC7C55456194 A41582EA4B274B65 1500A9CA54542C53 5CEB08197B6727D7 +213CB1158744613F 3208AD498B11EC8C 8D0D0721A37F6B6E 0787D396B2B9EDC1 +9714C542C2A7ED28 30450A9B142C2E1A 956397859E6E75C5 4613790334B52DA0 +D1238E68EC3B204B 91D8F4801FD8C6C7 7728403485D1AECF 289ACB7EE6DA064F +1FE6DE85351F5987 077E1D1AECFBF35B A6515A77C81F5907 3FFF7A502F3A38C7 +7E05C3F4ACBD856D CFC560C7288A03E2 5EE7EAD52CD59E46 EB8ED761E92D59CF +A19908172DC55BB3 95C2C60DD928243A BB54D94E03424C6B DE7456140D9EEB2E +58F890AC0995CA91 18CA4AD7F3FDB056 7B676CE5D629238B 10C47E50723B3A5C +486BBAEDCB7934FE F5FC231FEE0C5538 9585223976F91FC0 03C2A4CE4B51D92F +B57A44A254F6284A B24FA2BAD23340B8 3B1EDA3A57436DDB 6513474B8F7F61BE +AA0D55708EB7473F 74452E68EBD3DE7D 9E17E3B8B289655F D6A195FD9D3D5D62 +406FBDDE5812DE5E 1C3CAC18858E1169 C53EC741D6DA3F43 E7D77AC9C42D783D +BD0B14FBC3EB83CA E937ED685FBC350B 03FE2496B51B9DD7 5A70F67F6217D38D +304840A85ACBAC0D 78C1AE0D54823F9F 62AD711A5C0970F4 FAAB32702679B040 +3B010A2ED0AF1D10 88EF5B1E0E3B9D48 B02DB7A0C3CC900D 90BB58CFC917651F +E08787B2907192E7 A2384887CF94A309 77AEB8A624D3E2E7 DA911DC69391076D +7E508608C34E4FA4 4AB674A7D155A3C5 AEC3B1116C036591 7628E1A419FFE625 +92C6B9734D7E4163 1CF671446346204D 710C23FB5CD9199A 8113A8F57C7312AB +ACA5BAC4EF5C8AE4 9055D1DDC56DBB49 20EA7CCD6205956B 5B31B045078DFD04 +108139CF522E2F3B 0E4F6D2C644E1FA8 0A4152F4F9740177 F8B0DC20CA49F531 +DB6FDBA37CDBA0EE E6B0D8EE9B78E18A 4DE91823C672DB3A 6E3A3420CD073CB6 +5D3028DA03B930BB 48FAD1C4CCB1B08A 854F1EC4AD8FB5EC E619B313F377B2F0 +D5B13BBE6EFFF453 AFDCE2399A29DC70 710F2B9E70564090 058FD79378002F4A +7A6402F689EA566D 6974877C8274D535 D9767F23D884186F DED30A619F05BE44 +48F678BA92BE38CB 80B30950262D1295 28FA11BA650A1DC1 A9DAC8AA0EF9C14A +49384BE64D054F5E C60D4987E5900786 26D8E8C7D5AD2F19 85A245F56971574D +A87BDD1444CEDD9A 43B920DB8C32F1D8 D45A5987BED5537D 81BE28EFA067DEDC +37D2803D2E7B935D 99E1A512502DAD9D B516AD735D91209B 3A977410DBD0D1C5 +09D5627D57A9BBB6 0DA1BAE98460EAF1 45620802ECBA0466 DD375DD02A495D6E +427647D9E32DB59B F84E2290E9E2E3D9 F11518320999FB54 C91FD2D0A27BCB7D +A4F8BD379A6D13C0 919C58E87729121F 2F62B01725569ED0 2A40C4DA407EC987 +648845A7B6B4106C B703DEC1E2B4E8E3 E4642EC866ADAB26 A54C4FE1FEB2903A +F0D25475ECB5918C 0D073096CA6680EA EF170A1522AE4CCB 6A110A75DE4EFEF0 +FC21250049E7F048 2788A7099E1B0EDD 3DD6F791BCED0B94 B077FCAF89F67E4A +FD36AA3688198580 4A2D5C5058C73949 6031335A073637A6 711DE822D9800C46 +7E7C4EDE233083D7 829E6B15002E3BA8 D71297651B305BDF 9555A01BB03B2882 +E28B5AC723CA6F36 ECFE37F7AE7DC698 88942A80566FE993 CCE805FA30DF05AE +330DCDEBE40080E5 D0464A937BCAF441 7089FD18BC725D99 75EC6A0BB051D882 +33AFC32842BCDB19 6957AFEBDE379642 9628DFD988858894 EDE2C27E760B84F3 +E69FC85AE1C510C9 FD509EC78D5379DF 42FB8CF0649B8A91 8C2A72AA41E21B3E +0A32C41600D1B9B8 25625AA3B04ADD77 F6A7C50AA0BD4D79 7927FB53C68730E9 +DF45B22608B6A84A 917F72B8C42BFAFC 7E4D5A0924016D9F 3C122D30BD775530 +2277148A52CBA3A9 41083DAC7F61ED93 B59FFCA444EAC2DC D0968F7218A368A5 +2EBDCA0B2DF1C0DD 800F90BF0F45EFC6 A5BBD1B8D1AC9EB9 77CE04F1D67C2D5E +572704335D76B7EA 79813D04FC5A1631 7070AD03ECBA641D 2186DE6C73CF42A2 +3D00BA452B9CB2E5 7B47570BDD26D0CD 73A887611B23B461 8D45C40742355D0B +FC9565769562F90E 9CC807461745A76C B1D6ED67089B51B5 90865DD1711E7F7F +239BB58E126BF69E 04FADBC5CF0EF7AB 60BAAD72752E0867 FF60005C4B804CFC +C296B49EE695FA07 1E177F728C177DA6 C97BFC78355219E0 6092282B287307DB +E830665AA28C9841 21514044FC3AB9DD F445DC5C20EFD597 4AE9599A798DD941 +3FC9C4E604A794A3 9EE7138F0CFC841E BE236434AFB307C4 470F77405A9E90C8 +A44444ECF6C20654 C28CB48CBF03FE94 DE19946F5DD853BF 6BD5A844F70A2F70 +073698001B05C878 06E3C926D76C706C CC6070ECDCDF6A55 E65A6AE7540C0B94 +E191994A13CCF716 40A98905C28E6EDA B2BDFCDDF4820BD1 D8D32DB587449FC2 +F4C10AD3B02B64C4 BB817769AA96742F EE3EC141EF6A28F5 675119D4A50B1E0A +7D949F7B382555EE 229B57E41A208355 B08A5095FDAC54F1 0FA3E14AC598A3D0 +10E8C0317230EF39 D14064482055CAEA 18C924CF6A678A48 71965E21DAD99B34 +98A05A46890C2FFF ECD96120BB7B1788 E5417FE71DCDD81D 7E9440769772E5B1 +1461E53FE7F33F21 D941B69C5F4046B5 53EB66C96722CBA1 D98A7F91CDFAE7BB +F95D12EA241BC91C 73E674B4C09EF0F0 DD9EE9A72A276EFF 4C5829F52BCED28E +86B3932037C33216 77545D9DB71ED098 DD0A9A9BB76E153F D129322075B9DD3B +0CA8DC307B768F3E 82A3E8ED447F0DA9 1162DDE9F8E63E4E 9986D0C3E7C04F0B +677963C05A391586 1617AF42A4CB81B1 762A246DABE70B9E 876507DF6DD1AEC0 +096C339A06BB7320 F32EF5A89B4177CC 7F2A91D1D71E58EE D9CC770681C7A7A7 +538DB77134BAFF39 31C6344F19B6F97C 8B7F36939441854F 81C878555432D584 +326BE02402C7BF62 7E7B81AC07F3DFFD 1FD6D8BEB8D589F2 EFB717CB15497FF2 +13E5C5C487AA029E 808412170740C00D 2D27383797F8B62B 3024AC8BFF4BE975 +61A468F6EADBC2B9 7790C468D7606035 38B431FB3F1C845C 43B4EC51C308D5C7 +55AAA3FE1328C15C E15835F8E100D35B 1262EEA0C138542C 9CFA28125379DF48 +9B573C98A9527512 1105052E96114673 44442254FA3E8EB5 E18E5CD30A573F6F +D0C8FEA7B4A2728A 9E85E451B4F0183B DDE2D9B74B3DE935 35003456857796D3 +1DAAF8663723F26B D125E41E1060DAAA 6CC0F8F445554AE6 9FF2D1542F31CA44 +B5E68240F41D555D D2C0C205769454C7 052BB3CBC4041A4D CC928A1D3CEB1BD3 +586C31D44C489BDB 3DBCFE39B5A2B731 22EABD3CF5E65804 49573B10714A6BDA +C0DE6E79BD43993B 895527E9165F7302 66CE1089EE92505E 99448737A7F0DFA2 +BD6139299307F7DC 00DE7AF6E1B9D445 50D9D867464A63F6 FF9CA2825BB940A9 +5B1C9364DBF50181 310295571EE26E3C 66934FA871137189 2EF695B0944B86D2 +CB317EDF6AF8D455 B12B7F48EB4C770D FBA58D1FB606922E 4B70060ACDF352D5 +B3D011531E641267 B76B8E1D71372494 1920D850D444D7CE 3432CD777ED994A2 +F22DA07672D7B33D 98BF095A200812C1 8C77B4A33B18ADF7 0523E9660443AA53 +9F0E29F5A8725496 102A7DB2F99CA0A7 D3647025D12F9EDB 0FDC5CEFD02053A8 +11DCA60AB46C4915 FF5A664E10351469 3A73ACA609FC019F 810B606911CFC010 +BDB539281885A39C 97D5FCCB2C8E1F11 9C426AB6DC6ACDD9 E9D6D8C11676181B +65243751415C1F65 5714271A3E2FD7F3 AEB7CCB1E6C5CE4B B1F84AFEF486EB3F +B40FA7BD1A621E02 E999B848ECA26D25 E9E5860568E78DC7 9B51D86C00F648CC +4CBEBDA205650B2A FA52B2C53C1DE15E 83C5E16E55EFBC86 7F8EE0C300E35FAB +A13760830AB6C7D1 092BADF3FA097A1D 606D1776AB594ACA 8D8BD12D33C7FEF2 +F008131FD2882412 90234ECE160B7E0E 91D32CD24BDD7B82 4B1A35D0C3E38E60 +EA9E19D5AFA614CD 47530C79A0DF79FC 672ED76F21F37EF7 6DBCD246C92BD65B +386959F7D8FE3A05 79FCB4937642A433 B4F201B3A11602E2 8DACF28026FC8BCA +38FDAAE4CA527C6D 3374D52363938179 9B810A214FB2581B 5E44357C7DD4F8F8 +95A3CED6210AC099 7272B2D6EB4A2005 BC433478A9612055 3A7889372FCFB9FE +3FD676ED217A2D6E D3C058E349A5462F 3FD23DE696E2477B 87435BDF61A27BD1 +6A5E962862D02771 A8C6ABBF9F7CDD96 0B675349F58313F9 45AF84EEDAA7C114 +B133E9F489BEB781 67F860A6154012AA 40DBC70D66AD0B6F 5B317C4C8B3F4A53 +F7F099059FCAC290 7476E34571AAA3D0 BB83A935B47A8674 9FB735F8B35F3724 +DA8C672F168D18D2 1D78C50E38A9F218 414A438CC7067EFE 1EA228AB6A3EF653 +A9031A1708942B2E A98217BD1F7F760A F70E2E62FCB45B3E 1A196F717D53F548 +10100518ABCDA865 E56285D298845A6F 0E8DD4CD5BCEA73A 9FC33AA15B6DD43D +E4F97F01D657EF63 1C5C4CB1CD00EC01 DBBC3792A8C1CF13 0F4062DECAB080DA +0ECD6697531B3A7A 83FBA91F581D3229 98370A819724B22D 2DB2C75592E58BE6 +3523E7B966C460ED 3058246AE78849E6 6B8D4431D8E33472 DD06EC4DFA6796EB +1521455D4C93491C 3B70D37D3B1109F2 513FE738AAD61370 9D1697E77CFC606A +56A0A83482E5390D 685486EFFD2E3D04 958689281B7DD84A C6358BA7539FA31E +77E736B0C96787D6 5F2D65BDE5777FC8 210B4BCBFFB66C8B F6E0BA4F5A3093D0 +B8AC0EF120B90914 0296DAA3F5706E19 D5789A49AD79547B 8814F69A2D0AA1C7 +1BCABD9033C047F6 BA56F57BAB2507F2 7F9D3C2E60F43559 32CE3FFC220AFA76 +10ED015502FDE996 1945FB9B0CD92E90 A3BC603278776D7A FB03439F5DA8F38B +CC944ED5629FCA9C 5249E1EB651B8DA4 89852C6AF857D4CA F1541AE93EB3B774 +E3F46F3BB64B181E C2F395F36AB7D0EF F9987652C7C35C20 433AF37E8BE1E630 +C32EC4226938B762 C09735BA402A5D15 E0EACCB3E958DF4F C9311DA2B0061199 +5C48C02AD6E09EDE FB40D2DDA174C7C7 5C5BE6FE956D0EB0 E468A8358F5CE601 +2EC8E2C88FFB793E B753D2B942D58CF6 2E0119F9ED825F04 EE11323A270921D9 +AD06A701BC1351CB 781FDCB59E1AA236 76FC0D924962D0CF 18C5E3DAEB24CEBE +E3C94D0B89438EAC C8686AFDF4035192 3D59E3453D0A6C38 800ED3A49FD33889 +E7DFC66BB2C17C5E 35F10775520818B6 133CC0D7C3C7EAA9 16E4C23360CC6B18 +9A27CA1FDC01DF85 81257B7FAAB8B796 C55048A47FB8629A CF2D22D65E000A0E +DB1C61A57B1C782F 2DC521B673067FF6 C1B1944128CBEE1A 2A32143694FED66D +62FED4F10ECFC31D 5E6D1F6647897A94 CBF70D604FF31EC3 A6C00990DA95CD0A +82BBA1652F49D18A A17DCBB53E1CE969 7F43DB29FE6883D6 26584C2421B17D2D +4C1327F5AF191951 2D6CD7B6BC009AD1 EDA1113B5AF9B1EF B9DB30AB7DECC04A +A3F36BE49E6AD400 3356CAEDB7EECA92 D00315CA3C72E017 E21D381F4A7ACEE9 +5DF85D281C46BC46 72546311B44751F8 A6298CCF170E8C92 E51F7716D1E73936 +C6B8D0239D8E79A1 0FE49CD51AD268C5 06B503036804A60C 7BCE14F365E03676 +0A86AA1DE846F70D 2835BFDB91F77799 CC04C80D5DE37A73 BD77E977CAF7C913 +BDE8C2A296953563 B9D9D246986E5772 C9554206AAC9DF09 8AEA20F76972DAA7 +E7EAC56B084CAEE6 72DF58B6878E88F9 4A23203526FA6435 5B255CE22822F1C7 +EF41053F0330ED02 450D63FB3BA1F233 F3EEA4C13768C32C D30B0FAF2A1E0E55 +E5FB38D0E8EE86D7 0C87992AC3BE024E D490C35A85B4048A FCB55404B04AC2CE +1DFC90D2D367E47B 17AB0C4F3CE09861 4802763F0E07DC73 0D46E7BDCF258F43 +9BC5345F5ECD605D 9B126717DF90A34D 63CE1CEF40A82CE9 5D7DF7E37947B06E +DF4F5A5565D834A7 20AA0DF46F59BF61 3BB937ECD00A12AA FAC088BDEAA75475 +898ACA5054DA40FD 339866CBB7E9577A FCC9302CCA22B3C3 5CA8CD81E17B2119 +3DE53D9294C75A4F 2D5DAF6225247F70 70AF2B01D67A2C2D 0BFFF7C94800FAC9 +ECFFF2A4F52519C5 E0350908F98A8263 01484734BE58B270 7C66CD338BE8B00B +41BC0224CA66FD31 DEBC0C548F2D11B7 7E872CCCB2C1C4A8 877DEE6D92D3C6A6 +A890804C62A583B7 7D537B9BCD09B372 9EDFD5509F0055FE 1C94BBB080331941 +82BAE8DAAC51B293 2F87B5C18AFFF66A 6FC73C8E244EA8F6 B30E9277B1DEBE39 +3739D7D0A98840E6 095C9046E189EA3C D0B23738CEDC2AEB 6185F9256753B7C8 +D289DE6BF1069C70 DF6981FC59B774BE BA1BE7BE4617A321 67E530E6161F365E +4CA7C2BFACD3311F D8AABBA2C8E45F58 1AE7F6FB870249E5 3B697B61375DC865 +D5E193D0A56A11FA BDC5E1ABF0565B8A 3E62F0D17F26CF28 94CFC25E7FBEB9E0 +CDBCC29A687E8FD6 C022A1F0EFA2D7B4 CC0310BD38D12074 4D362AD6BFC94136 +CFA1E615BE0AE582 CB011F6E4F9BC232 F505AEC809D581A8 FF60BB5C7A91C414 +77257BA0602F0FCE 384D28BC527CDC8B 535FEFB67B39EEEA 5EF211590288A0FC +D2AD9CC30B162CC3 22CF062EAB60D519 B9CC4105D34FE120 CDD6DD285985545F +A1B0C803D37E8E97 6BB19B0FBFEEC525 8FBA117CC554BA4D 28CEA7D56742EB06 +A4DDA0A165D94A6E 8E5FD864D434D501 4C8CC9FB757CC71D 870A23E762AFED8B +003AD08BCAA2E31E 6CB30D7593D6C273 F80886EF7AC8A3C3 DAFE3970ECF316A0 +92DB4DE3B974B0A4 C6EE44AD88D1CE18 A2929CEB51BEF6D2 4E14F750B71E4294 +9996FED74C43015E 2107475923210D31 07A506AB9A8022DF A63E093F0550E038 +5878840114EAD1DD CA5D8AAAEEDCE118 D42E8E005979D99F 778FF62B119061CB +332742B4946A47B2 40151AEC15D6F3FE C2B87015986DFDA3 268AA8516A95B052 +9C7C7EECC3AC80E1 B195487FF16B534A 3350862A71C04FD8 5F0DB8890F469FD3 +FB2299B907FAE756 BC8A06008B2A99BC B9F2AF1B5CF99649 81627492F47DB587 +FAD7F0EFFD51247E 976A4FF06644237E 11E4D4B4E6CD1F7A 6527A6F889EC2D3A +574B4F6726454513 FA9FECD9E362BDD5 5DC967B5368F7E92 D6411380D9E2017D +5A8A6722AE5B392E 04681564AF93390D 8E7473A3DB5C22CE C2305746EDB9E748 +4386EEC834167833 13B64924D4B9D398 F68722B6F752D17F 5D5BAA283D8CAF38 +B1271CEFE61837AE 7E76E860E28C014E 046346EA76702DF1 F0E3891930582DF3 +BDB995A2AB95864E E0201D9EF3052968 39227B2723A1F1EE 8B48E971AD568A79 +9B7E2B0A4365F685 6F44E6A1E6D09332 226CB2DB7470104F 0AE8041EA13360E0 +E3D053FD760B1ECB 1C605BF1D4C7CB85 3C4445DA050F1E3A 72F104701CC9ADF3 +C6348D35643F2A98 912BE8916680F223 F60CC47DA31448CF 61074B036AC90CF3 +BEAD963E8F1F6CB5 75696C83A614C871 412733AF29300BB8 ED40DA54BA1755E4 +DAB0419C18174415 7C989EEE88F3AFF5 D1B7303BD301344D E02C64F24D7E6D88 +C4CB9FDDC5107ACB 9C9076AF94675174 437DBA2357AA9673 BC26E3BFAA5938BF +BC517AC8E44F0015 BD60D4E49F7AB720 AE8D3047C53B033D 514C7E5A5E665E51 +5A0DF2CB9881589D F4FEE41634AA99C3 A77A185528C204A5 B840D0CEB8106CB6 +4616367F720FC5D8 C9D4E1C945CA78D8 E691167A62F2F573 424D9021D2D34F11 +E66C4F1FAF3B346F E96D2190172E1051 548994CD171DB7DC 6BF7E494A4E7BA96 +2396F9F54499D0B0 4C6871A7A01E1964 DC9DDBA169FE7CFC 601729A9AA734D32 +789CEDF0562B020D BB1DC89D5B02A0D9 320ECFBF5F59D7F7 2461375CB14C232E +0C504E28E01B4BF7 61E0445D2959CE9D 1D4D918B43DC7120 A873079550231C0B +A658E87CA6AF1552 3B028E285A7A59AF 51E7124A9B9A0EA7 0A35FFC784CCBAFC +1594FB7A32275C69 5B7319D6AED6C6BB 8C652426E9582A8C 2BAA83C7662282C6 +8D5FA5ABF5F311D0 FC76C545775B8991 9355E4398A42F478 3F9C2F198CF28713 +7ED3125997378269 85CA820D750DBD96 369EC5D99105EB62 BDF686C05EE89478 +66AB5B86BD78D1C8 B9784E382323F6E3 D9765070685EBF2A 3AC16212EACFF1D1 +5629E61266288436 85C82CE350D121A3 5C33930628652D1C 2424DBDA800C1C58 +C0D8E69F0B8918D4 C34C614F2DCCE947 C3ABA60ACC4D50CA 9978BED41AA50580 +5D0CA2DDC26B6FB8 15A34CFF368EBEC9 4B12B3138D0B4192 40E2A0006B05910F +E3E9C1743A0F5628 DDE5E95B98861689 77E0794FC1DC71D1 6CE78ADC864F808C +F8E995D127EEB303 BA7EB37415CA1F41 22B557AC476A4C4C F013E74DE75D4142 +0C52ABA83ED03F75 71EC38621A6C4D9A 70F2CC5A4D0E49BF 423734D79FDAA68F +0F3D6DAAE8926103 3F6544BAADE76891 05921EF8B1DC93A2 9DF38E674F84552A +E16E8A06FCB8F972 63F9E856B16EB486 39CC06D6C824DBF0 42902CB3DEAB5C34 +9706FB251CE9E565 60F03838BB101392 C126730BAAB5AF33 F5C14EA193009EFB +E0822C2329F109B2 E7EE7D67AF014F65 DE3D95EE420B47BF C0A8932CECAE6837 +D4950E73CFF0FAE8 7227DA3AF7E84C59 1C5A4F5F019D7F43 B1690148776B2D77 +8F4413B49D46D673 156ECABD34409214 F3FC40E98ECFDA49 027D56ABEB6EF50A +5592F8ADED7B6E85 93FB94293B930406 1946E6D747C9DC6C 4E78BC9FB3A7CD90 +358D63FA8869DE31 382BBCB2C52DF264 B61CE641E0A58A3A 0848B63F5E1B1EB9 +A0FB1ACF4E061B5E 5A846E3B740C2C18 8BDFE7E589EE367D 8C6E5085DD461464 +2F76C606E7D89B1D 5B53A5BBD03208FD 215253A99A51659E 391C97B81B609D48 +87AEEE3FAB1DB3AF 656A584C0B59772D C20968187FA1883F CF60CA21E9D5B111 +00B5B50B9D49CC9B 0DD6DEC01C3B9BD8 07E03751BB0B50AB F566F50957F72169 +20831AFAC6214E1B B7B88DAB6A4E9175 7E5971964E44BB00 3F66519B26A48844 +CDF9DB144D406E87 B10DC433B7BDD71A 21C1589040AB466A A7FDBD70BA8C3284 +7D31F7BAD5D376B2 FE7350D5E5021B56 487AC15FDA42727C CDC78B1363860B1E +17871901B46AE17D 29C92EF97F8ED177 E9E01C3EBAB43240 A5A7331F879A43E1 +D8D7912089E9ECC0 CC4E2B4B6312897E CE1BADB19A7F76CC 4CE3B6CE3E3563C8 +146EEC3385D1A5FD 751FB6051ADDFF64 AAE7F6E813EB8CA0 B3CBFC3CF6249409 +4147FA78F3C890A6 40DC8B8E07B92B6D 3D51C799732836FC A2E001C149EE99FF +A884AE72A2CD9333 85EF9FD75A0BE015 F26E66DF42ADFA58 ECB9957E1234B0CF +60C7FA5ECD74DCEE 918F2FA284B7864A D51C849D9CDE8BBD A7FF47B57544A6FD +EDFFDFFF6B62427F 69FD262B5D2FFD8D 014134C9AD38F600 749237080856F695 +E62AB85CAD013D2C 863D9BE9A17FEFFB B41712A8850DFD39 91730BE847371A9A +C8F46E0B9DE3FB3D 3E6165BC2ACBE48C 5C32456F5B492687 AC8A7D00A341684F +040E574A4F0EB5C0 33B8492E2AF4F252 A2DB05CF6C3FC85B 5CC24C865957481E +E002AA49525E03FA C8F7DA262CE2AD89 D7DD507AE52D5FFC 22FAA19512E891F2 +9514E21434F410B0 89C32B6A4F01BB1A ECD169EF5F6FB2A0 EB3ED83160901237 +D9008F6A06561536 F754550F09359DA1 4535C6BEB8E53D2E CDAE99385F3633A4 +1CDE33CF662A1C08 23C124D3A9042BFB 050A68572427EB32 DA2B7CF2B1C6022A +67FA2275EA6A0479 244533AB000073C8 028F173514C2EFDE CC8DCDFCABCB4579 +C17ECFB83BF79907 E1D3B8FA59CD37BF FA58EDD088426037 25D606E360AD4732 +9F4732F7D9C96B19 7749C132205F5A51 2991CF2FFDE076C6 8C2539AD3FD62174 +CF200969E4417410 CE72D8A947E9C122 DC93F31289C70FE7 3D1EF77695DA8D3D +8172D37683463EB4 B67578898AE5800C A7D92BC7C9106BE5 CF5FA9C9C3451DFD +2697A0B443193686 F32D73081CAFCDDD 5B64D07803308282 F8F12EA53B79A5C6 +9AB7BACF82BC4AE2 2E41135FD38A8597 35B4143AA2C4DDCE 7B331F990F1E9BDA +A8DAC0B011BC685C DF618A4E94707531 0D909E5E727178D3 77EB65EA912A9954 +9C19903B7B772752 7A576CCBEDAEAC47 A3C5A4F04A6F39A3 A6D646B35F0AD5FF +C29CEFF45C3EFF4C C876CE7F38AECF58 B2E471A4CA4135D0 8D6F9FCC63F771B4 +6097BF0D0C478760 C3D822BF48208731 F14113E984ED6135 2E1D7EA9C577C9EF +912FE6FE33AE0486 F634B1D70F5A3734 639F459A1DCE49C0 49C689130796735A +D5281499A111600A 180AEAEDA2DFFAA2 C3CA9ACA45E6E485 2E6F8B20234F8860 +9510740FB697277E 5D52650DF855E05A 077D525066C999C2 D7B4B4AC5D4372CD +34AC82949CE27BC2 141C6C671B56518A BFFF30D159EDBB73 9D33954E41CB1680 +9E981789FCE36F4B CF76617FE31177BC D0977F8143129967 83387732A0E9D1F6 +E6AE9A669C0C6CE5 B54D0E7BCEF899B4 D52B1C43D789BEA3 6CBF6A76C43881F3 +5336A0D79B9DE725 AB30F59362CB2A80 FBC3BD1B56C6BB15 D3D756C0E83C6FE0 +BF62559D030DEF61 020336C8F8D4D5FA 05DD100E584B850F 8BC602D7D7AF5529 +2B4CBBE559F532F9 6C4A3925C1D3B8CA FCCFFB5338691770 404FCB05F3FA3620 +5A393E5313E2B4EC 290E13FECBA12F5A 944240DE8391E102 E3C09928A3B53754 +6E40751A262AC659 D5E1B49CDA73A18D 022081500EF3438A A4EC84433E3D3021 +841E06175818F36D 37EF279B34E3D7BA 938AF83FB95FF0F2 DA5A3495CCE026C2 +911752932B1435A0 672C8DE0B41B3EE9 7AE30DDD86F659F2 006870184FB18CF3 +F3CB91B50347CF00 F6009F203DA2C202 F67EA57A2A56651D E5E73A110184C38D +3A9D74AC7558851F 37ECFFAA092A78C3 AC252C17085BAF4B D29E60E3E1DE6FFB +3109C098B3649CEC 21C2009EA15BC447 93B5BBB5383E2D0A 40C0FC19323724D7 +B69699572968632C 9BBEA21FA1431838 30D97977A9DDFB6A FFF068B17F5BD6AA +10A6F14B7498A73A 406E8F926043C46D 5A7649D78AF11192 1080BC3B4BFD58C0 +7F09C81A7F31A221 53F5AB24FAB5D0E5 D8C047911DF88F66 73B20D2143164E69 +D03363D8DA64E738 651C39B8CE83EE96 C1ACB8EFA78A056F 6CAB0A4B2B95DFE0 +B5078066BE5EEEBD 746ABD0204B1AF20 452779F6A847DBE9 B9A62E9B42960199 +66673ED36B1A6C3B 3D822B25AC4D735A 47B244F721A218C7 9D026CFDDB094EE0 +08AF4DB2A50732C0 DB09FAD330C4EC09 9B07DAC70FF7EE39 0FDE994D1503B555 +5AE4AB5FB43BE3A4 E266C82BAF2BA2D7 1BF7F9F7E6C2E676 47C28C69916668B8 +EE2DAFCC6647B1FB DD4E06F36A02A62B 50E8F3C5D192EC8C 2074FE0F67D3A579 +C8C9C36C03B46846 13C65737D88F5BF1 D787D8AAD7825DA3 A4952F0044921D28 +E118BFFC3B93389D 4C9802FAF435DE3B 9F27163FA5D6F3C3 03AA96D42C297A06 +96019F6320066053 95F00499AEBF068B AD27D008A9A42B4C 15B90578F3080DA9 +15B21FA504C4CA57 6F669C32D9B7D9C1 C42B1365B6E0128B 978552913D09A5B3 +F38EF7E8A35C116A CFDD9673C6F45220 0B4A3A934AFE8894 D1516A40526662B5 +7C412D237C2412DA FF99F87517D4B1C0 22DB6645965BF018 680AA3340E6E5A6C +E3CD8004E6930E4D 0A34372CC3AF7189 71B727638FD6C401 F2E731C4C6AE1C23 +70B0881ED731C677 98CA21E89FAFF0BD C672FD8FE306483C 74F50192105B12A5 +1CD72AB7D384143B 0C05F0C3F1589A4A BE4087C65C7F2277 6AA1B1DCB527C134 +1E77A8FEF1B9ECEC 67BB926EEA488871 36EF55B177B732AD FA8EDDB87083DD30 +1CB565D17CAE918A D494A5F6CF532FA7 0DD90A509639DF87 BAB1BC0BF6DC7D6A +C65A5C4AC489B47E 46F022DF0272E5E9 9EC17C0F4D794151 732845490617D733 +94612F6DEE4961B1 F79D41B3ABF4DFA0 D9766D465AD648DF 4EAA6200AF6AC5BC +64C32AA69526CCF2 B4F20E2746AEE8C9 0FA235E59BAB18EE A158962C8C2029DB +B11414F3B8E8F6A6 AEE9DE9A4ECDA95A 04A480584E7D3332 570537786AC51549 +0508771EE40898EF FF6E20E51E030E1B 625227B1ED135F28 62D85E2CAF059044 +8FF4C3B2DC383A1D C43B9A0E0D528C2D 7EB8F3610CB6BE38 20A9CF13C64C6DF7 +7790F9EDC4EE2C99 541938EC1F3A6D83 C333C426BD4E983C B998D9CC98144AC7 +BB41FAA73FC73B4C 2FE95C8959D0FBF2 765EE5E5043F998D 845903DF47689C7C +CB01F128A70F25F3 C4FF09A220D7634B 7362DAE362C66BD7 99472FA8DEDBA36F +00648B9F015111B5 4F5A0DEFE0D4F980 1747506D7672CE02 3F359EB2D4FEE09C +716DF1E9DC548986 AFFC6B9506895BB9 12D4061700EE3F1A 1741DF444125ABD9 +9A8168B5DD3E643E E835EA1F7787E1F5 0D32869DC598EC4C 111984AC16396D99 +28C639C3BF65720A B9260D5A9C49E014 A3715412661ED355 4CFE3AC19F9B0499 +4F8DFBB3703D7A33 E2E40258EA4749EF 3647DAE1D26C0F1F C9E5B077EEDAFC98 +F868871007ABD86C D6BCB8A867C278E0 3E1D77E460D92EB9 64F4F8383B527DAE +C4C5952E71E6CB6B BA36BC3A4EBC4E10 0CC2878BCBEE9106 13BD3C8384201666 +39B295D6A687E4F2 B502E52253461C9B 62C441FEDF60ACC8 BB58FECFF39A1B25 +5A757C1E6EDD4FD7 6A45BFDBAE34D975 5227E982A77D01F9 ACA8ED16C1F48E4F +E9A783C56352B263 4422080B31CD759D 0B0590FC175D72D5 42BD027D67559D71 +6BE1014CF846A333 0C6087D7BEA4A7DD 4E4EF4D1B99FF746 EF12A017192BD542 +A8F57025AB74A192 A06CB02C31B9D258 25759F3DB5758825 37BA10630728BBF5 +8CE74287A2F379D2 ECA4E40A463E668E 10AD56A8A4CBB10E 1A38B4544C2F642B +0243FE3D96FD6D23 8B2394CB9CB59DDA AD7EA1F682C11D1B 24173685A2AEAB04 +BBB037B37E2C97DE 1D4E0B1D7337D3CD 5D4B18613FF777A3 8C2051C738906E94 +EC4B7D6B2C0A6A1F F82A50F030F0D1B0 BA9905F27E1190F9 F633E609CD992C13 +2C41BE9074D7D55D D9575E60E1357101 B59AFEBE752793C7 9439BFE982941A06 +80021BE84CDC39E6 4280C9CE3F25D16B B4C701224EE3F926 712957AA730FAD1B +2801066A0D10FC41 7F5FB3FD4DF53EDC 42D3BF5119924392 B8BCF1B520BBF85A +4B7DCA115BA78D25 1455788E16E33F6F 6455C5B34EE7D7BB 37124D9F9B4A18A8 +52E9696DA7EFB94C 2129B942066ADA64 70BCB3A00B389D46 5E9277E07A533CA3 +3F0F1CA9888AC28C D059EF5EFDC0926A B0946A5B51ACA4D0 36F5AEBC0C5C5AB3 +EAA9F2785360FDA3 06EBE8D9F2CAAC14 6332513765DCBBE2 B7A7AAA642A7CEB7 +70FBA06E47DBA76C 17D3C8B75B58271A 17A43EB2A3584B7B F34E458D616B6F93 +C24DA72391C50CCA ADDB692D0037809B 90088ACC6B85D19C 3D0D0639DA42C0A4 +5FD56A363984CE6D 97D78FF806EBE19A EFCD4D9DE9393E11 47108CF7E7557444 +DDFE41183A59524F 844B9EAC510D0847 60606A7E8A8E2F2F 26D4D56C398762F0 +BC318997F0BB4B0D 67DB0D4205B0A47B 938C17EE2E21FF3A B049B92AE9EF5884 +3FD31236233FE13E CA49721047055C5C 430099B73E853F43 56B30D0346613FF2 +EE5C4CF29A3D4BE7 87522B1EC2229DF0 8433B364FE2D43EA 853AEF0C601E1E4E +CE4733DB53023EF4 53CEC1A7965F007E 6AE8054A4086B6E7 4441BCA5F779C06B +A433744A117A38AA 87FFCFBAF0464352 A7C5F36C9E8BF430 F09101D4BB8092E4 +6A7CB9288AAD8F05 91E3E9A055716D67 244D699C95262EA1 F52877A822FF9475 +CCA9229C0E2E06E0 17CAD892B486AD95 6148D58043C0A8B7 C3A842AC83035512 +F1E429D9D0E658CB 77C44E80DA58E10D CC8081B76C0E35B3 DF7FF78C6BF4BC20 +B088D32A98D6D808 36B94E96A5577FC1 6E0F5B2D6B60F103 D75E8325E69711E3 +933B864412A19590 1D461BAFF315583C 0ADFA1E38B434BC1 F5B4BA76CD4B108C +633A917D15CBE270 594FA0961AB6811E E34A64CB61C7C799 849E31B0D8493051 +030D6AB773F0F39B A00FD558D1C0ED97 629A628787A7751A C933A196E5BB4E0E +A3AAE2E165B563EE 49A658AADF0309D5 D63471CEFB8E1C29 918D29341CC3F7CC +A5929E4A82834629 66AF91DB0EC9103F 94F6CCEFDBE1FFC8 9764DC96E67D1101 +8AC912537D958F09 574449A41C25EC73 D70FE3E5A759AEC0 7376802DE1B5A09F +5A9B2B35094CDB54 74D990FBBE496AC4 79E6A8A38AF57773 663082EE790EC375 +339F4B714461FF63 94B7A57478773BEC 1AF54402789A90C6 27B5ED80328185C3 +19500BF8F20AF5BB AAE7193D7F813495 17443B9CCBD8BC5E A10D71652235875B +881EF6174845343B 369ADC2F3C3EEF6C 30123D16A9E81759 207E2BABA1E8031F +E93C6F2E9EA6CC1B 620042FF8829B19B 88E69337EE52ECC6 A5D31A6EFDDD0509 +4FA77DA39A325DE3 FC0216E4FC86A046 A17106302B53C95A 2863ADEAE08369EC +C507D3BBEE30ED5E C16B61DC6F8B0C00 7B11CD25A7299EF4 A1DC1DC6C0ED885F +F1CB1619CF403823 C85A72EB826DBFB9 93C48F14C0DA87A1 EEB628576F4BB181 +268F7DD050A6CEE1 9468BDE85C0A7E81 08D467631431CDBA 2C74AF3A300B09A9 +4416807BFE116A95 27F3A12A32BDEF8E 08505B388E460CFD D0E86EC78CDC0B7E +7E93FB05C2C306B1 65127D00BF93B48F 0DA5DA5648076EC4 FDE763EA26925591 +D1C70D50C96EE35E 42A7F533DFE91521 B7F90C30ED2F0140 77E31394A9AB94F9 +8D708D7D12D18102 0D5C732675E3382C 72D9E3011639348C 2F3A159F95A74441 +A1C49BC6AEC54986 E25156CDC6F9311B FC985987C962AE62 61BAE92C133CD7E0 +A662005BF62055C9 90679967AE5AF1A2 D58DACD223DEE0D0 5DBB3022982E9C75 +7A6BAEC0E62ACEF9 C97A30AACE3EE19E 6E6B09EC6F38CAD2 917D183472D535AC +5B463291E14BC38D 3D89F968FA015F47 61C57611C88077A8 AEDBF9CE5BDBE1DE +A21380B90878BDA3 58EFF42CBC2768F2 BC22FD5C8C38279F FA4C5BE0740C3BD2 +AC839CEA447E068C 7003EACBFBF59D4E 2410E8B1B538EA29 CC35FD7D91D4FC2B +4A0B4FF1373A5993 E3773040CCE5EE7C 9ADCD6F2F218B6B0 ACAE7F76CC6387A6 +6DAA3A2A7C2147FE 43460A6D94FFAD67 55C3AA0426E41186 1FD19A98896C661E +C4C535CCB77C1896 485100AE23775E43 E641A510E51C7A49 92F5336B8F070A29 +E13367D0EA9D30EE B63E9851FF2D9620 7B37096DF34148F4 20ACAD5227EE274E +C3D9238CEBB03776 3D92C4FC6DC4B0B1 BBBE20010C688B37 F8FC1E332FF431CC +0701AE223F01E7CF F93B99B3A9474520 89F4A15156B4C27D 1F45CF780D58B56B +1881D30150D16A6E FFF4DB6BC4363494 F821F249754E8684 5F41004C569CB1AB +7E10CB6829752A63 EE98E8A37EA10D37 0FD480CEC6CF45CB 0E4AE24725AE2E4B +492229EF3F551AA2 0DD08CA6424FC271 8A7DD88EA1956DA6 0E7C3E1F41181036 +5EEF58B6E1A63B7B 67D4D0E1AE1F0E2D B0220ED20E390921 38FFA1A831A46D77 +07785DC120B3B4E5 4B7E4FC0F69562C2 7EF1C760A13A5034 3ADD9B002EFF5510 +40D95BB139D80F4E CA9CD2E01853265B 508EDA82EE5ED0E2 441B9A9F3E26BA45 +B46C51A7ADC80F4D 069E9EA3008F26D8 78D317EB706A25BB D66AE008318E56D4 +A1057696B2AD1D13 1F8ED17724389CB0 28296DE133566BC7 34E7D4818FA6A3E7 +A72880C6A3DF5C79 58217C6F23E06BD3 4EB3E3826E63AA12 6B546A139DD80C28 +C08411D9ACAF6EBA 8AE1FDEF535F83FD 055B1D79643C049B ED15568AC6FDD70B +A6930E3555D93072 7C59F90882329098 46D874CD9C012604 ACC54D816B8B88E8 +67B3A3AFAEB446B0 B787521672791635 C593029EF8F9E334 9153D633B0BF3445 +A33EDF4DD71ED24A 17E25235EBF38C84 287023D3C0191AA4 76AB7DF167159BBA +194C13B8E10A812E 6AFC8CBD6420B7C5 7A579AC52F13D23C A582FD27E6E92B15 +FD5436E97ACA71FD 8E28E6811EF73069 6BD0F6192D9754EE 384E1763CF64F08A +9276264DBAC52380 8E388FAEA9637414 CC22B29B9935A63E 85B726F9D1B42EFB +4363D81FDBC202E2 6EB3F8B06101CDAF 5FF15501B92D6582 B89243EE9AFE68EA +B22FCB0ABE1A5F2A 515E5027A31BE7E9 F99BC785C4AF173E 42839284C15C72EB +3C3B031BE2126AAD 0FF303B0447A06C5 21C5A3595A4B1EB1 8EBB576007E0494C diff --git a/testsuite/slh-dsa-shake-128s-tc215.msg b/testsuite/slh-dsa-shake-128s-tc215.msg new file mode 100644 index 00000000..89c3f27e --- /dev/null +++ b/testsuite/slh-dsa-shake-128s-tc215.msg @@ -0,0 +1,169 @@ +2C44957090A80E5E 80211F485C69B504 64DABC318A9731F1 AF3B352C068A2264 +4CC00EC771C9A333 D2A24079674F89AA 2F9A0ECA7472DA3A 0C073A34DBE100C0 +9B8798E613E59F73 A431A465D23DF8EA 6F110E074ABEEBE4 A621AC103D486477 +0713B76039F9BB3D A259896056815CB9 17777C405808D352 E7D1DFCF2241CC2D +91FBE72FF61061EB 5167101E10D2B686 F1CF520976F572EF 42AD709AE40CA4B2 +7799320D074E886A 81F235CBF7160057 6CC3DCC7F444C7C4 08EE7D7F7AE2DD86 +320735112A2349CD 97464E3DBA7ADDC0 2CEB7DC293D6B9AD AB5D30511C1FB0CF +30EF45D5D72C42EA 86709EAEF1722138 409A9F2BB10D7677 DC0C3D6D0DD03E35 +F53FB0DBB31E5ACB 162FD00A4E96B9E8 CA3D215A55A60FE1 CBF9F332F8591956 +7AED45AB5BEB7662 F4F4D1C1EF4170D0 3E36C62626B9223A EA0CC729804FC0E8 +F0BF4CBF67F71F91 63481478E0FAED92 227481B9420A15C7 ACACA27B7CD9AA08 +6DB2BBDCD39344C0 EF09303C80CFE68D 8743032A582D9AAC 9C2053ABB70E9A94 +849447C78875D626 9EDAE6DDB6B1E7FF 585A8A176E2E9DB4 794352AAB9E39AD6 +E6E6ED67CE3EE711 5B7159F6E214F0EE CA0C8E52E5817B71 FC16066F873197F8 +D0C9F1A6A0B10CE7 AC6F98E9A099CB7F B3DADB51DB6BA0D7 8D8D19DB259481F3 +5BFA90AE93A3C8A5 5D6ABD855808FF15 F12B040825F3F260 77844A68576A5169 +F5F1F2A0AFBDABB7 E30144CDCB185CD7 F6704577FD76E54D 9A3F6B3F5BABA6A2 +38899DB5E0F68537 A3017F0A408CA0E3 C3A514FD0C89F293 A6D29635F44EB962 +0C845A6CFB207D0B 6E5201F00A8C1F30 745F8D150EB22792 F599D55D01F389A4 +F2899660BD154351 BA22B0341CE72C7C 2F98287DF3ABECA2 E518813E72382E1F +861DD836084FC99D DD81C0FA550CAA76 D848952F120FC2CA C09FAF86B220D27B +1D0640C75E05C5C5 C83B8DB576AD4294 9E345F45B34C26C6 E5373BCD1491D96A +3636A798A049AB37 8D497C38D6A801FC 6DC3188C8B09B2C5 9FE1110A3C520E44 +74635D77A9AF58B7 C0EA4E6612C5A7F7 41782023D54ECD94 AE5148F8016B22DC +AF8EFE7D9F42758D E6EEDA599E6117E7 D912755F2FBED273 E1FDBA1E3D3FA59B +44EDC729AD810AB6 D74FE1A7C1AF9268 708637A60766C977 B7ABFFA9F94CDDC8 +969C0830C9876E11 B97CC5F936891FE0 A7B36B1B073B374C 1E91B11B93C4339D +481831E08F391CDB A13FE23EB2E70868 C7936E2DE926E1C7 7D986AE66310519C +BB78E13FF2E67315 E15541E803B5E488 77142BE460EF152A 5724C7034FFD31E3 +28E5F39770807DF3 77CE1CFF5038EC45 9CB9E394F37982AF 0F51BF6FDAEBE3FD +549221EFFA80415B A81F5EE29E257B16 94A1EF32FB857649 D5ED18B1DC2612D6 +B1BA24CC4F80E78B ECDF1A6AC3579D28 039B95ECC295B879 5E7070E10C2D3AC3 +89223A3B4D7FB22A 8EB1C7B3FFD5BA46 CF25DF16E99CF9EB F6724B02AA753DB4 +92193F7E9D6C4DE3 B27F89BB80AEECAA 721B574AE2CDDDC8 A0D8A79B6265A917 +6D4862EB7F2D6126 6FC1E4C66499C49E 0EAD67548DABFCF5 05BEABFF93BDA597 +46ED55444DFA57DA 6FE5F5DEC3E3874C D73B5807FCEF05C2 8DAFE6D707D00B65 +A0A7A9ECE69BD966 B46344936D8AA5EB 95B3CF9F22453EEF DA3BE026610C3DB3 +78636968CF1DFFA7 DA7B4D3ADFDFFD6E D647E3458384C80A 0F7809E642B3E201 +9E23736BF87B3379 F85323EB504E68E3 2123DA430EDCD7EC CE62E30296F8FAFD +669D8948C31F91B0 8BF2215B70976CF3 7B9FDE3DB1499E28 6B368A8A2CBE6B1A +AE9482BC42E38200 608B8DAD04432259 EC10C00113A992E9 59CC2B451FF13C18 +9F269E93F058043B A1F1E64432F8F497 7CAA7C68D60B414D 287315461F24F246 +CFC0A6F8DA9F0468 78970C54F6BB5C6F 124B6A11380CD845 1F7932F4C17DD3AE +46DCFF8F6706E3E6 BCB474AF5060C65B 67D7C3F3D23823CF 4F0DFFBE85C01DED +465DB4BC16C446D6 3E3C4A5BDB27531E 37B8B5DF6A1A0BFA 981553ADDD212306 +1050D6A37EFD141D B62E0DDE33BCE5A2 BBDCDFA9C72E3E1D 0133BA2AE1FC044C +1A7D18C0CA0FFB17 627D0DA9380D2D53 4035AAE26E3E8429 11A1B37914769AC4 +D746EB600F25D766 BE4EE74B574FBEB4 ACCFA17CC0DC9306 DE27E6A275B96549 +C865F9F7C1DA22E1 B16BBE01446250F7 4328337AC06329D0 3DAD3B310789D17D +502CADA84702DCE0 4961DFEAADD0B319 58ED2B4636B57676 0D40F99EBA6B4390 +556CD2F87BA9E56E 6E6A3036D9371137 4BF59D4A1927E922 2429512C704B4A79 +98B822BE08FE0EF5 38456D20D89B9F5F 6D6AE905E5DB4978 2ADAF78A9F1DB4DC +8A08D179967EA134 FA8226639F13FD1B B3F04A2427D5816A 32B93CAA3309785E +A80D34D5B6534FB7 8F11DA66457B3167 852B94177B5DE9BE DD88CCE6353145D4 +E86BDFD17B824747 07C58111935FF3FF A072DB79DE61CA88 DEAF58FE9B577C11 +226EC6397AD1DA61 A5727845E5C86E36 86683EB2426843AF A55AA255E3ECBA80 +0B67D902957A67DE 241EE221106FE281 053CEA55D88878FB 705CB3E1B0FF7F87 +9488B5C74A747270 BD173ABB64B30B58 3C535463734E08C0 2E237708EA25F55F +DA46D51CC71ED55A 9F5DA4E148A71FE7 649E06A65E59CD6A A47CE51FCE12CE62 +F88362839B70F643 FAB3BD40B9AD3C14 42451AB987EEE23C C9718CBD61CF0D5C +9E5D8E85BB622D7F 578E94419697DB31 3946EEDC6F6CC086 081DE5C9F04DD18E +F453D895DF765A31 2289254875EB5AAF 3B7C0A325E02B076 F26EFB169450097D +D6092CF04717AE44 794DDE1FE2B3F504 337919F9CAA89821 431FAC8DBAD47E01 +A908FB6AEF8E2954 76D5DBF723F3959F FBB6EA1251B286D2 731C7E706B241A54 +4402137852F0BA1E 8C6BAC517A0C3DC2 9017B2D429C303BC 814E5AAAACB6BF23 +26560360B625B7AE 8B14D5546F0720CE C62B272B4740AB47 63C99D099F463262 +C01B589BDB04EEB7 43FA15D40A66861F 57FAF0DF19803E7F F1DE64A5DDFAA9A1 +E8E0BBF52678C9B7 0B40AB86C09D26C8 6E7A0448E71B437B 117F14A4BBF9F8EF +81D671312EF59A5C 42D8FB5DFB50FE06 83209ED5EA2A775A 12EAEBC0D50C9006 +9EA7D6BFA3A9E90D 50EF735F755666FC 40E9B04C00969758 9515DB1703EA4BB5 +3771B3624C3FF033 6D9F6C82820C6FED 02EEAB20C1C87751 0923FE93DD56ACBC +71F56BE54368EAEB 0A721478E8A17B93 A8B86EB0A7BCABA3 56F7CA362BFAA582 +175423FEA017A570 9E52DD6D6BCE48D4 5A298E82D8C41194 F30CFDE9D9883EE8 +DF80463175D5BD36 3B4674B8519FB054 E0A4BF69E385025E 8598D35D4EE0B712 +0B2F0C1B22297819 937108DB22972DC7 6A4CCA919B4917EC 9C695AEEEF50A743 +22964F7E661AA0AA 355AB3FA729FC7E0 87C3AEF624D9A95B AE7336C2D4AE7446 +6B7A7AE977B48A18 42EE6A44A5C55FD2 2B2E9C649713BE9C 80C733F032E299A0 +9F58C0D272F30F23 27450AE3762922E1 6468A56E4E139F2C 4DECDC86D8B15D4D +D2E16EC7A7C43BD1 9CEB7737400C895D 4E0BA290306C810D 206796ADC4AC0E9F +7C4AEFFF8771ED06 F9D5DAD021C093E3 9AA132E750DA97C1 E1F53994CB35A776 +BB99F7D4EF23FF81 F3F36BC82D630259 FC61E26C22CA3874 1EDF2386F2E0FA64 +9E0733231A90457D 0D55B1894EB6A005 7B2B74C599457EEE BC116435A10DD7A4 +7CB97ECE687E8571 277CB1A1B8F58583 14C593C984771E1D D69BA19F016DFABF +F7697ED439B5CA0E F4F93CB762558A5E B165A29BCCCE0DFA 8EB884338C7A6A64 +3414F7425337E8B7 6160989272ACD55B CE2E196BD12ED4EF ACD20B226D2B6E8D +8CAE6338B0588DCA D174CAA1BDBACD99 DBF15EFB07F61397 4DA89BE002B92B2B +01564C3F45B14D2D 292062E4C6219747 B30DDC995770E3D8 EEA9E9FD86B7EB33 +5990C2550180A7B8 8AB66BEACF014136 A62197EDED84BBC4 AB4EBFED69D7E395 +0B31E607583D694B FBCA1D12348F27AD 9653D56A4CF7653F 981B926BCBA382A8 +C8A07AF7AED88A7C 8BE4E552C454DF3E BA8A90EB80AC3685 2894E0E2B9F52FE0 +1CE26714CDE13727 3E5616837D8ED378 FE4C60FA849E8A30 B548D8E6FFC8D2A2 +6862E097CCDE8B1A 85148A0BDCECCD01 7ADFAB8C989843FD 7933F358FCBC3BC8 +62F3704A8F4E58A9 D8F893C79C0463A8 A0D5A33B913596D8 AD70E62487631318 +DB261040956ED71D 1B3DC12E70F06E60 587ABC10D517EF73 3405B9666C73E69A +2703B70A65BC235D E5785381A9CADE66 D752976EFE3B1C93 3176FCB9CCBC966E +BE6AF94E5745B3EF E9BA4BF1AA21E930 BE852302E1A50520 520E5018AC0C1831 +69FDA392FB9DECFB 557814035C6EA182 8EA8C6E4EE006C62 FDF4EB43410868FD +BEA85F4CA378D985 6A11024D0702153D 529121150AD6D9C9 4A470BD522570D58 +C61B0672ACF414AF BDD0BBC7C9B6A908 C90E9A4E612F19C4 1A0B40B728975525 +D9CC04B00BDF4BED E08244239BF3D58B FE336C787CE625CA CC1251F7E1F43202 +F456BB9F42A73C36 86173586FAE6D76C 0322AB5A994A7C95 6C46584815D20515 +083E09725FD8AEAA 8E06C2F97C911125 5A67C9E7093A41FE C91B78F052CA3C48 +10B1170B0B31D3CD 09B594DA4845B0E4 37AB12521B16C620 4A15A333A6B85F23 +E10B3F2D7549D06D BAE4FDD05A8B146D 4F1EA9B2ED1D5450 DE8D54DC9E8EB207 +85EF665CB30002E0 5D00706F66A5AD9F F142C158BFE51247 68F22D78292E6D2A +546375082B05AF11 7668970065BC420B 057E0B0BB8066AFA F8926263117949F5 +00D52CA9B0B31EFD 4E7A5F2ADF0AD9CB 553EF172246E0080 0D25BB4903FE8BD6 +92770B3F87984AF6 F12F79B8877720B3 DB65619D4FDB6C0B 15B442FAA90F2CC8 +33E6A1FFBEB530B7 DB404E907915344F 2065582FC6BFBD34 76C9F4B85025373F +C0F3CDBCC7411834 95275C0C10E3D509 6D9220E14FECBB00 A36840D7E9C6DF38 +4D5E744E1EA2E141 46A71C82C0609DB7 A0DD7F2F5D859E34 42EC5EA8825FDCB1 +AA1C6CAD9B75E7EC C17E66ED21FEED01 11C336C5778954BA 0C0FC4068EA3BFAD +953D80AD61AF7AD6 A3F6B8B23FAB4407 F2EC4B410C71EE2B C9CE5D154C8BE37A +30A6986505DFEE5D 04423766B41E8969 251191711DEF532E A2868D500C7F19DA +5D6DD0C914691983 5E69315FA091B157 1E6995666541E800 6FADCE1E634DC736 +A2D7F86675A8D3BA 78F7B306F0C2DC71 A5F19DD3B5BCB256 D44571E824917B11 +6F22227D035748BC 3D4B231897BC46E0 96F2B0DF5F3758C5 55FCBEBD6410069B +0F4AC237A3726455 D0FC0B0E82075292 03D5F92A2C8A5C32 5AC6F068AD18B848 +59A520EA4E4AB58F 1DDC69BB69B28B45 656BD61C595F402F 341182580281323A +B774C10D4CB7FDDA F1528A6CBA9043DC 1FF2EADF536FBD1B B36CA24C25A7E2A7 +48244CAD8FAB374F 4B298C177BF39CD6 5DA700E4297B5E03 2250B9840748047D +69055F5767A0841F D6135AB173DF6C6C F0A9952A254BACA8 7BB44E13CA0E63A5 +DB00F6E75F8D80F2 D22530D523DAB770 6483926AEEE07E60 ECBFE4E893564407 +E97E8C2B4FD0EF82 13830AA3AC996860 9CE16A0E154C2468 2B46B74E109476DC +C8DC6F8C3A5351CE 92A7B71248AAA6A4 0EF47C0A330CE359 0AC77FA19E812ACB +96534D533E765518 EB9D1BF9A62F2FAB E856D03A5F0D3015 30AD02906C3D6BAD +A05D4178558FFBDE 2FDB17632214070C 57EBDF0A2FCA28D8 CBA3E2395484F303 +003D0DAD3B8697C8 61FF0587E6FBB812 E7571460416CEBAD 0A7DFEED575CDE34 +63FD5EDB26EE646B 4C21761A783356CA 903A9633B957015F 18349CA0F2E3E9D7 +197DBA3DC5484C7D 8ACEB742CB04E1A6 1EF1D04034F8B21E 3B2424736CEE3A03 +64411E59DA74BB61 7ACA2B6C753C833C A7088E2CE74D1937 D795B181A9C748B5 +3A2C7F4F4089AFAC 1EB88E4E2F8AB3EC A6CD3BB4A47430E3 915FE38921D91908 +185BF628292A0AE3 BD33A11730AB97BB 1ED35BC3D0601130 55A8794B6D6DE0BF +CFBEF9C745D2C001 910C15B5A5868C0A AB50F70199E8C711 223BFBEA2B9BEFD2 +E8479DBCB6420B15 D5F5AB9872336C50 92A5E75D3FC9076D 7BAF0951E895F63C +A487E811D71EB092 AD36CAA05642C02B 8CE38022D89459D1 5974DB66D5B94CA0 +9501DB335EF93412 C8C0F1999A60E257 15DE0A35368C3E7F BA470A0B3178539F +D06501389AD60997 18B6AF1714141963 800DDF28581D0596 3A750968904CC977 +D705ADB4C46264F4 0663523C2378F4C4 B09B58FAEF2BA57E 19C59BFECB10FA6B +F2D29009D8CAFFD9 08CF53FE9B1F5CD5 74D5798BB7BB4A67 0F867EC33B6DC35A +61EE5B7F4E689929 2610B63A93B40498 88D76B8F6A5C594E 52DF7271F426E9BE +09E6B2A0B8E5ADDF 64E4E711099C4781 F772E9252BCD4014 8E1364FC48FE0E0E +21BFD6DA35FC0A72 FC975CAB70E862B7 DBBB6F02340B7EDF C0E89CC257AA77C1 +9058F96B54223C67 741E30AAAC01FC2B D6BCA6C0BF9E671B 2B2AFC72637F902D +4209AD6D13387381 7B2FA09C26A90ABD 5AFF42E8D7B9CA3D C50CA4C7A4B89615 +BA5654B7BE572B18 A47D7A8ADB2C27CF F2A02AF9944B8396 C06CC43E5118FFF5 +B97CC94D79FD5D85 F9D6335B508BA989 4BF5E0A4AE4F9283 A4CDB41CDC24EFD8 +D8CA1585B672C4D2 44D84926CF286475 88A06340F0D8C0CF 027FC03ED0A25E43 +FD0283B401322AAE 35D07C6E1E940365 0C85BF3A68ECDB5C 7E17B7E121FAA3C1 +4668BBD38D70FB48 DBCB2DCB343EE6B9 61E1397364A4ABB8 D61024FC7A057A63 +9CB1AC054E644745 F823DF14A5B16CA3 1332E79B5E3F73F3 6D0937D4B6F36CBB +DFD27CA1E1FAEB48 7D97B2D79819C10D E4DBF0E6C05A3618 538EFF39ADC4DDAB +FB772D67BF517E04 18A8F59458C6826D 43E598939F68320D 3A3BF360FE04F072 +2B0A9E1A8604F37D 6E8F4EF367705446 EFFD3E9D3609B69A 92B46CB2CEEC9367 +9C5D05AC0D716A81 83CF9C5502C5C2A6 EEC14D916B8CCF31 B7AC8BF186764C0A +E551B92A1742083C 8FAA2A063A6D461E A6F2281BF778B855 871CEE15ADFA2BAD +D5D6C349E3689916 DC440A23E2574DA6 C139ECB22321E1A9 9A9D93B059E5819A +CE0C5D8714085792 A54C3CD82252F21B CC48FA2E95F9BA32 5DD8513AFB3E6219 +1D2D76D47219EEBC 6781ACDD533F81EC D78FEEBCFE9FC745 E1CFA102C4BF1451 +2A9018A33FCAAABB 04F8CD5C3E9B01FF DA15F9108F8DA935 D0B69F1CD5F2B435 +DEEB79553E5C02D1 9F7E49A8D498FB80 EB76F579F4F33CA3 E656FF419C49394D +A1A2F4391BED75D0 8FEE03CC308F8CCF F73B650F4055D8D3 259442B42C91C0A2 +4A7A386167F2BB50 8535CFCDC6613828 0A2BD25CEB84C7D9 035C2CD73EFB055E +BBC92D69B896FBC9 985093082FDC3051 6C80AF32EF7C6B78 E3F0F763BB53A119 +3DFEA9F7B2A4A9BA 5EC1D956FCABC9FB C0E82BDF15435C65 C0E00E62505A8B71 +A790B3F8D7F13997 60C4754BE12C58F1 5347BD47C548A9F1 F781E8EC3C0A7ED3 +0DBA83559D1C437E 2FF027BE3453E6A9 CD4A6CCF2D992C2A E551151B6F698787 +83AA9FC8D5263CBF 17EBE0F1728F420C 9C5855C391027DAC 83587BD9DC5A6A10 +E1 diff --git a/testsuite/slh-dsa-shake-128s-tc215.sig b/testsuite/slh-dsa-shake-128s-tc215.sig new file mode 100644 index 00000000..cea7a20e --- /dev/null +++ b/testsuite/slh-dsa-shake-128s-tc215.sig @@ -0,0 +1,246 @@ +EC05CF2F20AD5120 CBC0D76A2DC35776 F0CB66EE5E957D99 684CEE3E20E40F71 +DB7F084B8CD5D17E 2D8FB01943B5B665 4D944255FF18DF17 FEFDCED047AC0BB7 +B6BD643975F77490 479FB404B3901C37 EAD64C45769B77B6 5BAF437C1905059B +D52EF67DAAE4081B F63EA79A6BFFEEFD 2B0988A2D564DD47 BBCC710E13838AC9 +07AFCCDC7A36DAA3 08144AE2DE131C96 98329FF102DED179 27351DD0853A71C1 +D3C1F43813DD037A A77BD15A80DC2096 36F1C731178304F2 EC2DB62883FC45CC +2EA85C5A27C9F2CB 30FABC1474BED318 F834125C71D59085 4B0965A7896F6B4E +F03BC5835BB95700 C004AF78F3CFD5BD 1772F645B11B5E84 B176E81522B22900 +23BA386B439025DE 5A72A0F3F20E1A56 3F0BED91A94256C6 19E2B213C5D5EBC1 +6EB1C387F0EBFE5D 1A0F5AD70A5463D5 F2D8F184A371132F 68F3DC9BB11C9461 +339B282000B0419D E44C5005D57FA44A 4EB22FF11A9A3B09 8350C9D85C5646C2 +68ACB6752F958AE3 E3DA87B7CC59280C 750EDAE217444192 0A20F9D90CF84FE4 +78FB376A610C0190 61ACA014C6761883 8953F40A61AC32EF 9CB7B295E69322DA +4F79BB85305CE1F5 1077703182500A42 C3233C723C0DF971 1A45BCB740387A23 +CC3BD1FB3B9895CC 204403C58DCC85B7 66E6E0F402D43356 C8BA56F863C6435B +16311A6AAF6BF0D7 3EE556BED9C75F1D 2D43CEC3D2ED4984 B29E67130CE1E5F4 +11DA8764C9A49BC9 5D4EB84854737CA9 3AD32DF3AC4BFABD B1F41B87D203BEA7 +9BC00C7FC54129FE F210A54382D8A78A 271014E2023E1231 DDD8707058C5F206 +9B759ED79CA57DC3 FD379F390F18EF0D 3CDC3D5805C82FFD D6DF50138987DB5D +31308C42CF7F32BE AE2D07B082D37517 6E951DF6365DCF84 BD52E0463015BCF9 +B6EDDEF826EAEE37 B2B7F6AC11D7A1FA 0734D564CB0D956F D0F3F9EC308A36D3 +0D22548EBC600826 BADE1CD54C5D1BD6 D9BEFA6DC0EC74B5 B3AC37E148B58434 +8619C359D051231E 31A33102C7D42084 CB4ABB62801E1C20 C90D8B75D0108C1C +140B8D44858A8E07 38AFC66F089B5E90 1B37EED4C13D887D 0FF2395798849AD0 +AB82D0889BB04C56 368A0764131CB221 5BC5597DFA88EC5B 6C587A09077C5066 +89DA0F822D14ED17 E00C971BED9ADD8E 520CCFC555ECA1A8 37A08341EFBCD9D5 +D4743EAFE3C257BB F7DD431EA36F01CB 0B7425AF69F38830 3A2A0C98FF9709E0 +89759932A5DF5DCA 6D56723F9A889CB3 FE801F324E4DB625 6AFBF9873E699E2B +D3269648D8ECDFDD E1613293ECFA266C D001C40722A86F58 C873358F4AA62CC4 +DE38D1EC76252664 29114491A5F6FF41 EEE4652B3B163752 30D7B5443642342D +BAD17CDABC2EC4ED C672F009BCB0CB28 0DBC9315496719FA 8401869C81BBA095 +BBB0FFB79225BC5F 4C604E06DB2BA1F0 556046A28C26B301 22027DE2ACDA5C09 +73B38C72E5474199 81D8C0B298E98F46 5C3DA44F9EB0627A 4EBD5143833614F6 +30DA7113AAB1DC8B DCB3CAFBA1173030 22DAB7C28F5DA20E C9A12AF892EFA73C +AE6D04D277933D41 F881D58F06B53A9D 728CF34A0D9DBA7D C0830CB9C202FE0F +91C459B6F588D570 7D1833E1BAAA81BD 6F778250BC449B06 5F769971830A600D +ECA2068ACE817A0B F75AFACAC1C07F33 A8A662618C1C5D2D 6C91CC6D8975BFA4 +35887F083DC3E28A 97B5F37977820B1C 64E36B44774AFF8C ECF493E9D9C4E757 +ADCA0408E88AA160 D95ACC51ABE9A5A5 6CC9010F1447BFAF 1DE4FC110D0D364F +4A2C946E08D72C10 7A7F705CC12A3FC2 D0468B58C08CDFE6 B1BD37778F39506B +45C8975CF0D88549 3EA44580A13CEFC5 74A4C708ED7BAE60 F3473F26A13C3002 +4BFFB4CC469301EE CF422C7D8DFF7B6A 4CA964BF31FF8080 9DB11F097406783D +298F0BE8B00DBC25 68010411EF5A7742 0947B63E69DF2611 E13CE3EA79E8C49F +FA2835FBEADB33BE 2F499FD04CEC72B4 008E9672B1233336 105BE3B90D8F886D +5A7104F9CFA02522 1B993DA498FC7322 2812AA0B2C979EF0 9D6D2AE396290B52 +85C97491379DFE92 F19B8055120FE664 9B61BBEAB81F78C0 8FAF0534E70B8D5B +445DDDC7730AD683 8494A66645901937 CE98692FA21B0B69 8DF860CFDAE516D8 +594193F9CD4BD7FE 6A67BFE46DC7D8D5 E07CBBD6F303C18B 42BB783DD98BD04D +6D4D87A9E63B49CA D882E0A5090450B6 CDD3F1DA88F7AC34 CB858F51D08042E2 +C790A17AAFBF2272 E5BDA5533DC9B1FF ADA0A6E1A8019997 F814394BFC82306D +F795D9A5E14533DE 17830E5DCF2206A7 4FE969DF9B92C76A C8276E92E06030EE +5851892FCC1B867A 459E101D4AC1C4A6 2A097E2CF3BC125C E134774EA8F87BF3 +181F0D15200148EC 69E9A03E75785609 078C8E652957921B D32129B18B944CBC +8F81306B61CB5338 978412699FC498ED 9B405E34F36B5898 265E1484BD72CCBB +62B5B6B81D2368E0 6F8379123B43D5F9 AB57D50FFFB816CE C6942AEC9A8E68A1 +E5236366049EE7AF 840ED6AF2E422A77 E7D868D38F636F7F 2C9D8BFC323F8C35 +3F2CF09F10A5F0C3 C3C4BB34CE797640 0F49E985609AD994 C241F6E072AF1FC4 +EC1AD0D8CD197A8C 27F3E9A0D74A6FF7 511A20CFB030DB95 784857C17B7DA4CF +82D92C5F9AB92AB4 E71B7515F3A7C5D8 A2EDDE281C30834E 843BD36866976EE5 +6D4A5AA80F6A4AC0 3E48D5BEC86F98CA 6D48BFA649D2EFC9 04F9411D2D8D1722 +1488F2F27FA0CBAA 98ADCA7B372692FF AB5C326C37939B52 B44B7347F09DE1FD +CB8B521E4BC2DAA3 90F8CE0B0BF14F41 5B1FAF3D7A22B70B 91F89BD2FC1CBC88 +F476B4CCF003CA11 E7F435349EB98FBA 059F8E5403EEBAD5 CD5380356010824B +4009C54B1C750350 A88BAEEB82A01E3F 093157B434337385 1C1CC17F28E810D3 +220B2415A9A44092 F1424B2B842F4938 24CC48148A836132 047B6F6B37F2399D +87CD2E0112C752A8 78F1923303040987 3AB8243C96EC0439 C1C8221AF5FB2C75 +8AAF83F0C0CA7DA2 FF36D3CE3232A13A 6CF5B73E0F256FBD D1198191AF68D86D +3BE5D3EFFDCAC0F5 A82D07C3CAE9CCA1 ADE3E79535D1C702 A65B2A9CEC9F1644 +4A483BFB09E858BE 8EB9A9CF1D6D9B5B A8E31775B4AE868D 77314754124E4CD7 +CC2A8A2FC03B8F69 CE5A4A7D962F967C F276CFB99ECBA695 AF50D9F06C026E8F +C2FF826BEE4AD762 8156C8E78A3B5368 AD421E624C5B30FD E76075499DD11FC6 +CD14E29A25D0E9C1 00E7A1DA917DD90C 2B855EB2904FA816 343F44DC03D5844C +13916181975854DA B75CD1173DC55360 F789E9777FFBEFE2 588E7495568A9FC5 +42DEA478964C1B06 B92083C2E1601677 A93CFFE00AD541DF 6BBA279CD1DC7912 +448997303AF1BD71 73963010E58C35B4 5054E8DB28C119A8 62D2740B67A35787 +644DB2DB2EB2E151 A0217FBF47C25EEE 66CE0FA8480C536B 36BD3528127BE3D0 +D109723D22E9BE7E D05F94EA31E0D17D AC6679543417E2BB 8D33B3B684BE88EA +A6F617142FC8077C B78485691BBADE66 5932A57EA82D3B2B E371F60830284DF0 +DDA56DD929DE9FD1 E2C7D9F2B42784D3 FAD345E7FB996C0B 9B590E8754BFD485 +A1E140A2299BBC93 B8262881F018B88E FBC26146D79DCE45 FE8A8E66A88596B1 +279467ED16D4EEBA 7A141C2A89D80AA6 566DA3D512C9C08D 4EA7539F0032C1B1 +6AD87EF57BEF0B5A D33CB589EEFB9442 5C5CD494F8337C45 D3ED37E9A100A3D9 +C8E4449DA61A83C7 A633B422745F726A F580E7DA6F63E724 3705DFE0757DA1B1 +2B7B7DAD0CBB8C15 FB15C0B0DD645D3B 0AA89A11738CE85E 3CF48AA5D74AA78A +0D056B4D0D2D7411 D0BA6F04494DD525 EC5918CC106D8B44 0760F1FCDCA828A4 +527DD9EE9BB99B94 919896AEF265FC28 3F6F414FC1411CA2 4B4793BD47EF0AD8 +8C5FF5EA4403A95A 2966FD801E5B2328 5050DDC3310AD383 7E3D2C03BA7BE437 +9DFE50F822C23CF8 3B1F1E786F4913FD 76A9B857FFB1DF01 6166A0577AC99CAE +EBE75DDEE09B0A6C CA94924D9684CEAE F1B1CD6771B627EA 8E0B6D2BA107B09D +D568F218AA453301 BFEBE6E8D99BF610 F6080072D068A815 3351DA8F1C094FF7 +23AF0BE51AFD0B6C 04FD2DC52634B5BD 22211B965374FDE9 75AF11D07AE00040 +24C6842B7AF6E314 68D953C1D54B693C 5ACB72CABB210626 967F8D17A22A0BE9 +D64ABFC21DC125D4 13F44AFC8104961E 23468BB65C24C509 10C4426852492DA0 +639EEFB4DF2D40B6 5DC3D1012A6DCF84 E0BB5B9582B94684 E0E5CE6063457CA0 +1F4E61426DBCBCD6 41EC0F9C1811E56E D9B758E328F07BBD 4E12FCC5C2382CBC +189FAE8EC49F9B0A 5694CD9DD4121C9F 2F35602A419AB963 BB97AAC580F615CD +B02613804D2BB48A 825707E1B81087FD 06A601DE6CAD86E2 A9A066EDE483CD16 +3CB88D83922CFCB7 FEC0D783608C7B6A F06902FAF3CAAFC2 20461A11A6E84220 +7F28436FC3BE57F8 B432418616B79A53 10890EAE143C7AC9 28C73BD783BBE910 +B75E790E87AD055A F45A7226C1AEB159 5CFB964883565714 036097625A65C834 +BD51A1C5AAA589AA 87822077477AD5B6 327919F1A1D02653 591188845959C387 +955D3C042382143E 15C78005AD512BC6 89B9882C471BDF84 7E0E1215B688A04A +7132E878B9850D9E 6E2A01BF59EF865A DA260F6D594671E4 FA9AAC5C2F1DEF8A +4896A7C6E1D4F469 67D42C87AF8E6F50 C78564CCDBABD804 B88F4BF0583767A0 +D9F14D9A7BD2B8D8 DF83A776426F6504 11500AA8E3900314 D084C397D698CC53 +CA2E61B17145B0A7 9770995A42870BA9 40FA5D4D4CAFDA7D D17CA23134B4A9BD +EB2CE339FE0954EB 0FF35736319C4547 6ADADFBC08CBC3BA 460501480665F1F6 +B47CA2EDD0752E25 A42586039B20ADC9 7AC6E6CF3F2E2567 94978FC90CE21EDD +48AD92E897ABDCE7 670484D627DC5411 B724841057D0200A 03251A8C866D0974 +6588B125748C6DE5 2287545C8D29BE30 4D3F1B2CF3FF9F29 22EB51FA0A6084A0 +BC8D118AAE7F7267 9130BF04CA84C8E8 86736B37E32E6BD1 723D3C292ECE66CD +443C87EA88E95FDF A067A0A25CBE24C4 557BF3271C2544CC A6871FA072B129FC +6DA02570520A3205 27B5C415A69DAE83 C210BF00E486092F 927D27163166FC36 +D0DB68B378E998C2 BCEFC5A51B51CBC0 5137C852EEC1E579 E09F09C6661F4135 +9C98A85A92E5DD87 C5683626D403B5F8 4455EB981E347B64 682B34F7701270C0 +152C18BFC152113A 3AE77CC11DE05136 24104F9FD70321D2 A40CE0515C0E2907 +A106831B00AA641C A0FBFA6C5476ED06 2F231B638541611D 2429A1C6C2254FC5 +71C8A3E6B4DC35D4 E12FA01257E9C821 5FC9F7838023579B 8939EB1EC332CD20 +D51077D1819C518C E48C34F52F51A69A E484AD9C24D506CB 87AA0F70CD7CF7F8 +09BE6565931040F2 D08DEE84A4EE7FAC 72205C0AF6CC598F 2E4F6BF1CF77BABA +A618DCC73ABBAB38 F6ECD3A74BA3B699 DAEE6DFD0E4CF7E9 76A964520E9074E1 +5735A8524BBF8111 3D9E5F4BE0EB94BA 495AA9F7476C8329 F80BCBAE5150F962 +1209A44ED3CC2EFD EAD0255443062D2F 7ED3AA9EB07D65AE 9A50CAF90F2FA159 +E94E3F3556812D0C 906CBD81A1954343 2AEF48D3F7456BD8 2FF746B7CED6A79F +4BE5C609C7916408 3103F1CCE81110BF 0D60D94A51594D18 F63950B974F3EBDB +6651CF99D3D66334 9457B4DF2912DE6D 76776AAF92AD63F4 E0BC6D5BC7001A70 +FE74F2B499897635 4DA9A0CAEAFF6303 51FBDE5F6210401F EB927B76D23CD7C2 +A352BD1CE3542A16 89AF1B5B7057AD54 D4F825A39CA752F3 0F8553F08EC389EC +7CA7370D2627CEDF B13E3DC34FDA3959 97531C68AC790387 AF31E070366DB7B1 +80D6C8A19C6A260D 184DA6D363600955 366FAB2BED82E708 3163D59F192A3E17 +EEF3807ED37ADAFA 3689AD9BC135B2E6 035251CE69BDC3FB E1BE9FCA9A92CC90 +80974FE9ABFD1567 79F348AB0CA45412 702390950C3DB6AF 1010B908CA9B9E5C +9071D78D25C6ADC8 444720629EDA9343 402A8F49B9842E28 A8BD3705D9391DE9 +D49E79C25FE862B0 13B9C938652008E2 DBF17D074A36E179 548F29CECE6EF258 +3FFBC966350487AC B51444730689C528 637CA9F93319E7AC 65B7B1E65E628703 +0E9E0D5E6CAC906D 9857E5BB4510CA0F 51870CC9FC77C3D7 8328A034907F60E4 +9EA189A0968138A9 EF662461DD9D7857 DCA980467F72EEFC E40B4666B7C49D8D +0B33BCD12573C4B7 B1C3EDD69D744A05 01092851FFB38A9A 743F2969BFCBA15A +9D1EBA3B3BB6F09F 1C8C5241202EFAD8 4CE1D986E7FC1A72 78864D85387187DC +1E03AB02A62591BB C96FD6237F9C3B80 FF1DC915FEDFCCAC 3A7D47D647977574 +5151B3F90CFB02B8 942E1DB62626C2BD 5378209A8E969EDE 1A3C18BF4240C151 +C44A36A657C86CF3 2AB91B8D3A95A86E FCAD66BAC6E6E145 2AC1E9EAF0C2B230 +26CE6FDF84BBC823 C9CE1307DC362B9D 572B6DE0BAFDDCC3 69EC554E4CBD845F +0E19C3ADBE04E05A 4E71C3482EA8FC7A 724BDDD0DD985E61 D2417B5E15595049 +B2E609D517426D88 205B5CC6045BC66C 5FAFE7F733CC970F CEDEE3C0083AAAF3 +419ADBB5BDAD84FA B94B426440BC4581 F1CA5636DD97EB10 0AEB019735590A09 +C663B1C45F82405C FDE78C9DC8CA4DEB E8556B0493311AE7 483C4B2586AE08AD +7D22964523C25D6F F44BC10358352A2E 9C082A0C64ECA890 69190C8FEB41A4DB +9004C620521C1D15 80D80E2697EC79CC 8E5D6AA218F164E7 773A6961393680B4 +1E1C1E55CEAB7DB8 83184DA962211FDE 031F5F6C92C5E2D1 928ECC2503F9BD95 +BCCAA522EC86BB45 5DA887017439131F 81A36245EF6A556B C9D26A74D9303B3A +9F9EA9E76380F1ED 778083DB19DF0635 020DFEB596E22A1F BDB03DE20B35A75D +5236D998E6C465CB 42D6B54A34BB7238 DC004FAF4D6BCC31 0C091485755D238C +CFD226276BFCA0CC 786BBD51F92979C3 FD0CB104F293DD1C A5BF80082BDA375E +2ABE3F564B00BD81 088B487D6654F41F B021953133A0A6CE 24A7E1A495C0E62F +54C81D4266E7A04B C9F2F7FA882634EB FBBE3BDB0CEA10AB 5B11B977FFF3B6A1 +DA666F882E8ABE3F B6F287939773F22E 9C5D2ABF86AFA050 69C2DA14EED66002 +A0EAF9488D8DCBE0 6D69E473F40CBBBB 400E31D9CA1C336C 7B57EED8BD9BAADF +F1C700E36738A735 3C219B3C9B546E70 CCA04C738D177CE0 0F8A4BF9BD31291E +667CE709331034A4 21A382621448E259 4529730CD390C855 C12C95CB1ECA32C9 +1D61458456A67C8E CA1C05E0E72CC416 523231047F5FAD87 EB37B2725B7C09BE +D82713845B72CF84 F31EF02034D16E26 B6514261654F655C 3812FE9E5D558B93 +0D4469324918E6F2 A5369FD8CDD7B912 F11DBFD709D4AAA4 9DDC184B78E05B44 +120050860205A924 A81DF62BE4192866 52EE0206060E4F73 C0E554CF54FFBC00 +98D5A91975F0E3DF 3C2850C3874F130C 5081E26003AFB01F B2D8C3F6BC49FF5C +B5F328D38502F729 6245C8A3887776ED 3EE0AF3F74A38E15 83CEE6FB1B582685 +3DFE010276331068 28E1720F954DDA16 145D3B2F522F8438 11A1120C81C3EAAE +EC879222F01EFA2A 4036C9092D02EB46 43AFF3D429A16B66 43446551EBB7CEEA +C528325517A55416 A1F246890FB9CFF1 8B8E8CFD513AA6CA E709EAB8177BF3AB +CF606B300F38158C 07C46955A65E641F 17246235CEBFB628 A1468E3A85999DD8 +BA1487834034D043 692D2BD411E8D3FF 0218256DE4CF41F4 6689B18F8C759491 +82023558DC3AEA20 98FAD949DA4703F8 6A552B2E10F7D524 AD6263EF7F85488F +F8AFE718000F7DEB 7A29C0170D436CF8 4161202283069FBA A37F345ABF310D59 +7B49620FCEC633A3 505ADF966EE08F01 8A5AA8E00C1235E7 728F1B832B89081E +28B7A7C4B52447CF 4B2BA9FB225C4BA9 817E81077690D6DA 73408FC38A829125 +5D5D079A719EB784 0BD0DCA02EABE360 DEC3CEBF3CE1A6BB A36B284EE7C6B711 +3BC75EE5C4C77F15 98E5D2A4942C1813 BB8FC1951A13AF68 70FB8A61977D541C +8F1D4ED649046AF7 9347E164B6A275F8 4508D5553B264178 FA957A9F0B306597 +EC2D98C3466C5EB6 56F65AB1983F749F A189E5D68C83A4D3 394E9D963625F3DD +671D2D6B54297DC5 94807E82C4B40873 85A0E365BB61EF36 15F14B48F2833BAA +0BA54BD584227714 E9E48AB4236F45EF A2A7116F76A43001 298455B5AB1322C9 +33F37A6AE31E23A7 97763497827C1043 A9851AC9F743A3B9 8695D0C128BF5D41 +B8BF1190773A6F2E 23B970F0D182AAA2 3262F4D5013B7A13 DAD6CE1F7A926E53 +C66F6639C809BA58 9A775C7987347BB3 1ED9AB9C31485EE6 257DA4F258146661 +F459411BC43B4B37 B11F6E3CB879D23F 81D3CC4C49262353 92F2BC8659DDD9E7 +DABCB3478E52397F F17351DFCC8BAB9A E1F13187F5F78A6C 20F5F1722D9977AC +08BD6BB4300172A5 15624E3299FC1F39 1699B9B094EDD863 CEFCD59C07C5475C +B765D859EE747165 95C6EB1E6E7C56D2 4A3748DE4D72C9E7 53A055014EBF40BA +7AE26E2DD5A246AB 0DE413295A0D23D5 1D28EED96A89138C 3D54FA40A5017D93 +3D88775FD5CFA5DD AD7EBD70B314C80A 922D7E50F9AEECC9 71E032059964142B +F32AACD86D6917AA 36B6AB906C7289B1 A09DA9DE85453527 16F5CC3643A480F6 +6A1FDEDC4AA05827 E3C545D1F1F8E52D BE4843A5811DE115 981CEDDAA0B30E39 +CADC31EDD9C70334 030E52495121B8CA 75ACF119AF3890DC BA370C4E4FB062C4 +69A8117561CD7364 66B6380C14E51697 90A656DA6FB67A15 97ADF28268B20954 +6A7082B0574F1D42 9931CC240BEE4181 E063171FE8D628D8 D12F2AE792D79294 +66E797461CBA57FA 6D9F467D4C41518B A8C443F01FB12512 511F8A5414168F6C +09CF3DEE4BE1FAB9 0120CCFC434567E1 BFE0782C87C18C28 8100BB364160A150 +E91EA92BB7CC6105 F9DAB46D7BACC1DD 527799E2A0D01EA2 EF4EF4C9ACA86ADB +51A38DFC6E471E15 DD0DA2396D0728BD E3634517D6D51E98 523968C919C827CB +B1D395192B1BACF6 69A94D6D4918A3EF 667B716376974871 DE3F8908B1D36FB5 +3E11E232DE64639A A0569EBB95EEFC64 E9580F278D3CAD1D C0EC908BDBAE21FF +B36B726F779D8797 2EEFDEBA77CFEC02 7A9E94E8A8AD3B1E 1F5A84B257961F4E +8F8658B407C0A3CB 37B5193986F6A5CB 2BBD6401A51FBE44 E797142CCBBE4128 +B3ED764B1A57283C 41D48A93AB21E048 571680D7180076FC 11FCCB4ADF936F66 +3A9D903F5C3D3040 00577B22223E00FE D51B394D7A24CE89 BE322C8A7E03F87A +73DAD8830855D920 22E87686EAF4A8EE 5057A616961F8B25 9453C3BA659ED679 +E0E0A5AD7C955DC5 D995220DD76BA72F A231E01B8CA81466 E7402616E3C982A0 +537D79B6981F3BB0 54BDD4A442C4082F D9D2184F4F5F5F55 B39908A2EDA5659F +7C0FC8D53A942985 226CD312BEB50E60 EDBEF228F2CE117B 33DC4BB9B84A0E27 +02CE5D685D5FB5EF F2933EDFBCD8847E 133F56E0D28F5555 5E76FD2C955361B8 +BE0EEF9EC29652F1 9CF9B26CA8D5A52E E221ED9886C21793 61FF720C425D3CAD +67033CD0FE3AE487 C9FC511D36005789 D4D534C2A6BADBC4 4F255F9551F60B11 +118378651784C9FA 8BBA5CE29984DE1D C63A45CC2F4B09AB 43165F543A855086 +4FA9BD1EE1A6D449 C1BAE4F710884124 C96272918313C081 EE4F2D1FAA439C46 +7A42D223BB347A40 D6F2BA07E845BBD0 6564D48DAC6BFBC5 7BFAD2C5E4C6034A +C973B66B611950F3 EB9137535F5A6AF8 37A32B18C026C3EC 9DC09BFA31A2013E +7124DAA8E512BCC9 B03BD5CBFACE8434 423246BE9DA38B23 4E4FBAC11C0C5312 +546E08D671C6C057 5EFF6CCA57A9C5A7 70FEB7CC3E6507DF FDAD7F455B47DA69 +B5CF09BD8DFEA121 D197F5B753385B9D F41411995D8946BC 10F61B1A09846756 +B0CF5D7B0F54A93C 71C95E2BA1BD8249 64570D50EAFB26C1 55E10CF2A2CDCAC2 +E5680049094ED132 AA031BD9A0600CDD 7290634255510C06 7D9D95F4728B9E0F +4280C1A74598F101 AB04EA73768CC77E 7578B23BD084142B 8E86B00542AD939C +2609EEAF247E381E B8DFB7A8F840014F 4F110AFBF12C9126 6ECB2645C596FF5B +D1B71E603C491CA4 61CF4C2ADBB3F52E AA53B3BC9C374AC8 2FE978DACF9B38A7 +A890890F52A86D11 074411C04E1F56CD 5D24BF3783A7945F 51DFBDD57DBD158E +74CEAD4ED159F85E 34773AB2A75F725E 054335C1577BE821 870E0C964A88D3BB +65DCA668F58C725F E0DCC6C63575A3D2 291F1DF6740CF886 E27FB054749E5775 +4AA1D68C216EB27A F5007844F369765D EDC952D76D335F1D 590F15A2D5CD831D +06C3C49BEA0209CA E698E283177D2197 3439F29DD6445627 825499FEDA114BA1 +032D2A9B56BE300F EBCF6AEC1A623C5C 5EA5C01694992F8C A9531D325EEC11D9 +A65011A00D34C5B5 2C3173739BAD9D4E EFF54403DB9EA948 5AD94658EB672B23 +CF4DF3985BD93522 0B5FEFE1337F3548 73AC388EAF502F00 DC21FEB144E23B6F +0CEAEAA76BC802F1 0FB2C47CC72843DB AF0E0E0A8EB713C0 D074BE86C8DB0A9D +EE4A02CA85FD5525 E3F91F583168FD8C 6E190593A87B4A05 FA6A8B273609C84A +697B99683548132A 6B5337A8DF678F0A 9ACD66092A7A3409 E25D7D68FA14DAB7 +A02D329CC1A8D187 33ADFE0824EB71E0 47F982E5905C1332 68F4694A137A9BF3 +9F3A2CAD1255F21C 0AAA6F77D0F77513 09A2335D21206978 5EC2AEB90CEDA800 +F4212529703375A2 075464E3405945EA D04C70CE6CC6D876 7F5C20D66A884097 +4D35FA9BB16D4E50 F6C489F05F793ED0 1F1DBC0A444594C8 686DBDF13A7AE771 +14B49C944C56E8C2 BBCC1351A070F412 83B1A2923CFC0DC8 AE860D7E31480CF0 +48670CBE89CD29A2 FA63034A407BF8CE 9F6D54B4CC42B71B 9E4C528300210118 +26C4BF97C6189AD5 91583F5F21C0A719 D140D57B3B1B97BC C6C658A4FBEF2874 +3F4AACDBE9505D37 3A617A5DBC385CE4 999A9B867DDB9EDA D0BB20950EA2A19E +83C1D42C1AC6DC19 EAB97D8951254585 ABE5A699CBB55542 0FCE39444BB44E5D +D6D495BE60EED01F 1FEF88C1F804D349 EFD82F102F9EE150 E101A6F9670AAFCA +243FEE3B1075FB0C 76CC03B59C7103E7 diff --git a/testsuite/slh-dsa-test.c b/testsuite/slh-dsa-test.c index 95d9a372..081af292 100644 --- a/testsuite/slh-dsa-test.c +++ b/testsuite/slh-dsa-test.c @@ -41,22 +41,26 @@ #define MIN(a, b) ((a) < (b) ? (a) : (b)) -/* The buffer size should be at least one larger than expected data - size. This function expects to read up to EOF without exhausting - the buffer, and makes the test fail if the file is too large. */ -static size_t -read_hex_file (const char *name, size_t size, uint8_t *out) +static const struct tstring * +read_hex_file (const char *name, size_t max_size) { char input_buf[1000]; FILE *input = open_srcdir_file (name); size_t done; + struct tstring *s; struct base16_decode_ctx ctx; base16_decode_init (&ctx); - for (done = 0; size > 0;) + /* This function expects to read up to EOF without exhausting the + buffer, and fails if the file is too large. */ + s = tstring_alloc (max_size + 1); + + for (done = 0;;) { - size_t got = fread (input_buf, 1, MIN (size, sizeof (input_buf)), input); - size_t decoded_length; + size_t left = s->length - done; + size_t got = fread (input_buf, 1, MIN (left, sizeof (input_buf)), input); + size_t i; + if (!got) { if (ferror (input)) @@ -66,11 +70,28 @@ read_hex_file (const char *name, size_t size, uint8_t *out) } fclose (input); ASSERT (base16_decode_final (&ctx)); - return done; + s->length = done; + return s; } - ASSERT (base16_decode_update (&ctx, &decoded_length, out, got, input_buf)); - out += decoded_length; done += decoded_length; size -= decoded_length; + /* Use base16_decode_single, to make handling of excess input + straight-forward. */ + for (i = 0; i < got; i++) + { + int res = base16_decode_single (&ctx, s->data + done, input_buf[i]); + if (res < 0) + { + fprintf (stderr, "hex decoding %s failed\n", name); + FAIL (); + } + done += res; + if (done == s->length) + { + fprintf (stderr, "hex file %s exceeds maximum size %ld\n", + name, (long) s->length); + FAIL (); + } + } } fprintf (stderr, "file %s larger than expected\n", name); FAIL (); @@ -331,20 +352,19 @@ slh_dsa_shake_128f = { static void test_slh_dsa (const struct slh_dsa_alg *alg, const struct tstring *pub, const struct tstring *priv, - const struct tstring *msg, const char *sig_file) + const struct tstring *msg, const struct tstring *ref) { uint8_t *sig = xalloc (alg->signature_size); - uint8_t *ref = xalloc (alg->signature_size + 1); ASSERT (pub->length == alg->key_size); ASSERT (priv->length == alg->key_size); - ASSERT (read_hex_file (sig_file, alg->signature_size + 1, ref) == alg->signature_size); + ASSERT (ref->length == alg->signature_size); alg->sign (pub->data, priv->data, msg->length, msg->data, sig); - if (! MEMEQ (alg->signature_size, sig, ref)) + if (! MEMEQ (alg->signature_size, sig, ref->data)) { size_t i; for (i = 0; i < alg->signature_size; i++) - if (sig[i] != ref[i]) + if (sig[i] != ref->data[i]) break; fprintf (stderr, "failed %s sign, first diff at %zd\n", alg->name, i); @@ -358,7 +378,6 @@ test_slh_dsa (const struct slh_dsa_alg *alg, ASSERT (!alg->verify (pub->data, msg->length, msg->data, sig)); free (sig); - free (ref); } void @@ -593,7 +612,7 @@ test_main (void) SHEX ("D81C4D8D734FCBFB EADE3D3F8A039FAA" "2A2C9957E835AD55 B22E75BF57BB556A" "C8"), - "slh-dsa-shake-128s.ref"); + read_hex_file ("slh-dsa-shake-128s.ref", SLH_DSA_SHAKE_128S_SIGNATURE_SIZE)); /* Test vector from https://github.com/smuellerDD/leancrypto/blob/master/slh-dsa/tests/sphincs_tester_vectors_shake_128f.h */ @@ -605,5 +624,19 @@ test_main (void) SHEX ("D81C4D8D734FCBFB EADE3D3F8A039FAA" "2A2C9957E835AD55 B22E75BF57BB556A" "C8"), - "slh-dsa-shake-128f.ref"); + read_hex_file ("slh-dsa-shake-128f.ref", SLH_DSA_SHAKE_128F_SIGNATURE_SIZE)); + + /* From + https://raw.githubusercontent.com/usnistgov/ACVP-Server/refs/heads/master/gen-val/json-files/SLH-DSA-sigGen-FIPS205/internalProjection.json: */ + test_slh_dsa (&slh_dsa_shake_128f, /* tcId 64 */ + SHEX ("C9A7900E931AFBA2B52A5BC55A2DC4D12DDC9BF8E0B2ED0BDE83E674F1ECE7AA"), + SHEX ("0E87FF20256E0E499A53B52DF91467C01F0431C07250AFE93DE814117B5D66D3"), + read_hex_file ("slh-dsa-shake-128f-tc64.msg", 2280), + read_hex_file ("slh-dsa-shake-128f-tc64.sig", SLH_DSA_SHAKE_128F_SIGNATURE_SIZE)); + + test_slh_dsa (&slh_dsa_shake_128s, /* tcId 215 */ + SHEX ("DD286FF370CB50BC1B23894AA3F7025A534A788E697B94942AB845EFB753A30B"), + SHEX ("4738AC60C561FFBE15AB96EFFA1A09291A79332E1CA3C38B2FEF40ACA7CFE285"), + read_hex_file ("slh-dsa-shake-128s-tc215.msg", 5377), + read_hex_file ("slh-dsa-shake-128s-tc215.sig", SLH_DSA_SHAKE_128S_SIGNATURE_SIZE)); }