Home Program of Study Faculty Resources Conferences Outreach Security

CSC 563 Computer Cryptography and Digital Steganography

Instructor: Dr. Sviatoslav Braynov

Catalog Description: The course provides the fundamentals of modern cryptography and steganography. Cryptography is usually considered to be the art and the science of scrambling a message in order to make it unreadable, whereas steganography is the art and the science of hiding the very existence of the message. The course focuses on both theory and practice. Students will learn how to use Java to write cryptographic applications.

Course summary: Cryptography is the science of designing algorithms and protocols that guarantee privacy, authenticity, and integrity of data when parties are communicating or computing in an insecure environment. The recent explosion of electronic communication and commerce has expanded the significance of cryptography way beyond its historical role in national security into all of our daily lives. The course introduces the fundamentals of modern cryptography and steganography. Various cipher systems will be presented including transposition and substitution systems, rotor machines, and polyalphabetic systems. Block ciphers will also be discussed with emphasis on the Data Encryption Standard (DES) and the Advanced Encryption Standard (AES). Public key systems and RSA will be introduced. Watermarking and Steganography will also be described with emphasis on how these techniques are used in conjunction with encryption systems to protect data.

Theory vs. Practice: This course will focus on both theory and practice. The course will have a strong hands-on component. Students will learn how to use Java Cryptography Extensions and write cryptographic applications.

Applications: Several tools for Steganography and digital watermarking will be used.

Security: The course introduces cryptography and steganography into the broader contexts of network and systems security.

Prerequisites: Students must be able to:

  • Understand and write formal mathematical definitions and proofs.
  • Reason about algorithms
  • Write programs in Java

Textbook: Bruce Schneier, Applied Cryptography, John Wiley & Sons, 1996, ISBN 0-471-11709-9

Course Outline:

  • Historical Overview of Cryptography
  • Privacy
  • Mathematical Overview
  • Transposition and Substitution Ciphers
  • Rotor Machine and Polyalphabetic Ciphers
  • Block Ciphers: DES
  • Can DES be attacked?
  • Block Ciphers: AES
  • Public Key Systems
  • RSA System
  • One-way Functions
  • Key Management
  • Digital Signatures and Authentication
  • Stream Ciphers
  • Pseudorandom generators
  • Zero-Knowledge Proofs
  • Steganography
  • Steganographic methods: (Least significant bit substitution (LSB), Transform domain techniques, Cover generation methods, Random interval method, Pseudorandom permutations, Image downgrading, Cover regions and parity bits, Palette-based images, Digital Watermarking)
  • Steganographic tools
  • Digital watermarking
  • Applications of digital watermarking: (Broadcast monitoring, Owner identification, Transaction tracking, Content authentication, Scrambling attack, Synchronization attack, Copy attack, Ambiguity attack)

Format and grading: The course is based on the instructor's lectures and labs. There will be several quizzes and homeworks, including both problem sets and programming. There will be one midterm and a final exam. The tests will be closed book.

Home Program of Study Faculty Resources Conferences Outreach Security