Kris Gaj Office hours: Monday, 3:00-4:00 PM, Wednesday, 3:00-4:00 PM, 7:30-8:30 PM and by appointment Research and teaching interests: cryptography computer.

Slides:



Advertisements
Similar presentations
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Advertisements

ECE 645 – Computer Arithmetic Lecture 11: Advanced Topics and Final Review ECE 645—Computer Arithmetic 4/22/08.
On Karatsuba Multiplication Algorithm
Multioperand Addition Lecture 6. Required Reading Chapter 8, Multioperand Addition Note errata at:
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
A Dual Field Elliptic Curve Cryptographic Processor Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing Hua University.
Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.
CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng Fall 2006 Lecture 1: Introduction and Numbers.
ECE200 – Computer Organization Course Introduction.
1 Montgomery Multiplication David Harris and Kyle Kelley Harvey Mudd College Claremont, CA {David_Harris,
ECE 448 FPGA and ASIC Design with VHDL
1 DSP Implementation on FPGA Ahmed Elhossini ENGG*6090 : Reconfigurable Computing Systems Winter 2006.
Lecture 10 Fast Dividers.
Kris Gaj Office hours: Monday, 6:00-7:00 PM, Tuesday 7:30-8:30 PM, Thursday, 4:30-5:30 PM, and by appointment Research and teaching interests: cryptography.
ELEC516/10 course_des 1 ELEC516 VLSI System Design and Design Automation Spring 2010 Course Description Chi-ying Tsui Department of Electrical and Electronic.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Computer Network Security ECE web page  Courses  Course web pages
Montgomery Multipliers & Exponentiation Units
Kris Gaj Office hours: Monday, 6:00-7:00 PM Tuesday, Thursday, 7:30-8:30 PM, and by appointment Research and teaching interests: cryptography computer.
Shashi Kumar 1 Logic Synthesis: Course Introduction Shashi Kumar Embedded System Group Department of Electronics and Computer Engineering Jönköping Univ.
ENG3050 Embedded Reconfigurable Computing Systems General Information Handout Winter 2015, January 5 th.
Lecture 1: Introduction CS 6903: Modern Cryptography Spring 2009 Nitesh Saxena Polytechnic Institute of NYU.
Kris Gaj Office hours: Monday, 3:00-4:00 PM, Monday, 6:30-7:30 PM, Wednesday, 3:00-4:00 PM, and by appointment Research and teaching interests: cryptography.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: TBD (Benton 323) Also, by appointment.
Follow-up Courses. ECE Department MS in Electrical Engineering MS EE MS in Computer Engineering MS CpE COMMUNICATIONS & NETWORKING SIGNAL PROCESSING CONTROL.
EL 3101 EL310 Hardware Description Languages Spring 2015 Instructor: Ilker Hamzaoglu Teaching Assistant: Ercan Kalalı Web Site:
SHA-3 Candidate Evaluation 1. FPGA Benchmarking - Phase Round-2 SHA-3 Candidates implemented by 33 graduate students following the same design.
ECE 545 – Introduction to VHDL ECE 645—Project 2 Project Options.
Lecture 4 Multiplier using FPGA 2007/09/28 Prof. C.M. Kyung.
Gaj1P230/MAPLD 2004 Elliptic Curve Cryptography over GF(2 m ) on a Reconfigurable Computer: Polynomial Basis vs. Optimal Normal Basis Representation Comparative.
ECE 448 FPGA and ASIC Design with VHDL Spring 2010.
Kris Gaj Office hours: Monday, 3:00-4:00 PM, Wednesday, 3:00-4:00 PM, Thursday, 6:00-7:00 PM, and by appointment Research and teaching interests: cryptography.
Kris Gaj Office hours: Monday, 7:30-8:30 PM Thursday, 7:30-8:30 PM Research and teaching interests: cryptography computer arithmetic VLSI design and testing.
ELEC692/04 course_des 1 ELEC 692 Special Topic VLSI Signal Processing Architecture Fall 2004 Chi-ying Tsui Department of Electrical and Electronic Engineering.
1 Dividers Lecture 10. Required Reading Chapter 13, Basic Division Schemes 13.1, Shift/Subtract Division Algorithms 13.3, Restoring Hardware Dividers.
Kris Gaj Office hours: Monday, 7:30-8:30 PM Tuesday, 6:00-7:00 PM, and by appointment Research and teaching interests: cryptography computer arithmetic.
Some Perspectives on Smart Card Cryptography
Kris Gaj Office hours: Monday, 7:30-8:30 PM, Tuesday & Thursday 4:30-5:30 PM, and by appointment Research and teaching interests: cryptography computer.
1 Basic Dividers Lecture 10. Required Reading Chapter 13, Basic Division Schemes 13.1, Shift/Subtract Division Algorithms 13.3, Restoring Hardware Dividers.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: M Period 3, W Period 4 Subject to change.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL ASICs vs. FPGAs ECE 448 Lecture 15.
ECE 545 Digital System Design with VHDL
EEL4720/5721 Reconfigurable Computing Greg Stitt Associate Professor.
ECE 448 FPGA and ASIC Design with VHDL Spring 2011.
George Mason University ECE 449 – Computer Design Lab Welcome to the ECE 449 Computer Design Lab Spring 2004.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Computer Engineering 1502 Advanced Digital Design Professor Donald Chiarulli Computer Science Dept Sennott Square
LOGIC OPTIMIZATION USING TECHNOLOGY INDEPENDENT MUX BASED ADDERS IN FPGA Project Guide: Smt. Latha Dept of E & C JSSATE, Bangalore. From: N GURURAJ M-Tech,
ECE 448 FPGA and ASIC Design with VHDL
George Mason University Follow-up Courses. ECE Department MS in Electrical Engineering MS EE MS in Computer Engineering MS CpE COMMUNICATIONS & NETWORKING.
Course web page: ECE 646 Cryptography and Computer Network Security ECE web page  Courses  Course web pages  ECE 646.
Lecture 11 Advanced Dividers.
CDA 4253 FPGA System Design Hao Zheng Dept of Comp Sci & Eng USF.
Page 1 Computer Architecture and Organization 55:035 Midterm Exam Review Spring 2011.
Kris Gaj Office hours: Monday, 3:00-4:00 PM, Wednesday, 3:00-4:00 PM, Thursday, 6:00-7:00 PM, and by appointment Research and teaching interests: FPGA.
ECE 448 FPGA and ASIC Design with VHDL Spring 2009.
An Optimized Hardware Architecture for the Montgomery Multiplication Algorithm Miaoqing Huang 1, Kris Gaj 2, Soonhak Kwon 3, Tarek El-Ghazawi 1 1 The George.
Page 1 Computer Architecture and Organization 55:035 Final Exam Review Spring 2011.
ECE 545 Project 1 Introduction & Specification Part I.
Course web page: ECE 545 Introduction to VHDL ECE web page  Courses  Course web pages  ECE 545.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Supported in part by NIST/U.S. Department of Commerce
ECE web page  Courses  Course web pages
Sequential Multipliers
Elliptic Curve Cryptography over GF(2m) on a Reconfigurable Computer:
EEL4930/5934 Reconfigurable Computing
Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.
Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.
EEL4930/5934 Reconfigurable Computing
CPE 626 Advanced VLSI Design, Spring 2002 Admin
Presentation transcript:

Kris Gaj Office hours: Monday, 3:00-4:00 PM, Wednesday, 3:00-4:00 PM, 7:30-8:30 PM and by appointment Research and teaching interests: cryptography computer arithmetic FPGA design and verification Contact: Engineering Bldg., room 3225 (703)

ECE 645 Part of: MS in Electrical Engineering MS in Computer Engineering Digital Systems Design Digital Signal Processing Fundamental course for the specialization areas: Elective Elective course in the remaining specialization areas PhD in ECE, Computer Science, and IT Elective

DIGITAL SYSTEMS DESIGN Concentration advisors: Kris Gaj, Ken Hintz, Houman Homayoun 1.ECE 545 Digital System Design with VHDL – K. Gaj, project, FPGA design with VHDL, 2. ECE 645 Computer Arithmetic – K. Gaj, project, FPGA design with VHDL or Verilog, software, or analytical 3. ECE 681 VLSI Design for ASICs – H. Homayoun, project/lab, front-end and back-end ASIC design with Synopsys tools 4. ECE 586 Digital Integrated Circuits – D. Ioannou, R. Mulpuri, 5a. ECE 682 VLSI Test Concepts – T. Storey 5b. ECE 699 Digital Signals Processing Hardware Architectures – A. Cohen, project, FPGA design with VHDL and Matlab/Simulink

DIGITAL SIGNAL PROCESSING Concentration advisors: Aaron Cohen, Kris Gaj, Ken Hintz, Jill Nelson, Kathleen Wage 1.ECE 535 Digital Signal Processing – L. Griffiths, J. Nelson, Matlab 2.ECE 545 Digital System Design with VHDL – K. Gaj, project, FPGA design with VHDL 3.ECE 645 Computer Arithmetic – K. Gaj, project, FPGA design with VHDL 4.ECE 699 Digital Signals Processing Hardware Architectures – A. Cohen, project, FPGA design with VHDL and Matlab/Simulink 5a. ECE 537 Introduction to Digital Image Processing – K. Hintz 5b. ECE 738 Advanced Digital Signal Processing – K. Wage

A few words about You 5 MS CpE students 5 MS EE students 2 PhD ECE students

A few words about You 8 students who took ECE students who did not take ECE 545 ECE 545 not enforced as a prerequisite

Useful Knowledge (which can be used as a background for a project) RTL design with VHDL or Verilog FPGA Devices and Tools High level programming language (e.g., C, Java, Matlab) Basics of digital design and computer organization

Course web page ECE web page  Courses  ECE 645

Computer Arithmetic LectureProject 35% Homework 15 % Midterm exam (in class) 20 % Final Exam (in class) 30 %

Bonus Points for Class Activity Based on class exercises during lecture “Small” points earned each week posted on BlackBoard Up to 5 “big” bonus points Scaled based on the performance of the best student For example: 1. Alice Bob … … … 12. Charlie 8 1 Small pointsBig points

Digital circuit design course covering addition and subtraction multiplication division and modular reduction exponentiation Efficient Integers unsigned and signed Real numbers fixed point single and double precision floating point Elements of the Galois field GF(2 n ) polynomial base

1.Applications of computer arithmetic algorithms. INTRODUCTION Lecture topics

1.Basic addition, subtraction, and counting 2.Addition in Xilinx and Altera FPGAs 3. Carry-lookahead, carry-select, and hybrid adders 4. Adders based on Parallel Prefix Networks 5.Pipelined Adders 6.Modular Adders/Subtractors ADDITION AND SUBTRACTION

MULTIOPERAND ADDITION 1.Sequential multi-operand adders 2.Carry Save Adders 3.Wallace and Dadda Trees

Unsigned Integers Signed Integers Fixed-point real numbers Floating-point real numbers Elements of the Galois Field GF(2 n ) NUMBER REPRESENTATIONS

MULTIPLICATION 1.Tree and array multipliers 2.Unsigned vs. signed multipliers 3.Optimizations for squaring 4. Sequential multipliers - radix-2 multiplier - multipliers based on carry-save adders - radix-4 & radix-8 multipliers - Booth multipliers - serial multipliers

TECHNOLOGY 1.Embedded resources of Xilinx and Altera FPGAs - block memories - multipliers - DSP units 2. Multiplication in Xilinx and Altera FPGAs - using distributed logic - using embedded multipliers - using DSP blocks 3. Pipelined multipliers

DIVISION 1.Basic restoring and non-restoring sequential dividers 2.Array dividers 3.Dividers by Convergence 4.SRT and high-radix dividers

LONG INTEGER ARITHMETIC (PROJECTS) 1.Modular Multiplication 2.Modular Exponentiation 3.Montgomery Multipliers and Exponentiation Units

FLOATING POINT AND GALOIS FIELD ARITHMETIC (PROJECTS) 1.Floating-point units Binary formats Decimal formats 2. Galois Field GF(2 n ) units

Literature (1) Required textbook: Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design, 2 nd edition, Oxford University Press, 2010.

Literature (2) Jean-Pierre Deschamps, Gery Jean Antoine Bioul, Gustavo D. Sutter, Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems, Wiley-Interscience, Joseph Cavanagh, Computer Arithmetic and Verilog HDL Fundamentals, CRC Press, Milos D. Ercegovac and Tomas Lang Digital Arithmetic, Morgan Kaufmann Publishers, Supplemantory books:

Literature (3) 1.Pong P. Chu, RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability, Wiley-IEEE Press, 2006 (ECE 545 textbook) 2.Hubert Kaeslin, Digital Integrated Circuit Design: From VLSI Architectures to CMOS Fabrication, Cambridge University Press; 1st Edition, (ECE 681 textbook) 3. Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design, 3rd Edition, McGraw-Hill, (ECE 331 textbook) Digital System Design textbooks:

Literature (4) Supplementary books: 1.E. E. Swartzlander, Jr., Computer Arithmetic, vols. I and II, IEEE Computer Society Press, Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone, Handbook of Applied Cryptology, Chapter 14, Efficient Implementation, CRC Press, Inc., 1998.

Literature (3) Proceedings of conferences ARITH - International Symposium on Computer Arithmetic ASIL - Asilomar Conference on Signals, Systems, and Computers ICCD - International Conference on Computer Design CHES - Workshop on Cryptographic Hardware and Embedded Systems Journals and periodicals IEEE Transactions on Computers, in particular special issues on computer arithmetic. IEEE Transactions on Circuits and Systems IEEE Transactions on Very Large Scale Integration IEE Proceedings: Computer and Digital Techniques Journal of Signal Processing Systems

Homework reading assignments analysis of computer arithmetic algorithms and implementations design of small arithmetic units

Getting Help Outside of Office Hours System for asking questions 24/7 Answers can be given by students and instructors Student answers endorsed (or corrected) by instructors Average response time in ECE 545 = 2.1 hour You can submit your questions anonymously You can ask private questions visible only to the instructors

Exams Midterm Exam - 2 hrs 30 minutes, in class multiple choice + short problems Final Exam – 2 hrs 45 minutes comprehensive conceptual questions analysis and design of arithmetic units Practice exams on the web Midterm Exam - March 26 Final Exam - Wednesday, May 7, 4:30-7:15 PM Tentative days of exams:

Project Can be done individually or in groups of two students Suggested project topics posted early in the semester You can propose your own project topic Regular meetings with the instructor Presentations at the end of the semester Contest for the best project

ECE 645 Project Hardware Analytical Software

Hardware Projects Real-life circuit requiring the use of arithmetic operations FPGA implementation using embedded resources, such as DSP units and Block Memories Options of FPGA tools, initial placement point, and optimum target clock frequency selected using ATHENa Possible experimental testing using PLDA boards with PCI Express interface based on Virtex 6, Virtex 7, and Stratix V FPGAs (optional)

Software Projects Real-life application requiring the use of arithmetic operations Software implementation in a high-level programming language of your choice Possible use of arithmetic libraries, such as GMP, MIRACL, RELIC, NTL Optimization of software tool options

Analytical Projects Review of literature concerning algorithms and hardware architectures for a specific class of arithmetic operations Qualitative comparison of competing designs Quantitative comparison based on published results

Mixed Projects HW 80% AN 20% HW 40% SW 40% AN 20% AN 60% SW 40%

Primary applications (1) Execution units of general purpose microprocessors Integer units Floating point units Integers (8, 16, 32, 64, 128 bits) Real numbers (32, 64, 128 bits)

Primary applications (2) Digital signal and digital image processing Real or complex numbers (fixed-point or floating point) e.g., digital filters Discrete Fourier Transform Discrete Hilbert Transform Edge detection General purpose DSP processors Specialized circuits

Primary applications (3) Coding Elements of the Galois fields GF(2 n ) (4-64 bits) Error detection codes Error correcting codes

Secret-key (Symmetric) Cryptosystems key of Alice and Bob - K AB Alice Bob Network Encryption Decryption

Hash Function arbitrary length message hash function hash valueh(m) h m fixed length It is computationally infeasible to find such m and m’ that h(m)=h(m’)

Primary applications (4) Cryptography Integers (16, 32, 64 bits) IDEA, RC6, Mars, SHA-3 candidates: SIMD, Shabal, Skein, BLAKE Twofish, Rijndael, SHA-3 candidates Elements of the Galois field GF(2 n ) (4, 8 bits)

RC6 MARS Twofish MUL32, 2 x ROL32, S-box 9x32 Main operations Auxiliary operations XOR, ADD/SUB32 2 x SQR32, 2 x ROL32 XOR, ADD/SUB32 96 S-box 4x4, 24 MUL GF(2 8 ) XOR ADD32 Rijndael Serpent 8 x 32 S-box 4x4 XOR 16 S-box 8x8 24 MUL GF(2 8 ) XOR

42 Basic Operations of 14 SHA-3 Candidates 42 NTT – Number Theoretic Transform, GF MUL – Galois Field multiplication, MUL – integer multiplication, mADDn – multioperand addition with n operands

Public Key (Asymmetric) Cryptosystems Public key of Bob - K B Private key of Bob - k B Alice Bob Network Encryption Decryption

RSA as a trap-door one-way function M C = f(M) = M e mod N C M = f -1 (C) = C d mod N PUBLIC KEY PRIVATE KEY N = P  Q P, Q - large prime numbers e  d  1 mod ((P-1)(Q-1))

RSA keys PUBLIC KEY PRIVATE KEY { e, N } { d, P, Q } N = P  Q e  d  1 mod ((P-1)(Q-1)) P, Q - large prime numbers

Primary applications (5) Cryptography Long integers (1k-16k bits) Public key cryptography RSA, DSA, Diffie-Hellman Elliptic Curve Cryptosystems, Pairing Based Cryptosystems Elements of the Galois field GF(2 n ) ( bits)

Primary applications (5) Cipher Breaking Public key cryptography RSA PUBLIC KEY RSA PRIVATE KEY { e, N } { d, P, Q } N = P  Q P, Q e  d  1 mod ((P-1)(Q-1))