1pub const NUM_AUTH_CRED_ATTRIBUTES: usize = 3;
7pub const NUM_PROFILE_KEY_CRED_ATTRIBUTES: usize = 4;
8pub const NUM_RECEIPT_CRED_ATTRIBUTES: usize = 2;
9
10pub const PRESENTATION_VERSION_1: u8 = 0;
11pub const PRESENTATION_VERSION_2: u8 = 1;
12pub const PRESENTATION_VERSION_3: u8 = 2;
13pub const PRESENTATION_VERSION_4: u8 = 3;
14
15pub const AES_KEY_LEN: usize = 32;
16pub const AESGCM_NONCE_LEN: usize = 12;
17pub const AESGCM_TAG_LEN: usize = 16;
18pub const GROUP_MASTER_KEY_LEN: usize = 32;
19pub const GROUP_SECRET_PARAMS_LEN: usize = 289;
20pub const GROUP_PUBLIC_PARAMS_LEN: usize = 97;
21pub const GROUP_IDENTIFIER_LEN: usize = 32;
22pub const AUTH_CREDENTIAL_LEN: usize = 181;
23pub const AUTH_CREDENTIAL_PRESENTATION_V2_LEN: usize = 461;
24pub const AUTH_CREDENTIAL_RESPONSE_LEN: usize = 361;
25pub const AUTH_CREDENTIAL_WITH_PNI_LEN: usize = 265;
26pub const AUTH_CREDENTIAL_WITH_PNI_RESPONSE_LEN: usize = 425;
27pub const PROFILE_KEY_LEN: usize = 32;
28pub const PROFILE_KEY_CIPHERTEXT_LEN: usize = 65;
29pub const PROFILE_KEY_COMMITMENT_LEN: usize = 97;
30pub const EXPIRING_PROFILE_KEY_CREDENTIAL_LEN: usize = 153;
31pub(crate) const PROFILE_KEY_CREDENTIAL_PRESENTATION_V1_LEN: usize = 713;
32pub const PROFILE_KEY_CREDENTIAL_PRESENTATION_V2_LEN: usize = 713;
33pub const PROFILE_KEY_CREDENTIAL_REQUEST_LEN: usize = 329;
34pub const PROFILE_KEY_CREDENTIAL_REQUEST_CONTEXT_LEN: usize = 473;
35pub const EXPIRING_PROFILE_KEY_CREDENTIAL_RESPONSE_LEN: usize = 497;
36pub const PROFILE_KEY_VERSION_LEN: usize = 32;
37pub const PROFILE_KEY_VERSION_ENCODED_LEN: usize = 64;
38pub const RECEIPT_CREDENTIAL_LEN: usize = 129;
39pub const RECEIPT_CREDENTIAL_PRESENTATION_LEN: usize = 329;
40pub const RECEIPT_CREDENTIAL_REQUEST_LEN: usize = 97;
41pub const RECEIPT_CREDENTIAL_REQUEST_CONTEXT_LEN: usize = 177;
42pub const RECEIPT_CREDENTIAL_RESPONSE_LEN: usize = 409;
43pub const RECEIPT_SERIAL_LEN: usize = 16;
44pub const RESERVED_LEN: usize = 1;
45pub const SERVER_SECRET_PARAMS_LEN: usize = 2721;
46pub const SERVER_PUBLIC_PARAMS_LEN: usize = 673;
47pub const UUID_CIPHERTEXT_LEN: usize = 65;
48pub const RANDOMNESS_LEN: usize = 32;
49pub const SIGNATURE_LEN: usize = 64;
50pub const UUID_LEN: usize = 16;
51pub const ACCESS_KEY_LEN: usize = 16;
52
53pub const SECONDS_PER_DAY: u64 = 86400;
55
56pub const TEST_ARRAY_16: [u8; 16] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
57
58pub const TEST_ARRAY_16_1: [u8; 16] = [
59 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
60];
61
62pub const TEST_ARRAY_32: [u8; 32] = [
63 0, 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,
64 26, 27, 28, 29, 30, 31,
65];
66
67pub const TEST_ARRAY_32_1: [u8; 32] = [
68 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
69 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
70];
71
72pub const TEST_ARRAY_32_2: [u8; 32] = [
73 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
74 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
75];
76
77pub const TEST_ARRAY_32_3: [u8; 32] = [
78 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,
79 27, 28, 29, 30, 31, 32,
80];
81
82pub const TEST_ARRAY_32_4: [u8; 32] = [
83 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,
84 28, 29, 30, 31, 32, 33,
85];
86
87pub const TEST_ARRAY_32_5: [u8; 32] = [
88 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,
89 28, 29, 30, 31, 32, 33, 34,
90];