In diesem Beitrag wollen wir die Frage aufklären: Was ist Kryptographie? Die Kryptographie bietet Verschlüsselungsverfahren für unseren digitalen Alltag. Als Teilgebiet der Informatik (genauer: Informationssicherheit) und der Mathematik, schützt sie uns vor Hackern bei Bitcoin und anderen Kryptowährungen, sowie beim Versenden von Textnachrichten und beim Online-Banking.

Kryptographie & Bitcoin – Was ist Kryptographie und warum ist es für uns wichtig?

Es gibt Menschen, die von Bitcoin oder der Blockchain gehört haben und zynische Bemerkungen machen. Für sie ist die Blockchain nichts weiter als eine einfache Datenbank, so etwas wie eine Excel-Tabelle für Nerds. Und inwiefern sollte eine Excel-Tabelle schon etwas besonderes sein?

In diesen zynischen Bemerkungen befindet sich ein weit verbreiteter Trugschluss über die Blockchain: sie ist keine „einfache Datenbank“ oder Excel-Tabelle. Sie ist vielmehr ein kryptographisch abgesicherter Hochsicherheitstresor, der von Millionen von Wächtern weltweit abgesichert wird. Um Zugriff auf diesen Tresor zu erhalten, muss man die Regeln für diesen Tresor einhalten – selbst ein Einbruch im amerikanischen Fort Knox könnte sich einfacher gestalten, als der Einbruch in die Bitcoin-Blockchain.

Die Wächter sind die millionen Rechner weltweit, die die Bitcoin-Software ausführen. Dieses Beispiel gilt natürlich nicht nur für Bitcoin, sondern auch für alle anderen dezentralen Kryptowährungen.
Kryptographie ist  eine uralte Wissenschaft, die sich der Mathematik bedient. Sie stellt sicher, dass Niemand auf die Bitcoin-Reserven einer anderen Person zugreifen kann oder dass Transaktionen gefälscht werden können. Doch wie ist das mit purer Informatik und Mathematik möglich? Wie kann ich ein Programm so schreiben, dass es böswillige Hacker ausschließt und sowas wie ein digitaler Tresor wird? Hier kommt die Stärke der Kryptographie zum Vorschein.

Die Geschichte der Kryptographie

Zusammengesetzt aus dem altgriechischen „Kryptós“ (zu deutsch: „verborgen“/“geheim“) und „gráphein“ (zu deutsch: „schreiben“) bezeichnet es die Wissenschaft der Verschlüsselung. Neben dieser Wissenschaft bezeichnet sie heutzutage auch ein ganzes Themenfeld der IT-Sicherheit, welche 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 von Computern und die Zeit danach. Der Einfluss von Rechenleistung auf dieses Wissenschaftsgebiet war so groß, dass sie alte Methoden überflüssig gemacht hat und von den Wissenschaftlern ein Umdenken erforderte. Warum das so war, wird sich im nachfolgenden Text ergeben.

Mit der Entwicklung der Schrift begann gleichzeitig das Problem, das der Kernpunkt der Kryptographie werden sollte: andere Menschen können die (wichtige) Nachricht auch lesen. Wenn ein Herrscher einen anderen über bevorstehende militärische Operationen informieren wollte, konnte jeder in diesem Prozess die Nachricht mitlesen: der erste Herrscher, der Bote, Wegelagerer, Spione und zuletzt der zweite Herrscher.

Im optimalen Fall sollte nur der Sender und der Empfänger der Botschaft die Nachricht lesen können. Dies ist tatsächlich heute noch eine Grundvoraussetzung für ein gutes kryptographisches System.

Ein historisches Beispiel für Kryptographie

Die ersten Gelehrten der Kryptographie kamen auf die Idee, den Text einfach zu ändern. Wie der Text geändert wurde, wurde dann mit dem Empfänger im Geheimen vereinbart. Nur wie sollte man das anstellen? Als häufiges Beispiel wird die sogenannte Caesar-Verschlüsselung angesprochen. Verschlüsselung beschreibt den Prozess, bei dem ein Ursprungstext mit einem sogenannten Schlüssel verändert wird, um einen verschlüsselten Text zu erlangen. Verschlüsselte Texte werden in der Kryptographie „Chiffre“ geannt.

Bei der Caesar-Verschlüsselung handelt es sich um zwei Alphabete, die zusammen eine Chiffre ergeben sollen. Wollte ein römischer General eine Nachricht senden, hat er sich eine Tabelle vorgenommen, die das normale Alphabet und das geheime Alphabet enthält.

Caesar-Verschlüsselung

