Cryptography

This course is offered through Coursera — you can add it to your Accredible profile to organize your learning, find others learning the same thing and to showcase evidence of your learning on your CV with Accredible's export features.


Course Date: 15 September 2014 to 03 November 2014 (7 weeks)

Price: free

Course Summary

This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications.


Estimated Workload: 5-7 hours/week

Course Instructors

Jonathan Katz

Jonathan Katz is a Professor of Computer Science at the University of Maryland, and  director of the Maryland Cybersecurity Center. He received his undergraduate degrees from MIT in 1996, and a PhD from Columbia University in 2002. He has held visiting appointments at UCLA (Los Angeles, CA), Ecole Normale Superieure (Paris, France), and IBM (Hawthorne, NY).

Prof. Katz's research interests lie broadly in the areas of cryptography, privacy, and computer and network security, with his most recent work focusing on secure multi-party computation, database privacy, and the science of cybersecurity. He has co-authored the popular undergraduate textbook "Introduction to Modern Cryptography" (CRC Press, 2007) and a monograph on digital signature schemes (Springer, 2010). He has previously given tutorials on cryptography for audiences in industry, academia, and government.

Course Description

Historically, cryptography was used to ensure private communication between two people with some prior relationship. More recently, its scope has expanded to include things as diverse as data integrity, secure internet-wide communication, electronic cash, secure distributed computation, and more.

Cryptography has also become ubiquitous. Perhaps unknowingly, we have all encountered applications of cryptography in our daily lives---whether by logging in using a password, making a web purchase over a secure connection, or applying a software update that is digitally signed.

This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications. We will learn the importance of carefully defining security; of relying on a set of well-studied “hardness assumptions” (e.g., the hardness of factoring large numbers); and of the possibility of proving security of complicated constructions based on low-level primitives. We will not only cover these ideas in theory, but will also explore their real-world impact. You will learn about cryptographic primitives in wide use today, and see how these can be combined to develop modern protocols for secure communication.

Syllabus

Introduction and Motivation
  • Classical Encryption Schemes

  • Principles of Modern Cryptography

Perfect Secrecy and Its Limitations

Private-Key Encryption

  • Computational Security

  • Pseudorandom Generators and Stream Ciphers

  • Pseudorandom Functions and Block Ciphers

  • Modes of Encryption

  • Security against Chosen-Ciphertext Attacks and Padding-Oracle Attacks

Message Authentication
  • Secrecy vs. Integrity

  • Message Authentication Codes

  • CBC-MAC

  • Authenticated Encryption

Hash Functions
  • Security Requirements

  • HMAC

  • Additional Applications of Hash Functions

Number Theory and Mathematical Background

The Public-Key Revolution

  • Key Distribution and Key Management

  • Diffie-Hellman Key Exchange

Public-Key Encryption
  • Definitions of Security

  • Hybrid Encryption and the KEM/DEM Paradigm

  • El Gamal Encryption and DHIES

  • RSA Encryption and the RSA PKCS #1 Standard

Digital Signatures
  • Signatures vs. MACs

  • RSA-Based Signatures and the RSA PKCS #1 Standard

  • DSA/ECDSA

  • Public-Key Infrastructures

Course Workload

5-7 hours/week

Review course:

Please sign in to review this course.

Similar Courses


{{ course.name }} {{ course.name }}

{{ course.name}}

{{course.start_date | date:'MMM d'}} — {{ course.end_date | date:'MMM d'}}   ({{ course.time_until_course_starts }} ,   length: {{ course.length_in_weeks }} weeks) Self-paced — no deadlines    
${{ course.price }} p/mfree
TO-LEARN
TO-LEARN
ADDED!

REMOVE
FROM
LIST
ON PROFILE

Course Activity & Community

Be the first Accredible user to join this course!





uploaded {{ feed_item.model.caption || feed_item.model.url || feed_item.model.file_file_name }} for the course {{ feed_item.course.name }} — {{ feed_item.time_ago }}

{{ comment.user.name }} {{ comment.text | truncate: (comment.length || comment_display_length) }}   read more hide

{{ comment.time_ago }}

started the course {{ feed_item.course.name }} — {{ feed_item.time_ago }}
followed {{ feed_item.model.name }} — {{ feed_item.time_ago }}
followed thier friend {{ feed_item.model.name }} — {{ feed_item.time_ago }}
{{ feed_item.model.text }} (on the course {{ feed_item.course.name }}) — {{ feed_item.time_ago }}

{{ comment.user.name }} {{ comment.text | truncate: (comment.length || comment_display_length) }}   read more hide

{{ comment.time_ago }}