Master of Science Program in Computer Engineering

Size: px
Start display at page:

Download "Master of Science Program in Computer Engineering"

Transcription

1 Cybersecurity for IoT Secure Hardware Department of Electrical, Computer and Biomedical Engineering of University of Pavia Master of Science Program in Computer Engineering Instructor: Paris Kitsos Pavia

2 Part 1 Pipelining and Retiming 2

3 Delay of a Design Delay = latency x clock period 3

4 Minimum Clock Period 4

5 Minimum Clock Period This is the time need for the output of a flip-flop to switch to a new value after a clock edge has occured 5

6 Minimum Clock Period This is the time need for the logic to calculate a new output. Depends on the gates and wires 6

7 Minimum Clock Period This is the time need for the flipflop to capture stable input data at the next clock edge. The next clock edge cannot come earlier then the dashed line 7

8 Minimum Clock Period In this case, the timing of the system is OK, since the actual Tclk > Tclk,min 8

9 Minimum Clock Period The margin between the actual clock period and the minimal clock period is called slack. Tslack = Tclk - Tclk,min 9

10 Minimum Clock Period If the slack is negative, the system has a timing violation. This system will not perform as expected, since its clock frequency is too high. 10

11 Minimum Clock Period Once the technology is chosen, Tclk->Q and Tsetup are fixed. An example from the Xilinx device datasheet is shown on the right. 11

12 Minimum Clock Period However, even after the technology is chosen, the designer can still influence Tlogic and Trouting by making modifications to the HDL code. Thus, if we want to decrease the minimum clock period, we need to consider these terms. 12

13 Minimization of Delay Delay = latency (clock cycles) x clock period Parallel Computations Reduce the # cycles required Pipelining and Retiming Reduce the clock period 13

14 Pipelining and Retiming A pipeline register can cut a piece of combinational logic in smaller pieces. This reduces the Tclk,min for the entire design 14

15 Retiming Sometimes, the partitioning is not nicely 50/50. In that case the benefit of pipeline registers to reduce Tclk,min is small, since the design has to be operated at the speed of the slowest stage To maximize the benefit of the (pipeline) registers, they should be balanced so that each stage of combinational logic takes the same amount of logic delay 15

16 Pipelining vs Retiming Pipelining is done by the designer, typically by rewriting HDL Retiming is done by the tools, during logic Synthesis Of course, the designer can also rewrite the HDL 16

17 Pipelining Cut a long combinational path in half by inserting a register Increases the latency cycle count of the design to get form the input to the output, you will need an extra clock cycle Inserted Register 17

18 Rules for Consistent Pipelining... Assume a network of modules (combinational or sequential ) as follows. We will demonstrate how to move pipeline registers around while avoiding inconsistent pipelining 18

19 Rules for Consistent Pipelining... You can add a register in front. It increases the latency of the network with one cycle, but the network will have the same functionality 19

20 Rules for Consistent Pipelining... You can absorb a register at a single input if you recreate it at ALL the outputs of the module. This transformation will not change the latency nor the functionality of the network. 20

21 Rules for Consistent Pipelining... Move it over another module absorb register at the module inputs, recreate it to the module outputs 21

22 Rules for Consistent Pipelining... Move it over the last module absorb register at the module inputs, recreate it at the module output 22

23 Rules for Consistent Pipelining... All of these have the same behavior 23

24 Rules for Consistent Pipelining... We can add multiple registers at the front... 24

25 Rules for Consistent Pipelining... and redistribute them using consistent pipelining 25

26 Rules for Consistent Pipelining... Or 26

27 Rules for Consistent Pipelining... Tclk,min = 90ns Latency = 1 cycle Throughput = 1 / cycle Tclk,min = 30ns Latency = 3 cycles Throughput = 1 / cycle 27

28 Rules for Consistent Pipelining... Following these rules, you'll find that you cannot pipeline loops (i.e. increase the number of registers in a feedback path) There is a single register in this path 28

29 Rules for Consistent Pipelining... To pipeline, add a register at the front 29

30 Rules for Consistent Pipelining... To move the pipeline register to the module output, ALL the inputs need to absorb a register 30

31 Rules for Consistent Pipelining... In the resulting network, there is still only one register in the loop 31

32 Part 2 Hardware architectures (Block ciphers and Hash Function) 32

33 Basic Architectures There are four types of architectures about bloc ciphers Iterative architecture Use only one round Partial loop unrolling Use more rounds Loop unrolling Use all rounds (Outer-round pipelining) Use inner- and outer-round pipelining 33

34 Iterative architecture 34

35 Partial loop unrolling 35

36 Loop unrolling 36

37 Inner- and outer-round pipelining Total # of pipeline stages = #rounds K (K=1) 37

38 Inner- and outer-round pipelining Total # of pipeline stages = #rounds K 38

39 Partial loop unrolling example: DES register 39 39

40 DES register 40 40

41 DES register 41 41

42 DES register 42 42

43 Triple-DES Plaintext 64 K1 64 DES Encryption Key K2 64 DES Decryption Key Sceduling Ki IP 16 Rounds K3 64 Ciphertext DES Encryption 64 IP -1 43

44 Triple-DES: Iterative architecture 64 Plaintext 64 Key IP PC1 MUX MUX Register Basic Round Ki PC2 Basic Key Round IP -1 Round Key 64 Ciphertext 44