Wollte der General eine verschlüsselte Nachricht senden, so hat er geschaut welcher Buchstabe welchen anderen abbildet und so eine Chiffre generiert, die niemand anders lesen konnte. So wurde aus der Ursprungsnachricht:

  • Roma invicta

Mit einer einfachen Verschiebung des Alphabets:

  • Vsqe mrzmgxe

Dem aufmerksamen Leser werden sicherlich schon Schwachstellen in dieser Verschlüsselungsmethode aufgefallen sein. Man erkennt beispielsweise, dass sich der Buchstabe „m“ an einer bestimmten Stelle wiederholt. Auch ist die Ausgangschiffre genau so lang wie der Quelltext. Wer Spaß daran hat, kann selbst herausfinden, um wie viele Stellen das Alphabet in unserem Beispiel verschoben wurde, um diese Chiffre zu generieren. Mit einem Online-Generator kann jeder seinen Tipp nachprüfen.

An dem genannten Beispiel haben wir bereits zwei wichtige Begriffe für die Kryptographie geklärt: den Quelltext und die Chiffre. Was war in unserem Beispiel aber der verwendete Schlüssel für die Verschlüsselung? Genau genommen, war es die Zahl „4“, denn das ursprüngliche Alphabet wurde um genau vier Stellen verschoben und mit diesem verschobenen Alphabet, wurde die Nachricht „verschlüsselt“.

Verschlüsselungsmethoden, die nur einen Schlüssel zum ver- und entschlüsseln brauchen, nennt man „symmetrische Verschlüsselungsverfahren“. Die genannte Caesar-Verschlüsselung ist eine solche Methode. Wir können uns symmetrische Verschlüsselungsverfahren vorstellen, wie eine Truhe mit einem Schloss: es gibt nur ein Schloss und es gibt nur einen Schlüssel. Wollen zwei Menschen dieselbe Truhe öffnen, müssen sie denselben Schlüssel verwenden.

Moderne Kryptographie

Bis zum zweiten Weltkrieg entwickelten sich Verschlüsselungsmethoden immer weiter. Mit dem Aufkommen von Telegraphenmasten und Funkkommunikation gab es zwar erste elektronische Übertragungs- und Verschlüsselungsmethoden, aber dies zählt man immer noch unter die vorherige Epoche. Gründe dafür sind die Tatsache, dass Verschlüsselungsmethoden geheim gehalten wurden (etwas was sich in den Folgejahren ändern sollte) und sie mit genügend Rechenaufwand trotzdem knackbar waren. Sogar die deutsche Verschlüsselungsmaschine „Enigma“, die auf deutschen U-Booten zum Einsatz kam, wurde während des Krieges mehrmals geknackt. Sie benutzte ein schreibmaschinenartiges Gerät und verschlüsselte einen Text mittels quasi-zufälligen Stromflüssen in eine Chiffre.

Ende der 1940er Jahre wurden die ersten wissenschaftlichen Untersuchungen zu Verschlüsselungen veröffentlicht, die man gefahrlos jedem zur Verfügung stellen konnte. Es wurde in dieser Zeit der Anspruch gestellt, dass das Wissen um die Wirkungsweise einer Verschlüsselung keinen Einfluss auf ihre Sicherheit haben sollte. Als dann noch Computer in der Wissenschaftswelt zum Einsatz kamen, brach damit endgültig das Zeitalter der modernen Kryptographie an.

Rechenleistung und bessere Kommunikation um den gesamten Globus brachten neue Probleme für die Kryptographie. So konnte die Rechenleistung eingesetzt werden, um Verschlüsselungsysteme zu knacken – mit einer Geschwindigkeit, die ein Mensch nie erreichen könnte. Das Knacken von Verschlüsselungsystemen beruhte und beruht heute noch hauptsächlich auf der sogenannten „Brute Force“-Methode. Sie bezeichnet 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 den Ursprungstext „Roma invicta“ entspricht.

Durch die bessere Kommunikation weltweit, im Zusammenspiel mit der Rechenleistung, war es nichtmehr sinnvoll Verschlüsselungsmethoden geheim zu halten. Dieses Sicherheitskonnzept durch Geheimhaltung wurde Security through obscurity genannt und fand in der modernen Kryptographie ihr Ende. Wäre eine Verschlüsselungsmethode geknackt worden, hätte man die Schwachstelle schnell weiter geben können. Man musste also eine Verschlüsselungsmethode entwickeln, die mathematisch einfach nicht in absehbarer Zeit geknackt werden konnte.

