CSE539: Applied Cryptography

Information Assurance          Computer Science and Eng.         Fulton School of Eng.

   
 

Home Description Text Book Lecture Notes Course Instances Announcements Projects Assignments Resource Links Contact

 

Text Book

Applied Cryptography:
Protocols, Algorithms, and Source Code in C,
(Second Edition)
by Bruce Schneier

 

This new edition of the cryptography classic provides you with a comprehensive survey of modern cryptography. The book details how programmers and electronic communications professionals can use cryptography-the technique of enciphering and deciphering messages-to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems. Covering the latest developments in practical cryptographic techniques, this new edition shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems.

 
 

Table of Contents

Chapter 1: Foundations 
bulletTerminology
bulletSTEGANOGRAPHY
bulletSubstitution Ciphers and Transposition Ciphers
bulletSimple XOR
bulletOne-Time Pads
bulletComputer Algorithms
bulletLarge Numbers

Part I: Cryptographic Protocols

Chapter 2: Protocol Building Blocks 

bulletIntroduction to Protocols
bulletCommunications using Symmetric Cryptography
bulletOne-Way Functions
bulletOne-Way Hash Functions
bulletCommunications using Public-Key Cryptography
bulletDigital Signatures
bulletDigital Signatures with Encryption
bulletRandom and Pseudo-Random Sequence Generation

Chapter 3: Basic Protocols 

bulletKey Exchange
bulletAuthentication
bulletAUTHENTICATION AND KEY EXCHANGE
bulletFORMAL ANALYSIS OF AUTHENTICATION AND KEY-EXCHANGE PROTOCOLS
bulletMultiple-Key Public-Key Cryptography
bulletSecret Splitting
bulletSecret Sharing
bulletCryptographic Protection of Databases

Chapter 4: Intermediate Protocols 

bulletTimestamping Services
bulletSubliminal Channel
bulletUndeniable Digital Signatures
bulletDESIGNATED CONFIRMER SIGNATURES
bulletPROXY SIGNATURES
bulletGroup Signatures
bulletFail-Stop Digital Signatures
bulletComputing with Encrypted Data
bulletBit Commitment
bulletFair Coin Flips
bulletMental Poker
bulletONE-WAY ACCUMULATORS
bulletAll-or-Nothing Disclosure of Secrets
bulletKEY ESCROW

Chapter 5: Advanced Protocols 

bulletZERO-KNOWLEDGE PROOFS
bulletZero-Knowledge Proofs of Identity
bulletBlind Signatures
bulletIDENTITY-BASED PUBLIC-KEY CRYPTOGRAPHY
bulletOblivious Transfer
bulletOBLIVIOUS SIGNATURES
bulletSimultaneous Contract Signing
bulletDigital Certified Mail
bulletSimultaneous Exchange of Secrets

Chapter 6: Esoteric Protocols 

bulletSECURE ELECTIONS
bulletSecure Multiparty Computation
bulletAnonymous Message Broadcast
bulletDIGITAL CASH

Part II: Cryptographic Techniques

Chapter 7: Key Length

bulletSYMMETRIC KEY LENGTH
bulletPUBLIC-KEY KEY LENGTH
bulletCOMPARING SYMMETRIC AND PUBLIC-KEY KEY LENGTH
bulletBIRTHDAY ATTACKS AGAINST ONE-WAY HASH FUNCTIONS
bulletHow Long Should a Key Be?
bulletCaveat Emptor

Chapter 8: Key Management 

bulletGenerating Keys
bulletNONLINEAR KEYSPACES
bulletTransferring Keys
bulletVerifying Keys
bulletUsing Keys
bulletUPDATING KEYS
bulletStoring Keys
bulletBackup Keys
bulletCompromised Keys
bulletLifetime of Keys
bulletDestroying Keys
bulletPublic-Key Key Management

Chapter 9: Algorithm Types and Modes 

bulletElectronic Codebook Mode
bulletBlock Replay
bulletCipher Block Chaining Mode
bulletStream Ciphers
bulletSelf-Synchronizing Stream Ciphers
bulletCipher-Feedback Mode
bulletSynchronous Stream Ciphers
bulletOutput-Feedback Mode
bulletCounter Mode
bulletOther Block-Cipher Modes
bulletCHOOSING A CIPHER MODE
bulletINTERLEAVING
bulletBlock Ciphers vs. Stream Ciphers

