3 ms·
Whitespace is good, but with Unicode you can do even better by using invisible characters such as ZERO WIDTH SPACE (U+200B) and ZERO WIDTH JOINER (U+200D). I on
by foobuzz 10y ago
Whitespace is good, but with Unicode you can do even better by using invisible characters such as ZERO WIDTH SPACE (U+200B) and ZERO WIDTH JOINER (U+200D). I once made a proof of concept[1] using those two characters. It can converts arbitrary data into invisible text by using U+200B as bit 0 and U+200D as bit 1.
Most platforms (Twitter, Reddit, Hacker News) accepts those characters so you can paste invisible messages there. The illusion falls down as soon as you use a low-level text editor such as vim which marks exotic characters in a specific manner (by displaying their hexadecimal codepoint, as it happens). This is where whitespace can be more powerful, given its mainstream usage.
[1] https://github.com/foobuzz/ium https://github.com/foobuzz/ium
- fredley 10y agoThis is slightly more recognisable though. One of the key things you're trying to achieve with steganography is for an adversary to not even notice you're trying to send a message, and ideally even if they suspect something you have plausible deniability (which may or may not be enough). Steganography in the wild: https://www.youtube.com/watch?v=BgelmcOdS38 https://www.youtube.com/watch?v=BgelmcOdS38