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/rsadecrypt.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/rsadecrypt.c')
-rw-r--r-- | sys/src/cmd/unix/drawterm/libsec/rsadecrypt.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/sys/src/cmd/unix/drawterm/libsec/rsadecrypt.c b/sys/src/cmd/unix/drawterm/libsec/rsadecrypt.c deleted file mode 100644 index 1e937bec8..000000000 --- a/sys/src/cmd/unix/drawterm/libsec/rsadecrypt.c +++ /dev/null @@ -1,37 +0,0 @@ -#include "os.h" -#include <mp.h> -#include <libsec.h> - -// decrypt rsa using garner's algorithm for the chinese remainder theorem -// seminumerical algorithms, knuth, pp 253-254 -// applied cryptography, menezes et al, pg 612 -mpint* -rsadecrypt(RSApriv *rsa, mpint *in, mpint *out) -{ - mpint *v1, *v2; - - if(out == nil) - out = mpnew(0); - - // convert in to modular representation - v1 = mpnew(0); - mpmod(in, rsa->p, v1); - v2 = mpnew(0); - mpmod(in, rsa->q, v2); - - // exponentiate the modular rep - mpexp(v1, rsa->kp, rsa->p, v1); - mpexp(v2, rsa->kq, rsa->q, v2); - - // out = v1 + p*((v2-v1)*c2 mod q) - mpsub(v2, v1, v2); - mpmul(v2, rsa->c2, v2); - mpmod(v2, rsa->q, v2); - mpmul(v2, rsa->p, out); - mpadd(v1, out, out); - - mpfree(v1); - mpfree(v2); - - return out; -} |