45 Triple-DES: Partial loop unrolling 64 Plaintext 64 Key IP PC 1 MUX Round 1 K1 PC2 Key round1 Register Round 2 K2 PC2 Key round2 Round 16 K16 PC2 Key round16 64 IP Ciphertext 45

46 Triple-DES: Loop unrolling 64 Plaintext 64 Key IP PC 1 Round 1 K1 PC2 Key round1 Round 2 K2 PC2 Key round2 Register Round 47 K47 PC2 Key round47 Round 48 K48 PC2 Key round48 64 IP Ciphertext 46

47 KASUMI Block Cipher Application KASUMI block cipher is used: In new GSM encryption algorithm A5/3 In 3G and 4G, f8 and f9 algorithms In Transport Layer Securities (TLS) 47 47

48 KASUMI Block Cipher Is the 64-bit block cipher Is a Feistel block cipher with 8 rounds The odd rounds have different structure than even rounds Uses 64-bit plaintext/ciphertext and 128-bit key 48 48

49 KASUMI Block Cipher 64 Απλό Κείμενο 32 L 0 R 0 KL 1 KO 1,KI Είσοδος L 0 R 0 16 Είσοδος L 0 R 0 FL1 FO KO i,1 FO2 KO 2,KI 2 FL2 KL 2 KIi,1 FI i,1 FI i,2 KOi,2 KI i,2 S9 ZE S7 KI i,j,1 16 L Είσοδος 0 R 0 KL i,1 AND <<<1 KL 3 KO 3,KI 3 TR KL i,2 FL3 FO3 KI i,j,2 <<<1 OR KO i,3 S9 S7 L' 16 R' FI i,3 KI i,3 ZE KO 8,KI 8 KL 8 TR FO8 FL L 8 R 8 Κρυπτοκείμενο L 32 3 R 3 Έξοδος L 32 4 R 4 Έξοδος 49 49

50 KASUMI Key Scheduling 128 K K1 K2 K3 K4 K5 K6 K7 K <<<1 <<<1 <<<1 <<<1 <<<1 <<<1 <<<1 <<<1 <<<4 <<<4 <<<4 <<<4 <<<4 <<<4 <<<4 <<<4 <<<3 <<<3 <<<3 <<<3 <<<3 <<<3 <<<3 <<<3 <<<5 <<<5 <<<5 <<<5 <<<5 <<<5 <<<5 <<<5 C1 C2 C3 C4 C5 C6 C7 C

51 KASUMI: Partial loop unrolling 64 Plaintext REGISTER 64 MUX RKi 128 ORC REGISTER RKi+1 ERC REGISTER 64 Ciphertext 51

52 KASUMI: Loop unrolling 64 Plaintext RK ORC Register RK ERC Register RK ORC Register RK ERC Register 64 Ciphertext 52

53 Round Implementation KLi 32 Pipeline register KOi KIi R i Pipeline register 32 L0 R KOi,1 ORC FLi FOi KIi,1 FIi,1 Pipeline register Pipeline register KOi,2 KIi,2 FIi,1 Pipeline register KOi+1 KIi KLi+1 32 Pipeline register Pipeline register ERC FOi FLi KOi,3 KIi,3 Pipeline register FIi, L3 32 R

54 Whirlpool Hash Function Endorsed by European NESSIE project Uses modified AES internals as compression function Addressing concerns on use of block ciphers seen previously 54

55 Whirlpool Overview 55

56 Whirlpool Block Cipher W Designed specifically for hash function use With security and efficiency of AES But with 512-bit block size and hence hash Similar structure & functions as AES but input is mapped row wise has 10 rounds uses different S-box design & values 56

57 Whirlpool Block Cipher W 57

58 Whirlpool Architecture Message n 256 Padder m i H 512 t-1 W W out H t 512 The Padder pads the input data and converts them to (n+256)-bit padded message An interface with 256- bit input for Message is considered The n, specifies the total length of the message 58 58

59 Whirlpool Architecture Input Data E E γ S S S R 512 π (Cyclically Shiftings) E E a i0 xor a i1 xor a i3 xor a i5 xor a i7 a i2 a i3 xor a i6 a i1 xor a i4 θ Round Key 512 σ[k] X X 2 X Output Data b i

60 Whirlpool Architecture feedback data σ[k] temp 512 Mux Input Register γ π θ Output Register 512 Input data feedback data Key Input Register σ[k] Κ r 1<=r<= Mux γ π θ Key ROM (cr ) This implementation has two similar parallel datapaths, the data randomizing and the key schedule The input block mi is set to the Input data simultaneously with the initial vector (IV) to the Key In a clock cycle, one execution round is executed and, simultaneously, the appropriate round key is calculated. Latency = 10 clock cycles W out H i

61 Questions?? 61

Architectures and FPGA Implementations of the. 64-bit MISTY1 Block Cipher

Architectures and FPGA Implementations of the. 64-bit MISTY1 Block Cipher Architectures and FPGA Implementations of the 64-bit MISTY1 Block Cipher P. Kitsos *, M. D. Galanis, O. Koufopavlou VLSI Design Laboratory Electrical and Computer Engineering Department University of Patras,

More information

A Very Compact Hardware Implementation of the MISTY1 Block Cipher

