summaryrefslogtreecommitdiff
path: root/sys/src/cmd/unix/drawterm/libsec/dsaverify.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2013-11-23 01:05:33 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2013-11-23 01:05:33 +0100
commit2f9ae0f8ac8610e13ced184847b57b87fe5db580 (patch)
treef9ad2223d518585a2cfe9ea1c73e1e37d07bf637 /sys/src/cmd/unix/drawterm/libsec/dsaverify.c
parentea5797c0731203c09ec5fb7172e77eab2750f1a9 (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.c46
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;
-}