4 ms·
This is a side project I've been working on for the Lisp in Summer Projects[1] contest. It's a text steganography app using a simple book cipher, written in Cl
by dpapathanasiou 13y ago
This is a side project I've been working on for the Lisp in Summer Projects[1] contest.
It's a text steganography app using a simple book cipher, written in Clojure.
I welcome any feedback from HN so let me know what you think!
[1] http://lispinsummerprojects.org/ http://lispinsummerprojects.org/
- zeckalpha 13y agoI could see an advertiser making interesting use of this. "Drink more ovaltine!" Have you thought about trying to do a public-key based version? People could list their key in their profile.
- coherentpony 13y agoThe problem there is the 140 char limit.
- a3n 13y agoYou can split a sentence across multiple tweets. V1.1?
- coherentpony 13y agoOh, cool!
- rhizome 13y agoTwitlonger isn't annoying enough?
- zeckalpha 13y agoThe keys would not be transmitted via tweets, just messages.
- dpapathanasiou 13y agoThe ad application is interesting; I hadn't been thinking along those lines at all... I considered using public keys, but I didn't want the resulting encoded tweet to be illegible or look like gibberish. The conceit here is that even a secret message looks completely innocent, something that no eavesdropper would notice as being out of the ordinary (though the middle dot marker does give it away, to people paying attention).
- akkartik 13y agoAnother idea: use a corpus of tweets to retweet.
- dpapathanasiou 13y agoYes, that's the simplest way to make the encoded tweets look natural, i.e., truly steganographic, but it's a fine balancing act between that and not making the corpus obvious.
- akkartik 13y agoIs it a big deal if it's obvious that the corpus is of tweets? There's many many ways to build one and order the tweets, right?
- dpapathanasiou 13y agoThe content of the corpus doesn't matter, so the answer to your first question is no, and yes, if you're clever in terms of how you've composed the corpus so that no one could re-create it easily, then it's ok (relatively speaking, of course).
- philwebster 13y agoFor those who aren't aware, "Drink more Ovaltine" is a reference to the movie A Christmas Story [1]. The boy in the story is excited to decode a message from the Ovaltine fan club using his decoder ring and is let down when the message is just "Be sure to drink your Ovaltine." [2] [1] http://www.imdb.com/title/tt0085334/ http://www.imdb.com/title/tt0085334/ [2] http://en.wikipedia.org/wiki/Secret_decoder_ring#Messages http://en.wikipedia.org/wiki/Secret_decoder_ring#Messages
- zeckalpha 13y agoActually, it predates the movie. https://en.wikipedia.org/wiki/Secret_decoder_ring https://en.wikipedia.org/wiki/Secret_decoder_ring
- orenmazor 13y agoThis is so cool. Well Done!
- andrewcooke 13y agoit's not steganography. the messages have little dots in them - they are very distinctive. it's trivial to find anyone using this. why not use a typo instead? switch the letter at that point to another letter (could be a different one for each sentence). use fuzzy matching (eg locality sensitive hash) to find the correct sentence. and construct the dictionary from previous tweets rather than books. then tweets look like tweets.
- dpapathanasiou 13y agoGood idea about using typos instead of a middle dot marker (TBH, it's not as unobtrusive as I would like, so perhaps it's better to rethink that part of the system).
- _sh 13y agoInstead of using a corpus, why not select tweets from a list of followers and re-tweet them? This would make your encoded messages more like a natural twitter stream. You could curate followers lists to be themed around a subject (tech, gardening) to make them more naturally align with the rest of your twitter stream. Edit: oops, this idea was already mentioned by akkatirk elsewhere in this thread.