ECE 50877 - Introduction to Applied Cryptography

Course Details

Lecture Hours: 3 Credits: 3

Areas of Specialization:

  • Computer Engineering

Counts as:

  • EE Elective
  • CMPE Selective

Normally Offered:

Each Fall

Campus/Online:

On-campus and online

Requisites:

ECE 30200

Requisites by Topic:

Probability

Catalog Description:

Cryptography is an essential component of securing communication and data in a wide range of applications. This course explores fundamental building blocks in cryptography such as ciphers, hash functions, and digital signatures. We will then demonstrate how these building blocks are used practically to secure communications and systems. We will also learn about the power of advanced cryptography to enable complex functionalities with rigorous security guarantees. We will cover fundamental secure multiparty computation protocols, homomorphic encryption, and blockchains, and review their application in building privacy-preserving machine learning. We will also explore social and ethical issues in developing and deploying cryptographic systems.

Required Text(s):

  1. Introduction to Modern Cryptography , 3rd Edition , Katz, Jonathan; Lindell, Yehuda , Chapman & Hall/CRC , 2020 , ISBN No. 978-0815354369

Recommended Text(s):

None.

Learning Outcomes

A student who successfully fulfills the course requirements will have demonstrated:

  • an understanding of modern concepts related to cryptography
  • the ability to use methods for cryptography and analyze their applicability and limitations
  • the ability to recognize ethical considerations in applications of cryptography in building systems
  • the ability to formulate and conduct a team-based research project in computer security using cryptographic constructions
  • the ability to present research results to peers, both verbally and in writing

Lecture Outline:

Week Week
1 Introduction, history, principles of modern cryptography
2 Private key (symmetric) cryptography: security notions, stream ciphers, block ciphers
3 Hash functions: definitions, attacks, random oracle models, applications
4 Symmetric key constructions: DES, AES, SHA
5 Public key (asymmetric) cryptography: basic group theory, RSA, PK encryption
6 Digital signatures: based on RSA, discrete-log problem. DSA, ECDSA
7 Crypto for network security: SSL/TLS, HTTPS, GPG, web of trust
8 Crypto for system security: TrueCrypt, Authenticode, Minisign, AEAD
9 Intro to secure computation; threat models, secret sharing schemes
10 Fundamental MPC: oblivious transfer, Yao's garbled circuits, optimizations
11 LWE problem; fully homomorphic encryption
12 Blockchains and ledgers, smart contracts, proof of work, consensus
13 Machine learning and security: private federated learning and inference
14 Ethics: The moral character of cryptographic work
15 Project presentations

Assessment Method:

Homework, projects, presentations (3/2023)