rijndael_ecbctx rij;
poly1305_key key;
poly1305_ctx mac;
- dstr d = DSTR_INIT;
- octet k[16], r[16], n[16], s[16], *t, m[MSZMAX] = { 0 };
+ dstr dk = DSTR_INIT, dr = DSTR_INIT, dn = DSTR_INIT,
+ dt = DSTR_INIT, dm = DSTR_INIT;
+ octet *k, *r, s[16], *n, *t, *m;
int ok = 1;
+ DENSURE(&dk, 16); k = (octet *)dk.buf; dk.len = 16;
+ DENSURE(&dr, 16); r = (octet *)dr.buf; dr.len = 16;
+ DENSURE(&dn, 16); n = (octet *)dn.buf; dn.len = 16;
+ DENSURE(&dt, 16); t = (octet *)dt.buf; dt.len = 16;
+ DENSURE(&dm, MSZMAX); m = (octet *)dm.buf; dm.len = MSZMAX;
+ memset(m, 0, MSZMAX);
+
if (v[0].len != 16) { fprintf(stderr, "AES key len\n"); exit(2); }
if (v[1].len != 16) { fprintf(stderr, "poly key len\n"); exit(2); }
if (v[2].len != 16) { fprintf(stderr, "nonce len\n"); exit(2); }
memcpy(r, v[1].buf, 16);
memcpy(n, v[2].buf, 16);
niter = *(unsigned long *)v[3].buf;
- dstr_ensure(&d, 16); d.len = 16; t = (octet *)d.buf;
rijndael_ecbinit(&rij, k, 16, 0);
poly1305_keyinit(&key, r, 16);
fprintf(stderr, "\n\tinitial n = "); type_hex.dump(&v[2], stderr);
fprintf(stderr, "\n\titerations = %lu", niter);
fprintf(stderr, "\n\texpected = "); type_hex.dump(&v[4], stderr);
- fprintf(stderr, "\n\tcalculated = "); type_hex.dump(&d, stderr);
+ fprintf(stderr, "\n\tcalculated = "); type_hex.dump(&dt, stderr);
fputc('\n', stderr);
}
- dstr_destroy(&d);
+ dstr_destroy(&dk);
+ dstr_destroy(&dr);
+ dstr_destroy(&dn);
+ dstr_destroy(&dt);
+ dstr_destroy(&dm);
return (ok);
}