12 comments

[ 4.4 ms ] story [ 42.0 ms ] thread
“Plain text” is something of a misnomer here because it’s actually hiding information in the font variations (i.e. it really requires what you might call “rich text” or “styled text”). It’s like a modern update of the Baconian cipher, invented in 1605 by Francis Bacon, which hid binary data in runs of text by alternating the font used.

Here, the idea is that modern techniques permit font variations that are nigh-imperceptible to people, yet carry enough bits to encode payloads. They use machine learning to decode, which is something of a cop-out in my opinion, but I suppose machine learning coupled with a decent error-correction code can be a valid, if somewhat computationally-heavy approach to encoding/decoding data.

Mods, a better title would be, "Hiding information in rendered text"
Next up: encode secret messages by messing up kerning in rendered text. Can only be decoded by comparing to proper kerning.
I remember reading something about this! Not sure if in a novel or on HN though.
In the same vein, you could also do it with variable line heights in digital books, down to pixel differences. At the very base you only need 27 differences to identify each characters right? That could probably be reduced to 5 if you combine with other factors.
This is not new, there are systems dating back to at least the 1980s that do exactly the same thing.
I can tell you many reasons why this is only practicable with printed text. There are much better solutions for anything digital.