ACSS(3) OpenSSL ACSS(3)NAME
acss, acss_setkey - ACSS encryption
SYNOPSIS
#include <openssl/acss.h>
void acss_setkey(ACSS_KEY *key, const unsigned char *data, int enc,
int mode);
void acss(ACSS_KEY *key, unsigned long len, const unsigned char *in,
unsigned char *out);
DESCRIPTION
This library implements the Alleged Content Scrambling System. It is
believed to be interoperable with CSS of the DVD Copy Control
Association.
ACSS is a stream cipher with a fixed key length of 40 bit (5 byte).
ACSS consists of a key setup phase and the actual encryption or
decryption phase.
acss_setkey() sets up the ACSS_KEY key using the 40 bit key at data.
If the flag enc is set to 1 key will be used for encryption, otherwise
for decryption. The integer mode denotes the mode to use. Acceptible
values are 0 to 3. For any other value mode 0 is used.
acss() encrypts or decrypts the len bytes of in using key and places
the result at out.
Applications should use the higher level functions EVP_EncryptInit(3)
etc. instead of calling the acss functions directly.
RETURN VALUES
None of the functions presented here return any value.
NOTEACSS is considered as an insecure cipher. Therefore, use of ACSS is
discouraged.
SEE ALSORC4(3), arc4random(3)History
A proprietary algorithm called CSS can be licensed from the DVD Copy
Control Association (DVD CCA). CSS is considered a trade secret and is
not patented. In October 1999 source code for CSS was posted
anonymously to the LiViD mailing list. Since then, several
implementations and mathematical descriptions of CSS are available and
CSS has been subject to cryptanalysis. The DVD CCA has repeatedly
failed to sue individuals for publishing such information about CSS.
ACSS is a stream cipher written from scratch and believed to be
interoperable with CSS.
OpenBSD 4.9 January 23, 2004