A Very Compact Hardware Implementation of the MISTY1 Block Cipher A Very Compact Hardware Implementation of the MISTY1 Block Cipher Dai Yamamoto, Jun Yajima, and Kouichi Itoh FUJITSU LABORATORIES LTD. 4-1-1, Kamikodanaka, Nakahara-ku, Kawasaki, 211-8588, Japan {ydai,jyajima,kito}@labs.fujitsu.com

More information

Does Lightweight Cryptography Imply Slightsecurity?

Does Lightweight Cryptography Imply Slightsecurity? Intro Security Examples Conclusions Does Lightweight Cryptography Imply Slightsecurity? Orr Dunkelman Computer Science Department University of Haifa 7 th July, 2014 Orr Dunkelman Lightweight? Slightsecurity

More information

ECE 545 Lecture 8b. Hardware Architectures of Secret-Key Block Ciphers and Hash Functions. George Mason University

ECE 545 Lecture 8b. Hardware Architectures of Secret-Key Block Ciphers and Hash Functions. George Mason University ECE 545 Lecture 8b Hardware Architectures of Secret-Key Block Ciphers and Hash Functions George Mason University Recommended reading K. Gaj and P. Chodowiec, FPGA and ASIC Implementations of AES, Chapter

More information

Symmetric Key Algorithms. Definition. A symmetric key algorithm is an encryption algorithm where the same key is used for encrypting and decrypting.

Symmetric Key Algorithms. Definition. A symmetric key algorithm is an encryption algorithm where the same key is used for encrypting and decrypting. Symmetric Key Algorithms Definition A symmetric key algorithm is an encryption algorithm where the same key is used for encrypting and decrypting. 1 Block cipher and stream cipher There are two main families

More information

Lecture 2B. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Lecture 2B. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram Lecture 2B RTL Design Methodology Transition from Pseudocode & Interface to a Corresponding Block Diagram Structure of a Typical Digital Data Inputs Datapath (Execution Unit) Data Outputs System Control

More information

AES Core Specification. Author: Homer Hsing

AES Core Specification. Author: Homer Hsing AES Core Specification Author: Homer Hsing homer.hsing@gmail.com Rev. 0.1.1 October 30, 2012 This page has been intentionally left blank. www.opencores.org Rev 0.1.1 ii Revision History Rev. Date Author

More information

Comparison of the Hardware Performance of the AES Candidates Using Reconfigurable Hardware

Comparison of the Hardware Performance of the AES Candidates Using Reconfigurable Hardware Comparison of the Hardware Performance of the AES Candidates Using Reconfigurable Hardware Master s Thesis Pawel Chodowiec MS CpE Candidate, ECE George Mason University Advisor: Dr. Kris Gaj, ECE George

More information

Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays

Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays Kris Gaj and Pawel Chodowiec Electrical and Computer Engineering George Mason University Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable

More information

Outcomes. Spiral 1 / Unit 6. Flip Flops FLIP FLOPS AND REGISTERS. Flip flops and Registers. Outputs only change once per clock period

Outcomes. Spiral 1 / Unit 6. Flip Flops FLIP FLOPS AND REGISTERS. Flip flops and Registers. Outputs only change once per clock period 1-6.1 1-6.2 Spiral 1 / Unit 6 Flip flops and Registers Mark Redekopp Outcomes I know the difference between combinational and sequential logic and can name examples of each. I understand latency, throughput,

More information

Spiral 1 / Unit 6. Flip-flops and Registers

Spiral 1 / Unit 6. Flip-flops and Registers 1-5.1 Spiral 1 / Unit 6 Flip-flops and Registers 1-5.2 Outcomes I know the difference between combinational and sequential logic and can name examples of each. I understand latency, throughput, and at

More information

Outcomes. Spiral 1 / Unit 6. Flip Flops FLIP FLOPS AND REGISTERS. Flip flops and Registers. Outputs only change once per clock period

Outcomes. Spiral 1 / Unit 6. Flip Flops FLIP FLOPS AND REGISTERS. Flip flops and Registers. Outputs only change once per clock period 1-5.1 1-5.2 Spiral 1 / Unit 6 Flip flops and Registers Mark Redekopp Outcomes I know the difference between combinational and sequential logic and can name examples of each. I understand latency, throughput,

More information

Minimum Area Cost for a 30 to 70 Gbits/s AES Processor

Minimum Area Cost for a 30 to 70 Gbits/s AES Processor Minimum Area Cost for a 30 to 70 Gbits/s AE Processor Alireza Hodjat and Ingrid Verbauwhede Electrical Engineering Department University of California, Los Angeles {ahodjat, ingrid} @ ee.ucla.edu Abstract

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 3: Architeching Speed Prof. Mingjie Lin 1 Flowchart of CAD 2 Digital Circuits: Definition of Speed Throughput Latency The amount of data that is processed

More information

EE178 Spring 2018 Lecture Module 4. Eric Crabill

EE178 Spring 2018 Lecture Module 4. Eric Crabill EE178 Spring 2018 Lecture Module 4 Eric Crabill Goals Implementation tradeoffs Design variables: throughput, latency, area Pipelining for throughput Retiming for throughput and latency Interleaving for

More information

Analyzing the Generation and Optimization of an FPGA Accelerator using High Level Synthesis

