[{"data":1,"prerenderedAt":367},["ShallowReactive",2],{"project-6427031":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":67,"maker_in_thread":173,"shape":183,"grid":186,"attempts":330,"same_week":331,"maker_shows":30,"maker_hidden":359,"reader_version":360,"card":361},"6427031","tweet-secret","Send Secret Messages over Twitter as Public Tweets","title","Show HN: Send Secret Messages over Twitter as Public Tweets","https:\u002F\u002Fgithub.com\u002Fdpapathanasiou\u002Ftweet-secret","github.com","dpapathanasiou",1379867375,2013,128,60,165,1739,10,"notable","security_privacy","steganography","library",[21,24,25,26],"book cipher","secret messages","clojure","curious",-0.161,{"positive":30,"neutral":31,"mixed":32,"critical":33},3,14,0,8,25,{"idea":36,"design":38,"execution":39,"privacy":41},{"positive":32,"critical":37},7,{"positive":32,"critical":32},{"positive":40,"critical":32},1,{"positive":32,"critical":40},[40,40,32,32,40,30,40,30,30,30,30,30,32,32,43,40,30,30,32,32,32,32,43,43,40,40,30,32,32,30,32,30,30,32,32,30,32,40,32,32],5,null,{"problem":46,"audience":44,"pricing":44,"motivation":56,"time_to_build":44,"stack":60,"openness":65,"stage":66,"team_size":65},{"value":47,"source":48,"evidence":49},"Sending secret messages that look like innocent public tweets","maker",[50,53],{"id":51,"by":11,"text":52},"6427035","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…",{"id":54,"by":11,"text":55},"6427122","The 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…",{"value":57,"source":48,"evidence":58},"Side project for the Lisp in Summer Projects contest",[59],{"id":51,"by":11,"text":52},[61],{"value":62,"source":48,"evidence":63},"Clojure",[64],{"id":51,"by":11,"text":52},"unknown","prototype",{"praise":68,"objections":81,"requests":112,"questions":136,"alternatives":151},[69],{"value":70,"source":71,"evidence":72},"Cool idea and well done","commenter",[73,77],{"id":74,"by":75,"text":76},"6427139","orenmazor","This is so cool. Well Done!",{"id":78,"by":79,"text":80},"6428238","616c","Very impressive stuff, sir. Will check out your work in depth this weekend!",[82,96,102],{"value":83,"source":48,"evidence":84},"Middle dot marker makes messages easy to spot, so it is not real steganography",[85,89,93],{"id":86,"by":87,"text":88},"6427654","brey","Steganography conceals the existence of the message, not just the contents. if David Miranda gets stopped at Heathrow and: ``` On the following morning, the gener·al requested…",{"id":90,"by":91,"text":92},"6427335","andrewcooke","it'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…",{"id":94,"by":11,"text":95},"6428161","Good 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).",{"value":97,"source":71,"evidence":98},"Corpus-based text looks suspicious as random excerpts",[99],{"id":100,"by":87,"text":101},"6428266","even ignoring the middle dot, just picking a more suitable corpus for that person isn't necessarily going to make this technique look innocuous - it's still a collection of…",{"value":103,"source":71,"evidence":104},"Twitter may flag gibberish or repeated quotes as spam",[105,109],{"id":106,"by":107,"text":108},"6427148","drakaal","The big issue I see is that Twitter detects and delete gibberish as spam. So at best case your posts randomly get filtered when you use this. At worst case after posting a bunch…",{"id":110,"by":107,"text":111},"6427258","How do you think Twitter tells the difference between a Bot and a human? I get that they are sentences, but they aren't contextually relevant, they don't look like tweets, they…",[113,121,128],{"value":114,"source":71,"evidence":115},"Replace middle dot with typos or synonym choices",[116,117],{"id":90,"by":91,"text":92},{"id":118,"by":119,"text":120},"6427394","danieldk","Cool! One other fun approach may be to use syntactic transformation (topicalization, middle field ordering, etc.) or lexical variation (e.g. through synonyms):…",{"value":122,"source":71,"evidence":123},"Support public-key encryption",[124],{"id":125,"by":126,"text":127},"6427076","zeckalpha","I 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…",{"value":129,"source":71,"evidence":130},"Use tweets from the user's own corpus or retweets instead of books",[131,132],{"id":90,"by":91,"text":92},{"id":133,"by":134,"text":135},"6428176","akkartik","Another idea: use a corpus of tweets to retweet.",[137,144],{"value":138,"source":71,"evidence":139},"How to find where a hidden message begins and ends in a tweet stream",[140],{"id":141,"by":142,"text":143},"6427437","gpsarakis","Nice project. Considering a stream of tweets how can you find the beginning and the end of a sentence\u002Fmessage?",{"value":145,"source":71,"evidence":146},"Whether the corpus can be reused safely",[147],{"id":148,"by":149,"text":150},"6427461","cbr","For this to be secure (one-time-pad) you can't reuse the corpus. That's a big enough pain that I doubt people will actually do it. Which means you can start decoding their tweets…",[152,159,166],{"value":153,"source":71,"evidence":154},"Plainsight and TweetFS by rw",[155],{"id":156,"by":157,"text":158},"6427525","rw","I wrote a textual steganography library and CLI in 2011, called Plainsight: https:\u002F\u002Fgithub.com\u002Frw\u002Fplainsight Additionally, @workmajj and I wrote TweetFS using Plainsight. It lets…",{"value":160,"source":71,"evidence":161},"scrambls.com",[162],{"id":163,"by":164,"text":165},"6427663","netman21","Or you could use https:\u002F\u002Fscrambls.com\u002F which uses strong crypto and works for facebook or any site. Keeping in mind that any short message protocol is vulnerable to cryptanalysis.",{"value":167,"source":71,"evidence":168},"markovTextStego",[169],{"id":170,"by":171,"text":172},"6428392","hhm","Very nice! I worked on a similar steganographic system (not for tweets though) that you can find here: https:\u002F\u002Fgithub.com\u002Fhmoraldo\u002FmarkovTextStego There you'll find both the…",{"comments":31,"answered":174,"key":175},6,[176,179,182],{"id":177,"text":178},"6428155","The output is a function of the corpus. So if Miranda doesn't usually tweet about the history of Mexico, he can pick other texts (written by him or others) which would sound more…",{"id":180,"text":181},"6428291","I would posit that a stream of non-sequitir tweets is not necessarily suspicious (depending on the person\u002Faccount in question, of course). The classic steganography methods…",{"id":51,"text":52},{"commenters":184,"max_depth":37,"maker_replies":31,"first_comment_mins":40,"lifespan_hours":185},35,20,[187,189,191,192,194,196,199,201,203,205,208,211,214,217,220,222,223,225,227,229,233,235,237,238,239,242,246,247,249,252,254,256,259,262,263,265,269,270,273,274,277,281,283,286,288,291,294,297,299,302,305,306,309,311,312,314,317,319,322,326],[86,32,40,188,87,32],"project\u002Fcritical\u002Fidea",[177,32,32,190,11,40],"maker\u002Fneutral\u002Fidea",[100,32,40,188,87,32],[180,32,32,193,11,40],"commenter\u002Fneutral\u002Fidea",[195,32,32,193,87,32],"6428317",[197,32,32,193,198,32],"6429762","dllthomas",[200,32,40,188,134,32],"6428692",[51,40,32,202,11,40],"project\u002Fneutral\u002Fnone",[125,40,30,204,126,32],"project\u002Fneutral\u002Fidea",[206,40,40,188,207,32],"6427111","coherentpony",[209,40,30,204,210,32],"6427143","a3n",[212,40,32,213,207,32],"6427180","commenter\u002Fpositive\u002Fidea",[215,40,30,204,216,32],"6427345","rhizome",[218,40,30,219,126,32],"6427679","project\u002Fneutral\u002Fdesign",[54,40,32,221,11,40],"maker\u002Fneutral\u002Fdesign",[133,40,30,204,134,32],[224,40,32,190,11,40],"6428269",[226,40,30,204,134,32],"6428301",[228,40,32,190,11,40],"6428323",[230,40,32,231,232,32],"6427205","other\u002Fneutral\u002Fnone","philwebster",[234,40,32,231,126,32],"6427674",[74,40,43,236,75,32],"maker\u002Fpositive\u002Fnone",[90,40,40,188,91,32],[94,40,32,221,11,40],[240,40,30,204,241,32],"6429329","_sh",[243,244,32,231,245,32],"6428553",2,"ctz",[118,30,30,204,119,32],[248,30,32,221,11,40],"6428165",[156,250,32,251,157,32],4,"other\u002Fpositive\u002Fidea",[253,250,32,190,11,40],"6428221",[255,250,32,231,157,32],"6428271",[257,250,32,258,11,40],"6428295","commenter\u002Fneutral\u002Fnone",[260,250,32,258,261,32],"6429588","epaga",[78,250,43,236,79,32],[264,250,30,204,157,32],"6428314",[266,250,43,267,268,32],"6430268","maker\u002Fpositive\u002Fexecution","martinwnet",[106,43,40,188,107,32],[271,43,32,193,272,32],"6427192","cmsmith",[110,43,40,188,107,32],[275,43,30,204,276,32],"6427294","omni",[278,43,32,279,280,32],"6428060","commenter\u002Fcritical\u002Fidea","bolder88",[282,43,32,190,11,40],"6428209",[284,43,32,193,285,32],"6427203","aroman",[287,43,32,279,91,32],"6427330",[289,43,30,204,290,32],"6427540","geocar",[292,43,32,258,293,32],"6427949","wintersFright",[295,43,32,258,296,32],"6430090","ctb_mg",[298,43,30,204,87,32],"6428296",[300,43,30,204,301,32],"6428851","graue",[303,43,32,231,304,32],"6427936","nrivadeneira",[170,174,32,231,171,32],[307,37,32,231,308,32],"6428086","timr",[310,37,32,231,11,40],"6428240",[141,33,30,204,142,32],[313,33,32,190,11,40],"6428175",[163,315,32,316,164,32],9,"other\u002Fneutral\u002Fidea",[148,18,40,318,149,32],"project\u002Fcritical\u002Fprivacy",[320,18,32,321,11,40],"6428194","maker\u002Fneutral\u002Fprivacy",[323,324,32,231,325,32],"6427380",11,"alexharris66",[327,328,32,231,329,32],"6429443",12,"bzalasky",[],[332,337,342,346,351,355],{"id":333,"name":334,"points":335,"category":336},"6415822","UI Concept",388,"dev_tools",{"id":338,"name":339,"points":340,"category":341},"6444027","Drawingboard.js",233,"languages",{"id":343,"name":344,"points":345,"category":336},"6445675","OpenTokRTC",93,{"id":347,"name":348,"points":349,"category":350},"6438925","Clever Routines",88,"productivity",{"id":352,"name":353,"points":354,"category":336},"6444413","Nightcode",68,{"id":356,"name":357,"points":358,"category":341},"6427498","Solid",63,false,"v2",{"id":362,"name":5,"line":6,"ai":359,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":363,"top":18,"kw":364,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":365,"url":9,"mix":366,"praise":70,"objection":83,"sub":21},6427031,-0.16,[21,24,25,26],"1100131333330051330000551130030330030100",[30,31,32,33],1793990897927]