PolarSSL v1.3.9
arc4.h File Reference

The ARCFOUR stream cipher. More...

#include "config.h"
#include <string.h>
Include dependency graph for arc4.h:

Go to the source code of this file.

Data Structures

struct  arc4_context
 ARC4 context structure. More...
 

Functions

void arc4_init (arc4_context *ctx)
 Initialize ARC4 context.
 
void arc4_free (arc4_context *ctx)
 Clear ARC4 context.
 
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.
 

Detailed Description

The ARCFOUR stream cipher.

Copyright (C) 2006-2014, Brainspark B.V.

This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>

All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Definition in file arc4.h.

Function Documentation

◆ arc4_crypt()

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

ARC4 cipher function.

Parameters
ctxARC4 context
lengthlength of the input data
inputbuffer holding the input data
outputbuffer for the output data
Returns
0 if successful

◆ arc4_free()

void arc4_free ( arc4_context * ctx)

Clear ARC4 context.

Parameters
ctxARC4 context to be cleared

◆ arc4_init()

void arc4_init ( arc4_context * ctx)

Initialize ARC4 context.

Parameters
ctxARC4 context to be initialized

◆ arc4_self_test()

int arc4_self_test ( int verbose)

Checkup routine.

Returns
0 if successful, or 1 if the test failed

◆ arc4_setup()

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

ARC4 key schedule.

Parameters
ctxARC4 context to be setup
keythe secret key
keylenlength of the key, in bytes