The Common Scrambling Algorithm ( CSA ) is the encryption algorithm used in the DVB digital television broadcasting for encrypting video streams .
21-509: CSA was specified by ETSI and adopted by the DVB consortium in May 1994. It is being succeeded by CSA3, based on a combination of 128-bit AES and a confidential block cipher, XRC. However, CSA3 is not yet in any significant use, so CSA continues to be the dominant cipher for protecting DVB broadcasts. CSA was largely kept secret until 2002. The patent papers gave some hints, but important details, like
42-460: A prerequisite for bit slicing to be more efficient than a regular implementation. However, as all operations are on 8-bit subblocks, the algorithm can be implemented using regular SIMD , or a form of “byteslicing”. As most SIMD instruction sets, (with the exception of AVX2 ) do not support parallel look-up tables, the S-box lookups are done in a non-bytesliced implementation, but their integration into
63-566: Is an independent, not-for-profit, standardization organization operating in the field of information and communications . ETSI supports the development and testing of global technical standards for ICT-enabled systems, applications and services. ETSI was set up in 1988 by the European Conference of Postal and Telecommunications Administrations ( CEPT ) following a proposal from the European Commission (EC). ETSI
84-521: Is diverse and includes all the key stakeholders of the ICT sector: private companies, research entities, academia, government and public bodies as well as societal stakeholders. Small and Medium Enterprises (SMEs) and Micro-Enterprises (MEs) represent more than a quarter of ETSI's total membership. The list of current members can be found on the ETSI website. Membership contributions are calculated depending on
105-508: Is prone to bit slicing , a software implementation technique which allows decryption of many blocks, or the same block with many different keys, at the same time. This significantly speeds up a brute force search implemented in software, although the factor is too low for a practical real-time attack. The block cipher part is harder to bit slice, as the S-boxes involved are too large (8x8) to be efficiently implemented using logical operations,
126-594: Is the officially recognized body with a responsibility for the standardization of information and communication technologies (ICT). It is one of the three bodies officially recognized by the European Union as a European Standards Organisation (ESO), the others being CEN and CENELEC . The role of the ESOs is to support EU regulation and policies through the production of harmonised European Standards (ENs) and other deliverables. The standards developed by ESOs are
147-560: Is used by many satellite television providers. Most attacks on the pay-TV system have not targeted CSA itself, but instead the various key exchange systems responsible for generating the CSA keys ( Conax , Irdeto, Nagravision , VideoGuard , etc.), either by reverse-engineering and breaking the algorithms altogether, or by intercepting the keys in real-time as they are generated on a legitimate decoder, and then distributing them to others (so-called card sharing ). The stream cipher part of CSA
168-576: The PES packets need not be modified when performing such conversions. PES packets may be much larger than the size of a Transport Stream packet. While above flags indicate that values are appended into variable length optional fields, they are not just simply written out. For example, PTS (and DTS) is expanded from 33 bits to 5 bytes (40 bits). If only PTS is present, this is done by catenating 0010b, most significant 3 bits from PTS, 1, following next 15 bits, 1, rest 15 bits and 1. If both PTS and DTS are present
189-623: The algorithm in higher-level programming languages . With CSA now publicly known in its entirety, cryptanalysts started looking for weaknesses. The CSA algorithm is composed of two distinct ciphers: a block cipher and a stream cipher. When used in encryption mode the data are first encrypted using the 64-bit block cipher in CBC mode , starting from packet end. The stream cipher is then applied from packet start. The block cipher process 64-bit blocks in 56 rounds. It uses 8 bits from an expanded key on each round. [REDACTED] The first 32 round of
210-402: The brute-force attack examples already mentioned, in that the plain-text contents of the entire cell is known before the attack, not just parts of a block, which enables the ahead-of-time computation of the rainbow table. In 2004, a fault attack was published on the block cipher. The basic idea was to introduce a few deliberate faults in the intermediate calculations, making it possible to deduce
231-450: The data with the same key in a second pass to recover the true key. In 2011, a group of German researchers released an attack on CSA as used in the DVB system. By noting that MPEG-2 padding frequently requires long series of zeroes, leading to entire 184-byte cells being encrypted with zeroes only, it is possible to build up a rainbow table recovering the key from such a known-zero block. (A block would be known to be zero if two blocks with
SECTION 10
#1732780049797252-548: The different ETSI technical groups (Technical Committee (TC), ETSI Project (EP), ETSI Partnership Project (EPP), Industry Specification Group (ISG), and Special Committee (SC). ETSI's Cloud Group aims to consider standardisation within cloud computing and conformity with interoperability standards in this field. In October 2023, ETSI reported a data breach. Hackers stole a database containing information on ETSI’s online users. ETSI has more than 900 member organizations worldwide from 65 countries and five continents. Its community
273-412: The last eight round keys. From this, the final key can be computed. While very few faults are needed (on average two or three per round key recovered), fault attacks are usually impractical to carry out, in that it requires the ability to change bits at will inside the hardware of a decoder that already has the key in question. ETSI The European Telecommunications Standards Institute ( ETSI )
294-426: The layout of the so-called S-boxes , remained secret. Without these, free implementations of the algorithm was not possible. Initially, CSA was to remain implemented in hardware only, making it difficult to reverse engineer existing implementations. In 2002 FreeDec was released, implementing CSA in software . Though released as binary only, disassembly revealed the missing details and allowed reimplementation of
315-428: The only ones that can be recognized as ENs. ETSI develops standards in key global technologies such as: GSM , TETRA , 3G , 4G , 5G , DECT . ETSI’s standardization activities are organized around sectors: Home & Office, Better Living with ICT, Content Delivery, Networks, Wireless Systems , Transportation, Connecting Things, Interoperability, Public Safety and Security. Technical activities are carried out in
336-873: The output of an audio or video encoder) in packets within MPEG program streams and MPEG transport streams . The elementary stream is packetized by encapsulating sequential data bytes from the elementary stream inside PES packet headers. A typical method of transmitting elementary stream data from a video or audio encoder is to first create PES packets from the elementary stream data and then to encapsulate these PES packets inside Transport Stream (TS) packets or Program Stream (PS) packets. The TS packets can then be multiplexed and transmitted using broadcasting techniques, such as those used in an ATSC and DVB . Transport Streams and Program Streams are each logically constructed from PES packets. PES packets shall be used to convert between Transport Streams and Program Streams. In some cases
357-410: The rest of the algorithm is not hampered markedly by the byteslicing. Both techniques are used in libdvbcsa , a free implementation of CSA. Cryptanalysis is made more difficult as most data is protected both by the block and the stream cipher. Adaption codes can result in packets with some data protected by only the block cipher or the stream cipher. While the CSA algorithm uses 64-bit keys, most of
378-482: The same ciphertext were found, since presumably both would be zero blocks.) The attack described would require about 7.9 TB of storage, and enable an attacker with a GPU to recover a key in about seven seconds with 96.8% certainty. However, the attack is only effective when such all-zero padding blocks are present (i.e., in scenes with very little movement or noise), and it would be easily mitigated by for instance sending such all-zero cells unencrypted. This differs from
399-609: The stream cipher are used for initialization and do not generate any output. The first 64 bits of data are used as initialization vector during this phase and are left unchanged. The stream cipher then generates 2 bits of pseudo-random stream on each round which are xored starting at bit 64 of the packet. [REDACTED] Were CSA to be broken, encrypted DVB transmissions would be decipherable, which would compromise paid digital television services, as DVB has been standardised for digital terrestrial television in Europe and elsewhere, and
420-611: The time, only 48 bits of the key are unknown, since bytes 3 and 7 are used as parity bytes in CA systems, and may be easily recalculated. This allows for possible known-plaintext attacks when combined with knowledge of the underlying plaintext structure. As the first three bytes of the PES header are always 0x000001, it would be possible to launch a brute force attack . Such an attack would reveal millions of possible keys, but still few enough to make it practical to attempt decryption of other parts of
441-586: The type of membership. Members' and associate members' contributions are calculated by class which is derived from the member company's annual ECRT band. The organisation is located in Sophia-Antipolis , in the south of France . Packetized elementary stream Packetized Elementary Stream ( PES ) is a specification in the MPEG-2 Part 1 (Systems) (ISO/IEC 13818-1) and ITU-T H.222.0 that defines carrying of elementary streams (usually
SECTION 20
#1732780049797#796203