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