William F. Friedman is a name that might not be familiar to you unless you are a bit of a cryptography nut. Of course, I am a bit of one: I have a couple of long technical notes that were authored by Friedman on the cracking of some complex WWI era ciphers. But I must admit that I’ve barely scratched the surface of a very fascinating man and his career. The following article talks about Friedman’s work on steganography (the hiding of information in plain sight) and its relationship with Bacon’s cipher. Pretty neat stuff, and includes some material I had never seen before.
That’s a fabulous article! It inspired me to try some experiments with huffman coding to see if I could get a reasonably usable code with less redundancy than Bacon’s. I got capitalization, punctuation, and spacing at about 4.5 bits per total character, with a single 38-entry huffman table, but unfortunately that’s about 25% *more* bits than Bacon’s approach that only encodes the letters. Simple huffman with letters only does a little better (4.15 bits per letter) and if we use 26 separate huffman tables — one for the context following each letter — we get down to 3.50 bits per letter. However, those 26 huffman tables aren’t complete, given the source text I used, so some digraphs are impossible to encode; and 676 table entries is a bit unwieldy for manual encoding and decoding.
I have a kragen-hacks post on this queued up for next week. 🙂