Edward W. Felten, Direktor des Center for Information Technology Policy an der Princeton University, USA, hat kürzlich allgemein verständlich erklärt, wie Verschlüsselung grundsätzlich funktioniert. Die Übersetzung von Lennart basiert auf dem stetig aktualisierten „Nuts and Bolts of Encryption: A Primer for Policymakers“ (PDF). Der Text steht unter der CC-BY-4.0-Lizenz.
Diese Handreichung bietet eine einfache Einführung in Verschlüsselung, wie sie in modernen Systemen implementiert wird, in einer Detailtiefe, die für politische Diskussionen geeignet ist. Es wird kein Vorwissen zu Verschlüsselung oder Datensicherheit vorausgesetzt.
Verschlüsselung wird in zwei Hauptszenarien verwendet. Verschlüsselte Speicherung ermöglicht, dass Daten auf einem Gerät gespeichert werden – die Verschlüsselung schützt dabei die Daten, sollte ein böswilliger Akteur Zugang zum Gerät erhalten. Verschlüsselte Kommunikation erlaubt es, dass Daten von einem Akteur zu einem anderen übertragen werden können, oft über ein Netzwerk – hier schützt die Verschlüsselung die Daten, sollte ein böswilliger Akteur während der Übertragung Zugang zu ihnen erhalten. Verschlüsselung wird in diesen beiden Szenarien etwas unterschiedlich genutzt, sodass es sinnvoll ist, sie separat zu präsentieren. Wir werden zunächst verschlüsselte Speicher besprechen, weil sie einfacher sind.
Wir betonen, dass die hier beschriebenen Ansätze keine detaillierten Beschreibungen eines bestimmten vorhandenen Systems sind, sondern allgemeine Beschreibungen, wie moderne Systeme typischerweise funktionieren. Jeweilige Produkte und Standards setzen die Details unterschiedlich um, ähneln einander aber im Groben in der hier behandelten Detailtiefe.
Verschlüsselte Speicherung
Angenommen, die Benutzerin Alice möchte Daten auf einem Gerät speichern. Das könnte ein Smartphone in ihrem Besitz sein oder ein von einem Dienstanbieter betriebener Speicherserver. Alice erzeugt einen geheimen Schlüssel, den nur sie kennt, und sie benutzt den geheimen Schlüssel, um die Daten zu verschlüsseln. Die Verschlüsselung schützt die Vertraulichkeit der Daten, sodass ein böswilliger Akteur, der Zugriff auf das Gerät erhält, aber den geheimen Schlüssel nicht kennt, den Inhalt von Alices Daten nicht auslesen kann. Die Verschlüsselung schützt auch die Integrität der Daten, sodass ein böswilliger Akteur, der Zugriff zum Gerät erlangt, aber den geheimen Schlüssel nicht kennt, die Daten nicht verfälschen kann, ohne dass Alice feststellt, dass diese manipuliert wurden.
Die Verschlüsselung auf einem Gerät wie einem Smartphone funktioniert typischerweise wie unten dargestellt. Ein Geräteschlüssel, einzigartig für Alices spezifisches Telefon, ist in das Telefon eingebaut, wenn das Telefon hergestellt wird. Darüber hinaus gibt Alice einen geheimen Passcode ein, wenn sie das Telefon entsperrt. Der Geräteschlüssel und der Passcode werden durch kryptografische Mittel kombiniert, um einen Speicherschlüssel zu erstellen, der zur Verschlüsselung von Daten verwendet wird. Von diesem Zeitpunkt an, wann immer eine App Daten speichern möchte, werden die Daten mit dem Speicherschlüssel verschlüsselt, bevor die Daten im Speicher abgelegt werden. Immer, wenn eine App Daten aus dem Speicher abrufen möchte, werden die Daten entschlüsselt, bevor sie an die App zurückgegeben werden. Wenn das System Daten entschlüsselt, prüft es sie zudem auf Manipulationen.
Weil alle Daten verschlüsselt sind, bevor sie in den Speicher gelegt werden, kann ein böswilliger Akteur, der das Gerät stiehlt, die Daten von Alice nicht wiederherstellen, ohne Alices geheimen Schlüssel zu kennen. Noch kann ein solcher Akteur die Daten von Alice ohne Erkennung manipulieren.
Die Sicherheit der Daten auf dem Gerät hängt letztlich von zwei Schlüsseln ab. Die Verwendung des Geräteschlüssels sorgt dafür, dass Daten nur auf Alices spezifischem Telefon entschlüsselt werden können. Ebenso ist das Telefon in der Regel physisch „gehärtet“, sodass es für einen böswilligen Akteur sehr schwierig ist, den Geräteschlüssel zu extrahieren. Die Verwendung von Alices Passcode stellt sicher, dass Alice ausdrücklich handeln muss – indem sie ihren Passcode eingibt –, um die Entschlüsselung oder die autorisierte Änderung der Daten zu ermöglichen.
Wenn Alice das Telefon sperrt oder wenn das Telefon Strom verliert, werden Alices Passcode und der Speicherschlüssel vom Telefon gelöscht. Zu diesem Zeitpunkt enthält das Telefon nicht mehr die Schlüsselinformationen, die es ermöglichen würden, gespeicherte Informationen wiederherzustellen oder nicht nachweisbar zu manipulieren. Entschlüsselung und Manipulation sind nicht möglich, da der Speicherschlüssel nicht vorhanden ist. Der Speicherschlüssel kann nicht neu erstellt werden, da Alices Passcode nicht vorhanden ist. Nur die Eingabe von Alices Passcode kann die Entschlüsselung und die autorisierte Änderung der Daten wieder gestatten.
Jedoch sind diese Schutzmaßnahmen umsonst, wenn ein bösartiger Akteur den Passcode von Alice erraten kann. In der Praxis wählen Benutzer oft Passcodes, die leicht von einem Computer erraten werden können, der eine große Anzahl von Versuchen sehr schnell ausprobieren kann. Ein sicheres System muss zusätzlich eine Verteidigung gegen die versuchte und wiederholte Eingabe von Passwörtern haben. In der Regel bedeutet dies für das System, dass es eine Verzögerung nach einem fehlgeschlagenen Versuch, den Passcode einzugeben, auferlegt und dass das System komplett stoppt, Passcode-Eingabeversuche nach einer bestimmten Anzahl von Fehlversuchen zu akzeptieren. Dies wird Passcode-Erraten unmöglich machen, es sei denn, Alice wählt einen außergewöhnlich schwachen Passcode wie 0000 oder ihren Geburtstag.
Verschlüsselte Kommunikation
Verschlüsselte Kommunikation funktioniert anders.
Angenommen, zwei Benutzer, Alice und Bob, wollen einander eine Reihe von Nachrichten senden. Sie wollen Verschlüsselung nutzen, um die Vertraulichkeit der Nachrichten zu schützen (sodass niemand sonst den Inhalt der Nachrichten kennen kann) sowie die Integrität der Nachrichten (sodass niemand sonst die Nachrichten manipulieren kann, ohne ertappt zu werden); und sie wollen Verschlüsselung verwenden, um sich gegenseitig zu authentifizieren (sodass beide wissen, dass sie nicht mit einem Betrüger kommunizieren).
Für die verschlüsselte Kommunikation erzeugt jeder Akteur einen Langzeit-Identitätsschlüssel, den er geheim hält. Ein Akteur kann seinen Langzeit-Identitätsschlüssel verwenden, um seine Identität gegenüber anderen Akteuren zu beweisen.
Wie unten dargestellt, arbeitet die verschlüsselte Kommunikation in zwei Phasen. In der ersten Phase, dem Handshake, tauschen die beiden Akteure eine Reihe von speziell konstruierten Nachrichten aus. Wenn alles gut geht, hat der erste Handshake zwei Ergebnisse: Jeder Akteur bekommt die Bestätigung der Identität des anderen (das heißt, der andere Akteur ist die echte Alice oder der echte Bob und kein Betrüger), und Alice und Bob vereinbaren einen geheimen Sitzungsschlüssel, der nur den beiden bekannt ist. Die Details, wie das erste Handshake-Verfahren diese Ergebnisse erhält, sind komplex, aber nicht direkt relevant für die grundsätzliche Diskussion.
Nachdem der erste Handshake abgeschlossen ist, können Alice und Bob fortfahren, einander Nachrichten zu senden. Wenn Alice eine Nachricht an Bob senden möchte, verschlüsselt sie diese Nachricht mit dem Sitzungsschlüssel und sendet die resultierenden verschlüsselten Daten an Bob. Bob verwendet den Sitzungsschlüssel, um die Nachricht zu entschlüsseln, wodurch die ursprüngliche Nachricht wiederhergestellt wird. Dies bestätigt, dass es keine Manipulation gab, während die Nachricht übertragen wurde.
Verschlüsselte Kommunikationssysteme verwenden verschiedene kryptographische Schlüssel für verschiedene Zwecke. Jeder Akteur hat einen Langzeit-Identitätsschlüssel, der in der ersten Handshake-Phase verwendet wird, um die Identität des Akteurs zu authentifizieren und einen ersten Sitzungsschlüssel zu verhandeln. Wenn ein böswilliger Akteur den langfristigen Identitätsschlüssel von Alice herausfindet, würde dies dem Akteur erlauben, sich in Zukunft als Alice auszugeben. Aber es würde keine Entschlüsselung oder Manipulationen von Nachrichten ermöglichen, die in einer nicht-gefälschten Sitzung gesendet wurden.
Sitzungsschlüssel werden verwendet, um einzelne Nachrichten zu schützen, die zwischen den beiden Akteuren hin und her gehen. Wenn ein böswilliger Akteur einen Sitzungsschlüssel herausfindet, kann der böswillige Teilnehmer die mit diesem Sitzungsschlüssel verschlüsselten Nachrichten entschlüsseln oder manipulieren. Es ist üblich, dass Systeme häufig auf neue Sitzungsschlüssel umschalten, um den Schaden zu begrenzen, der aus dem Verlust eines bestimmten Sitzungsschlüssels resultieren könnte. Viele Systeme wechseln zu einem neuen Sitzungsschlüssel für jede Nachricht, sodass der Verlust eines Sitzungsschlüssels nur eine einzige Nachricht kompromittiert. Sobald ein neuer Sitzungsschlüssel gewählt wurde, werden alle Kopien des alten Sitzungsschlüssels gelöscht.
Bei verschlüsselter Kommunikation hängen die Konsequenzen, die daraus erwachsen, wenn ein böswilliger Akteur Zugang zu einem geheimen Schlüssel erhält, davon ab, welcher Schlüssel kompromittiert wird. Ein böswilliger Akteur, der irgendwie Zugang zu einem langfristigen Identitätsschlüssel eines anderen Akteurs erhält, wird in der Lage sein, sich in Zukunft als dieser Akteur auszugeben. Er wird aber nicht in der Lage sein, alte Nachrichten zu entschlüsseln. Ein böswilliger Akteur, die irgendwie Zugriff auf einen Sitzungsschlüssel hat, kann alle Nachrichten entschlüsseln, die mit diesem Sitzungsschlüssel verschlüsselt wurden. Er wird aber nicht in der Lage sein, Nachrichten zu entschlüsseln, die mit älteren oder neueren Sitzungsschlüsseln gesendet wurden. Ebenso wird er nicht in der Lage sein, sich als jemand auszugeben, der er nicht ist. Die Verwendung mehrerer Schlüssel und die Praxis des Wechselns von Sitzungsschlüsseln beschränkt häufig den Schaden, der daraus resultiert, wenn ein bestimmter Schlüssel kompromittiert wurde.
Diskussion: Gemeinsame Stränge in modernen Verschlüsselungspraktiken
Mehrere gemeinsame Diskussionsstränge ziehen sich durch das Design moderner Verschlüsselungsanwendungen:
- Verschlüsselung erfüllt mehr, als nur Geheimnisse geheimzuhalten. Neben dem Schutz der Vertraulichkeit der Daten schützt sie die Integrität und ermöglicht die Erkennung von unberechtigten Versuchen, die Daten zu manipulieren. In einigen Anwendungen ist die Integrität der Hauptgrund für die Verschlüsselung.
- Verschlüsselte Kommunikation erfüllt mehr, als nur die Nachricht selbst vor Entschlüsselung oder Manipulation zu schützen. Sie erlaubt auch den beiden Akteuren, die miteinander kommunizieren, gegenseitig ihre Identitäten zu authentifizieren. In einigen Anwendungen ist die Authentifizierung der Identität und der Quelle der Nachrichten der Hauptgrund für Verschlüsselung.
- Informationen werden oft durch das Löschen aller Kopien des Schlüssels geschützt, der verwendet wurde, um die Informationen zu verschlüsseln. Im verschlüsselten Speicher werden der Speicherschlüssel und der Passcode von Alice gelöscht, wenn das Gerät gesperrt ist. Dadurch wird sichergestellt, dass ein böswilliger Akteur die Daten nicht entschlüsseln kann, während das Gerät gesperrt ist und er vollen Zugriff darauf hat. In der verschlüsselten Kommunikation wird der Sitzungsschlüssel gelöscht, der zum Verschlüsseln einer Nachricht verwendet wurde, sobald die Nachricht vom Empfänger entschlüsselt worden ist. So wird sichergestellt, dass ein böswilliger Akteur, der die verschlüsselte Kommunikation aufgezeichnet hat, keinen Erfolg dabei hat, den zur Entschlüsselung notwendigen Schlüssel zu erhalten.
Es ist kein Zufall, dass die Enigma nach dem Aufklappen des Deckels aussieht wie ein Papiershredder. Es geht darum, Informationen zu zerhacken also zu zerstören. Genausogut kann man ein Blatt auch in den Reißwolf schieben. In beiden Fällen wird der Personenkreis der es noch lesen kann verkleinert. Vernichtung von Informationen ist die perfekte Verschlüsselung weil man damit den Empfängerkreis auf 0 reduziert.
Aber, ist es überhaupt aus informationstheoretischer Sicht möglich, Informationen zu löschen?` Man stelle sich nurmal vor, man möchte sein Facebook Profil löschen. Ein Journalist hat das mal versucht, mit dem Ergebnis dass seine Daten „entlinkt“ wurden, wie es so schön heißt, das ist jedoch etwas anderes als löschen.
„Es ist kein Zufall, dass die Enigma nach dem Aufklappen des Deckels aussieht wie ein Papiershredder. Es geht darum, Informationen zu zerhacken also zu zerstören. […] Vernichtung von Informationen ist die perfekte Verschlüsselung weil man damit den Empfängerkreis auf 0 reduziert.“
Mit Verlaub, aber da hat es mich jetzt sehr geschüttelt. Die Information wird ja eben nicht zerstört. Wenn du deine Festplatte nach /dev/null schiebst, hat das nichts mit Verschlüsselung zu tun. Die Enigma sieht so aus wie sie es tut (Walzen), weil so die Parameter für die Permutation/Substitution eingestellt werden.
„Aber, ist es überhaupt aus informationstheoretischer Sicht möglich, Informationen zu löschen?“
Zur Frage was Information ist: Claude E. Shannon: A mathematical theory of communication. 1948.
http://worrydream.com/refs/Shannon%20-%20A%20Mathematical%20Theory%20of%20Communication.pdf
Als „gelöscht“ kann man Information dann ansehen, wenn sie sich in thermodynamisches/zufälliges Rauschen verwandelt hat. Verschlüsselte Daten sehen aber genau so aus.
„Ein Journalist hat das mal versucht, mit dem Ergebnis dass seine Daten „entlinkt“ wurden, wie es so schön heißt, das ist jedoch etwas anderes als löschen.“
Beim „Löschen“ einer Datei entfernt man normalerweise nur den Eintrag auf die Daten im Dateisystem, da dies die Performance sehr erhöht. Statt die Daten zu überschreiben (Schreiben ist langsam) markiert man nur den Speicherbereich als frei. Wenn man neue Daten schreiben möchte, wird dieser freie Bereich reserviert und dann werden die ursprünglichen Daten überschrieben.
https://de.wikipedia.org/wiki/Dateisystem
Wenn man die Daten überschreiben möchte, dann kann man z.B. dd oder shred nehmen. Je nach Speichermedium kann das aber auch nicht effektiv sein, denn z.B. Flash-Speicher verwendet Wear-Leveling um Speicherzellen zu schonen. Zudem kann man mit ausreichend Messtechnik auch auf Festplatten/Magnetspeichern mit gewisser Wahrscheinlichkeit herausfinden, was darauf vorher gespeichert war, z.B. wenn eine Festplatte nur genullt wird.
https://de.wikipedia.org/wiki/Solid-State-Drive#Wear-leveling
Ihr könnt gerne auch auf meine (wie ich finde nicht so technische Erklärung) verlinken: https://pgpfueralle.wordpress.com Bei Fragen stehe ich gerne zur Verfügung. Meinen öffentlichen Schlüssel gibt es auf Anfrage gerne von meiner Website :-)
finde ich auch gut erklärt:
https://ssd.eff.org/en/module/how-use-pgp-mac-os-x
Der einzige, der die Verschlüsselung gut
erklären konnte, ist Wau Holland…
Da gibt es einen sehr schönen Podcast zu.
Oft ist schon der Ansatz der Erklärung ungeeignet.
Da Konzept hat sich erledigt.
Was soll das bringen wenn bei den Rechnern auf der anderen Seite das Scheunentor offen ist ?
Und die Geheimdienste wahren den Schafen wieder ein paar Schritte voraus !
Das ist der Grund, dass die Cryptounit bei professionellen Systemen meist nur über eine dumme serielle Schnittstelle mit dem Übertragungssystem (z.B. Smartphone oder Funkgerät) kommuniziert. An der Verschlüsselungseinheit selbst ist ein LC-Display und eine Tastatur. Die komplette Eingabe und Verschlüsselung passiert an der Cryptounit selbst, das Smartphone sieht nie den Klartext, ein brechen der Platform hätte also für einen potentiellen Angreifer keinen Nutzen.
Man hat das früher oft bei Cryptophones gesehen, die haben eine eigene Tastatur + LC Display für verschlüsselte Nachrichten. Das Smartphonebetriebssystem wird als reines unsicheres Transportmedium gesehen.
Die günstige Lösung für daheim sind zwei Smartphones über Bluetooth oder RS232 gekoppelt. Das eine Smartphone (unsicher) ist Online das andere komplett Offline (sicher). Die Eingabe, Verschlüsselung und Ausgabe findet nur auf dem Offline Smartphone statt. Um eine Nachricht zu verschicken oder zu empfangen wird diese verschlüsselt über die Serielle Strecke transportiert. Das Protokoll auf dieser Strecke ist so dumm, dass es keine Angriffspunkte gibt / eine unauthorisierte Kommunikation sehr leicht festzustellen wäre.
Ich finde den Teil über Identitätsschlüssel und Sitzungsschlüssel zu kompliziert geschrieben.. Es wird nicht klar, warum ein Sitzungsschlüssel verhandelt wird und wie die Identitätsschlüssel die authentifizierung ermöglichen. Hier sollte man gute Metaphern finden, wie z.B. mit Brief und Siegeln, Wasserzeichenpapier Unterschriften u.s.w., die einfach verständlich sind!
Folgendes ist faktisch falsch:
„Jeder Akteur hat einen Langzeit-Identitätsschlüssel, der in der ersten Handshake-Phase verwendet wird, um die Identität des Akteurs zu authentifizieren und einen ersten Sitzungsschlüssel zu verhandeln. Wenn ein böswilliger Akteur den langfristigen Identitätsschlüssel von Alice herausfindet, würde dies dem Akteur erlauben, sich in Zukunft als Alice auszugeben. Aber es würde keine Entschlüsselung oder Manipulationen von Nachrichten ermöglichen, die in einer nicht-gefälschten Sitzung gesendet wurden.“
Hier wird der RSA Key Exchange beschrieben, wie er bei einer Mehrzahl der TLS Verbindungen verwendet wird. Dabei erzeugt einer der Alice einen zufälligen Sitzungsschlüssel, verschlüsselt ihn mit dem öffentlichen Teil des Identitätsschlüssel von Bob und sendet diesen verschlüsselten Sitzungsschlüssel an Bob welcher ihn mit dem privaten Teil privaten seines Identitätsschlüssel entschlüsseln kann. Damit haben beide Teilnehmer den selben Sitzungsschlüssel, ohne dass dieser jemals über die unsichere Verbindung unverschlüsselt übertragen wurde! Das Problem dabei ist jedoch, dass wenn Bobs privater Identitätsschlüssel verloren geht und dieser Eve in die Hände fällt, Eve sämtliche Kommunikation die sie verschlüsselt aufgenommen hat jetzt entschlüsseln kann, da sie die jeweiligen Sitzungsschlüssel die Alice an Bob verschlüsselt gesendet hat ja ebenfalls entschlüsseln kann, da sie ja den privaten Schlüssel von Bob hat!
Das kann man ganz einfach ausprobieren, indem man einfach eine X beliebige TLS Verbindung die den RSA key exchange nutzt in Wireshark öffnet und dann über das Menü den private key des TLS Servers läd. Auf „magische“ Weise ist der komplette TLS Dialog nun im Klartext lesbar!
Echte „perfect forward secrecy“ PFS hat man nur, wenn man einen Schlüsselaustauchmechanismus wie Diffie-Hellman verwendet!! Denn hier ist der Schlüssel wirklich nur temporär und nach der Kommunikation nicht mehr reproduzierbar! Der Austauschmechanismus ist so simpel wie genial und mit einer sehr guten Farbtopf Metapher im englischen Wikipedia Artikel beschrieben: https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange#General_overview
Takeaway: Bei RSA Key Exchange muss der Angreifer nur 1x an den privaten Schlüssel der kontaktierten Partei kommen und kann damit sämtliche vergangene wie zukünftige Kommunikation entschlüsseln! Bei Diffie-Hellmann ist ein konstanter auf eines der Systeme nötig / oder es muss ein dauerhafter aktiver man-in-the-middle Angriff gefahren werden um sämtliche Kommunikation zu entschlüsseln!
Ja, Alice und Bob sind die long distance runner der Kryptologen. Seit Jahrzehnten.
Wen die beiden z.B. ihre E-Mail-Verkehre verschlüsseln wollen, dann geht das recht einfach. Aber die praktischen Probleme sind komplexer:
– was macht man, wenn Alice mit einer Organisation verschlüsseln will und nicht nur mit Bob? Poststelle? Und dann unverschlüsselt in der Organisation? Womöglich noch dann deren Infrastruktur in der Cloud und Texte unverschlüsselt irgendwo?
– seit 1998 habe ich in Thunderbird S/MIME. Kostenloses X/509-Zertifikat. Problemlos auf verschiedenen Plattformen (AIX, Windows, MacOS, iOS, etc. migrierbar inkl. verschlüsselter Mailbox. Aber es nutzt kaum keiner.
– PGP ist in der Handhabung grottig und Punkt-zu-Punkt. Und die Bastelein, die Google gerade macht haben noch ein anderes Problem: Was macht ich bei webbasierter Mail? Den Private Key beim Mailprovider ablegen?
– die Sicherheit der Algorithmen: die Nerds weinen immer, aber das führte z.B. bei dem ganzen Signaturgeschäft (inkl. MailTrusT) dass man RIPE-MD als besonders sicher einführte, dann aber bei S/MIME in MailTrusT V2 nicht unterstützt wurde. Was die Lösung in den Jordan führte. Bei der NSA wissen wir nicht, ob die in ihrem neuen Rechenzetrum auch AES knacken können.
– bei DES von Cisco mussten wir vor ein paar Jahren sehen, dass nicht alle 32 Bit für den Key verwendet wurden, was eine Entschlüsselung mit Brute Force dramatisch billiger machte.
– vor zwanzig Jahren gab es Exportverbote für Verschlüsselungstechnologie. Mir hat mal die US-Regierung Mitte der 1990er mitgeteilt, dass es nicht im Interesse der nationalen Sicherheit der USA läge, wenn eine bestimmte deutsche Landespolizei eine Exportgenehmigung für TripleDES bekäme, nach dem als BruteForce-Preis für eine Entschlüsselung 500.000 DM für einen Linuxcluster genannt wurde, um DES in einer Woche zu entschlüsseln, was dieser Polizei zu riskant war
Kurz: trotz 30 Jahren Internet in Deutschland hat sich Verschlüsselung pragmatisch nicht durchgesetzt. Was lohnt da eine erneute Einführung in Allgemeinheiten, die wir schon vor 20 Jahren diskutiert haben? Wäre es nicht Zeit für größere Schritte oder sollen wir es lieber gleich ganz lassen?
Oder wir sprechen einfach nur über die kulturgeschichtlichen Aspek´te, z.B. wie Alan Turing die Enigma knackte und als Lohn dafür von seinem Vaterland wegen seiner Homosexualität in den Tod getrieben wurde (wenn man annimmt, dass er den Zyankali-vergifteten Apfel an seinem Bett nicht aus versehen angeknabbert hat, wo man sagt, da hätte Steve Jobbs sein Logo für Apple her). Ich fand den Film The Imitation Game mit Benedict Cumberbatch als Alan Turing auch ganz toll. Aber deswegen wird nicht mehr verschlüsselt, oder?
http://wk-blog.wolfgang-ksoll.de/2015/05/15/alan-turing/