Test vectors for the encoding of ML-KEM keys (RFC 9935)

rfc9935_*.pem

    The examples in Appendix C of RFC 9935 (Internet X.509 Public Key
    Infrastructure - Algorithm Identifiers for the Module-Lattice-Based
    Key-Encapsulation Mechanism (ML-KEM)):

        https://www.rfc-editor.org/rfc/rfc9935.txt

    ml_kem_*_seed.pem          C.1, private key with the seed 000102...3e3f
    ml_kem_*_expanded.pem      C.1, the same, as expanded private key
    ml_kem_*_both.pem          C.1, the same, with seed and expanded private key
    ml_kem_*_public.pem        C.2, the matching public key
    ml_kem_*_cert.pem          C.3, certificate for that key, signed with the
                               ML-DSA key of RFC 9881 (Appendix C)
    ml_kem_512_inconsistent_*  C.4, inconsistent private keys (1: the seed and
                               the expanded key don't match; 2: mutated s_0,
                               valid H(ek); 3: mutated H(ek); 4: the seed and
                               the expanded key only differ in z)

openssl_ml_kem_*

    Keys generated by OpenSSL 4.0.3 (which has no ML-KEM-512 here):

    openssl_ml_kem_*_private.der        PKCS#8, in the clear (seed format)
    openssl_ml_kem_*_private_enc.der    PKCS#8, encrypted with the passphrase 'password'
                                        (PBES2, PBKDF2 and AES-256-CBC)
    openssl_ml_kem_*_public.der         SubjectPublicKeyInfo
    openssl_ml_kem_*_seed.hex           the seed, as exported by OpenSSL
    openssl_ml_kem_*_ciphertext.hex     a ciphertext, encapsulated by OpenSSL
                                        with the public key
    openssl_ml_kem_*_shared_secret.hex  the matching shared secret
