Lines Matching refs:impl
75 #define aes_selftest_fail(impl, actual, expected, nbytes, fmt, args...) \
77 printf("%s "fmt": self-test failed\n", (impl)->ai_name, ##args); \
84 aes_selftest_encdec(const struct aes_impl *impl)
117 impl->ai_setenckey(&enc, key, aes_nrounds[i]);
118 impl->ai_setdeckey(&dec, key, aes_nrounds[i]);
119 impl->ai_enc(&enc, in, out, aes_nrounds[i]);
121 return aes_selftest_fail(impl, out, expected[i], 16,
123 impl->ai_dec(&dec, out, out, aes_nrounds[i]);
125 return aes_selftest_fail(impl, out, in, 16,
130 return aes_selftest_fail(impl, outbuf,
134 return aes_selftest_fail(impl, outbuf + 17,
143 aes_selftest_encdec_cbc(const struct aes_impl *impl)
223 impl->ai_setenckey(&enc, key, aes_nrounds[i]);
224 impl->ai_setdeckey(&dec, key, aes_nrounds[i]);
228 impl->ai_cbc_enc(&enc, in, out, 144, iv, aes_nrounds[i]);
230 return aes_selftest_fail(impl, out, expected[i], 144,
234 impl->ai_cbc_dec(&dec, out, out, 144, iv, aes_nrounds[i]);
236 return aes_selftest_fail(impl, out, in, 144,
242 impl->ai_cbc_enc(&enc, in, out, j, iv, aes_nrounds[i]);
243 impl->ai_cbc_enc(&enc, in + j, out + j, 144 - j, iv,
246 return aes_selftest_fail(impl, out,
251 impl->ai_cbc_dec(&dec, out, out, j, iv,
253 impl->ai_cbc_dec(&dec, out + j, out + j, 144 - j, iv,
256 return aes_selftest_fail(impl, out,
263 return aes_selftest_fail(impl, outbuf,
267 return aes_selftest_fail(impl, outbuf + 145,
276 aes_selftest_encdec_xts(const struct aes_impl *impl)
357 impl->ai_setenckey(&enc, key2, aes_nrounds[i]);
358 impl->ai_enc(&enc, blkno_buf, iv0, aes_nrounds[i]);
361 impl->ai_setenckey(&enc, key1, aes_nrounds[i]);
362 impl->ai_setdeckey(&dec, key1, aes_nrounds[i]);
366 impl->ai_xts_enc(&enc, in, out, 144, iv, aes_nrounds[i]);
368 return aes_selftest_fail(impl, out, expected[i], 144,
372 impl->ai_xts_dec(&dec, out, out, 144, iv, aes_nrounds[i]);
374 return aes_selftest_fail(impl, out, in, 144,
379 impl->ai_xts_enc(&enc, in, out, 16, iv, aes_nrounds[i]);
380 impl->ai_xts_enc(&enc, in + 16, out + 16, 128, iv,
383 return aes_selftest_fail(impl, out, expected[i], 144,
387 impl->ai_xts_dec(&dec, out, out, 128, iv, aes_nrounds[i]);
388 impl->ai_xts_dec(&dec, out + 128, out + 128, 16, iv,
391 return aes_selftest_fail(impl, out, in, 144,
396 return aes_selftest_fail(impl, outbuf,
400 return aes_selftest_fail(impl, outbuf + 145,
409 aes_selftest_cbcmac(const struct aes_impl *impl)
434 impl->ai_setenckey(&enc, key, nr);
435 impl->ai_cbcmac_update1(&enc, m, 16, auth, nr);
437 return aes_selftest_fail(impl, auth, auth16, 16,
439 impl->ai_cbcmac_update1(&enc, m + 16, 32, auth, nr);
441 return aes_selftest_fail(impl, auth, auth48, 16,
448 aes_selftest_ccm(const struct aes_impl *impl)
505 impl->ai_setenckey(&enc, key, nr);
510 impl->ai_ccm_enc1(&enc, ptxt, buf, 16, authctr, nr);
512 result |= aes_selftest_fail(impl, authctr, authctr16, 32,
514 impl->ai_ccm_enc1(&enc, ptxt + 16, buf + 16, 32, authctr, nr);
516 result |= aes_selftest_fail(impl, authctr, authctr48, 32,
520 result |= aes_selftest_fail(impl, buf, ctxt, 48,
526 impl->ai_ccm_dec1(&enc, ctxt, buf, 16, authctr, nr);
528 result |= aes_selftest_fail(impl, authctr, authctr16, 32,
530 impl->ai_ccm_dec1(&enc, ctxt + 16, buf + 16, 32, authctr, nr);
532 result |= aes_selftest_fail(impl, authctr, authctr48, 32,
536 result |= aes_selftest_fail(impl, buf, ptxt, 48,
543 aes_selftest(const struct aes_impl *impl)
547 if (impl->ai_probe())
550 if (aes_selftest_encdec(impl))
552 if (aes_selftest_encdec_cbc(impl))
554 if (aes_selftest_encdec_xts(impl))
556 if (aes_selftest_cbcmac(impl))
558 if (aes_selftest_ccm(impl))