DEF CON 34 Workshop Header

PQC for Hackers

A DEF CON 34 Workshop by Eijah


Abstract

Secure communications are not a luxury - they are a foundational requirement for human dignity in the digital age. Our most meaningful conversations, transactions, and decisions demand end-to-end encryption, strong authentication, and verifiable integrity. The notion that "only those with something to hide need strong crypto" is not merely lazy; it is dangerously shortsighted. Privacy is the space where autonomy, intimacy, and authentic human experience thrive. When that space is violated, the damage ripples far beyond the individual.

For decades, classical public-key cryptography has quietly protected everything from online banking to private messaging. That era is ending. Quantum computers are advancing rapidly, and the break of today's asymmetric algorithms - often called the Quantum Apocalypse - is no longer a question of if, but when. The window to prepare is narrowing. Migration must begin now.

In this workshop, you'll implement PQC algorithms from the NSA's CNSA Suite 2.0. You'll use C++, OpenSSL and Linux to demonstrate the secure usage of ML-KEM, ML-DSA, AES-256, and SHA-512. You'll leave with clean, reusable code, deep implementation insight, and the practical skills needed to integrate PQC into real-world systems.

We might not all have something to hide, but we all have something worth protecting.


Prerequisites

Please come prepared to maximize your workshop time. Your machine must meet the following requirements:

Host System Hardware

Host System Software


Setup Instructions

Step 1: Download Required Files

All workshop downloads will be available starting Monday, August 3rd. To save time, you must download the Virtual Machine (VM) before arriving. The workshop files and presentation slides are optional downloads for your reference, as the necessary files are already inside the VM.

Download VM (Required)
Download Workshop Files (Optional)
Download Presentation (Optional)

Step 2: Prepare the Virtual Machine

Step 3: Import the VM into VirtualBox

Step 4: Final Prep