AUTHENTICATED ENCRYPTION in HARDWARE by Milind M. Parelkar
Total Page:16
File Type:pdf, Size:1020Kb
AUTHENTICATED ENCRYPTION IN HARDWARE by Milind M. Parelkar A Thesis Submitted to the Graduate Faculty of George Mason University in Partial Ful¯llment of the the Requirements for the Degree of Master of Science Electrical and Computer Engineering Committee: Dr. Kris Gaj, Thesis Director Dr. William Sutton Dr. Peter Pachowicz Andre Manitius, Chairman, Department of Electrical and Computer Engineering Lloyd J. Gri±ths, Dean, School of Information Technology and Engineering Date: Fall 2005 George Mason University Fairfax, VA Authenticated Encryption in Hardware A thesis submitted in partial ful¯llment of the requirements for the degree of Master of Science at George Mason University By Milind M. Parelkar Bachelor of Engineering University of Mumbai(Bombay), India, 2002 Director: Dr. Kris Gaj, Associate Professor Department of Electrical and Computer Engineering Fall 2005 George Mason University Fairfax, VA ii Copyright °c 2005 by Milind M. Parelkar All Rights Reserved iii Acknowledgments I would like to thank Dr. Kris Gaj for helping me throughout the course of this research. Special thanks to Pawel Chodowiec, without whose help, it would have been very di±cult to come up with good results, on time. iv Table of Contents Page Abstract . xii 1 Authenticated Encryption - Introduction and Motivation . 1 1.1 Cryptographic Goals . 1 1.2 What is Authenticated - Encryption? . 2 1.3 Target Applications for Authenticated - Encryption . 7 1.3.1 Encryption and Authentication of FPGA Bitstream . 7 1.3.2 Authenticated - Encryption in 802.11 Wireless LANs . 11 1.4 Authentication Techniques . 12 1.4.1 Hash Functions . 12 1.4.2 Message Authentication Codes (MACs) . 13 1.4.3 Authenticated-Encryption using Modes of Operations of Block Ciphers . 16 1.5 Need and Criteria for Comparison of Hardware Implementations . 17 1.6 Previous Work . 19 2 Methodology for Comparison of Authentication Techniques . 20 2.1 Scope of this Research . 20 2.1.1 Implementation Goals for Modes of Operations . 22 2.2 Tools, Design Process and Synthesis Parameters . 24 3 Authentication with Keyed HMACs . 27 3.1 Secure Hash Standard - SHA . 27 3.1.1 Hardware Implementation of SHA-1 . 28 3.2 Keyed-Hash Message Authentication Code (HMAC) . 34 3.2.1 Hardware Implementation of HMAC SHA-1 . 36 4 OCB Mode of Operation . 39 4.1 Introduction . 39 4.1.1 OCB Encryption and Decryption . 39 v 4.2 Hardware Implementation of OCB Mode . 42 4.2.1 Datapath Design . 43 4.2.2 Design of Control Logic . 51 5 CCM Mode of Operation . 54 5.1 Introduction . 54 5.1.1 CCM Encryption and Decryption . 54 5.2 Hardware Implementation of CCM Module . 58 5.2.1 Datapath Design . 58 5.2.2 Design of Control Logic . 63 6 EAX Mode of Operation . 66 6.1 Introduction . 66 6.1.1 EAX Encryption and Decryption . 66 6.1.2 Modi¯ed OMAC Operation . 68 6.2 Hardware Implementation of EAX mode . 70 6.2.1 Datapath Design . 71 6.2.2 Design of Control Logic . 75 7 Implementation Results . 76 7.1 Throughput Computations for Modes of Operations and Generic Com- position Schemes . 76 7.1.1 ECB Mode of Operation . 77 7.1.2 OCB Mode of Operation . 78 7.1.3 CCM Mode of Operation . 79 7.1.4 EAX Mode of Operation . 79 7.1.5 Generic Composition Schemes - AES + HMAC . 80 7.2 FPGA Implementation Results . 81 7.2.1 Implementation of Modes with AES . 81 7.2.2 Implementation of Modes with Two¯sh . 84 7.2.3 Implementation of Modes with Serpent . 86 7.2.4 Implementation of Generic Composition Schemes . 86 7.3 ASIC Synthesis Results . 88 7.3.1 Implementation of Modes with AES . 90 7.3.2 Implementation of Modes with Two¯sh . 94 7.3.3 Implementation of Modes with Serpent . 94 vi 7.3.4 Implementation of Generic Composition Schemes - AES + HMAC 97 8 Analysis of Results . 103 8.1 Analysis of Results of FPGA Implementations . 103 8.1.1 Comparison of Authenticated-Encryption Modes of Operation with Generic Composition Schemes . 103 8.1.2 Comparison of Modes of Operations Based on Di®erent Ciphers 106 8.1.3 Comparison of Throughput/Area Ratio for FPGA Implemen- tations . 106 8.2 Analysis of Results of ASIC Synthesis . 108 8.2.1 Comparison of Authenticated-Encryption Modes of Operation with Generic Composition Schemes . 110 8.2.2 Comparison of Modes of Operations Based on Di®erent Ciphers 113 8.2.3 Comparison of Throughput/Area Ratio for ASIC Synthesis . 113 9 Modi¯cations, Optimizations and Future Work . 116 9.1 Modi¯cations for Improving Throughput . 116 9.2 Modi¯cations for Reducing the Circuit Area . 119 9.3 Projected Bene¯ts from Optimizations . 121 9.4 Summary . 122 10 Summary . 123 Bibliography . 126 vii List of Tables Table Page 3.1 Comparison of Secure Hash Algorithms . 27 4.1 Truth Table for Priority Encoder ntz 8 . 48 5.1 CCM Block Types and Operations . 56 5.2 CCM Nonce Format . 61 5.3 CCM Block B[0] Format . 62 5.4 CCM Flags Format . 62 5.5 First Associated Data Frame Format (Block B[1]) . 62 5.6 Order of Operations in Hardware Implementation of CCM . 65 7.1 Number of Rounds and Pipeline Stages per Round used in the Hard- ware Implementations of Block Ciphers . 77 7.2 FPGA Implementation Results for Modes of Operation with AES . 82 7.3 Comparison of FPGA Implementation Results - AES-ECB and AES- OCB.................................... 82 7.4 Comparison of FPGA Implementation Results - AES-ECB and AES- CCM.................................... 83 7.5 Comparison of FPGA Implementation Results - AES-ECB and AES- EAX.................................... 83 7.6 FPGA Implementation Results for Modes of Operation with Two¯sh 84 7.7 Comparison of FPGA Implementation Results - Two¯sh-ECB and Two¯sh-OCB . 84 7.8 Comparison of FPGA Implementation Results - Two¯sh-ECB and Two¯sh-CCM . 85 7.9 Comparison of FPGA Implementation Results - Two¯sh-ECB and Two¯sh-EAX . 85 7.10 FPGA Implementation Results for Modes of Operation with Serpent 86 viii 7.11 Comparison of FPGA Implementation Results - Serpent-ECB and Serpent- OCB.................................... 87 7.12 Comparison of FPGA Implementation Results - Serpent-ECB and Serpent- CCM.................................... 87 7.13 Comparison of FPGA Implementation Results - Serpent-ECB and Serpent- EAX.................................... 87 7.14 FPGA Implementation Results for Generic Composition Schemes . 88 7.15 Comparison of FPGA Implementation Results - AES-ECB and AES+HMAC SHA-1 . 89 7.16 Comparison of FPGA Implementation Results - AES-ECB and AES+HMAC SHA-512 . 89 7.17 ASIC Synthesis Results for Modes of Operation with AES (90 nm) . 90 7.18 Comparison of ASIC Synthesis Results - AES-ECB and AES-OCB (90 nm) .................................... 91 7.19 Comparison of ASIC Synthesis Results - AES-ECB and AES-CCM (90 nm) .................................... 91 7.20 Comparison of ASIC Synthesis Results - AES-ECB and AES-EAX (90 nm) .................................... 92 7.21 ASIC Synthesis Results for Modes of Operation with AES (130 nm) . 92 7.22 Comparison of ASIC Synthesis Results - AES-ECB and AES-OCB (130 nm) .................................... 92 7.23 Comparison of ASIC Synthesis Results - AES-ECB and AES-CCM (130 nm) . 93 7.24 Comparison of ASIC Synthesis Results - AES-ECB and AES-EAX (130 nm) .................................... 93 7.25 ASIC Synthesis Results for Modes of Operation with Two¯sh (90 nm) 94 7.26 Comparison of ASIC Synthesis Results - Two¯sh-ECB and Two¯sh- OCB (90 nm) . 95 7.27 Comparison of ASIC Synthesis Results - Two¯sh-ECB and Two¯sh- CCM (90 nm) . 95 7.28 Comparison of ASIC Synthesis Results - Two¯sh-ECB and Two¯sh- EAX (90 nm) . 95 ix 7.29 ASIC Synthesis Results for Modes of Operation with Two¯sh (130 nm) 96 7.30 Comparison of ASIC Synthesis Results - Two¯sh-ECB and Two¯sh- OCB (130 nm) . 96 7.31 Comparison of ASIC Synthesis Results - Two¯sh-ECB and Two¯sh- CCM (130 nm) . 96 7.32 Comparison of ASIC Synthesis Results - Two¯sh-ECB and Two¯sh- EAX (130 nm) . 97 7.33 ASIC Synthesis Results for Modes of Operation with Serpent (90 nm) 97 7.34 Comparison of ASIC Synthesis Results - Serpent-ECB and Serpent- OCB (90 nm) . 98 7.35 Comparison of ASIC Synthesis Results - Serpent-ECB and Serpent- CCM (90 nm) . 98 7.36 Comparison of ASIC Synthesis Results - Serpent-ECB and Serpent- EAX (90 nm) . 98 7.37 ASIC Synthesis Results for Modes of Operation with Serpent (130 nm) 99 7.38 Comparison of ASIC Synthesis Results - Serpent-ECB and Serpent- OCB (130 nm) . 99 7.39 Comparison of ASIC Synthesis Results - Serpent-ECB and Serpent- CCM (130 nm) . 99 7.40 Comparison of ASIC Synthesis Results - Serpent-ECB and Serpent- EAX (130 nm) . 100 7.41 ASIC Synthesis Results for Generic Composition Schemes(90 nm) . 101 7.42 Comparison of ASIC Synthesis Results - AES-ECB and AES+HMAC SHA-1(90 nm) . 101 7.43 Comparison of ASIC Synthesis Results - AES-ECB and AES+HMAC SHA-512(90 nm) . 101 7.44 ASIC Synthesis Results for Generic Composition Schemes(130 nm) . 102 7.45 Comparison of ASIC Synthesis Results - AES-ECB and AES+HMAC SHA-1(130 nm) . 102 7.46 Comparison of ASIC Synthesis Results - AES-ECB and AES+HMAC SHA-512(130 nm) . 102 x List of Figures Figure Page 1.1 ECB Mode of Operation . ..