Deploy the new <ctype.h> and `foocmp' macros from mLib.
[catacomb] / pub / x448.c
index d766e5c..70ec10f 100644 (file)
@@ -97,24 +97,28 @@ void x448(octet zz[X448_OUTSZ],
 
 #ifdef TEST_RIG
 
+#include <mLib/macros.h>
 #include <mLib/report.h>
-#include <mLib/str.h>
 #include <mLib/testrig.h>
 
+#include "ct.h"
+
 static int vrf_x448(dstr dv[])
 {
   dstr dz = DSTR_INIT;
   int ok = 1;
 
-  if (dv[0].len != 56) die(1, "bad key length");
-  if (dv[1].len != 56) die(1, "bad public length");
-  if (dv[2].len != 56) die(1, "bad result length");
+  if (dv[0].len != X448_KEYSZ) die(1, "bad key length");
+  if (dv[1].len != X448_PUBSZ) die(1, "bad public length");
+  if (dv[2].len != X448_OUTSZ) die(1, "bad result length");
 
-  dstr_ensure(&dz, 56); dz.len = 56;
+  ct_poison(dv[0].buf, dv[0].len);
+  dstr_ensure(&dz, X448_OUTSZ); dz.len = X448_OUTSZ;
   x448((octet *)dz.buf,
        (const octet *)dv[0].buf,
        (const octet *)dv[1].buf);
-  if (memcmp(dz.buf, dv[2].buf, 56) != 0) {
+  ct_remedy(dz.buf, dz.len);
+  if (MEMCMP(dz.buf, !=, dv[2].buf, X448_OUTSZ)) {
     ok = 0;
     fprintf(stderr, "failed!");
     fprintf(stderr, "\n\t   k = "); type_hex.dump(&dv[0], stderr);
@@ -130,7 +134,7 @@ static int vrf_x448(dstr dv[])
 
 static int vrf_mct(dstr dv[])
 {
-  octet b0[56], b1[56], *k = b0, *x = b1, *t;
+  octet b0[X448_OUTSZ], b1[X448_OUTSZ], *k = b0, *x = b1, *t;
   unsigned long i, niter;
   dstr d = DSTR_INIT;
   int ok = 1;
@@ -141,7 +145,7 @@ static int vrf_mct(dstr dv[])
   memcpy(b0, dv[0].buf, sizeof(b0));
   memcpy(b1, dv[1].buf, sizeof(b1));
   niter = *(unsigned long *)dv[2].buf;
-  dstr_ensure(&d, 56); d.len = 56; t = (octet *)d.buf;
+  dstr_ensure(&d, X448_OUTSZ); d.len = X448_OUTSZ; t = (octet *)d.buf;
 
   for (i = 0; i < niter; i++) {
     x448(x, k, x);
@@ -149,7 +153,7 @@ static int vrf_mct(dstr dv[])
   }
   memcpy(d.buf, k, d.len);
 
-  if (memcmp(d.buf, dv[3].buf, d.len) != 0) {
+  if (MEMCMP(d.buf, !=, dv[3].buf, d.len)) {
     ok = 0;
     fprintf(stderr, "failed...");
     fprintf(stderr, "\n\tinitial k = "); type_hex.dump(&dv[0], stderr);