Analyzing the Generation and Optimization of an FPGA Accelerator using High Level Synthesis Paper Analyzing the Generation and Optimization of an FPGA Accelerator using High Level Synthesis Sebastian Kaltenstadler Ulm University Ulm, Germany sebastian.kaltenstadler@missinglinkelectronics.com

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 10: Synthesis Optimization Prof. Mingjie Lin 1 What Can We Do? Trade-offs with speed versus area. Resource sharing for area optimization. Pipelining, retiming,

More information

The Rectangle Attack

The Rectangle Attack The Rectangle Attack and Other Techniques for Cryptanalysis of Block Ciphers Orr Dunkelman Computer Science Dept. Technion joint work with Eli Biham and Nathan Keller Topics Block Ciphers Cryptanalysis

More information

Secret Key Algorithms (DES) Foundations of Cryptography - Secret Key pp. 1 / 34

Secret Key Algorithms (DES) Foundations of Cryptography - Secret Key pp. 1 / 34 Secret Key Algorithms (DES) Foundations of Cryptography - Secret Key pp. 1 / 34 Definition a symmetric key cryptographic algorithm is characterized by having the same key used for both encryption and decryption.

More information

Low-cost hardware implementations of Salsa20 stream cipher in programmable devices

Low-cost hardware implementations of Salsa20 stream cipher in programmable devices Journal of Polish Safety and Reliability Association Summer Safety and Reliability Seminars, Volume 4, Number 1, 2013 Wrocław University of Technology, Wrocław, Poland Low-cost hardware implementations

More information

Statistical Analysis of KASUMI Block Cipher

Statistical Analysis of KASUMI Block Cipher Statistical Analysis of KASUMI Block Cipher Darshan Gandhi Graduate Student Rochester Institute of Technology 20 Lomb Memorial Drive Rochester, NY 14623, USA dpg3735@rit.edu ABSTRACT A block cipher or

More information

6. Symmetric Block Cipher BLOWFISH Performance. Memory space. 3. Simplicity The length of the key. The length of the data block is 64.

6. Symmetric Block Cipher BLOWFISH Performance. Memory space. 3. Simplicity The length of the key. The length of the data block is 64. belongs to the same class of conventional symmetric ciphers. The basic principles of have been published in 1994 by Bruce Schneier, as an alternative to the Data encryption standard (DES) to satisfy the

More information

Hardware-Focused Performance Comparison for the Standard Block Ciphers AES, Camellia, and Triple-DES

Hardware-Focused Performance Comparison for the Standard Block Ciphers AES, Camellia, and Triple-DES Hardware-ocused Performance Comparison for the Standard Block Ciphers AES, Camellia, and Triple-DES Akashi Satoh and Sumio Morioka Tokyo Research Laboratory IBM Japan Ltd. Contents Compact and High-Speed

More information

Homework 2. Out: 09/23/16 Due: 09/30/16 11:59pm UNIVERSITY OF MARYLAND DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING

Homework 2. Out: 09/23/16 Due: 09/30/16 11:59pm UNIVERSITY OF MARYLAND DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING UNIVERSITY OF MARYLAND DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING ENEE 457 Computer Systems Security Instructor: Charalampos Papamanthou Homework 2 Out: 09/23/16 Due: 09/30/16 11:59pm Instructions

More information

Implementation of Full -Parallelism AES Encryption and Decryption

Implementation of Full -Parallelism AES Encryption and Decryption Implementation of Full -Parallelism AES Encryption and Decryption M.Anto Merline M.E-Commuication Systems, ECE Department K.Ramakrishnan College of Engineering-Samayapuram, Trichy. Abstract-Advanced Encryption

More information

Modern Symmetric Block cipher

Modern Symmetric Block cipher Modern Symmetric Block cipher 81 Shannon's Guide to Good Ciphers Amount of secrecy should determine amount of labour appropriate for encryption and decryption The set of keys and enciphering algorithm

More information

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed Vijaya Kumar. B.1 #1, T. Thammi Reddy.2 #2 #1. Dept of Electronics and Communication, G.P.R.Engineering College,

More information

Secret Key Systems (block encoding) Encrypting a small block of text (say 64 bits) General Considerations:

Secret Key Systems (block encoding) Encrypting a small block of text (say 64 bits) General Considerations: Secret Key Systems (block encoding) Encrypting a small block of text (say 64 bits) General Considerations: Secret Key Systems Encrypting a small block of text (say 64 bits) General Considerations: 1. Encrypted

More information

Computational Security, Stream and Block Cipher Functions

Computational Security, Stream and Block Cipher Functions Computational Security, Stream and Block Cipher Functions 18 March 2019 Lecture 3 Most Slides Credits: Steve Zdancewic (UPenn) 18 March 2019 SE 425: Communication and Information Security 1 Topics for

More information

Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 24

Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 24 Assume encryption and decryption use the same key. Will discuss how to distribute key to all parties later Symmetric ciphers unusable for authentication of sender Lecturers: Mark D. Ryan and David Galindo.

More information

Delineation of Trivial PGP Security

Delineation of Trivial PGP Security IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 20, Issue 3, Ver. I (May. - June. 2018), PP 17-23 www.iosrjournals.org Delineation of Trivial PGP Security Mr.

More information

