A Graduate Course in Applied Cryptography



Download free course A Graduate Course in Applied Cryptography, pdf file on 900 pages by by Dan Boneh, Victor Shoup.
Cryptography is an indispensable tool used to protect information in computing systems. It is used everywhere and by billions of people worldwide on a daily basis. It is used to protect data at rest and data in motion. Cryptographic systems are an integral part of standard protocols, most notably the Transport Layer Security (TLS) protocol, making it relatively easy to incorporate strong encryption into a wide range of applications.

While extremely useful, cryptography is also highly brittle. The most secure cryptographic system can be rendered completely insecure by a single specification or programming error. No amount of unit testing will uncover a security vulnerability in a cryptosystem.

Instead, to argue that a cryptosystem is secure, we rely on mathematical modeling and proofs to show that a particular system satisfies the security properties attributed to it. We often need to introduce certain plausible assumptions to push our security arguments through.

This book is about exactly that: constructing practical cryptosystems for which we can argue security under plausible assumptions. The book covers many constructions for different tasks in cryptography. For each task we define a precise security goal that we aim to achieve and then present constructions that achieve the required goal. To analyze the constructions, we develop a unified framework for doing cryptographic proofs. A reader who masters this framework will be capable of applying it to new constructions that may not be covered in the book.

Table of contents

  • Secret key cryptography
  • Introduction
  • Encryption
  • Stream ciphers
  • Block ciphers
  • Chosen plaintext attacks
  • Message integrity
  • Message integrity from universal hashing
  • Message integrity from collision resistant hashing
  • Authenticated encryption
  • Public key cryptography
  • Public key tools
  • Public key encryption
  • Chosen ciphertext secure public-key encryption
  • Digital signatures
  • Fast signatures from one-way functions
  • Elliptic curve cryptography and pairings
  • Post-quantum cryptography: lattices and isogenies
  • Analysis of number theoretic assumptions
  • Protocols
  • Protocols for identification and login
  • Identification and signatures from sigma protocols
  • Proving properties in zero-knowledge
  • Modern proof systems
  • Authenticated key exchange
  • Two-party and multi-party secure computation
  • Basic number theory
  • Basic probability theory
  • Basic complexity theory
  • Probabilistic algorithms
Pages : 900
Size : 9.5 MB
File type : PDF
Downloads: 121
Created: 2022-02-01
License: Out of Copyright
Author(s): by Dan Boneh, Victor Shoup
A Graduate Course in Applied Cryptography

Others Computer science Tutorials

Keras Succinctly

CouchDB: The Definitive Guide

Training Site Reliability Engineers

Accelerators in Silicon Valley

Reversible Computation: Extending Horizons of Computing

Others related eBooks about A Graduate Course in Applied Cryptography

The Official Raspberry Pi Beginner's Guide

The Raspberry Pi is a small, clever, British-built computer that’s packed with potential. Made using the same technology you find in a smartphone, the Raspberry Pi is designed to help you learn coding, discover how computers work, and build your own amazing things. Fully updated for Raspberry Pi 4...

Functional Programming in OCaml

This book is about making you a better programmer. It gives you the opportunity to now learn a new language from scratch and reflect along the way about the difference between programming and programming in a language....

The Next.js Handbook

Download free course The Next.js Handbook, pdf file on 102 pages by Flavio Copes....

Satellite Positioning - Methods, Models and Applications

Satellite positioning techniques, particularly global navigation satellite systems (GNSS), are capable of measuring small changes of the Earths shape and atmosphere, as well as surface characteristics with an unprecedented accuracy....

Introduction to MATLAB

With this tutorial you will work through the examples to understand the basics of MATLAB programming ,a free training document under 74 pages for download....

Efficient Learning Machines

Download free course Efficient Learning Machines, pdf file on 244 pages by Mariette Awad, Rahul Khanna....

MATLAB Notes for Professionals

Download free course MATLAB Notes for Professionals, pdf file on 181 pages by Stack Overflow Community....

Developing Reactive Microservices: Enterprise Implementation in Java

With microservices taking the software industry by storm, traditional enterprises running large, monolithic Java EE applications have been forced to rethink what they’ve been doing for nearly two decades. But how can microservices built upon reactive principles make a difference? ...

The Complete FreeBSD: Documentation from the Source

The Complete FreeBSD is an eminently practical guidebook that explains not only how to get a computer up and running with the FreeBSD operating system, but also how to turn it into a highly functional and secure server that can host large numbers of users and disks, support remote access, and prov...

Learning iOS

Download free course Learning iOS, pdf file on 1117 pages by Stack Overflow Community....