/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
staticbool
valid_params(KyberParams params)
{ switch (params) { case params_kyber768_round3: case params_kyber768_round3_test_mode: case params_ml_kem768: case params_ml_kem768_test_mode: returntrue; default: returnfalse;
}
}
staticbool
valid_pubkey(KyberParams params, const SECItem *pubkey)
{ switch (params) { case params_kyber768_round3: case params_kyber768_round3_test_mode: case params_ml_kem768: case params_ml_kem768_test_mode: return pubkey && pubkey->len == KYBER768_PUBLIC_KEY_BYTES; default: returnfalse;
}
}
staticbool
valid_privkey(KyberParams params, const SECItem *privkey)
{ switch (params) { case params_kyber768_round3: case params_kyber768_round3_test_mode: case params_ml_kem768: case params_ml_kem768_test_mode: return privkey && privkey->len == KYBER768_PRIVATE_KEY_BYTES; default: returnfalse;
}
}
staticbool
valid_ciphertext(KyberParams params, const SECItem *ciphertext)
{ switch (params) { case params_kyber768_round3: case params_kyber768_round3_test_mode: case params_ml_kem768: case params_ml_kem768_test_mode: return ciphertext && ciphertext->len == KYBER768_CIPHERTEXT_BYTES; default: returnfalse;
}
}
staticbool
valid_secret(KyberParams params, const SECItem *secret)
{ switch (params) { case params_kyber768_round3: case params_kyber768_round3_test_mode: case params_ml_kem768: case params_ml_kem768_test_mode: return secret && secret->len == KYBER_SHARED_SECRET_BYTES; default: returnfalse;
}
}
staticbool
valid_keypair_seed(KyberParams params, const SECItem *seed)
{ switch (params) { case params_kyber768_round3: case params_kyber768_round3_test_mode: case params_ml_kem768: case params_ml_kem768_test_mode: return !seed || seed->len == KYBER_KEYPAIR_COIN_BYTES; default: returnfalse;
}
}
staticbool
valid_enc_seed(KyberParams params, const SECItem *seed)
{ switch (params) { case params_kyber768_round3: case params_ml_kem768: return !seed; case params_kyber768_round3_test_mode: case params_ml_kem768_test_mode: return !seed || seed->len == KYBER_SHARED_SECRET_BYTES; default: returnfalse;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.