Common Scrambling Algorithm
The Common Scrambling Algorithm (or CSA) is the encryption algorithm used in the DVB digital television broadcasting for encrypting video streams.
CSA was kept secret for a couple of years. The patent papers gave some hints, but important details remained secret, like the layout of the so-called S-boxes. Without these, free implementations of the algorithm were out of question. Initially, CSA should remain implemented in hardware only. This would have made it difficult to analyze existing implementations using reverse engineering.
In 2002 FreeDec was released, implementing CSA in software. Though released as binary only, disassembling revealed the missing details and allowed implementations in higher computer languages.
Since the CSA algorithm was completely revealed, cryptanalysts started looking for weaknesses. Like in other encryption algorithms a weak spot arises inasmuch that parts of the message are known or at least easily predictable, like MPEG headers. The length of the key (or control word) of 64 bits allows 264 different possibilities of encryption. A brute force attack taking 1 μs for each try through all possible key words would take 500.000 years. However, the predictable parts of the message give hints to the keys used, thus allowing to reduce the number of possible keys significantly.
Should cryptanalysis allow to guess the key used with the help of the known structure of the message, CSA would be broken. But this is not the case until the present day.