pub/{ed25519,x25519,x448}.c: Use symbolic constants for sizes of things.
authorMark Wooding <mdw@distorted.org.uk>
Wed, 10 May 2017 20:11:51 +0000 (21:11 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 14 May 2017 13:58:42 +0000 (14:58 +0100)
The main code still knows the right numbers by magic.

pub/ed25519.c
pub/x25519.c
pub/x448.c

index 217cbeb..655b1e6 100644 (file)
@@ -512,11 +512,11 @@ static int vrf_pubkey(dstr dv[])
   dstr dpub = DSTR_INIT;
   int ok = 1;
 
-  if (dv[1].len != 32) die(1, "bad pub length");
+  if (dv[1].len != ED25519_PUBSZ) die(1, "bad pub length");
 
-  dstr_ensure(&dpub, 32); dpub.len = 32;
+  dstr_ensure(&dpub, ED25519_PUBSZ); dpub.len = ED25519_PUBSZ;
   ed25519_pubkey((octet *)dpub.buf, dv[0].buf, dv[0].len);
-  if (memcmp(dpub.buf, dv[1].buf, 64) != 0) {
+  if (memcmp(dpub.buf, dv[1].buf, ED25519_PUBSZ) != 0) {
     ok = 0;
     fprintf(stderr, "failed!");
     fprintf(stderr, "\n\tpriv = "); type_hex.dump(&dv[0], stderr);
@@ -535,13 +535,13 @@ static int vrf_sign(dstr dv[])
   dstr dsig = DSTR_INIT;
   int ok = 1;
 
-  if (dv[2].len != 64) die(1, "bad result length");
+  if (dv[2].len != ED25519_SIGSZ) die(1, "bad result length");
 
-  dstr_ensure(&dsig, 64); dsig.len = 64;
+  dstr_ensure(&dsig, ED25519_SIGSZ); dsig.len = ED25519_SIGSZ;
   ed25519_pubkey(K, dv[0].buf, dv[0].len);
   ed25519_sign((octet *)dsig.buf, dv[0].buf, dv[0].len, K,
               dv[1].buf, dv[1].len);
-  if (memcmp(dsig.buf, dv[2].buf, 64) != 0) {
+  if (memcmp(dsig.buf, dv[2].buf, ED25519_SIGSZ) != 0) {
     ok = 0;
     fprintf(stderr, "failed!");
     fprintf(stderr, "\n\tpriv = "); type_hex.dump(&dv[0], stderr);
@@ -560,8 +560,8 @@ static int vrf_verify(dstr dv[])
   int rc_want, rc_calc;
   int ok = 1;
 
-  if (dv[0].len != 32) die(1, "bad pub length");
-  if (dv[2].len != 64) die(1, "bad sig length");
+  if (dv[0].len != ED25519_PUBSZ) die(1, "bad pub length");
+  if (dv[2].len != ED25519_SIGSZ) die(1, "bad sig length");
   rc_want = *(int *)dv[3].buf;
 
   rc_calc = ed25519_verify((const octet *)dv[0].buf,
index 8e9649e..aeff290 100644 (file)
@@ -119,15 +119,15 @@ static int vrf_x25519(dstr dv[])
   dstr dz = DSTR_INIT;
   int ok = 1;
 
-  if (dv[0].len != 32) die(1, "bad key length");
-  if (dv[1].len != 32) die(1, "bad public length");
-  if (dv[2].len != 32) die(1, "bad result length");
+  if (dv[0].len != X25519_KEYSZ) die(1, "bad key length");
+  if (dv[1].len != X25519_PUBSZ) die(1, "bad public length");
+  if (dv[2].len != X25519_OUTSZ) die(1, "bad result length");
 
-  dstr_ensure(&dz, 32); dz.len = 32;
+  dstr_ensure(&dz, X25519_OUTSZ); dz.len = X25519_OUTSZ;
   x25519((octet *)dz.buf,
         (const octet *)dv[0].buf,
         (const octet *)dv[1].buf);
-  if (memcmp(dz.buf, dv[2].buf, 32) != 0) {
+  if (memcmp(dz.buf, dv[2].buf, X25519_OUTSZ) != 0) {
     ok = 0;
     fprintf(stderr, "failed!");
     fprintf(stderr, "\n\t   k = "); type_hex.dump(&dv[0], stderr);
@@ -143,7 +143,7 @@ static int vrf_x25519(dstr dv[])
 
 static int vrf_mct(dstr dv[])
 {
-  octet b0[32], b1[32], *k = b0, *x = b1, *t;
+  octet b0[X25519_OUTSZ], b1[X25519_OUTSZ], *k = b0, *x = b1, *t;
   unsigned long i, niter;
   dstr d = DSTR_INIT;
   int ok = 1;
@@ -154,7 +154,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, 32); d.len = 32; t = (octet *)d.buf;
+  dstr_ensure(&d, X25519_OUTSZ); d.len = X25519_OUTSZ; t = (octet *)d.buf;
 
   for (i = 0; i < niter; i++) {
     x[31] &= 0x7f;
index d766e5c..73ca6bf 100644 (file)
@@ -106,15 +106,15 @@ 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;
+  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) {
+  if (memcmp(dz.buf, dv[2].buf, X448_OUTSZ) != 0) {
     ok = 0;
     fprintf(stderr, "failed!");
     fprintf(stderr, "\n\t   k = "); type_hex.dump(&dv[0], stderr);
@@ -130,7 +130,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 +141,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);