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/egsign.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/egsign.c')
-rw-r--r-- | sys/src/cmd/unix/drawterm/libsec/egsign.c | 43 |
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; -} |