Add sample keys for ML-DSA, ML-KEM and SLH-DSA
Use NIST test vectors. I copied the first test case for each parameter set.
For ML-KEM and ML-DSA, I did it manually. For SLH-DSA, I used the following
Python script:
```
<gen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json python -c '
import json, re, sys
data = json.load(sys.stdin)
types = {family: {} for family in ["SHA2_F", "SHA2_S", "SHAKE_F", "SHAKE_S"]}
for group in data["testGroups"]:
t = group["tests"][0]
m = re.match(r"SLH-DSA-(\w+)-([0-9]+)(\w+)", group["parameterSet"])
type = m.group(1) + "_" + m.group(3).upper()
size = m.group(2)
prv = t["skSeed"] + t["skPrf"] + t["pkSeed"] + t["pk"]
pub = t["pkSeed"] + t["pk"]
types[type][size] = (prv, pub)
for type in sorted(types.keys()):
print("")
print(f" # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json")
print(f" \x27SLH_DSA(PSA_SLH_FAMILY_{type})\x27: {{")
for size in sorted(types[type].keys()):
entry = types[type][size]
print(f" {size}: (\"{entry[0]}\",")
print(f" \"{entry[1]}\"),")
print(f" }},")
'
```
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
diff --git a/scripts/mbedtls_framework/asymmetric_key_data.py b/scripts/mbedtls_framework/asymmetric_key_data.py
index 87a8102..2c54c7c 100644
--- a/scripts/mbedtls_framework/asymmetric_key_data.py
+++ b/scripts/mbedtls_framework/asymmetric_key_data.py
@@ -144,6 +144,29 @@
"5fd7449b59b461fd2ce787ec616ad46a1da1342485a70e1f8a0ea75d80e96778edf124769b46c7061bd6783df1e50f6cd1fa1abeafe8256180"),
},
+ # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/ML-DSA-keyGen-FIPS204/internalProjection.json
+ 'ML_DSA': {
+ 44: ("D71361C000F9A7BC99DFB425BCB6BB27C32C36AB444FF3708B2D93B4E66D5B5B",
+ "B845FA2881407A59183071629B08223128116014FB58FF6BB4C8C9FE19CF5B0BD77B16648A344FFE486BC3E3CB5FAB9ABC4CC2F1C34901692BEC5D290D815A6CDF7E9710A3388247A7E0371615507A572C9835E6737BF30B92A796FFF3A10A730C7B550924EB1FB6D56195F02DE6D3746F9F330BEBE990C90C4D676AD415F4268D2D6B548A8BCDF27FDD467E6749C0F87B71E85C2797694772BBA88D4F1AC06C7C0E91786472CD76353708D6BBC5C28E9DB891C3940E879052D30C8FD10965CBB8EE1BD79B060D37FB839098552AABDD3A57AB1C6A82B0911D1CF148654AA5613B07014B21E4A1182B4A5501671D112F5975FB0C8A2AC45D575DC42F48977FF37FFF421DB27C45E79F8A9472007023DF0B64205CD9F57C02CE9D1F61F2AE24F7139F5641984EE8DF783B9EA43E997C6E19D09E062AFCA56E4F76AAAB8F66600FC78F6AB4F6785690D185816EE35A939458B60324EEFC60E64B11FA0D20317ACB6CB29AA03C775F151672952689FA4F8F838329CB9E6DC9945B6C7ADE4E7B663578F87D3935F2A1522097AD5042A0D990A628510B6103CB242CD8A3AFC1A5ADA52331F4DF461BC1DA51D1D224094E7ABED3D87D98F0D817084780EE80370F397631ECB75D4264B6B5E2E66C0586B5FB743516399165837A0FDFF7C6134F033BFA69C1B2416965C6E578592F40E258CB6DFB29FB8E0F54355B6E24A65F67ABAE3193D007115CC0B9FF94CB911A93B1A76C0E7662F5E2B20139E0159ED929CB932D4895F89A02E55C59DF2DBB8F6E5DD7D5B1F3CEC37B4A9166B381C5440E23E67368CDE0A29D59AA05A3C9BE24A4DC8DD75BE30E82BC635D36AAC66DE880C6701A987D7E05F0F2FF287828BEC30595089D8AB9AA390ED719CAA6E576CDBBE9B184A322E5E2DABB69C23CC696D54FC32FF57001B6B64E2A837F3062D85AEB50B3510F7EDFC34DF38E083D4D9B94FFAB0DE15D73D9AF30B9F31CC4F41C9C24F2D618B2A7C3C4BDFB745D52D3EB54589C8BDA8AC05DAD14EC744505575A0988EEC651C1715439FDFB29923380A43C1A66A86C982A841F11820A6A0E1E2F2FFF5108ECAE51A6AABC9B949226D228FF84C4E5E5D63114D80359C4931E612DCED1838B7D066AC9182CECFA223A21A4C8E155AEFA780373BCC15098AEE40C033AF22F8E7C67A0D2526DA7475E830308C04AED9D32BCCC72E719EE70A8D13F09AC11E26EA237D5CC8F98B5AE0E54F933BD0507942ED900D056FD32F8E6E81777912FD482746029B71CCE3BA69B8FC2D03EB441027C387BC2F95031A0AE7052215EB24B9EA8FB0A961B0F80BFA80D0D6257C1C22B508C5D31B97FCDFE1D1766E8A9C8771932DD598ADB7E717743F45FC571F21E4A516249F81D747F15329790F0F70A0B8E461A4EDF50504AF03F30DDF8A8818E38761E1681D6DDEF0B1DD326B2EC228CE48570F285B49D29D7C2EF37866D5446DF82B8E43B34CB248962A21A9A3946159740F8AEE8E6A16A4EB2B42D143FE2612E05EF4B5E646D813248444556A2A8BF92CE10BADECB6B8A40B080DD42D53346FEFCC4B9B40B1E4998991EC753C95AA2F2A506F311E710B0F1D36C1DCA6644EE6D1D4AE9CEA5666EF4B3E888DBDBB95A77ECFE1E8B477DE7CB07639D682D53020EC14EA6C7DD7E715389D10938429FAB8A068A1466A4CD891359F8074E0F5A142ADD731B87878D985E4FA6ECB3B73D298553418273E9503AA84092C080E5F2902F90F5C59944D24CA0271D11D0D6734606D039550A37FCA2B735850E63F540F2F06B79144B5C4ED2C700BB51C33D265B3D037389C99EFD597642D829DB1EB58643CFCD07F4DEC60B8F727D97BD7C4B59BDA1"),
+ 65: ("1BD67DC782B2958E189E315C040DD1F64C8AB232A6A170E1A7A52C33F10851B1",
+ "43AD6560D3BB684667A559EE6EC7C816020E5B65671F270F2353A8C912B6C26B0DB0C2CF42DC747B10AA3EBDD573B300EEA46C4200B210094F9512119A6BB837242762B2CE94C2467278500EE7B139BED906676663355B813A9AD9D3DB70F7AF2D785040BFD51208BD3D2CFB09EAF7CEDF77D1B59DA75F7728F120C11898D9EC2CB22C73EB8F9436FF60524B56EE6B413030EB7DD10774261452CD8C5ADE75D1967628078CDA77E2B1AFB83B9F07F6939D37FF54D5E10ED17FF8A3C21546A89F514576AE780DE8761C4F2EA28828C69E38C730ACAA4CC8DC7DF63BA4C1525510FAE2C8E1B01812358BC5DFC01E955294A5DFDD1CFF0519E20B8F74FE18854D80C86051AA5CC2FC1DB078BC785BF4BAD6832B8C269156509B332038B4C3719DC49814FC6B6AD5360E945AFFF4D4AC235F56C7F7A9A872B518C1F0D48184DA0EB318F74EB84C4F324A2BD03704D2E2A59F64A8854C7AEFB2D3530E20C8AE8A487E6CBEDA645BD86A5A83E77A6A22888ED8E43A7F4804C2DE187F1ACBA3CF55CF99412A7A59CF77A4A977724A72686FDF7FC64492A5CB75921AD014EB727EDA1DFA7BD7ACE52FE292322F0BE0B004DCE44BEAA20FF06A7691DC36405361F9240DDF2FD1A5EC422ED639505AB8E137B971D5729B11E84C040247424A51DDDBDBC43AF261D038B0CD70D5BF44252A3786A26AF3FCD4EC100E5CDDE019F17BE6A64F820C3F622F78D4F56A984122D6FA2D438D548DD87B9095F1FF02437854E2419A0316C33EAFFA0161737E476A9E707CC40E78686D6A043DDE962B319BE2BF9F7A1EFF9EDEFD1B4CD07131494C084083BF76181E3EB1399929314473A75E199AC9D5444DB0CEC07E625EC70C6864093961950987FB1E96DCB7E001209865D66D829CD2E2B240818CACE003C9CC74DCE5151C65E59AC1EF6D495B0C717B4412C70B50CF44F44E648788F46BAF6F8AF3361F0E4B6119EDF6374DA596453169B935E1A3B875A6C1B9FE384AF961860514E8CF291D8650D7530DB42A46790649B5D8134AAEC33A41F0AB4296AE26203291F1C2BB5276AC305269778E7F2A4BAC15B5A31A6B6B76342596D39C7FD3D1C518689372EBD20B667BE5EE2ED11BC107A7600EDA1BE7A5DC05BB9F16D2B8BB1C7D8D10050207530BFFDAAE7B11E0615726F2E99CE99D6CA6048F9D61B14F7265473EC2D02989772B3D7E212AA68D89374C6CAF7AB160C6C5E09502049C3D03738D700457F706341DDEAFC6CA739ECFB4F193EA6B385B035EEA0F7BFD61FA776AF32AED6366E6C0642D1A01759FA6BDD295F7D18CA6DA1D48563EEE403F2F8BCB6A60326C481F12F8180B2B8117ADE61C7E29F5254207C5D4657B82BE4EBA436752EC7DA0627FCED830C15F10FB8D3CD90B4505FA325B54D954C5B6301DA72B262B226EAB2E4EE88226CC606B97736260ECB6D8F74A0440AFD5D751A90873FFF00C8D3E9CA0975F303F7AC263B8FF496C6C8FD22E8EF7B587BAB50A7DAD99BD55D3B7968584F1FB21255EE22DB56AF6034F3F13E659161A57CA8C9F2E87CA96BD7100FCEF8F74A8C6A1C92E2EFF74E2F5FAE512C09D26E0F3985D882401EFC54727BBC0F4E1110771A106898692D0C5A6997CA742846FA4D49E8ABDF123D92743E9949BEB6E46B9655EE698C23D74991C96067DEF06EACB981AD4A7A5ED91EACF05D374C74C443F3FBAD363B2450A1A47AAF2954D36E53B06345139138D38B941298982EEA84400C4DCC38F5127951906EE3E40F75A5DFE09FCE9BB0143A5D5ADC3C402F23A75A423AB98392CA3A4D5D23D3BCD56FF22C9612A5D2C223C7079958CD05175AA74DDD21B42051CDBDC14048CB43CB2F6535E2CA9F5B87052F633976F4795CBA69D39F2481CFB9D210C9B0E9EFD941AC875A9A6C3E839EC54F55585721DE41815DDFC05E8A58C97E2FA52984135AAB0931094FF8400CAB043C2A5E63C2942B7D36988C4ED9B73C11D913E758ADF94291A42743E4FB04C271ED5807EA03271EA6656CF967AB2595588B55F82AF2D07ADFFCCF859ABA70B1707B722DA1FF393CC5BBCC02014C0D4500655577946DB5F95EF1E7657DC98402E5CB048DCB372C9277FDA4D8F3A30C953822474CEEDA670D5E680029259260D91F8737CF7572651FB28A7DF46F671679BDD507696B021C2C7F4300F3098FF9460582DB58E122C585185BCD091E7ACCB608F7E0C3558627484529A662C0528D419248B6565D32ECC78F7891DB5BB1984CDE89C1AF25F0927205E734A7DFEB9AEE94F23F2FD11FB53EC768F6B8268E00E4054CD12EDE4832B07A254A4E2241854E8FF2AE1E1B248F9EB1C77581CA2A2EF2D4C9171177A1E040F9D4AD8D0D0C6CD14FCD13B233794E51704B6890C56BCE1B8CD1C9EAE6D59ACD91EB67B3A618D65F0F94E5458271E14DC6F6530AD0EE8B2B2F0CEC14612E563338E241602B997EC4E62C83942C7F18DAD6841B1348CAB99A78F598FE78A20205D88D826D2E163F6B628B266C187B427F253000E4EF99FEC0494A97D9B42E37EE613767D2651FB7CB2B9E99578CE2D78B9C9777C954DBD1D7BE8B568F88AB42DDFD293BE28747103B052AD81D8F6254E426802516500111ADF0A8F27AE7C55D3D5DB86278FAF58B68A26D12B2801AC28EDA87AA5D692EDA9BE08F7CC3E78517299A3FD9CE2A0A893E12D71062AE2514C465D399F165E4D2F71D1913D8B95396681486432B090F0CCE86AA84B661FF22D4A56035E821A1CE30F33AFEB6C7B8FA9CE"),
+ 87: ("F7052FBB921759CD8716773BA6355630121D6927899FDDA5768E2BC240FCCB7B",
+ "18DFF392DEF5756EA23519A240E6B5CDCF912D89CD94DEC9DC71E53F8CDF37D96CAFF7EB6F182B85BEC2F534DCB918ABE8428E341DEDF6DB71B4B805767B6C9FDAE294BE7082D35FB68C926500F287602ADD34C3F95E2D63B48912AA476A4ECA076EB040B260303E412DB261F1D4741E742275FDE42156120B8BD6FE6CF4FD54EB2271F8466C73B20A7B230CAAF73C55B4F351D4E93A06940A4D4277DC0254AE825145C2E4A06BD33D822446A0DB08E0D1335CB0BFB57094CE81AD2B15E1F0D52B8E548170A8B44FF9F2B80AC88608DFD89489C114EE7C88B52ED2AAE5720F46C23265C67A24CBAA3CFE1358DAAD57D34CEA19B74AAF88FAF6B19250EDB3B66C6D272FA05F896A4763A1D60A5B859B214596A671A5832E0218C808D22FE2DF4AF850C638B81A682E68793F3F1CA8A5261D7104AB340556D66F40D5930AD669947E484CB965403FF5E57B935BA29DB5B97FFFF164E9508816E2CD811B8AAA768321FACAE3CE2B2A9CFFB2E4F1CB68CAE2FD672C314D327DCDF46A91F23929BA327AE8A8646FD20229FC5D85149484BCC473F52D5BE9A0EBC57E2E252EC895DCBA1CD39584CD7FC14E96201D90874211555C4BFFD9F906876F3E112CCDE00914E3E460D8E95FDF0C65F70C2325A1B077DB3CCD64F1BED863A8E82FC122746161696CE0A30C03E99296DD5ED031BA7920CC15BA3570BAC1BDFE00AA60A3AFEB73FDFACECF9BE1A9E118BD645A821CFC3E80C284CA1C1EE1F7B5EBAC2DACFC39D486F209F5808181127EC012A486C521A478F478E61B43E28EBF5C94E4E29827E33384D33BF6F95E32D824E28D3EEAD4A0736CA14C21818665A2B71FEC36E49FC5CAF058D29C3BEF0403AAA6B28A23D9663FFA8BD36659BF2FA4356BFA22CFD49EE0457B17BC9A67C4D653BAEC1E345751C6208E5EF0ADFF638044CF67ABCEC0B88FECE6FCB04E1016408A70FB734A13E14714E96AAF18215A4831DC009B7343839C728C9B9DABD96F472B3FBFF3DB4F27D82EDF014707DFD7C7E412F760637DD07CEDFFE1AA673B8AFB6CFBC1DDA4456863545336CF222D843361B1EC850E2003B41066A7FB799256653A8F46783E4E55B6AAA07B87DFC54932A0C64F1543A9912577BF61502D3BEFFF90DE16B456A49149F7F0BBF4F0A37718AA99FA4803A4A20E4DC8CB398BFC47CE13DAE175B78A6A5BA18200D35E775A55596E1BC0E83F878612DAF3BA51F0E844AA1B5DFC8585D693800D2059C9E9B6135E094A9AE2AE06A00C43FCBE43AB22A344C6DF8C55C9BF1EF99F97F6E29A1FD0AAE7D2D1031B578FCF10E8C831DF2D537560B274D4BB305AA299BA64EF162083C20341E81916F065A483DCB9AF74AC78BFC4D19C4C42B22688B171ED10ABC43009E39E121AFE25CBD16F929D9EB164E0B36F17C286E5987D80B43A5906E3315DD3BCBF4E526FBA9EF5106837588256E2A8F069411A8CBB7FB7109C8E152F81DDE2304A11AC54EBEA1A1EB3AAA20311FB72FF9C8CB230B45348B8B031A81F68C2AAB84E5F6F977038BDFEDFEF57E4FBFBDF30B804ED8F3ABEC91EEB252EBEC52311C48EA0F59C36EF01A138E86F740C972285D8A7FE9B817E3E58A01F5FE60CDA1247C351AD0ACAA765351FC580A873E8ABAA728688FF7C044827D600AAD3578F6E4869FD2E2F75ECF38D577E4E2011B1CA14BB448F53596C5AB7E40C42FD34F147002EBC5765FB5AE3DF9A094336F85CA475FFCF43B7A998EFC9499D8636375BFEAB91688B0632636B692E39AD0BDABB5851334C7AD94396A10817284FCEF3436C93731F92F7021B272D6B8A631F251860E161674BDE79B245D86E9C9CD9947AEACD1A2AC7B319FECE3411C8C27144274D33CEA8D1B9F22411ECE82512A3ABD32D31C678025554157F309EAD3300360F3EE2B873E10ACE3CDC36F175497F095E496EA81E34C2C7369B5722259735E0ECFE684E875B71C4828D2A463A279C2552019696829AA64BED7F4C8E2442100901230469A9ABAAC443069B30536405CC3C25A11900DAF73D598A131E329CA35E6E7D8071DDC0A539ED9D7A4BBCD512595A931086128EE9387C904639DFE380080BCF56438F704F728EC5FBC1D543FFE7B76EB9497D2FE9124308CCD82939B66D478E123DAB08143BAEC36985B374C5FC88F5B41CA1AB2179583DE226BCFE1BA07F82AA38811F389A87DF714881B51EAF2C62E2D77DE24A59EB7935884348A3A61B75938AA5E7FDB5C1CFFD030EF41A18AF91CF96D55B239499826B3924F31F7C7BBF7466C5F69DBF67EB344DDE8E7246610F1B738FF71D14DA35B52D8695CBE8FA334F92431A629F004AC4FBA9400F2465030F19CAE0D34ECD485B143521970D3FB80DCF36B1EB3694946DD57C2016E056487518A3034E7C387AFF01320BADC460F6EDCA1098D07A52A67A73B3EC398A54AB4FA8F0862DC23D6945781943A0651F3A0315EC7349C33A22937512474F1042D5CEA69F3A188CE10E395E19C8A1921E186BC91BA8BEA87753C15699491296AF4DACD2D211B3E98A2CC403F3545A2CED565400364FA1F86F2BF6067A515F2E3AB1F2DF934F7C5E12685C7D87644DCA48E6A0DD272E979CF35E4A0829A494EC779A9F7EEF8C39FC2EB101CABBDA7C1EABDEA92A818B628D265BBE4E08AE1157935968353ADC6B87CD0D7CD2F9F724CDF1FAB5A6CF0B145D559859F05F54477B543D2A6BCBC27C460961A7FEF9F8A3F661B8BB581717CEF42342E4AA7D11A7CF2BFC7C0F13DCC18F5D2222935CD9E26A28EDB13E2C34C496B2D1247A3DC7AABB919D23045545666757775FAD49684ECE444C8B0A8AF1E1FDD17EBEE6270482327CAB00C382526028A48D77039A3147789D326FF407937B6F393641BD6727F10AFA6F5222C502C420355CD1FD8860C6F24459E30FD8DB3BC0830340E2BB4A707DEC0EF6FF40090885474D361888573AB3CB9A17D3CBF895764F202E74369D207055A8F4D2262C317E9B45CFABB34A9FEEC03193D502A9589B6B010CA2F429FBF4377400BEA071428CEA42A3F2C0B08173F279EE1292ACEA8A5C67F8EA6692CB312EF666917E01E731B943DB002F9A89A37099EAE6C1437BF22D5ED82574B6A9265C6A51E4B012B0468B8339EA53C021B670DEF4EC4D955E9F09250EF179654CC9897C685FDE21A4B5A51FF2A0F41C6FAF966EA2D6BCF32B654CA1FA0CD0DF62C78B6411151509B019E69E124B0C079CDF61ED4E534CDDC0A60225117312E2669631E353ADC1890F1E54A0922E340E861FC6C51037133002EB21845EACA15AE968E26418B8D5A88881D7B01906862062A8708D1E8C10F187C76DE78CC9FAF6D210DC4479F3A1D216477D1A1B51796002E572D01E763580CD9425138C1AEE52D847466DD4FAFCB59C7E57415E843EA76BAC9B4F3B2A80597F986222D385B99BC9F599C5BFF0638275485238DE6945F534EF4CC13E97379AD8935056045430A69B785A7878CC425AACC87C8AB35C5AC7DD32EAC31080AE99B0574EA56A2B8260594EE39B90C9536C2C4F22DB40EA71953A30C72C75DB5261C375D3E450BA741FD4EDF0C0A0EFC9D69C7FDABAE473DA7857576DE9112D60E12AE3646F9461A7032C844C41A30074874CE3ABC7505DE15A16698DA0FBC0D2AD86D64A8FD768619EE073EDA689E2430D9ECF3C"),
+ },
+
+ # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/ML-KEM-keyGen-FIPS203/internalProjection.json
+ 'ML_KEM': {
+ 512: ("BBA3C0F5DF044CDF4D9CAA53CA15FDE26F34EB3541555CFC54CA9C31B964D0C8" +
+ "0A64FDD51A8D91B3166C4958A94EFC3166A4F5DF680980B878DB8371B7624C96",
+ "1CAB32BE749CA76124EE19907B9CCB7FD30F8B2C38DC970E81F9956C97A8BD3C6E37B07C29E60BB2B75C5258B572626A859ABA89DB3AABC571424618B26310278B8EC4E76ED07A10B864AABF37BFC9F364731050631421BFCB1C3B9153D4316A95089197A027AB80B39C362CE6D97EFF422244FB81AAF67354F03894CC25B2707939A4A06D302C59D106EB743678DAA3F1D1C3F46B03F0DAA0641835A548363180744E6B6235B84DB9A4628279A6EF7231499208E657A3F9BB6E3F782606B79FC9A38723576FA80898E8A6887D94C3ED774E46A86CFE705B34C6B5535865329C5A4A820F9114CE9A9C68495C726368B9E073CBBE627A7DE419F7F7B4AD221576F91FB1E66CFF9651BD6C25E3CC9CA49A570CF041E457658072B684E714BD6A86B3D05C7597A729E12E512C8D7E5B5C27049EFB0AC0E085B1B88347BFD314B4E4AB4B8875A489ADB8C9AE28008BAD36AAAD24683563BFAF19BDA8677AB7BAC7E33C3087B84A45246A2AB1AEF397750D386ACDAC63C87506166A0FAE18773F530E74545D54BC670DD7353B75B16373CB8A6269AF37097EE1B1640458153132AD80AB64F7A599B8670E301205043C136C56CA5A06DBFABA3204671C1B237B18824555B5DDB206A74ACE637005B363238378BDA5E198AD69B85CBB399E8B07CB899F9E93CF6CF62FCAFC9E4D77363CA2149E92197F2133223799C182CF5F182ECD35B5FDFCBF0A93A1350198F2F244F3216B442A22FDDB2F4F3BB8CBF0168D0220AA725A0E287DF08079A1DBB8747C02F0C2C829759A5D95B6237522E7F71AB5669390377E03A93AB7FC7E9FD6BB59C1B9B8CC966141B0BA6796E66829D6A403B1F5816C8557EE8841031B2ED6C6CCFE8A55B39B9273F8BA050B1B328C7B9A238A7B8324F16A7A474C0B5721B9C8246531E19208838356F3337768BCB3397B4E01CC26175B67A66DFCD11F07B295C20AB484A60E7D086DB39B8301845B654A484462508FA78506357BBBF42DBAC157BCA7769C099A0B1894D4A17256F504EBE50BE284656F653845A26B00856D76A8A5A166CD09D04705261EBAFA20687A1068D9B9E28326848B67A0A3994D2DBA4B7A8F623B901E17CBEE610847A2903301C58287"),
+ 768: ("A2B4BCA315A6EA4600B4A316E09A2578AA1E8BCE919C8DF3A96C71C843F5B38B" +
+ "D6BF055CB7B375E3271ED131F1BA31F83FEF533A239878A71074578B891265D1",
+ "5219C4CC17C35A828F3E21B2AB7496805C99EE041FCA0158A3314F07D053F364C887A6825958A625965D4885C2CB355E83A3C1BBB15446F891D2D24F145632CF06A5EE1A278CD3064A79AD53193853E4CEA654448A4297CEA3C9E87561629680F588953B858074292ED31C20DDD983E805D07BB9CFADD823C7900B604286C0184738CA04E0DA8289540E329605EFAA5960AAC0FD0760006C1F1993426CC7BEA22BCBB3CC02E099B828E82F94045DFACB1D9FB315582B20D1B41476FC43AC4680647259FE9B51371223446C82E0BBAEA132913E2B96EA11950C450F25854EE4FA4921193C8F1C66D61B8265C7072B046F0C532141D51D9919C80733C1BD3C5A6D77CCB3A1938C95C1E4E866D1D65C78297B3B32CA3C4143E6A215C609A36A1B13BAA17981D42B7FF4C715AC806DC491560032A5A2BB30E476A266C6E4A4A065D9698DB08132608136082689B1B648B49063C98324706A43876507FC690893900F8166E1D52ADCC44848D864B8BA0933B32DAA63435F11065915C5D5D879EDCC136FA8515B0260B9536C316120B4904921805521C0232DA126E2A9C5323976ABC73B5AB892E59B01A194B6446C1B73217FBBA855AC887AFA58A8F15A768EF968D775267E050150C7A8237C1024F9421C210D97907B2A144736E3B58E01C48947B1C62655E380256491CEBE400F52493D9033A29D6C9AE80B33E8C38584B30A31A37B15E85F5E82B73157408A5399A957190CBA905F1713C9ACA53AA32923CACB8269436A56BC02932189C7139D8463D0DC540621875E9A7DFEF020E7E83696C7612BC2A7DE7148D7075C31F257766301FA5A06E00582DCE15C6FB3195AF43078D79B110B5DC0789BE3A32132737FEB247DF8D2216F272C3D5BA700C52ED7E3A2795CCFE3072CD1D1B533939AC58A065A8A9FE85441ED291D43869E25307737A5155A095C5056A204326F944A9FC8F7035C931A61033CC2DB6ECEC08AAE0045A6542080C1A7BBD699902A2ECBE3A1F9AA95FC6222C6C6AB7BF96EDB3450E029B0CE104DBBFA0A49B8044EE1BB63B33BCFAA8A6A450194CC577D490A549B6C42D6816F444AAE8B8A4F62AFFD17664E957E2BA245A864BAB8D28E82CAB9FAC3BCD707AAC19A5EE58A3925DC7059BA1B9E7A798EC987E1924342C54E5D935A6699B6D9AA78E4738B0CEC6C57D8228C86881A14A3B57065BBE5653BD92B5BD5A9888B1B1E9B017ECA1A788CBC3A283A9F7B00D3F55B138CA26C33CD2CA3BA632A0735596162AA6C9D10968F53305D35CEC4395CA0489FF631A3EF661264A22ACB535DCC1313CD6917BFE3B5B8FC3B8016CA0DFB151623C92F95701DCC4140459B52EB796FDA60FB429651052D2C16B550FA035CC1374C87A439077713769C728B766BC75A609B70BBC14AF84A3C70519C3211ACAD58BF7C14C15F1AA86FCC1DF55580A2F9BBBC31B6B0EAAB379481CE9966F7FA6487C611BA5B3E8F8307FA35CD5248C8AB351B63ABC4BA005871A97751F01E5143302C757A65E411AF7B26F22076C7A1CF7E2B0055E80D7116CA2B3056BF8754BCFA9095D0CE99715CC4512F10125C5A500DABB7C11F5B0408377900621BE851B7A3602576650B84191749F30AC635A9E2212400769DE8E1915F26BA198AF8E53DACB598711738DA8C583A388E027A59"),
+ 1024: ("2B5330C4F23BFDFD5C31F050BA3B38235324BF032372FC12D04DD08920F0BD59" +
+ "0A064D6C06CEAB73E59CFCA9FF6402255A326AEF1E9CB678BF36929DAFE29A58",
+ "B24174A5B00DBF520CB9E3783D482E03CA3166D40D082A7BAB664845B617ADD98C07C6A3C3204F812035683A1D4F10AC1DE764706CCE96D75832A462A8B1B82CF471CBF808A26508D9FAA543F2CD980377D6F794367938064B6DD388C529756963B12CA594B306AB3F0EBBB6ED47601AEC1074A2B0D1B41717F8C695F174EF734052077E53DC9F47316B6608B7EDB54EA3631A36BB8D842CAF27367C15C18DDBA7AFE62AA572133384CB872555948A165F204C2CB4503C9D8ACE5F5217194A67EBD2A72F99562F98B2B773B6965C071BF11DEED395BC153ED6967492D88D5EF32D05E008B7958A2F36B9DB06CCDC52A626417966B19C5079A9892BA426A0362FB18E7EC07FFDC0C5DBE264DEEC41BC83A573599A25A8909B2476682336CEC9A396201A000A9C1BE792D9988FBC03C24855C1B242AE27A127CD36415CFB0D98CCBB9BD83AF5988D743773ACEA4201AC935E7CCC46E92D8E84A9D70CC626965429450980E0782EE11CD91169CE94BF89C14EC10B900EB4B77129A859039AD1253E5657B261E9855BC4B0F504C478D58F4A388215A0715168109526C2DAC555007C66E10B79EB92471ACC9A640805BD947EEA45B66A2C02D5B7C9029945B581666D470CD2654EB51C3304AC52CB11382B8628553B63742C41B293467B754DF8F52A7B9A5EF2359BF34025A9318DF92B1471EC529E895814999C551356ECC9CA945641067B16AC04B4169CC2F8A3B9A005047AC1AA4DF27FF284C7AB19A800629B5A85B06834623AC018D2E4CA1CA197D7B458C185BE0BA9B4703811F8628D13B690602544BD69AFAE215F5BDB51315CB570D48D8B55120D50560E59594C8B5603FBCC7E484EAF591070865FADD495C4D67BFC67CF1CB94ACD50C8970A226C0BC0FFA186BDC51DD235AC8D085F348374C88C6206E147233104306916E30635F0AB1B956644E02A4EE2BCC3246088D3D570A617A63150B32BD50DAA555DD6BB8B6D34C0CBA83A41C23B48B39708D7578D33C5A60AA28430CB10BA264D158ABFF301A00732BD95539190436AD02F89315CE921499C04305D81CFB7997ABA4B2D65639A34901B67972C9A2355B5A10E91F955E0A95FF33A21FA4A8B8E018EA6E43F34462DAF95A29DCC719C2B7EEAE50350497006F6AC53D28FCBF90845B02A8846C58D6494C0C603283476AF121767A9600C83A9E92B8D7B19C2680B1948044B807C9EA7EC94BE30CF3AEA676D16159FA3BC97C055ED0A439AF5C2F085BC0680A5DED6820843C3D3F65138E5ACE48C7A0C11037161674826084FD9BA3113223F18564A9B8DD98472D1837AB85B66E2C2638A4A8D9DD6C361BA6B86629FED9B6E76DC75B258908B750117E8A4763A1C0C0BBE5E2616C5D55B60720371F06D63893061FA6B3C76A600179B52F0C319F47A10189A0F566A7292C40CD9980C0112F265660C3B4F60736A9693454A7B861F834D35B838F8A647771630BCBC1F23F6AA887CB6CBD582CC2240CDBA864167506A43C434C27EAD754484D232A83BC40C2218306816030A20765A5470217E5B2C90846344CD8BC2C498B770E83CD1959DC152BCCB4ACEAB36ABF7F3618C1247F5DB201310C0A1E574FA547C398CC5A44AC23685B64D07B8F6614016C4271B71C650A8B520A5AFA08BA04EE51646B8A7FB652D3AF57A4010558F856FACC9911E09B332C5870EDB61E8E850BB1949AE5755C1FBA2CC472073029FD6542BCDA71B7952BCF811608F2A88291A04F2664BB1112E27B1235B16C19203214E79145A318C5110152DA36BB21ACA73801185D6B8B1F6A344B33B3E550FB5DC29BCD19846E84074BBC8F7580CD347B52F12A7D1616C55A2CD1F5C4AA86702DD530FA05A641302A16127468E85522E567570B65FC3F834D85A20973A0EB2B210D5812CFDFB881CC3AA06AB4CB77BBA7CDC6BCEE53C020B3343B9BD9A8298AD2055EE1A6070849140A86288721815C79734773F4097CF4741CC9635A30C8100B20733D3980B350393FAAC4CD0E66E4737C681DBBCC8D7953FA77454C422AD870E278B1121C33C8273370E5B686A6AAB17FCA3B67A3040D6491241BF5E3072FBDC1E422413FA5B4E9EE91EB3C936E21A5C7856942F44A55670A688A69E91A9A80BF4094C301DF705334DACB0CD929473829F34F37947D22B55C062F4CCF703EE3C1CC0BA7316DD658E6B6E0815F8FC9A70B1BBA325EC32E2930916"),
+ },
+
# Randomly generated with OpenSSL
'RSA': {
1024: ("""
@@ -259,4 +282,44 @@
0203010001
"""),
},
+
+ # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json
+ 'SLH_DSA(PSA_SLH_FAMILY_SHA2_F)': {
+ 128: ("C42BCB3B5A6F331F5CCE899253C6D9E29FF2B7EAD7A04BAB1794DB8CC659C3B4A868F1BD5DEBC12D4C9FAD66AABD0A94A868F1BD5DEBC12D4C9FAD66AABD0A94B546DF247BE4C457F3D467CDFCFABD39",
+ "A868F1BD5DEBC12D4C9FAD66AABD0A94A868F1BD5DEBC12D4C9FAD66AABD0A94B546DF247BE4C457F3D467CDFCFABD39"),
+ 192: ("A021B4B9D6DEE168722BC10225E50A946642AF630C3C7C7D69E3A40BA09DF2AC165B792A07F064AC5FC28D8C99A580F4EE4823D09E79854706DAA80AE3179B5BC8C2E9409D6328A3EE4823D09E79854706DAA80AE3179B5BC8C2E9409D6328A33577FD584BC0784C559CDB2437A46F7F753C336369419ACF",
+ "EE4823D09E79854706DAA80AE3179B5BC8C2E9409D6328A3EE4823D09E79854706DAA80AE3179B5BC8C2E9409D6328A33577FD584BC0784C559CDB2437A46F7F753C336369419ACF"),
+ 256: ("18523702A0FE2C9E488948B127185BAB93D3F02C3D7C23A1B379F762DE0509E56AB0D9F93540BD809D1D2E8A050440AA81E853750470E2B00C959DBD3BE40E2BD7125F5D00BA47F1FC8D4C32C2F57C444BD384D7CE770BC50DD5980C1D1264D0D7125F5D00BA47F1FC8D4C32C2F57C444BD384D7CE770BC50DD5980C1D1264D00AD5197FFCBAAFE11B1E413F26ADB1504CE1C3F5C40C1DCDA14E99FD126D5B81",
+ "D7125F5D00BA47F1FC8D4C32C2F57C444BD384D7CE770BC50DD5980C1D1264D0D7125F5D00BA47F1FC8D4C32C2F57C444BD384D7CE770BC50DD5980C1D1264D00AD5197FFCBAAFE11B1E413F26ADB1504CE1C3F5C40C1DCDA14E99FD126D5B81"),
+ },
+
+ # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json
+ 'SLH_DSA(PSA_SLH_FAMILY_SHA2_S)': {
+ 128: ("173D04C938C1C36BF289C3C022D04B1463AE23C41AA546DA589774AC20B745C40D794777914C99766827F0F09CA972BE0D794777914C99766827F0F09CA972BE0162C10219D422ADBA1359E6AA65299C",
+ "0D794777914C99766827F0F09CA972BE0D794777914C99766827F0F09CA972BE0162C10219D422ADBA1359E6AA65299C"),
+ 192: ("040266529C1864088925506C20A624A2B6D50CD77C1C6F0D2841150AE8157512EF34A343FFEA77FF7D9E814B45A8B41464462665F4202886206A8F632267186CA6A1CAD08A2B9A8664462665F4202886206A8F632267186CA6A1CAD08A2B9A862C6A7BC4AC4AAA84ACCEF60D529F0311274F205E8DA642C9",
+ "64462665F4202886206A8F632267186CA6A1CAD08A2B9A8664462665F4202886206A8F632267186CA6A1CAD08A2B9A862C6A7BC4AC4AAA84ACCEF60D529F0311274F205E8DA642C9"),
+ 256: ("FCBF36A9807B30697BE063A5105E091B412A391DD39E1326EBA23CBD4096CA77EF4121C08DD71BE913572F1F91E57D0ACBCD5CEC28539AC275832BBAA6C11081A0B4F5549EBCADB951DC2E512C76B0620D8FB8100B4EE886EF8784780D52A254A0B4F5549EBCADB951DC2E512C76B0620D8FB8100B4EE886EF8784780D52A2543E57AB494D47068FFEE4B8244AAD6F19CDF94A2172BD134A15A6B5F298D5A80E",
+ "A0B4F5549EBCADB951DC2E512C76B0620D8FB8100B4EE886EF8784780D52A254A0B4F5549EBCADB951DC2E512C76B0620D8FB8100B4EE886EF8784780D52A2543E57AB494D47068FFEE4B8244AAD6F19CDF94A2172BD134A15A6B5F298D5A80E"),
+ },
+
+ # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json
+ 'SLH_DSA(PSA_SLH_FAMILY_SHAKE_F)': {
+ 128: ("3956AB391B4D22FC907AF0740326D061AB0EB206436F2B86EBE086D77739B3E456505C229F4E7FA6B201714C7DCC9DA356505C229F4E7FA6B201714C7DCC9DA366578F1F24C3FE371C97C14CE0E79CDC",
+ "56505C229F4E7FA6B201714C7DCC9DA356505C229F4E7FA6B201714C7DCC9DA366578F1F24C3FE371C97C14CE0E79CDC"),
+ 192: ("FB7A2C2C75CE6C96B5F4328E0AB300476FC6F864CB5B0B99990ECB726CA822A4E3652DD92EC0AAB7637EA41C0482AE2868DCC671E3534F81A352C275B6A25F906D2ED0FF62B8B4E368DCC671E3534F81A352C275B6A25F906D2ED0FF62B8B4E398F1A9876CB082A48E9AE2C862B289486A3925CEFC6FF4BE",
+ "68DCC671E3534F81A352C275B6A25F906D2ED0FF62B8B4E368DCC671E3534F81A352C275B6A25F906D2ED0FF62B8B4E398F1A9876CB082A48E9AE2C862B289486A3925CEFC6FF4BE"),
+ 256: ("2AC9403858D186B172EDD8DF9C78A11449893681487D3AF0DAD0EC341E8ACA48AFA2771BAE6C17DD6F77B4E3808B05F56F31B8F4128DF2CCB677F0283CFB18DA559BC883105E8BA0264648B532626155F87EDB4BEDCFC12A24204D3B696D5370559BC883105E8BA0264648B532626155F87EDB4BEDCFC12A24204D3B696D53707A158FF5D30E3428183A3B3A96A0E4A341A2A16E5A6226AF374D1EFB39A35DF6",
+ "559BC883105E8BA0264648B532626155F87EDB4BEDCFC12A24204D3B696D5370559BC883105E8BA0264648B532626155F87EDB4BEDCFC12A24204D3B696D53707A158FF5D30E3428183A3B3A96A0E4A341A2A16E5A6226AF374D1EFB39A35DF6"),
+ },
+
+ # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json
+ 'SLH_DSA(PSA_SLH_FAMILY_SHAKE_S)': {
+ 128: ("C151951F3811029239B74ADD24C506AFDD30363E156E6FE936EC6ED0231FEB5C529FFE86200D1F32C2B60D0CD909F190529FFE86200D1F32C2B60D0CD909F1900761F9B727AFA724B47223016BB5B2BA",
+ "529FFE86200D1F32C2B60D0CD909F190529FFE86200D1F32C2B60D0CD909F1900761F9B727AFA724B47223016BB5B2BA"),
+ 192: ("8732621860E9A6E1887BE55F7AF692B98EB4C10B2599F94AD5CC9D6470D8B21136158E8B1710F1FBE03ECED37ED4AC6853FC64D46D7E1653EBBB36ED5FBC12C6E7CEF3CB756482C853FC64D46D7E1653EBBB36ED5FBC12C6E7CEF3CB756482C8C620452E864E8497E1B38A7B04449219ACD9E4393F9C88EF",
+ "53FC64D46D7E1653EBBB36ED5FBC12C6E7CEF3CB756482C853FC64D46D7E1653EBBB36ED5FBC12C6E7CEF3CB756482C8C620452E864E8497E1B38A7B04449219ACD9E4393F9C88EF"),
+ 256: ("E440E39644A11A6A58E850C09C8F03C273E465237F3BEF7C58DE62281E676CEA99C199C00DB30F8499A61B5B9DC8A361725F6AE80E97037176F408C30B38844DD7B5E755B4879FDE3288A21AF3E32FBB006FD9B8BC2B180EB9B0D82C9F3157AFD7B5E755B4879FDE3288A21AF3E32FBB006FD9B8BC2B180EB9B0D82C9F3157AF02ACD6B3198EE1C9FE9AFE61FD86D1E0877AD9061980B57B178CE27191D8EB1B",
+ "D7B5E755B4879FDE3288A21AF3E32FBB006FD9B8BC2B180EB9B0D82C9F3157AFD7B5E755B4879FDE3288A21AF3E32FBB006FD9B8BC2B180EB9B0D82C9F3157AF02ACD6B3198EE1C9FE9AFE61FD86D1E0877AD9061980B57B178CE27191D8EB1B"),
+ },
})