2929
3030#define MAX_MSG_LENGTH 8192
3131#define MAX_CTX_LENGTH 255
32+ #define MU_LENGTH 64
3233
3334#define CHECK (x ) \
3435 do \
@@ -124,7 +125,7 @@ int main(int argc, char *argv[])
124125
125126 if (argc != 3 || decode_hex ("seed" , seed , sizeof (seed ), argv [2 ]) != 0 )
126127 {
127- printf ("decode_error=1 \n" );
128+ printf ("decode_error=for seed \n" );
128129 return 0 ;
129130 }
130131
@@ -149,19 +150,19 @@ int main(int argc, char *argv[])
149150 mlen = (strlen (argv [2 ]) - strlen ("msg=" )) / 2 ;
150151 if (mlen > MAX_MSG_LENGTH || decode_hex ("msg" , msg , mlen , argv [2 ]) != 0 )
151152 {
152- printf ("decode_error=1 \n" );
153+ printf ("decode_error=for msg or mlen incorrect \n" );
153154 return 0 ;
154155 }
155156 if (decode_hex ("sk" , sk , sizeof (sk ), argv [3 ]) != 0 )
156157 {
157- printf ("decode_error=1 \n" );
158+ printf ("decode_error=for sk \n" );
158159 return 0 ;
159160 }
160161
161162 ctxlen = (strlen (argv [4 ]) - strlen ("ctx=" )) / 2 ;
162163 if (ctxlen > MAX_CTX_LENGTH || decode_hex ("ctx" , ctx , ctxlen , argv [4 ]) != 0 )
163164 {
164- printf ("decode_error=1 \n" );
165+ printf ("decode_error=for ctx or ctxlen incorrect \n" );
165166 return 0 ;
166167 }
167168
@@ -178,7 +179,7 @@ int main(int argc, char *argv[])
178179 }
179180 else if (strcmp (argv [1 ], "sign_internal" ) == 0 )
180181 {
181- unsigned char mu [MAX_MSG_LENGTH ];
182+ unsigned char mu [MU_LENGTH ];
182183 unsigned char sk [CRYPTO_SECRETKEYBYTES ];
183184 unsigned char sig [CRYPTO_BYTES ];
184185 size_t mulen = 0 , siglen = 0 ;
@@ -190,14 +191,14 @@ int main(int argc, char *argv[])
190191 }
191192
192193 mulen = (strlen (argv [2 ]) - strlen ("mu=" )) / 2 ;
193- if (mulen > MAX_MSG_LENGTH || decode_hex ("mu" , mu , mulen , argv [2 ]) != 0 )
194+ if (mulen != MU_LENGTH || decode_hex ("mu" , mu , mulen , argv [2 ]) != 0 )
194195 {
195- printf ("decode_error=1 \n" );
196+ printf ("decode_error=for mu or mulen incorrect \n" );
196197 return 0 ;
197198 }
198199 if (decode_hex ("sk" , sk , sizeof (sk ), argv [3 ]) != 0 )
199200 {
200- printf ("decode_error=1 \n" );
201+ printf ("decode_error=for sk \n" );
201202 return 0 ;
202203 }
203204
@@ -222,23 +223,23 @@ int main(int argc, char *argv[])
222223 mlen = (strlen (argv [2 ]) - strlen ("msg=" )) / 2 ;
223224 if (mlen > MAX_MSG_LENGTH || decode_hex ("msg" , msg , mlen , argv [2 ]) != 0 )
224225 {
225- printf ("decode_error=1 \n" );
226+ printf ("decode_error=for msg or mlen incorrect \n" );
226227 return 0 ;
227228 }
228229 ctxlen = (strlen (argv [3 ]) - strlen ("ctx=" )) / 2 ;
229230 if (ctxlen > MAX_CTX_LENGTH || decode_hex ("ctx" , ctx , ctxlen , argv [3 ]) != 0 )
230231 {
231- printf ("decode_error=1 \n" );
232+ printf ("decode_error=for ctx or ctxlen incorrect \n" );
232233 return 0 ;
233234 }
234235 if (decode_hex ("sig" , sig , sizeof (sig ), argv [4 ]) != 0 )
235236 {
236- printf ("decode_error=1 \n" );
237+ printf ("decode_error=for sig \n" );
237238 return 0 ;
238239 }
239240 if (decode_hex ("pk" , pk , sizeof (pk ), argv [5 ]) != 0 )
240241 {
241- printf ("decode_error=1 \n" );
242+ printf ("decode_error=for pk \n" );
242243 return 0 ;
243244 }
244245
@@ -247,7 +248,7 @@ int main(int argc, char *argv[])
247248 }
248249 else if (strcmp (argv [1 ], "verify_internal" ) == 0 )
249250 {
250- unsigned char mu [MAX_MSG_LENGTH ];
251+ unsigned char mu [MU_LENGTH ];
251252 unsigned char sig [CRYPTO_BYTES ];
252253 unsigned char pk [CRYPTO_PUBLICKEYBYTES ];
253254 size_t mulen = 0 ;
@@ -259,19 +260,19 @@ int main(int argc, char *argv[])
259260 }
260261
261262 mulen = (strlen (argv [2 ]) - strlen ("mu=" )) / 2 ;
262- if (mulen > MAX_MSG_LENGTH || decode_hex ("mu" , mu , mulen , argv [2 ]) != 0 )
263+ if (mulen != MU_LENGTH || decode_hex ("mu" , mu , mulen , argv [2 ]) != 0 )
263264 {
264- printf ("decode_error=1 \n" );
265+ printf ("decode_error=for mu or mulen incorrect \n" );
265266 return 0 ;
266267 }
267268 if (decode_hex ("sig" , sig , sizeof (sig ), argv [3 ]) != 0 )
268269 {
269- printf ("decode_error=1 \n" );
270+ printf ("decode_error=for sig \n" );
270271 return 0 ;
271272 }
272273 if (decode_hex ("pk" , pk , sizeof (pk ), argv [4 ]) != 0 )
273274 {
274- printf ("decode_error=1 \n" );
275+ printf ("decode_error=for pk \n" );
275276 return 0 ;
276277 }
277278
@@ -293,6 +294,6 @@ int main(int argc, char *argv[])
293294 " wycheproof_mldsa{lvl} sign_internal mu=HEX sk=HEX\n"
294295 " wycheproof_mldsa{lvl} verify msg=HEX ctx=HEX sig=HEX pk=HEX\n"
295296 " wycheproof_mldsa{lvl} verify_internal mu=HEX sig=HEX pk=HEX\n" );
296-
297+
297298 return 1 ;
298299}
0 commit comments