17 June 2017

Typing Secrets in the Open

Garbage out. Garbage in. Plaintext out.

I’ve been keeping a daily journal for quite a while now - 8 or so years? I started using OhLife, which was email-based, then when that shut down I moved to plain-old-Markdown files stored in a TrueCrypt (and now VeraCrypt) container… thing.

One thing I had never really done was journal in public, because that would mean anyone could just read whatever I wrote. If I had to, I’d try and put my back to a wall, and close the window whenever anyone got near. Earlier this week, though, I found myself with some time to go before a flight and wondered if there were a way I could actually write at the gate, in the open, without anyone being able to tell what I was writing.

I realised that I actually could, and that the method was really simple too.

Something I’d done a few years ago was switch over to using Colemak instead of QWERTY; I can touch type in it, too. If I were to switch my keyboard layout back into QWERTY but keep typing as if I were using Colemak, the result would be seemingly gibberish to anyone looking - I’d just need to convert the text back later. The same technique would work with any alternative keyboard layout with enough keys that differ from QWERTY, like Dvorak: it’s effectively a simple substitution cipher, though instead of writing plaintext and encoding it, you just write the ciphertext directly.

I wrote my entry, then worked on a tool to decode it. So here’s ColemakConverter.

It:

Could it be more efficient? Sure. Safer? Definitely. More general, with a file used to define the character mapping, so it’s not just hardcoded for QWERTY and Colemak? Yeah. But this seems so incredibly niche that I doubt there’s actually any demand for it.

But if I’m wrong, feel free to file an issue or submit a pull request!