Chapter 3 Block Ciphers and the Data Encryption Standard

Chapter 3 Block Ciphers and the Data Encryption Standard Chapter 3 Block Ciphers and the Data Encryption Standard Last Chapter have considered: terminology classical cipher techniques substitution ciphers cryptanalysis using letter frequencies transposition

More information

Architectural Optimization for a 1.82Gbits/sec VLSI Implementation of the AES Rijndael Algorithm

Architectural Optimization for a 1.82Gbits/sec VLSI Implementation of the AES Rijndael Algorithm Architectural Optimization for a 1.82Gbits/sec VLI Implementation of the AE Rijndael Algorithm Henry Kuo, Ingrid Verbauwhede Electrical Engineering Department, University of California Los Angeles. henrykuo@ee.ucla.edu

More information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,

More information

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

Linear Cryptanalysis of Reduced Round Serpent

Linear Cryptanalysis of Reduced Round Serpent Linear Cryptanalysis of Reduced Round Serpent Eli Biham 1, Orr Dunkelman 1, and Nathan Keller 2 1 Computer Science Department, Technion Israel Institute of Technology, Haifa 32000, Israel, {biham,orrd}@cs.technion.ac.il,

More information

Encryption Details COMP620

Encryption Details COMP620 Encryption Details COMP620 Encryption is a powerful defensive weapon for free people. It offers a technical guarantee of privacy, regardless of who is running the government It s hard to think of a more

More information

Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays

Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays Fast implementation and fair comparison of the final candidates for Advanced Encryption Standard using Field Programmable Gate Arrays Kris Gaj and Pawel Chodowiec George Mason University, Electrical and

More information

Symmetric Cryptography. Chapter 6

Symmetric Cryptography. Chapter 6 Symmetric Cryptography Chapter 6 Block vs Stream Ciphers Block ciphers process messages into blocks, each of which is then en/decrypted Like a substitution on very big characters 64-bits or more Stream

More information

Secret Key Algorithms (DES)

Secret Key Algorithms (DES) Secret Key Algorithms (DES) G. Bertoni L. Breveglieri Foundations of Cryptography - Secret Key pp. 1 / 34 Definition a symmetric key cryptographic algorithm is characterized by having the same key used

More information

Compact Dual Block AES core on FPGA for CCM Protocol

Compact Dual Block AES core on FPGA for CCM Protocol Compact Dual Block AES core on FPGA for CCM Protocol João Carlos C. Resende Ricardo Chaves 1 Compact Dual Block AES core on FPGA for CCM Protocol João CC Resende & Ricardo Chaves Outline Introduction &

More information

Few Other Cryptanalytic Techniques

Few Other Cryptanalytic Techniques Few Other Cryptanalytic Techniques Debdeep Mukhopadhyay Assistant Professor Department of Computer Science and Engineering Indian Institute of Technology Kharagpur INDIA -721302 Objectives Boomerang Attack

More information

Practical Aspects of Modern Cryptography

Practical Aspects of Modern Cryptography Practical Aspects of Modern Cryptography Lecture 3: Symmetric s and Hash Functions Josh Benaloh & Brian LaMacchia Meet Alice and Bob Alice Bob Message Modern Symmetric s Setup: Alice wants to send a private

More information

CSc 466/566. Computer Security. 6 : Cryptography Symmetric Key

CSc 466/566. Computer Security. 6 : Cryptography Symmetric Key 1/56 CSc 466/566 Computer Security 6 : Cryptography Symmetric Key Version: 2012/02/22 16:14:16 Department of Computer Science University of Arizona collberg@gmail.com Copyright c 2012 Christian Collberg

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Block Ciphers and Data Encryption Standard. CSS Security and Cryptography

Block Ciphers and Data Encryption Standard. CSS Security and Cryptography Block Ciphers and Data Encryption Standard CSS 322 - Security and Cryptography Contents Block Cipher Principles Feistel Structure for Block Ciphers DES Simplified DES Real DES DES Design Issues CSS 322

More information

Modern Block Ciphers

Modern Block Ciphers Modern Block Ciphers now look at modern block ciphers one of the most widely used types of cryptographic algorithms provide secrecy /authentication services focus on DES (Data Encryption Standard) to illustrate

More information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL for Synthesis. Course Description. Course Duration. Goals VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

Fast implementations of secret-key block ciphers using mixed inner- and outer-round pipelining

Fast implementations of secret-key block ciphers using mixed inner- and outer-round pipelining Pawel Chodowiec, Po Khuon, Kris Gaj Electrical and Computer Engineering George Mason University Fast implementations of secret-key block ciphers using mixed inner- and outer-round pipelining http://ece.gmu.edu/crypto-text.htm

More information

Weak Keys of the Full MISTY1 Block Cipher for Related-Key Cryptanalysis

Weak Keys of the Full MISTY1 Block Cipher for Related-Key Cryptanalysis 3. 2 13.57 Weak eys for a Related-ey Differential Attack Weak eys of the Full MISTY1 Block Cipher for Related-ey Cryptanalysis Institute for Infocomm Research, Agency for Science, Technology and Research,

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates. Review: minimum sum-of-products expression from a Karnaugh map EECS 5 - Components and Design Techniques for Digital Systems Lec 7 PLAs and FSMs 9/2- David Culler Electrical Engineering and Computer Sciences

