diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-23 01:05:33 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-23 01:05:33 +0100 |
commit | 2f9ae0f8ac8610e13ced184847b57b87fe5db580 (patch) | |
tree | f9ad2223d518585a2cfe9ea1c73e1e37d07bf637 /sys/src/cmd/unix/drawterm/libsec/dsaverify.c | |
parent | ea5797c0731203c09ec5fb7172e77eab2750f1a9 (diff) |
removing (outdated) drawterm
drawterm is much better maintained by russ cox,
so removing this outdated copy.
for a more recent version, go to:
http://swtch.com/drawterm/
Diffstat (limited to 'sys/src/cmd/unix/drawterm/libsec/dsaverify.c')
-rw-r--r-- | sys/src/cmd/unix/drawterm/libsec/dsaverify.c | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/sys/src/cmd/unix/drawterm/libsec/dsaverify.c b/sys/src/cmd/unix/drawterm/libsec/dsaverify.c deleted file mode 100644 index 23cee501f..000000000 --- a/sys/src/cmd/unix/drawterm/libsec/dsaverify.c +++ /dev/null @@ -1,46 +0,0 @@ -#include "os.h" -#include <mp.h> -#include <libsec.h> - -int -dsaverify(DSApub *pub, DSAsig *sig, mpint *m) -{ - int rv = -1; - mpint *u1, *u2, *v, *sinv; - - if(sig->r->sign < 0 || mpcmp(sig->r, pub->q) >= 0) - return rv; - if(sig->s->sign < 0 || mpcmp(sig->s, pub->q) >= 0) - return rv; - u1 = mpnew(0); - u2 = mpnew(0); - v = mpnew(0); - sinv = mpnew(0); - - // find (s**-1) mod q, make sure it exists - mpextendedgcd(sig->s, pub->q, u1, sinv, v); - if(mpcmp(u1, mpone) != 0) - goto out; - - // u1 = (sinv * m) mod q, u2 = (r * sinv) mod q - mpmul(sinv, m, u1); - mpmod(u1, pub->q, u1); - mpmul(sig->r, sinv, u2); - mpmod(u2, pub->q, u2); - - // v = (((alpha**u1)*(key**u2)) mod p) mod q - mpexp(pub->alpha, u1, pub->p, sinv); - mpexp(pub->key, u2, pub->p, v); - mpmul(sinv, v, v); - mpmod(v, pub->p, v); - mpmod(v, pub->q, v); - - if(mpcmp(v, sig->r) == 0) - rv = 0; -out: - mpfree(v); - mpfree(u1); - mpfree(u2); - mpfree(sinv); - return rv; -} |