-
Notifications
You must be signed in to change notification settings - Fork 9
/
identifiers.ts
62 lines (55 loc) · 1.3 KB
/
identifiers.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
* The supported HPKE modes.
*/
export const Mode = {
Base: 0x00,
Psk: 0x01,
Auth: 0x02,
AuthPsk: 0x03,
} as const;
/**
* The type alias of the supported HPKE modes.
*/
export type Mode = typeof Mode[keyof typeof Mode];
/**
* The supported Key Encapsulation Mechanism (KEM) identifiers.
*/
export const KemId = {
NotAssigned: 0x0000,
DhkemP256HkdfSha256: 0x0010,
DhkemP384HkdfSha384: 0x0011,
DhkemP521HkdfSha512: 0x0012,
DhkemSecp256k1HkdfSha256: 0x0013,
DhkemX25519HkdfSha256: 0x0020,
DhkemX448HkdfSha512: 0x0021,
HybridkemX25519Kyber768: 0x0030,
} as const;
/**
* The type alias of the supported KEM identifiers.
*/
export type KemId = typeof KemId[keyof typeof KemId];
/**
* The supported Key Derivation Function (KDF) identifiers.
*/
export const KdfId = {
HkdfSha256: 0x0001,
HkdfSha384: 0x0002,
HkdfSha512: 0x0003,
} as const;
/**
* The type alias of the supported KDF identifiers.
*/
export type KdfId = typeof KdfId[keyof typeof KdfId];
/**
* The supported Authenticated Encryption with Associated Data (AEAD) identifiers.
*/
export const AeadId = {
Aes128Gcm: 0x0001,
Aes256Gcm: 0x0002,
Chacha20Poly1305: 0x0003,
ExportOnly: 0xFFFF,
} as const;
/**
* The type alias of the supported AEAD identifiers.
*/
export type AeadId = typeof AeadId[keyof typeof AeadId];