arc4.c File Reference

#include "polarssl/config.h"
#include "polarssl/arc4.h"
#include <string.h>
#include <stdio.h>
Include dependency graph for arc4.c:

Go to the source code of this file.

Functions

void arc4_setup (arc4_context *ctx, const unsigned char *key, unsigned int keylen)
 ARC4 key schedule.
int arc4_crypt (arc4_context *ctx, size_t length, const unsigned char *input, unsigned char *output)
 ARC4 cipher function.
int arc4_self_test (int verbose)
 Checkup routine.

Variables

static const unsigned char arc4_test_key [3][8]
static const unsigned char arc4_test_pt [3][8]
static const unsigned char arc4_test_ct [3][8]

Function Documentation

int arc4_crypt ( arc4_context ctx,
size_t  length,
const unsigned char *  input,
unsigned char *  output 
)

ARC4 cipher function.

Parameters:
ctx ARC4 context
length length of the input data
input buffer holding the input data
output buffer for the output data
Returns:
0 if successful

Definition at line 71 of file arc4.c.

References arc4_context::m, arc4_context::x, and arc4_context::y.

Referenced by arc4_crypt_stream_wrap(), arc4_self_test(), pkcs12_pbe_sha1_rc4_128(), and test_suite_arc4_crypt().

int arc4_self_test ( int  verbose  ) 

Checkup routine.

Returns:
0 if successful, or 1 if the test failed

Definition at line 136 of file arc4.c.

References arc4_crypt(), arc4_setup(), arc4_test_ct, arc4_test_key, and arc4_test_pt.

Referenced by test_suite_arc4_selftest().

void arc4_setup ( arc4_context ctx,
const unsigned char *  key,
unsigned int  keylen 
)

ARC4 key schedule.

Parameters:
ctx ARC4 context to be initialized
key the secret key
keylen length of the key, in bytes

Definition at line 42 of file arc4.c.

References arc4_context::m, arc4_context::x, and arc4_context::y.

Referenced by arc4_self_test(), arc4_setkey_wrap(), pkcs12_pbe_sha1_rc4_128(), and test_suite_arc4_crypt().


Variable Documentation

const unsigned char arc4_test_ct[3][8] [static]
Initial value:
{
    { 0x75, 0xB7, 0x87, 0x80, 0x99, 0xE0, 0xC5, 0x96 },
    { 0x74, 0x94, 0xC2, 0xE7, 0x10, 0x4B, 0x08, 0x79 },
    { 0xDE, 0x18, 0x89, 0x41, 0xA3, 0x37, 0x5D, 0x3A }
}

Definition at line 126 of file arc4.c.

Referenced by arc4_self_test().

const unsigned char arc4_test_key[3][8] [static]
Initial value:
{
    { 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF },
    { 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF },
    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
}

Definition at line 112 of file arc4.c.

Referenced by arc4_self_test().

const unsigned char arc4_test_pt[3][8] [static]
Initial value:
{
    { 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF },
    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
}

Definition at line 119 of file arc4.c.

Referenced by arc4_self_test().


Generated on 9 Apr 2014 for PolarSSL v1.3.2 by  doxygen 1.6.1