diff --git a/src/scripts/dev_tools/gen_dilithium_kat.py b/src/scripts/dev_tools/gen_dilithium_kat.py index 40653b8d387..11c6de3ce75 100755 --- a/src/scripts/dev_tools/gen_dilithium_kat.py +++ b/src/scripts/dev_tools/gen_dilithium_kat.py @@ -106,18 +106,20 @@ def main(args = None): args = sys.argv randomized = True + is_mldsa = True type = 'Randomized' if randomized else 'Deterministic' + name = 'ml-dsa' if is_mldsa else 'dilithium' for file in args[1:]: mode = map_mode(open(file).readline().strip()[2:]) reader = KatReader(open(file)) - output = open('src/tests/data/pubkey/dilithium_%s_%s.vec' % (mode, type), 'w') + output = open('src/tests/data/pubkey/%s_%s_%s.vec' % (name, mode, type), 'w') - print("# See src/scripts/dilithium_kat_compress.py\n", file=output) - print("[Dilithium_%s]" % (mode), file=output) + print("# See src/scripts/dev_tools/gen_dilithium_kat.py\n", file=output) + print("[%s_%s]" % (name.upper() if is_mldsa else name.capitalize(), mode), file=output) for kat in reader.read_kats(): kat = compress_kat(kat) diff --git a/src/scripts/dev_tools/gen_pqc_dsa_kats.py b/src/scripts/dev_tools/gen_pqc_dsa_kats.py new file mode 100644 index 00000000000..d9d24c52e28 --- /dev/null +++ b/src/scripts/dev_tools/gen_pqc_dsa_kats.py @@ -0,0 +1,144 @@ +# This test data is generated from the *_DSA implementations of https://github.com/mjosaarinen/py-acvp-pqc/tree/main +# and using the drbg.aes256_ctr_drbg module from https://github.com/giacomopope/dilithium-py +# +# (C) 2024 Jack Lloyd +# (C) 2024 Amos Treiber, René Meusel - Rohde & Schwarz Cybersecurity +# +# Botan is released under the Simplified BSD License (see license.txt) +# + +import binascii +import hashlib +import os +import re +import sys +from dilithium_py.drbg.aes256_ctr_drbg import AES256_CTR_DRBG +from fips204 import ML_DSA, ML_DSA_PARAM +from fips205 import SLH_DSA_PARAMS + +random_bytes = os.urandom + +# "ML-DSA-44" -> "ml-dsa-4x4" +def transform_mldsa_string(s): + s = s.lower() + transformed = re.sub(r'(\d)(\d)$', r'\1x\2', s) + return transformed + +def create_mldsa_ini_label(s, det): + algo = re.sub(r'(\d)(\d)$', r'\1x\2', s) + return f"[{algo}_{det}]" + +def sha3_256(v): + h = hashlib.sha3_256() + h.update(v) + return h.digest() + + +def sha256(v): + h = hashlib.sha256() + h.update(v) + return h.digest() + +def sign(sign_internal_func, sk_bytes, m, random_bytes, n, ctx=b"", deterministic=False): + if len(ctx) > 255: + raise ValueError( + f"ctx bytes must have length at most 255, ctx has length {len(ctx) = }" + ) + if deterministic: + rnd = None + else: + rnd = random_bytes(n) #drbg.random_bytes(n) + # Format the message using the context + m_prime = bytes([0]) + bytes([len(ctx)]) + ctx + m + # Compute the signature of m_prime + sig_bytes = sign_internal_func(m_prime, sk_bytes, rnd) + return sig_bytes + +def main(args = None): + msg = binascii.unhexlify("D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8") + if args is None: + args = sys.argv + + if len(args) != 2 or (args[1] != "ml_dsa" and args[1] != "slh_dsa"): + print("Usage: gen_pqc_dsa_kats.py ") + return 1 + + algo = args[1] + + # Initialize DRBG with the magic value + entropy = binascii.unhexlify("60496cd0a12512800a79161189b055ac3996ad24e578d3c5fc57c1e60fa2eb4e550d08e51e9db7b67f1a616681d9182d") + drbg = AES256_CTR_DRBG(seed=entropy) + + if algo == "slh_dsa": + output = open('src/tests/data/pubkey/slh_dsa.vec', 'w') + + print("# See src/scripts/dev_tools/gen_pqc_dsa_kats.py\n", file=output) + + for param, alg in SLH_DSA_PARAMS.items(): + hash_fn = sha256 if "sha2" in param.lower() else sha3_256 + + seed = drbg.random_bytes(len(entropy)) + + drbg_instance = AES256_CTR_DRBG(seed=seed) + keygen_rand = drbg_instance.random_bytes(3*alg.n) + sk_seed = keygen_rand[:alg.n] + sk_prf = keygen_rand[alg.n:2*alg.n] + pk_seed = keygen_rand[2*alg.n:] + pk, sk = alg.slh_keygen_internal(sk_seed, sk_prf, pk_seed) + signature_rand = sign(alg.slh_sign_internal, sk, msg, drbg_instance.random_bytes, alg.n, deterministic=False) + signature_det = sign(alg.slh_sign_internal, sk, msg, drbg_instance.random_bytes, alg.n, deterministic=True) + + print("SphincsParameterSet = %s" % param, file=output) + print("seed = %s" % seed.hex().upper(), file=output) + print("msg = %s" % msg.hex().upper(), file=output) + print("pk = %s" % pk.hex().upper(), file=output) + print("sk = %s" % sk.hex().upper(), file=output) + if param == "SLH-DSA-SHAKE-128s": + print("SigDet = %s" % binascii.hexlify(signature_det).decode("utf-8").upper(), file=output) + print("HashSigDet = %s" % binascii.hexlify(hash_fn(signature_det)).decode("utf-8").upper(), file=output) + print("HashSigRand = %s" % binascii.hexlify(hash_fn(signature_rand)).decode("utf-8").upper(), file=output) + print("", file=output) + + elif algo == "ml_dsa": + for param in ML_DSA_PARAM.keys(): + for det_str, deterministic in [("Deterministic", True), ("Randomized", False)]: + alg = ML_DSA(param) + output = open('src/tests/data/pubkey/%s_%s.vec' % (transform_mldsa_string(param), det_str), 'w') + print("# See src/scripts/dev_tools/gen_pqc_dsa_kats.py", file=output) + print("", file=output) + print(create_mldsa_ini_label(param, det_str), file=output) + print("", file=output) + + hash_fn = sha3_256 + def mldsa_sign_internal(m, sk, rnd): + # For some reason the interfaces vary between FIPS 204 and FIPS 205... + if rnd == None: + rnd = bytes([0]*32) + return alg.sign_internal(sk, m, rnd) + + samples = 25 + for _ in range(100): + seed = drbg.random_bytes(len(entropy)) + + if samples == 0: + continue + + samples -= 1 + drbg_instance = AES256_CTR_DRBG(seed=seed) + keygen_rand = drbg_instance.random_bytes(32) + pk, sk = alg.keygen_internal(keygen_rand) + signature = sign(mldsa_sign_internal, sk, msg, drbg_instance.random_bytes, 32, deterministic=deterministic) + + print("Seed = %s" % seed.hex().upper(), file=output) + print("Msg = %s" % msg.hex().upper(), file=output) + print("HashPk = %s" % binascii.hexlify(hash_fn(pk)).decode("utf-8").upper(), file=output) + print("HashSk = %s" % binascii.hexlify(hash_fn(keygen_rand)).decode("utf-8").upper(), file=output) + print("HashSig = %s" % binascii.hexlify(hash_fn(signature)).decode("utf-8").upper(), file=output) + print("", file=output) + else: + print("Usage: gen_pqc_dsa_kats.py ") + return 1 + +if __name__ == '__main__': + sys.exit(main()) + diff --git a/src/tests/data/pubkey/ml-dsa-4x4_Deterministic.vec b/src/tests/data/pubkey/ml-dsa-4x4_Deterministic.vec new file mode 100644 index 00000000000..615cf29af78 --- /dev/null +++ b/src/tests/data/pubkey/ml-dsa-4x4_Deterministic.vec @@ -0,0 +1,154 @@ +# See src/scripts/dev_tools/gen_pqc_dsa_kats.py + +[ML-DSA-4x4_Deterministic] + +Seed = 23F1C88BD0E65F2C891CE865BD3275A7FFDBE4F9036E75B96AAD0412650E9CD2EA4591D4AB7131EA971B34C23A4ED245 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 23FFCA1815890E764D3E95D9586B4B36B78FA726AA720A6FACC9485CE5C22CE1 +HashSk = BBD7B9D5D89564D38F3E5C930CF77E529AD84868FCC486871E6CBB66CCBDE1FD +HashSig = AF9D83B50B0DC0F5E7877549FF6AE7F05A8B9A8F28ED399EC33BFFEAF06A217B + +Seed = 6FB79C668EB6E0F65A09135CDD243CE205D7065A0924F86024ADCD111F654A6DFE2E398A12369064C2A217229113E570 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 93B8CBA713F8C9EB1D19CEBC19A6787C6CC1E31964253BECCCC9802F76E27AC0 +HashSk = 6C22DEAE7B12857E0566C187ADBBB74862C0978CF777565DC7438AE57126ECB9 +HashSig = AD165069CC5745E3D5BE6B37E3FB5DE5C9E0F08386BCCD07E18D1941171681C7 + +Seed = AD4D2D306639620AFCB3753A137F89331836A5ADCE1C40BEBE77B82D43A40D3249000C7AA3786406D5D5FA65462D1A57 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 8FF607AEF792D68EA8662F098DEB407F4BD5D2FE726F9F1A14DCBED0FDB44E52 +HashSk = 40B2D91B0F9B8C5CFE6FC59228287B71B47A4AB844D1D0087C052C2325423C32 +HashSig = C31658E5AE02AA4F849BB0C7BD851587B2E438EDE4D02DC7BFAA574181E46041 + +Seed = 950684CB360FF0C011FD02A09A273C9F023D0A34AE0AA338C6F5283634AE9BEF5D100BCD48F6577E5910BEAAFE6C52C3 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 6FA5431E69AF41185CF3C08C42B96BB7091CF5AC4DE69CE86F76ECCD47920CC4 +HashSk = A0A0DF3AD18D8E1DB7BDEB2E339BDF1D75A1C376AEA3BF6D8D7864B2EE4446F1 +HashSig = 9ECF01B41517D77C79A0F930F07AC7C05866806A497D5686437AA9CC62142F54 + +Seed = 0633CCD19471803E0CEFFC7A11B2E7B70C3329DFDDE5BE18160DF0D4C609900D67154893921376CC4B4B8C586E3EFE79 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5658E47FD02903B3341CBE083AFDC1D2FB1CFD71356E7F5033E24148D7C45608 +HashSk = 4E65F124A607187E7413C462B3786669323FC72B542A578BB8DFDDBD4CBAFD0A +HashSig = 40CF0BA9CFB34D7922955BD87DBC6D43930849F37DBAF86F91A10A2D45A8FFAB + +Seed = 2605426643CAB04B2801416B3239CD046DFE7BA59874A3A05C5B32A4505F21D8B7217B5ECC8646FC6A845211AE4BC708 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 835A9AF779C23C6B0D3BAAFED72D384FBA4C2E01044028146757DA600EE1882D +HashSk = 29C7213AA5D1915123E2731503F6B1DE8759708D60456233CA4CD3210B77F5BB +HashSig = A9B5A23C0A119954D0BC4006C94AB64AC5B0A720B009D1396CED482033CC9B79 + +Seed = D3880D1B7802B4A3277687863C5A248BEFC95D3E4748403F3BB61F83ABCDDEAE42AE6C8624812FD38F463122D99D59A9 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 9FFCBA17132ECF06DF537167ACFE7845301AF53046E56F138249D369CA4ADBE0 +HashSk = 6F23C6840447888675CD67742EB0D1CFFA0772F9E59A7D21B8363580562F78F5 +HashSig = 4B1BA2AC0B4974E1CD1002BD75CCBA4766D1096F601DECD34167179CBC948F9B + +Seed = 343B81870E2721DD75EE0AD7FDB269EB5AAE0AE83A6316AD8ECE3C76D3DD3CC391F1B12B22E988C1257B5F56D905A06C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 27F8ACF8A0F46FD7D637712B7349CB168F67F327CD66933001A3FCC4FE17E50E +HashSk = 2932C123DC8D65A2F6BE6EF119A401ACBD86951DCC52F7805CDC18EF1609CFB1 +HashSig = 3E8B36F42317995DB63C3914F37E7FD15FB9DAA4B11A1274841B74B644A5A7A9 + +Seed = 406D9C95F9813CA6A9E6071D3A7A63093F9E00CD15EE968C3AB28CB7368699491E5662F6B63721FE059D50295C3A7516 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 7447A6691EEF12AE43676F6EF077DD083B20503D11D2E3D46D5E86441E91B990 +HashSk = B04D1B11E3CAA61878C3362560865A055C1265C854EE238B85A24603A55B3778 +HashSig = 3731257AD3871DF24A4E3D3D4351B48E25B8BABDC985ACF7AE110F0A6F4F3975 + +Seed = B3C83C13DD15DFFE58FDB6026D32E33E5EF24B094BE16741DD5B587EA841AD19B6F026A127678849EC1B459A365FD645 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 1F895273F0540216F9F6075BD9FBFFDDE8730126E5453950A39525DDE78BD843 +HashSk = 861F343C1FE7455F544235A664A9E0EE40D7B4580B62048FEBFD7A5CC82F64F0 +HashSig = 723EEBBE7336F6861ADFA8BC1E7563E5A8C88B9C415876B656FAE2454A9D96CC + +Seed = 937BD532FF7C92404ACA9C2389E314F72D780234E1FD930F967A724937204C59877AF25D38245638FDA72B0EE74F8492 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = E4318667275AB40D0F22DE05758B2AA687B24F1DDFD2A20A1E7396F3EE695460 +HashSk = 594D7A0A4C3786FAA85FC47A620EF9B1AF0B86BA846118E0BEB1A0FC2A6A12A6 +HashSig = 4C6F66AEA3458921F900D658D2B5B868B81C27C2EA852A682DCDA7710E30CC8E + +Seed = 075D939507DDEAB7C64FB847EDB74CF693866BEA32C93BC5C129CBD7141C0B79901B26992481236A56CB404D464DA0E1 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5E158BE66C1CC67818E92B88D9343094E96A2E163DF8024C3235885D3BA3CE96 +HashSk = B99B43BF3B3F1B13683CA8DB1290D4D6F459E793E99BD8A3B58399EE079CABE9 +HashSig = CC3003670414ADC3B589CBDFB0AC7B218D9EF73BF5F57A3C8AD1742BF9A7AF09 + +Seed = 40CC0DF72EECC2E75DE19C2D9765958C72F3C609D730911977CC93D3C68CA97A28EE7AB4102ACF3EAEF5982C302F7427 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 3513DDD518FE41A94139641047A01FC2AF25B27C351D82D4100750D8EBC1F2FD +HashSk = 7ACE6EF90BE1CE60087E7D1EFC3C059703B132FE94F30AA86997261701B0A754 +HashSig = 1B036E081E62ED704734B8F7B9CB7B04D908A6EA26B56EF36E14D22E3DBD0B75 + +Seed = B6EA97260B9732A7CA5F0AFC4D9ADF4B34B7A28B28AA7B60B6E92E87E65410D5D9C0E1BC46E36B34A29EAF32BDE1623E +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 2526373FB2C45DF9439B5AE65DE6B8D14180787B68F9EA88BD2D7466ABE0C05C +HashSk = 0775E82244C1C8FC0194DDB95C0C2BED724A951D9A1C1D8F19E1F94146408FC4 +HashSig = 6A533791C77B0858577F0957DF4E3F55F0BCA1C7F393CB55F8AC96EEDF65A171 + +Seed = 626AFD438FD9C449DE3FBE8E826A1ABFDB14D9D0DF7167E39A849DB730118F20B3042CDC5D0714C3D10E1CD447329386 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 7CB764285F655DE38BFCC05D4C33BD7508E2DD329C48E94EFD13A89DE2960A97 +HashSk = C671B09DAB46D026D54E76CAECB4F9808B8C8277C116A3E44CB3BB662575B95D +HashSig = 70F72F899EDD287ABBF39BCF0C591C656F796D6D4CBCA999E5D831636D97C6BD + +Seed = 8484D545A1CFC58069DB9AD0E9DB3244DF1D020B8957549064A5E7CAFAE6AE06A671F5E79797B42520464BBB95F5AA2B +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = CB9810BAA56620FB3BF48A503B48CE70CDCA8B3452A5A3F72A35298EA718D83B +HashSk = 1FF31944B5E4003263EA87968AE9492B59C953635E6605B8686642DE8B04A30B +HashSig = FAFFB84C9896F8876B9CB1580BF8A0C0BAB7FF63362C27383734A32C48AE8587 + +Seed = CF525FF8D68F7717A6DD534843AE9688F2037019A7AAA012951282DA883F499F080192BB5D7B74B5CB1CE6E160519BAF +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = EAA56CB2386302DB6F9708CF96A185B8D2B1AFD96D8C7721F9BF2142606F94CC +HashSk = 60224705C5931BB3AB5EB90831E731959C5F56D384DE04CE8F30768B51FCCB64 +HashSig = A87BEABA08D172ADC2181B9BEDB5A4F8BD1913456428865748FE75A123BCE32E + +Seed = 6D1579C271A32D9C51709409E2CF2B795638ECBDA9621AF6C409F76856EAA364C741BEDED3CA09C9CB64DE764690CB82 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 0D7512B28D3EB78B987ED175E34468477AEE6FB3F2F5DAB141449CCF6C6A0CFD +HashSk = A5FC4D414FB610C669497E87711097E4DC14CE603C4477546815C24888F04AD1 +HashSig = BECDDC15803830FD00247537C9B164437E6F342A25F4EFFD69A605B1648AB428 + +Seed = CB872DCDFFA86F3F117A4DC5ADF5EA6A3B1C312D618FC1A070F67586185711D650EBB5B6299BBCD41081B063403F59B7 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 46744F5F5C66BEA375266FC5182EE5A8C15B27B293DA9AA4C1B1241895BA268E +HashSk = 719E8934ED7FFA3B212B73E60386140D32D213725FAF0A71FF07B34A2C460CDE +HashSig = FE94CCD092E16091DF0D09CFF48CB35197A5F5FAA13D9563E9AF1E0522E349DD + +Seed = 4BE36BA806CDB11EC9A65F900AF0CB580D2E5FAC37EE8745AA2970A7DB4C8244491D875C0B4A7FE64FF09BC6AC2A2F83 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 9B8B0ACE0CCC67ADE076318ED52BF1B828971D1A44422296FBCF074525B8E7F7 +HashSk = DDDC718518C65477D89F024306134534376578994183FA5430868AB8F798BE13 +HashSig = 5EA7C295BBB98FB362AD5DDCCEF9DF10D4C741D19DAA596AA779D93463ABEEAA + +Seed = 81C2294B8C26071D6EF0288F547789A3B563F5D511CF1D7B812C17E2E507DA925D4BE870D837CDF42A1E980C532FC0B6 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 4CE2847E8B7631A8FEE8233BA71B866E9B8881C965B01446BEF9B0E4E873F3F6 +HashSk = D7C59F15998493A728FD6BD7B41DB721FA9FAE1804539BE684DCF9953F82D339 +HashSig = E567DD8BA9C44FE0B4DE538CEF429E71DC5B2DDD0D9BB6E574EEBEBABFE07EBF + +Seed = C46854665B9852229D9C64000820CB49B8D023FA951977CEDF2BD6650C48FD13B6A0FFD8F002558F0C03F0AECE457A6C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = EEE51D669BF7E7ADBC66D73E09737051E7108780EB0D22A2491CD105E4219CC5 +HashSk = 8544D6072FDABD0664D68E002BC6838F7D5EBE3A5CD2AB1A63F413BB2F099FC8 +HashSig = DA061D625DA73504256FA72F55514E6F94669CB8298EFEAE54AF643FC05B5EE5 + +Seed = 430399BB2441C965586739BA1E5F7CD7BFD1D1D0C903A2C575B764AD7F2E3EE012451A5E136423DAB0BE7A86B99DB19A +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 2FB676DA63076C441A70B176B25E074C443D59372636C0A10608E31402F5908A +HashSk = 8B503EFFC6CBE3E9A041C8C3202508FD239FB7ECD7FBBDE70307A7853DFC12AB +HashSig = 266AC86541B4DAC81B2EF8684ABE25FA768F4F4676D4A5595F787D074198E195 + +Seed = D5040EE87EEAF9F4001CE18F5AC6106CBC7AC498C2F290EE47F07702C66AE73E930B6911C7D0E7F0751A4D03AB56F5B2 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = FEB5AC33DF18EE3BC0CFAC14C4BCF8BF5770A21BCD75A0F369D29132DCA46B73 +HashSk = BBA0D34E2D281E910190136B53D5C995A98D3BDE8C6AC8CEB99E7344B8DEB39D +HashSig = FF6EE769D99CB5E891902D555467216E3FDC5F50DA63D45BBFC35B134488BBB5 + +Seed = 2A74F833B43587B6A6C67B1DC708F553E00FFE59841C3AA6C61F8E15E815B1CA1071B5F6FB8BDDBC1CBFF6B053D8854D +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 358D89AC8E4C500C478FE8B571F44BECAF557AD69C1F18A4EB1B82300FD4E4F5 +HashSk = 16C429D71F4E25AD4231557541EB221FA5DD5AC51607FCFA7FAF7C6B145E750F +HashSig = 976AF1DC3BC950515F9C6237CF879BB481A628470E74BCD5698C65C1F120F50C + diff --git a/src/tests/data/pubkey/ml-dsa-4x4_Randomized.vec b/src/tests/data/pubkey/ml-dsa-4x4_Randomized.vec new file mode 100644 index 00000000000..ce62c491083 --- /dev/null +++ b/src/tests/data/pubkey/ml-dsa-4x4_Randomized.vec @@ -0,0 +1,154 @@ +# See src/scripts/dev_tools/gen_pqc_dsa_kats.py + +[ML-DSA-4x4_Randomized] + +Seed = 094219F2054ABAD449A16E6AEE6FC2383D3875E7681BF53730AD4E01948E51523B2AAD4B3399E699E9EF1A0B5039669C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 436B7C86EE4B4E1BCBDC902406DBF5C6BE8AA8979DBD23B86BA41EAD391E2D37 +HashSk = B14DA1DE40524FC760307D11616A5656E23EA4F5A6F862B73E7D5916C44B6413 +HashSig = 6190C0179168327A93B1AE320AF9CFEF998F91DDAD703D85464E0551943CBCAC + +Seed = 666078A525434AC40D3481510FB1EE37880130581B798BA07B192E51D3CEFCFA673C87ED158F477CE5EF2133748CBC40 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 98F689417755DCFB35D4E290A8918F826C78418D4F2ADBC9F95F83C28821CCAC +HashSk = A908DF3D98D69812C086AC4489AB2F845D440B1B2D9FF05D2945E2E6C8A358B0 +HashSig = 5826C8552043F2BA5110C8641F8FF95F25A270657C246F274F0CFC2C000566C1 + +Seed = E754CBC9F1AB0E0B77ABB23A8B72C62C485099874BACD02E3FEA9D0A9531D90A46341CA0FA3C545BC275940FB462C902 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 53763F87D6E78D890065794B89DD3F3CE6553A342882C35950CE5AC5F5428F31 +HashSk = 992DFD7B73315192E6FF18B7611995B4E30DAAFE737D150D3A5BC7A69AA1A9FA +HashSig = DD24D5C60B0D6A67E8DBBFA6CDDE3DE68E8520CB3C21EA7BE95E09F7161B463B + +Seed = 7335E5F2272256FEAE86B8A86DF3A1CF31E3576C9B8E00BD9C7704981635BD284723775DF16BC9D68D1F4500310E349A +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5A525C1B06F45DDF417CE7BA2FFEFDDE4090CCCF1ADCF8BCAE72F5513CFE8597 +HashSk = 5629C4434AF7CAECFE4E554AA22CBC94EFC213897143AE5F70376AFA5E0CE3AC +HashSig = 1BEB070AE4F6EDD7DE1765C4305066EE5C4CB15497120C4CD5C3F9F4C12E6A8B + +Seed = A1E50C6488C1A893FB3D3F3F5B61C8BBEF7D67317DE325AC21CDFBA13C91C3C0E9FC0DBF49C594EB92717267ED40181D +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = E0CE22890851AD52B906798C60BFCFE7C43B96E0778EB7F071DA5DC17F86592B +HashSk = 45B200E1A00DB649F4859BAD27EC4DCECA708121B132E2EE4785DD77C11B5E83 +HashSig = 7496D7CEA5D7E80086D25894998023679F3B8F480E4E4BB5628CC6798C2BCDAB + +Seed = 5AF23D36066DDB58E12A7FEFE0C175335EF04D16A098B65B971D4080E0AA69F73BD9D73CB84F9FB651FD9C2F8D73C29C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 7C8FC0400B06736047013D4205CDC2859C95B8C9AC32D14FC496A27668EA80F3 +HashSk = A4EDC3D55B5BC3B6E1E236D056150E2E3ECBC5BC52D34CD38B0E92D945453704 +HashSig = D6BB78A8D59C766D34E3117A7D5E36E5B465EFF976C8319DDF5D1E1926D0A30A + +Seed = 4625B15B59DFADCE25E0B2F23D471BBCFB77450CF9963295D34DF99B711505BC2E746CD5EC141C756D1665F1AA8EFB88 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 37802AC753CDB01E92DEDA4F4F7330592F37B64561F4769AF86A45C52A26EC9F +HashSk = 8FADAFD55F1401AB1FEE8C7BD66E67977ECD5511B82A7905DFE53CB3D7E5B21C +HashSig = C5E262C3AC3E7465EDD8627A0B3979339D92190234BBBBF1C28A7267214E1F70 + +Seed = BFB4380F67ADC39A094288F942E652F702B763210BD85A0A82A320A0574B2DD1EA0A265C632DC04D2F1CE668B8BEAEC2 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = AADB1D84D37296000DBED1984FF78AE0B6589816C33CD4DDF73E531E02EBBD46 +HashSk = 1A9B9337CD4E3DE897B1E3B1C4FADA42290A18BBB2EBD425E8975420F6504372 +HashSig = 03874165579C3D5E987271A71B4321133FCD1D348DEB55DC4543EE55784A6B19 + +Seed = DF66868648A9D2DFF7830C7288848FA3420E05721752EF00FE347A1E36BA936EB1597FF42D09736334ED4A287D8AF38B +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 843302792FC4CF931598F57E1401215B33A59B518ED5CAC883CBED6FF5B5E714 +HashSk = 9221139E401A039D9992C10A121C16D146D3ED8045B6EA5DBFFDC017D91F46E4 +HashSig = CA39DBCC965B75FF1BFEB370D8CCDFB5D184B7B7B25C19D254D0B3D0C3C12993 + +Seed = E4AB438E273E4C0511474E7F016BE8A4FC127B2EF5AD14458C2144078FC1A849D280A3E16BBF39BB24C630A2D0AC4E3C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = AFE00F7611765F55E93C30DB4BE85EA95886BA48DB550976D8C86B4AFF7575E6 +HashSk = 2D71892A04D43A4B514654934838CBB622E2F2BDABB10CC4808B3BF91170329C +HashSig = EA61F0D0D0168E0C94BB2E8666E2FED632D1B0044B003D79F0BE952B0C71CF7A + +Seed = 58B4D5B52F23A0FFCACA127D8198FA7244392F1CE6B219E15C6B30E27730E71D9C4298CB6FC23D4CD7ED07AEF70911F0 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = F9AA3064CC53578EC8D7EA039F069C2ACE65A121EF14ACA99B32347C81E01758 +HashSk = 516B43A5BD808549296A951D2F5DC9DCF9BCD7EBC8026A84038A826348B0CE3E +HashSig = 93A28A3C1D2338E9091203AC9AFA497895814C45A80939DD92B00816A51C87B6 + +Seed = B502187FE1F511F852BD967C8B755C5EF3F864FDD378CEBD2596A22965505E2337291C28132176B3C52345557BD41EAE +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 4BEE6D7107530EC0CB88DD01C30074462BB031AE3CD7EAE3EFD4F599DB41AD75 +HashSk = 7B252F726278AC65984AA8975BCA8DBF8AFEA0A846201E5FA97994E9F4AEE461 +HashSig = 8233068E0F9F7CEF06E6B7A8DEABF0F258A8869EB34B32B499392322B458CDD7 + +Seed = 89F7D4311BE4C16D56E9777C7C5C02ED91566094D90CA798089037DDD72998B6B0BDA93532976AB2C085ED285584A486 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 58058D864ECD4FC88EADD2ED89C8A4DEE4F4F43D534E1524128CD706070F4936 +HashSk = 4CCB11E2E75763C460D8BF3122F88AD8E5DCA3EE2BB8C26CF2B77B0C60A3AAC7 +HashSig = 556248C6722588B002ADC839B4A7AFD34F225AF3CB297C2B8DF498BAA75E0836 + +Seed = FA4D9C03580CCC83D090E9F7B8D43752322DA799C5D4DE24ACABD9D5800F2E07015D9574DC239FE6737DE330DF4E7EB0 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 76658C5B98654F6BD41C4D854D9AF0E50C23D8F7F20E1C3AD529FB07508C90D3 +HashSk = 919D607FE385860030A75E7CF77B4DBABD4E82F0747D48D0FB7A0C67ADA73C1C +HashSig = 73D96455D8B79C119FAB1593A7737D959937F9008969A4CA6B71BCE98FC7EF30 + +Seed = 74BC97AAF60217FD1898E54CD4087F36A015ADB88A6462BB6711F266741A2C5E1790B87E4191162B9643F452EB3BA290 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 98C207DAB464F79C249322DBAC93FF87570B269D8B5F82A5BFA6A0B819CCC06A +HashSk = 981903D9A78C6F0C7B2D5A74E5BEF19527F8618534CB79FBBD5410BC77537BB7 +HashSig = A99C85CCA503CFB1D16100DAFF899FF2FF34AFB926B3EEA2E0B56490CFEAB086 + +Seed = 8425A37C56A21EB913441296933691C7624F6CA0329EBECAE1E15F4690011A1E9A063E22CE4BF68592B3F947D125B04E +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = BA51FCC3C754EB75723C778B8055EC70A356E9000F3C837D73CFCC8A8201AB94 +HashSk = C69E31BF22ECE1C7D1EF45E647598BBD314245FDA790835EEBCEE76058D5CE64 +HashSig = A3732B74D54FDE0C96FA0F17D56D176FCB4C2C4EFE66943EE878332C1C510920 + +Seed = CE39D704224B7503895C929945A074B5C73B03FD4DE59B54E0A4661FF12A0AF8ACA984F4C5EC92E18CCA580FD498F0B2 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = A73E9D0283A6D786B6248089E3BA4D435C93FFACEA81F85D05EB6F70BE5CEB83 +HashSk = 2EF907BF1DB0C2FAEB19CF6B9FD8F55408289FFCC7BA95104111AEA2EEEB4172 +HashSig = 7FA4183F0FE1C963E3E0F8A94C8A69AD3AE5B2FCEE5556E6F0B027167ADA082E + +Seed = A234812D34C9D5C69D24453B822341E6B6C1FE2832C79A0AA9DF30CE0EA6E520583C308C08F185808767B91B5ADA44CC +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 4A553DFE031B9774E63244892DEFF8943284768093528977E143BAC70250A9A1 +HashSk = 65C895E6D3935C512CD71B5F338DBD4CDA00A0FE24D4AAFCA666903F345ABFAF +HashSig = F733542708880A01FE9ACA37F76AFACD86B8F57DA4620106143A8D93B4F7CCFD + +Seed = 50EF4B664DC80067ACAD490364902995775E214DD1F30E2BA8D47DFC599AA02662849E047CF4B451DFF8FC9003340B47 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 80D37FF3805E6FA02CF081573A9EA8E083D3617FDB1A1045E2550785EB95447D +HashSk = 73DFD71DADADECFDAEB72B5CFE636DC45B60C611DC2C620C7090BB7508122D3C +HashSig = 55ECC15D819F807BE139F30A5496E2D354308FBC09336BD7DD6872FAC44C6E52 + +Seed = DEB7C2040D37CEEADDD37AB677FEB7A837537CE22499F50D30D8E825DAC05CBC4EE326064E39025158CAE0A91297A610 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 9537154BD1B2C3F8535FB3C70856F5F4F3333218D4C7AF997C56BB946DC09383 +HashSk = 97B3182A1265C60A7A3BB80D3FA04BC7F1E72E53127412DCD97CA57240BBE4E2 +HashSig = E508641331D6FCB28174B20DC94AE52CCD182A5007BD73A1305354572A00FF50 + +Seed = 6C461E727F2ACD8B89699A91EC2E8A11669E6E54FBA217EE0A5F43188223C7611110B6492A816FF3F092ACF041554C91 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 4F658E614DE692F46FA3D2FBFB84DE88DCF8C98454D240CEAA98B54FC7EEB963 +HashSk = C4266519D10184ADA68AD0190EFC7F43AF22B0E67A5D54950187ACE747539B9F +HashSig = 2EC48039C17E6E90FCF3BBBE1CFD3298DFD295C525123C7EDBB736C5AA5D191C + +Seed = A7D3A89643FBC6A773E3E886A2EC8ADF4B38C6430201C7952C4484A153B272803BB9ED3F47A6B10B3D141C8E1B249542 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 1C2760A2AFFCC3F28460CB7160639674721F633EBB81D9B0317786A3BC32EE97 +HashSk = 6012A7AD88AA30D82782F0C8555FE6B4F7F4018CA874F8031A4E97A18B28622E +HashSig = 1FDCE4B9812CCEDC1CB0018C2FCDB3B254A7DFD0F3DA7F8B5933BB6FB0176D55 + +Seed = F6156301C8075279770A9A7AE574F0CAA6E3C5E360FE487CAF374D88E742AEC94EC48FFB2F0E33C2143ED8466C3F17A9 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = C44D9D5788D094AB8DBF8D70514B97168A9096F2FB21A10D4F93019CB1BB329A +HashSk = 7C81AD8238D68FA13E69F1A53FF2950364FEA0F132AB610C87B72FE5FD471C1C +HashSig = 1E1682244AF97827ADF31B0A3183E438525A12A503285D3D2C8DA474BCAAA2EA + +Seed = 8B91A4821A6FC613089139E57DB66424FF253C9F5077F17C074FC7FEE4A92CDA1FFF064961FA420C656A0CC42C0046E8 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 7E208AADB3F49C13335941F9C39031007001EA29F0CE56B745CB1BC27D978D7A +HashSk = 0419055F7CC66449A2503C618EB92CAA77773C2A288509856C2C26C5B8BB571C +HashSig = 971B59983182D8E7C98221CC630BD40DB59A3C359A380932E21274A51741D21D + +Seed = 1E1E12B4E8325E189BE0DAF1A6C2EC13DEF8AB7837C3A5FABE1F6CBF97D2A4D9A6CB6ED0CDF50A28A20F96B8D6B531D2 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 4223D63D51D2D936D76B9E610BFF79032AAD16A7E00E326B4783E7080ADD044E +HashSk = 48DCBDC24CF91FCA75537B73FE3B21612FD45A2C8D2FECB375887622D3256403 +HashSig = 612D4249B1522B0382E61CB1D10CD72B700E0B6AF5130BCA9EC2C0DBBFA7FC58 + diff --git a/src/tests/data/pubkey/ml-dsa-6x5_Deterministic.vec b/src/tests/data/pubkey/ml-dsa-6x5_Deterministic.vec new file mode 100644 index 00000000000..b5335b77aed --- /dev/null +++ b/src/tests/data/pubkey/ml-dsa-6x5_Deterministic.vec @@ -0,0 +1,154 @@ +# See src/scripts/dev_tools/gen_pqc_dsa_kats.py + +[ML-DSA-6x5_Deterministic] + +Seed = 5A3C29AC52A31ADA42CF7CB9A204353229FC70733186AD67B188694A99800E16CB662657A9A77287ACCA4758AFDBB7BE +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 3876880AFB622FDCB35D26F346A402558D3F32C75589631CAEE6F38076436C37 +HashSk = E02FE4E545BA3F12A2FC22BE82E4F3DC2AA64E241733A98560E252E47156FFBC +HashSig = A3F587DEECA58CF46B58D719978E5A6C08308671884A4D201238162323F0F578 + +Seed = 813C474CCA3209E7E412E35CF324AD84FC0E0DC29FB918E222F6D66BCE2D8AE2E30086C107B242867FF3B4AA7426AC33 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 717F2955CA4F9091636AF14661D6D7554B65C48DC12396A58065AF514C15A2B4 +HashSk = D16D174BF903C9742F69C41FE46AC09810BC6556AD45B4BFFC97236B372A8277 +HashSig = 6226C2D7AC2BBD43C5B30273C20E5C8DCAB0052A4DDED9DB64158F4C4FA348CC + +Seed = 533B7D7D26BE3EF2CA8F066EEE08E2DDFEDD086A0200F31365F69762CF8E6B81B84933CCB225DF513BB98F73D9C76A51 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 930143852AB9C12438D203818D3335B2947FA03D4C54E10E92EABAE6C876CE86 +HashSk = 35FC30F922F196411BE56F96F59F7675190E1C35B83F907F118131EBA3D7C2DC +HashSig = 550D4E79ED93CE734140B94976E98472CD5670FA12B40F928021BBE455DE3957 + +Seed = F4F257582B5B438169F03F27079D6F0B9835932A75E4851308F78485674737AD00C1CF699C93399956CBB7AE36C3E32E +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 61F3D187CD19C26568154937A85A0976C62FCBB86C7719DE2CDD62F37F93BB73 +HashSk = 6C38EFD2CC02072D7B39A939EB6F3B1F3FA31B70E4A8F2BB8DB6A2656ACB1A90 +HashSig = D58B55B66C69D41FC78E93E0BEE3EEC75C7DC833FEDAB4D9C384ECB3A051C657 + +Seed = 97765D31A3BD21613216F9C675722A934F47AA23B6460754D2974D3619BE04FD33630C23309C26D5A49531DE2783A15E +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = FD7DCBDB35CF88947A36465CDFF9450279C2C7E41391978375C137EA2E4D0164 +HashSk = CE3BE30BCC837FC4648D069E6ECF78F4573F37122F4958A0A8D8CBC7F6CF96CC +HashSig = 9DE2883C26095C2D9F1099B12333311809F6F943160E3237A05043EF24E76364 + +Seed = 9803E3F6D760A82BD4B41CF5AA4E21D38D4E101995267A316BB4C1AD822BF8DDF2196A60226D193DCC44AE9E61A79159 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 2F9ACCDD49CAC334A2968CD0A466B1706DFF1D95F1239B2D5E3D6161B1AA13A8 +HashSk = FD90100D63B045FA2AEC50193C14EF9829853B560F67C42328597269A06B2136 +HashSig = 86C6C61173497407DA6A32A229703642C7978086322C7AA186C2A181F4B67F3C + +Seed = 6848CE591E648314D356BB8D09E7614CFA1DFB59610D54909E6B19967F9376CA8DBE5E287CCB398C976EA4755903BDD6 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 318122F7D42C5CBF26E003ACC75ABF2304AAE6BB5EC53285CD01579B683D1BC2 +HashSk = 7997B223DDAAE0C095E516265E5B18871C47E760050C833816FE2C938B911F9C +HashSig = AE5CC7B12157C93BBC8798E493780071FB9F66AC247DC8E5091AFE285E091269 + +Seed = C6EB75402CEC70BB802952416E821A2ECABA5AE3B6FC506C37BE2498CF50A038701937686043F7793D13C1B25EAB3D5C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 8CE71013EB5CFB6D543BEF3737B69CC18A63E16D15F15E3344EAAC2CF9B3F940 +HashSk = CE2DEE45783760BA0CC5C63671F2746ECCC57512ED186F70FF1194D7860D65F8 +HashSig = 78E2D49F682349C7AFBF86F89C2A9CAAB7C2FEFD5199B6D7F85823A43626F261 + +Seed = 71EA8329EA5078D80FCEF9EA24EF2CBD7717CA8AEB14696AB77C14A68D683F90BEE1A4BDE499D03DBE0491855645E304 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 99977F7C45A28EF668AAA822E3DBC647F718365D82C24FA74CA9A685392A6995 +HashSk = C1D70D58D3A0255D579202183C58544EDEDC67EB26EFDD0E709AE8C544E633C7 +HashSig = A294426F3F3309DF0E3AE19CCE3BB22BD0208223B58D08D7C3AF1DC504E71BAB + +Seed = 89F0D49DF02A5BD80ED1FFEDD6AFA76D46640B63C15722E1C1B377F2AB475EC5B29787A163876430B554728E586774F4 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 80CB8997A1B6E8C713486759185A0A17FDDBF8417FDD283091F7DE3357CAC344 +HashSk = 96E3AABA1124D893008956AE3CF47C7FE0DCFB2EC2FEEC69E132043E7D8195D8 +HashSig = 760F0D544CDED764692FA175C8C0F4962A58858071087795104CEE06BB6CB1B6 + +Seed = 7D8B5C69F450DE0FBA4F8EEC098D65CA8577F4A379633EF38F55B50D8CEA613AC7BD0F681C8068A1FAEB50E6807B802E +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = C3144379C3222A1FA148C9CC8821EF4F1435F68FABBC82A7012D821F1EBCB5C1 +HashSk = 3CD297747D2B3614684D0F319DDFD64792A655327A9E3E9D2D9C56437FDE1523 +HashSig = 6ED588A4FA7BCC74AD6D15AA7C2FE4F82BAB7ECEDB8CA3535BFDF93EE1F3CF40 + +Seed = D62212D17A474505C6D40D1EF72ABE69F744CE3743D42DA8BEF429AD479D87717B9DA346C558FB1BBBFCCB911E24E8C1 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 4A86E0083E1055F59E7CDFD3CFF679137BDEE7327DC3B02297932E84F92B9D16 +HashSk = 6101685225AE14DD60F904977C69E629C4C381F77D8C0D2FBFC9D2BFE7FCE157 +HashSig = 23FD523B6CCDBC1DAE6E34C752A6CB1DCA2679239E8A3D671DB37B877C5AF50D + +Seed = 74EF217EBF9BAB37245802D881192335737D0A39E7AC988B68DBA026886ABD2841381DE57EEC9A8D164DD2B1723FAB75 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 0A4A3540E1B0423B9283D6B8198C2D1878BD478D81FD4F8B9DCA3C9913421B16 +HashSk = D51345F67B0FC746FE47F8EC8D134592BFC785F8D29347B85F2210F28B35246E +HashSig = 520C9F556E871CBDD60D092CF226C77C3168425FA28F829789DC2D1C3B76CE31 + +Seed = A3763E45BC822403124D6623B4996E512C99D5D18A2140471CAE1AE5AD101E0DD5407983A4EA04508D185C91787D2E6F +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 20F11BE9AE147C561299A0819987A5AC87A08A14C7202820F16935AB2CCCC325 +HashSk = E85C18A6545E0D752544A2DA0E138A1D9E8A3648888F8AEEEABFBFA653122BEC +HashSig = C46B6194D42267A5F2C6AF0457F14F0CAAE327779A6350FE2FD6F859BF76EC47 + +Seed = 421F850DEF88FA8208082D3FF59B3BE41E74F296DA233F5F459124A91AE1419DDBD25AA5C5240766AA68800D1578ACBB +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 9A63E7632B5D52A8862A6B999F39D187F62ED9BB463D5A5609A5656C39F2BB3D +HashSk = 4810E055D71B5E9A0DAFA998DDB98AAF29CBD1892CC8401DBA6463356DCCACBF +HashSig = 179F84E3038F0CC044425FE8D792D538BDF56CFF0F4EB3DD4CDC98E217374953 + +Seed = 3B3CB2BD7BBA9E1610387370D09A2F0256009AE06F61CA4C158E47CA618B24D90AFB271770A3E7DA642CE196021B55D0 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 625482000865EACE9C48EA4ED186F4C5981E574D0B740197FC7D4A810B3C48F8 +HashSk = D357635C7B9FF669EAA8123EC68C98E86F5D4DB6BEC3EEE857F536BF80913A3C +HashSig = D38915799787914B32262355CD6534D36F862D8C0EE92D6CDF183A3B01CE1421 + +Seed = 883A6B7E5CBE81B64EF64FA81D3620A7A9BBC660583DC2426356DCF1634BA4E55FE85501571C703B5CE9781D2FB842E7 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = D31F959021E3851ED91B829ACE7159007CAF0ECFD5DBA1FD2FB4CABD59D214C7 +HashSk = A1625C8808FE1806310E88B3E44306553B0DF8D7BD08753F6FA60A914E7620ED +HashSig = DEBCE79377D04D062392A5606AF77DBB518B645B75C57D573B1582DDB1E47C1D + +Seed = B80D50F24E70412496BACC2CA54BB7C443C49D5CF2A088AEFB653BBCF13C71436DCDFE1F2AFC1C97CBBBB9FEACFC7E13 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = EE5A9EA9A088B3D88725F58C01A9822903D6D5412EFA2C256276790872D036FD +HashSk = 17149F7E9230DC55F35D983610938DAD1EAE6DC0B3A0E6A04FE8EF51AAAE06A7 +HashSig = 44522BA55C09B7996491DA2D36E680CE7E555142CD5AE8B7AEC6FE3F5B32E4BF + +Seed = 165C0AA3C78635FB19B11B627D4F3A390E399F58DE08C9572FFF120636F2ADC48F72D80F5F49E28635E933361C75BDCB +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 6BD90B0688B492A005417045C93FA5849D99D39594C1C1C595F3F6515FA8834D +HashSk = 3592864DFD6C0F46A6EB41768D8416C574ADE81BC7665605404D74DE6B45AB83 +HashSig = 0011AE8AECE1A1BEB2A8B8E6FC639BF3DB1C620274ACD1D39457B0B10F873322 + +Seed = C47FC7AA723141C9A72A69B5F02FA6CFB843E2BA308301B31FC5B89ECACEB6F5F761FC46485D4870C167D51A0F26E1F8 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 836B838B4CB12D6C2D86BB0AA963A28EE9314AD6E8573075EC7B7F6768E08328 +HashSk = 17C2827D6EA09BA0FEF7C9E3D2F361539DD9C969811E99F771229DD4F629A247 +HashSig = 59DEF23A5BE7619417571AB5C0046B4F1CF2C854C89128AEC495193D9DD97936 + +Seed = 0D010709C0A165FD71159FD30564D13E7AFB464D73BE2C5481B538F8FB8B4E9AB7740F525EB2A9774EE58AFE8A95BB64 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = D6307A8BD9BCD557198481E2620E1DF53748A7CC0FF1C20C73D78E5393382F31 +HashSk = 75C19A04A0A0DEC03C41B11181A803FD4E83381C1DAD70FB94596F6564DA8713 +HashSig = A5463ACE1ED92A0E941B33DB8F9C7CAC8C3874954163D8C8B4797CBD4C1E8D98 + +Seed = 71699AF182595D3DD7E2E1CAA210BDB2387800CBAEEAA85995EFE3B1253817B8D6EF64B5122A668CA307542C071ED79A +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 37E02DE52638F377C1BFE08C9434EB2E52A63995E919FB45C75D5E092CDE46F3 +HashSk = F938B522B8AF1CFA16B588870659F8C6917133EC301443E773912F2232A0AE0E +HashSig = 2C266A2F9A2D0C0AC3344D1A47464C23078589ABBBE738E9267D6740E8E0C854 + +Seed = 5F542D5F5E4B0A13F065BFADA7263207BB0CDF776EB8177253B82D3DDEF71E15D2D597CF6ECBAA01875375AB0716FC7A +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = B629227832D5E8148BA5A1F20EA43F988D51150B3434799435A779EB08491C1C +HashSk = 3A7D888CD17E9AC41829A1D18182F623A735EDEA10DDBD087708672F7B64059D +HashSig = 4A318241F20028970963E35368141C745508589387C603FDBC8244A5ECB1EDFD + +Seed = DB99CFAEA0FD7E905E7B08D90ED04104580F7FDD09D6DF91DE958630FCEEF6013809ADC1C7B1797BFA82CE0F157CCF9D +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = F39DB5331C8A31BCEF59C073521B471ED477F83C9443161F4522783FD6C41700 +HashSk = 32A274E98A76679F4DB70A7F33A1DCF47C7B36DAC0F7562A3398EAE98B8353DC +HashSig = 24082EC6FE975CFAD75A961B6DE0966A141D81C3D7BFFBC954B98FAA7B19D48D + +Seed = 7F81D7E9EB3BBBD746D34A67AE529C764D1408B5DF5F132B281C1B55E28740BC73ACD6796BF15E5949A6F74659C49E45 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = E9F677A1B3BCB0B660EB6CEF2025E2454CB58B65B1763F77C3DBC26304028EFE +HashSk = 14E54696F726667D35A703FC6F0CE54266735C873CB2AA8722A953272D3CCBC7 +HashSig = 1A2BB2218344F5C974A165AF68284EFCFCF7022BB54BC4897DCC0F1EB92F8D17 + diff --git a/src/tests/data/pubkey/ml-dsa-6x5_Randomized.vec b/src/tests/data/pubkey/ml-dsa-6x5_Randomized.vec new file mode 100644 index 00000000000..b13bb1cb149 --- /dev/null +++ b/src/tests/data/pubkey/ml-dsa-6x5_Randomized.vec @@ -0,0 +1,154 @@ +# See src/scripts/dev_tools/gen_pqc_dsa_kats.py + +[ML-DSA-6x5_Randomized] + +Seed = F8D38A71693377C3DBD1F4BA876192F039546653069E960F21FAC75D75689D57FACCAF3793A641FB149E940C57839959 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 3753A8B2600031B4997388A7A9720E51CDE257F37163B3569EFA0434A8715063 +HashSk = 9FC78706B2BB8878F44AD6737CAE09EE1867E63A42DAA2F29913F4A2BB641F74 +HashSig = 87748E9D23B947E138566EE9343AC1BDCD51186CBB7E026C75F572C9FF0B992C + +Seed = 78E5D445C338A3EE16926A98E88E2966C1339AFDB6CD8B1C1CDCBF3D048483CC8802CAA97DB620ACB51CF357453C0D5F +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5AA48247A8951F83E4658DDD5849499893679CA344E6FD53AA9FCD0219E40653 +HashSk = 61E8E8DA825B3614EAE57B65FB8157D656C3B3DFED0D3DC4C4320CDD7DF4E40C +HashSig = 4BB70ED7FCFF8A003FD77934A6D800C9C632BE16191E95030560336A0358BDEC + +Seed = C2FFA22DA7139D7C2DBD18E867E9852579F8CBC5608A22ABCF0FF6B85B4E0D355BBB0B1470EEB37376B98F76314A893D +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = E969E5F980EA71D01457B49D14C90635134A0A83197975CF5F59F7B56E04F220 +HashSk = 8C49E67C95DDE0CABDE0C0BD2933C6E7292BA3D751E18E0F8BDC0C25534E0282 +HashSig = 0C3A91AEB47C764969A8298343F586EEE769352DF58D6D184EB15D65420815A6 + +Seed = 808B485C8DC56E0069553AE8421746852853CAF6B81A1FB58B28AF18262CC60033CB0368BDCB7184DC9513AE1B9D3CDA +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 4988D145785E0DF8CC0BB5FC923D068097E7ED0484E85CA39ADB4D6483E60E34 +HashSk = 30D5F4C632BC230EBA7CFB295412CA217C164E580029E28F39991C15E8B4772D +HashSig = 8F35056D22C0F0F5A6488D4CFE047DC14CA479882E40C845F44F9E80ACE7FC60 + +Seed = B98FD807D5D5AB92F1452EB913BC528209EC43F3F2A6E5E01CE0A640BE49336B40B6A053B72268B25A6B838E022C722F +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = C4FB79BDE46BEF81656AC8A6134FE41C9B18358A111765B949999F8226310261 +HashSk = 6C0B59C1A0F20AE6922DCFCC48B3DF8D40A9F05E15A154287BD0CF72F83E085C +HashSig = E3B78B4932ACA5AF28567CF1916619E23D6DE0E7CB6B1B6C51FA5327C7B3C0D9 + +Seed = A308CFF1182EA02BCD5934F0AAFCC730DB1930B997F13063E75D44291F003B3782DFD1B507CDB7F19420436999499C9C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 2D453D608A58435EAA8F68FC1A2092C04BCF24578F7AC77BB8B05159EE771033 +HashSk = 097A6E5F0B200778AE5D071C54AB5D8A9689764943CD9C840E18F1D691CB8175 +HashSig = D32A12D7190F623ACD769F04A32BE37E91BDF64FDE76A520C0ED0B9AC8B396C4 + +Seed = 5DC1824B198BBDB8F4B54733D9239A3C30105C6928A4CEE714D9A445486C19BB0AD0B67983CFF0E06838A7F1989BCD19 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 143DC4299CF9BD4FE4AAD2BD9C83C6D9F313852839EBFC412E739190BDC810DC +HashSk = 49AF32863AACD56BDE70FEB447108E22FF285C0399FD3A64A9BCF1498429D4E4 +HashSig = ECF8B3364C707619223242F3A343FA0EB9698FE52FC56C1223795BBA96ADF69A + +Seed = 41AB70DA81E4E1E5152513FAE60A0F3E04415FAD9998565C1FC65DB62B831E323BEAAA969224947894CF426678FA59AC +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = B255510200064A31704852E390213CDAFEA0B94F98FEBCB06D8C7B538933AE47 +HashSk = E1EC4E0E9E8919A62D3FAB23342725BBC44BCE87E57B04357854795B7FA99021 +HashSig = 63BFC9D8C7BD1DDB404D4DF533A38AADD27379175BCCCBADB44317B0FDC034C5 + +Seed = 953814701099D4A6AB995EA35D705C5DA840B6F32C60F969DDD73022D95DC0EEFABFD522B51F99BA5081B7660C09BE71 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = C1D21A8D19097C4F5AA62CDBBD1F736271A4026E8B059CA846F2054F45D65BE4 +HashSk = 1894514E80B705B79A9B1961E3DFFCFAA5F23EB974C3AE7E4AF1AA7A63B75A65 +HashSig = D8F932C98F611F2C05D6B252B44C12C1734B1A93D8181A6D5EC7B1844C6715DA + +Seed = 4269A8FF6761E69E43E0FCC5483D7D3DC1C3F1853D924C5E5CA05C36831F567B29005EF2BBF91FF65D59AF58B773D752 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = CCE247E4A577C5F5D8E837203D9026B8CCF5132F158E2BBD4D0D3B1BA11B9FD1 +HashSk = 77E1B140F31A7BF1B556445A452F41B3425F7399BEE3E7BF2A70B8C717D505F1 +HashSig = 6462F6568AF97198E3236375AAE6789747ADE0DA611AE45DDD80B5BB61F0CA24 + +Seed = 871EE8778495BBECAC670239C2DFEF1D481C454917BE2C4CBAEEBCD9292057D78A6146B546E3B3807DE2F586A6F82E6F +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 0EAD8A75AD1FE238490CBFF9AB6EB5D3CF002BF59E30CBFD3B31D7F8F0E534D0 +HashSk = 43F793BD7D317CD1884E9F42E0C8ABD710E9A479C6776BEA150D9152E9B33823 +HashSig = 8A17C76E64CF71CFCE68EEA15C0617FFE7E1ABD341B01E566FD86468A3E32497 + +Seed = F63BFE89C69D0BBE3D30830C1A81E6E31C179F0A0E4DDD744848FE2B22024F9631588469C3374B0B7503516C4251171F +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = D0A94DDDA1E828C07A5D33505BA503C28AB38B181011608D1AE3EB5ACC1D143D +HashSk = 5C3389B40C9A8B74E52E2E2F2BDE1AE4C70D97482B59A11F320808714821AC5E +HashSig = 532A65B16BE5C18C61C9043CC2AE6F47308954DA02D44CA871C6A3B7601F6581 + +Seed = 52F16EC0054047B9F337694B1F301A0CC836B4C768BA84C8599D595A371B5216CEF654E51ACDB6DDE04327B69A177A6F +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 64BA5D7D382FDC4EDE3A0F6F10890A8C7A420465D9B81A4B01B64CF722148F04 +HashSk = 0963A05F90A8BAFFE2E2F75982DF1F89FB22942967C6A8E6E01F79AD093AC7A0 +HashSig = 51449D445801B8D586C26C821914D6D114DCA57818916B18181B7416AB79628C + +Seed = 9CC937445992FF15EE6D197E0B2A902A1EADCA941AB1B3C90A005ECC243499FE30952CE60E9CE96EEC8CF147F352F8B5 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 6A8B55FAC98FC07DA11322D58C4E8A0459D9B1351B4132BD3AB9C58E0CB410DB +HashSk = CFAC7A3AC19E956000258B113ED9503315E0EE56DA86019C81223FB156CAE820 +HashSig = A61B2EDBE4BF4D34DD80CB9BBE6052EC3A32DFBBADAF11AA1D08F7DD546E17EF + +Seed = 6A794C26071F6E3CA8A911CE3C4CA1D3B47C8D4A1FE6CF532D65955AC7236F796E23A8D7368176D2C1DF412FF3D4F1B9 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5D32CC4C0A2A4B99911E0C5C5CEECCAE174A6EA7F4BF6F7D68AF2BBB7DD3C1AD +HashSk = E6E0C36F5B21721564DFBF53A6BFC3B0309375ABA323549D7F6E934A290A1BF6 +HashSig = 8B1FC8D8FE4CC46064A36262FD33E1A9C11732030A61BAE36EFA5DF1BBC14CB1 + +Seed = DD1F7A41AAC9B8D7608BA6F5F0B15F8814F2B17CB14378987EC8A020BB8F61EEE1CC1A1CC97D90E8609A62DA459959E0 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 0DF8ACFE5A560A5405A9879DAB12F496D86FD6884B97A4C52A66855FEEDB4A83 +HashSk = 5196703193832C46378C68EC2CFB76F0E80A39D1E4CCDA1EF540AA0443251704 +HashSig = DAF139F92C17CA1483F4FBB947EC00634ECB8D669A4B2E1C0A13008AE2E7928B + +Seed = 97C50E2E7D856E58AEF787584768182331574825DF589C16737FC11B52F211F3CF125F5A83D921843C06CE1E02AF5592 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 87DCFFE685536681909E09E3750D5C72817BE85D70067DE7A926CBD5E3ADB77D +HashSk = 9B5F8281D842D651CDF2212666F4971112BCE8A920E2603696C0642BCDF6C143 +HashSig = F15920D8BEE674B168C95E52D791E3CFEF3D6D57E44C9646677DFAC17D458571 + +Seed = F1546E0F50830CE799EA465A270475262EC9772A0AF50FBEB792009C8D36ED43709E29F7BA7C75CB3295927D20B7F279 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 030EF9122EB2DFBFFB17DD45C5C337B90A936C0078D582E5459EF9F0FA79E349 +HashSk = 73545967DBA5862D0D0932F94391C83998429965FE9522146C26DE2B4D6C946A +HashSig = AD781E756CB76D88BD418BB727F78F08178F851997381D5169E25176769FC380 + +Seed = 2477C3DC96B2BF42767CAE9B89507A675A0DF5D26056E7B9AD5197652B8096F679A0B401EF6E766D02B00EFE11870CDA +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = ED9F63F367FEC023FA3B343B1A9AD6A2151A58469951661EB05EBEB8D95B25AA +HashSk = 98EC5C938BD2F97C209DB58119D40EFC6BB25D5A22A0512048175F0625405891 +HashSig = 0A792E528DB82801ADF31648BA135D09B04295635D2AD6C446844FE5A36B5E84 + +Seed = 786F3012522D57826BCCC9B807FD2256C2F320560E3646A0CFE1D8EBBD53EBA4956AE358AA7CE21BEE32B8C02D6F56CF +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = A2F0F5FAD8073A524052322566370CD66DF5274191903BE850C051CFB99F3AA1 +HashSk = EACE1048B1C7F0E1F2ACB6CDA477D62963CAB078864C7D0318C2C675C0ABA754 +HashSig = 834841213A806793364153CC54D08608B7567C2F05E86B714FD63578C37C8307 + +Seed = B8270306B9339A2803BBC1D9D82124BD01433C02ABA408B604A986476FEEEECA2FB22FCD79D6E84D03D42A793D9AC3D7 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = DFCBF28B66AB8C937832A5B2AB08108036BAD66A4DFC98849B5A672AB810AE2E +HashSk = D386F541C835269DFD202D15FEE12D3EB186A36FDBF28E2BC35A6AE6EF461322 +HashSig = 1FAB37255AF74BC9F7CB77E84506CED09CC5BD14B79985EF3D754CE0BF261874 + +Seed = 109F533696255658CB80A8A54C9C86422D67EE21567FA1050420CB3E3E90E0778BF3E7238173C58263F89522A4E92DE3 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 8AAAAAE2CEEA433DBD90D9E6B8B96C4302D1DFA329B310A94F7A63B5BC4E5D18 +HashSk = C69CF0140DB0589F9F0B2E7A5C34816AEF4FE72676CB2D1A8537EE1A7E52EB51 +HashSig = 96F9B34CB81D71CFCB97A539797F6409A3096F89FD696E179A1A8342255B2747 + +Seed = 523391A62359C6623EADE58C08C079E7580BC617C4BBD748046CB08B2E45F475DF6A3E40B2B5169D2088CAC2EF3D2B1A +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = D606AF2C775320BADBCA484762C9A4982E027FF2D0A87B9C48D06DC43B686A30 +HashSk = AAAC321FD63975E6EDE8FE44FCC4B5721A415EA6E571E8C372BAC695DA5E086B +HashSig = BFD8FAF86C9D965CD627CF3F9A3927123B1167A6CCF028DE718BE647D611FF4C + +Seed = 1339ECD6653DB41D5CB0F7B8E02A46497422D997E7A95DD0AA3F55874AC78691B48BBF0D8042FAE017807FBF00E90E70 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 8F4E7653EECAB0DF613900420F2F66827C0A61029A0538E4D0B60E8BC4D9EBCD +HashSk = 06870138D25AC9C012139857BBC37F4E4C6E1B137D7E687FD3BE79F60B008935 +HashSig = 483B118DBDC33DC83E7E7B9D229505FB1E7F0028A753462CDFB9395322F32D28 + +Seed = 1C459ED247627CD75484500AA722103E3BDE76CFFBCA4308B212A1A4F3DD82553AFDE02C995C829D679C1A8EE49FF98C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = AB4D7C0D71AE3F072E35FC1AA82E9EE1639588CB1877858E3E9DA499B7F169EA +HashSk = AC84511E812B99ED2F8BE41BD3AEC2AE5C7CB3D0F1E723797CD330C03EF18B95 +HashSig = AC0CF6014EA1DC63F7E094F2B20D8477D73887D3DB373A73775F58633CFAEF54 + diff --git a/src/tests/data/pubkey/ml-dsa-8x7_Deterministic.vec b/src/tests/data/pubkey/ml-dsa-8x7_Deterministic.vec new file mode 100644 index 00000000000..b591fe81c88 --- /dev/null +++ b/src/tests/data/pubkey/ml-dsa-8x7_Deterministic.vec @@ -0,0 +1,154 @@ +# See src/scripts/dev_tools/gen_pqc_dsa_kats.py + +[ML-DSA-8x7_Deterministic] + +Seed = A5E04F459F263BADCA96D28C33DEC4D79E19EE397DBEBE54FE2D0692932530FF3784BB859A62A36F5E5E3B490D3582C9 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 3222957FE6B0A3293EDAC4931675FF42A4B67957203CF249689C87416C83C89F +HashSk = 36AA49F1AAB17303FE7083C05FACF30D6FD99E86CFD41B0D745289CF2E743661 +HashSig = D1C995A43D47681C0459A1126ACC80A0D8FC3A65DBDE92AB397B4500F08DEA11 + +Seed = 18355D647584FDABDD14F8AAE996C3178D84E12769520306485DC7BDAECDDF7D121B9436A4745F3D9F23D3C9CF6A1E17 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 330E5C1B6C620C5090E5A1B7A06A36E0E50549D74A19FB0B71CFF88AB753BD3E +HashSk = 54B5C91560B1FF95C4E5861BEC94ABAA8C1AD58423F2BD2CA62A678AECF07BFF +HashSig = 15DFF833FB08194BBA1AC556F9B9F632FDB094DAE1BC33FCFA7A69B76AF27EBC + +Seed = 5A0A5735439038674BE8C844D3967324E80C5BD81309C3E3EBFAE851430822251365B29BBC391F8827C1EAB203C7C8BD +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5E241E936F110A42D58D203347B20F9AEED75F98A7D1BC602CA8E916BD7DD277 +HashSk = 1ADD320A3994038366D5E59971F4E0A107A4E54BA6833F40C49DA3698612A8B1 +HashSig = 6B3D24C0DE8D94FAD26ED52554945EB39BFD6E4F9791264C4499D979A618FB5E + +Seed = 49BF0AC3C3C9C7D585F420E963520580EF6F2DB1F14C38708C497A5DCEC7B641907C53D7FF8ED6E3DD1F075943CFDC74 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 995F70F327A9F78F5C5B651596FD29F4DD5B01F3A22C2FBE9AA8A0BBFF04FC2F +HashSk = 895EFC95442E1B04D5D915E3F07CA25E845F48735228B370F4FD4BBA9AD29B68 +HashSig = EE62982F2ED53B509CFABAE6C64E74688AB5F8E7D055E393A2E0E280EE7971BB + +Seed = 48962049084D51451DA80FD1B53FB4324587E6DDD5EC34D4B93F0C3D9901EE7540C258F3FA543A56010B24B7699F52D0 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = BDEDCAEFDB73AC0A97523827207DA67DCF891E2183900EE5B00AE8896569F767 +HashSk = 9A3376A54ED2C5C2583D85A11EBE873C25F67FA3BE68A5D58C9A5DDA738BE027 +HashSig = 5A9F371E65EF248C3336BF87A8B20E06F328B98AC2BAA3A30ABCE7D4F7570C31 + +Seed = 31A5C0ED8B8FA98690308864DD1FD1D00D6E0F89B9EA531E4AB692CDFBC28D6BFDF4D47F6FA6164D3AFC9C0CADDE4CB8 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 269205A3F0AAD7139CEF72BDE7FD15E9B91484BB4674C260A73518D5A3036A8D +HashSk = 38A2012303CACAB87174425AFC093E73BFD00C77A4C777721EA0DFEF0DC1FD5F +HashSig = FFCAA34B3545A57A13613BFEC4F32169D731E2F55C4B3B06E23AC4CB08B26C33 + +Seed = B15C6D37C7073A1471EC46BA44F2530BBD0DB0EBAA729987310A44312684D76118DB35D00F9F3918B52A9F4B5F2B3069 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 44082E62151BEB67F8E6E7BFBCFF11BC581A745C49E1D27E96217E867452AE38 +HashSk = AC097240F9F62CBDA5EB1085E2E3A30190903107E0D08AC538BD3BA8B39CB2F6 +HashSig = 959A11403D8A844E895414F90794A0D049946428FA906633FCCF425B823D5FDF + +Seed = 9E6260A8D4F26F0059402C03F283A9885B08163571929480A988BEB1F8B6092F219F2658AB4803F5452E03F3F52B9C46 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = FDE2BC021A906A75001C39C0BCF358175995A872C38BFAC432CDB880CF5DF20F +HashSk = 77DCF84D4AE93487EB41744BD9C30FFAE5A982B02614B9A5D88A2E7B0604EAAD +HashSig = A3A67D818ACA9CE34DFD32DB22E66D3A3A72B763B63811FC5CA51E4253D6169F + +Seed = 953F14E090E058BEA84FC714F1DE79371012044DB6A2B891ABDAB355829F132AE34EFAF9E1457BC2A107EFAEE59C6F5D +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 65947826C9B835CE1915149E60373590A048678817A396CA5641C1FE404AA176 +HashSk = 87727CEB1B60CD684A1DAF5A285324D84279D8173B1DB74040CED521EF830DBE +HashSig = FF75E8D9099C43936A1E62190B3D49F08F00494806EC4E812F1D469A1B155BA3 + +Seed = 833E5D5E73BC7EF347EBCDCBFC9CF02894D2D31BA24940542AD12B27B5B04DD1D1F9BA4737CDE95925968E0F19CDD967 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 9620A0F25950A04D661E834A87506E57EA2D15A3B2AE3D9379E5FB70C6CC5D2F +HashSk = E6C47FE8F8734FF82E6BCC5DC181B13772D0B285210A473C3ACB0327DCC7A64A +HashSig = F825470A5B61A5F6462AD940F773DD0E066DA48A3B1FDFE9E9841337C1FEA8AE + +Seed = 37C8EE574C2FBC4736B34BA0CE13103B23DCF7FE61F70DD560AC6628E47CB323A89D4B9E37076EBDECEF2BDBA7D9CA03 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 07DC955B9CEF0D5735C97462668EF8E4BB69538C1563BAF1E4C889E92F667ABE +HashSk = B238C3B4EC28A88304991A0DEC23162A99AD5906A3291BD9AA2C9C6F94120603 +HashSig = D6DFB9B051C73A9FCFBA74088F620B677CB50445A483F301D71521C7D84D0AE2 + +Seed = 04DA61D20A5B610E4052CE0DECC4AA175D9942E75ECBA55C760645534ABA78F8AA7CE8155F3408FF223DF8C7D84301BB +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = C51183EE4CBAA0AA8AE86204B1DE2DCFA3851CCCC4062DA7E4B163C5E38C5EC5 +HashSk = AE421F2BD087588DAB2C3DA338A93FB481EC5F40E76656C16270347EDDB716C4 +HashSig = 7ECCB9F7003F8DB16F60CD73C391B36BD4391CE3A30AF6BD3E9085EFDADEB675 + +Seed = 2218F85560F58B4DB346D3D2494AD7F415BACA2E9856BB3068A36B860805E3945BF508F59975E2682689D7B5FBD0F805 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5DB4014DF1A5786E4560DB4EC21F7FBABEAF15C2209959727F6A9F90C67C482A +HashSk = E198EE73BD98F52800E681FD05C59D416BD493AA762E979CB9487698F329B32E +HashSig = A7A60B4FE345E0F894C9E8C4782FB8F0A5763B321E6F04CEB1E2BE5F9B8A73A3 + +Seed = B14F23EFE26AB4CEBBD139B444D7D7DE598863BFE55076AF0AD03AC941095CF160688C98B033757B3EDDDEB259528464 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 621FFA3349FB9C32BF2A9C80675C1EA85E51B6E31C713A8BA6C812F27F170074 +HashSk = 81E5502321AABB170801EEF6C018D2C835E5A9ACBDFF32B98E33B244D2C665EE +HashSig = 3C59F003BE80A470D02704704FD9CE35E60A96926D132076B2D14E0845FA0C1B + +Seed = 332E725A36DF1869CE4C0EC0EFE86DC5ED48F0B851D5F06FD14AB5338219B32BE232D47A6AFC2AB5F9D99259524073CE +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 7803055954832C548E13DD59302A3EEE29DDDC73F7BA3433F1CDBED87BE237F3 +HashSk = DB4C491DAD5D60B65FB9C33F084210EDB0F91B7FCCEEFEA90576F88C6D923C4C +HashSig = 71218C50D1C9697928319950975B9D2932AB936BDDBED1A576508DE5AE9895C4 + +Seed = 6A401F6A702BDCDF7C6CC917591938D522C3DCA44276695244B8E5B6776C333CB097BAA9D5FE2117DA455DD2C24F7BA2 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 7FC515E88DB21E26F8CCED7E532C57127DB92179238EF3FC17F37ECD7B04F785 +HashSk = EC30E8E28FCBCADB45202212B6C8ABB839003EA4E997610454DBCF6FFE06DB7C +HashSig = 53331F41A16F26A809397A234545BE29B477091CD68AE57E22ECE2E23E1BD4F1 + +Seed = 258F6AB8CFB60878D9B192371630086B963BD2EE404D2873AA04D066E130B9E13F4A10BF9C17A1834010FC89340CADF5 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = E73E475D30EDB8A028D3EF112E0BEA342F8EE0F9A52CB47F9B9B380FF70354BC +HashSk = A7CF60947D421FE4FB82438A391614D8F09977F02120CDEB3EB35E3C759E2CEA +HashSig = 7FAADE677FE73C23D7CF2AB25B16D5E6DCEDFD2B9B56998ABDBB4F6CF56AA054 + +Seed = 2DC5D2DD3D9C24DA555D3E654A51317BDA402B4B00AD836F631E7BF98430E47402109E81CCF683E6CF49801E7BE4E8D7 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = A7E8A31CC5702F71CBC4373225A2932C6589639D16E6672AA7191F0895AAADD9 +HashSk = EE2B64C8CDBD66167BBC097FC1EB78FB1C61B1A529C83E4BC8E59A72E60A75FB +HashSig = F349AABDA8A0986E3C949B52AE289371683719F472D83EC0D8EFE4FE479D0A50 + +Seed = B90348E8021762956ECE9F73C1A0BA441041A07096BA2574006D4DEC96CF329E18B57244695522CD394DB2FF18BA2A5C +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 8FB229CBE148275C7873FCC36BAACF12E7B186D371DC3917CA9230C7A741004C +HashSk = 71A24EB54E254D4772DD98D6D18A974F9C412F36E9C5AD509E61240630F1A6C6 +HashSig = F5B941DD8074AEAF810C9DE48275DCB85C44B0CF2B00EB4DDD9C07A0B1B1826D + +Seed = 5C06DDA4A6A7813E45FA77574C5FE82081EB119B9B865A78410839AC8ABA018E0215E0C7C1B16C6DD7A8D46D54365FF7 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 8627F94A76F7B9BD7C2AC40BEE643034120B1006C46F290D584874CC47E767A7 +HashSk = 903B6897C1F699A9B5878BE60B546C9C03D01475A39AF151D40AFE416656305E +HashSig = 4A464CB3AE1C5B2E64AA23AB4A8B6B204430DD70D3A4A223D4198D784418BFC8 + +Seed = EC48E032410F3183FE4C6968C2ED8E96DF01EA3CA5733F5F32EC2EB4B5D64CC2345C94EB5811EB716A76769302FB8CB8 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5183CC9FAD831A85164EC2C0D76557125F80E557D9DBCC8846DB2C3138B088FF +HashSk = 5E545DB0B603898B1C49AC4EC3955027A16B769A4E2E310E3368E19BE8D57270 +HashSig = 8B4972A027620DD0B58E1165CD565FA3BEE09D9AFE0C2411FA2AE4EC0CEB14E7 + +Seed = 78BD67FDBA9931B01221BC69856766E9687CE400C445707CBCA857455AFAA22D499DCA56738FF0F26946547F39513FEF +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 8AD083372303DC01A4033482FE09F9C1ED4AFEACBA3E88F1727519D9708413E5 +HashSk = 73F598850366C5EACF5FEE7C8766F071C9F338735E8CB4F49C9F98282A8321CB +HashSig = 96A4E8D81B9F53412F10BA698926EC59975F5F96C3B1599586537D2EE5178D8E + +Seed = 4036DF12B5010E48284EB1AF1CC7161AE24C0F38CC64EFB4589DC9950146126F85327EC1EDA19D49A0F2E8982C83CFD1 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = F1CF82EFDEF44D7DF59BCC773E8EE056020B2DC0C6B4AFD2F6BD018ADC8C446E +HashSk = 4EECB938EE531FA8F16DFF8B956E0DF43D518E93BC165DE5A65E159D5474A6E4 +HashSig = 50A26749E8A9FE8AD4A2C0C15C82603E00F6AE26CE7BD5A21D7A37F8149F45EE + +Seed = 6037A4B78FF8C1F39F115B618AB2E8626AB271A25DA22F728742C1F18EA9D9EA1306F606D860858479DD431E1341549B +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 09CB797AFDBD22C1EBC2313C392F9DBC8FB4684593342A26B9AE03AE736556A8 +HashSk = 7C2559214F13601304CAE5C9614D93058EEF2C15FF7D862EA8D50EE4E0018108 +HashSig = EC8F28723461620542A2E12DE49942175D42716CC8DC9DF9151328F8CD0AB316 + +Seed = 0C20A68990674C82CFB3F06F28C189016F432770E4AB4D13A9678C77EBB74A18BAEA3051435B4E725306ED44D9FAD465 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = CE1859058DD93D5D953AA548D0B674778290C2AB00883353C607834C3015218D +HashSk = 0607C5018147A085B15F93953C67FA3894861C8604D79AF9C5396E6FBBE6DE69 +HashSig = 43F1AE1CC2FB7BBA144D37A78558619473C2134B25F99FE82BDE48C8FA688141 + diff --git a/src/tests/data/pubkey/ml-dsa-8x7_Randomized.vec b/src/tests/data/pubkey/ml-dsa-8x7_Randomized.vec new file mode 100644 index 00000000000..fef38701e9c --- /dev/null +++ b/src/tests/data/pubkey/ml-dsa-8x7_Randomized.vec @@ -0,0 +1,154 @@ +# See src/scripts/dev_tools/gen_pqc_dsa_kats.py + +[ML-DSA-8x7_Randomized] + +Seed = 0CBA51D461CAB36E6F5195A2B1080F00A404D8A8ED16C09FC60027B2CA6C828877274101FD8549720DDB01569812EC18 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = B9A3BCCC9079B714921512C92252FF6FC8AC7FE9F0CA9B43E61B085686FF10F7 +HashSk = CEE3F185A82D39DAA8A65F5DBB3BEC49D4FB6F76B09B87B0FBBFDFC53FACC380 +HashSig = 4255F5885108E970B32AF9BCBA4CF2FF896C3022A682D7A9DAF69EF9860F75A0 + +Seed = CD415E7D66B8E279B87ECDE07B21E0DD262FF82D2D2DC107B26CA780D0257953F23A587A40A652E5A286B17BDAE6DD9A +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = AF5B7C3E1D51C4848C110BF29DB8154DDBE400E35EA6287AE9FB458A435CB6FA +HashSk = A90ECD548B666C7CD3CF2F31C79F1A536D94A41F9090280726896191BCD17A9E +HashSig = 62CBB79165B1C97970EA44B3347CD2191C61D8240AC955EE62EC55EFA60ACF77 + +Seed = 2D201F6DB8BE71473EAFA1AEA1D670D99AEC8DD9451B2B85E531E7380F781A5C432ED5A836DDA694267D7EFEC6B7A38E +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = DFC139E54A47F706F34536C49233F5B017416836A66229577F4403604BFC54BC +HashSk = EB7D4DFD5B951838D8428CBBBCDD794A0DD360339969E6071343DCCCB8E56409 +HashSig = 67447F2A4B0C976B41899F42DF873E695021BBACE5012F667095A4E665CDC7DD + +Seed = 53794C274F118918205B1B5D9EF50F8599D03A08D559286122B167DB2BA79EB544F39BD2DDB02BBC1E7BC2A2FBF2B3A6 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 768E1872EC5CAD2950CFF6D16AB37EB11FD0C441BDB3E605C09D58E180C067D6 +HashSk = 3B8B5055B8E7C88B777B9C8296FCC5974215A0702168C6CFC584720A5132C1F6 +HashSig = 346E02ACB36BFE2F6BC4EAFC81B0EB8343B6714DBF6963E40D27F4BEBA5DD747 + +Seed = 9F0339BD275315E9F8077C2A7B5728D92D32E204A26E2415A0F65559270A122AC0498BAA8ED499AA35133CCD1FEC8E16 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = F89638E88BA611482662784FE60C1548FDDBCA7B83C055001CC39D8EB5185247 +HashSk = 1372A5C2282387FD9C702A983472CE9DE6DB2575AC9473C8067B2E33228F8C78 +HashSig = 652CF684E6ED109E176F7EE0495322DA7530ECB9E708C09349716E6768D27E28 + +Seed = B24A1B345715DE71BE87F70FDD6993E0C126271C8C28FA242D29E9487F9AECA9D2C82B914A91832DFF429E0DC00BB642 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 7168F885E5A7060A283ABD4171912D07E7F02BB50CF6C2EC806FD6B1557CEE7A +HashSk = 31FD5C9C11B42110ACFD485313941F0D1D26A6DFD0494CEA77A359073E8D8155 +HashSig = 5593373A46DE5EB33C982E249C8FAFF805AF5340ACF64303A88303ECFEEEC24C + +Seed = 31297D3DD02C4B5CA74B8E0D898C8867C9926FE3980CFDD18205DBDFDC5CC0AD5EB09BF08DDE06204BBBB90E5172B92F +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 27FF06616E97D4433C19AB08CFEFCF0FA79F6EF70174C27AB5129921E7E574C0 +HashSk = 7B2D4BD8BBB09B48BF0704C2A69AB80888EACE55AA5393827372584CF1357627 +HashSig = F68AEAF615F2C3022DDCB5D04975873302EC2F6D7FB64D1A026A1AD0E3AA8429 + +Seed = EF1F21431A9EDC5AB07C2AB3EF21EFD6AD54E0ECB1B41B2BC7747221E38E9312C982735A880C9D9D46C900D5133D00BE +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = E3A92C358F1583372DF67CA28B531139AACAD611E10882851182301C134FFA14 +HashSk = 65EA77C7C1699E92C05171908B8C66D61974629E989F77CD6D3F49FB95F8C2DE +HashSig = 0928E76F1D1A89295E4A352B71E4D8EB03BA285B7947E68843B9508B70138AFC + +Seed = C5598909AFEA3F0D5D4BC48970B461875298717DA8AE7E1F895EF309559E82045630231AFD632B343B9D8878B282A8EE +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 505BF5CB14E1A3D8EF0D48106BD7E78AE35C671DF500993892654132088BE53A +HashSk = 625EE714DFA368672793C186CB75B2F141055A83DFA8524F06C6723A51236EED +HashSig = 4304C835FDE439514F2DB77E3A613CC0EF43CAF6604953B2D7C41DC2E407D0E5 + +Seed = 73CDBD39D4D621D2B39160C32252684333AD108C86BC3ABED0F6EDB362677AAF90C203D933924076B2E178C972CDFBA4 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 62212D43C1DB86618C5B48B8AF929CA53BCE5A6B0193A1A73B9D42CD9214A9CC +HashSk = CCBBC41EEEC2B0DF36D14B5B2215279B6AA53AF873D837EBE37DF47981AD9772 +HashSig = 3EA283DD6D6229035264820833B5162150A36D6003F16DE7B5CCC886FE466D38 + +Seed = F3B5FFCF0FC204AA659C94EAECC971A72E7E7A250E6D6B214683DD661F293686D2C68E65742460F60A8D5CF9569ED4DE +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 48A933BF559DD5F7DA6E334AD4DFBA75784999047ACA1B48AFDC8A955536D41B +HashSk = 82D7890BE9B5ADAA782855173CA967C050CA1BFF760541D3EFF3E1961C862DEF +HashSig = E03DB971B07FBCD6EFF09040F39313B25FBDA05D1DF4D75CEB360D9E17FA9B41 + +Seed = 4A64B47669EF64D4EB0D851CCA19FD1595B82ED400FCC8FEEA21BBF1C9C412FF61447DB85ACEEA2DF2B93A499D5DA74B +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 24552E535387C96AF5E114EEC74C05963E85FB0318D23C8D2B930B296058DF7F +HashSk = BA75B6F291A3BFE9E9350D9EE3F4EF53AC2B12AD2BBD81AF8A2D3B143293A7A1 +HashSig = E1F95BEFF026E58FAB281D55791EEF53A68E2E3C4AF59A1D6805CBAF61108407 + +Seed = 59B874F712C964D99CE32FE2FB8F5A0A87AE21E0F662886032AC5D17B7D8B2C30EC10600BFAFAFCF50BEC269CBB04DC3 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = FF51A10EB8B6C749E108743E26156CC799C424854E3F988CA7621B989CED046C +HashSk = ABF28380DFACBD400E401FFF4269D2600944BE8C913824F1B5F4206346C02598 +HashSig = 3E34B2EF3FDA6CEBAE581A4358B9AEB7FBAC0EF87C9AB0E34C36C9128EFC4C40 + +Seed = C1C680B0F2FD2A873AA28A90461A5741E69D746E08A79EE332BC8B0F38C7C46F58DF44ED7CC11C586E8C43C694CB33DE +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 38F9A6AAF52EBF944995757273E3DBBE4CE558A301C91F3C0D33E133D68F01F9 +HashSk = 4268EED0C5E020682DFED790048F762F91A4BF7ABF7C214E233DAE4F53A7F83D +HashSig = F9FDEC494DC935A0F25FB83EF2535099AB7B44DD5EC5D4BD0C454159D71E3911 + +Seed = 67595CE60203BC1D523EC607D74E39436CB90D23264B16D1667DAD52DFFE9E41A1572777F6EA2250B3A113BB9F294246 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = B0BA7C3F0C573D9D0096DDCECBEF87C56AE783421B0A82F34A929CC22EA17ADA +HashSk = 259AF1251052CB66AD8689D306EAED5E9A981E07F95716D1832BB044EBC5AFA8 +HashSig = DF3F50D825D9C869DD0A8F8A8431903DF9643BD5A80CE7C603D0C3292AEFDFC4 + +Seed = 55AF8EE12FEBB5DCEFC734AB5BA465D651852DA7E1F8FF5687A15EBDF7D90B6C854423C1ACD49694A6DE6A0AD0C17D54 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 94FC30D9E289496287EE9BE0D359CC1AA59C32F1B1B76A1A4D6766E79A1F1CC6 +HashSk = B4E038D3D779D75CFDDB3D4DC46E85CA4B13978DE06622BA5125A3DA783CA551 +HashSig = E4F9CE07729A75C1860DB5F5EEEBF3BC4CD9A37E4A176F5672B66A96F82FCF29 + +Seed = C16D457DA86D8F32053FCAB08F7D8BBBC4565E31BB7B222C66D8ADFDEE3A3C9B6BF3F054EFE4214773C20A5681831DF6 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = CD0F8B3A2411B2D083FD965DF55D6F2822109F93D8684E33892241FC27411CA9 +HashSk = 148645BA4A009264AAA42D8B196541B7528B20D2BBCF4E91126157F3E77E12DC +HashSig = 66F9E385205EF638031518CCE1478D3FB76736DD5903E39820D70E423E50D6EC + +Seed = 36068B0022A9DD97CC6F6C28456EF174622C80400A2A39437914CC92E24699265C09711FF10C500BDDC8AC95FEDD95E2 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 454180EAA1388A81B6CF6ECEF8BE4D79369160E79337538291142E9B1D6BDEE0 +HashSk = 960900EEC7E82A8456BFC60109B0EBB678D3C9C1363DE04E66273D04C9CA643B +HashSig = 0D547BA905924BB243FF307EA2FBA776450781E8381DA41E44C230EDA9DA2101 + +Seed = 0AAD970BCF66B0977FF3A63436C1C56818E3D24C36582191109F6DEE449DE35D018E4F93B553D0524A2706016F75D7CE +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 9F4AA3AC66456B35C025473C18E5F45BF32158B94AA7BB2AD686BD11D98C5E28 +HashSk = 09667EDBD98D8D5AC4EC8D8DA8BD78B7ED490743DBC2A232738DE2AB9F0D723B +HashSig = A981C83B911039B268B125005383025CF089005381584B94F371A4C4A4DC5C2D + +Seed = 66ABDF11C94F179CAE726921B11F56291AE044A0827D873931E032212D3305AFA91A4135A23B69A44940458F95B929F7 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 3F72EF7A8E730D61DF5C88A7E2A424A8338DB78DC75CAA4E10E18CC918E317CF +HashSk = C461206764743E721FC1D6BADAE33730D10F77FC83D227C2E3C465EE01296CC7 +HashSig = 97042FFC55063220B245B9119C93D4F46E4EC915F07780F415F93CD4545236FE + +Seed = 76B6B9E241D4E56B0E5CC2548FB0C40ADD2BBAF7222A9F758228A3999A5EA666C554491D4884121E78ED6181CB11A7D4 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = D6E8B42319B1E5290819D457C28914501352347A23C61BE54DBFFF9FB8A6A780 +HashSk = 8E4F4BF3A3B4D9993610362B958AE79A8B765C430BA753D9CCB0DFB7AD3C7CC1 +HashSig = D58323D70F96E29A4726673252D84D53B24DBDC72951D55CEAEECDFC84D089E7 + +Seed = 5CDE8EB2C1F7DB2E088EA2E87500E52AB83C1D1F41E06D37F6F05EFB06E5CF44068E44787EF80F0A4E1A9867C22BBF6A +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = AF261ED3558F307FE1B369CC2CF037C45C06F86DF38FD04D152B378E170C6631 +HashSk = 1723F270BDF86734C708B7BF353202D23E21371D827ECC89C1C745BA018E4886 +HashSig = 1BD8DAA7DEF7C9997BBC58B2C339E680A36910E9059C23D8D7560A3C93A592C0 + +Seed = D61BE1D7E5B769B1A84A561207A3F53AD05997B7D4C36FFF7ED235AB5B8CFD0CD08F4EB5FAC9D8907D3501E4FB701E0D +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = A9B2CEED5E053E604E5B3FC2C09151790055625AC95C0F242B73E5745E94EFBC +HashSk = FE004C15AF330DCAE7B40341CF7EB86466C77F8A71A8B3226F3C7D8CD7886CB1 +HashSig = A11B5DA2CC1E6E2C2195D8FB50C6F8883391472F086AAC9F4F0C29F1816BBB07 + +Seed = C19A758D89B056E5CD58C0494A1D8E9D12E2193F228300F23F918696E72665F342A9939424B31F46EAFEAD776E3FB273 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = 5042C8253E5548B8A8C0732C329D3A3E97B6B7E9536A05F5044140F4AC06C0C0 +HashSk = B2DADF5D45AD62E211B0AEDD44F56F6076B8E0C5CD4BCAE34A42F3E016B744A5 +HashSig = 6EB6D38BD6A1F369273958DA2660EED3B2CEFE94C621F7C6C80A0F3157E45F84 + +Seed = 07B75FAE06FB6A07ABA9FCEF6379017C54F586A0966551F82BA38A10E93214922E6D7708FA9BA6D7F9D04511247CD249 +Msg = D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 +HashPk = CD7C3FB46C340484229671D2A48925EEDDE4934130E225E6A7875A33D0CCD84C +HashSk = 0F621F2D10EBABBFFDA9732F588746EB37105FCAD0C5E5676508E45E80F4A900 +HashSig = E21397CF5C1313600F38A0345D02ACC81C0DCE9DA7FC88B5B6E5567F064ACDBB + diff --git a/src/tests/test_dilithium.cpp b/src/tests/test_dilithium.cpp index 3455956dda2..c8eda195af9 100644 --- a/src/tests/test_dilithium.cpp +++ b/src/tests/test_dilithium.cpp @@ -17,6 +17,7 @@ #include #include #include + #include #include "test_pubkey.h" #endif @@ -88,6 +89,16 @@ class Dilithium_KAT_Tests : public Text_Based_Test { }; \ BOTAN_REGISTER_TEST("pubkey", "dilithium_kat_" #m "_" #rand, DILITHIUM##m##rand) + // NOLINTNEXTLINE(*-macro-usage) + #define REGISTER_ML_DSA_KAT_TEST(m, rand) \ + class ML_DSA##m##rand final : public Dilithium_KAT_Tests { \ + public: \ + constexpr static auto test_vector = "pubkey/ml-dsa-" #m "_" #rand ".vec"; \ + constexpr static auto mode = Botan::DilithiumMode::ML_DSA_##m; \ + constexpr static auto sign_param = #rand; \ + }; \ + BOTAN_REGISTER_TEST("pubkey", "ml-dsa_kat_" #m "_" #rand, ML_DSA##m##rand) + #if defined(BOTAN_HAS_DILITHIUM) REGISTER_DILITHIUM_KAT_TEST(4x4, Deterministic); REGISTER_DILITHIUM_KAT_TEST(6x5, Deterministic); @@ -106,6 +117,15 @@ REGISTER_DILITHIUM_KAT_TEST(6x5_AES, Randomized); REGISTER_DILITHIUM_KAT_TEST(8x7_AES, Randomized); #endif + #if defined(BOTAN_HAS_ML_DSA) +REGISTER_ML_DSA_KAT_TEST(4x4, Deterministic); +REGISTER_ML_DSA_KAT_TEST(6x5, Deterministic); +REGISTER_ML_DSA_KAT_TEST(8x7, Deterministic); +REGISTER_ML_DSA_KAT_TEST(4x4, Randomized); +REGISTER_ML_DSA_KAT_TEST(6x5, Randomized); +REGISTER_ML_DSA_KAT_TEST(8x7, Randomized); + #endif + class DilithiumRoundtripTests final : public Test { public: static Test::Result run_roundtrip(