(self, backend, subtests)
| 271 | pub.verify(expected_sig, msg, ctx) |
| 272 | |
| 273 | def test_kat_vectors_87(self, backend, subtests): |
| 274 | vectors = load_vectors_from_file( |
| 275 | os.path.join("asymmetric", "MLDSA", "kat_MLDSA_87_det_pure.rsp"), |
| 276 | load_nist_vectors, |
| 277 | ) |
| 278 | for vector in vectors: |
| 279 | with subtests.test(): |
| 280 | xi = binascii.unhexlify(vector["xi"]) |
| 281 | pk = binascii.unhexlify(vector["pk"]) |
| 282 | msg = binascii.unhexlify(vector["msg"]) |
| 283 | ctx = binascii.unhexlify(vector["ctx"]) |
| 284 | sm = binascii.unhexlify(vector["sm"]) |
| 285 | expected_sig = sm[:4627] |
| 286 | |
| 287 | key = MLDSA87PrivateKey.from_seed_bytes(xi) |
| 288 | assert key.private_bytes_raw() == xi |
| 289 | assert key.public_key().public_bytes_raw() == pk |
| 290 | |
| 291 | pub = MLDSA87PublicKey.from_public_bytes(pk) |
| 292 | pub.verify(expected_sig, msg, ctx) |
| 293 | |
| 294 | @pytest.mark.parametrize("variant", ML_DSA_VARIANTS) |
| 295 | def test_kat_vectors_external_mu(self, variant, backend, subtests): |
nothing calls this directly
no test coverage detected