In diesem Artikel wollen wir die Frage klären: Was ist Kryptographie? Kryptographie bietet Verschlüsselungsverfahren für unseren digitalen Alltag. Als Zweig der Informatik (genauer: Informationssicherheit) und Mathematik schützt sie uns vor Hackern in Bitcoin und anderen Kryptowährungen sowie beim Versand von SMS und Online-Banking.
Kryptographie & Bitcoin – Was ist Kryptographie und warum ist sie uns wichtig?
Es gibt Leute, die von Bitcoin oder der Blockchain gehört haben und zynische Bemerkungen machen. Für sie ist die Blockchain nichts anderes als eine einfache Datenbank, so etwas wie eine Excel-Tabelle für Nerds. Und wie soll eine Excel-Tabelle etwas Besonderes sein?
In diesen zynischen Bemerkungen gibt es einen weit verbreiteten Trugschluss über Blockchain: Es handelt sich nicht um eine „einfache Datenbank“ oder Excel-Tabelle. Vielmehr handelt es sich um einen kryptographisch gesicherten Hochsicherheitstresor, der von Millionen von Wachleuten auf der ganzen Welt geschützt wird. Um Zugang zu diesem Tresor zu erhalten, müssen Sie die Regeln für diesen Tresor befolgen – sogar ein Einbruch bei Fort Knox könnte einfacher sein, als in die Bitcoin-Blockchain einzubrechen.
Die Guardians sind die Millionen von Computern weltweit, auf denen die Bitcoin-Software ausgeführt wird. Dieses Beispiel gilt natürlich nicht nur für Bitcoin sondern auch für alle anderen dezentralen Kryptowährungen.
Kryptographie ist eine alte Wissenschaft, die Mathematik verwendet. Es stellt sicher, dass niemand auf die Bitcoin-Reserven einer anderen Person zugreifen kann oder Transaktionen gefälscht werden können. Aber wie ist das mit reiner Informatik und Mathematik möglich? Wie kann ich ein Programm schreiben, das böswillige Hacker ausschließt und so etwas wie ein digitaler Tresor wird? Hier kommt die Macht der Kryptographie zum Tragen.
Die Geschichte der Kryptographie
Zusammengesetzt aus den altgriechischen „Kryptós“ (zu Deutsch: „versteckt“ / „geheim“) und „gráphein“ (zu Deutsch: „schreiben“) beschreibt sie die Wissenschaft der Verschlüsselung. Neben dieser Wissenschaft bezieht sie sich heute auch auf ein ganzes Feld der IT-Sicherheit, das sich mit dem Schutz von Computern, Netzwerken und anderen Systemen beschäftigt.
Grob lässt sich die Geschichte dieser Wissenschaft in zwei Epochen einteilen: die Zeit vor der Entwicklung des Computers und die Zeit danach. Der Einfluss der Rechenleistung auf diesen Wissenschaftsbereich war so groß, dass er alte Methoden obsolet machte und ein Umdenken der Wissenschaftler erforderte. Warum das so war, wird im folgenden Text verraten.
Gleichzeitig begann mit der Entwicklung der Schrift das Problem, das zum Kern der Kryptographie werden sollte: Auch andere Menschen können die (wichtige) Botschaft lesen. Wollte ein Herrscher einen anderen über bevorstehende Militäreinsätze informieren, konnten alle Beteiligten die Nachricht lesen: der erste Herrscher, der Bote, der Wegelagerer, die Spione und schließlich der zweite Herrscher.
Im besten Fall sollten nur der Absender und der Empfänger der Nachricht die Nachricht lesen können. Dies ist eigentlich immer noch eine Grundvoraussetzung für ein gutes kryptographisches System.
Ein historisches Beispiel für Kryptografie
Die ersten Kryptografen hatten die Idee, den Text einfach zu ändern. Wie der Text geändert wurde, wurde dann heimlich mit dem Empfänger abgestimmt. Aber wie soll man das machen? Als gängiges Beispiel wird die sogenannte Caesar-Verschlüsselung angesprochen. Verschlüsselung beschreibt den Vorgang, einen Quelltext mit einem sogenannten Schlüssel zu ändern, um einen verschlüsselten Text zu erhalten. In der Kryptographie „Chiffre“ werden verschlüsselte Texte verwendet.
Die Caesar-Verschlüsselung besteht aus zwei Alphabeten, die zusammen eine Chiffre ergeben sollen. Wenn ein römischer General eine Nachricht senden wollte, erstellte er eine Tabelle mit dem normalen Alphabet und dem geheimen Alphabet.
Wollte der General eine verschlüsselte Nachricht senden, schaute er sich an, welcher Buchstabe welchen anderen darstellt und generierte eine Chiffre, die sonst niemand lesen konnte. So aus der ursprünglichen Nachricht:
- Roma invicta
Mit einer einfachen Verschiebung des Alphabets:
- Vsqe mrzmgxe
Dem aufmerksamen Leser werden sicherlich schon Schwächen bei diesem Verschlüsselungsverfahren aufgefallen sein. Es ist beispielsweise zu erkennen, dass sich der Buchstabe „m“ an einer bestimmten Stelle wiederholt. Außerdem ist die Quellchiffre genau so lang wie der Quellcode. Wenn es Ihnen Spaß macht, können Sie herausfinden, um wie viele Stellen das Alphabet in unserem Beispiel verschoben wurde, um diese Chiffre zu generieren. Jeder kann seinen Tipp mit einem überprüfen Online-Generator .
Im obigen Beispiel haben wir bereits zwei wichtige Begriffe für die Kryptographie geklärt: den Quellcode und die Chiffre. Aber was war der Verschlüsselungsschlüssel, der in unserem Beispiel verwendet wurde? Tatsächlich war es die Zahl „4“, weil das ursprüngliche Alphabet um genau vier Stellen verschoben war und mit diesem verschobenen Alphabet die Nachricht „verschlüsselt“ wurde.
Verschlüsselungsverfahren, die nur einen Schlüssel zum Ver- und Entschlüsseln benötigen, werden als „symmetrische Verschlüsselungsverfahren“ bezeichnet. Die erwähnte Caesar-Verschlüsselung ist eine solche Methode. Wir können uns symmetrische Verschlüsselungsverfahren vorstellen, wie zum Beispiel eine Truhe mit einem Schloss: Es gibt nur ein Schloss und es gibt nur einen Schlüssel. Wenn zwei Personen dieselbe Truhe öffnen möchten, müssen sie denselben Schlüssel verwenden.
Moderne Kryptographie
Bis zum Zweiten Weltkrieg entwickelten sich Verschlüsselungsverfahren ständig weiter. Mit dem Aufkommen der Telegrafenmasten und des Funkverkehrs gab es erste elektronische Übertragungs- und Verschlüsselungsverfahren, die jedoch noch zu den früheren Epochen gehören. Die Gründe dafür sind, dass Verschlüsselungsverfahren geheim gehalten wurden (was sich in den Folgejahren ändern sollte) und mit ausreichend Rechenaufwand noch zu knacken waren. Auch die deutsche Verschlüsselungsmaschine „Enigma“, die auf deutschen U-Booten zum Einsatz kam, wurde während des Krieges mehrfach geknackt. Sie benutzte ein schreibmaschinenähnliches Gerät und verschlüsselte einen Text mit quasi-zufälligen Stromflüssen in eine Chiffre.
In den späten 1940er Jahren wurden die ersten wissenschaftlichen Forschungen zur Verschlüsselung veröffentlicht, die jedermann sicher zugänglich gemacht werden konnten. Während dieser Zeit wurde der Anspruch erhoben, dass das Wissen um die Funktionsweise einer Verschlüsselung deren Sicherheit nicht beeinträchtigen sollte. Als Computer in der wissenschaftlichen Welt eingesetzt wurden, brach die Ära der modernen Kryptographie endgültig an.
Rechenleistung und bessere Kommunikation rund um den Globus brachten neue Kryptographieprobleme mit sich. So könnte die Rechenleistung genutzt werden, um Verschlüsselungssysteme zu knacken – mit einer Geschwindigkeit, die ein Mensch nie erreichen könnte. Das Knacken von Verschlüsselungssystemen beruhte und basiert hauptsächlich auf der sogenannten „Brute-Force“-Methode. Es beschreibt das bloße Ausprobieren von Möglichkeiten, bis irgendwann der gesuchte Schlüssel gefunden wurde. Im Beispiel der Caesar-Verschlüsselung hätte der Computer alle möglichen Verschiebungen ausprobieren können, bis die Chiffre wieder dem Originaltext „Roma invicta“ entspricht.
Durch die weltweit bessere Kommunikation in Verbindung mit der Rechenleistung war es nicht mehr sinnvoll, Verschlüsselungsverfahren geheim zu halten. Dieses Geheimhaltungs-Sicherheitskonzept hieß Sicherheit durch Dunkelheit und fand in der modernen Kryptographie ein Ende. Wäre ein Verschlüsselungsverfahren geknackt worden, hätte die Schwachstelle schnell weitergegeben werden können. Man musste also ein Verschlüsselungsverfahren entwickeln, das auf absehbare Zeit mathematisch einfach nicht zu knacken war.
Moderne Kryptosysteme gehen viel weiter als die einfache Caesar-Verschlüsselung. Sie nutzen die Erkenntnisse der Mathematik, um Nachrichten in Zahlen zu übertragen, zu hacken, Anfang und Ende zu vertauschen und verwenden immense Zahlen, die für normale Computer zu teuer sind, um sie zu berechnen.
Symmetrische Verschlüsselung am Beispiel des AES
Advanced Encryption Standard (AES) ist ein 1998 erstmals eingeführtes symmetrisches Kryptosystem. Heute sichert AES IP-Anrufe, Wi-Fi-Netzwerke und darf in den USA sogar Hochsicherheitsdokumente auf Bundesstaatsebene verschlüsseln.
AES im Detail zu erklären würde eine Reihe von Artikeln füllen, daher konzentrieren wir uns auf die Kernpunkte von AES:
- Hat einen Schlüssel als symmetrisches Verschlüsselungssystem
- Vielseitig einsetzbar
- Hack and Move Teile des Codes in der Verschlüsselung um noch sicherer zu sein
- Ist erst knackbar bis heute
- Kann eine Schlüssellänge von bis zu 256 Bit verwenden
Der letzte Punkt bedarf einer Erklärung. Im Beispiel der Caesar-Verschlüsselung wurde noch ein relativ kleiner Schlüssel zur Verschlüsselung verwendet. Im Laufe der Jahre der modernen Kryptographieentwicklung wurden Schlüssel generiert, die viel größer als eine oder hundert oder eine Million Stellen sind. 256-Bit bedeutet in der Alltagssprache, dass der Schlüssel eine Länge von 256 Nullen und Einsen hat. Es mag ungewöhnlich klingen, aber alle Daten, die vor einem Computer verarbeitet werden, werden immer in Nullen und Einsen umgewandelt und dann wieder in den Normalzustand umgewandelt.
Die pure Magie hinter der Kryptographie kommt zum Vorschein, wenn wir uns vorstellen, dass ein Hacker den Schlüssel für einen eben verschlüsselten Text ergaunern will. Du müsstest sterben oben bereits gekennzeichnete Technik des Durchprobierens, des Brute-Force, anwenden.
Als erstes stellen wir fest, wie viele mögliche Kombinationen ein 256-bit Schlüssel haben can, das sind:
2 hoch 256 Möglichkeiten, da jede Stelle zwei Möglichkeiten hat (Null und Eins) und der Schlüssel insgesamt 256 Stellen hat.
Klingelt klein? Das Universum hat nach aktuellen Schätzungen eine Anzahl von 10 hoch 78 Atomen. Die Möglichkeiten verschiedener AES 256-bit zwischen 8 und 9 Mal größer als die Anzahl der Atome im Universum!
Doch das ist nicht alles! Der schnellste Supercomputer der Welt, Tianhe-2, bräuchte zum Knacken einer AES-Verschlüsselung mehrere Millionen Jahre.
Asymmetrische Verschlüsselung am Beispiel von RSA
Neben der symmetrischen Verschlüsselung, is also auch asymmetrische Kryptosysteme. This Methoden macht es möglich, dass der Schlüssel nicht auf unsichere Art und Weisen ausgetauscht werden muss, fällt man verschlüsselt kommunizieren wollte. Zu dieser Kommunikation gehört auch der sichere Austausch von Schlüsseln für symmetrische Verschlüsselungsverfahren. Das 1976 entwickelte Kryptosystem RSA bietet so etwas.
Auch bei der a Verschlüsselung Werden Texte mit symmetrischen Zahlen verschlüsselt. Diese machen sich das Problem der Primfaktorzerlegung zu nutze. Die Primfaktorzerlegung ist immer noch ein offenes Problem der Mathematik und beschreibt den Prozess, in dem eine natürliche Zahl in sogenannten Primfaktoren zerlegt werden kann. Wie genau die Mathematik hinter der asymmetrischen Verschlüsselung funktioniert, findet ihr in einem Beitrag von uns.
So lässt sich die Zahl 1001 in die Primfaktoren 7, 11 und 13 aufteilen. Ohne das Wissen von der Ursprungszahl, gibt kein einheitliches und sicheres Verfahren, um diese Primfaktoren im Maße herauszufinden. Während bei kleinen Zahlen ein Computer assistieren kann, WIRD das bei Zahlen im 500-stelligen Bereich ein Problem. Wiederum einfach ist es, einfach zwei Primzahlen zu finden und diese miteinander zu multiplizieren, und genau das macht sich RSA zu nutze. So kann man mittels der Primfaktorzerlegung zwei Schlüssel aus den zwei Primfaktoren generieren, wieso das wichtig ist, wird nach den Kernpunkten erklärt.
Einige Kernpunkte zu RSA:
- Besitzt EIN Schlüsselpaar: ein öffentlicher Schlüssel and a Privaten Schlüssel
- Wird heute in hybridem Formular mit symmetrischen Verschlüsselungsverfahren genutzt oder in Blockchains
- Nutzt Problem DAs die Primfaktorzerlegung
- kurzfristig nicht in Gefahr, langfristig Könnte es Quantencomputer zum Opfergefallen
- Schlüssellängenüber 2048 Bit , wobei bis 2020 Schlüssellängen von 3000-bit mindestens empfohlen Werdenit is very slow
Wie bereits angesprochen, isfrom a large Primzahl sterben Primfaktoren zu erhalten. Bei RSA wird diese Tatsache genutzt, um zwei Schlüssel zu generieren. Hierbei sollten wir sterben Hauptidee hinter RSA im Kopf behalten: ein Kryptosystem für den sicheren Austausch von Nachrichten.
Ein Nutzer von RSA, Alice, generiert sich Nonne ein Schlüsselpaar. Sie besitzt einen öffentlichen und einen privaten Schlüssel. Der öffentliche Schlüssel ist eine große Zahl, die sie gefahrlos anderen Nutzern geben kann (daher die Bezeichnung „öffentlich“). Mit diesem öffentlichen Schlüssel lassen sich Nachrichten für Alice verschlüsseln. Damit Alice sterben Nachricht nun lesen can, muss sie ihren privaten Schlüssel zur Hand nehmen, welchen sie unter keinen Umständen heraus geben darf darf (ein solches Schlüsselpaar existiert auch in Bitcoin).
Um sich den Prozess leichter vorstellen zu können, denken wir an einen Briefkasten. Der Briefkasten ist jedem zugänglich und es ist kein Sicherheitsrisiko, dass er allgemein bekannt ist. Dies entspricht unserem öffentlichen Schlüssel. Jeder kann Nachrichten in den Briefkasten werfen. Um die Nachrichten aber lesen zu können, braucht man den Schlüssel für den Briefkasten. Dies entspricht in unserem Beispiel dem privaten Schlüssel.
Bitcoin und Kryptographie
Blockchains, wie in Bitcoin, nutzen die Public Key-Cryptography, hier asymmetrisches Kryptosystem, zur Absicherung der Adressen im System. Also besitzen alle Bitcoin-Adressen ein Schlüsselpaar wie bei RSA. Damit besitzt jeder Wallet-Besitzer auch gleichzeitig einen öffentlichen und einen privaten Schlüssel.
In unserer Wiki-Reihe erklären wir noch weitere wichtige Begriffe aus der Welt der Kryptowährungen und Blockchain. Wir haben bereits eine genauere Beschreibung für Verschlüsselung veröffentlicht, sowie eine Erklärung für die ebenfalls kryptographischen Hashfunktionen, die bei der Blockchain zum Einsatz kommen.
[Bild: GeoArt & hvostik / Shutterstock]