]> git.ozlabs.org Git - ppp.git/blobdiff - linux/mppe/arcfour.c
Remove old Linux kernel MPPE stuff
[ppp.git] / linux / mppe / arcfour.c
diff --git a/linux/mppe/arcfour.c b/linux/mppe/arcfour.c
deleted file mode 100644 (file)
index 97ae006..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * arcfour.c
- * by Frank Cusack <frank@google.com>
- * 100% public domain
- *
- * Implemented from the description in _Applied Cryptography_, 2nd ed.
- *
- * ** Distribution ** of this software is unlimited and unrestricted.
- *
- * ** Use ** of this software is almost certainly legal; however, refer
- * to <http://theory.lcs.mit.edu/~rivest/faq.html>.
- */
-
-#include "arcfour.h"
-#if defined(__linux__)
-#include <linux/string.h>
-#endif
-
-#define swap(a, b)             \
-{                              \
-    unsigned char t = b;       \
-    b = a;                     \
-    a = t;                     \
-}
-
-/*
- * Initialize arcfour from a key.
- */
-void
-arcfour_setkey(arcfour_context *context, const unsigned char *key,
-              unsigned keylen)
-{
-    unsigned i, j;
-    unsigned char K[256];
-
-    context->i = context->j = 0;
-
-    for (i = 0; i < 256; i++) {
-       context->S[i] = i;
-       K[i] = key[i % keylen];
-    }
-
-    j = 0;
-    for (i = 0; i < 256; i++) {
-       j = (j + context->S[i] + K[i]) % 256;
-       swap(context->S[i], context->S[j]);
-    }
-
-    memset(K, 0, sizeof(K));
-}
-
-/*
- * plaintext -> ciphertext (or vice versa)
- */
-void
-arcfour_encrypt(arcfour_context *context, const unsigned char *in, unsigned len,
-               unsigned char *out)
-{
-    unsigned i = context->i;
-    unsigned j = context->j;
-    unsigned char *S = context->S;
-    unsigned char K;
-
-    while (len--) {
-       i = (i + 1) % 256;
-       j = (j + S[i]) % 256;
-       swap(S[i], S[j]);
-       K = S[(S[i] + S[j]) % 256];
-       *out++ = *in++ ^ K;
-    }
-
-    context->i = i;
-    context->j = j;
-}
-