Cryptanalysis and Design of Block Ciphers
Total Page:16
File Type:pdf, Size:1020Kb
KATHOLIEKE UNIVERSITEIT LEUVEN FACULTEIT DER TOEGEPASTE WETENSCHAPPEN DEPARTEMENT ELEKTROTECHNIEK-ESAT Kasteelpark Arenberg 10 – 3001 Leuven (Heverlee) CRYPTANALYSIS AND DESIGN OF BLOCK CIPHERS Promotoren : Proefschrift voorgedragen tot het Prof. Dr. ir. B. PRENEEL behalen van het doctoraat in de Prof. Dr. ir. J. VANDEWALLE toegepaste wetenschappen door Jorge NAKAHARA J´unior June 2003 KATHOLIEKE UNIVERSITEIT LEUVEN FACULTEIT DER TOEGEPASTE WETENSCHAPPEN DEPARTEMENT ELEKTROTECHNIEK-ESAT Kasteelpark Arenberg 10 – 3001 Leuven (Heverlee) CRYPTANALYSIS AND DESIGN OF BLOCK CIPHERS Jury : Proefschrift voorgedragen tot het Prof. J. Delrue, voorzitter behalen van het doctoraat in de Prof. B. Preneel, promotor toegepaste wetenschappen Prof. J. Vandewalle, promotor door Prof. A. Barb´e Jorge NAKAHARA J´unior Prof. S. Murphy (Royal Holloway, Univ. of London) Prof. J.-J. Quisquater (Univ. Catholique de Louvain) Prof. M. Van Barel U.D.C. 681.3*E3 June 2003 °c Katholieke Universiteit Leuven - Faculteit Toegepaste Wetenschappen Kasteelpark Arenberg 10, B-3001 Leuven-Heverlee (Belgium) Alle rechten voorbehouden. Niets uit deze uitgave mag worden vermenigvuldigd en/of openbaar gemaakt worden door middel van druk, fotocopie, microfilm, elektronisch of op welke andere wijze ook zonder voorafgaande schriftelijke toestemmimg van de uitgever. All rights reserved. No part of the publication may be reproduced in any form by print, photoprint, microfilm or any other means without written permission from the publisher. D/2003/7515/20 ISBN 90-5682-407-4 Foreword It is a pleasure for me to acknowledge the help of so many people who con- tributed for a great time in Leuven. First of all, I would like to express my deepest gratitude to Prof. Bart Preneel and Prof. Joos Vandewalle, who not only allowed me the opportunity to come to Leuven, but also continously supported and assisted me along the years, not only concerning research matters, but also with many practical issues. I am also very grateful to Prof. Jean-Jacques Quisquater, Prof. Marc Van Barel, Prof. Andr´eBarb´e,and Prof. Sean Murphy for agreeing to serve as jury members and for their many comments regarding this work, and to Prof. J. Del- rue for chairing the jury. The financial assistance provided by K. U. Leuven Research and Develop- ment, the Katholieke Universiteit Leuven, and the Concerted Research Action (GOA) project Mefisto 2000/06 of the Flemish Government, are greatly appre- ciated. My sincere thanks also go to the current and past COSIC members for the many collaborations, and great times we shared together: Alex, An, Antoon, Bart, Berna, Christophe, Claudia, Cristian, Dai, Danny, Dries, Eric, Evelyne, Frederik, Jasper, Joan, Joe, Johan, Joris, Ju-Sung, Keith, Mark, Michael, Paul, Raimondo, Robert, Stef, Stefaan, Svetla, Thomas, Vincent, Wim. Many thanks to Elvira, Ida, P´elaand all system administrators for their invaluable help at uncountable times. Let me also thank my dear friends Abelha, Ann, Anna, Alex(s), Augusto, Bia, Cibele, Daniela, Deca, Dendˆe,Denise, Diana, Fernanda, Golfinho, Gus- tavo, Haley, Jaque, Jo˜ao,Margarida, Maria, Marta, Paulo, Reinaldo, Richard, Rog´erio,Rozenn, Samuel, Silvio, Sofie, Ueda, Wunga and so many others who made my life in Leuven so much more enjoyable. Last but not least, I would like to dedicate this work to my father, Jorge, to my mother, Misao, and to my sister, M´arcia.Though far away, they were never away from my mind, and from my heart. Jorge Nakahara J´unior Leuven, June 2003 Abstract This thesis focuses on cryptanalysis techniques and design of block ciphers. In particular, modern analysis methods such as square, boomerang, impossible differential and linear attacks are described and applied to real block ciphers. The first part of this thesis concentrates on the two most relevant modern cryptanalysis techniques: linear and differential cryptanalysis. These and re- lated techniques have been applied to SAFER K/SK/+/++, IDEA, Hierocrypt- 3, Hierocrypt-L1, Skipjack and the PES ciphers. In many attacks, the interac- tion between the block cipher and its key schedule algorithm was exploited, so that the complexity of key-recovery attacks could be reduced. These analyses often led to the discovery of weak keys, namely, key values for which the attack complexity was comparatively lower than for a random key. In some cases, the existence of weak keys, derived from the original key schedule, and holding for the whole cipher, might suggest a need for a redesign of the key setup algorithm. The second part of this thesis describes and analyzes new block ciphers, called MESH, which were designed with the same group operations as the IDEA block cipher. Three designs are presented: MESH-64, MESH-96, and MESH- 128. Their novel features include: (i) flexible block sizes (in increments of 32 bits), (ii) larger round functions (MA-boxes) compared to IDEA, (iii) distinct key-mixing layers for odd and even rounds, and (iv) new key schedule algorithms that achieve fast key avalanche. Estimates for the software performance of MESH ciphers indicate better or comparable speed to that of triple-DES. A preliminary security evaluation of these three ciphers included truncated and impossible differentials, linear, square, slide and advanced-slide, multiplicative differentials (on simplified versions), and Demirci’s attacks, among others. The initial results of these attacks seem to indicate that the MESH ciphers present a relatively large margin of security against modern cryptanalysis techniques. Other cipher designs are further suggested, based on the flexible MA-boxes, and on the alternative AM-boxes. Samenvatting Dit proefschrift behandelt de cryptanalyse en het ontwerp van blokcijfers. In het bijzonder moderne cryptanalyse-methoden zoals “Square”-aanvallen, boemerang- aanvallen, onmogelijke differenti¨elenen lineaire cryptanalyse worden beschreven en toegepast op blokcijfers. In het eerste deel van dit proefschrift behandelen we de twee belangrijkste moderne cryptanalysemethodes: lineaire en differenti¨elecryptanalyse. Deze en aanverwante methodes hebben we toegepast op SAFER K/SK/+/++, IDEA, Hierocrypt-3, Hierocrypt-L1, Skipjack en de PES cijfers. In vele gevallen kun- nen we de complexiteit van aanvallen reduceren door de interactie tussen een blokcijfer en zijn sleutelschema uit te buiten. Deze analyses leiden dan tot de definitie van zwakke sleutels, namelijk sleutels waarvoor de complexiteit van de aanval lager is dan gemiddeld. In sommige gevallen duidt het bestaan van zwakke sleutels, afgeleid van het oorspronkelijke sleutelschema en geldig voor het volledige cijfer, op een nood om het ontwerp van het sleutelschema te her- bekijken. In het tweede deel van dit proefschrift beschrijven en analyzeren we een nieuwe familie van blokcijfers, “MESH” genaamd, die we ontworpen hebben op basis van dezelfde groepsoperaties als het blokcijfer IDEA. We beschrijven drie ontwerpen: MESH-64, MESH-96 en MESH-128. Enkele van de nieuwigheden in deze ontwerpen zijn: (i) de flexibiliteit op het gebied van bloklengte (in stappen van 32 bits); (ii) ronde-functies (“MA-boxen”) met grotere afmetingen dan bij IDEA; (iii) verschillende manieren om de rondesleutel in te brengen voor even en oneven ronden, en (iv) nieuwe sleutelschema’s die een groot lawine-effect hebben. Schattingen voor de performantie van software-implementaties van de MESH-cijfers wijzen op een snelheid vergelijkbaar met of groter dan die van 3- DES. We presenteren een eerste evaluatie van de veiligheid van deze drie cijfers, die onder andere de volgende technieken omvatte: “truncated” en onmogelijke differenti¨elen,lineaire cryptanalyze, “Square”-aanvallen, schuif- en geavanceerde schuif-aanvallen, multiplicatieve differenti¨elen,en de technieken beschreven door Demirci. De voorlopige resultaten lijken aan te wijzen dat de MESH cijfers een relatief grote veiligheidsmarge bezitten tegen modere cryptanalysemethodes. Daarnaast stellen we enkele andere ontwerpen voor cijfers voor, gebaseerd op de flexibele MA-boxen en op de alternatieve AM-boxen. Contents Foreword iii Abstract v Samenvatting vii Contents ix List of Figures xiii List of Tables xv List of Abbreviations xvii List of Cryptographic Algorithms xviii List of Notations xviii 1 Introduction 1 1.1 Thesis Outline and Contributions . 2 1.2 The AES Development Process . 4 1.3 The NESSIE Project . 5 2 An Overview of Block Ciphers 7 2.1 Threat Model . 9 2.2 Attack Complexity . 10 2.3 Types of Attack . 11 2.4 Attack Outcome . 12 2.5 Security Terminology . 12 2.6 Diffusion and Confusion . 15 2.6.1 The Diffusion Property . 15 2.6.2 The Confusion Property . 17 2.7 Iterated Block Ciphers . 19 2.8 Rijndael and AES . 21 2.9 Modes of Operation . 24 ix 2.10 Birthday Paradox . 29 2.11 Key-Collision Attack . 30 2.12 Brute-Force Attacks . 31 2.13 Shortcut Attacks . 34 2.14 Conclusions . 35 3 Linear Cryptanalysis 37 3.1 Introduction . 37 3.2 Preliminaries . 37 3.3 Linear Attack on DES . 43 3.4 Linear Cryptanalysis of SAFER Ciphers . 48 3.4.1 Non-Homomorphic Linear Relations . 49 3.4.2 Linear Attack on SAFER-32 . 51 3.4.3 Linear Attack on SAFER SK . 53 3.4.4 Linear Attack on SAFER+ . 55 3.4.5 Linear Attack on SAFER++ . 56 3.5 A Ciphertext-only Attack . 57 3.6 Linear Cryptanalysis of the PES Cipher . 58 3.7 Conclusions . 61 4 Differential Cryptanalysis 63 4.1 Introduction . 63 4.2 Preliminaries . 63 4.2.1 Known-Plaintext DC Attacks . 66 4.3 Higher-Order Differential Cryptanalysis . 67 4.4 The Square Attack . 68 4.4.1 Square Attacks on IDEA and PES . 70 4.4.1.1 Related-Key Square Attack . 74 4.4.2 Square Attacks on Hierocrypt-L1 and Hierocrypt-3 . 76 4.4.3 Square Attacks on Skipjack . 80 4.5 The Impossible Differential Attack . 91 4.5.1 Impossible Differential Attack on SAFER SK . 92 4.5.2 Impossible Differential Attack on SAFER+/128 . 95 4.5.3 Impossible Differential Attack on SAFER++/128 . 97 4.6 The Boomerang Attack . 98 4.6.1 Boomerang Attacks on IDEA .