CS 290G Hardware Security and Cryptographic Engineering

CS 290G Hardware Security and Cryptographic Engineering

Fall Term 2008 - EnrlCd: 57224 - Credits: 4
Deparment of Computer Science
University of California Santa Barbara
http://cs.ucsb.edu/~koc/cs290g

Announcements

  • Schedule and Classroom: Tuesday and Thursday 3:00-5:00pm, Phelps Hall 1401.
  • In order to view or print the PDF files, you need Adobe Reader. Make sure that you install the most recent version in your computer, otherwise, you may not be able to view or print the documents found on this site.
  • The course materials in the following courses (at Oregon State University) are relevant for this course: ECE 399H Information Security & Cryptography
    ECE 575 Data Security and Cryptography
    ECE 679 Advanced Security and Cryptography
  • Dr. Koc's office: Harold Frank Hall, Room 2106 (Theory of Computation Lab), Course Office Hours: Wednesday 1-3 PM, Open Office Hours: Monday, Wednesday, Friday: 1-6 PM
  • We have a teaching assistant: Gaurav Mehta. His email address is garry.mehta@gmail.com. His office hours: Monday, Wednesday 11am-12:30pm, Office: Harold Frank Hall, Room 2106 (Theory of Computation Lab)

Grades

  • TBA
  • Grading Rules: 50% HW + 50% Project

Project

  • More information is in the project requirements document.
  • Deadline for project selection: October 16, Thursday.

Homework Assignments

All homework assignments are submitted by e-mail to koc@cs.ucsb.edu. Submit the assignment as a Text, PDF, or MS Word file. Put your name and student number inside the file. Also make the attached file name as your last name, followed by homework number, for example: smith-hw1.pdf


Weekly Course Plan and Relevant Documents

Week 0 (Sep 25)
  • 25 years of cryptographic hardware design   PDF
  • Cryptography: State of the Art and Current Trends   PDF
  • Next Generation E-Commerce Security   PDF
Week 1 (Sep 30 & Oct 2)
  • Introduction to DES & AES and Efficient Software Implementations   PDF
Week 2 (Oct 7 & 9)
  • Differential Cryptanalysis   PDF
Week 3, 4, 5 (Oct 14 & 16, 21 & 23, 28 & 30)
  • Public-Key Cryptography and Hardware/Software Realizations   PDF
Week 6 (Nov 4 & 6)
  • Random Number Generators for Cryptography   PDF
Week 7, 8 (Nov 11 & 13, 18 & 20)
  • Side-Channel Attacks and Countermeasures   PDF
  • Onetime Pad and Stream Ciphers   PDF
Week 9, 10 (Nov 25, Dec 2 & 4)
  • Embedded Security   PDF
  • Mathematical Aspects   PDF
  • Escrowed Encryption Systems   PDF

Unsorted Notes, Presentations, Papers and Reports

  • RSA Implementation   PDF
  • High-Speed Implementations of RSA & Elliptic Curve Cryptosystems   PDF
  • Modular Multiplication   PDF
  • Elliptic Curve Cryptosystems   PDF
  • Digital Signatures and Authentication   PDF
  • C. K. Koc. High-Speed RSA Implementation. TR 201, RSA Laboratories, 73 pages, November 1994.   PDF   (Also available from RSA Laboratories Technical Notes)
  • C. K. Koc. RSA Hardware Implementation. TR 801, RSA Laboratories, 30 pages, April 1996.   PDF   (Also available from RSA Laboratories Technical Notes)

Conferences and Proceedings


Other Links


Description

Cryptography provides techniques, mechanisms, and tools for private and authenticated communication, and for performing secure and authenticated transactions over the Internet as well as other open networks. It is highly probable that each bit of information flowing through our networks will have to be either encrypted and decrypted or signed and authenticated in a few years from now. This infrastructure is needed to carry over the legal and contractual certainty from our paper-based offices to our virtual offices existing in the cyberspace. In such an environment, server and client computers as well as handheld, portable, and wireless devices will have to be capable of encrypting or decrypting and signing or verifying messages. That is to say, without exception, all networked computers and devices must have cryptographic layers implemented, and must be able to access to cryptographic functions in order to provide security features. In this context, efficient (in terms of time, area, and power consumption) hardware structures will have to be designed, implemented, and deployed. Furthermore, general-purpose (platform-independent) as well as special-purpose software implementing cryptographic functions on embedded devices are needed. An additional challenge is that these implementations should be done in such a way to resist cryptanalytic attacks launched against them by adversaries having access to primary (communication) and secondary (power, electromagnetic, acoustic) channels.

Topics

  • Multiprecision Integer Arithmetic: Arithmetic with large numbers. Exponentiation algorithms and addition chains. Montgomery multiplication. Hardware and software implementation of arithmetic methods for cryptographic applications.
  • Galois Fields: Properties of finite fields fields. Fields of p and p^m elements. Representations of field elements. Algorithms for performing addition, multiplication, and inversion operations. Hardware and software methods for realizing finite field operations. Spectral techniques.
  • True Random Number Generators: Random number generators for cryptographic applications. Evaluation criteria for physical random number generators Design of true random number generators.
  • Block Cipher and Hash Algorithms: Introduction to block ciphers and AES and hash algorithms. Efficient AES software implementations. Specialized hardware for secret key algorithms. Design methods for secret-key cipher and hash algorithms. Block cipher modes of operation and their implementation on reconfigurable hardware devices. Secure and efficient implementations of symmetric cryptographic primitives in reconfigurable hardware devices
  • Public-Key Cryptography: Software and hardware realizations of modular arithmetic & finite fields. Fundamentals and algorithms for public-key cryptography RSA, Diffie-Hellman, and elliptic curve cryptography and discrete logarithms. Cryptanalysis of public-key cryptographic algorithms key length issues for public-key cryptographic algorithms.
  • Side-Channel Cryptanalysis: Basics of side-channel analysis. Electromagnetic attacks and countermeasures. Improved techniques for side-channel analysis. Micro-architectural attacks and countermeasures.

Course Material

  • Course notes, papers, and technical reports are distributed in class and via the web.
  • Cryptographic Algorithms on Reconfigurable Hardware, Springer, 2007, ISBN-10: 0-387-33883-7.
  • Cryptographic Engineering, to appear, Springer, 2009.

Dr. Cetin Kaya Koc