
410 The International Arab Journal of Information Technology, Vol. 12, No. 4, July 2015 Distinguishing Attack on Common Scrambling Algorithm Kai Zhang and Jie Guan Zhengzhou Information Science and Technology Institute, China Abstract: Common Scrambling Algorithm (CSA) has been used to encrypt european cable digital television signals since 1994. Although, the key size of CSA is small, up to now, there haven’t any effective crypto results which can break the algorithm totally. Based on the idea of slide resynchronization attack, a distinguishing attack which can distinguish the keystream of the Stream Cipher (SC) from a purely random sequence with computational complexity of O (215 ) is proposed. According to the distinguishing attack, the 64 bit initial key can be recovered with computational complexity of O (255 ). Keywords: Digital video broadcasting common scrambling algorithm, distinguishing attack, slide resynchronization attack, hybrid cipher. Received August 31, 2012; accepted February, 23, 2014; published online August 17, 2014 1. Introduction 48 independent bits for a key would render time tradeoffs inefficient”, this is another tradeoff method The Digital Video Broadcasting Common Scrambling for CSA cryptanalysis. Algorithm (DVB-CSA) has been used to encrypt Distinguishing attack was firstly proposed in [1]. In european cable digital television signals since 1994. As a distinguishing attack, the adversary tries to judge part of the MPEG-TS standard, it is virtually used for whether a given sequence stems from a known cipher all conditional access systems in digital television. The or a purely random sequence. A distinguishing attack algorithm has never been officially revealed and was may not be as strong as a key-recovery attack, but it only available under a non-disclosure agreement from can provide some undesired information leakage to the an ETSI custodian before 2002. The agreement didn’t adversary. Related key cryptanalysis was first permit the algorithm to be implemented in software for introduced by Biham [3], it is a type of chosen key “security reasons”. In 2002, a software program called attacks, in which the relationship between the keys FreeDec appeared on the internet, which implemented used is known. The slide resynchronization attack was CSA in software, then the algorithm was reverse firstly proposed on the cryptanalysis of Grain [6] engineered quickly by hackers and the details of the which is a related key attack using the slide property CSA was accessed to the public. of the key. This cryptanalytic tool shows great Weinmann and Wirt [10] proposed a guess and 45 potential in cryptanalysis for some stream ciphers [2, determine attack [8] with complexity less than 2 . Wirt 4, 5, 7, 12] whose initialization phase and key stream [11] presented a fault attack on the block cipher which generating phase are similar. can be launched without regarding the Stream Cipher In this paper, we propose a distinguishing attack at part (SC). Although, the complexity of this attack is the basis of “slide resynchronization attack” which can within seconds, the condition of the attack model is too strong to be compared. In [8] Simpson figured out some distinguish the key stream of the SC part from a purely random sequence with computational mistakes in the description of the SC part of CSA and 15 presented time-memory tradeoff attacks on the stream complexity of O(2 ). According to the distinguishing cipher, the results are as follows [10]: attack, we can recover the full 64 bit key with 55 computational complexity of O(2 ). Table 1. Results of DMT attacks on CSA-SC. Data Memory Time 2. Description of CSA State Recovery 225 239 250 Key Recovery 248.5 253 253 CSA is a typical hybrid cipher which can be seen as a cascade of a block cipher and a SC. Both ciphers use Twes et al. [9] presented a time memory trade off the same 64 bit key K, which is called the common attack against 48 bit key CSA, the result showed that key. The following description of CSA refers the CSA can be broken in real time if the precomputed descriptions in reference [8, 10]. For scrambling, the tables are available and calculating these plaintext is divided into blocks of 64 bit length (8 precomputations need over years and the author byte) and the sequence of blocks is encrypted with a claimed that “when the algorithm using 64 instead of custom block cipher in CBC mode using reverse Distinguishing Attack on Common Scrambling Algorithm 411 order, then the ciphertext of the block cipher are Denote IV = (IV [7], IV [6], IV [5], IV [4], IV [3], IV [2], IV encrypted with the key stream generated by the stream [1], IV [0]), for 32 rounds initialization process, each 4 part of the cipher, the residue is directly XORed to the rounds uses a byte of IV , the turn is from the least key stream of the SC and the last output of the block significant byte to the most significant byte. In every A cipher is used as IV for the SC. Figure 1 depicts in the odd cycle number the internal vector I is the high B scrambling process how the block and the SC are nibble of IV [i] and I is the low nibble. In even cycles combined. the nibbles are used the other way round. 1. The register A is updated as follows: ⊕ ⊕ ⊕ A A9 X DI Initialization A'0 = (2) ⊕ A9 X Keystream generating The new state of register A is A'=( A'0, A0, …, A8). 2. The register B is updated as follows: B B⊕ B ⊕ Y ⊕ I Initialization 6 9 B'0 = (3) ⊕ ⊕ B6 B 9 Y Keystream generating The new state of register B is as follows: Figure 1. Structure of CSA. (B' ,B ,...,B ) p=0 B'= 0 0 8 (4) The CSA-SC consists of two FSRs and a FSM which (rol( B'0 ) , B 0 ,..., B 8 ) else are denoted as FSR-A, FSR-B and FSM-C in Figure 2. 3. The registers X, Y, Z, p and q are updated through FSR-A and FSR-B each have ten stages, with each Boolean functions of F , 0≤ i≤ 13 , which can be seen stage containing one 4 bit word. FS-C consists of two i as S-Boxes, the input variables and corresponding stages, each containing a four bit word and a single F are shown in Table 2 below: carry bit. Here is the structure of CSA-SC during the i key stream generating process. Registers A and B are 40 Table 2. Corresponding input and output variables of S-Boxes. bit registers, p, q and c are 1 bit registers and others are S-Box Input Variables Output all 4 bit registers. SX s3, s2, s1,s 0 F6(s 3) || F4(s 2) || F3(s 1) || F1(s 0) SY s5, s4, s3, s2 F10 (s 5)|| F8(s 4) || F7(s 3) || ) SZ s1, s0, s5, s4 F2(s 1) || F0(s 0) || F11 (s 5) || F9(s 4) Sp s6 F13 (s 6) F5(s 2 Sq s6 F12 (s 6) The input variables of the S-Boxes are corresponding states of register A as follows: Table 3. Relationship between the internal states and the input of Boolean functions. Input Variable x0 x1 x2 x3 x4 s0 A4, 0 A1, 2 A6, 1 A7, 3 A9, 0 s1 A2, 1 A3, 2 A6, 3 A7, 0 A9, 1 Figure 2. Keystream generating mode of CSA-SC . s2 A1, 3 A2, 0 A5, 1 A5, 3 A6, 2 s3 A3, 3 A1, 1 A2, 3 A4, 2 A8, 0 There are two modes of SC: The initialization mode s4 A5, 2 A4, 3 A6, 0 A8, 1 A9, 2 and the key stream generating mode. During the s5 A3, 1 A4, 1 A5, 0 A7, 2 A9, 3 initialization process, all of the registers are set to zero, s6 A2, 2 A3, 0 A7, 1 A8, 2 A8, 3 then the common key K=k0, k1, k2, …, k63 are loaded into the registers A and B according to the equations below The algebraic normal forms 5-input boolean (Denote A=A0, j,…, A9, j; B=B0, j,…, B9, j, 0 ≤ j≤ 3, Ai functions of Fi, 0≤ i≤ 13 are presented in the appendix and Bi represent 4 bit states Ai, 0,…, Ai, 3 and Bi, 0,…Bi, 3 of reference [8]. respectively): 4. The update of FSM: The FSM include registers E, F ≤ if( i 7 ) k4×i+j and carry bit Register c, they are updated as Ai, j = else 0 follows: (1) ≤ if( i 7 ) k 32+4×i+ j if (q=0 ) ( F, E ) B = (E, F ) '= i, j 4 (5) else 0 else ( F, ( E+Z+c ) mod 2 ) 412 The International Arab Journal of Information Technology, Vol. 12, No. 4, July 2015 If q=0 , c is unchanged. Otherwise, it is 1 if E+F+c≥ 24 To lead a slide resynchronization attack we should and 0 else. calculate all the state vectors of registers at different times. Firstly calculate state vectors A(1) and B(1) by 5. The output: The SC generates 2 bit-key stream each using key initialization algorithm. clock cycle, i.e., D2 ⊕ D3 || D0 ⊕ D1, D= (D3, D2, D1, out out= out out out out D0)= E ⊕ Z ⊕ B , B(, BBBB3 2 , 1 , 0 ) and B out (0≤i ≤ 3) are defined as follows: i ⇒ out ⊕ ⊕ ⊕ B=b3 2, 0 b 5, 1 b 6, 2 b 8, 3 out B=b⊕ b ⊕ b ⊕ b 2 5, 0 7, 1 2, 3 3, 2 out (6) B=b⊕ b ⊕ b ⊕ b 1 4, 3 7, 2 3, 0 4, 1 out ⊕ ⊕ ⊕ B=b0 8, 2 b 5, 3 b 2, 1 b 7, 0 As the block cipher part of CSA hardly relates to our B(0) 0 1 2 3 4 5 6 7 8 9 work, we won’t introduce the details of the block cipher 0 k32 k36 k40 k44 k48 k52 k56 k60 0 0 part of CSA here, for more details on the structure of 1 k33 k37 k41 k45 k49 k53 k57 k61 0 0 ⇒ 2 k34 k38 k42 k46 k50 k54 k58 k62 0 0 the block cipher we refer the readers to the reference 3 k35 k39 k43 k47 k51 k55 k59 k63 0 0 [11].
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages5 Page
-
File Size-