-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathconstants.py
More file actions
41 lines (34 loc) · 1.12 KB
/
Copy pathconstants.py
File metadata and controls
41 lines (34 loc) · 1.12 KB
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
"""Protocol constants for the DNSCrypt reference implementation."""
CERT_MAGIC = b"DNSC"
RESOLVER_MAGIC = bytes.fromhex("7236666e76576a38")
ANON_MAGIC = b"\xff" * 8 + b"\x00\x00"
RESUME_MAGIC = b"PQResume"
ES_VERSION_XSALSA20POLY1305 = b"\x00\x01"
ES_VERSION_XCHACHA20POLY1305 = b"\x00\x02"
ES_VERSION_XWING = b"\x00\x03"
PROTOCOL_MINOR_VERSION = b"\x00\x00"
CLIENT_MAGIC_SIZE = 8
PUBLIC_KEY_SIZE = 32
SIGNATURE_SIZE = 64
CLIENT_NONCE_SIZE = 12
RESOLVER_NONCE_SIZE = 12
NONCE_SIZE = CLIENT_NONCE_SIZE + RESOLVER_NONCE_SIZE
TAG_SIZE = 16
PADDING_BLOCK_SIZE = 64
MIN_UDP_QUERY_LEN = 256
XWING_MLKEM_PUBLIC_KEY_SIZE = 1184
XWING_MLKEM_CIPHERTEXT_SIZE = 1088
XWING_X25519_KEY_SIZE = 32
XWING_PUBLIC_KEY_SIZE = XWING_MLKEM_PUBLIC_KEY_SIZE + XWING_X25519_KEY_SIZE
XWING_CIPHERTEXT_SIZE = XWING_MLKEM_CIPHERTEXT_SIZE + XWING_X25519_KEY_SIZE
XWING_SHARED_SECRET_SIZE = 32
XWING_LABEL = b"\\.//^\\"
PQ_PROFILE_EXTENSION_MAGIC = b"PQD"
PQ_PROFILE_EXTENSION_VERSION = 1
KDF_ID_HKDF_SHA256 = 1
AEAD_ID_XCHACHA20_DJB_POLY1305 = 1
PQ_CONTROL_MAGIC = b"PQDR"
PQ_CONTROL_VERSION = 1
TICKET_KEY_ID_SIZE = 4
TICKET_NONCE_SIZE = 24
TICKET_PLAIN_SIZE = 86