ECE646 Project Final Report: Towards an Area-Constrained Implementation of the SHA-3 Final Round Keccak Algorithm. Project by Kim Turley
|
|
- Hugo Cole
- 6 years ago
- Views:
Transcription
1 ECE646 Project Final Report: Towards an Area-Constrained Implementation of the SHA-3 Final Round Keccak Algorithm Project by Kim Turley
2 Project Overview Goal: To explore in detail the elements of an areaconstrained version of Keccak that achieves acceptable levels of throughput Justification: The ability to function well in areaconstrained environments is a selection criteria for SHA-3 contest, and Keccak has not yet been shown to perform on the level of other algorithms Design Choices: Keccak-1600, Altera Cyclone III, Quartus II Web Edition, Verilog, Area measured in #Logic Elements and #Registers
3 Outline Past Work Approach to the Problem Set-up Development Environment Tested Existing Implementation Code Wrote Verilog Skeleton Code Implemented and compiled all round modules Implemented overall round module
4 Past Work Keccak Group Implementation (Including Area Constrained) Low-Area Implementations: Area-efficient FPGA Implementations of the SHA-3 Finalists - - Bernhard Jungk and Jurgen Apfelbeck Lightweight Implementations of SHA-3 Candidates on FPGAs - - Jens-Peter Kaps, Panasayya Yalla, Kishore Kumar Surapathi, Bilal Habib, Susheel Vadlamudi, Smriti Gurung, and John Pham Compact FPGA Implementations of the Five SHA-3 Finalists, Stephanie Kerckhof, Francois Durvaux, Nicolas Veyrat-Charvillon, Francesco Regazzoni, Guerric Meurice de Dormale, Francois-Xavier Standaert
5 Jungk et.al. Keccak Top-Level Diagram Jungk has created an architecture that provides a framework for approaching the low-area problem by pipelining several rounds and efficiently implementing the pipeline. My framework will utilize Jungk's round structure
6 Kerckhof et.al. Keccak Top-Level Diagram Kerckhof's implementation has several inefficiencies, and does not provide a strong basis on which to begin development of a low-area algorithm
7 Kaps et.al. Keccak Top-Level Diagram The GMU I/O Framework will be used to facilitate testing and comparison of my implementation
8 Evaluation of Existing Work Additional unaddressed constraints Requirement for comparability Programming style Kaps' padding style most approachable Jungk's logical structure most efficient Kerckhof's does not account for Keccak's best features
9 Approach Design will be implemented in dataflow-style verilog to provide maximum control over the gate choice Operations will be created modularly so the design can be implemented with varying degrees of pipelining Identify operations that can be combined to reduce logical footprint
10 Development Environment and Existing Implementations Developing in Quartus II Web Edition Constrains Project to Using an Altera Platform Code is from the Keccak group's area-constrained implmentation
11 Skeleton Code Keccak[r,c](M) { Initialization and padding Padding in Software GMU IMPLEMENTATION Absorbing phase forall block Pi in P S[x,y] = S[x,y] xor Pi[x+5*y], S = Keccak-f[r+c](S) forall (x,y) such that x+5*y < r/w Squeezing phase Z = empty string while output is requested Z = Z S[x,y], S = Keccak-f[r+c](S) forall (x,y) such that x+5*y < r/w return Z Keccak-f[b](A) { forall i in 0 nr-1 A = Round[b](A, RC[i]) return A Round[b](A,RC) { θ step C[x] = A[x,0] xor A[x,1] xor A[x,2] xor A[x,3] xor A[x,4], forall x in 0 4 D[x] = C[x-1] xor rot(c[x+1],1), forall x in 0 4 A[x,y] = A[x,y] xor D[x], forall (x,y) in (0 4,0 4) ρ and π steps B[y,2*x+3*y] = rot(a[x,y], r[x,y]), forall (x,y) in (0 4,0 4) χ step A[x,y] = B[x,y] xor ((not B[x+1,y]) and B[x+2,y]), forall (x,y) in (0 4,0 4) ι step A[0,0] = A[0,0] xor RC JUNGK IMPLEMENTATION return A
12 Round Module Block Diagram A[x,y] RC Round Ɵ A[x,y] C[0] = A[0,0]xorA[0,1]xor...xorA[0,4] C[4] = A[4,0]xorA[4,1]xor...xorA[4,4] D[0] = C[0-1] xor rot(c[0+1],1) C[x,y] D[4] = C[4-1] xor rot(c[4+1],1) A[0,0] = A[0,0]xorD[0] A[0,1] = A[0,1]xorD[0] D[x,y] A[1,0] = A[1,0]xorD[1] A[4,4] = A[4,4]xorD[4] Ρ and π B[y,2*x+3*y] = rot(a[x,y], r[x,y] B[x,y] χ A[x,y] = B[x,y] xor ((not B[x+1,y]) and B[x+2,y]) A[x,y] ι A[0,0] = A[0,0] xor RC A[x,y]
13 Generating Module Code Use Java (Eclipse Development Environment) to generate thousands of lines of dataflow-style code Easy to modify statements as needed (ex assign vs always-block code) only need to change one line of code
14 //theta Theta /* for(i=0; i<5; i++){ for(j=0; j<math.pow(2,l); j++){ for(k=0; k<5; k++){ System.out.println("assign a_out["+i+"]["+k+"]["+j+"] = a_in["+(i+5-1)%5+"]["+0+"]["+j+"] ^ a_in["+(i+5-1)%5+"]["+1+"]["+j+"] ^ a_in["+(i+5-1)%5+"]["+2+"] ["+j+"] ^ a_in["+(i+5-1)%5+"]["+3+"]["+j+"] ^ a_in["+ (i+5-1)%5+"]["+4+"]["+j+"] ^ a_in["+(i+1)%5+"]["+0+"] ["+(j+64-1)%64+"] ^ a_in["+(i+1)%5+"]["+1+"]["+(j+64-1)%64+"] ^ a_in["+(i+1)%5+"]["+2+"]["+(j+64-1)%64+"] ^ a_in["+(i+1)%5+"]["+3+"]["+(j+64-1)%64+"] ^ a_in["+ (i+1)%5+"]["+4+"]["+(j+64-1)%64+"];"); // Display the string. out.write("\r\n"); //
15 //rho for(x = 0; x<5; x++){ for(y = 0; y< 5; y++){ switch (x){ case 0: switch(y){ case 0: t = -1; break; case 1: t = 7; break; case 2: t = 1; break; case 3: t = 13; break; case 4: t = 19; break; break; case 1: switch(y){ case 0: t = 0; break; case 1: t = 23; break; case 2: t = 3; break; case 3: t = 8; break; case 4: t = 10; break; break; case 2: switch(y){ case 0: t = 18; break; case 1: t = 2; break; case 2: t = 17; break; case 3: t = 4; break; case 4: t = 21; break; break; case 3: switch(y){ case 0: t = 6; break; case 1: t = 9; break; case 2: t = 16; break; case 3: t = 5; break; case 4: t = 14; break; break; case 4: switch(y){ case 0: t = 12; break; case 1: t = 22; break; case 2: t = 20; break; case 3: t = 15; break; case 4: t = 11; break; break; for (z = 0; z< 64; z++){ System.out.println("assign a_out["+x+"] ["+y+"]["+z+"] = a_in["+x+"]["+y+"]["+ (z+320-(t+1)*(t+2)/2)%64+"];"); Rho
16 //pi for(i = 0; i<5; i++){ for(j = 0; j<5; j++){ switch(i){ case 0: switch(j){ case 0: x = 0; y = 0; break; case 1: x = 3; y = 0; break; case 2: x = 1; y = 0; break; case 3: x = 4; y = 0; break; case 4: x = 2; y = 0; break; break; case 1: switch(j){ case 0: x = 1; y = 1; break; case 1: x = 4; y = 1; break; case 2: x = 2; y = 1; break; case 3: x = 0; y = 1; break; case 4: x = 3; y = 1; break; break; case 2: switch(j){ case 0: x = 2; y = 2; break; case 1: x = 0; y = 2; break; case 2: x = 3; y = 2; break; case 3: x = 1; y = 2; break; case 4: x = 4; y = 2; break; break; case 3: switch(j){ case 0: x = 3; y = 3; break; case 1: x = 1; y = 3; break; case 2: x = 4; y = 3; break; case 3: x = 2; y = 3; break; case 4: x = 0; y = 3; break; break; case 4: switch(j){ case 0: x = 4; y = 4; break; case 1: x = 3; y = 4; break; case 2: x = 0; y = 4; break; case 3: x = 3; y = 4; break; case 4: x = 1; y = 4; break; break; for(k=0; k<64; k++){ System.out.println("assign a_out["+i+"]["+j+"] ["+k+"] = a_in["+x+"]["+y+"]["+k+"];"); Pi
17 Chi //chi for(x = 0; x < 2; x++){ for(y=0; y<5; y++){ for(z=0; z<64; z++){ System.out.println("assign a_out["+x+"]["+y+"] ["+z+"] = a_in["+x+"]["+y+"]["+z+"] ^ (~a_in["+ (x+1)%5+"]["+y+"]["+z+"] & a_in["+(x+2)%5+"] ["+y+"]["+z+"]);");
18 Iota //iota for(x=0; x<5; x++){ for(y=0; y<5; y++){ for(z=0; z<64; z++){ System.out.println("assign a_out["+x+"]["+y+"]["+z+"] = a_in["+x+"]["+y+"]["+z+"] + RC[ir] ["+x+"]["+y+"]["+z+"];");
19 Round
20 Input//Output Trigger 5-Bit Counter Clock-In Logic Clock Divider
21 Results
22 Conclusions and Future Work All area could be reduced by approx 1/6 by reusing the counter and triggers for clock-in, rounds, and clock-out stages Throughput could be increased by pipelining, but clock-in//clock-out happen at a faster rate than round logic Optimizations of sequential logic still possible
Lightweight Implementations of SHA-3 Candidates on FPGAs
Lightweight of SHA-3 Candidates on FPGAs Jens-Peter Kaps Panasayya Yalla Kishore Kumar Surapathi Bilal Habib Susheel Vadlamudi Smriti Gurung John Pham Cryptographic Engineering Research Group (CERG) http://cryptography.gmu.edu
More informationKeccak discussion. Soham Sadhu. January 9, 2012
Keccak discussion Soham Sadhu January 9, 2012 Keccak (pronounced like Ketchak ) is a cryptographic hash function designed by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche. Keccak is
More informationAvailable online at ScienceDirect. Procedia Technology 24 (2016 )
Available online at www.sciencedirect.com ScienceDirect Procedia Technology 24 (2016 ) 918 924 International Conference on Emerging Trends in Engineering, Science and Technology (ICETEST - 2015) Design
More informationOn the parallelization of slice-based Keccak implementations on Xilinx FPGAs
On the parallelization of slice-based Keccak implementations on Xilinx FPGAs Jori Winderickx, Joan Daemen and Nele Mentens KU Leuven, ESAT/COSIC & iminds, Leuven, Belgium STMicroelectronics Belgium & Radboud
More information!"#$%&'()*+%&,-%&.*/.&0"&#%(1.*"0* 2+345*!%(,',%6.7*87'()*9/:37* :."&).*A%7"(*8('B.&7'6=* 8C2C3C*
!"#$%&'()*+%&,-%&.*/.&0"&#%(1.*"0* 2+345*!%(,',%6.7*87'()*9/:37* ;&
More informationAppendix K SHA-3. William Stallings
Appendix K SHA-3 William Stallings K.1 THE ORIGINS OF SHA-3... 2 K.2 EVALUATION CRITERIA FOR SHA-3... 4 K.3 THE SPONGE CONSTRUCTION... 6 K.4 THE SHA-3 ITERATION FUNCTION f... 13 Structure of f... 14 Theta
More informationIMPLEMENTATION OF BLAKE ALGORITHM USING PIPELINING IN FPGA
International Journal Innovations in Scientific and IMPLEMENTATION OF BLAKE ALGORITHM USING PIPELINING IN FPGA 1 M.Jothi Kumar, 2 Chitravalavan 1 Research Scholar, Department Applied Electronics, A.V.C.
More informationPushing the Limits of SHA-3 Hardware Implementations to Fit on RFID
Motivation Keccak Our Designs Results Comparison Conclusions 1 / 24 Pushing the Limits of SHA-3 Hardware Implementations to Fit on RFID Peter Pessl and Michael Hutter Motivation Keccak Our Designs Results
More informationCompact FPGA Implementations of the Five SHA-3 Finalists
Compact FPGA Implementations of the Five SHA-3 Finalists Stéphanie Kerckhof 1,François Durvaux 1, Nicolas Veyrat-Charvillon 1, Francesco Regazzoni 1, Guerric Meurice de Dormale 2,andFrançois-Xavier Standaert
More informationPreimage attacks on the round-reduced Keccak with the aid of differential cryptanalysis
Preimage attacks on the round-reduced Keccak with the aid of differential cryptanalysis Pawe l Morawiecki 1,3, Josef Pieprzyk 2, Marian Srebrny 1,3, and Micha l Straus 1 1 Section of Informatics, University
More informationLightweight Implementations of SHA-3 Candidates on FPGAs
Lightweight Implementations of SHA-3 Candidates on FPGAs Jens-Peter Kaps, Panasayya Yalla, Kishore Kumar Surapathi, Bilal Habib, Susheel Vadlamudi, Smriti Gurung, and John Pham ECE Department, George Mason
More informationCube Attacks and Cube-attack-like Cryptanalysis on the Round-reduced Keccak Sponge Function
Cube Attacks and Cube-attack-like Cryptanalysis on the Round-reduced Keccak Sponge Function Itai Dinur 1, Pawe l Morawiecki 2,3, Josef Pieprzyk 4 Marian Srebrny 2,3, and Micha l Straus 3 1 Computer Science
More informationA Lightweight Implementation of Keccak Hash Function for Radio-Frequency Identification Applications
A Lightweight Implementation of Keccak Hash Function for Radio-Frequency Identification Applications Elif Bilge Kavun and Tolga Yalcin Department of Cryptography Institute of Applied Mathematics, METU
More informationEfficient Hardware Implementations of High Throughput SHA-3 Candidates Keccak, Luffa and Blue Midnight Wish for Single- and Multi-Message Hashing
Efficient Hardware Implementations of High Throughput SHA-3 Candidates Keccak, Luffa and Blue Midnight Wish for Single- and Multi-Message Hashing Abdulkadir Akın, Aydın Aysu, Onur Can Ulusel, and Erkay
More informationSecure Hash Algorithm-3(SHA-3) implementation on Xilinx FPGAs, Suitable for IoT Applications
Secure Hash Algorithm-3(SHA-3) implementation on Xilinx FPGAs, Suitable for IoT Applications Muzaffar Rao, Thomas Newe and Ian Grout University of Limerick, Ireland muhammad.rao @ ul.ie, thomas.newe @
More informationCompact Implementation of Threefish and Skein on FPGA
Compact Implementation of Threefish and Skein on FPGA Nuray At, Jean-Luc Beuchat, and İsmail San Department of Electrical and Electronics Engineering, Anadolu University, Eskişehir, Turkey Email: {nat,
More informationSIMD Instruction Set Extensions for KECCAK with Applications to SHA-3, Keyak and Ketje!
SIMD Instruction Set Extensions for KECCAK with Applications to SHA-3, Keyak and Ketje! Hemendra K. Rawat and Patrick Schaumont! Virginia tech, Blacksburg, USA! {hrawat, schaum}@vt.edu! 1 Motivation q
More informationKeccak specifications
Keccak specifications Guido Bertoni 1, Joan Daemen 1, Michaël Peeters 2 and Gilles Van Assche 1 1 STMicroelectronics 2 NXP Semiconductors http://keccak.noekeon.org/ Version 2 September 10, 2009 Keccak
More informationKeccak and SHA-3: code and standard updates
Keccak and SHA-3: code and standard updates Guido Bertoni 1 Joan Daemen 1 Michaël Peeters 2 Gilles Van Assche 1 Ronny Van Keer 1 1 STMicroelectronics 2 NXP Semiconductors FOSDEM 2015, Brussels, January
More informationC vs. VHDL: Benchmarking CAESAR Candidates Using High- Level Synthesis and Register- Transfer Level Methodologies
C vs. VHDL: Benchmarking CAESAR Candidates Using High- Level Synthesis and Register- Transfer Level Methodologies Ekawat Homsirikamol, William Diehl, Ahmed Ferozpuri, Farnoud Farahmand, and Kris Gaj George
More informationFuture Challenges for Lightweight Cryptography
Future Challenges for Lightweight Cryptography F.-X. Standaert UCL Crypto Group Crypto for 2020, Tenerife, January 2013 Outline 1 1. Past results 2. Future challenges 1. Block ciphers 2 TEA, NOEKEON, AES,
More informationImplementation & Benchmarking of Padding Units & HMAC for SHA-3 candidates in FPGAs & ASICs
Implementation & Benchmarking of Padding Units & HMAC for SHA-3 candidates in FPGAs & ASICs Ambarish Vyas Cryptographic Engineering Research Group (CERG) http://cryptography.gmu.edu Department of ECE,
More informationCS-E4320 Cryptography and Data Security Lecture 5: Hash Functions
Lecture 5: Hash Functions Céline Blondeau Email: celine.blondeau@aalto.fi Department of Computer Science Aalto University, School of Science Hash Functions Birthday Paradox Design of Hash Functions SHA-3
More informationRTL IMPLEMENTATION OF SECURE HASH ALGORITHM 3 (SHA-3) TOWARDS SMALLER AREA
RTL IMPLEMENTATION OF SECURE HASH ALGORITHM 3 (SHA-3) TOWARDS SMALLER AREA LIM YEN RUEN UNIVERSITI SAINS MALAYSIA 2017 RTL IMPLEMENTATION OF SECURE HASH ALGORITHM 3 (SHA-3) TOWARDS SMALLER AREA by LIM
More informationAvailable online at ScienceDirect. Procedia Technology 24 (2016 )
Available online at www.sciencedirect.com ScienceDirect Procedia Technology 24 (2016 ) 904 910 International Conference on Emerging Trends in Engineering, Science and Technology (ICETEST- 2015) Performance
More informationA High-Speed Unified Hardware Architecture for AES and the SHA-3 Candidate Grøstl
A High-Speed Unified Hardware Architecture for AES and the SHA-3 Candidate Grøstl Marcin Rogawski Kris Gaj Cryptographic Engineering Research Group (CERG) http://cryptography.gmu.edu Department of ECE,
More informationBruno Pujos. January 14, 2015
calculator calculator January 14, 2015 Introduction calculator is a virtual crypto currency introduced in 2008-2009. Based on the bruteforce of a. For fast computation, use of /ASIC. : Field-Programmable
More informationOn Optimized FPGA Implementations of the SHA-3 Candidate Grøstl
On Optimized FPGA Implementations of the SHA-3 Candidate Grøstl Bernhard Jungk, Steffen Reith, and Jürgen Apfelbeck Fachhochschule Wiesbaden University of Applied Sciences {jungk reith}@informatik.fh-wiesbaden.de
More informationextended external Benchmarking extension (XXBX)
extended external Benchmarking extension () John Pham and Jens-Peter Kaps Cryptographic Engineering Research Group (CERG) http://cryptography.gmu.edu Department of ECE, Volgenau School of Engineering,
More informationUse of Embedded FPGA Resources in Implementations of Five Round Three SHA-3 Candidates
Use of Embedded FPGA Resources in Implementations of Five Round Three SHA-3 Candidates Malik Umar Sharif, Rabia Shahid, Marcin Rogawski and Kris Gaj George Mason University, USA Agenda SHA-3 High Speed
More informationBenchmarking of Round 2 CAESAR Candidates in Hardware: Methodology, Designs & Results
Benchmarking of Round 2 CAESAR Candidates in Hardware: Methodology, Designs & Results Ekawat Homsirikamol, Panasayya Yalla, Ahmed Ferozpuri, William Diehl, Farnoud Farahmand, Michael X. Lyons, and Kris
More informationParallel Cube Testing on GPUs
Parallel Cube Testing on GPUs by Sudarshan Rao Supervised by Prof. Alan Kaminsky Associate Professor Committee Chair Prof. S. Radziszowski Professor Reader Prof. E. Hemaspaandra Professor Observer Department
More informationLow-Area Implementations of SHA-3 Candidates
Jens-Peter Cryptographic Engineering Research Group (CERG) http://cryptography.gmu.edu Department of ECE, Volgenau School of IT&E, George Mason University, Fairfax, VA, USA SHA-3 Project Review Meeting
More informationKeccak. Final Paper. Team Bletchley. Chris Bentivenga Frederick Christie Michael Kitson
Keccak Final Paper Team Bletchley Chris Bentivenga Frederick Christie Michael Kitson Description of the Algorithm Keccak is the winner of NIST hash function competition, and is the accepted standard for
More informationECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3
Objectives: ECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3 Build Instruction Memory and Data Memory What to hand in: Your implementation source
More informationVivado HLS Implementation of Round-2 SHA-3 Candidates
Farnoud Farahmand ECE 646 Fall 2015 Vivado HLS Implementation of Round-2 SHA-3 Candidates Introduction NIST announced a public competition on November 2007 to develop a new cryptographic hash algorithm,
More informationDesign and Implementation of Rijindael s Encryption and Decryption Algorithm using NIOS- II Processor
Design and Implementation of Rijindael s Encryption and Decryption Algorithm using NIOS- II Processor Monika U. Jaiswal 1, Nilesh A. Mohota 2 1 Student, Electronics Department, JDCOEM, Nagpur, India 2
More informationGroestl Tweaks and their Effect on FPGA Results
Groestl Tweaks and their Effect on FPGA Results Marcin Rogawski and Kris Gaj George Mason University {kgaj, mrogawsk}@gmu.edu Abstract. In January 2011, Groestl team published tweaks to their specification
More informationFEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION. SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions
FIPS PUB 202 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions CATEGORY: COMPUTER SECURITY SUBCATEGORY: CRYPTOGRAPHY Information
More informationEkawat Homsirikamol, William Diehl, Ahmed Ferozpuri, Farnoud Farahmand, Michael X. Lyons, Panasayya Yalla, and Kris Gaj George Mason University USA
Toward Fair and Comprehensive Benchmarking of CAESAR Candidates in Hardware: Standard API, High-Speed ImplementaCons in VHDL/Verilog, and Benchmarking Using FPGAs Ekawat Homsirikamol, William Diehl, Ahmed
More informationVerilog for Combinational Circuits
Verilog for Combinational Circuits Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2014 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/
More informationDesign Entry: Schematic Capture and VHDL ENG241: Digital Design Week #4
Design Entry: Schematic Capture and VHDL ENG241: Digital Design Week #4 1 References Kenneth Sort, VHDL For Engineers, Prentice Hall, 2009. Peter Ashenden, The designer s guide to VHDL, 2 nd edition, Morgan
More informationSHA3 Core Specification. Author: Homer Hsing
SHA3 Core Specification Author: Homer Hsing homer.hsing@gmail.com Rev. 0.1 January 29, 2013 This page has been intentionally left blank. www.opencores.org Rev 0.1 ii Rev. Date Author Description 0.1 01/29/2013
More informationVerilog 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 informationCan High-Level Synthesis Compete Against a Hand-Written Code in the Cryptographic Domain? A Case Study
Can High-Level Synthesis Compete Against a Hand-Written Code in the Cryptographic Domain? A Case Study Ekawat Homsirikamol & Kris Gaj George Mason University USA Project supported by NSF Grant #1314540
More informationImplementation of the block cipher Rijndael using Altera FPGA
Regular paper Implementation of the block cipher Rijndael using Altera FPGA Piotr Mroczkowski Abstract A short description of the block cipher Rijndael is presented. Hardware implementation by means of
More informationGMU Hardware API for Authen4cated Ciphers
GMU Hardware API for Authen4cated Ciphers Ekawat Homsirikamol, William Diehl, Ahmed Ferozpuri, Farnoud Farahmand, Malik Umar Sharif, and Kris Gaj George Mason University USA http:/cryptography.gmu.edu
More informationTwo Hardware Designs of BLAKE-256 Based on Final Round Tweak
Two Hardware Designs of BLAKE-256 Based on Final Round Tweak Muh Syafiq Irsyadi and Shuichi Ichikawa Dept. Knowledge-based Information Engineering Toyohashi University of Technology, Hibarigaoka, Tempaku,
More informationLaboratory Exercise 3
Laboratory Exercise 3 Latches, Flip-flops, and egisters The purpose of this exercise is to investigate latches, flip-flops, and registers. Part I Altera FPGAs include flip-flops that are available for
More informationSharing 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 informationLaboratory Exercise 7
Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied
More informationSIMON Says, Break the Area Records for Symmetric Key Block Ciphers on FPGAs
SIMON Says, Break the Area Records for Symmetric Key Block Ciphers on FPGAs Aydin Aysu, Ege Gulcan, and Patrick Schaumont Secure Embedded Systems Center for Embedded Systems for Critical Applications Bradley
More informationVerilog Hardware Description Language ROOM: B405
Verilog Hardware Description Language HONG@IS.NAIST.JP ROOM: B405 Content Lecture 1: Computer organization and performance evaluation metrics Lecture 2: Processor architecture and memory system Lecture
More informationCAESAR Hardware API. Ekawat Homsirikamol, William Diehl, Ahmed Ferozpuri, Farnoud Farahmand, Panasayya Yalla, Jens-Peter Kaps, and Kris Gaj
CAESAR Hardware API Ekawat Homsirikamol, William Diehl, Ahmed Ferozpuri, Farnoud Farahmand, Panasayya Yalla, Jens-Peter Kaps, and Kris Gaj Cryptographic Engineering Research Group George Mason University
More informationExp#8: Designing a Programmable Sequence Detector
Exp#8: Designing a Programmable Sequence Detector Objectives Learning how to partition a system into data-path and control unit. Integrating Schematics and Verilog code together Overview In this lab you
More informationComparison 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 informationLab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week
Objectives: Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week Build Register File Build Instruction Memory and Data Memory 1. Overview A combinational circuit neither contains
More informationEfficient FPGA Implementations of PRINT CIPHER
Efficient FPGA Implementations of PRINT CIPHER 1 Tadashi Okabe Information Technology Group Tokyo Metropolitan Industrial Technology Research Institute, Tokyo, Japan Abstract This article presents field
More informationDesign and Benchmarking of an ASIC with Five SHA-3 Finalist Candidates
Design and Benchmarking of an ASIC with Five SHA-3 Finalist Candidates Meeta Srivastav, Xu Guo, Sinan Huang, Dinesh Ganta, Michael B. Henry, Leyla Nazhandali and Patrick Schaumont Center for Embedded Systems
More informationregister:a group of binary cells suitable for holding binary information flip-flops + gates
9 차시 1 Ch. 6 Registers and Counters 6.1 Registers register:a group of binary cells suitable for holding binary information flip-flops + gates control when and how new information is transferred into the
More informationEE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE
Lab 1: Introduction to Verilog HDL and Altera IDE Introduction In this lab you will design simple circuits by programming the Field-Programmable Gate Array (FPGA). At the end of the lab you should be able
More informationFEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION. SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions
DRAFT FIPS PUB 202 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions CATEGORY: COMPUTER SECURITY SUBCATEGORY: CRYPTOGRAPHY Information
More informationECE15: Homework 10. void wordstats(file *fp, char string[]) { void printfrequencies(file *fp) {
ECE15: Homework 10 Recall that in the Unix dialogues shown below, we denote the prompt by ( )$ and show user input in red and computer output in black. We indicate a single space by in computer output,
More informationHardware Architectures
Hardware Architectures Secret-key Cryptography Public-key Cryptography Cryptanalysis AES & AES candidates estream candidates Hash Functions SHA-3 Montgomery Multipliers ECC cryptosystems Pairing-based
More informationCollision Search for Elliptic Curve Discrete Logarithm over GF(2 m ) with FPGA
Collision Search for Elliptic Curve Discrete Logarithm over GF(2 m ) with FPGA Workshop on Cryptographic Hardware and Embedded Systems (CHES 2007) September 2007 Guerric Meurice de Dormale*, Philippe Bulens,
More informationECE 353 Lab 3. MIDI Note Number Display. Lab Info. Electrical and Computer Engineering
ECE 353 Lab 3 MIDI Note Number Display Lab Info Board Demonstration 2 Build Process Board Assembly Verilog Programming Plan State Machine Synthesis Simulation Burning the Program Testing MIDI-OX Logic
More informationFPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]
FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed
More informationDigital Systems Laboratory
2012 Fall CSE140L Digital Systems Laboratory by Dr. Choon Kim CSE Department UCSD 1 Welcome to CSE140L! 2 3-way Light Controller, 2-1 MUX, Majority Detector, 7- seg Display, Binary-to- Decimal converter.
More informationHDL for Combinational Circuits. ENEL211 Digital Technology
HDL for Combinational Circuits ENEL211 Digital Technology Lecture Outline Vectors Modular design Tri-state gates Dataflow modelling Behavioural Modelling Vectors Often we want multi-bit quantities in digital
More informationHOST 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 informationMODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.
MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.
More informationHardware for Collision Search on Elliptic Curve over GF(2 m )
Hardware for Collision Search on Elliptic Curve over GF(2 m ) Philippe Bulens (S), Guerric Meurice de Dormale and Jean-Jacques Quisquater {bulens, gmeurice, quisquater}@dice.ucl.ac.be UCL Crypto Group
More informationBenchmarking of Round 3 CAESAR Candidates in Hardware: Methodology, Designs & Results
Benchmarking of Round 3 CAESAR Candidates in Hardware: Methodology, Designs & Results Ekawat Homsirikamol, Farnoud Farahmand, William Diehl, and Kris Gaj George Mason University USA http://cryptography.gmu.edu
More informationThe simplest form of storage is a register file. All microprocessors have register files, which are known as registers in the architectural context.
1 In this lecture, we will consider the various type of storage (memory) that FPGAs allow us to implement. The major advantage of FPGAs is that it contains lots of small blocks of memory modules, which
More informationDE2 Board & Quartus II Software
January 23, 2015 Contact and Office Hours Teaching Assistant (TA) Sergio Contreras Office Office Hours Email SEB 3259 Tuesday & Thursday 12:30-2:00 PM Wednesday 1:30-3:30 PM contre47@nevada.unlv.edu Syllabus
More informationPower Analysis of MAC-Keccak: A Side Channel Attack
Power Analysis of MAC-Keccak: A Side Channel Attack Advanced Cryptography Kyle McGlynn Professor Stanislaw Radziszowski May 6, 2018 1 Introduction Recently in the spring of 2017, two documents were discovered
More informationLab 6: Integrated the Decoder with Muti-bit Counter and Programming a FPGA
Lab 6: Integrated the Decoder with Muti-bit Counter and Programming a FPGA For your report: The problem written in English The flowchart or function table to solve the problem if it is necessary The design
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems NIOS-II SoPC: PART-II 1 Introduction This lab has been constructed to introduce the development of dedicated
More informationEncryption and Decryption by AES algorithm using FPGA
Encryption and Decryption by AES algorithm using FPGA Sayali S. Kshirsagar Department of Electronics SPPU MITAOE, Alandi(D), Pune, India sayali.kshirsagar17@gmail.com Savita Pawar Department of Electronics
More informationLAB 1: Combinational Logic: Designing and Simulation of Arithmetic Logic Unit ALU using VHDL
LAB 1: Combinational Logic: Designing and Simulation of Arithmetic Logic Unit ALU using VHDL Outcome: 1) Identify the operation techniques 2) Demonstrate the use of architecture types 3) Identify and describe
More informationA Methodology to Implement Block Ciphers in Reconfigurable Hardware and its Application to Fast and Compact AES RIJNDAEL
A Methodology to Implement Block Ciphers in Reconfigurable Hardware and its Application to Fast and Compact AES RIJNDAEL François-Xavier Standaert, Gael Rouvroy, Jean-Jacques Quisquater, Jean-Didier Legat
More informationHigh Level Synthesis and Evaluation of the Secure Hash Standard for FPGAs
University of Windsor Scholarship at UWindsor Electronic Theses and Dissertations 10-19-2015 High Level Synthesis and Evaluation of the Secure Hash Standard for FPGAs Ian Spencer Janik University of Windsor
More informationMILP-aided Cube-attack-like Cryptanalysis on Keccak Keyed Modes
MILP-aided Cube-attack-like Cryptanalysis on Keccak Keyed Modes Wenquan Bi 1, Xiaoyang Dong 2, Zheng Li 1, Rui Zong 1, and Xiaoyun Wang 1,2 1 Key Laboratory of Cryptologic Technology and Information Security,
More informationEECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)
EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history
More informationHardware Benchmarking of Cryptographic Algorithms Using High-Level Synthesis Tools: The SHA-3 Contest Case Study
Hardware Benchmarking of Cryptographic Algorithms Using High-Level Synthesis Tools: The SHA-3 Contest Case Study Ekawat Homsirikamol and Kris Gaj Volgenau School of Engineering George Mason University
More informationALTERA FPGA Design Using Verilog
ALTERA FPGA Design Using Verilog Course Description This course provides all necessary theoretical and practical know-how to design ALTERA FPGA/CPLD using Verilog standard language. The course intention
More informationUse of Embedded FPGA Resources in Implementations of Five Round Three SHA-3 Candidates
Use of Embedded FPGA Resources in Implementations of Five Round Three SHA-3 Candidates Malik Umar Sharif, Rabia Shahid, Marcin Rogawski, Kris Gaj Abstract In this paper, we present results of the comprehensive
More informationCryptographic algorithm acceleration using CUDA enabled GPUs in typical system configurations
Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 8-1-2010 Cryptographic algorithm acceleration using CUDA enabled GPUs in typical system configurations Maksim
More informationSHA3: Introduction to VLSI with Chisel
SHA3: Introduction to VLSI with Chisel Overview CS250 Laboratory 1 (Version 090214) Written by Colin Scmidt Portions based on previous work by Yunsup Lee Updated by Brian Zimmer, Rimas Avizienis, Ben Keller
More informationPREFACE. Changes to the SOPC Edition
PREFACE Changes to the SOPC Edition Rapid Prototyping of Digital Systems provides an exciting and challenging laboratory component for undergraduate digital logic and computer design courses using FPGAs
More informationLaboratory 4 Design a Muti-bit Counter
Laboratory 4 Design a Muti-bit Counter Background A. Approach I: Design 3-bit counter with and clear T-type flip-flop is shown in Figure 1. A T flip-flop is obtained from a JK flip-flop by tying the J
More informationOutline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?
EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic
More informationDecision Making and Loops
Decision Making and Loops Goals of this section Continue looking at decision structures - switch control structures -if-else-if control structures Introduce looping -while loop -do-while loop -simple for
More informationLaboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication
Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.
More informationECE1387 Exercise 3: Using the LegUp High-level Synthesis Framework
ECE1387 Exercise 3: Using the LegUp High-level Synthesis Framework 1 Introduction and Motivation This lab will give you an overview of how to use the LegUp high-level synthesis framework. In LegUp, you
More informationENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations
ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2017 1 Topics 1. Programmable logic
More informationR07. IV B.Tech. II Semester Supplementary Examinations, July, 2011
www..com www..com Set No. 1 DIGITAL DESIGN THROUGH VERILOG (Common to Electronics & Communication Engineering, Bio-Medical Engineering and Electronics & Computer Engineering) 1. a) What is Verilog HDL?
More informationEvaluation of Hardware Performance for the SHA-3 Candidates Using SASEBO-GII
Evaluation of Hardware Performance for the SHA-3 Candidates Using SASEBO-GII Kazuyuki Kobayashi 1, Jun Ikegami 1, Shin ichiro Matsuo 2, Kazuo Sakiyama 1 and Kazuo Ohta 1 1 The University of Electro-Communications,
More informationIn the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design
1 In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired
More informationIn the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design
In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired
More information