Introduction to Modern Cryptography

This document focuses on modern cryptography as a science. Includes topics on block ciphers, pseudorandom, symmetric and asymmetric encryption, hash, authentication and digital signatures.

**Tag(s):**
Cryptography

**Publication date**: 01 Sep 2005

**ISBN-10**:
n/a

**ISBN-13**:
n/a

**Paperback**:
283 pages

**Views**: 23,413

**Type**: Lecture Notes

**Publisher**:
n/a

**License**:
n/a

**Post time**: 23 Sep 2006 01:28:21

Introduction to Modern Cryptography

This document focuses on modern cryptography as a science. Includes topics on block ciphers, pseudorandom, symmetric and asymmetric encryption, hash, authentication and digital signatures.

Document Excerpts:

This document functions as notes for course CSE 207: Modern Cryptography at Computer Science and Engineering, University of California.

This course is an introduction to modern cryptography as a science. The viewpoint in this course is "theory brought to practice", specifically the application of the theory of "provable-security" to the design and analysis of real world cryptographic schemes. This course considers tasks like encryption, signatures, authentication, and key distribution. The goal is to instill understanding of fundamentals of cryptographic protocol design.

Although the aim is to end up with practical solutions, the work involved is largely theoretical. This document will spend much of its time understanding how to formally define and model various goals, and prove correct protocols for these goals. This document is not about computer security. It will not be covering topics like operating systems security, viruses, and worms.

Intended Audience:

This document assumes that readers are familiar with computer algorithms, probability theory, randomized algorithms, some basic complexity theory (eg. P, NP, NP-completeness, reducibility between problems) and, most importantly, own general "mathematical maturity." The latter means being comfortable with mathematical definitions and proofs.

This document functions as notes for course CSE 207: Modern Cryptography at Computer Science and Engineering, University of California.

This course is an introduction to modern cryptography as a science. The viewpoint in this course is "theory brought to practice", specifically the application of the theory of "provable-security" to the design and analysis of real world cryptographic schemes. This course considers tasks like encryption, signatures, authentication, and key distribution. The goal is to instill understanding of fundamentals of cryptographic protocol design.

Although the aim is to end up with practical solutions, the work involved is largely theoretical. This document will spend much of its time understanding how to formally define and model various goals, and prove correct protocols for these goals. This document is not about computer security. It will not be covering topics like operating systems security, viruses, and worms.

Intended Audience:

This document assumes that readers are familiar with computer algorithms, probability theory, randomized algorithms, some basic complexity theory (eg. P, NP, NP-completeness, reducibility between problems) and, most importantly, own general "mathematical maturity." The latter means being comfortable with mathematical definitions and proofs.

Tweet

About The Author(s)

Mihir Bellare is a Professor in the Department of Computer Science and Engineering at the University of California, San Diego.

Phillip Rogaway is a professor in the Department of Computer Science at the University of California, Davis, USA. He has also been a frequent visitor to Chiang Mai University, and to other universities in Thailand. His research is in cryptography. He did his Ph.D. at MIT’s Theory of Computation group (1991), worked at IBM for some time, then came to UCD (1994). His research has focused on obtaining provably-good solutions to protocol problems of genuine utility. He is also interested in social and ethical issues connected to technology.

Book Categories

Computer Science
Introduction to Computer Science
Introduction to Computer Programming
Algorithms and Data Structures
Artificial Intelligence
Computer Vision
Machine Learning
Neural Networks
Game Development and Multimedia
Data Communication and Networks
Coding Theory
Computer Security
Information Security
Cryptography
Information Theory
Computer Organization and Architecture
Operating Systems
Image Processing
Parallel Computing
Concurrent Programming
Relational Database
Document-oriented Database
Data Mining
Big Data
Data Science
Digital Libraries
Compiler Design and Construction
Functional Programming
Logic Programming
Object Oriented Programming
Formal Methods
Software Engineering
Agile Software Development
Information Systems
Geographic Information System (GIS)

Mathematics
Mathematics
Algebra
Abstract Algebra
Linear Algebra
Number Theory
Numerical Methods
Precalculus
Calculus
Differential Equations
Category Theory
Proofs
Discrete Mathematics
Theory of Computation
Graph Theory
Real Analysis
Complex Analysis
Probability
Statistics
Game Theory
Queueing Theory
Operations Research
Computer Aided Mathematics

Supporting Fields
Web Design and Development
Mobile App Design and Development
System Administration
Cloud Computing
Electric Circuits
Embedded System
Signal Processing
Integration and Automation
Network Science
Project Management

Operating System
Programming/Scripting
Ada
Assembly
C / C++
Common Lisp
Forth
Java
JavaScript
Lua
Microsoft .NET
Rexx
Perl
PHP
Python
R
Rebol
Ruby
Scheme
Tcl/Tk

Miscellaneous
Sponsors