When you're an applied cryptographer, teaching your preteen daughters what you do for a living isn't easy. That's why Justin Troutman developed PocketBlock, a visual, gamified curriculum that makes cryptographic engineering fun.

In its current form, PocketBlock is a series of board-like grids that allows players to transform plaintext messages into secret ciphertext and convert it back again, one move at a time. By restricting the operations to little more than addition and subtraction performed by rearranging squares on a piece of paper, PocketBlock helps students understand the fundamentals of encryption without requiring a formal background in mathematics. At the same time, it stays true to the principles of modern cryptography and goes well beyond the classical cryptographic concepts, like the Caesar cipher, reserved for the most kid-centric material on cryptography today.

"The goal is for kids to feel like they've worked with something of substance, to an extent that intrigues them," Troutman, a trained cryptographer who is currently the project manager at the Freedom of the Press Foundation, told Ars. "[PocketBlock] introduces cryptography as everything from a pillar of the modern Web to the tradecraft of spies past. It introduces the same cryptographic concepts that I work with as a cryptographer in industry—the same underpinnings you'll find in academic papers. It reduces these concepts to easy-to-solve problems and uses a visual language to map what happens to bits as they travel through a cryptographic algorithm."

While suitable for kids eight and older, PocketBlock is by no means restricted to kids. Troutman said it's also suitable for professional developers who want to deepen their understanding of the way cryptographic algorithms work, given that they're often implementing them. So far, Troutman has used PocketBlock in four workshops: for kids of all ages at r00tz Asylum (Defcon 24), for middle school girls at a Hacker Girls Summer Camp sponsored by Facebook, for high school students at Cal Poly SLO's EPIC engineering summer camp, and for professional developers at Facebook's internal Hacktober event.

The first entry in the PocketBlock series is called Pockenacci (pronounced POCK-uh-notch-ee), an authenticated encryption scheme that introduces the inner workings of a block cipher. Pockenacci includes a simple key schedule based on Fibonacci-style addition, which transforms a password into a cryptographic key; two P-boxes that permute, or shift, the location of characters inside the plaintext message; an S-box that substitutes one character for another; and a Message Authentication Code for verifying that an adversary hasn't tampered with an encrypted message while it was in transit.

Adolescent Encryption Standard

The next entry will be "aes," or the "adolescent encryption standard," a version of the Advanced Encryption Standard that has been simplified enough to be done by hand. While it has been scaled down, Troutman said it will retain the full structure of AES.

In its current form, PocketBlock mostly resembles a crude board game, but Troutman said this is just the early curriculum-based stage. He has plans to expand PocketBlock to an interactive app for tablets with tangible components like physical, programmable blocks that work with the app for more of a hands-on experience. In addition, Troutman is also planning to integrate a narrative interactive fiction environment in which players use their newfound crypto skills to complete missions. The first installment of this narrative adventure will be titled "Mudspeak."

"The goal of this narrative, interactive-fiction-esque component is to gamify things even more, by having players both build and break ciphers in order to level up," Troutman said. "They'll need to build ciphers in order to set up secure and private communication, break ciphers in order to read secret messages, and forge new ones. Completing missions will depend heavily on keeping their secrets safe while learning the secrets of their opponents."

The PocketBlock curriculum source is free and open source and available on the official PocketBlock repo on Github. Project updates and upcoming workshops can be found at the official PocketBlock website.