/pocketblock

Cryptographic Engineering for Kids, for Everybody. Scaling down modern cryptography to pencil 'n paper; learn how it really works, without the math degree.

Primary LanguageTeXGNU General Public License v3.0GPL-3.0

pocketblock

pocketblock is the barebones form of a new class of teaching-oriented cryptographic primitives called bantamweight cryptography. Bantamweight primitives are scaled-down models of modern cryptographic primitives that preserve the conceptual framework of real-world ciphers without the burden of mathematical complexity. pocketblock is expressed in a visual syntax that centers around the blockwise movement of alphanumeric values within a grid, making it easily committed to memory, easily calculable by mind, and easily implemented by hand -- a handheld algorithm, if you will, easily tucked into one's cebebral pocket.

pockenacci

pockenacci is a simple pocketblock cipher. It's an SPN (Substitution-Permutation Network) that contains an ARX-like (Add, Rotate, XOR, but without the XOR) round function and additive Fibonacci-like key schedule. For simplicity, pockenacci operates on a 6x6 grid of the alphanumeric character set of a-z0-9 (36 characters). The material in this repo implements pockenacci (demo + DIY templates); for a guide to pockenacci, reach out to justin@justintroutman.com.

what's here?

This repository contains a collection of source material (e.g., LaTeX/TikZ/PGF, HTML, CSS, et cetera) that implements the pocketblock cipher pockenacci. The source is prepared with enough verbosity to be easily integrated into an educator's curricula, as well as easily tweaked by the educator with minimal friction.