ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ • 2.34 kB
TypeScript
import { Signature, SignatureAlgorithm } from "./signature.js";
import { Hash, HashAlgorithm } from "./hash.js";
import { Kdf } from "./kdf.js";
import { Hpke, HpkeAlgorithm } from "./hpke.js";
import { Encoder } from "../codec/tlsEncoder.js";
import { Decoder } from "../codec/tlsDecoder.js";
import { Rng } from "./rng.js";
export interface CiphersuiteImpl {
hash: Hash;
hpke: Hpke;
signature: Signature;
kdf: Kdf;
rng: Rng;
name: CiphersuiteName;
}
export declare const ciphersuites: {
readonly MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519: 1;
readonly MLS_128_DHKEMP256_AES128GCM_SHA256_P256: 2;
readonly MLS_128_DHKEMX25519_CHACHA20POLY1305_SHA256_Ed25519: 3;
readonly MLS_256_DHKEMX448_AES256GCM_SHA512_Ed448: 4;
readonly MLS_256_DHKEMP521_AES256GCM_SHA512_P521: 5;
readonly MLS_256_DHKEMX448_CHACHA20POLY1305_SHA512_Ed448: 6;
readonly MLS_256_DHKEMP384_AES256GCM_SHA384_P384: 7;
readonly MLS_128_MLKEM512_AES128GCM_SHA256_Ed25519: 77;
readonly MLS_128_MLKEM512_CHACHA20POLY1305_SHA256_Ed25519: 78;
readonly MLS_256_MLKEM768_AES256GCM_SHA384_Ed25519: 79;
readonly MLS_256_MLKEM768_CHACHA20POLY1305_SHA384_Ed25519: 80;
readonly MLS_256_MLKEM1024_AES256GCM_SHA512_Ed25519: 81;
readonly MLS_256_MLKEM1024_CHACHA20POLY1305_SHA512_Ed25519: 82;
readonly MLS_256_XWING_AES256GCM_SHA512_Ed25519: 83;
readonly MLS_256_XWING_CHACHA20POLY1305_SHA512_Ed25519: 84;
readonly MLS_256_MLKEM1024_AES256GCM_SHA512_MLDSA87: 85;
readonly MLS_256_MLKEM1024_CHACHA20POLY1305_SHA512_MLDSA87: 86;
readonly MLS_256_XWING_AES256GCM_SHA512_MLDSA87: 87;
readonly MLS_256_XWING_CHACHA20POLY1305_SHA512_MLDSA87: 88;
};
export type CiphersuiteName = keyof typeof ciphersuites;
export type CiphersuiteId = (typeof ciphersuites)[CiphersuiteName];
export declare const encodeCiphersuite: Encoder<CiphersuiteName>;
export declare const decodeCiphersuite: Decoder<CiphersuiteName>;
export declare function getCiphersuiteNameFromId(id: CiphersuiteId): CiphersuiteName;
export declare function getCiphersuiteFromId(id: CiphersuiteId): Ciphersuite;
export declare function getCiphersuiteFromName(name: CiphersuiteName): Ciphersuite;
export type Ciphersuite = {
hash: HashAlgorithm;
hpke: HpkeAlgorithm;
signature: SignatureAlgorithm;
name: CiphersuiteName;
};