3 * Copyright (c) 2020 Project CHIP Authors
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 * @file - This file contains point multipication test vectors.
22 #ifndef _SPAKE2P_POINT_MUL_TEST_VECTORS_H_
23 #define _SPAKE2P_POINT_MUL_TEST_VECTORS_H_
28 struct spake2p_point_mul_tv
30 const uint8_t * point;
32 const uint8_t * scalar;
34 const uint8_t * out_point;
39 static const uint8_t chiptest_0fd26a42aa63_point_1[] = { 0x04, 0x11, 0xc6, 0x0f, 0x3c, 0x30, 0x72, 0x47, 0x4f, 0xec, 0x46,
40 0x86, 0x68, 0xe6, 0x92, 0xc2, 0xfe, 0xd2, 0x32, 0x75, 0x57, 0x03,
41 0x9b, 0x74, 0xc1, 0x03, 0x56, 0xff, 0x4a, 0x4f, 0xa2, 0x09, 0x88,
42 0x7e, 0xca, 0xfa, 0xd1, 0xe7, 0x05, 0x10, 0xb8, 0x0e, 0x89, 0x30,
43 0xb9, 0x8b, 0x09, 0x69, 0x02, 0x09, 0x6c, 0x5a, 0x16, 0x50, 0x7b,
44 0xf7, 0x02, 0x24, 0x5c, 0x8f, 0x56, 0xef, 0xcf, 0xdf, 0xf3 };
45 static const uint8_t chiptest_0fd26a42aa63_scalar_2[] = { 0xa4, 0xce, 0x40, 0x79, 0x0c, 0x1a, 0xf0, 0xcd, 0xa9, 0x67, 0xac,
46 0xb6, 0x66, 0x28, 0xa6, 0x65, 0xd3, 0x4e, 0x2f, 0x1c, 0xd4, 0xe8,
47 0x06, 0xe4, 0x8f, 0x6d, 0xc9, 0x30, 0x0b, 0x3b, 0xc3, 0xb6 };
48 static const uint8_t chiptest_0fd26a42aa63_out_point_3[] = { 0x04, 0xc4, 0x1e, 0x45, 0x5d, 0x9b, 0xf8, 0xe2, 0x71, 0x40, 0xe4,
49 0x4d, 0x86, 0xd3, 0xa3, 0xc3, 0xa2, 0x84, 0xda, 0x30, 0xd1, 0xae,
50 0x41, 0x48, 0x2c, 0x1d, 0x6c, 0xa4, 0x96, 0x02, 0x81, 0xf1, 0xb8,
51 0x7b, 0xe6, 0x6d, 0xe3, 0xd3, 0xf0, 0x99, 0x44, 0x45, 0xa4, 0x5d,
52 0xba, 0xae, 0x0a, 0xb1, 0xa1, 0x62, 0x61, 0x4c, 0xd5, 0x42, 0x35,
53 0x89, 0xff, 0x25, 0xe1, 0x10, 0x7f, 0x23, 0xad, 0x4b, 0x2b };
54 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_4 = {
55 .point = chiptest_0fd26a42aa63_point_1,
57 .scalar = chiptest_0fd26a42aa63_scalar_2,
59 .out_point = chiptest_0fd26a42aa63_out_point_3,
62 static const uint8_t chiptest_0fd26a42aa63_point_5[] = { 0x04, 0xed, 0x09, 0x15, 0x95, 0x7b, 0x1a, 0x2b, 0x71, 0x31, 0x54,
63 0x9c, 0xa5, 0x23, 0x5c, 0x9b, 0x0e, 0x00, 0x4d, 0x84, 0x7d, 0xa1,
64 0x52, 0xfb, 0x3d, 0xc3, 0x58, 0xa3, 0xfd, 0x53, 0x5a, 0x31, 0x28,
65 0x67, 0x10, 0xf7, 0x69, 0x10, 0xab, 0x7b, 0xfa, 0xfa, 0x2f, 0xce,
66 0x55, 0x6d, 0x1e, 0x1e, 0x09, 0x17, 0x49, 0x46, 0x0e, 0xcb, 0x67,
67 0xb4, 0x44, 0x83, 0x08, 0x98, 0x4b, 0xe5, 0xc9, 0xc4, 0x28 };
68 static const uint8_t chiptest_0fd26a42aa63_scalar_6[] = { 0x14, 0x96, 0x87, 0x7b, 0xed, 0x29, 0x11, 0xa8, 0x58, 0xf2, 0xd8,
69 0x5f, 0x45, 0xcd, 0xff, 0x9c, 0xfd, 0xcf, 0x8e, 0xc4, 0x8e, 0xd2,
70 0x86, 0xa1, 0xd1, 0xb2, 0x13, 0x52, 0x0f, 0x59, 0xdb, 0x68 };
71 static const uint8_t chiptest_0fd26a42aa63_out_point_7[] = { 0x04, 0x09, 0x4f, 0x3f, 0xf6, 0xc4, 0x88, 0x74, 0x15, 0x87, 0x67,
72 0xf1, 0x0e, 0x8e, 0x51, 0x7c, 0x46, 0x79, 0x86, 0xe7, 0x17, 0x19,
73 0x1f, 0x06, 0xec, 0xa2, 0x66, 0x6d, 0x45, 0x3a, 0xb5, 0xf9, 0xce,
74 0xce, 0xc3, 0xac, 0xdb, 0x91, 0xe8, 0x8c, 0x12, 0x63, 0xd9, 0x46,
75 0x60, 0x2b, 0x0b, 0x92, 0xe6, 0xf2, 0x0f, 0x0e, 0x89, 0x51, 0x8f,
76 0xae, 0xbf, 0x08, 0xcc, 0x4e, 0x37, 0x86, 0x00, 0xe4, 0x4a };
77 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_8 = {
78 .point = chiptest_0fd26a42aa63_point_5,
80 .scalar = chiptest_0fd26a42aa63_scalar_6,
82 .out_point = chiptest_0fd26a42aa63_out_point_7,
85 static const uint8_t chiptest_0fd26a42aa63_point_9[] = { 0x04, 0xc5, 0xf5, 0x1e, 0x3c, 0x06, 0x56, 0x19, 0x9d, 0xae, 0xcf,
86 0x7f, 0xad, 0x11, 0x1b, 0x77, 0xa0, 0xa5, 0xd2, 0xb4, 0x1a, 0x7e,
87 0xea, 0xc6, 0xf3, 0x0e, 0x96, 0xb8, 0x2a, 0x90, 0xd7, 0x51, 0x73,
88 0x9e, 0x9d, 0x1d, 0x75, 0xf3, 0xbb, 0xa2, 0xe9, 0xff, 0x53, 0x18,
89 0xb1, 0x3c, 0xa8, 0x1d, 0xea, 0x52, 0x33, 0x59, 0x3f, 0x43, 0x65,
90 0xea, 0x88, 0x9c, 0x2a, 0x02, 0xe3, 0x2e, 0xb7, 0x2a, 0xd8 };
91 static const uint8_t chiptest_0fd26a42aa63_scalar_10[] = { 0x24, 0x6c, 0xf5, 0xef, 0x60, 0xfa, 0x9f, 0x72, 0xef, 0xce, 0x30,
92 0x8e, 0xaa, 0x04, 0x3e, 0x07, 0x69, 0x49, 0xff, 0xfc, 0x94, 0x0a,
93 0xf5, 0xe3, 0xcd, 0x24, 0x66, 0x5e, 0x7b, 0x8d, 0x3a, 0x3b };
94 static const uint8_t chiptest_0fd26a42aa63_out_point_11[] = { 0x04, 0x01, 0x1b, 0xb4, 0xf0, 0x69, 0xbf, 0x57, 0xee, 0x07, 0x48,
95 0xb9, 0x4a, 0x39, 0x2d, 0x15, 0xb7, 0x16, 0x99, 0xa4, 0xce, 0x15,
96 0x75, 0xcf, 0x7b, 0xd0, 0xd6, 0x63, 0xde, 0x06, 0xc0, 0x2d, 0x4e,
97 0x12, 0xaa, 0x2b, 0x03, 0x0c, 0xf8, 0xed, 0x9d, 0x41, 0xb6, 0x87,
98 0xdf, 0xa8, 0x6f, 0x3c, 0xd9, 0x3d, 0x3b, 0x35, 0xf7, 0xa3, 0x06,
99 0xcd, 0x14, 0xda, 0x3c, 0x0e, 0x15, 0x57, 0x22, 0xfb, 0xba };
100 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_12 = {
101 .point = chiptest_0fd26a42aa63_point_9,
103 .scalar = chiptest_0fd26a42aa63_scalar_10,
105 .out_point = chiptest_0fd26a42aa63_out_point_11,
108 static const uint8_t chiptest_0fd26a42aa63_point_13[] = { 0x04, 0xb3, 0x54, 0xc6, 0x21, 0x42, 0xa2, 0xbb, 0xd8, 0x8e, 0x53,
109 0xb1, 0x11, 0x62, 0x7b, 0x60, 0xcd, 0xff, 0xc5, 0xf1, 0x98, 0x61,
110 0x26, 0x7b, 0x01, 0x8a, 0x64, 0x3b, 0x0b, 0x69, 0x77, 0x88, 0x90,
111 0x50, 0x3b, 0x73, 0xef, 0x3a, 0xb8, 0x05, 0xb4, 0x48, 0x6b, 0xc5,
112 0x28, 0xb9, 0xff, 0x37, 0xef, 0xc6, 0xa8, 0xc2, 0x77, 0x62, 0xbf,
113 0x8d, 0x2c, 0x3d, 0x40, 0x83, 0x13, 0x01, 0xeb, 0x75, 0x65 };
114 static const uint8_t chiptest_0fd26a42aa63_scalar_14[] = { 0x56, 0x14, 0xeb, 0xa3, 0xe4, 0x92, 0x02, 0x34, 0xd0, 0x07, 0x7d,
115 0x79, 0x7c, 0xe7, 0xec, 0xec, 0x06, 0x7f, 0x11, 0x89, 0xb6, 0x38,
116 0x0b, 0xbb, 0x1b, 0x70, 0xed, 0xed, 0xf2, 0x65, 0xd7, 0x03 };
117 static const uint8_t chiptest_0fd26a42aa63_out_point_15[] = { 0x04, 0xf6, 0x7a, 0x2f, 0x66, 0x9e, 0xa9, 0xb5, 0xbc, 0xf4, 0x42,
118 0x80, 0x9c, 0xc5, 0xf2, 0x08, 0xa4, 0xe2, 0x05, 0x64, 0xdd, 0x23,
119 0x8a, 0x3e, 0x60, 0xaa, 0x66, 0xd6, 0xe6, 0x4e, 0x11, 0x51, 0x32,
120 0xd3, 0x6d, 0xa4, 0x13, 0xac, 0x50, 0xb2, 0x26, 0x8a, 0x50, 0xe4,
121 0x4e, 0xfa, 0xb7, 0xe0, 0x18, 0x5c, 0x91, 0x51, 0xd3, 0x75, 0xf2,
122 0xfe, 0x6f, 0x7d, 0xf6, 0xe5, 0x32, 0x19, 0xaa, 0x60, 0x71 };
123 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_16 = {
124 .point = chiptest_0fd26a42aa63_point_13,
126 .scalar = chiptest_0fd26a42aa63_scalar_14,
128 .out_point = chiptest_0fd26a42aa63_out_point_15,
131 static const uint8_t chiptest_0fd26a42aa63_point_17[] = { 0x04, 0xf9, 0xf7, 0x75, 0xbb, 0xe4, 0x94, 0x87, 0xa4, 0x53, 0x0b,
132 0xe8, 0xff, 0x52, 0xfd, 0x14, 0x6d, 0x06, 0xe8, 0x6a, 0xae, 0x7e,
133 0xa4, 0x97, 0xf6, 0xfb, 0x71, 0x15, 0x16, 0x69, 0x68, 0x56, 0xab,
134 0xce, 0xb1, 0xa6, 0x76, 0x54, 0xc3, 0xd0, 0xeb, 0x54, 0x04, 0x6c,
135 0x87, 0x95, 0x92, 0xd3, 0x6d, 0xa2, 0x9a, 0xba, 0xbc, 0x9f, 0x2f,
136 0x0d, 0xc0, 0xc7, 0xcc, 0x5f, 0xeb, 0x2b, 0x35, 0x24, 0x22 };
137 static const uint8_t chiptest_0fd26a42aa63_scalar_18[] = { 0x4c, 0xc3, 0xec, 0x10, 0x2d, 0x90, 0x9b, 0xdf, 0xf8, 0xb5, 0x1b,
138 0xa3, 0x78, 0x77, 0x93, 0x90, 0xb9, 0xcf, 0x89, 0x4f, 0xcd, 0x00,
139 0x3b, 0xe0, 0x12, 0x78, 0xe0, 0xb8, 0xd6, 0x75, 0x53, 0xe7 };
140 static const uint8_t chiptest_0fd26a42aa63_out_point_19[] = { 0x04, 0x91, 0xdb, 0xa2, 0x99, 0xe1, 0xbc, 0xb4, 0x6b, 0xfb, 0xde,
141 0x5b, 0x39, 0x86, 0xdf, 0x8c, 0xd6, 0x55, 0xbe, 0x57, 0x9e, 0xd6,
142 0xf8, 0x21, 0x8f, 0xcb, 0x62, 0x3a, 0x6b, 0x3c, 0x1f, 0xaf, 0xaa,
143 0xd7, 0xd7, 0x43, 0x22, 0x2a, 0xbf, 0xfa, 0x94, 0x10, 0xd9, 0x37,
144 0xab, 0x7a, 0x2a, 0xc0, 0x3a, 0x11, 0xae, 0xc8, 0x38, 0xf8, 0x92,
145 0xdb, 0xf5, 0x39, 0x77, 0x66, 0x15, 0x29, 0x2f, 0x44, 0x2d };
146 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_20 = {
147 .point = chiptest_0fd26a42aa63_point_17,
149 .scalar = chiptest_0fd26a42aa63_scalar_18,
151 .out_point = chiptest_0fd26a42aa63_out_point_19,
154 static const uint8_t chiptest_0fd26a42aa63_point_21[] = { 0x04, 0xf5, 0xb1, 0xbe, 0x11, 0xd3, 0xa8, 0x01, 0xac, 0xc6, 0xf3,
155 0x53, 0xe1, 0xf9, 0x6e, 0xce, 0x70, 0xe2, 0x42, 0x0a, 0xa4, 0x1f,
156 0xf4, 0x55, 0xc7, 0xff, 0xfc, 0xef, 0xa5, 0xb0, 0x96, 0x15, 0x2e,
157 0x7f, 0x2f, 0x81, 0x44, 0xe1, 0xa0, 0xb6, 0xac, 0x03, 0xb3, 0x39,
158 0x83, 0x5b, 0x94, 0xfd, 0x82, 0x52, 0x89, 0x93, 0xe3, 0xf7, 0x42,
159 0xb0, 0xad, 0xe8, 0x6b, 0x95, 0xdf, 0xc5, 0x1c, 0x48, 0xc2 };
160 static const uint8_t chiptest_0fd26a42aa63_scalar_22[] = { 0x14, 0x88, 0x89, 0x3b, 0x0d, 0x4e, 0xe0, 0x83, 0x58, 0xae, 0x99,
161 0x20, 0x66, 0x92, 0x79, 0x5f, 0xb8, 0x05, 0x44, 0x77, 0xbc, 0x88,
162 0xfa, 0x81, 0xae, 0xfe, 0xd2, 0x17, 0x91, 0xa9, 0xfe, 0xbf };
163 static const uint8_t chiptest_0fd26a42aa63_out_point_23[] = { 0x04, 0x7a, 0x85, 0x1b, 0xcf, 0x5f, 0xc1, 0x1a, 0xa5, 0x93, 0x9d,
164 0xda, 0xd4, 0xc1, 0xa3, 0x9c, 0x94, 0xad, 0xe2, 0x0c, 0x0a, 0x96,
165 0x5c, 0xd8, 0xde, 0x5d, 0x15, 0xae, 0x8b, 0x2d, 0x28, 0xa4, 0xe8,
166 0xb8, 0x51, 0xdb, 0xe6, 0xe2, 0x28, 0x9f, 0xa9, 0x31, 0xb2, 0x1a,
167 0x43, 0x62, 0x76, 0xdd, 0x21, 0x41, 0x32, 0xe3, 0x91, 0x50, 0x3d,
168 0xdc, 0x69, 0x4f, 0x3b, 0xee, 0xe9, 0x23, 0x0e, 0xb8, 0xd8 };
169 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_24 = {
170 .point = chiptest_0fd26a42aa63_point_21,
172 .scalar = chiptest_0fd26a42aa63_scalar_22,
174 .out_point = chiptest_0fd26a42aa63_out_point_23,
177 static const uint8_t chiptest_0fd26a42aa63_point_25[] = { 0x04, 0x7f, 0x34, 0x22, 0x9b, 0xbd, 0x59, 0xa1, 0xff, 0xf3, 0x37,
178 0xd8, 0x5d, 0xe5, 0xf3, 0x57, 0xe9, 0xed, 0xdf, 0xf4, 0x81, 0xbe,
179 0xfa, 0xd2, 0x65, 0x3e, 0xfd, 0x62, 0xac, 0x9c, 0x56, 0x22, 0x1b,
180 0x14, 0xb7, 0x36, 0xf8, 0x9a, 0x0a, 0x53, 0x10, 0xc0, 0x7a, 0x3f,
181 0x3a, 0xf0, 0xf0, 0x24, 0x2b, 0xef, 0xa5, 0x0c, 0xfa, 0xbe, 0xf4,
182 0xc3, 0x21, 0x97, 0x35, 0xf5, 0x4c, 0xd3, 0x09, 0x31, 0x75 };
183 static const uint8_t chiptest_0fd26a42aa63_scalar_26[] = { 0x73, 0x8b, 0xe1, 0x07, 0xb1, 0x92, 0xba, 0x31, 0x15, 0x4e, 0xde,
184 0x86, 0xe9, 0xa3, 0x4c, 0x03, 0xb1, 0x86, 0x21, 0x1c, 0xaa, 0x6b,
185 0xfc, 0xcd, 0x7c, 0xc0, 0xc9, 0x1d, 0xf4, 0xb6, 0x07, 0x97 };
186 static const uint8_t chiptest_0fd26a42aa63_out_point_27[] = { 0x04, 0x01, 0x46, 0xd9, 0x17, 0xe7, 0xdd, 0x36, 0x4e, 0xc3, 0x2a,
187 0x77, 0xa9, 0x38, 0xa2, 0xd7, 0xcc, 0xda, 0x2a, 0x3d, 0xba, 0x33,
188 0xd0, 0x85, 0x28, 0xc7, 0x9f, 0x39, 0xb7, 0xbc, 0xaf, 0x4c, 0x1f,
189 0x1d, 0x7b, 0xa4, 0xf4, 0x50, 0x8b, 0x87, 0xaa, 0x24, 0xbd, 0x2f,
190 0x75, 0x78, 0x3e, 0xa7, 0x82, 0xce, 0xb9, 0x2e, 0x88, 0x7a, 0xf2,
191 0x20, 0x65, 0x6d, 0x95, 0xb8, 0x63, 0x98, 0x03, 0xe3, 0x51 };
192 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_28 = {
193 .point = chiptest_0fd26a42aa63_point_25,
195 .scalar = chiptest_0fd26a42aa63_scalar_26,
197 .out_point = chiptest_0fd26a42aa63_out_point_27,
200 static const uint8_t chiptest_0fd26a42aa63_point_29[] = { 0x04, 0xd6, 0x55, 0x49, 0x55, 0xcd, 0x8c, 0x16, 0xc6, 0x67, 0xb2,
201 0x44, 0xb0, 0xc0, 0x81, 0xb0, 0x98, 0x38, 0xc4, 0x39, 0x47, 0x9f,
202 0x7e, 0x37, 0x55, 0x32, 0x5d, 0x81, 0x47, 0x0a, 0xdd, 0x89, 0x1b,
203 0x0d, 0x78, 0x69, 0x7d, 0xc2, 0xb7, 0xa7, 0x90, 0x96, 0xf2, 0x14,
204 0xbe, 0x6d, 0x51, 0x3f, 0xab, 0xc8, 0x7b, 0x90, 0x10, 0xe0, 0x4d,
205 0x59, 0xf3, 0xb7, 0x44, 0x89, 0x0b, 0x46, 0x8a, 0x73, 0x0d };
206 static const uint8_t chiptest_0fd26a42aa63_scalar_30[] = { 0x18, 0xe4, 0x86, 0x61, 0xb8, 0x9c, 0x90, 0x5d, 0x79, 0x82, 0x63,
207 0x49, 0xfe, 0x40, 0xca, 0xff, 0xda, 0x53, 0xcd, 0x24, 0xee, 0x6f,
208 0xa2, 0xbe, 0x9a, 0xb6, 0x73, 0xd3, 0x74, 0x63, 0xb4, 0xf1 };
209 static const uint8_t chiptest_0fd26a42aa63_out_point_31[] = { 0x04, 0xa3, 0xd5, 0x6e, 0xa9, 0x72, 0x53, 0xae, 0x05, 0x8a, 0xb5,
210 0xa2, 0xac, 0x86, 0x36, 0x80, 0x53, 0xd8, 0x93, 0xca, 0xfe, 0xec,
211 0x14, 0x76, 0x8a, 0x97, 0x34, 0x1a, 0xe2, 0x82, 0xc6, 0x20, 0x78,
212 0x0f, 0x01, 0x62, 0x40, 0x40, 0x23, 0xe7, 0x51, 0xda, 0xb4, 0x41,
213 0xaa, 0x9c, 0x4a, 0x1d, 0xef, 0x92, 0x8a, 0xf8, 0xd7, 0x8d, 0x97,
214 0x0e, 0xaf, 0xc8, 0x02, 0x5a, 0x9c, 0x8e, 0x7a, 0x86, 0xe9 };
215 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_32 = {
216 .point = chiptest_0fd26a42aa63_point_29,
218 .scalar = chiptest_0fd26a42aa63_scalar_30,
220 .out_point = chiptest_0fd26a42aa63_out_point_31,
223 static const uint8_t chiptest_0fd26a42aa63_point_33[] = { 0x04, 0x0d, 0x49, 0xad, 0x9f, 0xb0, 0x45, 0x7b, 0x61, 0x85, 0x41,
224 0x32, 0x19, 0xc0, 0x51, 0x4d, 0x90, 0x23, 0x78, 0x71, 0x23, 0xde,
225 0x56, 0x22, 0x2b, 0xc2, 0x02, 0xa1, 0x72, 0x5c, 0x74, 0x51, 0x08,
226 0x5c, 0x51, 0x99, 0x93, 0x60, 0x83, 0x9a, 0x4c, 0x05, 0x66, 0x1f,
227 0x6f, 0x04, 0x50, 0xd3, 0x27, 0x92, 0x44, 0x08, 0x3d, 0x8d, 0x8d,
228 0xee, 0xd7, 0x29, 0x1b, 0xb5, 0x82, 0xd1, 0x37, 0x9f, 0xb6 };
229 static const uint8_t chiptest_0fd26a42aa63_scalar_34[] = { 0x1b, 0x86, 0x6d, 0x87, 0x31, 0x79, 0x68, 0x37, 0x4e, 0xa1, 0xb2,
230 0xa4, 0x61, 0x36, 0x71, 0x24, 0x2a, 0xc7, 0x0d, 0x2a, 0x36, 0x79,
231 0x46, 0x4e, 0x42, 0x89, 0x9b, 0x89, 0x76, 0xc2, 0x90, 0xa3 };
232 static const uint8_t chiptest_0fd26a42aa63_out_point_35[] = { 0x04, 0xc0, 0xd3, 0x40, 0x8f, 0x67, 0x35, 0xab, 0x47, 0xb5, 0x82,
233 0x3c, 0xb7, 0x08, 0x92, 0x7a, 0xe2, 0xb3, 0x46, 0x6d, 0x4e, 0x77,
234 0xca, 0xee, 0xb8, 0x62, 0x79, 0x2e, 0xc4, 0xa1, 0xc2, 0x99, 0xcb,
235 0xe9, 0xa8, 0x7e, 0x73, 0x8a, 0xe3, 0x44, 0x84, 0x70, 0xe1, 0x5e,
236 0x56, 0xdb, 0x8e, 0xa2, 0x78, 0x50, 0x08, 0xef, 0x26, 0xe6, 0x72,
237 0xec, 0x00, 0x0c, 0xc1, 0x89, 0xdb, 0x4b, 0x7a, 0xf3, 0x4c };
238 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_36 = {
239 .point = chiptest_0fd26a42aa63_point_33,
241 .scalar = chiptest_0fd26a42aa63_scalar_34,
243 .out_point = chiptest_0fd26a42aa63_out_point_35,
246 static const uint8_t chiptest_0fd26a42aa63_point_37[] = { 0x04, 0x38, 0x44, 0x33, 0x8d, 0x85, 0x5a, 0xe4, 0x6c, 0xfc, 0xc8,
247 0x0f, 0x07, 0xc9, 0x26, 0xb5, 0xd6, 0x42, 0x72, 0x38, 0x8e, 0xcb,
248 0x4c, 0xee, 0x2f, 0x43, 0xe9, 0x83, 0x74, 0xdc, 0xdb, 0x8a, 0x4d,
249 0x9b, 0xbc, 0xd2, 0x8e, 0xeb, 0x3a, 0xea, 0x62, 0x09, 0x4c, 0x9d,
250 0x98, 0xcc, 0xab, 0x78, 0xfc, 0xa8, 0xa1, 0x7b, 0x35, 0xf4, 0x7a,
251 0x63, 0x7c, 0x9f, 0x3e, 0xd3, 0x19, 0xb3, 0x15, 0x3b, 0x87 };
252 static const uint8_t chiptest_0fd26a42aa63_scalar_38[] = { 0xd0, 0x41, 0x88, 0x24, 0xfe, 0x36, 0x62, 0x81, 0xd7, 0xaa, 0xde,
253 0xfb, 0x34, 0x41, 0x98, 0x7f, 0x13, 0x2f, 0x8b, 0x15, 0x94, 0xbc,
254 0x11, 0xc3, 0x41, 0xff, 0xa0, 0xd6, 0x31, 0x7f, 0x22, 0x23 };
255 static const uint8_t chiptest_0fd26a42aa63_out_point_39[] = { 0x04, 0x9e, 0xee, 0x22, 0xab, 0x31, 0x46, 0x78, 0xaf, 0xeb, 0xb6,
256 0x70, 0x10, 0xdd, 0x02, 0x12, 0x75, 0x4a, 0x86, 0xad, 0x3f, 0x32,
257 0xe9, 0xb0, 0xd1, 0x2f, 0x65, 0x25, 0x0e, 0x75, 0xbd, 0x51, 0x20,
258 0x95, 0xc0, 0x67, 0x3c, 0x58, 0x7b, 0x52, 0xed, 0x2a, 0x1b, 0x32,
259 0x19, 0x16, 0xc3, 0xe0, 0x6f, 0xa8, 0xc5, 0xc6, 0x48, 0x4d, 0x61,
260 0xaa, 0x3f, 0x29, 0x7d, 0x3a, 0x1d, 0xde, 0x84, 0xab, 0xf2 };
261 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_40 = {
262 .point = chiptest_0fd26a42aa63_point_37,
264 .scalar = chiptest_0fd26a42aa63_scalar_38,
266 .out_point = chiptest_0fd26a42aa63_out_point_39,
269 static const uint8_t chiptest_0fd26a42aa63_point_41[] = { 0x04, 0x47, 0x90, 0x7a, 0xea, 0xc9, 0x01, 0xd6, 0x9f, 0xc3, 0xeb,
270 0x67, 0x03, 0x4f, 0x1a, 0x79, 0x13, 0xde, 0x15, 0x69, 0x24, 0x04,
271 0x9c, 0x4d, 0x9b, 0x78, 0x58, 0x9d, 0x31, 0x88, 0xbb, 0x90, 0x43,
272 0x28, 0x4c, 0x35, 0x58, 0xa6, 0x46, 0xf1, 0x4d, 0xb0, 0x6b, 0xc4,
273 0xf2, 0x43, 0x93, 0x8d, 0xfc, 0x74, 0x12, 0xaa, 0x53, 0x39, 0x75,
274 0x97, 0xee, 0x9e, 0xe8, 0xe4, 0x45, 0x20, 0x68, 0x7c, 0x2f };
275 static const uint8_t chiptest_0fd26a42aa63_scalar_42[] = { 0x86, 0xb9, 0xb0, 0xfd, 0x6b, 0x95, 0x63, 0xed, 0x69, 0xf8, 0x64,
276 0x7e, 0x42, 0xa1, 0xf5, 0x32, 0x67, 0x1c, 0x84, 0xbd, 0x19, 0x05,
277 0xa9, 0xa2, 0x57, 0x88, 0xa1, 0x6e, 0x56, 0x5a, 0xf6, 0xe1 };
278 static const uint8_t chiptest_0fd26a42aa63_out_point_43[] = { 0x04, 0x17, 0x34, 0x86, 0xf5, 0xc9, 0x20, 0xbf, 0x0f, 0x3e, 0x99,
279 0x6e, 0x65, 0xd4, 0xe4, 0xf3, 0xbe, 0x6e, 0xf2, 0x5a, 0x72, 0x27,
280 0xff, 0xfd, 0x09, 0xf8, 0x0b, 0x11, 0x04, 0xad, 0x35, 0x7a, 0x1c,
281 0xf4, 0x1b, 0xee, 0x1e, 0x17, 0xf1, 0xe5, 0x09, 0x9d, 0x1c, 0x43,
282 0xbc, 0xd3, 0x6f, 0x53, 0x92, 0x6d, 0x78, 0x07, 0x8f, 0x73, 0xec,
283 0xf6, 0xeb, 0x06, 0x58, 0x1b, 0xac, 0xba, 0x56, 0x80, 0xba };
284 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_44 = {
285 .point = chiptest_0fd26a42aa63_point_41,
287 .scalar = chiptest_0fd26a42aa63_scalar_42,
289 .out_point = chiptest_0fd26a42aa63_out_point_43,
292 static const uint8_t chiptest_0fd26a42aa63_point_45[] = { 0x04, 0x5b, 0x87, 0x49, 0x93, 0x82, 0x19, 0x18, 0x75, 0xc7, 0x98,
293 0x29, 0x78, 0x75, 0x4c, 0x96, 0x2e, 0xf7, 0xbe, 0x02, 0x16, 0x70,
294 0xfc, 0xd2, 0xf0, 0x19, 0x2f, 0xd0, 0x5b, 0xc7, 0xe5, 0xde, 0xbc,
295 0x94, 0xbb, 0x48, 0x68, 0x4b, 0x22, 0xe5, 0xc9, 0xec, 0x75, 0xef,
296 0xa5, 0x2d, 0xab, 0x72, 0xfd, 0xbe, 0xb9, 0x6e, 0xb2, 0xe4, 0x18,
297 0xf8, 0x41, 0x94, 0xb1, 0x28, 0x0c, 0x00, 0xcc, 0x82, 0x40 };
298 static const uint8_t chiptest_0fd26a42aa63_scalar_46[] = { 0xf3, 0x6b, 0x85, 0x87, 0xbb, 0xc1, 0xab, 0x8d, 0x8a, 0xee, 0x77,
299 0xdf, 0xac, 0x70, 0x49, 0xf5, 0xf8, 0xaa, 0x9d, 0x8c, 0x65, 0x2a,
300 0x08, 0x4c, 0xab, 0x74, 0x6e, 0xdd, 0xfe, 0x9b, 0x02, 0x99 };
301 static const uint8_t chiptest_0fd26a42aa63_out_point_47[] = { 0x04, 0xa4, 0x46, 0x6f, 0x1e, 0xf7, 0x91, 0xe4, 0x6e, 0xb4, 0xd0,
302 0xd6, 0xb5, 0xec, 0x55, 0x11, 0x4b, 0xe3, 0xa0, 0x45, 0x18, 0x0d,
303 0x90, 0xe5, 0xc7, 0x6e, 0x81, 0xa2, 0xd7, 0xe1, 0x6a, 0x5c, 0xb9,
304 0x3a, 0xf7, 0xe2, 0xd4, 0xc1, 0x25, 0x59, 0x6f, 0xf5, 0xa3, 0xf5,
305 0x21, 0x2a, 0xac, 0x55, 0x4e, 0x84, 0x05, 0xb6, 0x2f, 0xb6, 0x10,
306 0xae, 0xad, 0x92, 0x3f, 0x45, 0x4a, 0x10, 0x54, 0x6d, 0x1e };
307 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_48 = {
308 .point = chiptest_0fd26a42aa63_point_45,
310 .scalar = chiptest_0fd26a42aa63_scalar_46,
312 .out_point = chiptest_0fd26a42aa63_out_point_47,
315 static const uint8_t chiptest_0fd26a42aa63_point_49[] = { 0x04, 0x25, 0xe9, 0xbf, 0x00, 0x4b, 0x69, 0x97, 0x29, 0xf7, 0x08,
316 0x4d, 0x3a, 0x78, 0x31, 0x7c, 0x2c, 0x79, 0x0e, 0x67, 0x13, 0x55,
317 0x9c, 0xd3, 0x5f, 0xeb, 0xa0, 0xd1, 0x43, 0x8b, 0x81, 0x83, 0x76,
318 0xa5, 0x92, 0x38, 0x0c, 0xff, 0xd4, 0x05, 0x10, 0xd2, 0xe0, 0xfc,
319 0x9f, 0xc4, 0xc6, 0x4a, 0x41, 0x03, 0x83, 0xeb, 0x41, 0x25, 0x63,
320 0xa1, 0x7d, 0x47, 0xf4, 0x13, 0xab, 0x1c, 0x7b, 0x46, 0x78 };
321 static const uint8_t chiptest_0fd26a42aa63_scalar_50[] = { 0xd1, 0x02, 0x6d, 0x19, 0x7f, 0x73, 0x70, 0x3b, 0x16, 0x74, 0x15,
322 0xe1, 0x99, 0x96, 0x31, 0xc0, 0x51, 0x87, 0x22, 0xd0, 0x7c, 0x35,
323 0x6b, 0xd5, 0x84, 0x4e, 0x5e, 0x56, 0xa9, 0xb9, 0xb4, 0xdb };
324 static const uint8_t chiptest_0fd26a42aa63_out_point_51[] = { 0x04, 0x4d, 0x12, 0x56, 0x20, 0x34, 0x90, 0xc2, 0x7e, 0xb7, 0x9f,
325 0xfe, 0xf7, 0x22, 0x8f, 0x77, 0xa4, 0xe9, 0xa2, 0x7f, 0x87, 0x9a,
326 0xe5, 0x45, 0x40, 0xe9, 0x24, 0x90, 0x72, 0xcf, 0x8a, 0x02, 0xae,
327 0x91, 0x1a, 0x0e, 0x28, 0x67, 0x3f, 0x69, 0xd6, 0xaf, 0xfe, 0x3c,
328 0x74, 0xa1, 0x35, 0x6f, 0xd4, 0xbb, 0xbc, 0x9f, 0x74, 0x76, 0xea,
329 0xd3, 0x6e, 0xb3, 0x6b, 0x6c, 0xb6, 0x08, 0x22, 0x81, 0x3b };
330 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_52 = {
331 .point = chiptest_0fd26a42aa63_point_49,
333 .scalar = chiptest_0fd26a42aa63_scalar_50,
335 .out_point = chiptest_0fd26a42aa63_out_point_51,
338 static const uint8_t chiptest_0fd26a42aa63_point_53[] = { 0x04, 0xbf, 0xee, 0x0a, 0x98, 0x12, 0x05, 0xf4, 0xb2, 0x2d, 0xa6,
339 0x16, 0x66, 0x63, 0x3d, 0x32, 0x45, 0x2a, 0x5e, 0xa9, 0x0a, 0x1f,
340 0x0f, 0x77, 0x55, 0x4d, 0x15, 0xd7, 0x25, 0x34, 0x70, 0x34, 0x16,
341 0xae, 0x2f, 0x1f, 0xd3, 0x42, 0x3a, 0x0a, 0xb4, 0x25, 0xd4, 0x2b,
342 0xbb, 0xf4, 0x4f, 0xaa, 0xe6, 0x85, 0x72, 0x3d, 0x07, 0xa1, 0xd1,
343 0xfb, 0x95, 0x17, 0xd4, 0xd4, 0xd0, 0x52, 0xa3, 0xb4, 0x73 };
344 static const uint8_t chiptest_0fd26a42aa63_scalar_54[] = { 0x14, 0x75, 0x36, 0xe4, 0x65, 0xa7, 0xcf, 0x82, 0x9d, 0x42, 0xe3,
345 0xba, 0x15, 0x1f, 0xce, 0x6e, 0x0e, 0xd1, 0xcc, 0xfb, 0x34, 0x84,
346 0x8c, 0x54, 0x72, 0x6f, 0xfd, 0x9b, 0xa7, 0xed, 0x64, 0x8e };
347 static const uint8_t chiptest_0fd26a42aa63_out_point_55[] = { 0x04, 0x33, 0x27, 0x79, 0xda, 0x78, 0xff, 0x41, 0x68, 0xc0, 0x36,
348 0x55, 0xcd, 0x8a, 0xff, 0x9d, 0x95, 0x43, 0xe6, 0xd4, 0xbe, 0x3a,
349 0x53, 0x28, 0x23, 0x4f, 0x3f, 0x47, 0x5d, 0x16, 0x44, 0x3e, 0xc8,
350 0xf7, 0x0e, 0xce, 0x9f, 0x9e, 0xaa, 0x02, 0xea, 0x2e, 0x49, 0x96,
351 0x3d, 0x86, 0xcb, 0x33, 0x50, 0x4e, 0x91, 0x4f, 0xb9, 0x09, 0xf8,
352 0xe5, 0xa8, 0x53, 0x31, 0x5c, 0xf3, 0xe8, 0xef, 0x11, 0x3e };
353 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_56 = {
354 .point = chiptest_0fd26a42aa63_point_53,
356 .scalar = chiptest_0fd26a42aa63_scalar_54,
358 .out_point = chiptest_0fd26a42aa63_out_point_55,
361 static const uint8_t chiptest_0fd26a42aa63_point_57[] = { 0x04, 0xfc, 0x03, 0x05, 0xd4, 0x05, 0x52, 0xd0, 0x0f, 0x5d, 0xb9,
362 0xcd, 0x43, 0xa5, 0x1c, 0x54, 0xf7, 0x9a, 0x98, 0x98, 0x9a, 0xac,
363 0x15, 0x77, 0x02, 0x8c, 0xcd, 0x9e, 0x92, 0x99, 0xca, 0x76, 0x53,
364 0x53, 0x54, 0x46, 0x57, 0x27, 0x56, 0x0a, 0x31, 0xe0, 0xc3, 0x4f,
365 0xdd, 0x3c, 0xf2, 0xae, 0xe7, 0x5d, 0x9d, 0x74, 0x5d, 0xbc, 0x01,
366 0x47, 0x62, 0x1d, 0x99, 0x60, 0x53, 0x5c, 0x45, 0x97, 0x8f };
367 static const uint8_t chiptest_0fd26a42aa63_scalar_58[] = { 0x1d, 0x10, 0xa9, 0xc9, 0x0f, 0x54, 0x6b, 0xab, 0x00, 0xea, 0xc5,
368 0xe1, 0xf0, 0xcd, 0xc5, 0xbc, 0x60, 0xe0, 0x9e, 0x1b, 0xfc, 0x15,
369 0x91, 0xd0, 0x8d, 0x80, 0x8c, 0xeb, 0x0a, 0x21, 0x21, 0xef };
370 static const uint8_t chiptest_0fd26a42aa63_out_point_59[] = { 0x04, 0xec, 0xf6, 0xb5, 0xb2, 0x36, 0x33, 0x86, 0x94, 0x43, 0x21,
371 0x86, 0xdd, 0x68, 0xa0, 0xe8, 0xf7, 0xbf, 0xeb, 0x19, 0x0c, 0x4a,
372 0x1d, 0x3b, 0xdd, 0xe9, 0x5f, 0x3d, 0x3a, 0xd0, 0xed, 0x45, 0x44,
373 0xfd, 0x43, 0x10, 0xee, 0x41, 0x86, 0xa2, 0xf0, 0xa5, 0x80, 0xa3,
374 0x0e, 0xe6, 0x43, 0x18, 0x13, 0x77, 0x88, 0xed, 0x71, 0x17, 0xb7,
375 0xbb, 0xcf, 0xb3, 0x06, 0x73, 0x3e, 0x1c, 0xd8, 0x68, 0xdc };
376 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_60 = {
377 .point = chiptest_0fd26a42aa63_point_57,
379 .scalar = chiptest_0fd26a42aa63_scalar_58,
381 .out_point = chiptest_0fd26a42aa63_out_point_59,
384 static const uint8_t chiptest_0fd26a42aa63_point_61[] = { 0x04, 0x4a, 0x7d, 0xcd, 0xcf, 0xe2, 0x5b, 0x5f, 0x03, 0xca, 0x29,
385 0x01, 0xdc, 0x3c, 0xad, 0xb8, 0x2e, 0xe0, 0x5a, 0xda, 0x6e, 0x31,
386 0xa9, 0x58, 0x97, 0x78, 0x65, 0xc0, 0x22, 0x36, 0xda, 0x9a, 0xe5,
387 0xda, 0x56, 0x42, 0x00, 0xd0, 0x1b, 0x5d, 0x11, 0xd2, 0xc6, 0x7b,
388 0x59, 0x8a, 0xeb, 0xf3, 0x6c, 0xc4, 0x81, 0x12, 0x77, 0xe8, 0x62,
389 0x49, 0x95, 0x14, 0xce, 0xe3, 0x95, 0x21, 0xb2, 0x37, 0xf6 };
390 static const uint8_t chiptest_0fd26a42aa63_scalar_62[] = { 0x0c, 0xb6, 0x5f, 0xfd, 0x13, 0xf6, 0x43, 0xf9, 0xe0, 0xc1, 0xd0,
391 0xf4, 0x1d, 0xbc, 0x61, 0x11, 0x12, 0x89, 0xac, 0xe0, 0xd1, 0x92,
392 0xfc, 0x7e, 0x0d, 0xa4, 0x0b, 0x25, 0xc1, 0xa8, 0xa8, 0xf0 };
393 static const uint8_t chiptest_0fd26a42aa63_out_point_63[] = { 0x04, 0xfe, 0x72, 0xdb, 0xe8, 0xac, 0x31, 0x9b, 0xfd, 0xfd, 0x08,
394 0xbc, 0x97, 0xd3, 0x8c, 0x7d, 0xd5, 0x67, 0xf7, 0x41, 0xe4, 0x49,
395 0x8f, 0x09, 0xc4, 0xc1, 0x55, 0x8a, 0xdc, 0xe1, 0x95, 0x91, 0x43,
396 0x37, 0xe8, 0xcd, 0x08, 0xca, 0x3a, 0x55, 0x01, 0x84, 0x34, 0x72,
397 0xa0, 0xc6, 0x1d, 0xb3, 0xb3, 0x6d, 0xa3, 0x75, 0x13, 0x44, 0x21,
398 0xb1, 0x72, 0x74, 0x42, 0x75, 0xb0, 0x36, 0x34, 0xb7, 0x1d };
399 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_64 = {
400 .point = chiptest_0fd26a42aa63_point_61,
402 .scalar = chiptest_0fd26a42aa63_scalar_62,
404 .out_point = chiptest_0fd26a42aa63_out_point_63,
407 static const uint8_t chiptest_0fd26a42aa63_point_65[] = { 0x04, 0x6f, 0x8e, 0x8b, 0x9b, 0x50, 0x49, 0x2c, 0xcc, 0x34, 0xd8,
408 0x24, 0x19, 0x9e, 0x1d, 0x68, 0x54, 0x0e, 0xb2, 0x7e, 0x98, 0xc3,
409 0xfd, 0x9f, 0xf0, 0x9a, 0xbb, 0xa2, 0xc4, 0xe0, 0x8b, 0x3f, 0x06,
410 0xd7, 0x93, 0xc4, 0x4d, 0x3e, 0xf6, 0x22, 0xbb, 0x2a, 0x57, 0x17,
411 0x69, 0xeb, 0x20, 0x4c, 0xae, 0x46, 0xcd, 0x15, 0x12, 0xf1, 0x55,
412 0x01, 0x4a, 0x70, 0x7e, 0xf2, 0x30, 0x43, 0x7c, 0x5e, 0x18 };
413 static const uint8_t chiptest_0fd26a42aa63_scalar_66[] = { 0x7c, 0xe6, 0xe2, 0x6a, 0x2a, 0x0e, 0x0c, 0x5b, 0x9e, 0x19, 0x59,
414 0x55, 0x1e, 0x73, 0x7f, 0x38, 0xf6, 0x10, 0xdd, 0x79, 0xd2, 0x75,
415 0xcd, 0xf5, 0x6d, 0x3d, 0x7e, 0xd4, 0x65, 0x4c, 0x74, 0xbb };
416 static const uint8_t chiptest_0fd26a42aa63_out_point_67[] = { 0x04, 0xcd, 0x05, 0x21, 0xb5, 0xc9, 0x8b, 0x52, 0x8a, 0xb6, 0x87,
417 0x35, 0x5a, 0x21, 0xa4, 0xe9, 0x5b, 0xa0, 0x17, 0xf9, 0x6b, 0x46,
418 0x77, 0x8d, 0x6f, 0x89, 0xaf, 0xb7, 0xa4, 0x8f, 0x9f, 0xf6, 0x37,
419 0x0a, 0x79, 0x15, 0x98, 0x3c, 0x94, 0x81, 0xb9, 0x10, 0x61, 0x30,
420 0x82, 0x24, 0xd7, 0x1f, 0x97, 0xf8, 0x72, 0x32, 0xd0, 0x53, 0xad,
421 0xa7, 0x6c, 0xa0, 0x56, 0x05, 0x65, 0x73, 0xe8, 0x53, 0x68 };
422 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_68 = {
423 .point = chiptest_0fd26a42aa63_point_65,
425 .scalar = chiptest_0fd26a42aa63_scalar_66,
427 .out_point = chiptest_0fd26a42aa63_out_point_67,
430 static const uint8_t chiptest_0fd26a42aa63_point_69[] = { 0x04, 0xef, 0xaa, 0xe4, 0x27, 0xe3, 0x17, 0xc7, 0xc3, 0x2b, 0x8a,
431 0xdc, 0x31, 0x5e, 0xdc, 0x7c, 0xa1, 0xa5, 0x79, 0x8b, 0xef, 0x0d,
432 0xf9, 0x28, 0xdb, 0x3a, 0x02, 0xcf, 0x45, 0x75, 0x48, 0x4a, 0xd9,
433 0x4c, 0xf3, 0xee, 0x79, 0x38, 0x72, 0xfb, 0x6a, 0xfd, 0xe8, 0x80,
434 0x73, 0x24, 0xa5, 0x19, 0x92, 0x7b, 0x6e, 0xe5, 0x9c, 0xcc, 0x4c,
435 0xd3, 0x5a, 0x4b, 0x41, 0x80, 0x52, 0xcf, 0xb7, 0x64, 0x32 };
436 static const uint8_t chiptest_0fd26a42aa63_scalar_70[] = { 0xae, 0x96, 0x62, 0x8a, 0xae, 0xe5, 0xb5, 0x46, 0x95, 0xae, 0xcf,
437 0xa0, 0x79, 0x1b, 0xf9, 0x36, 0x0d, 0xd5, 0xbc, 0x34, 0x01, 0x78,
438 0xe8, 0x14, 0x6a, 0xe0, 0xce, 0xde, 0xe6, 0x5b, 0x31, 0xa0 };
439 static const uint8_t chiptest_0fd26a42aa63_out_point_71[] = { 0x04, 0x2c, 0x31, 0x70, 0x0b, 0x5b, 0x71, 0x20, 0x4c, 0xcc, 0x73,
440 0xe6, 0x14, 0xb7, 0x6f, 0xef, 0x7c, 0xc7, 0x12, 0x88, 0xcc, 0x50,
441 0x36, 0x1f, 0xb6, 0x47, 0xca, 0x97, 0xc9, 0x37, 0x20, 0x5e, 0x11,
442 0x59, 0xc5, 0x10, 0x72, 0x22, 0xa7, 0xce, 0x7d, 0x93, 0x7a, 0x0e,
443 0x7c, 0xa3, 0x9b, 0x97, 0x14, 0x27, 0xf8, 0x0e, 0x3a, 0xbd, 0x51,
444 0x00, 0xda, 0x00, 0x17, 0x8d, 0xf4, 0xe5, 0xc1, 0x60, 0xf4 };
445 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_72 = {
446 .point = chiptest_0fd26a42aa63_point_69,
448 .scalar = chiptest_0fd26a42aa63_scalar_70,
450 .out_point = chiptest_0fd26a42aa63_out_point_71,
453 static const uint8_t chiptest_0fd26a42aa63_point_73[] = { 0x04, 0x52, 0x90, 0x95, 0x7e, 0x15, 0x3d, 0x11, 0x56, 0x9b, 0x92,
454 0xb8, 0x8c, 0x96, 0x32, 0x37, 0x66, 0xc7, 0x2e, 0x63, 0x88, 0x88,
455 0x1e, 0x1f, 0x6e, 0x98, 0x2d, 0x9b, 0x1c, 0xa0, 0x1e, 0x6b, 0x4c,
456 0xdc, 0x4f, 0xe6, 0xf2, 0x6e, 0x9c, 0x26, 0xfd, 0x5f, 0x5e, 0x3f,
457 0x7f, 0xc1, 0xc1, 0xc0, 0x07, 0xb2, 0x24, 0xb1, 0xb3, 0xe3, 0x24,
458 0x4c, 0xfc, 0x8c, 0x5b, 0x65, 0xa6, 0x7a, 0xbd, 0x1e, 0x37 };
459 static const uint8_t chiptest_0fd26a42aa63_scalar_74[] = { 0x2f, 0xc1, 0xb4, 0xd5, 0x5b, 0xc9, 0x81, 0x01, 0xda, 0x97, 0x10,
460 0x23, 0xf5, 0x9b, 0xb0, 0x3d, 0xb3, 0x63, 0xc1, 0x0b, 0xa8, 0x84,
461 0x5a, 0x17, 0x4d, 0xb5, 0xa3, 0xe8, 0x6c, 0x22, 0x47, 0x7f };
462 static const uint8_t chiptest_0fd26a42aa63_out_point_75[] = { 0x04, 0x94, 0xdf, 0x0b, 0x77, 0x2f, 0x24, 0x00, 0x63, 0x8f, 0x46,
463 0x7c, 0x39, 0xdd, 0xa5, 0x42, 0xe0, 0xc4, 0x0e, 0x7e, 0x7d, 0xc7,
464 0x63, 0x4a, 0x2d, 0x6b, 0x31, 0xfd, 0x08, 0x39, 0x6a, 0xe5, 0xd4,
465 0x75, 0x73, 0x29, 0x5d, 0xb9, 0x7f, 0x53, 0xd6, 0x78, 0xc8, 0x5c,
466 0x51, 0x71, 0x4f, 0xba, 0x91, 0xf3, 0xf6, 0xbf, 0xa6, 0xd3, 0x82,
467 0x51, 0xcd, 0x42, 0xd2, 0x62, 0xe6, 0x3c, 0xd4, 0xca, 0x3b };
468 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_76 = {
469 .point = chiptest_0fd26a42aa63_point_73,
471 .scalar = chiptest_0fd26a42aa63_scalar_74,
473 .out_point = chiptest_0fd26a42aa63_out_point_75,
476 static const uint8_t chiptest_0fd26a42aa63_point_77[] = { 0x04, 0x88, 0x44, 0x05, 0x46, 0xf0, 0xc1, 0xf8, 0x10, 0xeb, 0x18,
477 0xfc, 0xcb, 0xce, 0x50, 0x8d, 0xc8, 0x63, 0xf3, 0x9f, 0x27, 0xe3,
478 0x4c, 0x15, 0x07, 0x17, 0xf6, 0x56, 0xba, 0x8d, 0x8a, 0xea, 0x78,
479 0x4e, 0x7b, 0xcb, 0x3d, 0xd3, 0xf9, 0xb5, 0xff, 0xbd, 0xba, 0x22,
480 0xb9, 0xaa, 0x3d, 0xa6, 0xbf, 0x3d, 0x30, 0xe1, 0x85, 0x4f, 0x8a,
481 0xdd, 0x35, 0x5e, 0x0d, 0x8a, 0x52, 0xfc, 0x58, 0x96, 0x33 };
482 static const uint8_t chiptest_0fd26a42aa63_scalar_78[] = { 0x03, 0xac, 0xd3, 0xb0, 0x2e, 0x9a, 0x26, 0xa0, 0x14, 0x2b, 0x64,
483 0xd7, 0x1e, 0x56, 0x8f, 0x85, 0x39, 0xd6, 0x94, 0xee, 0xf1, 0x15,
484 0x37, 0xff, 0xd7, 0x8b, 0x23, 0x94, 0x5d, 0x33, 0x44, 0x8f };
485 static const uint8_t chiptest_0fd26a42aa63_out_point_79[] = { 0x04, 0xab, 0x9b, 0xb7, 0x08, 0x43, 0x9d, 0xec, 0xf1, 0xb1, 0x3b,
486 0x3f, 0xf4, 0x4a, 0xa9, 0x94, 0x40, 0x41, 0x3c, 0x57, 0x2c, 0x90,
487 0x5f, 0x33, 0x6a, 0x21, 0xe2, 0xc7, 0x20, 0xbc, 0x50, 0x74, 0x26,
488 0x48, 0x8f, 0xf3, 0x65, 0xbc, 0xdd, 0xd7, 0x2e, 0x73, 0x41, 0x0f,
489 0xfc, 0x07, 0xa8, 0x3d, 0xa2, 0x2b, 0x47, 0xdd, 0xfb, 0xc1, 0x53,
490 0xbf, 0xdf, 0x80, 0x86, 0x6f, 0xe0, 0x7a, 0x9e, 0x24, 0x09 };
491 static const struct spake2p_point_mul_tv chiptest_0fd26a42aa63_test_vector_80 = {
492 .point = chiptest_0fd26a42aa63_point_77,
494 .scalar = chiptest_0fd26a42aa63_scalar_78,
496 .out_point = chiptest_0fd26a42aa63_out_point_79,
499 static const struct spake2p_point_mul_tv * point_mul_tvs[] = {
500 &chiptest_0fd26a42aa63_test_vector_4, &chiptest_0fd26a42aa63_test_vector_8, &chiptest_0fd26a42aa63_test_vector_12,
501 &chiptest_0fd26a42aa63_test_vector_16, &chiptest_0fd26a42aa63_test_vector_20, &chiptest_0fd26a42aa63_test_vector_24,
502 &chiptest_0fd26a42aa63_test_vector_28, &chiptest_0fd26a42aa63_test_vector_32, &chiptest_0fd26a42aa63_test_vector_36,
503 &chiptest_0fd26a42aa63_test_vector_40, &chiptest_0fd26a42aa63_test_vector_44, &chiptest_0fd26a42aa63_test_vector_48,
504 &chiptest_0fd26a42aa63_test_vector_52, &chiptest_0fd26a42aa63_test_vector_56, &chiptest_0fd26a42aa63_test_vector_60,
505 &chiptest_0fd26a42aa63_test_vector_64, &chiptest_0fd26a42aa63_test_vector_68, &chiptest_0fd26a42aa63_test_vector_72,
506 &chiptest_0fd26a42aa63_test_vector_76, &chiptest_0fd26a42aa63_test_vector_80
509 } // namespace Crypto