Chapter 10: Using Algorithms 

bulletChoosing an Algorithm
bulletPublic-Key Cryptography vs. Symmetric Cryptography
bulletEncrypting Communications Channels
bulletENCRYPTING DATA FOR STORAGE
bulletHardware Encryption vs. Software Encryption
bulletCOMPRESSION, ENCODING, AND ENCRYPTION
bulletDETECTING ENCRYPTION
bulletHIDING CIPHERTEXT IN CIPHERTEXT
bulletDESTROYING INFORMATION

Part III: Cryptographic Algorithms

Chapter 11: Mathematical Background 

bulletInformation Theory
bulletComplexity Theory
bulletNUMBER THEORY
bulletFACTORING
bulletPrime Number Generation
bulletDiscrete Logarithms in a Finite Field

Chapter 12: Data Encryption Standard 

bulletBackground
bulletDescription of DES
bulletSecurity of DES
bulletDIFFERENTIAL AND LINEAR CRYPTANALYSIS
bulletTHE REAL DESIGN CRITERIA
bulletDES VARIANTS
bulletHOW SECURE IS DES TODAY?

Chapter 13: Other Block Algorithms 

bulletLucifer
bulletMadryga
bulletNewdes
bulletFeal-N
bulletRedoc
bulletLOKI
bulletKhufu and Khafre
bulletRC2
bulletIdea
bulletMmb
bulletCA-1.1
bulletSKIPJACK

Chapter 14: Still Other Block Algorithms 

bulletGOST
bulletCAST
bulletBLOWFISH
bulletSAFER K-64
bullet3-WAY
bulletCRAB
bulletSXAL8/MBAL
bulletRC5
bulletOTHER BLOCK ALGORITHMS
bulletTHEORY OF BLOCK CIPHER DESIGN
bulletUSING ONE-WAY HASH FUNCTIONS
bulletCHOOSING A BLOCK ALGORITHM

 

 

Chapter 15: Combining Block Algorithms 
bulletDOUBLE ENCRYPTION
bulletTRIPLE ENCRYPTION
bulletDOUBLING THE BLOCK
bulletLENGTH
bulletOTHER MULTIPLE ENCRYPTION SCHEMES
bulletCDMF KEY
bulletSHORTENING
bulletWHITENING
bulletCASCADING MULTIPLE BLOCK ALGORITHMS
bulletCOMBINING MULTIPLE BLOCK ALGORITHMS

Chapter 16: Pseudo-Random-Sequence Generators and Stream  

bulletLinear Congruential Generators
bulletLinear Feedback Shift Registers
bulletLFSRs in Software
bulletDESIGN AND ANALYSIS OF STREAM CIPHERS
bulletStream Ciphers using LFSRs
bulletA5
bulletHUGHES XPD/KPD
bulletNANOTEQ
bulletRAMBUTAN
bulletADDITIVE GENERATORS
bulletGIFFORD
bulletALGORITHM M
bulletPKZIP

Chapter 17: Other Stream Ciphers and Real Random-Sequence Generators 

bulletRC4
bulletSEAL
bulletWAKE
bulletFEEDBACK WITH CARRY SHIFT REGISTERS
bulletSTREAM CIPHERS USING FCSRS
bulletNONLINEAR FEEDBACK SHIFT REGISTERS
bulletOther Stream Ciphers
bulletSystem-Theoretic Approach to Stream Cipher Design
bulletComplexity-Theoretic Approach to Stream Cipher Design
bulletOther Approaches to Stream Cipher Design
bulletCASCADING MULTIPLE STREAM CIPHERS
bulletCHOOSING A STREAM CIPHER
bulletGENERATING MULTIPLE STREAMS FROM A SINGLE PSEUDO-RANDOM SEQUENCE GENERATOR
bulletREAL RANDOM-SEQUENCE GENERATORS

Chapter 18: One-Way Hash Functions 

