Skip to content

arc4.h

Functions

Name
int wc_Arc4Process(Arc4 * arc4, byte * out, const byte * in, word32 length)
This function encrypts an input message from the buffer in, placing the ciphertext in the output buffer out, or decrypts a ciphertext from the buffer in, placing the plaintext in the output buffer out, using ARC4 encryption. This function is used for both encryption and decryption. Before this method may be called, one must first initialize the ARC4 structure using wc_Arc4SetKey.
int wc_Arc4SetKey(Arc4 * arc4, const byte * key, word32 length)
This function sets the key for a ARC4 object, initializing it for use as a cipher. It should be called before using it for encryption with wc_Arc4Process.

Functions Documentation

function wc_Arc4Process

int wc_Arc4Process(
    Arc4 * arc4,
    byte * out,
    const byte * in,
    word32 length
)

This function encrypts an input message from the buffer in, placing the ciphertext in the output buffer out, or decrypts a ciphertext from the buffer in, placing the plaintext in the output buffer out, using ARC4 encryption. This function is used for both encryption and decryption. Before this method may be called, one must first initialize the ARC4 structure using wc_Arc4SetKey.

Parameters:

  • arc4 pointer to the ARC4 structure used to process the message
  • out pointer to the output buffer in which to store the processed message
  • in pointer to the input buffer containing the message to process
  • length length of the message to process

See: wc_Arc4SetKey

Return: none

Example

Arc4 enc;
byte key[] = { key to use for encryption };
wc_Arc4SetKey(&enc, key, sizeof(key));

byte plain[] = { plain text to encode };
byte cipher[sizeof(plain)];
byte decrypted[sizeof(plain)];
// encrypt the plain into cipher
wc_Arc4Process(&enc, cipher, plain, sizeof(plain));
// decrypt the cipher
wc_Arc4Process(&enc, decrypted, cipher, sizeof(cipher));

function wc_Arc4SetKey

int wc_Arc4SetKey(
    Arc4 * arc4,
    const byte * key,
    word32 length
)

This function sets the key for a ARC4 object, initializing it for use as a cipher. It should be called before using it for encryption with wc_Arc4Process.

Parameters:

  • arc4 pointer to an arc4 structure to be used for encryption
  • key key with which to initialize the arc4 structure
  • length length of the key used to initialize the arc4 structure

See: wc_Arc4Process

Return: none

Example

Arc4 enc;
byte key[] = { initialize with key to use for encryption };
wc_Arc4SetKey(&enc, key, sizeof(key));

Source code


int wc_Arc4Process(Arc4* arc4, byte* out, const byte* in, word32 length);

int wc_Arc4SetKey(Arc4* arc4, const byte* key, word32 length);

Updated on 2022-05-20 at 08:33:15 +0000