Breaking Half of the Telegram Contest
blog.thijsalkema.de
blog.thijsalkema.de
After the whatsapp facebook aquisition many of my friends looked for something different. So they choose Threema and Telegram. Which are both horrible.
Please guys. Use TextSecure [0].
It would be nice if there was actually anything better than Telegram I could recommend to my friends, but there just isn't.
Even if you don't feel iOS devices are trustworthy, as long as it's limited to the Android-only world, it's not going to gain a wide adoption.
https://github.com/WhisperSystems/TextSecure-iOS
They also experiment with alternative currency contributions:
https://whispersystems.org/blog/bithub/
I think what I've never found is a honest description how much exactly we have to trust their server (on various levels, from the security aspects to the uptime aspects), and what would be the possibilities for involving other servers.
The people I communicate with are on iOS where there's no TextSecure client.
But the bit I dislike about TextSecure and whatsapp is that it's based on a phone number bound to the contactlist of your Google Play Android phone. I see a very strong movement towards kik messenger among my peers because usernames are so easy to deal with and share around in semi-public places.
Believe me, I would love to.
But I don't have an Android phone, and even if I did, not all my contacts have one.
The reason WhatsApp is so popular is exactly this, it just works and it works on all mobile platforms.[1]
[1] http://blog.textit.in/your-path-to-a-$16b-exit-build-a-j2me-...
That's really your problem though.
There might be iOS version, but there very likely never will be web version, or FxOS version or desktop version or anything like that.
Which is really sad, because unlike Telegram authors, TextSecure's author is very good with crypto.
[1]: it's a long read: https://github.com/WhisperSystems/TextSecure/issues/127
Threema seems to be using http://nacl.cr.yp.to/ for anything crypto related.
Regardless, if you think that way you can also not trust the TextSecure binary you've downloaded frome the Play Store nor the Android phone you're using.
I guess you've trust someone or start building your own hardware, mobile phone OS and instant messenger and make everyone else use it as well, otherwise there's no one to communicate with. However, those people will be in the same dilemma:can they trust you?
More info: https://bitmessage.org
The idea behind Bitmessage is that messages are fully encrypted (including recipient's address) with per-message random DH key derived from recipient's key. Then message is transmitted to everyone in a p2p network. Every node tries to decrypt the message with its key and if it succeeds - that's the message for them. If not, it passes the message to other nodes. Propagation time is quick, but to prevent DoS, each message goes with an expensive one-time proof-of-work proportional to the message size. Another measure is artificial separation of messages and nodes in "streams" so that message is only propagated within a smaller part of the network. As network grows this will not hurt privacy, but will keep amount of data flowing around in check. Bitmessage in principle is like email (that is checked every few minutes, not seconds) rather than real-time chat. But the idea could be brought to real-time chats too if we solve DoS and bandwidth issues in a different way.
An address looks like this: BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb (this one belongs to an echo server). People who got used to Base58-encoded Bitcoin addresses will find this familiar.
Bitmessage does not do any OTR tricks (I myself do not think OTR is very important), but guarantees anonymous routing probably even better than Tor: every message is routed to everyone randomly without any particular route whatsoever. In addition, protocol can be extended to wrap messages with some random person's key, so you get double-clouded routing.
So, Bitmessage might give you even better tangible privacy over Tor, while not giving any of disputable value of OTR.
PS. Why I think OTR is of little value.
OTR is a trick Alice uses to release signing keys after talking to Bob. Bob can retain the info on his disk and be interrogated, but Alice sort of "proves" that anyone could produce that data, so she's innocent. In other words, OTR is not about hiding any information, but about telling the court that "i was smart, you can't prove it was written by me". Logically OTR makes sense, but without being tested in court (which is not a department of logic) it's worthless. And I believe, when it comes to a trial, your adversaries will have plenty of parallel construction in addition to judge's "common sense" to invalidate any trickery that your might have employed. In other words: if you talked to Bob and his data is taken by NSA, you are doomed, with or without OTR.
EDIT: I meant "deniability" part of OTR. "Perfect forward secrecy" is indeed valuable, but not implemented yet.
The real problem with all of these oh-so-secure-much-better-alternative-chat-apps is that nobody uses them. What's a communication network when there are no communicators? Just a network.
Unless X or Y gets better traction than WhatsApp, you will just be "that guy" who refuses to use WhatsApp and is instead on some novelty app nobody else uses. Though tinfoil insults are passé, they will bring them back just for you.
http://en.wikipedia.org/wiki/Off-the-Record_Messaging
edit: looks like Xabber and ChatSecure both support it on Android.
TextSecure fixed both of these issues but is otherwise based on OTR. You should really look into it.