Cryptography and Steganography


Utility which encodes and decodes binary files into five-letter code groups just like secret agents use. Handy for sending small binary messages by telephone, radio, or telegraph.


Quantum mechanics teaches us that, at the deepest level, uncertainty rules the universe: there are things we cannot predict, even in principle. HotBits harnesses this fundamental uncertainty of nature to generate truly random bits, unlike the pseudorandom sequences created by an algorithm on a computer. Along the way, you'll find a discussion of the hardware and software used to generate the random bytes comprehensive enough to build your own, and peek under the hood of quantum mechanics to see why the data are genuinely random, and some of the implications of all this.

JavaScrypt: Browser-Based Cryptography

A collection of Web pages and programs in the JavaScript language perform military-grade encryption (256 bit secret key AES) entirely within your Web browser—you needn't download nor install any software, and nothing is sent to any Web site when you encrypt or decrypt a message. You can download the page source and JavaScript programs to your own computer and use them even when not connected to the Internet. Companion pages provide a text-based steganography facility and key generator suitable for preparing one-time key lists. Please visit the JavaScrypt Home Page for details, or the JavaScrypt Tutorial for an overview of the available facilities.


Command-line utility which computes and checks message digests (digital signatures) generated by the MD5 algorithm as defined by RFC 1321. This program is handy for software installation, file verification, and other system administration shell scripts and Perl programs. Includes complete C source code for Unix and a ready to run Win32 executable. New version 2.0 adds multiple file signature generation (including wildcard expansion in the Win32 version), tagging signatures with file names, and optional lower case letters in hexadecimal output.

The NATO Phonetic Alphabet (In Your Palm)

Airline pilots, military personnel, cops, amateur radio operators, and others who need to accurately transmit sequences of letters and numbers across voice communication links with limited fidelity mostly rely on a phonetic alphabet developed in the 1950's by NATO. This document provides both a Web-based reference to the phonetic alphabet and a version you can download and install on your Palm OS handheld computer.

Onetime Pad Generators

Utilities for generating one-time key or password pads in a variety of formats. Options allow you to select key length, whether digits or letters are used, and whether alphabetic keys are truly random or obey the digraph statistics of English text (less secure, but easier to remember and transcribe). Both a C language program and a Web page with an embedded generator program in JavaScript are available.

Random Sequence Tester

A program for the analysis (not generation) of random and pseudorandom sequences. A variety of tests, including many from Knuth, are applied to the contents of a file and the results reported on standard output. In portable C; public domain. October 1998 update adds frequency histogram display, optional analysis of input as a bitstream, CSV output for postprocessing by other programs, and improved HTML documentation.


Steganosaurus is a plain text steganography (secret writing) utility which encodes a (usually encrypted) binary file as gibberish text, based on either a spelling dictionary or words taken from a text document. In portable C; public domain.

Tools for Online Privacy

It seems like wherever you go on the Internet, there's somebody—governments, big tech companies, Internet service providers, and a multitude of nefarious or just annoying actors—trying to snoop on your activity. Here are some tools, accessible to people without extensive technical experience, which allow you to reclaim some of your privacy and protect your communications from eavesdroppers.