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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
|
// -------------------- OR VECTORS (Relaying)
//
// Generated by python implementation.
#[allow(clippy::type_complexity)]
#[rustfmt::skip]
const CGO_RELAY_TEST_VECTORS: &[(bool, (&str,&str,&str), &str, &str, &str, ((&str, &str, &str), (&str, &str)))] = &[
// All zeros, inbound
(
// Inbound
True,
// R = (K, N, T')
("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "00000000000000000000000000000000", "00000000000000000000000000000000"),
// AD
"00",
// T
"00000000000000000000000000000000",
// C
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
// Output=(R', (T_out, C_out))
(("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "00000000000000000000000000000000", "66e94bd4ef8a2c3b884cfa59ca342b2e"), ("66e94bd4ef8a2c3b884cfa59ca342b2e", "66e94bd4ef8a2c3b884cfa59ca342b2e58e2fccefa7e3061367f1d57a4e7455a0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d527029195b84d1b96c690ff2f2de30bf2ec89e00253786e126504f0dab90c48a30321de3345e6b0461e7c9e6c6b7afedde83f40deb3fa6794f8fd8f55a88dcbda9d68f2137cc9c83420077e7cf28ab2696b0df05d11452b58ac50aa2eb3a195b61b87e5c65a6dd5d7f7a84065d5a17ff46273086002496db63fa4b91bee387fa3030c95a73f8d0437e0915fbce5d7a62d8dab0a58b2431bc0bede02550f40238969ec780410befccde6944b69dd007debe39a9dbc5e24f519a4bdf478b1d9ec0b67125f28b06efaa55d79412ad628d45089c3c304f94db3a21df6cdaf6d2e2e3b355441eff64ad90527e752a4b2ebb4d0a1070ce2e2982e272fdb7cf4b584b095a0f957fdb828689437e37dc48b2ad379c6f3c6e957ee77afb88c65949ba12eec45c22865e4907ae42aee813898acdf91e2e4c21d828e0a76de2bb6bb6f869e5eef1f618dedd27562812b9a14e8996a5c352df3817e60d6ec20119a52c80a61ec195622627240212decca515feab63e2734587948a836a7de205cfec0c288351c")),
),
// All zeros, outbound
(
// Inbound
False,
// R = (K, N, T')
("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "00000000000000000000000000000000", "00000000000000000000000000000000"),
// AD
"00",
// T
"00000000000000000000000000000000",
// C
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
// Output=(R', (T_out, C_out))
(("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "00000000000000000000000000000000", "66e94bd4ef8a2c3b884cfa59ca342b2e"), ("66e94bd4ef8a2c3b884cfa59ca342b2e", "66e94bd4ef8a2c3b884cfa59ca342b2e58e2fccefa7e3061367f1d57a4e7455a0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d527029195b84d1b96c690ff2f2de30bf2ec89e00253786e126504f0dab90c48a30321de3345e6b0461e7c9e6c6b7afedde83f40deb3fa6794f8fd8f55a88dcbda9d68f2137cc9c83420077e7cf28ab2696b0df05d11452b58ac50aa2eb3a195b61b87e5c65a6dd5d7f7a84065d5a17ff46273086002496db63fa4b91bee387fa3030c95a73f8d0437e0915fbce5d7a62d8dab0a58b2431bc0bede02550f40238969ec780410befccde6944b69dd007debe39a9dbc5e24f519a4bdf478b1d9ec0b67125f28b06efaa55d79412ad628d45089c3c304f94db3a21df6cdaf6d2e2e3b355441eff64ad90527e752a4b2ebb4d0a1070ce2e2982e272fdb7cf4b584b095a0f957fdb828689437e37dc48b2ad379c6f3c6e957ee77afb88c65949ba12eec45c22865e4907ae42aee813898acdf91e2e4c21d828e0a76de2bb6bb6f869e5eef1f618dedd27562812b9a14e8996a5c352df3817e60d6ec20119a52c80a61ec195622627240212decca515feab63e2734587948a836a7de205cfec0c288351c")),
),
// All ones, inbound
(
// Inbound
True,
// R = (K, N, T')
("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "ffffffffffffffffffffffffffffffff", "ffffffffffffffffffffffffffffffff"),
// AD
"ff",
// T
"ffffffffffffffffffffffffffffffff",
// C
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
// Output=(R', (T_out, C_out))
(("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "ffffffffffffffffffffffffffffffff", "7209baed4b605b158b7eb25de2200e83"), ("7209baed4b605b158b7eb25de2200e83", "3fdc18066b5d503f8c98e83be033b6fba905324267618cc6989b486e0decf7cc897d17be093286a4d4fb5016c3e3323ccc416a30473081473bd471e430194ec4e2ac0af3bca0577b78f4c70e4dce9a3b2151d493584db307eae803cd73aa5a582a233bd9ff194e5418580a1f79a5533e1ec3686d5a0c196ddb9a55aee47e9c7020782ade85cfe15664f21244c6c04c198c26dfd9f25d9db796b995e42195861ac02d0966c5a12487e8b70ea6f0160cb649df33d239801a7067cb3a60b76402cc17d1394387a8f91866da3aa61cd79f74f64e850eeeef22c6a002e233e851c231cb50ca7a2dbb9778b34f68b9cb338b3d322b35b5255155d03d3b68b9d5a8223d0cdc770a7489f93a46cea8e4a5915a2c374d71c1809d735589ab26b2d420ce6196d93b43d0e7c1db651276b2f8c387dbb6c6e643ddf8ed58e17e3daa719a9b6f53f6f21cd1f278876e4ad639511cb775f5328a4f7bf6875e73f886c36f277866eac696a389649d96c76899556c5a045a5e26e2a1dd0a5071f23cc37c49bfac896d471239d6b9bea5f48050a18f1f99a1fdbf0743a9d6c13c9a4d60c3405d56ce948623ebdb5d2ee15390b47ea7070c4b4db92fa5a23a86360cfb6cd30c9e95d7f132d3067f3d9e2cfed91b6c7c782596b5403a73a842c79f296da2719493e63547b82f72474d806f8e246d73e8")),
),
// All ones, outbound
(
// Inbound
False,
// R = (K, N, T')
("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "ffffffffffffffffffffffffffffffff", "ffffffffffffffffffffffffffffffff"),
// AD
"ff",
// T
"ffffffffffffffffffffffffffffffff",
// C
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
// Output=(R', (T_out, C_out))
(("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "ffffffffffffffffffffffffffffffff", "7209baed4b605b158b7eb25de2200e83"), ("7209baed4b605b158b7eb25de2200e83", "3fdc18066b5d503f8c98e83be033b6fba905324267618cc6989b486e0decf7cc897d17be093286a4d4fb5016c3e3323ccc416a30473081473bd471e430194ec4e2ac0af3bca0577b78f4c70e4dce9a3b2151d493584db307eae803cd73aa5a582a233bd9ff194e5418580a1f79a5533e1ec3686d5a0c196ddb9a55aee47e9c7020782ade85cfe15664f21244c6c04c198c26dfd9f25d9db796b995e42195861ac02d0966c5a12487e8b70ea6f0160cb649df33d239801a7067cb3a60b76402cc17d1394387a8f91866da3aa61cd79f74f64e850eeeef22c6a002e233e851c231cb50ca7a2dbb9778b34f68b9cb338b3d322b35b5255155d03d3b68b9d5a8223d0cdc770a7489f93a46cea8e4a5915a2c374d71c1809d735589ab26b2d420ce6196d93b43d0e7c1db651276b2f8c387dbb6c6e643ddf8ed58e17e3daa719a9b6f53f6f21cd1f278876e4ad639511cb775f5328a4f7bf6875e73f886c36f277866eac696a389649d96c76899556c5a045a5e26e2a1dd0a5071f23cc37c49bfac896d471239d6b9bea5f48050a18f1f99a1fdbf0743a9d6c13c9a4d60c3405d56ce948623ebdb5d2ee15390b47ea7070c4b4db92fa5a23a86360cfb6cd30c9e95d7f132d3067f3d9e2cfed91b6c7c782596b5403a73a842c79f296da2719493e63547b82f72474d806f8e246d73e8")),
),
// Pseudorandom 1, inbound
(
// Inbound
True,
// R = (K, N, T')
("3ab14ee71f417dc6cba5aaaba8eff9c3cd5f408020b4e8586ff734dad4aff593f4d863afbc519eba44d6e8643ae3fabf7ba8cd0803094d82b18acb03c1207927", "e616de4990c8efc5e58131f635f35776", "310495f73b4d20f4d8069bb1d2ed5638"),
// AD
"88",
// T
"5de86524ea1542e8f1b8ea118c12d1fd",
// C
"43f965f6b01b939d972a2b9bd3b2cefe4315da3f97b51af875dc7717b97d9ac37c9e18e4a00fdcc65dde90ebd6c2909fa3e1d83cb07863596408f94334522c1e04688855c44dbee3bad7ab2872c1b87493766c6e0639bcdbbb2717be2d848c37ef034607f6b05facec43f5c1ef99a78631ab8387385cf0b272b0759513807451c63b4ba7f8908e5822b43bea59013c4bba59ab70dd9951ad1d015ccc9b4067aa02cc40d530e2e2bc473906f03a69f5f92183d2094af98edd23199940572edf095a42ec9be535982d6bdf8e525cf2a26011082d0ad019bd3580be817b1049db2e3ca35ee1212b15faa2c35bd4b342c930cc44e77336d84fcbd36454aa3a3cd7961047b58fd26383d1fbe0beb250f8389c1e949728d3d8218b36f4989e3499ced2e660b7ed6a5edb51a36f2fe9f32238f1a318141fcb3bed2c8a34efb5f98b8bccf2548fb542826e6abf3db576ccb064c905c246ecb4ecd5d638e7d3705b549df99de126227485f8dcb499dabc6f3e5d9735a70f1073f708293b2855dd64c981bdfceb8c75bd7d692f7a2d26f453c302d4593af2bb17a785d52bc87914f62056326dbedb8b5d45333dc7fca8d5eea986b1c19ff122b60c74f9220a3eaddf0f40ee105fee1c336c93afef1804a81bb57f918dbd7ef220428dd26c6d83c95e6adcec8f997b8ed810dcdc0bb3867f37",
// Output=(R', (T_out, C_out))
(("3ab14ee71f417dc6cba5aaaba8eff9c3cd5f408020b4e8586ff734dad4aff593f4d863afbc519eba44d6e8643ae3fabf7ba8cd0803094d82b18acb03c1207927", "e616de4990c8efc5e58131f635f35776", "84fe1db6790ae6e32e418a70bb70d695"), ("84fe1db6790ae6e32e418a70bb70d695", "21aabbe5f6c71165beab7bae27b3ce4e0ea0b313085a169f6a675d728940a7a51aa9a152bed530e2912775fa217ffe73a173a5556a35c1e4056f8a6bca62c81cd6ae04197034d7d8d1585063220930c35a11ad5286a36dc92cbdff478e85937f863012475df36ade160827049afbbd6e1e24bf636a6837887b5b68e02c4d99492dcc62900cc46c70293c45ddcb1aa44320b71fce6cf2a553dfde70f08864ae474edd1b6ee4eef37e6936adffc2cc6109ad61d2cfe7eca365bb2303d89b09b8d0468da515cd1ed27313a081eb423faae1d522bbce06f33053edf18ce1f66e733e0d6fbfe53d774c273deb64f77d28ba77558216a49e2363d28930d2fd6d9eb9b0ebe8ecb630f97e3ec1453196ad517aee4d230ad350d11897511938b443ecc50629973a8344633cb737a50511fcfb99e3329ccfebe4b1b598589657b4b5a0f1be3399a8859e90c5c4d0840036c80ce3f97a273d2b48332c51d11f320be3a72a5ffb9632710efad1b7b972ed247265ea72fdb79762bd4318cbb7fecc7b52fdbd940d4840856dd7de95780ff58ae89c1de4d5ab35bc9718ebc56c106b33f7bd9773267d2f88a0e4a77b33ddf29d408fa090a0f96d8fbf2076ae691c0c04aa04c102c07f755eafa9d961a1dcc65e2b4000b3a1c340dbc742092f9799d023afd01f057b6aa21d714644501924edca47")),
),
// Pseudorandom 1, outbound
(
// Inbound
False,
// R = (K, N, T')
("3ab14ee71f417dc6cba5aaaba8eff9c3cd5f408020b4e8586ff734dad4aff593f4d863afbc519eba44d6e8643ae3fabf7ba8cd0803094d82b18acb03c1207927", "e616de4990c8efc5e58131f635f35776", "310495f73b4d20f4d8069bb1d2ed5638"),
// AD
"88",
// T
"5de86524ea1542e8f1b8ea118c12d1fd",
// C
"43f965f6b01b939d972a2b9bd3b2cefe4315da3f97b51af875dc7717b97d9ac37c9e18e4a00fdcc65dde90ebd6c2909fa3e1d83cb07863596408f94334522c1e04688855c44dbee3bad7ab2872c1b87493766c6e0639bcdbbb2717be2d848c37ef034607f6b05facec43f5c1ef99a78631ab8387385cf0b272b0759513807451c63b4ba7f8908e5822b43bea59013c4bba59ab70dd9951ad1d015ccc9b4067aa02cc40d530e2e2bc473906f03a69f5f92183d2094af98edd23199940572edf095a42ec9be535982d6bdf8e525cf2a26011082d0ad019bd3580be817b1049db2e3ca35ee1212b15faa2c35bd4b342c930cc44e77336d84fcbd36454aa3a3cd7961047b58fd26383d1fbe0beb250f8389c1e949728d3d8218b36f4989e3499ced2e660b7ed6a5edb51a36f2fe9f32238f1a318141fcb3bed2c8a34efb5f98b8bccf2548fb542826e6abf3db576ccb064c905c246ecb4ecd5d638e7d3705b549df99de126227485f8dcb499dabc6f3e5d9735a70f1073f708293b2855dd64c981bdfceb8c75bd7d692f7a2d26f453c302d4593af2bb17a785d52bc87914f62056326dbedb8b5d45333dc7fca8d5eea986b1c19ff122b60c74f9220a3eaddf0f40ee105fee1c336c93afef1804a81bb57f918dbd7ef220428dd26c6d83c95e6adcec8f997b8ed810dcdc0bb3867f37",
// Output=(R', (T_out, C_out))
(("3ab14ee71f417dc6cba5aaaba8eff9c3cd5f408020b4e8586ff734dad4aff593f4d863afbc519eba44d6e8643ae3fabf7ba8cd0803094d82b18acb03c1207927", "e616de4990c8efc5e58131f635f35776", "84fe1db6790ae6e32e418a70bb70d695"), ("84fe1db6790ae6e32e418a70bb70d695", "21aabbe5f6c71165beab7bae27b3ce4e0ea0b313085a169f6a675d728940a7a51aa9a152bed530e2912775fa217ffe73a173a5556a35c1e4056f8a6bca62c81cd6ae04197034d7d8d1585063220930c35a11ad5286a36dc92cbdff478e85937f863012475df36ade160827049afbbd6e1e24bf636a6837887b5b68e02c4d99492dcc62900cc46c70293c45ddcb1aa44320b71fce6cf2a553dfde70f08864ae474edd1b6ee4eef37e6936adffc2cc6109ad61d2cfe7eca365bb2303d89b09b8d0468da515cd1ed27313a081eb423faae1d522bbce06f33053edf18ce1f66e733e0d6fbfe53d774c273deb64f77d28ba77558216a49e2363d28930d2fd6d9eb9b0ebe8ecb630f97e3ec1453196ad517aee4d230ad350d11897511938b443ecc50629973a8344633cb737a50511fcfb99e3329ccfebe4b1b598589657b4b5a0f1be3399a8859e90c5c4d0840036c80ce3f97a273d2b48332c51d11f320be3a72a5ffb9632710efad1b7b972ed247265ea72fdb79762bd4318cbb7fecc7b52fdbd940d4840856dd7de95780ff58ae89c1de4d5ab35bc9718ebc56c106b33f7bd9773267d2f88a0e4a77b33ddf29d408fa090a0f96d8fbf2076ae691c0c04aa04c102c07f755eafa9d961a1dcc65e2b4000b3a1c340dbc742092f9799d023afd01f057b6aa21d714644501924edca47")),
),
// Pseudorandom 2, inbound
(
// Inbound
True,
// R = (K, N, T')
("302b0f1333b68c8c2c367b1aa02701e07f715b2fc28f34e124893657a98d5442339c9dc55adec43305e5c03e0b9ac69d35f31e92c6bf9aa066607895b453b89e", "02899ad22f2f01d8768323613476c78c", "db34fd587ddf145c5aa1ac58bef5756d"),
// AD
"ab",
// T
"867464943ada7a8decef75a961214f9a",
// C
"0f0cfeed7dcd312b7b769cc859b20a8e18da16451925a0153ae6a57226fec6b2048dea4584e47e078ecbce0f2ca6413a2bb4e30fd6628a036d1749556adb012d110e23c979dc26c2aee3f24bf2ccf27cfd6d294073a20e9c4c5401c09bc4b2e38b6002b2b320b408b99798db1222034813fd70723a141de5a11679a56b704b1cd8751e919565ea129ce1f9fc2883c7d4cac0d8fd4da61d57501788105ef0d622fca6bfbf72b11a3a03d388c99e4aea582db920872be152bf89dc672383263936d93c0c9915db9b103cbcff5e90f4d9dbae0c4ea8e8464332b9ffaa478735faee477e28355be86f572e2ccca91e60e1874edd1d592b0f4f625276dd5a270a830147365c3fa20168088477c08c56352015ee962d1ce6d24456c96b649921ecffbafa21ff713e2d0da18f2e72e49830ada7878b7fba8eb3700c1db10cbd62ddd6bf1350374a10df5578e6b0774b510d15f11bbe95fd3ed87a8bd68c5110621e12d708f266ee8e48979e2d0fb222c008faea9d9f4ae14951301f9359ed133c5328e6fdd817e83ad84341500752b052bea6432841c801ffd68856c597dc0ce006c89222f1173194044de3d0f75b670923c4de63c683de97990af9430f83ba7510220f56a46e8a47b6ee46a4fcc132d33e059dc3783e3dfe2ecd673588feeb4af5945e18693238520aada42ab371ff4e",
// Output=(R', (T_out, C_out))
(("302b0f1333b68c8c2c367b1aa02701e07f715b2fc28f34e124893657a98d5442339c9dc55adec43305e5c03e0b9ac69d35f31e92c6bf9aa066607895b453b89e", "02899ad22f2f01d8768323613476c78c", "61637a70ae9a95105b1e78ff6892e60e"), ("61637a70ae9a95105b1e78ff6892e60e", "d6b4e6a8271a1f8dfec7e20c891ee90dd0e373556dedaa9549f5c568493fc7d92a43443ca083ff2c2e0df4d95824bc312f3fcab7babca83078e2bf9dd63388380c8be5182a0238c590cabc57423a5959a3c3ecf3b8634085eb4e6588e24ef52ca111adb25004c27274fffd3470acccef285e536d8e603b47f8720393c1eda75863eee4f69aaa260b17d90fb5f31d5e4da3a7987d03ca5244df6597a186fcfb071f27cc889fe02ef63e2eeaf40d3d61f96bbfc09edc5ada1122f2a05e7724d8a3bbe6795f66a56911303e960ba46756d48dc6a54cb6306c82be27f6de954d3c4e55b8399ad48bd1428aa034d142ee093a9c68cf0b97e0dd0c4e435b20d80f3abeea836144b84540aa5268c5c06a4333e10ca2398823d732d7a4f5120e0056a5662d90d1eaa8d3412875a192a10e6265a45afed9be08b8263f446a024f6b9243acd0d2cc066ab7c335f87259998280fd53cd8fdf3a3e0887f67760dcd46353a5dc0dda4c00e726574ba8f62eb6313c3b53539c7a44c3bd996c9dc87bb14636ebee351ca08dcf08138bb7ac96c9487588ff16c03bc2868f763403c1f9d788166508d8b1103af51ee406bdd5ea9aca862dca748ceb191953c1d69049005b69bad44103b401a9140b5be803e5f145e095500bfe00be5de615a9a6b05403250237ee4ece99e74efabd68215766a21245")),
),
// Pseudorandom 2, outbound
(
// Inbound
False,
// R = (K, N, T')
("302b0f1333b68c8c2c367b1aa02701e07f715b2fc28f34e124893657a98d5442339c9dc55adec43305e5c03e0b9ac69d35f31e92c6bf9aa066607895b453b89e", "02899ad22f2f01d8768323613476c78c", "db34fd587ddf145c5aa1ac58bef5756d"),
// AD
"ab",
// T
"867464943ada7a8decef75a961214f9a",
// C
"0f0cfeed7dcd312b7b769cc859b20a8e18da16451925a0153ae6a57226fec6b2048dea4584e47e078ecbce0f2ca6413a2bb4e30fd6628a036d1749556adb012d110e23c979dc26c2aee3f24bf2ccf27cfd6d294073a20e9c4c5401c09bc4b2e38b6002b2b320b408b99798db1222034813fd70723a141de5a11679a56b704b1cd8751e919565ea129ce1f9fc2883c7d4cac0d8fd4da61d57501788105ef0d622fca6bfbf72b11a3a03d388c99e4aea582db920872be152bf89dc672383263936d93c0c9915db9b103cbcff5e90f4d9dbae0c4ea8e8464332b9ffaa478735faee477e28355be86f572e2ccca91e60e1874edd1d592b0f4f625276dd5a270a830147365c3fa20168088477c08c56352015ee962d1ce6d24456c96b649921ecffbafa21ff713e2d0da18f2e72e49830ada7878b7fba8eb3700c1db10cbd62ddd6bf1350374a10df5578e6b0774b510d15f11bbe95fd3ed87a8bd68c5110621e12d708f266ee8e48979e2d0fb222c008faea9d9f4ae14951301f9359ed133c5328e6fdd817e83ad84341500752b052bea6432841c801ffd68856c597dc0ce006c89222f1173194044de3d0f75b670923c4de63c683de97990af9430f83ba7510220f56a46e8a47b6ee46a4fcc132d33e059dc3783e3dfe2ecd673588feeb4af5945e18693238520aada42ab371ff4e",
// Output=(R', (T_out, C_out))
(("302b0f1333b68c8c2c367b1aa02701e07f715b2fc28f34e124893657a98d5442339c9dc55adec43305e5c03e0b9ac69d35f31e92c6bf9aa066607895b453b89e", "02899ad22f2f01d8768323613476c78c", "61637a70ae9a95105b1e78ff6892e60e"), ("61637a70ae9a95105b1e78ff6892e60e", "d6b4e6a8271a1f8dfec7e20c891ee90dd0e373556dedaa9549f5c568493fc7d92a43443ca083ff2c2e0df4d95824bc312f3fcab7babca83078e2bf9dd63388380c8be5182a0238c590cabc57423a5959a3c3ecf3b8634085eb4e6588e24ef52ca111adb25004c27274fffd3470acccef285e536d8e603b47f8720393c1eda75863eee4f69aaa260b17d90fb5f31d5e4da3a7987d03ca5244df6597a186fcfb071f27cc889fe02ef63e2eeaf40d3d61f96bbfc09edc5ada1122f2a05e7724d8a3bbe6795f66a56911303e960ba46756d48dc6a54cb6306c82be27f6de954d3c4e55b8399ad48bd1428aa034d142ee093a9c68cf0b97e0dd0c4e435b20d80f3abeea836144b84540aa5268c5c06a4333e10ca2398823d732d7a4f5120e0056a5662d90d1eaa8d3412875a192a10e6265a45afed9be08b8263f446a024f6b9243acd0d2cc066ab7c335f87259998280fd53cd8fdf3a3e0887f67760dcd46353a5dc0dda4c00e726574ba8f62eb6313c3b53539c7a44c3bd996c9dc87bb14636ebee351ca08dcf08138bb7ac96c9487588ff16c03bc2868f763403c1f9d788166508d8b1103af51ee406bdd5ea9aca862dca748ceb191953c1d69049005b69bad44103b401a9140b5be803e5f145e095500bfe00be5de615a9a6b05403250237ee4ece99e74efabd68215766a21245")),
),
// Pseudorandom 3, inbound
(
// Inbound
True,
// R = (K, N, T')
("f69da975bf0055353e52a8b3fa834b1bcedf1445e4b2f1dca13f59a306e8040ce64d5922b2b9de5735a96e2fa2e9524e99ce5b8888fd000f570f148191bdb54f", "8e4219f5b72d0bbf1f47005632816b36", "c5301aaf38e66f698293618354d06e0a"),
// AD
"90",
// T
"1068897442b5f28092d8be9b34ecda3e",
// C
"727ee8dff3a22ad873545c040d22a67a6caac97c308a0f4109da1a1d67695d9fd7570a27593fefcdc0ce568ff6f8998a03791e12720a86d95110540073e104a86ba14ac9e58705ff20ebfced49a91d832a635924193dbf14ff995da7d4cbb4752d364908c1096606cee429adad73513bfd848fb6132fad9531178b419d4c6670224e858ff0a413b083b58cb6a8297bc7474e48050ac926c3a568df88feb135e9011d26eb2327c0797fd821a9bca3052e116f26844a2a5d23542ea666f2225700dd134cc166e2cd36f88be6a4b367be083e7d7be99a9205489de7ece3308846fcad66dd249ada0c559999fc3dd9e36036831e3e2aa51d0190b227f3bb54b365ea668009298612308361537b66e143fdb5b3da43a6a141910b7daef3dd4c5a819749c1d5d005c3c39bf7d2d749754614e794c51a965694904d30fa5be6fba2360ccf46c4ed2b4829f6434bb8951e82580a4da3d7075d734c4c12560693b9bacb1ce7ee953d7ce9dec24d7a129e8e582a3e2e1168e7b966c2e435b21f9b7ba83e27023b287e7fc420c5934af909e1a3fcb8415347c5ebd30aebaf6fe11cbea60d8dbe78cd54736dcb6a0cab929175417510d0ab2c4688b91c8d75d5a9b51ff15fddeb1a08402dc7748eb5b9d219f4ecb4116be1765a03fd06fc01d8e366b945cf6557257ef0ec2b74619d4e081c89",
// Output=(R', (T_out, C_out))
(("f69da975bf0055353e52a8b3fa834b1bcedf1445e4b2f1dca13f59a306e8040ce64d5922b2b9de5735a96e2fa2e9524e99ce5b8888fd000f570f148191bdb54f", "8e4219f5b72d0bbf1f47005632816b36", "20573d56564e9db280fad345aa3acc95"), ("20573d56564e9db280fad345aa3acc95", "c20a009524b678a8e11e9d35dd50a77b0a6db2b1867118311d75bbe2163f68407f29cebb84de3a756d0c5868d2d39c7a309e7e18d1f034bfb043f54ef2b4641e901057318e8a000fb980da5a8815822e6812760a61e016e286916327f6d2e674eea48daaae7cd672aeb7c3646ef106bf93aca84d345f2b0292f507ab7fa96ce1125e0b694c323c770397e1d1c80b0f0de47713ac263b7623a6c55659ee1cc3f4182c6537039ac011a8b9ed3dcb5881c0b6aed502c54aa2872cdba2284c267785886e0ee212b9e08c80859b874b032c803d71edf6417c41bd5ab3c6b52ade6f0e6f05d9649eb6f20f25f7922e261d1e3b9a4e2d43bf270340948313cc7f6054bce9aa2e613875e0e20767010e7c7b99c7c28ff2113d31c207a747a6d53b8eb3067a7f068deb2eff3c254a085ec99a130e59f8c1bfad96d6a32e9ff3d937bf00c9db40c1adf16e72df0c64f2fb155083ffb25cb78041a8768abd75424f84f98d77bbdcb0c2c350861dd8208816ce9d5bf4779b20f38a90e5450a1a4d64e57cbbe6c4b820dfd6daed18e9d85fbcccae552d144eaed38a7e27735cf15e1d102e287ceef308cf6635c553d9846127e885234492091f6b80d807d5d6467044e7df54c3bbbf982342beacb58128360bc0744e5446d21535b3db5b22e009d7c04405d1b24d379408a1e3d45733cbd039e2")),
),
// Pseudorandom 3, outbound
(
// Inbound
False,
// R = (K, N, T')
("f69da975bf0055353e52a8b3fa834b1bcedf1445e4b2f1dca13f59a306e8040ce64d5922b2b9de5735a96e2fa2e9524e99ce5b8888fd000f570f148191bdb54f", "8e4219f5b72d0bbf1f47005632816b36", "c5301aaf38e66f698293618354d06e0a"),
// AD
"90",
// T
"1068897442b5f28092d8be9b34ecda3e",
// C
"727ee8dff3a22ad873545c040d22a67a6caac97c308a0f4109da1a1d67695d9fd7570a27593fefcdc0ce568ff6f8998a03791e12720a86d95110540073e104a86ba14ac9e58705ff20ebfced49a91d832a635924193dbf14ff995da7d4cbb4752d364908c1096606cee429adad73513bfd848fb6132fad9531178b419d4c6670224e858ff0a413b083b58cb6a8297bc7474e48050ac926c3a568df88feb135e9011d26eb2327c0797fd821a9bca3052e116f26844a2a5d23542ea666f2225700dd134cc166e2cd36f88be6a4b367be083e7d7be99a9205489de7ece3308846fcad66dd249ada0c559999fc3dd9e36036831e3e2aa51d0190b227f3bb54b365ea668009298612308361537b66e143fdb5b3da43a6a141910b7daef3dd4c5a819749c1d5d005c3c39bf7d2d749754614e794c51a965694904d30fa5be6fba2360ccf46c4ed2b4829f6434bb8951e82580a4da3d7075d734c4c12560693b9bacb1ce7ee953d7ce9dec24d7a129e8e582a3e2e1168e7b966c2e435b21f9b7ba83e27023b287e7fc420c5934af909e1a3fcb8415347c5ebd30aebaf6fe11cbea60d8dbe78cd54736dcb6a0cab929175417510d0ab2c4688b91c8d75d5a9b51ff15fddeb1a08402dc7748eb5b9d219f4ecb4116be1765a03fd06fc01d8e366b945cf6557257ef0ec2b74619d4e081c89",
// Output=(R', (T_out, C_out))
(("f69da975bf0055353e52a8b3fa834b1bcedf1445e4b2f1dca13f59a306e8040ce64d5922b2b9de5735a96e2fa2e9524e99ce5b8888fd000f570f148191bdb54f", "8e4219f5b72d0bbf1f47005632816b36", "20573d56564e9db280fad345aa3acc95"), ("20573d56564e9db280fad345aa3acc95", "c20a009524b678a8e11e9d35dd50a77b0a6db2b1867118311d75bbe2163f68407f29cebb84de3a756d0c5868d2d39c7a309e7e18d1f034bfb043f54ef2b4641e901057318e8a000fb980da5a8815822e6812760a61e016e286916327f6d2e674eea48daaae7cd672aeb7c3646ef106bf93aca84d345f2b0292f507ab7fa96ce1125e0b694c323c770397e1d1c80b0f0de47713ac263b7623a6c55659ee1cc3f4182c6537039ac011a8b9ed3dcb5881c0b6aed502c54aa2872cdba2284c267785886e0ee212b9e08c80859b874b032c803d71edf6417c41bd5ab3c6b52ade6f0e6f05d9649eb6f20f25f7922e261d1e3b9a4e2d43bf270340948313cc7f6054bce9aa2e613875e0e20767010e7c7b99c7c28ff2113d31c207a747a6d53b8eb3067a7f068deb2eff3c254a085ec99a130e59f8c1bfad96d6a32e9ff3d937bf00c9db40c1adf16e72df0c64f2fb155083ffb25cb78041a8768abd75424f84f98d77bbdcb0c2c350861dd8208816ce9d5bf4779b20f38a90e5450a1a4d64e57cbbe6c4b820dfd6daed18e9d85fbcccae552d144eaed38a7e27735cf15e1d102e287ceef308cf6635c553d9846127e885234492091f6b80d807d5d6467044e7df54c3bbbf982342beacb58128360bc0744e5446d21535b3db5b22e009d7c04405d1b24d379408a1e3d45733cbd039e2")),
),
// Pseudorandom 4, inbound
(
// Inbound
True,
// R = (K, N, T')
("c8cfbc3158ce80797f50933d28c58e9caebeb8c9f793f3d726cf72de92831985a84ad23f2caec5de54ebe2c157d460d7e8dd769ba9616310b4395da7d8f3e4bd", "86e42a9690a6cabd1d36d0fcd4b9ba74", "b26c4ceaf06e4a3807932301d1c09bcc"),
// AD
"17",
// T
"c9d08a81f69626375467ebb341a7f7e2",
// C
"2ff27866117742f59f6c0712764e1085373368c73f6c5e2bbc9411d83410b2f26048eb60a3a759b1fd64a09fa0f364212ee0df65f29b3639416ebf472918ae64f9f18abf4a44f6a6eb427e5e3dbd2a9c129db871c079e2fbb023de60eaed18beed86c094d4b720fa13cc657d236212f71117282cc9a48bdbfbb4791dce4f98615bde24ded7850c94632ef064fae1acaeb7a52aa86abe328b6b9e793f6ae818a5746b4edc52affb4c28d134c8c781f644929483af03cb112b386a69c2ccbc31164fcb866f09bdd0915a75f824ee2e6c90e24c3ec4f1f094dc12fe34bb40afa13ae60643789da1f401c60907192414881d2f9b7269aafe75cfcaa02e59c1b652d64311084da282ec65e453bc35f119938f759e24b84963472d86e3bea52520f0137460008ec2245b2738606cedbf8166070bd6ae6c32e4eb1b25271f4b378fa229168de15ebce62a101f1bd4f4ccd50fff4ccfdda02193b8e241235a0f72338f26bf4625cc0249a9455be2203e45a5a2f1fb3cad32b63627b992b7c1eaca55443bf2434a9638c2df11c7ccbb4a5f9680246ccec700174a6d5ac4656060589a0a48d8b376361b9458bd8fed28fa749d10e187765eb9c066384215162ec418315682966e62da70590ed2848495a011f15c85abec2dcc097b927a64d7ebe722f0b95b59bd14ac34005ea5a369b29770",
// Output=(R', (T_out, C_out))
(("c8cfbc3158ce80797f50933d28c58e9caebeb8c9f793f3d726cf72de92831985a84ad23f2caec5de54ebe2c157d460d7e8dd769ba9616310b4395da7d8f3e4bd", "86e42a9690a6cabd1d36d0fcd4b9ba74", "516070ae448ab475d810fbc81c196edf"), ("516070ae448ab475d810fbc81c196edf", "dbf3004f96fe90729ae080d2a0008328f87e8e7089c26feaf3439a4b95e531c4fa798b242abbec2f314b330d7a7b8ab71bcf7f4eaa802d58410aff23b6c9c8e2c24348a9614a6a634c00874375292d343ff2bbce9a79845bc2487f919d47d2007ca0879f46397626e6ba2eafbb5e7cab5ed9f639be0800b3f3e65aabf3586864333c40593bb2e32a1ba58dd6a7f0fb1d7f527b8a475af30a7c12628aab995c53309f4575c8c3f2beb3e4c8a2afe9b75750ef33457213cc37576d5862e15f4c9a3e14427429ded7e2f9dc311d60f03200f6f3db446601f0d432ee87e102791618d77a94f2a11646bbf381acb2631486e0ba6d86b82816632b3b360670fdce9f160230b7ddd3a9c306483582257195c2e55adbd3a549f4f2e61090f4179735d26efa8790def204a47896109e64cd2c089aa12a7a6bfdd410f0bb5c7929f8a145a091b9d9794b379e31f63616da0dd01f71ce89c702eef127ef32df3d57c8711d9f944aea7aee8cd56b92871eada8d51a6d79896cb9ca76a59ac249736ce0c4f069109a424f48efa77a22d11e9352838b17666849bcd32f97ad9228f299fcfc9c3bf228fabaa2a0e72bbaf30ba6764973349da5fca162e8e01f2ff1ea7905dc16489e1fbe575e2d0d6c2438e51d9feeacb3cbce966913416e69d1816dcc197c8541e60171cb377309d68ed9604e98")),
),
// Pseudorandom 4, outbound
(
// Inbound
False,
// R = (K, N, T')
("c8cfbc3158ce80797f50933d28c58e9caebeb8c9f793f3d726cf72de92831985a84ad23f2caec5de54ebe2c157d460d7e8dd769ba9616310b4395da7d8f3e4bd", "86e42a9690a6cabd1d36d0fcd4b9ba74", "b26c4ceaf06e4a3807932301d1c09bcc"),
// AD
"17",
// T
"c9d08a81f69626375467ebb341a7f7e2",
// C
"2ff27866117742f59f6c0712764e1085373368c73f6c5e2bbc9411d83410b2f26048eb60a3a759b1fd64a09fa0f364212ee0df65f29b3639416ebf472918ae64f9f18abf4a44f6a6eb427e5e3dbd2a9c129db871c079e2fbb023de60eaed18beed86c094d4b720fa13cc657d236212f71117282cc9a48bdbfbb4791dce4f98615bde24ded7850c94632ef064fae1acaeb7a52aa86abe328b6b9e793f6ae818a5746b4edc52affb4c28d134c8c781f644929483af03cb112b386a69c2ccbc31164fcb866f09bdd0915a75f824ee2e6c90e24c3ec4f1f094dc12fe34bb40afa13ae60643789da1f401c60907192414881d2f9b7269aafe75cfcaa02e59c1b652d64311084da282ec65e453bc35f119938f759e24b84963472d86e3bea52520f0137460008ec2245b2738606cedbf8166070bd6ae6c32e4eb1b25271f4b378fa229168de15ebce62a101f1bd4f4ccd50fff4ccfdda02193b8e241235a0f72338f26bf4625cc0249a9455be2203e45a5a2f1fb3cad32b63627b992b7c1eaca55443bf2434a9638c2df11c7ccbb4a5f9680246ccec700174a6d5ac4656060589a0a48d8b376361b9458bd8fed28fa749d10e187765eb9c066384215162ec418315682966e62da70590ed2848495a011f15c85abec2dcc097b927a64d7ebe722f0b95b59bd14ac34005ea5a369b29770",
// Output=(R', (T_out, C_out))
(("c8cfbc3158ce80797f50933d28c58e9caebeb8c9f793f3d726cf72de92831985a84ad23f2caec5de54ebe2c157d460d7e8dd769ba9616310b4395da7d8f3e4bd", "86e42a9690a6cabd1d36d0fcd4b9ba74", "516070ae448ab475d810fbc81c196edf"), ("516070ae448ab475d810fbc81c196edf", "dbf3004f96fe90729ae080d2a0008328f87e8e7089c26feaf3439a4b95e531c4fa798b242abbec2f314b330d7a7b8ab71bcf7f4eaa802d58410aff23b6c9c8e2c24348a9614a6a634c00874375292d343ff2bbce9a79845bc2487f919d47d2007ca0879f46397626e6ba2eafbb5e7cab5ed9f639be0800b3f3e65aabf3586864333c40593bb2e32a1ba58dd6a7f0fb1d7f527b8a475af30a7c12628aab995c53309f4575c8c3f2beb3e4c8a2afe9b75750ef33457213cc37576d5862e15f4c9a3e14427429ded7e2f9dc311d60f03200f6f3db446601f0d432ee87e102791618d77a94f2a11646bbf381acb2631486e0ba6d86b82816632b3b360670fdce9f160230b7ddd3a9c306483582257195c2e55adbd3a549f4f2e61090f4179735d26efa8790def204a47896109e64cd2c089aa12a7a6bfdd410f0bb5c7929f8a145a091b9d9794b379e31f63616da0dd01f71ce89c702eef127ef32df3d57c8711d9f944aea7aee8cd56b92871eada8d51a6d79896cb9ca76a59ac249736ce0c4f069109a424f48efa77a22d11e9352838b17666849bcd32f97ad9228f299fcfc9c3bf228fabaa2a0e72bbaf30ba6764973349da5fca162e8e01f2ff1ea7905dc16489e1fbe575e2d0d6c2438e51d9feeacb3cbce966913416e69d1816dcc197c8541e60171cb377309d68ed9604e98")),
),
];
// -------------------- OR VECTORS (Originating)
#[allow(clippy::type_complexity)]
#[rustfmt::skip]
const CGO_RELAY_ORIGINATE_TEST_VECTORS: &[((&str,&str,&str), &str, &str, ((&str, &str, &str), (&str, &str)))] = &[
// All zeroes, originating
(
// R = (K, N, T')
("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "00000000000000000000000000000000", "00000000000000000000000000000000"),
// AD
"00",
// M
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
// Output=(R', (T_out, C_out))
(("7941dd0a63d994703e63d94a446804213ab4fb1d2b7ba376590a2c241d1f508dc6a7f418a14503deb89b17aadb2806f73fc06e5d14e675f5ec880023d4f73296", "12dce4a0e5bc792b5b5a55f9c2f30e07", "66e94bd4ef8a2c3b884cfa59ca342b2e"), ("66e94bd4ef8a2c3b884cfa59ca342b2e", "66e94bd4ef8a2c3b884cfa59ca342b2e58e2fccefa7e3061367f1d57a4e7455a0388dace60b6a392f328c2b971b2fe78f795aaab494b5923f7fd89ff948bc1e0200211214e7394da2089b6acd093abe0c94da219118e297d7b7ebcbcc9c388f28ade7d85a8ee35616f7124a9d527029195b84d1b96c690ff2f2de30bf2ec89e00253786e126504f0dab90c48a30321de3345e6b0461e7c9e6c6b7afedde83f40deb3fa6794f8fd8f55a88dcbda9d68f2137cc9c83420077e7cf28ab2696b0df05d11452b58ac50aa2eb3a195b61b87e5c65a6dd5d7f7a84065d5a17ff46273086002496db63fa4b91bee387fa3030c95a73f8d0437e0915fbce5d7a62d8dab0a58b2431bc0bede02550f40238969ec780410befccde6944b69dd007debe39a9dbc5e24f519a4bdf478b1d9ec0b67125f28b06efaa55d79412ad628d45089c3c304f94db3a21df6cdaf6d2e2e3b355441eff64ad90527e752a4b2ebb4d0a1070ce2e2982e272fdb7cf4b584b095a0f957fdb828689437e37dc48b2ad379c6f3c6e957ee77afb88c65949ba12eec45c22865e4907ae42aee813898acdf91e2e4c21d828e0a76de2bb6bb6f869e5eef1f618dedd27562812b9a14e8996a5c352df3817e60d6ec20119a52c80a61ec195622627240212decca515feab63e2734587948a836a7de205cfec0c288351c")),
),
// All ones, originating
(
// R = (K, N, T')
("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "ffffffffffffffffffffffffffffffff", "ffffffffffffffffffffffffffffffff"),
// AD
"ff",
// M
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
// Output=(R', (T_out, C_out))
(("b66a291a42166122d16166566f18f60953b27f52060ba0e833f6cccd7cfaa83063e5ae3320ae36806ea61a8c420de36d886f5e6b6b3e82cf2c906b27ab8b5825", "6fc3e7804cb7ac42fdd6c00a88503e2c", "7209baed4b605b158b7eb25de2200e83"), ("7209baed4b605b158b7eb25de2200e83", "3fdc18066b5d503f8c98e83be033b6fba905324267618cc6989b486e0decf7cc897d17be093286a4d4fb5016c3e3323ccc416a30473081473bd471e430194ec4e2ac0af3bca0577b78f4c70e4dce9a3b2151d493584db307eae803cd73aa5a582a233bd9ff194e5418580a1f79a5533e1ec3686d5a0c196ddb9a55aee47e9c7020782ade85cfe15664f21244c6c04c198c26dfd9f25d9db796b995e42195861ac02d0966c5a12487e8b70ea6f0160cb649df33d239801a7067cb3a60b76402cc17d1394387a8f91866da3aa61cd79f74f64e850eeeef22c6a002e233e851c231cb50ca7a2dbb9778b34f68b9cb338b3d322b35b5255155d03d3b68b9d5a8223d0cdc770a7489f93a46cea8e4a5915a2c374d71c1809d735589ab26b2d420ce6196d93b43d0e7c1db651276b2f8c387dbb6c6e643ddf8ed58e17e3daa719a9b6f53f6f21cd1f278876e4ad639511cb775f5328a4f7bf6875e73f886c36f277866eac696a389649d96c76899556c5a045a5e26e2a1dd0a5071f23cc37c49bfac896d471239d6b9bea5f48050a18f1f99a1fdbf0743a9d6c13c9a4d60c3405d56ce948623ebdb5d2ee15390b47ea7070c4b4db92fa5a23a86360cfb6cd30c9e95d7f132d3067f3d9e2cfed91b6c7c782596b5403a73a842c79f296da2719493e63547b82f72474d806f8e246d73e8")),
),
// Pseudorandom 1, originating
(
// R = (K, N, T')
("3ab14ee71f417dc6cba5aaaba8eff9c3cd5f408020b4e8586ff734dad4aff593f4d863afbc519eba44d6e8643ae3fabf7ba8cd0803094d82b18acb03c1207927", "e616de4990c8efc5e58131f635f35776", "310495f73b4d20f4d8069bb1d2ed5638"),
// AD
"88",
// M
"43f965f6b01b939d972a2b9bd3b2cefe4315da3f97b51af875dc7717b97d9ac37c9e18e4a00fdcc65dde90ebd6c2909fa3e1d83cb07863596408f94334522c1e04688855c44dbee3bad7ab2872c1b87493766c6e0639bcdbbb2717be2d848c37ef034607f6b05facec43f5c1ef99a78631ab8387385cf0b272b0759513807451c63b4ba7f8908e5822b43bea59013c4bba59ab70dd9951ad1d015ccc9b4067aa02cc40d530e2e2bc473906f03a69f5f92183d2094af98edd23199940572edf095a42ec9be535982d6bdf8e525cf2a26011082d0ad019bd3580be817b1049db2e3ca35ee1212b15faa2c35bd4b342c930cc44e77336d84fcbd36454aa3a3cd7961047b58fd26383d1fbe0beb250f8389c1e949728d3d8218b36f4989e3499ced2e660b7ed6a5edb51a36f2fe9f32238f1a318141fcb3bed2c8a34efb5f98b8bccf2548fb542826e6abf3db576ccb064c905c246ecb4ecd5d638e7d3705b549df99de126227485f8dcb499dabc6f3e5d9735a70f1073f708293b2855dd64c981bdfceb8c75bd7d692f7a2d26f453c302d4593af2bb17a785d52bc87914f62056326dbedb8b5d45333dc7fca8d5eea986b1c19ff122b60c74f9220a3eaddf0f40ee105fee1c336c93afef1804a81bb57f918dbd7ef220428dd26c6d83c95e6adcec8f997b8ed810dcdc0bb3867f37",
// Output=(R', (T_out, C_out))
(("ebffc4b08e545ff2206af6a2ccbe2100f9d6f754eb0b1cc5ff909eacd59576c3c8e1a8ca0956927ef61b6d817e1c98ea836a44a27249faa3f0f1208c42db5ea1", "b32ee2620b1dba0f0be4b248b7c5d73a", "b8b3b69f6e175a5649013ca99c838291"), ("b8b3b69f6e175a5649013ca99c838291", "6bc55371efbf8f3772bb19080bb38aaf821a37e264d79e63bf766f241ac5661b35e980d7bf23ee0c103a215e8d40539977020758516d5ecab8ff4b09d1c079cad324ac97d54764c08de6679e31a2a0a3497c37b45d02a401de44432d99293cea021f8f33efe435cc5d72a07b913ad10f2ba3dac6b2e129c327db5f1e75dc93e58d803bf368c88cff85ca3628db45b7fe503a01e267fa36ecf34c51a038554a5d3a144a10248561ae255a2bb5b6f8a46c9fddf2c092384d60b6e97df4ae2a771aab1f83b843a35d1d10920a9290a4ee80b77bec69e864fbe3e68415abac7e36387f43240f347eac1d7ec4a55bd242463e1a69ba656a66368c45a9408f2ea87965587b5cc0060cecf2e0fcb9ca6c052ec94ce893dc53beed66ca09f04616224ed92773df4ac163a7a3b43de7668772f02719e29c502c2ef22d2bdfc07bc06885676722bfad72882a326e69fe349f4015c980e4173b0a5b5bf78e53b6b932142dc6ec6a51d7aa8f0227de49bd8754d9e2956e6692ac90d1483416cd40cd75553a6f4dcf8b142d2eaa56ba5474f245cf02ea74a32355e4cc6e5eefe9502fcaf9e9a82bf3e447569de29c3efa4fbf7299fee4842a4788e218b151cbda147ab782d355e61e780286214ec9a615215a05cbbc3b13141f3408f70d32910ed9e72a2eeedb657e0b9eb066ef9b0782b8f093")),
),
// Pseudorandom 2, originating
(
// R = (K, N, T')
("302b0f1333b68c8c2c367b1aa02701e07f715b2fc28f34e124893657a98d5442339c9dc55adec43305e5c03e0b9ac69d35f31e92c6bf9aa066607895b453b89e", "02899ad22f2f01d8768323613476c78c", "db34fd587ddf145c5aa1ac58bef5756d"),
// AD
"ab",
// M
"0f0cfeed7dcd312b7b769cc859b20a8e18da16451925a0153ae6a57226fec6b2048dea4584e47e078ecbce0f2ca6413a2bb4e30fd6628a036d1749556adb012d110e23c979dc26c2aee3f24bf2ccf27cfd6d294073a20e9c4c5401c09bc4b2e38b6002b2b320b408b99798db1222034813fd70723a141de5a11679a56b704b1cd8751e919565ea129ce1f9fc2883c7d4cac0d8fd4da61d57501788105ef0d622fca6bfbf72b11a3a03d388c99e4aea582db920872be152bf89dc672383263936d93c0c9915db9b103cbcff5e90f4d9dbae0c4ea8e8464332b9ffaa478735faee477e28355be86f572e2ccca91e60e1874edd1d592b0f4f625276dd5a270a830147365c3fa20168088477c08c56352015ee962d1ce6d24456c96b649921ecffbafa21ff713e2d0da18f2e72e49830ada7878b7fba8eb3700c1db10cbd62ddd6bf1350374a10df5578e6b0774b510d15f11bbe95fd3ed87a8bd68c5110621e12d708f266ee8e48979e2d0fb222c008faea9d9f4ae14951301f9359ed133c5328e6fdd817e83ad84341500752b052bea6432841c801ffd68856c597dc0ce006c89222f1173194044de3d0f75b670923c4de63c683de97990af9430f83ba7510220f56a46e8a47b6ee46a4fcc132d33e059dc3783e3dfe2ecd673588feeb4af5945e18693238520aada42ab371ff4e",
// Output=(R', (T_out, C_out))
(("094b5cdc3a49cc51aab3e1f331f03df61e36efe55b25dc1369cbdf0d326d3ed3bbb72a65f8aa63994ad2e2795994e36abcb3de564adc3a130d0155623e4708e0", "59d05cd3f5d900cb71ef15c156e23dd2", "99daac5f8bdba8f4807e719c768cb3ce"), ("99daac5f8bdba8f4807e719c768cb3ce", "0c81781ebd5266562151598d26b69fe1ac86585cd757b53735968714d7bee3f686f168a198e3bb1d97103340533bc0a24eaff53aa9180ef9384d586e567f3fa4a347208d1d11bc3723ef5c6bf234a35e74d3dffcaae75269c01a9ab3db9f3739ee3623e9d2f01ae5f6149f5022ffc583ec53c7c133b7f8becb573a0e65ab537e59e1f33c7b23d05000ece392fef28f90390f4cdfa82017639fd85714f52c0632a95b26596d9a1d5f96ab8b2722a618f95cb77886eff265fa6f727bd706239906f50e81d3bc2ed87baf6f1eb34afb09c114f3b13eabba8d8b6ee216d9f27c2cd69503ca11e9a4447be1f0577c46e3c8afb98c1053dddbe03891af4bfeb70c5f89c661a13398d5f40a5c6066d6a67c70a0c7cc680ae6ebc2828fbe1666b9e9f401104c0598634a31f25eef8ceb00122ccdac4bca5e3830f5f457f72ba64967bbd5865eb138fe45dc249660598708dd21f8c19900622be05ef57a341a926ecc3b90ad8f92dfe24f8777820eec4fde07230675ea5bdb0b99a24fa68231d4df33e45fd5a8cefee8dcb4fb680854e3bd922dfccfeb8fa195a1f1a5ea3ba76e7d4f401a7e34b3a38fee3677d2cf59386f236d75037f559a31b9c90a228e754999ab29eb4be465f2c59b3d62d6bb13b476860e3301a7fd54b13f568d8c3cf13e7271d94b8612c06ea926489bc98d3d782d")),
),
// Pseudorandom 3, originating
(
// R = (K, N, T')
("f69da975bf0055353e52a8b3fa834b1bcedf1445e4b2f1dca13f59a306e8040ce64d5922b2b9de5735a96e2fa2e9524e99ce5b8888fd000f570f148191bdb54f", "8e4219f5b72d0bbf1f47005632816b36", "c5301aaf38e66f698293618354d06e0a"),
// AD
"90",
// M
"727ee8dff3a22ad873545c040d22a67a6caac97c308a0f4109da1a1d67695d9fd7570a27593fefcdc0ce568ff6f8998a03791e12720a86d95110540073e104a86ba14ac9e58705ff20ebfced49a91d832a635924193dbf14ff995da7d4cbb4752d364908c1096606cee429adad73513bfd848fb6132fad9531178b419d4c6670224e858ff0a413b083b58cb6a8297bc7474e48050ac926c3a568df88feb135e9011d26eb2327c0797fd821a9bca3052e116f26844a2a5d23542ea666f2225700dd134cc166e2cd36f88be6a4b367be083e7d7be99a9205489de7ece3308846fcad66dd249ada0c559999fc3dd9e36036831e3e2aa51d0190b227f3bb54b365ea668009298612308361537b66e143fdb5b3da43a6a141910b7daef3dd4c5a819749c1d5d005c3c39bf7d2d749754614e794c51a965694904d30fa5be6fba2360ccf46c4ed2b4829f6434bb8951e82580a4da3d7075d734c4c12560693b9bacb1ce7ee953d7ce9dec24d7a129e8e582a3e2e1168e7b966c2e435b21f9b7ba83e27023b287e7fc420c5934af909e1a3fcb8415347c5ebd30aebaf6fe11cbea60d8dbe78cd54736dcb6a0cab929175417510d0ab2c4688b91c8d75d5a9b51ff15fddeb1a08402dc7748eb5b9d219f4ecb4116be1765a03fd06fc01d8e366b945cf6557257ef0ec2b74619d4e081c89",
// Output=(R', (T_out, C_out))
(("908d5995ea0d0f94dd366a213db7d2665a2509a452fbfcb29241208a5b926f73e846bf60493ea739553909f6ba38740f564c264ce39b1ac8167efc7566232d7e", "b60e59730bdba60de0910972f89a22d5", "276d823e18b1a06c0fe224431630b7b2"), ("276d823e18b1a06c0fe224431630b7b2", "c52d652abc87991f344c48efb894b890bc17001c1294dc503d91669c5877a5f808b5914bf516d4d5ea5e7679760cdae870c2a50919938f51acdb803d9cd9e2c21ce30f65271894a21efa9ebefa28713397637467a63da410d6254e2a1840e8823d748dd89a6e8806a502553ca6ecfad79c12051c96f7166bb352bfe7e6928e092f49ba0deca27be3a5204c5bf6bdc047164217019cb3e3cd21f9586dbfab63c7840d3ff6ea9bdd19128a9bf5b91e11b4a0c6dd193b2b45da69de16c4dc9ed14295d450132cdcb436ffbb6871e783ee54d9bc6dc9f7f13097a860bfd456d00818b8b74d8cc33540bf81aa2c860300f0aa9e386e125825c57c4332603b2c07e6cc3d0c1fba55e938113be721f4a0fa40a3aedaa2446965f449c28de2ccb572338ddca5d76dd448196af5721462c48b8d06d4d02782b706023dea5e9619a8b3a5dfec5dbdfe32e96a964cc2e7f57e90dbdd369ae4ad1713734b084a3d34ed18d33021b6303039c7d404272e288b51eb25473b184e8afe849b3156c667e54584f26ea25745531a9112e63facf073de14325db5fc01c74f14366a8756ff38ea11c72c9a4e0a2b6ab32ce5faf4ab07031892c52c300ed7d4c1a6f86de093e380e21411526a2c261e2ca679bc3d32dbcb416a0e0e17c1bb6bd9e9cd59963df1e602368e51556218a49071d37e8d92cd35")),
),
// Pseudorandom 4, originating
(
// R = (K, N, T')
("c8cfbc3158ce80797f50933d28c58e9caebeb8c9f793f3d726cf72de92831985a84ad23f2caec5de54ebe2c157d460d7e8dd769ba9616310b4395da7d8f3e4bd", "86e42a9690a6cabd1d36d0fcd4b9ba74", "b26c4ceaf06e4a3807932301d1c09bcc"),
// AD
"17",
// M
"2ff27866117742f59f6c0712764e1085373368c73f6c5e2bbc9411d83410b2f26048eb60a3a759b1fd64a09fa0f364212ee0df65f29b3639416ebf472918ae64f9f18abf4a44f6a6eb427e5e3dbd2a9c129db871c079e2fbb023de60eaed18beed86c094d4b720fa13cc657d236212f71117282cc9a48bdbfbb4791dce4f98615bde24ded7850c94632ef064fae1acaeb7a52aa86abe328b6b9e793f6ae818a5746b4edc52affb4c28d134c8c781f644929483af03cb112b386a69c2ccbc31164fcb866f09bdd0915a75f824ee2e6c90e24c3ec4f1f094dc12fe34bb40afa13ae60643789da1f401c60907192414881d2f9b7269aafe75cfcaa02e59c1b652d64311084da282ec65e453bc35f119938f759e24b84963472d86e3bea52520f0137460008ec2245b2738606cedbf8166070bd6ae6c32e4eb1b25271f4b378fa229168de15ebce62a101f1bd4f4ccd50fff4ccfdda02193b8e241235a0f72338f26bf4625cc0249a9455be2203e45a5a2f1fb3cad32b63627b992b7c1eaca55443bf2434a9638c2df11c7ccbb4a5f9680246ccec700174a6d5ac4656060589a0a48d8b376361b9458bd8fed28fa749d10e187765eb9c066384215162ec418315682966e62da70590ed2848495a011f15c85abec2dcc097b927a64d7ebe722f0b95b59bd14ac34005ea5a369b29770",
// Output=(R', (T_out, C_out))
(("cf36bc6376d1a655fe881c8d8ed9dcc24fe523c8fe73e56762d6994d89f6bb40b1f5e1b51f36395c0ea424606a965d9f2c5c5076fce6ebb8154540b8adb6f583", "868106911111d1752fffe0bf5362531a", "21d67f974054b213cadc77d2aa6c5726"), ("21d67f974054b213cadc77d2aa6c5726", "ff45c64a7272af4db0f662f26e6e51b2cf0b2cf5abb58439106b2b1c114b3e0a50c87781dd025208896e442fa8683e6e5164bd137dec77a58c941b5fbf9509c7018f01165c0bad1de4a611c60bbdfa31bef16c1adaf70e9164cd806bf0aafa10a8bef58fb5de91732a60d67ac03ee3b228892bdb23ab51e88a4005087bb6e3181b33a897df9d84121234da2c154a304e3d914f431c82ef608644ca6ba807a026799a9d5f391bcb29756e2e398c3849a01a4c5e10bd93e4b80ac2658c4d7bbce9bb5277f26c1a4f353da50201084bd3109435227db352f475cb59730818620ef8a459d3ea0a8501730fb54a0a12ad8f107fdaa986ac555fb7f1351898ca16ca47f2e55dc4665ea2c8bd83df44ea4f45b0463cb2ed0b1684847fcb5a49220eee801e2daab8c477c34eaef3afbc20a25ee578ebfdcccec97cd0d8118a6f7ccdbce1f9f77c82d8b3050ec5372ddc436fc2d4e6a0b133d054d5a90492cf94700d35eb778cf157fbd3eddb22fc41422220259c4d3801f1ff4e1502ab0096e4744fb43475f54eea74c4648298f43973cb0017f89eab8ac8acc838d640d97197256917fb284ffbda300ac642b0bede3469f7598c89f9f79ccd6e849d999b64bbdcf56b9cfdfd1e833cf90d50190e3df33de30a35c8c4cc1b3b32cc51b8843ab2d2d3643e1822c1f70709d0f79308bb69c6")),
),
];
|