Enc doesn't support AEAD ciphers.
[openssl.git] / crypto / rc4 / rc4_skey.c
index a78128b6a7167d27cf5b9c7a4e6227c38018a471..f8a5956e795fa06ded1a3292e6c3738becdf2954 100644 (file)
  * [including the GNU Public Licence.]
  */
 
-#include "rc4.h"
+#include <openssl/rc4.h>
 #include "rc4_locl.h"
+#include <openssl/opensslv.h>
 
-char *RC4_version="RC4 part of SSLeay 0.9.1c 22-Dec-1998";
+const char RC4_version[]="RC4" OPENSSL_VERSION_PTEXT;
 
-char *RC4_options()
+const char *RC4_options(void)
        {
 #ifdef RC4_INDEX
        if (sizeof(RC4_INT) == 1)
@@ -84,10 +85,7 @@ char *RC4_options()
  * Date: Wed, 14 Sep 1994 06:35:31 GMT
  */
 
-void RC4_set_key(key, len, data)
-RC4_KEY *key;
-int len;
-register unsigned char *data;
+void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)
        {
         register RC4_INT tmp;
         register int id1,id2;
@@ -95,25 +93,24 @@ register unsigned char *data;
         unsigned int i;
         
         d= &(key->data[0]);
-       for (i=0; i<256; i++)
-               d[i]=i;
         key->x = 0;     
         key->y = 0;     
         id1=id2=0;     
 
-#define SK_LOOP(n) { \
+#define SK_LOOP(d,n) { \
                tmp=d[(n)]; \
                id2 = (data[id1] + tmp + id2) & 0xff; \
                if (++id1 == len) id1=0; \
                d[(n)]=d[id2]; \
                d[id2]=tmp; }
 
+       for (i=0; i < 256; i++) d[i]=i;
        for (i=0; i < 256; i+=4)
                {
-               SK_LOOP(i+0);
-               SK_LOOP(i+1);
-               SK_LOOP(i+2);
-               SK_LOOP(i+3);
+               SK_LOOP(d,i+0);
+               SK_LOOP(d,i+1);
+               SK_LOOP(d,i+2);
+               SK_LOOP(d,i+3);
                }
        }