Farfalle

Farfalle

The ideal keyed symmetric cryptographic primitive

Cryptographic modes

Cryptographic modes

Building simple modes using Farfalle

Domain separation

Domain separation

The importance of domain separation

Authenticated encryption

Authenticated encryption

Why authenticated encryption is far more secure than plain encryption

Nonce reuse resistance

Nonces and authenticated encryption

Building an authenticated encryption mode that is resistant to nonce reuse

Release of unverified plaintext

Release of unverified plaintext

Building an authenticated encryption mode that is resistant to nonce reuse and the release of unverified plaintext from the decipher oracle

Wide block cipher

Wide block cipher

Building a wide block cipher

Feistel network

Feistel networks

From SIV to WBC and everything in-between

CPSS

CPSS attack

A simple yet powerful attack against low-entropy modes

C++ pseudo-random number generation

C++ pseudo-random number generation

A cryptographically secure uniform random bit generator

Format-preserving encryption

Format-preserving encryption

A word of caution regarding format-preserving encryption (FPE)

Cycle walking

Cycle walking

A clever FPE technique demonstrated on credit card numbers