lib/reticulum/src/conformance/ifac.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 //! Generated by `lib/reticulum/build/generate` with `rns==1.5.0`.
2 //! The upstream source is Reticulum commit `e32d4df754a7b87b1bf1bb0d08675d12ff505ae6`.
3 //! Hand edits are lost.
4 //!
5 //! The interface keys behind the access-code vectors come from
6 //! Reticulum@1.5.0 RNS/Reticulum.py:989-1002.
7 //! The masks use RNS/Transport.py:1244-1276.
8 //! The verdicts accept a frame or name why it was refused, and use
9 //! RNS/Transport.py:1636-1694.
10
11 pub const Vector = struct {
12 name: []const u8,
13 netname: []const u8,
14 netkey: []const u8,
15 size: u7,
16 ifac_key: []const u8,
17 raw: []const u8,
18 masked: []const u8,
19 verdict: []const u8,
20 };
21
22 pub const vectors: []const Vector = &.{
23 .{
24 .name = "name-only-size-16",
25 .netname = &.{
26 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
27 0x6b,
28 },
29 .netkey = &.{},
30 .size = 16,
31 .ifac_key = &.{
32 0x19, 0xfd, 0x17, 0x2b, 0x07, 0x8d, 0xb1, 0x46, 0x34, 0xf1, 0x2b, 0x9c,
33 0x39, 0x81, 0x1e, 0x22, 0x74, 0x9c, 0x5e, 0x0a, 0x2b, 0x01, 0x18, 0x7a,
34 0xec, 0xeb, 0x66, 0x03, 0x2b, 0x8c, 0xad, 0xb9, 0x7d, 0xe8, 0x63, 0xbe,
35 0xe5, 0x89, 0xfa, 0x25, 0xa1, 0xec, 0xf3, 0x39, 0x94, 0xc5, 0x89, 0x7a,
36 0x5d, 0xfd, 0xaf, 0xf6, 0x2e, 0x62, 0x3d, 0x0c, 0xe4, 0x5a, 0x61, 0x3e,
37 0x68, 0xb1, 0xcd, 0x33,
38 },
39 .raw = &.{
40 0x27, 0x4c, 0x71, 0x96, 0xbb, 0xe0, 0x05, 0x2a, 0x4f, 0x74, 0x99, 0xbe,
41 0xe3, 0x08, 0x2d, 0x52, 0x77, 0x9c, 0xc1,
42 },
43 .masked = &.{
44 0xd4, 0x6e, 0x71, 0x34, 0x2b, 0x7d, 0xdb, 0x08, 0x20, 0x18, 0xa6, 0x49,
45 0x18, 0x5d, 0x97, 0x33, 0x8c, 0x09, 0x0f, 0xfa, 0xc4, 0x38, 0xa9, 0x82,
46 0x8f, 0x42, 0xed, 0x59, 0x4c, 0x32, 0xc9, 0x9a, 0xf7, 0xf5, 0x59,
47 },
48 .verdict = "accept",
49 },
50 .{
51 .name = "key-only-size-16",
52 .netname = &.{},
53 .netkey = &.{
54 0x6b, 0x65, 0x79, 0x65, 0x64, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
55 0x6b,
56 },
57 .size = 16,
58 .ifac_key = &.{
59 0x23, 0x62, 0x4e, 0xdd, 0xbf, 0x7d, 0x52, 0xaa, 0x79, 0xc5, 0xe5, 0x07,
60 0xa3, 0x3b, 0x71, 0x01, 0x21, 0xf8, 0x8b, 0xf8, 0xf8, 0x39, 0xb6, 0x94,
61 0x98, 0x9b, 0xca, 0x66, 0xfa, 0xb0, 0xfc, 0xa6, 0xfc, 0xc6, 0x43, 0xc0,
62 0x8f, 0x4f, 0x47, 0x06, 0x7b, 0xc8, 0x46, 0xad, 0x06, 0x41, 0x41, 0x8f,
63 0xd8, 0xe8, 0x32, 0x78, 0x50, 0x98, 0x3b, 0x62, 0x35, 0xbe, 0xfc, 0x6b,
64 0xcf, 0xc7, 0x5a, 0x73,
65 },
66 .raw = &.{
67 0x40, 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68, 0x8d, 0xb2, 0xd7,
68 0xfc, 0x21, 0x46, 0x6b, 0x90, 0xb5, 0xda, 0xff, 0x24, 0x49, 0x6e, 0x93,
69 0xb8, 0xdd, 0x02,
70 },
71 .masked = &.{
72 0xc3, 0x7e, 0x7a, 0x63, 0xdc, 0x78, 0x7b, 0x89, 0x62, 0xb8, 0x54, 0x85,
73 0xcc, 0xaf, 0x5b, 0xb9, 0x81, 0x05, 0x72, 0x1d, 0xfc, 0x9e, 0x2e, 0x30,
74 0xe5, 0xa4, 0x83, 0xe6, 0xdf, 0x46, 0xfe, 0xf2, 0x75, 0x36, 0x4c, 0xb0,
75 0xfa, 0xe2, 0x92, 0x4e, 0x09, 0x48, 0x24,
76 },
77 .verdict = "accept",
78 },
79 .{
80 .name = "both-size-16",
81 .netname = &.{
82 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
83 },
84 .netkey = &.{
85 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
86 0x61, 0x73, 0x65,
87 },
88 .size = 16,
89 .ifac_key = &.{
90 0x09, 0x4f, 0xdb, 0xc0, 0x7d, 0x5f, 0xac, 0x6a, 0xd9, 0xfb, 0x0a, 0x41,
91 0x2c, 0xef, 0x8c, 0x1d, 0x20, 0xe9, 0x73, 0x52, 0xb3, 0x27, 0x0b, 0xd7,
92 0x42, 0xdd, 0x6b, 0xf6, 0x27, 0xb8, 0xb0, 0x3d, 0xe3, 0xbe, 0x1d, 0xa6,
93 0xf7, 0x31, 0x71, 0x44, 0x96, 0xf8, 0xc4, 0x8f, 0x97, 0x3c, 0x2d, 0xea,
94 0xc4, 0x0d, 0x66, 0xc5, 0x8c, 0x88, 0x39, 0x51, 0xaf, 0x8d, 0xe2, 0x89,
95 0xaa, 0x53, 0xed, 0xcf,
96 },
97 .raw = &.{
98 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68, 0x8d, 0xb2, 0xd7, 0xfc,
99 0x21, 0x46, 0x6b, 0x90, 0xb5, 0xda, 0xff, 0x24, 0x49, 0x6e, 0x93, 0xb8,
100 0xdd, 0x02, 0x27, 0x4c, 0x71, 0x96, 0xbb, 0xe0, 0x05, 0x2a, 0x4f, 0x74,
101 0x99, 0xbe, 0xe3, 0x08, 0x2d, 0x52, 0x77, 0x9c, 0xc1, 0xe6, 0x0b,
102 },
103 .masked = &.{
104 0xa3, 0xc6, 0xd0, 0x88, 0xe2, 0xe8, 0xe2, 0x6a, 0x8c, 0xf0, 0x4c, 0xaa,
105 0xa5, 0xe8, 0xf6, 0xa2, 0xeb, 0x0d, 0x8c, 0xe8, 0xcc, 0x17, 0x2d, 0x0d,
106 0x12, 0x9e, 0x7b, 0x1c, 0x5a, 0xcd, 0xb7, 0xce, 0xae, 0xf4, 0x90, 0x99,
107 0xdf, 0x08, 0xfe, 0xcf, 0x39, 0x92, 0xcc, 0x8d, 0xaf, 0xfe, 0x37, 0x9d,
108 0xd4, 0x33, 0x30, 0x7a, 0xf6, 0x8d, 0x36, 0xa9, 0x3f, 0xee, 0x41, 0x2a,
109 0x4f, 0xf7, 0xad,
110 },
111 .verdict = "accept",
112 },
113 .{
114 .name = "both-size-1",
115 .netname = &.{
116 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
117 },
118 .netkey = &.{
119 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
120 0x61, 0x73, 0x65,
121 },
122 .size = 1,
123 .ifac_key = &.{
124 0x09, 0x4f, 0xdb, 0xc0, 0x7d, 0x5f, 0xac, 0x6a, 0xd9, 0xfb, 0x0a, 0x41,
125 0x2c, 0xef, 0x8c, 0x1d, 0x20, 0xe9, 0x73, 0x52, 0xb3, 0x27, 0x0b, 0xd7,
126 0x42, 0xdd, 0x6b, 0xf6, 0x27, 0xb8, 0xb0, 0x3d, 0xe3, 0xbe, 0x1d, 0xa6,
127 0xf7, 0x31, 0x71, 0x44, 0x96, 0xf8, 0xc4, 0x8f, 0x97, 0x3c, 0x2d, 0xea,
128 0xc4, 0x0d, 0x66, 0xc5, 0x8c, 0x88, 0x39, 0x51, 0xaf, 0x8d, 0xe2, 0x89,
129 0xaa, 0x53, 0xed, 0xcf,
130 },
131 .raw = &.{
132 0x66, 0x8b, 0xb0, 0xd5, 0xfa, 0x1f, 0x44, 0x69, 0x8e, 0xb3, 0xd8, 0xfd,
133 0x22, 0x47, 0x6c, 0x91, 0xb6, 0xdb, 0x00, 0x25, 0x4a, 0x6f, 0x94, 0xb9,
134 0xde, 0x03, 0x28, 0x4d, 0x72, 0x97, 0xbc,
135 },
136 .masked = &.{
137 0xbc, 0x1f, 0x0a, 0x2d, 0xdf, 0xba, 0x38, 0x0d, 0x79, 0xda, 0xe1, 0x81,
138 0x53, 0x65, 0xc7, 0x57, 0x22, 0xfa, 0xd6, 0x05, 0xa1, 0xbc, 0xc1, 0x52,
139 0x61, 0x40, 0x70, 0x84, 0x56, 0x92, 0xb8, 0x70,
140 },
141 .verdict = "accept",
142 },
143 .{
144 .name = "both-size-64",
145 .netname = &.{
146 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
147 },
148 .netkey = &.{
149 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
150 0x61, 0x73, 0x65,
151 },
152 .size = 64,
153 .ifac_key = &.{
154 0x09, 0x4f, 0xdb, 0xc0, 0x7d, 0x5f, 0xac, 0x6a, 0xd9, 0xfb, 0x0a, 0x41,
155 0x2c, 0xef, 0x8c, 0x1d, 0x20, 0xe9, 0x73, 0x52, 0xb3, 0x27, 0x0b, 0xd7,
156 0x42, 0xdd, 0x6b, 0xf6, 0x27, 0xb8, 0xb0, 0x3d, 0xe3, 0xbe, 0x1d, 0xa6,
157 0xf7, 0x31, 0x71, 0x44, 0x96, 0xf8, 0xc4, 0x8f, 0x97, 0x3c, 0x2d, 0xea,
158 0xc4, 0x0d, 0x66, 0xc5, 0x8c, 0x88, 0x39, 0x51, 0xaf, 0x8d, 0xe2, 0x89,
159 0xaa, 0x53, 0xed, 0xcf,
160 },
161 .raw = &.{
162 0x18, 0xbd, 0xe2, 0x07, 0x2c, 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f,
163 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c, 0xa1, 0xc6, 0xeb,
164 0x10, 0x35, 0x5a, 0x7f, 0xa4, 0xc9, 0xee, 0x13, 0x38, 0x5d, 0x82, 0xa7,
165 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19, 0x3e, 0x63,
166 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x66, 0x8b, 0xb0, 0xd5, 0xfa, 0x1f,
167 0x44, 0x69, 0x8e, 0xb3,
168 },
169 .masked = &.{
170 0xec, 0x5d, 0x3a, 0x1c, 0x4e, 0x5a, 0x09, 0x23, 0xd0, 0x7f, 0x37, 0xda,
171 0x68, 0xc6, 0x73, 0x59, 0x83, 0x8a, 0x9e, 0x60, 0x26, 0x25, 0x1b, 0x4c,
172 0xdf, 0x72, 0x7c, 0xfa, 0x03, 0x62, 0xbf, 0xc3, 0x7b, 0x31, 0x86, 0x3e,
173 0x02, 0x6b, 0x34, 0xa1, 0xbe, 0xd3, 0x5c, 0x3a, 0xe6, 0x23, 0x6a, 0x10,
174 0x11, 0x5b, 0x8c, 0xe3, 0x67, 0x55, 0x54, 0xc0, 0x2f, 0xb3, 0xc4, 0x8e,
175 0x8c, 0x6c, 0x6f, 0x4d, 0xf9, 0x09, 0xac, 0x25, 0x18, 0xd0, 0xcf, 0x72,
176 0x84, 0xa2, 0x50, 0x6a, 0xfe, 0xa5, 0x6b, 0xd4, 0x1d, 0x9f, 0x53, 0x35,
177 0x1d, 0xd2, 0xbe, 0x17, 0x74, 0x96, 0xb7, 0xb9, 0x4a, 0x60, 0x36, 0xcf,
178 0x30, 0x95, 0x4a, 0x79, 0xc2, 0x23, 0x78, 0x6a, 0x70, 0xbb, 0xd6, 0x85,
179 0x92, 0x78, 0x5b, 0x32, 0x65, 0x95, 0xc4, 0x5b, 0xc6, 0xcb, 0xec, 0xe7,
180 0x4a, 0xe1, 0x47, 0xa7, 0xc6, 0x60, 0xb6, 0x7f,
181 },
182 .verdict = "accept",
183 },
184 .{
185 .name = "raw-20-size-16",
186 .netname = &.{
187 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
188 },
189 .netkey = &.{
190 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
191 0x61, 0x73, 0x65,
192 },
193 .size = 16,
194 .ifac_key = &.{
195 0x09, 0x4f, 0xdb, 0xc0, 0x7d, 0x5f, 0xac, 0x6a, 0xd9, 0xfb, 0x0a, 0x41,
196 0x2c, 0xef, 0x8c, 0x1d, 0x20, 0xe9, 0x73, 0x52, 0xb3, 0x27, 0x0b, 0xd7,
197 0x42, 0xdd, 0x6b, 0xf6, 0x27, 0xb8, 0xb0, 0x3d, 0xe3, 0xbe, 0x1d, 0xa6,
198 0xf7, 0x31, 0x71, 0x44, 0x96, 0xf8, 0xc4, 0x8f, 0x97, 0x3c, 0x2d, 0xea,
199 0xc4, 0x0d, 0x66, 0xc5, 0x8c, 0x88, 0x39, 0x51, 0xaf, 0x8d, 0xe2, 0x89,
200 0xaa, 0x53, 0xed, 0xcf,
201 },
202 .raw = &.{
203 0x7d, 0xa2, 0xc7, 0xec, 0x11, 0x36, 0x5b, 0x80, 0xa5, 0xca, 0xef, 0x14,
204 0x39, 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17, 0x3c,
205 },
206 .masked = &.{
207 0xfc, 0x17, 0xd7, 0xd1, 0x6d, 0x98, 0xe1, 0x18, 0x1e, 0x08, 0xa4, 0x79,
208 0x69, 0xf7, 0xce, 0xc4, 0xa6, 0x07, 0xb6, 0x2f, 0x53, 0xab, 0x6f, 0x16,
209 0x5f, 0x09, 0x03, 0x02, 0x20, 0x56, 0x9d, 0xf0, 0xee, 0x18, 0xb6, 0xfb,
210 },
211 .verdict = "accept",
212 },
213 .{
214 .name = "raw-500-size-16",
215 .netname = &.{
216 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
217 },
218 .netkey = &.{
219 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
220 0x61, 0x73, 0x65,
221 },
222 .size = 16,
223 .ifac_key = &.{
224 0x09, 0x4f, 0xdb, 0xc0, 0x7d, 0x5f, 0xac, 0x6a, 0xd9, 0xfb, 0x0a, 0x41,
225 0x2c, 0xef, 0x8c, 0x1d, 0x20, 0xe9, 0x73, 0x52, 0xb3, 0x27, 0x0b, 0xd7,
226 0x42, 0xdd, 0x6b, 0xf6, 0x27, 0xb8, 0xb0, 0x3d, 0xe3, 0xbe, 0x1d, 0xa6,
227 0xf7, 0x31, 0x71, 0x44, 0x96, 0xf8, 0xc4, 0x8f, 0x97, 0x3c, 0x2d, 0xea,
228 0xc4, 0x0d, 0x66, 0xc5, 0x8c, 0x88, 0x39, 0x51, 0xaf, 0x8d, 0xe2, 0x89,
229 0xaa, 0x53, 0xed, 0xcf,
230 },
231 .raw = &.{
232 0x6e, 0x93, 0xb8, 0xdd, 0x02, 0x27, 0x4c, 0x71, 0x96, 0xbb, 0xe0, 0x05,
233 0x2a, 0x4f, 0x74, 0x99, 0xbe, 0xe3, 0x08, 0x2d, 0x52, 0x77, 0x9c, 0xc1,
234 0xe6, 0x0b, 0x30, 0x55, 0x7a, 0x9f, 0xc4, 0xe9, 0x0e, 0x33, 0x58, 0x7d,
235 0xa2, 0xc7, 0xec, 0x11, 0x36, 0x5b, 0x80, 0xa5, 0xca, 0xef, 0x14, 0x39,
236 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17, 0x3c, 0x61, 0x86, 0xab, 0xd0, 0xf5,
237 0x1a, 0x3f, 0x64, 0x89, 0xae, 0xd3, 0xf8, 0x1d, 0x42, 0x67, 0x8c, 0xb1,
238 0xd6, 0xfb, 0x20, 0x45, 0x6a, 0x8f, 0xb4, 0xd9, 0xfe, 0x23, 0x48, 0x6d,
239 0x92, 0xb7, 0xdc, 0x01, 0x26, 0x4b, 0x70, 0x95, 0xba, 0xdf, 0x04, 0x29,
240 0x4e, 0x73, 0x98, 0xbd, 0xe2, 0x07, 0x2c, 0x51, 0x76, 0x9b, 0xc0, 0xe5,
241 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c, 0xa1,
242 0xc6, 0xeb, 0x10, 0x35, 0x5a, 0x7f, 0xa4, 0xc9, 0xee, 0x13, 0x38, 0x5d,
243 0x82, 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19,
244 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x66, 0x8b, 0xb0, 0xd5,
245 0xfa, 0x1f, 0x44, 0x69, 0x8e, 0xb3, 0xd8, 0xfd, 0x22, 0x47, 0x6c, 0x91,
246 0xb6, 0xdb, 0x00, 0x25, 0x4a, 0x6f, 0x94, 0xb9, 0xde, 0x03, 0x28, 0x4d,
247 0x72, 0x97, 0xbc, 0xe1, 0x06, 0x2b, 0x50, 0x75, 0x9a, 0xbf, 0xe4, 0x09,
248 0x2e, 0x53, 0x78, 0x9d, 0xc2, 0xe7, 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5,
249 0xea, 0x0f, 0x34, 0x59, 0x7e, 0xa3, 0xc8, 0xed, 0x12, 0x37, 0x5c, 0x81,
250 0xa6, 0xcb, 0xf0, 0x15, 0x3a, 0x5f, 0x84, 0xa9, 0xce, 0xf3, 0x18, 0x3d,
251 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b, 0x40, 0x65, 0x8a, 0xaf, 0xd4, 0xf9,
252 0x1e, 0x43, 0x68, 0x8d, 0xb2, 0xd7, 0xfc, 0x21, 0x46, 0x6b, 0x90, 0xb5,
253 0xda, 0xff, 0x24, 0x49, 0x6e, 0x93, 0xb8, 0xdd, 0x02, 0x27, 0x4c, 0x71,
254 0x96, 0xbb, 0xe0, 0x05, 0x2a, 0x4f, 0x74, 0x99, 0xbe, 0xe3, 0x08, 0x2d,
255 0x52, 0x77, 0x9c, 0xc1, 0xe6, 0x0b, 0x30, 0x55, 0x7a, 0x9f, 0xc4, 0xe9,
256 0x0e, 0x33, 0x58, 0x7d, 0xa2, 0xc7, 0xec, 0x11, 0x36, 0x5b, 0x80, 0xa5,
257 0xca, 0xef, 0x14, 0x39, 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17, 0x3c, 0x61,
258 0x86, 0xab, 0xd0, 0xf5, 0x1a, 0x3f, 0x64, 0x89, 0xae, 0xd3, 0xf8, 0x1d,
259 0x42, 0x67, 0x8c, 0xb1, 0xd6, 0xfb, 0x20, 0x45, 0x6a, 0x8f, 0xb4, 0xd9,
260 0xfe, 0x23, 0x48, 0x6d, 0x92, 0xb7, 0xdc, 0x01, 0x26, 0x4b, 0x70, 0x95,
261 0xba, 0xdf, 0x04, 0x29, 0x4e, 0x73, 0x98, 0xbd, 0xe2, 0x07, 0x2c, 0x51,
262 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d,
263 0x32, 0x57, 0x7c, 0xa1, 0xc6, 0xeb, 0x10, 0x35, 0x5a, 0x7f, 0xa4, 0xc9,
264 0xee, 0x13, 0x38, 0x5d, 0x82, 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85,
265 0xaa, 0xcf, 0xf4, 0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41,
266 0x66, 0x8b, 0xb0, 0xd5, 0xfa, 0x1f, 0x44, 0x69, 0x8e, 0xb3, 0xd8, 0xfd,
267 0x22, 0x47, 0x6c, 0x91, 0xb6, 0xdb, 0x00, 0x25, 0x4a, 0x6f, 0x94, 0xb9,
268 0xde, 0x03, 0x28, 0x4d, 0x72, 0x97, 0xbc, 0xe1, 0x06, 0x2b, 0x50, 0x75,
269 0x9a, 0xbf, 0xe4, 0x09, 0x2e, 0x53, 0x78, 0x9d, 0xc2, 0xe7, 0x0c, 0x31,
270 0x56, 0x7b, 0xa0, 0xc5, 0xea, 0x0f, 0x34, 0x59, 0x7e, 0xa3, 0xc8, 0xed,
271 0x12, 0x37, 0x5c, 0x81, 0xa6, 0xcb, 0xf0, 0x15, 0x3a, 0x5f, 0x84, 0xa9,
272 0xce, 0xf3, 0x18, 0x3d, 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b, 0x40, 0x65,
273 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68, 0x8d,
274 },
275 .masked = &.{
276 0xef, 0xb8, 0x91, 0x45, 0x82, 0x30, 0x1d, 0x5b, 0x47, 0x16, 0x1f, 0xf8,
277 0xae, 0x0b, 0xdb, 0xa0, 0xdf, 0x0f, 0x13, 0xf6, 0x03, 0x74, 0x6a, 0x66,
278 0x75, 0x5c, 0x51, 0x39, 0xa0, 0x5c, 0xe0, 0xde, 0xba, 0x1f, 0x0d, 0x1b,
279 0x1d, 0x6d, 0xfe, 0x4c, 0x77, 0xf3, 0xda, 0xfe, 0x96, 0xde, 0xd1, 0xd2,
280 0x06, 0x2b, 0x19, 0x02, 0x4e, 0xe0, 0x00, 0x2f, 0x28, 0xf3, 0xae, 0x2e,
281 0x33, 0x33, 0xe0, 0x73, 0x33, 0x2a, 0xb3, 0x0b, 0x8d, 0x8f, 0xe1, 0x91,
282 0x06, 0x03, 0x50, 0xe0, 0x9a, 0x80, 0xeb, 0xe5, 0x86, 0x2d, 0xf9, 0xe8,
283 0x39, 0x8a, 0xb0, 0x63, 0x0b, 0xa1, 0x28, 0x0c, 0xa4, 0x78, 0x3f, 0xc7,
284 0x9b, 0x0c, 0xa5, 0x25, 0x69, 0x33, 0x7b, 0x52, 0x74, 0x05, 0x93, 0x09,
285 0x22, 0x95, 0x70, 0x89, 0xd0, 0xc7, 0xe6, 0x7e, 0xe6, 0x98, 0x06, 0x3f,
286 0x12, 0x5f, 0x42, 0x94, 0x4d, 0x2a, 0xa8, 0x23, 0x8b, 0x5d, 0x66, 0x85,
287 0x4c, 0x4b, 0x78, 0xca, 0x05, 0x38, 0x44, 0x5e, 0x93, 0x1c, 0x0b, 0x04,
288 0x38, 0x36, 0xb4, 0x6c, 0x74, 0xf8, 0xe9, 0x94, 0xc5, 0xb4, 0x42, 0x4f,
289 0x04, 0xcb, 0xe2, 0x19, 0x84, 0x02, 0xce, 0xaf, 0x59, 0xc1, 0xae, 0x8d,
290 0xb9, 0x57, 0x35, 0x68, 0x05, 0xcb, 0xa5, 0x20, 0x85, 0x19, 0xa5, 0x97,
291 0x64, 0x25, 0xf2, 0xd9, 0xf6, 0xac, 0x43, 0x23, 0x47, 0xe0, 0xc3, 0xb0,
292 0x68, 0xcd, 0xeb, 0xde, 0xc3, 0x49, 0x72, 0x0e, 0x55, 0x6e, 0x91, 0x72,
293 0x14, 0xbf, 0x94, 0x6a, 0x8f, 0x4b, 0x74, 0xe4, 0xd4, 0xbd, 0xb2, 0x89,
294 0x48, 0x2e, 0x01, 0xbb, 0x48, 0x35, 0xfb, 0x51, 0xb3, 0x2a, 0x6c, 0x33,
295 0x90, 0x1f, 0xec, 0x4e, 0x6c, 0x64, 0x85, 0xc6, 0x8f, 0xbb, 0x3a, 0x32,
296 0x96, 0x58, 0x23, 0x42, 0x2f, 0xe9, 0xb8, 0xab, 0x3b, 0xc5, 0x42, 0x83,
297 0x7d, 0x0f, 0x56, 0x04, 0xb9, 0x3a, 0x73, 0x83, 0x95, 0xcc, 0x31, 0xc8,
298 0xdc, 0x13, 0xb8, 0x55, 0xd9, 0x86, 0x2f, 0xe4, 0xac, 0xe4, 0x22, 0xac,
299 0xaf, 0x63, 0x6c, 0x30, 0xf9, 0x52, 0x87, 0x86, 0x18, 0xb0, 0x53, 0xc7,
300 0x15, 0x54, 0x3a, 0x2d, 0x6b, 0x11, 0xba, 0x23, 0x17, 0xca, 0xe6, 0xaf,
301 0x3e, 0xf8, 0xc9, 0x2a, 0x0e, 0x3a, 0xcf, 0x0a, 0xbe, 0x02, 0x5d, 0xca,
302 0xc5, 0x71, 0x68, 0xb3, 0x31, 0xe8, 0xc1, 0xff, 0x1b, 0x29, 0xa5, 0x8a,
303 0x09, 0xd2, 0x80, 0x20, 0xc6, 0x5d, 0xf5, 0x57, 0xea, 0x2e, 0xf7, 0x36,
304 0x83, 0x21, 0xc9, 0x49, 0x75, 0x8b, 0x54, 0x8f, 0x75, 0xec, 0x94, 0x33,
305 0xdf, 0x1b, 0xfd, 0x8a, 0xaf, 0x1f, 0xf0, 0xc6, 0xd1, 0x5f, 0x55, 0x3e,
306 0xe5, 0xce, 0x78, 0xed, 0xbf, 0xbe, 0xdc, 0x57, 0x64, 0x45, 0x51, 0xde,
307 0x16, 0x83, 0xd4, 0x92, 0xdb, 0xb6, 0xb8, 0xaa, 0xc8, 0x84, 0x6a, 0x06,
308 0x7e, 0x73, 0x66, 0x5e, 0x77, 0x19, 0x93, 0x99, 0xd0, 0x0a, 0x98, 0x5d,
309 0xb4, 0x50, 0x76, 0x97, 0xab, 0xc2, 0xce, 0xd7, 0x84, 0xa4, 0x6b, 0xac,
310 0x97, 0xbf, 0x35, 0xda, 0xaa, 0x38, 0x8f, 0x48, 0x39, 0x6c, 0x51, 0x85,
311 0xf0, 0x04, 0x88, 0x8c, 0xba, 0x73, 0x53, 0xae, 0x03, 0x9e, 0xf4, 0xc7,
312 0x19, 0x42, 0x7f, 0x10, 0x26, 0xe3, 0xb4, 0xc0, 0x51, 0x20, 0xb8, 0x6b,
313 0x30, 0x42, 0xa1, 0xaa, 0x6c, 0x08, 0x23, 0x8a, 0xf4, 0x0a, 0xc6, 0xc9,
314 0xd9, 0xb5, 0xaf, 0x77, 0x33, 0x01, 0x3c, 0xff, 0x21, 0x39, 0x7a, 0x66,
315 0xa9, 0x99, 0x2d, 0xf6, 0xb1, 0x78, 0x4d, 0xba, 0xdc, 0x01, 0xf8, 0xc3,
316 0xef, 0xca, 0x74, 0x46, 0x5d, 0x32, 0xfd, 0x83, 0x46, 0x3c, 0x57, 0x25,
317 0x27, 0xce, 0x0f, 0x59, 0x8c, 0x35, 0xd4, 0xa0, 0x55, 0xab, 0x79, 0xed,
318 0x8d, 0x6d, 0x16, 0x87, 0xad, 0x8b, 0x1f, 0x45, 0x8f, 0x7e, 0xa5, 0x01,
319 },
320 .verdict = "accept",
321 },
322 .{
323 .name = "tamper-payload",
324 .netname = &.{
325 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
326 },
327 .netkey = &.{
328 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
329 0x61, 0x73, 0x65,
330 },
331 .size = 16,
332 .ifac_key = &.{
333 0x09, 0x4f, 0xdb, 0xc0, 0x7d, 0x5f, 0xac, 0x6a, 0xd9, 0xfb, 0x0a, 0x41,
334 0x2c, 0xef, 0x8c, 0x1d, 0x20, 0xe9, 0x73, 0x52, 0xb3, 0x27, 0x0b, 0xd7,
335 0x42, 0xdd, 0x6b, 0xf6, 0x27, 0xb8, 0xb0, 0x3d, 0xe3, 0xbe, 0x1d, 0xa6,
336 0xf7, 0x31, 0x71, 0x44, 0x96, 0xf8, 0xc4, 0x8f, 0x97, 0x3c, 0x2d, 0xea,
337 0xc4, 0x0d, 0x66, 0xc5, 0x8c, 0x88, 0x39, 0x51, 0xaf, 0x8d, 0xe2, 0x89,
338 0xaa, 0x53, 0xed, 0xcf,
339 },
340 .raw = &.{
341 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68, 0x8d, 0xb2, 0xd7, 0xfc,
342 0x21, 0x46, 0x6b, 0x90, 0xb5, 0xda, 0xff, 0x24, 0x49, 0x6e, 0x93, 0xb8,
343 0xdd, 0x02, 0x27, 0x4c, 0x71, 0x96, 0xbb, 0xe0, 0x05, 0x2a, 0x4f, 0x74,
344 0x99, 0xbe, 0xe3, 0x08, 0x2d, 0x52, 0x77, 0x9c, 0xc1, 0xe6, 0x0b,
345 },
346 .masked = &.{
347 0xa3, 0xc6, 0xd0, 0x88, 0xe2, 0xe8, 0xe2, 0x6a, 0x8c, 0xf0, 0x4c, 0xaa,
348 0xa5, 0xe8, 0xf6, 0xa2, 0xeb, 0x0d, 0x8c, 0xe8, 0xcc, 0x17, 0x2d, 0x0d,
349 0x12, 0x9e, 0x7b, 0x1c, 0x5a, 0xcd, 0xb7, 0xce, 0xae, 0xf4, 0x90, 0x99,
350 0xdf, 0x08, 0xfe, 0xcf, 0x39, 0x92, 0xcc, 0x8d, 0xaf, 0xfe, 0x37, 0x9d,
351 0xd4, 0x33, 0x30, 0x7a, 0xf6, 0x8d, 0x36, 0xa9, 0x3f, 0xee, 0x41, 0x2a,
352 0x4f, 0xf7, 0xac,
353 },
354 .verdict = "invalid-code",
355 },
356 .{
357 .name = "missing-flag",
358 .netname = &.{
359 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
360 },
361 .netkey = &.{
362 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
363 0x61, 0x73, 0x65,
364 },
365 .size = 16,
366 .ifac_key = &.{
367 0x09, 0x4f, 0xdb, 0xc0, 0x7d, 0x5f, 0xac, 0x6a, 0xd9, 0xfb, 0x0a, 0x41,
368 0x2c, 0xef, 0x8c, 0x1d, 0x20, 0xe9, 0x73, 0x52, 0xb3, 0x27, 0x0b, 0xd7,
369 0x42, 0xdd, 0x6b, 0xf6, 0x27, 0xb8, 0xb0, 0x3d, 0xe3, 0xbe, 0x1d, 0xa6,
370 0xf7, 0x31, 0x71, 0x44, 0x96, 0xf8, 0xc4, 0x8f, 0x97, 0x3c, 0x2d, 0xea,
371 0xc4, 0x0d, 0x66, 0xc5, 0x8c, 0x88, 0x39, 0x51, 0xaf, 0x8d, 0xe2, 0x89,
372 0xaa, 0x53, 0xed, 0xcf,
373 },
374 .raw = &.{
375 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68, 0x8d, 0xb2, 0xd7, 0xfc,
376 0x21, 0x46, 0x6b, 0x90, 0xb5, 0xda, 0xff, 0x24, 0x49, 0x6e, 0x93, 0xb8,
377 0xdd, 0x02, 0x27, 0x4c, 0x71, 0x96, 0xbb, 0xe0, 0x05, 0x2a, 0x4f, 0x74,
378 0x99, 0xbe, 0xe3, 0x08, 0x2d, 0x52, 0x77, 0x9c, 0xc1, 0xe6, 0x0b,
379 },
380 .masked = &.{
381 0x23, 0xc6, 0xd0, 0x88, 0xe2, 0xe8, 0xe2, 0x6a, 0x8c, 0xf0, 0x4c, 0xaa,
382 0xa5, 0xe8, 0xf6, 0xa2, 0xeb, 0x0d, 0x8c, 0xe8, 0xcc, 0x17, 0x2d, 0x0d,
383 0x12, 0x9e, 0x7b, 0x1c, 0x5a, 0xcd, 0xb7, 0xce, 0xae, 0xf4, 0x90, 0x99,
384 0xdf, 0x08, 0xfe, 0xcf, 0x39, 0x92, 0xcc, 0x8d, 0xaf, 0xfe, 0x37, 0x9d,
385 0xd4, 0x33, 0x30, 0x7a, 0xf6, 0x8d, 0x36, 0xa9, 0x3f, 0xee, 0x41, 0x2a,
386 0x4f, 0xf7, 0xad,
387 },
388 .verdict = "missing-flag",
389 },
390 .{
391 .name = "truncated",
392 .netname = &.{
393 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
394 },
395 .netkey = &.{
396 0x74, 0x69, 0x6e, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72,
397 0x61, 0x73, 0x65,
398 },
399 .size = 16,
400 .ifac_key = &.{
401 0x09, 0x4f, 0xdb, 0xc0, 0x7d, 0x5f, 0xac, 0x6a, 0xd9, 0xfb, 0x0a, 0x41,
402 0x2c, 0xef, 0x8c, 0x1d, 0x20, 0xe9, 0x73, 0x52, 0xb3, 0x27, 0x0b, 0xd7,
403 0x42, 0xdd, 0x6b, 0xf6, 0x27, 0xb8, 0xb0, 0x3d, 0xe3, 0xbe, 0x1d, 0xa6,
404 0xf7, 0x31, 0x71, 0x44, 0x96, 0xf8, 0xc4, 0x8f, 0x97, 0x3c, 0x2d, 0xea,
405 0xc4, 0x0d, 0x66, 0xc5, 0x8c, 0x88, 0x39, 0x51, 0xaf, 0x8d, 0xe2, 0x89,
406 0xaa, 0x53, 0xed, 0xcf,
407 },
408 .raw = &.{
409 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68, 0x8d, 0xb2, 0xd7, 0xfc,
410 0x21, 0x46, 0x6b, 0x90, 0xb5, 0xda, 0xff, 0x24, 0x49, 0x6e, 0x93, 0xb8,
411 0xdd, 0x02, 0x27, 0x4c, 0x71, 0x96, 0xbb, 0xe0, 0x05, 0x2a, 0x4f, 0x74,
412 0x99, 0xbe, 0xe3, 0x08, 0x2d, 0x52, 0x77, 0x9c, 0xc1, 0xe6, 0x0b,
413 },
414 .masked = &.{
415 0xa3, 0xc6, 0xd0, 0x88, 0xe2, 0xe8, 0xe2, 0x6a, 0x8c, 0xf0, 0x4c, 0xaa,
416 0xa5, 0xe8, 0xf6, 0xa2, 0xeb, 0x0d,
417 },
418 .verdict = "truncated",
419 },
420 };