Und wenn der Client nicht offen ist, dann kann man doch nicht einmal prüfen, ob tatsächlich NaCl genutzt wird, oder liege ich da falsch?
Ja, da liegst du falsch, so eine Überprüfung ist nämlich möglich.
Hier die Version für Android:
Okay, das Verfahren ist wie folgt: Du loggst die Datenpakete, die Threema sendet und empfängt mit, wenn du das direkt am Gerät machst geht das trotz SSL-Verbindung.
Dann nimmst du eine verschlüsselte Nachricht aus diesen Paketen heraus.
Als nächstes machst du ein ID-Backup. Da dieses mit deiner Passphrase AES-256 verschlüsselt ist, kannst du es mit derselben entschlüsseln und hast deinen privaten Schlüssel.
Nun lädst du dir NaCl und versuchst, diese Nachricht mit dem privaten Schlüssel zu entschlüsseln. Gelingt dies mit Erfolg, kannst du dir sicher sein, dass Threema diese Bibliothek verwendet.
Für die iOS - Version bietet threema eine Anleitung dazu, die aber nicht ganz so sicher ist, wie die vorher beschriebene (Stichwort gefälschte Logfiles):
https://threema.ch/validation/
Und das Ganze ist im Vergleich zu einer kompletten Quellcode-Überprüfung ja geradezu deppensicher, wenn natürlich trotzdem zu kompliziert für den Normalanwender.
Ganz einfach überprüfen lässt sich dafür, ob die NaCl-Bibliothek überhaupt in die App eingebaut ist. Hier nimmt man die Android apk Datei, extrahiert sie und schaut in den Ordner für externe Bibliotheken.
Genaue Analysen haben auch zB Jan Ahrens (
http://blog.jan-ahrens.eu/2014/03/22/threema-protocol-analysis.html) sowie der Twitter - User @netzblume durchgeführt.
Dass Threema unter iOS immer noch so träge ist, wusste ich nicht. Wird denn beim Öffnen eines Chats der gesamte Verlauf geladen?
Und das die Medien das etwas verzerren ist mir klar, da stimme ich dir auch zu. Würde ja auch Cryptocat, ChatSecure und Ähnliche verwenden, wären sie nur annähernd so bedienerfreundlich wie Threema bzw WhatsApp. Da lässt sich nun mal niemand dafür zu überzeugen.