summaryrefslogtreecommitdiff
path: root/sys/src/cmd/unix/drawterm/libsec/rsadecrypt.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/rsadecrypt.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/rsadecrypt.c')
-rw-r--r--sys/src/cmd/unix/drawterm/libsec/rsadecrypt.c37
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;
-}