Bubble Babble

In computing, Bubble Babble is a binary data encoding designed by Antti Huima, used by some cryptographic systems such as SSH. This encoding uses alternation of consonants and vowels to encode binary data to pseudowords that can be pronounced more easily than arbitrary lists of hexadecimal digits. While Bubble Babble is technically a binary encoding, it also acts as a 65,536-digit positional number system with a one-to-one mapping from each five-character sequence to 16 bits of data.
Bubble babble also includes a checksum in its encoding to detect transmission errors, as well as markers for the start and end of a number string. Each two bytes in the input sequence results in the output of five characters and a dash.
According to the original author, the name is a pun which combines the name of a video game classic Bubble Bobble and the fact that the generated text keys can be pronounced but are gibberish, i.e. babbling.
Examples
The original specification for Bubble Babble lists these example test vector encodings. The strings are considered to be ASCII-encoded:
`' (empty string) `xexax'
`1234567890' `xesef-disof-gytuf-katof-movif-baxux'
`Pineapple' `xigak-nyryk-humil-bosek-sonax'
Checksum
According to the specification, each vowel in the output string conveys 0.58 bits of redundant information for every input bit. Therefore, a 1000-word string would have 4640 extra bits of checksum information to detect flipped bits and other data transmission errors.
Possible uses
There may be situations where validated encryption keys are unavailable, and key verification depends entirely on the user comparing the key fingerprint with their recollection of that of the authentic key. If the fingerprint is shown in Bubble Babble encoding, it may be slightly more memorable than the hexadecimal equivalent. This is of course not ideal, but may be a preferable alternative to accepting a key without any checking at all.
 
< Prev   Next >