summaryrefslogtreecommitdiff
path: root/sys/src/cmd/unix/drawterm/libsec/egsign.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/egsign.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/egsign.c')
-rw-r--r--sys/src/cmd/unix/drawterm/libsec/egsign.c43
1 files changed, 0 insertions, 43 deletions
diff --git a/sys/src/cmd/unix/drawterm/libsec/egsign.c b/sys/src/cmd/unix/drawterm/libsec/egsign.c
deleted file mode 100644
index 10540041c..000000000
--- a/sys/src/cmd/unix/drawterm/libsec/egsign.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include "os.h"
-#include <mp.h>
-#include <libsec.h>
-
-EGsig*
-egsign(EGpriv *priv, mpint *m)
-{
- EGpub *pub = &priv->pub;
- EGsig *sig;
- mpint *pm1, *k, *kinv, *r, *s;
- mpint *p = pub->p, *alpha = pub->alpha;
- int plen = mpsignif(p);
-
- pm1 = mpnew(0);
- kinv = mpnew(0);
- r = mpnew(0);
- s = mpnew(0);
- k = mpnew(0);
- mpsub(p, mpone, pm1);
- while(1){
- mprand(plen, genrandom, k);
- if((mpcmp(mpone, k) > 0) || (mpcmp(k, pm1) >= 0))
- continue;
- mpextendedgcd(k, pm1, r, kinv, s);
- if(mpcmp(r, mpone) != 0)
- continue;
- break;
- }
- mpmod(kinv, pm1, kinv); // make kinv positive
- mpexp(alpha, k, p, r);
- mpmul(priv->secret, r, s);
- mpmod(s, pm1, s);
- mpsub(m, s, s);
- mpmul(kinv, s, s);
- mpmod(s, pm1, s);
- sig = egsigalloc();
- sig->r = r;
- sig->s = s;
- mpfree(pm1);
- mpfree(k);
- mpfree(kinv);
- return sig;
-}