ARCFour Functions

As the RC4* stream cipher, widely used for file encryption and secure communications, is the property of RSA Security Inc., a cipher discussed in this section and resulting in the same encryption/decryption as RC4* is called ARCFour.

The ARCFour stream cipher ([AC]) uses a variable length key of up to 256 octets (bytes). ARCFour operates in the Output Feedback mode (OFB), defined in [NIST SP 800-38A], which creates the keystream independently of both the plaintext and the ciphertext.

Table “Intel IPP ARCFour Algorithm Functions” lists Intel IPP ARCFour algorithm functions:

Intel IPP ARCFour Algorithm Functions  
Function Base Name Operation
ARCFourGetSize Gets the size of the IppsARCFourState context.
ARCFourCheckKey Checks weakness of a user defined key.
ARCFourInit Initializes user-supplied memory as the IppsARCFourState context for future use.
ARCFourPack, ARCFourUnpack Packs/unpacks the ARCFourSpec context into/from a user-defined buffer.
ARCFourEncrypt Encrypts a variable length data stream according to ARCFour.
ARCFourDecrypt Decrypts a variable length data stream according to ARCFour.
ARCFourReset Resets the IppsARCFourState context to the initial state.

The ARCFour algorithm functions, described in this section, use the context IppsARCFourState as an operational vehicle to carry variables needed to execute the algorithm: S-Boxes and a current pair of indices.

The typical application code for conducting an encryption or decryption using ARCFour should follow the sequence of operations listed below:


  1. Get the buffer size required to configure the context IppsARCFourState by calling the function ARCFourGetSize.
  2. Call the operating system memory allocation service function to allocate a buffer whose size is not less than the one specified by the function ARCFourGetSize.
  3. Initialize the pointer pCtx to the IppsARCFourState context by calling the function ARCFourInit with the allocated buffer and the respective ARCFour cipher key of the specified size.
  4. Call the ARCFourEncrypt or ARCFourDecrypt function to encrypt or decrypt the input data stream, respectively.
  5. Call the operating system memory free service function to release the buffer allocated for the IppsARCFourState context, if needed.

The ARCFourSpec context is position-dependent. The ARCFourPack/ARCFourUnpack functions transform the position-dependent context to a position-independent form and vice versa.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.