Mnemonic dominic steganography

March 9, 2011

I was reading about the Mnemonic dominic system, which is basically a mapping of the numbers 0-9 onto letters, in the following way:

1 2 3 4 5 6 7 8 9 0
A B C D E S G H N O

This is a surprisingly simple table to memorize, and quite fast.  I was able to reproduce this from memory after only a minute or so.  A-E seem to map to 1-5 very easily, and after that, the number 6 starts with an S, the letter H has common symmetry with the letter 8, 9 starts with an N, and 0 is the same as O.  Only 7 – G seems to be arbitrary — but since it’s the only one, it’s easy to remember.

Using this system, you can convert numbers into mnemonics.  The example given on wikipedia is that Bill Gates and Chuck Norris is equivalent to 27 39.  You can fudge this a bit into a story along the lines of: Bill Gates was round-house kicking Santa Claus when he first landed on the moon = Bill Gates, Chuck Norris, Santa Claus, and Neil Armstrong = 27396391.

Steganography is the practice of hiding information in plain sight.  Examples include everything from using invisible ink to utilizing the unused bits of low-resolution images to store data.  I bet you could use the mnemonic dominic system to hide information, albeit in a very long-winded, tedious way.

This probably isn’t original.  I’m sure someone has thought of this before, but it’s interesting to think about anyway.  The problem is the fuzziness of the process — to build a system for encoding and decoding, we need a way to define how “distant” the chosen words can be from their association.  For example, round house kicking means chuck norris.  Does texas ranger also mean Chuck Norris?  How can we know that without ambiguity?

Also, what do the numbers mean?  They could represent anything, for example ASCII or Unicode characters.  There is also the question of how these encodings would be formatted — presumably these aren’t complicated questions.  The problem seems to be that the efficiency of the system depends on the type of data being “encrypted”.  So, if I wanted to use a newspaper article to store textual data, many words would be required to express only a few letters (if I was using something like ASCII).  So this definitely isn’t a system that compresses.  It explodes.

Maybe that’s okay if we care more about security rather than efficiency.  This system is sort of an analog to the code talkers of world war 2.  Neato.

Again, this probably has no practical purpose.  It’s fun to think about, though.

blog comments powered by Disqus