CS 290G Cryptographic Engineering

CS 290G Cryptographic Engineering

Spring Term 2010 - EnrlCd: 62190 - Credits: 4
Instructor: Cetin Kaya Koc
Department of Computer Science
University of California Santa Barbara
http://cs.ucsb.edu/~koc/cs290g

Announcements

  • Schedule and Classroom: Mondays & Wednesdays 3:00-5:00pm, Phelps Hall 1401.
  • Office Hours: Mondays & Wednesdays 10:00-12:30 and 5:00-6:00pm

Grades

  • TBA
  • Grading Rules: 25% HW + 75% Project

Project

  • Project Abstracts: TBA

Homework Assignments

All homework assignments are submitted by e-mail to koc@cs. 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


Relevant Documents

  • 25 years of cryptographic hardware design   PDF
  • Cryptography: State of the Art and Current Trends   PDF
  • Next Generation E-Commerce Security   PDF
  • Introduction to DES & AES and Efficient Software Implementations   PDF
  • Differential Cryptanalysis   PDF
  • Public-Key Cryptography and Hardware/Software Realizations   PDF
  • Random Number Generators for Cryptography   PDF
  • Side-Channel Attacks and Countermeasures   PDF
  • Onetime Pad and Stream Ciphers   PDF
  • 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, Proceedings, Journals, & Archives


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.

CS 290G is a graduate course is designed for computer science, mathematics, electrical engineering students interested in understanding, designing, developing, testing, and validating cryptographic software and hardware. We will study algorithms, methods, techniques in order to create state-of-art cryptographic embedded software and hardware using common platforms and technologies.

Topics

  • 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.
  • 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
  • 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.
  • 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

       
  • C. K. Koc. Cryptographic Engineering, Springer, 2009.
  • Technical reports, journal papers, and conference proceedings will also be provided.

Prerequisites

  • Open to graduate students with fundamental knowledge of cryptography and security and to undergraduate students who have taken CS 178.

Dr. Cetin Kaya Koc