bulletBackground
bulletSnefru
bulletN-HASH
bulletMD4
bulletMD5
bulletMD2
bulletSecure Hash Algorithm (SHA)
bulletRIPE-MD
bulletHaval
bulletOther One-Way Hash Functions
bulletONE-WAY HASH FUNCTIONS USING SYMMETRIC BLOCK ALGORITHMS
bulletUsing Public-key Algorithms
bulletCHOOSING A ONE-WAY HASH FUNCTION
bulletMESSAGE AUTHENTICATION CODES

Chapter 19: Public-Key Algorithms 

bulletBackground
bulletKnapsack Algorithms
bulletRSA
bulletPohlig-Hellman
bulletRabin
bulletElGamal
bulletMcEliece
bulletElliptic Curve Cryptosystems
bulletLUC
bulletFINITE AUTOMATON PUBLIC-KEY CRYPTOSYSTEMS

Chapter 20: Public-Key Digital Signature Algorithms 

bulletDigital Signature Algorithm (DSA)
bulletDSA VARIANTS
bulletGOST
bulletDIGITAL SIGNATURE ALGORITHM
bulletDISCRETE LOGARITHM SIGNATURE SCHEMES
bulletOng-Schnorr-Shamir
bulletEsign
bulletCellular Automata
bulletOther Public-Key Algorithms

Chapter 21: Identification Schemes 

bulletFeige-Fiat-Shamir
bulletGuillou-Quisquater
bulletSchnorr
bulletCONVERTING IDENTIFICATION SCHEMES TO SIGNATURE SCHEMES

Chapter 22: Key-Exchange Algorithms 

bulletDIFFIE-HELLMAN
bulletSTATION-TO-STATION PROTOCOL
bulletShamir's Three-Pass Protocol
bulletCOMSET
bulletEncrypted Key Exchange
bulletFORTIFIED KEY NEGOTIATION
bulletConference Key Distribution and Secret Broadcasting

Chapter 23: Special Algorithms for Protocols 

bulletMultiple-Key Public-Key Cryptography
bulletSecret Sharing Algorithms
bulletSubliminal Channel
bulletUndeniable Digital Signatures
bulletDESIGNATED CONFIRMER SIGNATURES
bulletComputing with Encrypted Data
bulletFair Coin Flips
bulletONE-WAY ACCUMULATORS
bulletAll-or-Nothing Disclosure of Secrets
bulletFAIR AND FAILSAFE CRYPTOSYSTEMS
bulletZero-Knowledge Proofs of Knowledge
bulletBlind Signatures
bulletOblivious Transfer
bulletSecure Multiparty Computation
bulletProbabilistic Encryption
bulletQuantum Cryptography

Part IV: The Real World

Chapter 24: Example Implementations 

bulletBM Secret-Key Management Protocol
bulletMitrenet
bulletISDN
bulletSTU-III
bulletKerberos
bulletKryptoKnight
bulletSESAME
bulletIBM COMMON CRYPTOGRAPHIC ARCHITECTURE
bulletISO Authentication Framework
bulletPrivacy-Enhanced Mail (PEM)
bulletMessage Security Protocol
bulletPRETTY GOOD PRIVACY (PGP)
bulletSMART CARDS
bulletPUBLIC-KEY CRYPTOGRAPHY STANDARDS
bulletUNIVERSAL ELECTRONIC PAYMENT SYSTEM CLIPPER
bulletCAPSTONE
bulletAT&T MODEL 3600 TELEPHONE SECURITY DEVICE

Chapter 25: Politics 

bulletNATIONAL SECURITY AGENCY
bulletNational Computer Security Center
bulletNational Institute of Standards and Technology
bulletRSA Data Security, Inc.
bulletPUBLIC KEY PARTNERS
bulletInternational Association for Cryptologic Research
bulletRACE Integrity Primitives Evaluation
bulletCONDITIONAL ACCESS FOR EUROPE
bulletISO/IEC 9979
bulletPROFESSIONAL, CIVIL LIBERTIES, AND INDUSTRY GROUPS
bulletSci.Crypt
bulletCYPHERPUNKS
bulletPatents
bulletU.S. EXPORT RULES
bulletFOREIGN IMPORT AND EXPORT OF CRYPTOGRAPHY
bulletLegal Issues