Skip to content

Prototyping Cryptographic Protocols

Matt Cheung

Presentation on cryptography and privacy technologies.

Summary

### Rapid Prototyping with the Charm Cryptography Framework At 00:00, Matt Cheung presents a guide to prototyping cryptographic protocols using Python and the Charm-Crypto library at the Crypto and Privacy Village. Cheung discusses how high-level language bindings streamline the development and evaluation of complex mathematical protocols.

### Bilinear Pairings and Identity-Based Encryption At 14:22, Cheung walks through implementing Identity-Based Encryption (IBE) and pairing-based cryptography. He explains how Charm provides clean object-oriented abstractions over underlying C libraries (such as PBC and GMP), enabling developers to instantiate elliptic curve groups and evaluate bilinear maps in minimal lines of code.

### Interactive Zero-Knowledge Proofs in Python At 26:13, the presentation covers zero-knowledge proofs, focusing on Sigma protocols and Schnorr identification schemes. Cheung demonstrates how developers can define cryptographic commitments, challenges, and mathematical responses, verifying that equations balance correctly across simulated network sockets.

### Protocol Optimization and Vector Search At 36:49, Cheung explores practical protocol engineering challenges, including character delay vectors (CDV) and searchable encryption algorithms. He evaluates computational latency trade-offs between group exponentiations and network serialization overhead.

### Transitioning from Prototypes to Production Code Concluding between 42:00 and 47:05, Cheung highlights the crucial distinction between research prototyping and production cryptography. He cautions that prototype code lacks side-channel defenses and constant-time execution guarantees, advising engineers to audit and port verified designs into memory-safe production languages.

(AI summary — Gemini Flash)

Related talks