PhD Thesis

Click here to load reader

  • date post

    19-May-2015
  • Category

    Technology

  • view

    5.135
  • download

    10

Embed Size (px)

description

Design and development of a recon gurable cryptographic co-processor

Transcript of PhD Thesis

  • 1. Publique N dordre:Th`se eprsente devantee lUniversit de Provenceepour obtenir le grade de DOCTEUR DE LUNIVERSITE DE PROVENCEMention SCIENCES POUR LINGENIEUR: MECANIQUE, PHYSIQUE, MICROET NANOELECTRONIQUEpar Daniele FRONTETitre de la th`se : e Design and development of arecongurable cryptographic co-processor Soutenue le 8 juillet 2008 devant la commission dexamen : MM. : Michele ELIA Politecnico di Torino, RapporteurLionel TORRESUniversit de Montpellier II, RapporteureMme : Dominique BORRIONE Universit J. Fourier de Grenoble, ExaminateureMM. : Jean-Michel PORTAL Universit dAixMarseille I, ExaminateureEric PAYRATSocit Atmel Rousset, Superviseur industriel de th`se ee eMme : Annie PEREZUniversit dAixMarseille I, Directeur de th`see eM. :Luc JEANNEROTSocit Atmel Rousset, Invit ee e

2. ii 3. Contents GlossaryviiAbstractxiii1 Introduction1 Security and insecurity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 2 . . . . . . . . . . . . . . 1.1.1 From Herodotus to cryptographic processors2 1.1.2 The Evaluation Assurance Level . . . . . .. . . . . . . . . . . . . . 4 From the Smart-Cards to the secure products . . . . . . . . . . . . . . . . . 1.2 6 1.2.1 Smart Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.2 A secure Environment . . . . . . . . . . .. . . . . . . . . . . . . . 7 1.2.3 The Smart Cards market trend . . . . . .. . . . . . . . . . . . . . 9 1.2.4 Smart Card Readers . . . . . . . . . . . .. . . . . . . . . . . . . .12 Side channel attacks . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 1.312 1.3.1 Timing analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 1.3.2 Power dissipation analysis: SPA, DPA . . .. . . . . . . . . . . . . .15 1.3.3 Electromagnetic analysis . . . . . . . . .. . . . . . . . . . . . . .16 1.3.4 Acoustic analysis . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.417 2 Three cryptographic algorithms19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 The AES algorithm20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 The DES algorithm23 The SHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.327 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.429iii 4. 3 Hardware and software implementations of cryptographic algorithms: state of the art 31 General Purpose Processors . . . . . . . . . . . . . . . . .. . . . . . . . . 3.1 32 3.1.1 The NEC DRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.2 The Crow FPGA Implementation . . . . . . . . . .. . . . . . . . . 33 3.1.3 The Zippy Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Hardwired macros . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 3.2 37 3.2.1 The Sharma macro . . . . . . . . . . . . . . . . .. . . . . . . . . 37 3.2.2 The G-Plus AES implementation . . . . . . . . . . . . . . . . . . . 38 3.2.3 The Trichina Coprocessor . . . . . . . . . . . . . .. . . . . . . . . 39 3.2.4 The Eli Biham DES implementation . . . . . . . . .. . . . . . . . . 40 3.2.5 The Saqib implementation of DES . . . . . . . . . . . . . . . . . . . 41 3.2.6 The Ahmad hardware implementation of SHA . . . .. . . . . . . . . 42 3.2.7 The Chavez hardware implementations of SHA . . .. . . . . . . . . 42 . . . . . . . . . 3.2.8 The Cadence Hashing Algorithm Generator SHA-256 43 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 44 4 Proposing a recongurable cryptographic coprocessor: Celator47 The system: CPU, Memory, peripherals, bus . . . . . . . . . . . . . . . . . . 4.1 48 Celator hardware architecture . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 50 4.2.1 The Processing Element Array . . . . . . .. . . . . . . . . . . . . . 50 4.2.2 The Processing Element Condential . .. . . . . . . . . . . . . . 51 4.2.3 The Controller Condential . . . . . . .. . . . . . . . . . . . . . 51 4.2.4 CRAM . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 51 4.2.5 The Interface unit . . . . . . . . . . . . .. . . . . . . . . . . . . . 52 . . . . . . . . . . . . . . 4.3 Considerations about Celator hardware architecture57 5 Validating Celator on FPGA59 AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 64 5.1.1 Implementation of the AES into a PE Array Condential . . . . . . . 65 5.1.2 FPGA results . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 65 5.1.3 ASIC results . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 67 DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 70 . . . . . . 5.2.1 Implementation of the DES into a PE Array Condential 70 5.2.2 FPGA results . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 70 5.2.3 ASIC results . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 71 SHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 73iv 5. ...... 5.3.1 Implementation of the SHA into a PE Array Condential 73 FPGA results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 73 ASIC results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 74 6 Conclusions and Further Work 777 Rsum en langue franaise de la th`se intitule Designee cee and development of a recongurable cryptographic co- processor par Daniele Fronte81 Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1e e82 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 82. . . . . . . . . . . . . . . . . . . . . . 7.3 Trois algorithmes cryptographiques83 Lalgorithme AES . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 83 Lalgorithme DES . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 84 Lalgorithme SHA . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.3 85 7.4 Implmentations matrielles et logicielles dalgorithmes cryptographiques : tate ee de lart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 Le NEC DRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 86 La macro SHARMA . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2 86 Larchitecture matrielle de Celator . . . . . . . . . . . . . . . . . . . . . . 7.5 e 87 Le rseau de PE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1 e 88................... . . . . . . . . . 7.5.2 Le Squenceur e 90 7.5.3 La CRAM . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . .91 Comment Celator excute les algorithmes cryptographiques . . . . . . . . . . 7.6e91 7.6.1 Les transformations dAES . . . . . . . . . . . . .. . . . . . . . .91 7.6.2 Les transformations de DES . . . . . . . . . . . . . . . . . . . . . .92 7.6.3 Les transformations de SHA-256 . . . . . . . . . . . . . . . . . . . .92 7.6.4 Modes ECB et CBC . . . . . . . . . . . . . . . . . . . . . . . . . .93 Rsultats et discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7 e 93 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 7.8 97 Acknowledgments99A Annexes Condential101 Celator assembler converter . . . . . . . . . . . . . . . . . . . . . . . . . . 102 A.1 v 6. B Annexes: AES codes Condential103. . . . .. . . . . . . . . . . . . . . . . . . . . B.1 AES Celator assembler code 104 AES Filling CRAM code . .. . . . .. . . . . . . . . . . . . . . . . . . . . B.2105 C function . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . B.3106 Validating ARM code . . .. . . . .. . . . . . . . . . . . . . . . . . . . . B.4107 C Annexes: DES codes Condential109 DES tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 C.1 DES Celator assembler code . . . . . . . . . . . . . . . . . . . . . . . . . . 111 C.2 D Annexes: SHA codes Condential113 D.1 SHA Celator assembler code . . . . . . . . . . . . . . . . . . . . . . . . . . 114vi 7. GlossaryADS ARM Developer SuiteAES Advanced Encryption StandardAHB Advanced High-performance BusALU Arithmetic Logic UnitAPB Advanced Peripheral BusASIC Application Specic Integrated CircuitATM Automatic Teller MachineBit Binary digitCBC Cipher Block ChainingCLA Carry Look-ahead AddersCLB Congurable Logic BlockCMOS Complementary Metal Oxide SemiconductorCPU Central Processing UnitCRAM The Memory included in the Crypto EngineCRT Cathode Ray TubeCSA Carry Save AddersDES Data Encryption Standardvii 8. DMA Direct Memory AccessDPA Dierential Power AnalysisDRP Dynamically Recongurable ProcessorEAL Evaluation Assurance LevelECB Electronic CodebookEMV Europay, MasterCard and Visaet al. et alii (and others)FF Flip FlopFIFO First-In-First-OutFIPS Federal Information Processing StandardFPGA Field Programmable Gate ArrayFSM Finite State MachineGF Galois FieldsGPP General Purpose ProcessorGPRS Global Packet Radio ServiceGSM Global System for Mobile communicationsHDL Hardware Description LanguageHMEM Horizontally MemoryIBM International Business Machine CorporationIC Identity CardID Identity DocumentIT Information TechnologyLCD Liquid Crystal Display viii 9. LSB Least Signicant BitME Modular ExponentiationMIMD Multiple Instruction Multiple DataMSB Most Signicant BitNIST National Institute of Standards and TechnologyNSA National Security AgencyPE Processing ElementPIN Personal Identication NumberPIO Parallel Input/OutputPOS Point Of SalePP Protection ProleRAM Random Access MemoryRPA Rened Power AnalysisRSA Rivest Shamir AdlemanRTL Register Transfer LevelSC Smart CardSCA Side Channel AttacksSHA Secure Hash AlgorithmSIM Subscriber Identity ModuleSIMD Single Instruction Multiple DataSPA Simple Power AnalysisSRAM Static RAMSTC State Transition Controllerix 10. TPS Tlvision par SatelliteeeUMTS Universal Mobile Telecommunication SystemVHDL Very-high-speed integrated circuit Hardware Description LanguageVMEM Vertically MemoryWURM autonomous Wearable Unit with Re