Moderne Kryptosysteme gehen viel weiter als die einfache Caesar-Verschlüsselung. Sie machen sich die Erkenntnisse der Mathematik zu nutze, um Nachrichten in Zahlen zu übertragen, zerhacken diese, tauschen Anfang und Ende und benutzen immens große Zahlen, deren Berechnung für normale Computer zu aufwändig ist.

Symmetrische Verschlüsselung am Beispiel von AES

Advanced Encryption Standard (AES) ist ein symmetrisches Kryptosystem, das 1998 zum ersten Mal vorgestellt wurde. AES sichert heutzutage IP-Telefonate, WLAN-Netzwerke und ist sogar zur Verschlüsselung staatlicher Dokumente mit höchster Sicherheitsstufe in den USA zugelassen.

AES in allen Einzelheiten zu erklären würde eine Artikelreihe füllen, von daher fokussieren wir uns auf die Kernpunkte von AES:

  • Besitzt als symmetrisches Verschlüsselungsystem einen Schlüssel
  • Wird vielseitig eingesetzt
  • Zerhackt und verschiebt Teile des Quelltext bei der Verschlüsselung, um noch sicherer zu sein
  • Ist bis heute nicht knackbar
  • 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 verhältnismäßig winziger Schlüssel zu Verschlüsselung genutzt. Über die Jahre moderner Entwicklung der Kryptographie, hat man Schlüssel generiert die weitaus größer als eine, oder hundert oder eine million Stellen sind. 256-bit bedeutet in 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 danach wieder zurückgewandelt.

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. Hierfür müsste er die oben bereits genannte Technik des Durchprobierens, des Brute-Force, anwenden.

Als erstes stellen wir fest, wie viele mögliche Kombinationen ein 256-bit Schlüssel haben kann, 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.

Klingt klein? Das Universum hat nach aktuellen Schätzungen eine Anzahl von 10 hoch 78 Atomen. Die Möglichkeiten verschiedener AES 256-bit Schlüssel 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, gibt es auch asymmetrische Kryptosysteme. Diese Methoden machten es möglich, dass der Schlüssel nicht auf unsichere Art und Weise ausgetauscht werden muss, falls 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 asymmetrischen Verschlüsselung werden Texte mit riesigen 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, worin eine natürliche Zahl in sogenannte 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 großen Maße herauszufinden. Während bei kleinen Zahlen ein Computer behilflich sein 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 einen Schlüsselpaar: einen öffentlichen Schlüssel und einen privaten Schlüssel
  • Wird heute in hybrider Form mit symmetrischen Verschlüsselungsverfahren genutzt oder in Blockchains
  • Nutzt das Problem der Primfaktorzerlegung
  • kurzfristig nicht in Gefahr, langfristig könnte es Quantencomputern zum Opfer fallen
  • Schlüssellängen über 2048-bit, wobei bis 2020 Schlüssellängen von 3000-bit mindestens empfohlen werden

Wie bereits angesprochen, ist es einerseits sehr schwer aus einer großen Primzahl die Primfaktoren zu erhalten. Bei RSA wird diese Tatsache genutzt, um zwei Schlüssel zu generieren. Hierbei sollten wir die Hauptidee hinter RSA im Kopf behalten: ein Kryptosystem für den sicheren Austausch von Nachrichten.

Ein Nutzer von RSA, Alice, generiert sich nun 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 die Nachricht nun lesen kann, muss sie ihren privaten Schlüssel zur Hand nehmen, welchen sie unter keinen Umständen heraus geben 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. So besitzen all Bitcoin-Adressen ein Schlüsselpaar wie bei RSA. Damit besitzt jeder Wallet-Besitzer auch gleichzeitig einen öffentlichen und einen privaten Schlüssel.Wie aus den obigen Rechnungen zu erfahren ist, sind diese Systeme nicht zu knacken und somit kommt die Eingangs erwähnte Beschreibung des „Hochsicherheitstresors“ sehr nah an die Realität der Blockchain heran.

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]

2 KOMMENTARE

  1. Bei der asymmetrischen Verschlüsselung wird nicht eine Primzahl in Primfaktoren zerlegt, weil eine Primzahl als Eigenschaft hat, nur durch sich selbst und durch 1 teilbar zu sein.

    • Hallo Matthias O.!
      Das ist richtig, vielen Dank für den Hinweis! Richtigerweise sollte es lediglich heißen, dass eine natürliche Zahl in Primfaktoren zerlegt wird! Die Zerlegung einer Primzahl würde dann, wie richtig von Ihnen angesprochen, nur zu einer Primzahl multipliziert mit 1 ergeben.

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here