Contact PSU | PSU FAQs
future students current students faculty + staff Alumni + Friends
Computer Science
Maseeh College of Engineering and Computer Science
  • contact us
  • Maseeh College
Home Prospective Students
  • Prospective Students
  • Undergraduate Programs
  • Graduate Programs
  • Graduate Admissions Information
  • Biomedical Informatics
  • International Programs
  • Capstone
  • Forms
People
  • People
  • Faculty
  • Staff
  • Grad Students
  • IAB Members
Research
  • Research
  • Theses and Dissertations
  • Technical Reports
Courses Schedules
  • Schedules
  • Archived Schedules
Programs
  • Programs
  • Undergraduate Programs
  • Graduate Programs
  • Biomedical Informatics
  • International Programs
  • Capstone
  • Forms
Resources
  • Advising
  • Employment
  • Directions/Contact Info
  • Support
  • Student Groups
  • Forms
The page you are looking for has moved, please update your bookmark accordingly.

CS 485 Cryptography


Credit Hours: 4
Course Coordinator: Tom Shrimpton
Course Description: This is a course in modern cryptography emphasizing formal definitions and proofs of security. Core topics include private- and public-key schemes for encryption and message authentication, cryptographic hash functions, and authenticated encryption schemes. Additionally, the course may include some analysis of the DES and AES blockciphers, and real-world security protocols such as WEP, SSH/TLS and IPSec. (Note: this is an updated description; the catalog will be changed to agree with it.)
Prerequisites: Algorithms, computational models, probability.
Goals: To develop a solid understanding of the fundamentals of the science of modern cryptography. This course will introduce students to formal definitions of security, cryptographic primitives and protocols, and the provable-security paradigm.

Upon the successful completion of this course students will be able to:

  1. Describe what are pseudorandom permutations and functions.
  2. Explain the difference between information theoretic and complexity theoretic security.
  3. Prove security implications.
  4. Explain security definitions for symmetric encryption schemes.
  5. Show that common encryption modes (CBC, CTR) are secure under complexity assumptions on the underlying cryptographic primitive.
  6. Recognize implementation mistakes that might lead to insecure encryption schemes.
  7. Explain the operation of the DES blockcipher.
  8. State what is a message-authentication code (MAC).
  9. Defines a secure MAC.
  10. Describe what is an authenticated-encryption scheme.
  11. Determine what combinations of encryption and message authentication lead to authenticated encryption.
  12. Distinguish cryptographic hash functions from non-cryptographic hash functions.
  13. Explain the Merkle-Damgard construction and theorem.
  14. Demonstrate understanding of basic number theoretic results.
  15. Explain the workings of the RSA and ElGamal public-key encryption algorithm.
  16. Give definitions of security for public-key encryption and digital signature schemes.
  17. Read a current journal article.
Textbooks: None; largely based on distributed lecture notes and selected publications.
References: None.
Major Topics:
  1. Overview and history; the idea of provable security
  2. Mathematical background: discrete probability, occupancy problems, number theory, groups, finite fields
  3. Blockciphers (DES and AES): design and cryptanalysis
  4. Pseudorandom functions and permutations
  5. Symmetric encryption: realizations (blockcipher modes of operation) and notions of security
  6. Information-theoretic security, complexity-theoretic security
  7. Message authentication: realizations (e.g. CBC-MAC) and notions of security
  8. Cryptographic hash functions
  9. Asymmetric encryption: realizations (RSA, ElGamal, etc.) and notions of security
  10. Digital signatures
  11. Modern protocols: SSH/TLS, IPSec, WEP
Laboratory Exercises: None.

CAC Category Credits Core Advanced
Data Structures
Algorithms 0.40
Software Design
Computer Architecture
Programming Languages

Oral and Written Communications: Every student is required to submit at least one written report (not including exams, tests, quizzes, or commented programs) of typically five pages.
Social and Ethical Issues: None.
Theoretical Content: The entire course is theoretical.
Problem Analysis: The course is devoted to formal analysis of cryptographic systems. Success in this course requires clear (and sometimes creative) thinking in order to identify the security goals, to determine the appropriate notions of security, and to identify (if they exist) the appropriate primitives or protocols to achieve the security goals.
Solution Design: Students will learn techniques for thinking about cryptography, analyzing primitives and protocols, and synthesizing solutions to specific cryptographic goals.
  • Give to PSU
  • PSU FAQs
  • Contact PSU
  • Find People
  • Maps/Directions
  • PSU Sitemap
  • © 2010