From: Mark Wooding Date: Wed, 10 May 2017 20:11:51 +0000 (+0100) Subject: pub/{ed25519,x25519,x448}.c: Use symbolic constants for sizes of things. X-Git-Tag: 2.4.0~10 X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/commitdiff_plain/1b59808c769df96b1fcb5fb38c7f8fce069d0455 pub/{ed25519,x25519,x448}.c: Use symbolic constants for sizes of things. The main code still knows the right numbers by magic. --- diff --git a/pub/ed25519.c b/pub/ed25519.c index 217cbeb0..655b1e60 100644 --- a/pub/ed25519.c +++ b/pub/ed25519.c @@ -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, diff --git a/pub/x25519.c b/pub/x25519.c index 8e9649ec..aeff290e 100644 --- a/pub/x25519.c +++ b/pub/x25519.c @@ -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; diff --git a/pub/x448.c b/pub/x448.c index d766e5c1..73ca6bf7 100644 --- a/pub/x448.c +++ b/pub/x448.c @@ -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);