CSCI 1515 Applied Cryptography

Spring 2023

Brown University

Applied Cryptography at Brown University offers a practical take on securing systems. By learning foundational cryptographic algorithms and advanced topics like zero-knowledge proofs and post-quantum cryptography, students gain both theoretical insights and hands-on experience in implementing cryptosystems using C++ and crypto libraries. Label: State-of-art concepts.

Course Page

Overview

Welcome to Applied Cryptography (CSCI 1515) at Brown!

This course teaches cryptography from a practical perspective and provides hands-on experience in building secure systems.

We first introduce foundational cryptographic algorithms including secret-key and public-key encryption schemes, message authentication codes, digital signatures, and hash functions, from which you will build secure communication and authentication systems.

More advanced topics that are covered include zero-knowledge proofs, secure multi-party computation, fully homomorphic encryption, post-quantum cryptography, and differential privacy. You will learn how these cryptographic techniques can be used to develop more advanced applications such as secure online anonymous voting, secure computation, and private information retrieval.

Besides the high-level design of these cryptosystems, you will also get hands-on experience implementing them using tools from the existing crypto libraries written in C++.

Prerequisites

No data.

Learning objectives

No data.

Textbooks and other notes

Textbooks

Other courses in Computer Security and Cryptography

COS 433 - Cryptography

Fall 2020

Princeton University

CS 155 Computer and Network Security

Spring 2022

Stanford University

CS 255: Introduction to Cryptography

Winter 2023

Stanford University

Courseware availability

Lecture notes available at Lectures

No videos available

Projects and homework available at Assignements

No other materials available

Covered concepts

Anonymous online votingAuthenticated encryptionBFV: SWHE from RLWEBirthday attackBlock cipherBlock cipherBlockchainBootstrapping SWHE to FHECBC-MACCertificatesCollision-resistant hash functionsComputational assumptionsComputational securityCryptographyCryptography in blockchainCut-and-choose for garbled circuitsDSA signature schemesDifferential privacyDiffie-Hellman key exchangeDiffie-Hellman tupleElGamal public key encryptionFiat-Shamir heuristicFully homomorphic encryptionGMW: MPC for any functionGSW: SWHE from LWEGarbled circuitHKDFHardware security module (HSM)Hash-and-Sign paradigmHash-based Message Authentication Code (HMAC)Malicious security: GMW compilerMessage authentication code (MAC)Message integrityModes of operationNon-interactive zero-knowledge (NIZK) proofOblivious transfer (OT)One-time padPassword-based authenticationPrivacy in machine learningPrivate information retrievalPrivate set intersectionProof of knowledgePseudorandom function/permutation (PRF/PRP)Pseudorandom generator (PRG)Public key infrastructure (PKI)Public-key cryptographyRSA (cryptosystem)Random oracle modelSchnorr's identification protocolSecure Hash Algorithm (SHA)Secure authenticationSecure deployment of MPC applicationsSecure hardware: secure enclaves (Intel SGX)Secure multi-party computation (MPC)Secure shell protocol (SSH)Shannon's TheoremSigma protocolSingle Sign-On (SSO) authenticationSomewhat homomorphic encryption over integersSuccinct Non-Interactive Arguments (SNARGs)Symmetric-key encryptionTwo-factor authenticationZero-knowledge proof