SIDE CHANNEL ATTACKS ON SYMMETRIC KEY PRIMITIVES

Side Channel Attacks on Symmetric Key Primitives Yaser Esmaeili Salehani Cryptographic primitives, including symmetric key encryption algorithms, are the basic building blocks of security systems. Cryptanalytic attacks against these algorithms can be divided into two classes: pure mathematical attacks and side channel attacks. Pure mathematical attacks are traditional cryptanalytic techniques that rely only on known or chosen input-output pairs of the encryption function, and exploit the inner structure of the cipher to reveal secret key information. In side channel attacks, the physical implementation of the cryptographic algorithms is considered. In particular, in this class of attacks, it is assumed that the attacker has some access to the cryptographic device and is able to make measurements with respect to time or power consumption, or is able to induce errors in the memory or operation of the device. The additional information gained by utilizing such a side channel are then combined with methods that exploit the inner structure of the cipher to reveal the secret key. The wide spread of unprotected software or hardware cryptographic implementations can offer various possibilities for these side channel attacks. Throughout this thesis, we present side channel cryptanalysis against three symmetric key ciphers. First, we present a differential fault analysis of SOSEMANUK which is a software-based stream cipher that supports a variable key length between 128 and 256 bits and a 128-bit iii initial value. SOSEMANUK has passed all three stages of the ECRYPT stream cipher project and is a member of the eSTREAM software portfolio. We analyze the cipher utilizing the fault model in which the attacker is assumed to be able to fault a random inner state word but cannot control the exact injected fault locations. Our attack, which recovers the secret inner state of the cipher, requires around 6144 faults, work equivalent to around 2 SOSEMANUK iterations and a storage of around 2 bytes. Next, we present a differential fault analysis against Hummingbird. Hummingbird is a lightweight encryption algorithm that has a hybrid structure of block cipher and stream cipher with 16-bit block size, 256-bit key size, and 80-bit internal state. We analyze the cipher utilizing the fault model in which the attacker is assumed to be able to fault a random word before the linear transform, after the s-boxes, of the four block ciphers which are used in the Hummingbird encryption process but cannot control the exact location of injected faults. Our attack, which recovers the 256-bit key, requires around 50 faults and 2 steps. ZUC is a new stream cipher that was proposed for the 4G mobile standard by the Data Assurance and Communication Security Research Center of the Chinese Academy of Sciences. Our third contribution is a scan based cryptanalysis of ZUC. A scan path connects registers in a hardware circuit serially so that a tester can observe the register values inside the circuit. Scan-based attacks exploit the scan chains that are inserted into the devices for the purpose of testing. Under reasonable assumptions, our scan-based cryptanalysis allows the attacker to ascertain the whole location of internal registers including the LFSR and the memory cells of the cipher. The attack, which utilizes the key loading procedure and the working mode of the cipher execution procedure, allows the cryptanalyst to recover the