]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/crypto/blowfish/bf_skey.c
xnu-517.9.4.tar.gz
[apple/xnu.git] / bsd / crypto / blowfish / bf_skey.c
index 4515b8454f57729ff408c94e05ec884814741830..3f64cf95e97e9fb86bc55a18f9c36173ebc03944 100644 (file)
@@ -1,3 +1,6 @@
+/*     $FreeBSD: src/sys/crypto/blowfish/bf_skey.c,v 1.1.2.3 2002/03/26 10:12:23 ume Exp $     */
+/*     $KAME: bf_skey.c,v 1.7 2002/02/27 01:33:59 itojun Exp $ */
+
 /* crypto/bf/bf_skey.c */
 /* Copyright (C) 1995-1997 Eric Young (eay@mincom.oz.au)
  * All rights reserved.
 #include <crypto/blowfish/bf_locl.h>
 #include <crypto/blowfish/bf_pi.h>
 
-void BF_set_key(key,len,data)
-BF_KEY *key;
-int len;
-unsigned char *data;
-       {
+void
+BF_set_key(key, len, data)
+       BF_KEY *key;
+       int len;
+       unsigned char *data;
+{
        int i;
-       BF_LONG *p,ri,in[2];
-       unsigned char *d,*end;
-
+       BF_LONG *p, ri, in[2];
+       unsigned char *d, *end;
 
-       memcpy((char *)key,(char *)&bf_init,sizeof(BF_KEY));
-       p=key->P;
+       memcpy((char *)key, (const char *)&bf_init, sizeof(BF_KEY));
+       p = key->P;
 
-       if (len > ((BF_ROUNDS+2)*4)) len=(BF_ROUNDS+2)*4;
+       if (len > ((BF_ROUNDS + 2) * 4))
+               len = (BF_ROUNDS + 2) * 4;
 
-       d=data;
+       d = data;
        end= &(data[len]);
-       for (i=0; i<(BF_ROUNDS+2); i++)
-               {
-               ri= *(d++);
-               if (d >= end) d=data;
-
-               ri<<=8;
-               ri|= *(d++);
-               if (d >= end) d=data;
+       for (i = 0; i < BF_ROUNDS + 2; i++) {
+               ri = *(d++);
+               if (d >= end) d = data;
 
-               ri<<=8;
-               ri|= *(d++);
-               if (d >= end) d=data;
+               ri <<= 8;
+               ri |= *(d++);
+               if (d >= end) d = data;
 
-               ri<<=8;
-               ri|= *(d++);
-               if (d >= end) d=data;
+               ri <<= 8;
+               ri |= *(d++);
+               if (d >= end) d = data;
 
-               p[i]^=ri;
-               }
+               ri <<= 8;
+               ri |= *(d++);
+               if (d >= end) d = data;
 
-       in[0]=0L;
-       in[1]=0L;
-       for (i=0; i<(BF_ROUNDS+2); i+=2)
-               {
-               BF_encrypt(in,key,BF_ENCRYPT);
-               p[i  ]=in[0];
-               p[i+1]=in[1];
-               }
+               p[i] ^= ri;
+       }
 
-       p=key->S;
-       for (i=0; i<4*256; i+=2)
-               {
-               BF_encrypt(in,key,BF_ENCRYPT);
-               p[i  ]=in[0];
-               p[i+1]=in[1];
-               }
+       in[0] = 0L;
+       in[1] = 0L;
+       for (i = 0; i < BF_ROUNDS + 2; i += 2) {
+               BF_encrypt(in, key);
+               p[i  ] = in[0];
+               p[i+1] = in[1];
        }
 
+       p = key->S;
+       for (i = 0; i < 4 * 256; i += 2) {
+               BF_encrypt(in, key);
+               p[i  ] = in[0];
+               p[i+1] = in[1];
+       }
+}