More information

Computer Security. 08. Cryptography Part II. Paul Krzyzanowski. Rutgers University. Spring 2018

Computer Security. 08. Cryptography Part II. Paul Krzyzanowski. Rutgers University. Spring 2018 Computer Security 08. Cryptography Part II Paul Krzyzanowski Rutgers University Spring 2018 March 23, 2018 CS 419 2018 Paul Krzyzanowski 1 Block ciphers Block ciphers encrypt a block of plaintext at a

More information

AES as A Stream Cipher

AES as A Stream Cipher > AES as A Stream Cipher < AES as A Stream Cipher Bin ZHOU, Kris Gaj, Department of ECE, George Mason University Abstract This paper presents implementation of advanced encryption standard (AES) as a stream

More information

HOST Cryptography III ECE 525 ECE UNM 1 (1/18/18)

HOST Cryptography III ECE 525 ECE UNM 1 (1/18/18) AES Block Cipher Blockciphers are central tool in the design of protocols for shared-key cryptography What is a blockcipher? It is a function E of parameters k and n that maps { 0, 1} k { 0, 1} n { 0,

More information

Hardware Implementation of Cryptosystem by AES Algorithm Using FPGA

Hardware Implementation of Cryptosystem by AES Algorithm Using FPGA Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 6.017 IJCSMC,

More information

Computer Security 3/23/18

Computer Security 3/23/18 s s encrypt a block of plaintext at a time and produce ciphertext Computer Security 08. Cryptography Part II Paul Krzyzanowski DES & AES are two popular block ciphers DES: 64 bit blocks AES: 128 bit blocks

More information

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran CAD for VLSI Design - I Lecture 21 V. Kamakoti and Shankar Balachandran Overview of this Lecture Understanding the process of Logic synthesis Logic Synthesis of HDL constructs Logic Synthesis What is this?

More information

COPYRIGHTED MATERIAL. Architecting Speed. Chapter 1. Sophisticated tool optimizations are often not good enough to meet most design

COPYRIGHTED MATERIAL. Architecting Speed. Chapter 1. Sophisticated tool optimizations are often not good enough to meet most design Chapter 1 Architecting Speed Sophisticated tool optimizations are often not good enough to meet most design constraints if an arbitrary coding style is used. This chapter discusses the first of three primary

More information

The Use of Runtime Reconfiguration on FPGA Circuits to Increase the Performance of the AES Algorithm Implementation

The Use of Runtime Reconfiguration on FPGA Circuits to Increase the Performance of the AES Algorithm Implementation Journal of Universal Computer Science, vol. 13, no. 3 (2007), 349-362 submitted: 30/11/06, accepted: 16/2/07, appeared: 28/3/07 J.UCS The Use of Runtime Reconfiguration on FPGA Circuits to Increase the

More information

Advanced Encryption Standard and Modes of Operation. Foundations of Cryptography - AES pp. 1 / 50

Advanced Encryption Standard and Modes of Operation. Foundations of Cryptography - AES pp. 1 / 50 Advanced Encryption Standard and Modes of Operation Foundations of Cryptography - AES pp. 1 / 50 AES Advanced Encryption Standard (AES) is a symmetric cryptographic algorithm AES has been originally requested

More information

CSC 474/574 Information Systems Security

CSC 474/574 Information Systems Security CSC 474/574 Information Systems Security Topic 2.2 Secret Key Cryptography CSC 474/574 Dr. Peng Ning 1 Agenda Generic block cipher Feistel cipher DES Modes of block ciphers Multiple encryptions Message

More information

CIS 6930/4930 Computer and Network Security. Topic 3.1 Secret Key Cryptography (Cont d)

CIS 6930/4930 Computer and Network Security. Topic 3.1 Secret Key Cryptography (Cont d) CIS 6930/4930 Computer and Network Security Topic 3.1 Secret Key Cryptography (Cont d) 1 Principles for S-Box Design S-box is the only non-linear part of DES Each row in the S-Box table should be a permutation

More information

Content of this part

Content of this part UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Introduction to Cryptography ECE 597XX/697XX Part 5 More About Block Ciphers Israel Koren ECE597/697 Koren Part.5.1 Content of this

More information

SOLUTIONS FOR HOMEWORK # 1 ANSWERS TO QUESTIONS

SOLUTIONS FOR HOMEWORK # 1 ANSWERS TO QUESTIONS SOLUTIONS OR HOMEWORK # 1 ANSWERS TO QUESTIONS 2.4 A stream cipher is one that encrypts a digital data stream one bit or one byte at a time. A block cipher is one in which a block of plaintext is treated

More information

Lightweight Cryptography: Designing Crypto for Low Energy and Low Power

Lightweight Cryptography: Designing Crypto for Low Energy and Low Power Lightweight Cryptography: Designing Crypto for Low Energy and Low Power Miroslav Knežević NXP Semiconductors miroslav.knezevic@nxp.com September 12, 2015 WEEE 2015, Espoo, Finland Cryptography The Art

More information

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( ) 6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate logical values from place to place.

More information

CIS 4360 Introduction to Computer Security Fall WITH ANSWERS in bold. First Midterm

CIS 4360 Introduction to Computer Security Fall WITH ANSWERS in bold. First Midterm CIS 4360 Introduction to Computer Security Fall 2010 WITH ANSWERS in bold Name:.................................... Number:............ First Midterm Instructions This is a closed-book examination. Maximum

More information

Cryptography and Network Security Block Ciphers + DES. Lectured by Nguyễn Đức Thái

Cryptography and Network Security Block Ciphers + DES. Lectured by Nguyễn Đức Thái Cryptography and Network Security Block Ciphers + DES Lectured by Nguyễn Đức Thái Outline Block Cipher Principles Feistel Ciphers The Data Encryption Standard (DES) (Contents can be found in Chapter 3,

More information

S-DES Encryption template. Input:

S-DES Encryption template. Input: Page 1 of 5 S-DES (simplified Data Encryption Standard) Assignment template: ENCRYPTION TEMPLATE To the input (plaintext), apply initial permutation IP: IP 2 6 3 1 4 8 5 7 In the next steps, we will develop

More information

ASIC Performance Comparison for the ISO Standard Block Ciphers

ASIC Performance Comparison for the ISO Standard Block Ciphers ASIC Performance Comparison for the ISO Standard Block Ciphers Takeshi Sugawara 1, Naofumi Homma 1, Takafumi Aoki 1, and Akashi Satoh 2 1 Graduate School of Information Sciences, Tohoku University Aoba

More information

3 Symmetric Key Cryptography 3.1 Block Ciphers Symmetric key strength analysis Electronic Code Book Mode (ECB) Cipher Block Chaining Mode (CBC) Some

3 Symmetric Key Cryptography 3.1 Block Ciphers Symmetric key strength analysis Electronic Code Book Mode (ECB) Cipher Block Chaining Mode (CBC) Some 3 Symmetric Key Cryptography 3.1 Block Ciphers Symmetric key strength analysis Electronic Code Book Mode (ECB) Cipher Block Chaining Mode (CBC) Some popular block ciphers Triple DES Advanced Encryption

More information

Secret Key Cryptography (Spring 2004)

Secret Key Cryptography (Spring 2004) Secret Key Cryptography (Spring 2004) Instructor: Adi Shamir Teaching assistant: Eran Tromer 1 Background Lecture notes: DES Until early 1970 s: little cryptographic research in industry and academcy.

More information

Data Encryption Standard

Data Encryption Standard ECE 646 Lecture 7 Data Encryption Standard Required Reading W. Stallings, "Cryptography and Network-Security," 5th Edition, Chapter 3: Block Ciphers and the Data Encryption Standard Chapter 6.1: Multiple

More information

Design and Analysis of Cryptographic Algorithms for Mobile Communication Systems. Henri Gilbert Orange Labs.

Design and Analysis of Cryptographic Algorithms for Mobile Communication Systems. Henri Gilbert Orange Labs. Design and Analysis of Cryptographic Algorithms for Mobile Communication Systems Henri Gilbert Orange Labs {firstname.lastname@orange-ftgroup.com} outline development of cryptographic algorithms for a

More information

EECS150 - Digital Design Lecture 24 - High-Level Design (Part 3) + ECC

EECS150 - Digital Design Lecture 24 - High-Level Design (Part 3) + ECC EECS150 - Digital Design Lecture 24 - High-Level Design (Part 3) + ECC April 12, 2012 John Wawrzynek Spring 2012 EECS150 - Lec24-hdl3 Page 1 Parallelism Parallelism is the act of doing more than one thing

More information

Introduction to Symmetric Cryptography

Introduction to Symmetric Cryptography Introduction to Symmetric Cryptography Tingting Chen Cal Poly Pomona 1 Some slides are from Dr. Cliff Zou. www.cs.ucf.edu/~czou/cis3360-12/ch08-cryptoconcepts.ppt Basic Cryptography Private Key Cryptography

More information

RC6 Implementation including key scheduling using FPGA

RC6 Implementation including key scheduling using FPGA ECE 646, HI-3 1 RC6 Implementation including key scheduling using FPGA (ECE 646 Project, December 2006) Fouad Ramia, Hunar Qadir, GMU Abstract with today's great demand for secure communications systems,

More information

A Simple Power Analysis Attack Against the Key Schedule of the Camellia Block Cipher

A Simple Power Analysis Attack Against the Key Schedule of the Camellia Block Cipher A Simple Power Analysis Attack Against the Key Schedule of the Camellia Block Cipher Lu Xiao and Howard M. Heys 2 QUALCOMM Incorporated, lxiao@qualcomm.com 2 Electrical and Computer Engineering, Faculty

More information

Sharing Resources Between AES and the SHA-3 Second Round Candidates Fugue and Grøstl

Sharing Resources Between AES and the SHA-3 Second Round Candidates Fugue and Grøstl Sharing Resources Between AES and the SHA-3 Second Round Candidates Fugue and Grøstl Kimmo Järvinen Department of Information and Computer Science Aalto University, School of Science and Technology Espoo,

More information

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 4. The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle

More information

Parallelized Radix-4 Scalable Montgomery Multipliers

Parallelized Radix-4 Scalable Montgomery Multipliers Parallelized Radix-4 Scalable Montgomery Multipliers Nathaniel Pinckney and David Money Harris 1 1 Harvey Mudd College, 301 Platt. Blvd., Claremont, CA, USA e-mail: npinckney@hmc.edu ABSTRACT This paper

More information

FPGA and ASIC Implementations of AES

FPGA and ASIC Implementations of AES Chapter 10 FPGA and ASIC Implementations of AES Kris Gaj and Pawel Chodowiec 10.1 Introduction In 1997, an effort was initiated to develop a new American encryption standard to be commonly used well into

More information

Cryptanalysis of KeeLoq code-hopping using a Single FPGA

Cryptanalysis of KeeLoq code-hopping using a Single FPGA Cryptanalysis of KeeLoq code-hopping using a Single FPGA Idan Sheetrit and Avishai Wool Computer and Network Security Lab School of Electrical Engineering Tel-Aviv University, Ramat Aviv 69978, Israel

More information

New Attacks on Feistel Structures with Improved Memory Complexities

New Attacks on Feistel Structures with Improved Memory Complexities New Attacks on Feistel Structures with Improved Memory Complexities Itai Dinur 1, Orr Dunkelman 2,4,, Nathan Keller 3,4,, and Adi Shamir 4 1 Département d Informatique, École Normale Supérieure, Paris,

More information

Lecture 4: Symmetric Key Encryption

Lecture 4: Symmetric Key Encryption Lecture 4: Symmetric ey Encryption CS6903: Modern Cryptography Spring 2009 Nitesh Saxena Let s use the board, please take notes 2/20/2009 Lecture 1 - Introduction 2 Data Encryption Standard Encrypts by

More information

c Eli Biham - March 13, Cryptanalysis of Modes of Operation (4) c Eli Biham - March 13, Cryptanalysis of Modes of Operation (4)

c Eli Biham - March 13, Cryptanalysis of Modes of Operation (4) c Eli Biham - March 13, Cryptanalysis of Modes of Operation (4) Single Modes: the S Modes of Operation Modes of Operation are used to hide patterns in the plaintexts, protect against chosen plaintext attacks, and to support fast on-line encryption with precomputation.

More information

OpenSSL is a project comprising (1) a core library and (2) a toolkit. The core library offers an API for developers of secure applications.

OpenSSL is a project comprising (1) a core library and (2) a toolkit. The core library offers an API for developers of secure applications. 1 OpenSSL is a project comprising (1) a core library and (2) a toolkit. The core library offers an API for developers of secure applications. The toolkit offers a series of command-line tools to perform

More information

Secret Key Cryptography

Secret Key Cryptography Secret Key Cryptography General Block Encryption: The general way of encrypting a 64-bit block is to take each of the: 2 64 input values and map it to a unique one of the 2 64 output values. This would

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

An Efficient FPGA Implementation of the Advanced Encryption Standard (AES) Algorithm Using S-Box

An Efficient FPGA Implementation of the Advanced Encryption Standard (AES) Algorithm Using S-Box Volume 5 Issue 2 June 2017 ISSN: 2320-9984 (Online) International Journal of Modern Engineering & Management Research Website: www.ijmemr.org An Efficient FPGA Implementation of the Advanced Encryption

More information

Computer and Data Security. Lecture 3 Block cipher and DES

Computer and Data Security. Lecture 3 Block cipher and DES Computer and Data Security Lecture 3 Block cipher and DES Stream Ciphers l Encrypts a digital data stream one bit or one byte at a time l One time pad is example; but practical limitations l Typical approach

More information

Compact Hardware Implementations of ChaCha, BLAKE, Threefish, and Skein on FPGA

Compact Hardware Implementations of ChaCha, BLAKE, Threefish, and Skein on FPGA Compact Hardware Implementations of ChaCha, BLAKE, Threefish, and Skein on FPGA Nuray At, Jean-Luc Beuchat, Eiji Okamoto, İsmail San, and Teppei Yamazaki Department of Electrical and Electronics Engineering,

More information

P2_L6 Symmetric Encryption Page 1

P2_L6 Symmetric Encryption Page 1 P2_L6 Symmetric Encryption Page 1 Reference: Computer Security by Stallings and Brown, Chapter 20 Symmetric encryption algorithms are typically block ciphers that take thick size input. In this lesson,

More information

Lecture 5. Cryptographic Hash Functions. Read: Chapter 5 in KPS

Lecture 5. Cryptographic Hash Functions. Read: Chapter 5 in KPS Lecture 5 Cryptographic Hash Functions Read: Chapter 5 in KPS 1 Purpose CHF one of the most important tools in modern cryptography and security CHF-s are used for many authentication, integrity, digital

More information

AES1. Ultra-Compact Advanced Encryption Standard Core AES1. General Description. Base Core Features. Symbol. Applications

AES1. Ultra-Compact Advanced Encryption Standard Core AES1. General Description. Base Core Features. Symbol. Applications General Description The AES core implements Rijndael encoding and decoding in compliance with the NIST Advanced Encryption Standard. Basic core is very small (less than 3,000 gates). Enhanced versions

More information

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl www.crypto-textbook.com Chapter 5 More About Block Ciphers ver. November 26, 2010 Last modified 10-2-17

More information

Cryptography and Network Security

Cryptography and Network Security Cryptography and Network Security Spring 2012 http://users.abo.fi/ipetre/crypto/ Lecture 14: Folklore, Course summary, Exam requirements Ion Petre Department of IT, Åbo Akademi University 1 Folklore on

More information