|
|
@ -37,7 +37,7 @@ typedef struct
|
|
|
|
|
|
|
|
|
|
|
|
} RC4_KEY;
|
|
|
|
} RC4_KEY;
|
|
|
|
|
|
|
|
|
|
|
|
void swap (__local RC4_KEY *rc4_key, const u8 i, const u8 j)
|
|
|
|
static void swap (__local RC4_KEY *rc4_key, const u8 i, const u8 j)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
u8 tmp;
|
|
|
|
u8 tmp;
|
|
|
|
|
|
|
|
|
|
|
@ -46,7 +46,7 @@ void swap (__local RC4_KEY *rc4_key, const u8 i, const u8 j)
|
|
|
|
rc4_key->S[j] = tmp;
|
|
|
|
rc4_key->S[j] = tmp;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void rc4_init_16 (__local RC4_KEY *rc4_key, const u32 data[4])
|
|
|
|
static void rc4_init_16 (__local RC4_KEY *rc4_key, const u32 data[4])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
u32 v = 0x03020100;
|
|
|
|
u32 v = 0x03020100;
|
|
|
|
u32 a = 0x04040404;
|
|
|
|
u32 a = 0x04040404;
|
|
|
@ -84,7 +84,7 @@ void rc4_init_16 (__local RC4_KEY *rc4_key, const u32 data[4])
|
|
|
|
j += rc4_key->S[255] + d0; swap (rc4_key, 255, j);
|
|
|
|
j += rc4_key->S[255] + d0; swap (rc4_key, 255, j);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
u8 rc4_next_16 (__local RC4_KEY *rc4_key, u8 i, u8 j, __constant u32 *in, u32 out[4])
|
|
|
|
static u8 rc4_next_16 (__local RC4_KEY *rc4_key, u8 i, u8 j, __constant u32 *in, u32 out[4])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
#ifdef _unroll
|
|
|
|
#ifdef _unroll
|
|
|
|
#pragma unroll
|
|
|
|
#pragma unroll
|
|
|
|