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 Sys-
tem. 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 func-
tions 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
MirOS BSD #10-current 2005-02-05 1
ACSS(3) OpenSSL ACSS(3)
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.
MirOS BSD #10-current 2005-02-05 2