WikiDer > Verschlüsselung
Innerhalb der Kryptographie Zustand Verschlüsselung oder Verschlüsselung zum Kodieren (Verschlüsseln) von Daten basierend auf einem bestimmten Algorithmus. Dieses verschlüsselt Daten können anschließend entschlüsselt (entschlüsselt oder entschlüsselt) werden, sodass die ursprünglichen Informationen zurückgegeben werden. Dieser Prozess wird Entschlüsselung erwähnt.
Ein Ziel der Kryptographie ist es, dass Daten zwischen zwei Personen über einen unsicheren, dh auch für Dritte zugänglichen Kommunikationskanal, wie das Internet, sicher ausgetauscht werden können. Die Verschlüsselung stellt dann sicher, dass diese Dritten die Daten nicht mitlesen können. Dies geschieht in der Regel durch die Verwendung von Schlüsseln. Was genau einen Schlüssel ausmacht, unterscheidet sich je nach Algorithmus, aber normalerweise besteht ein Schlüssel aus einer Reihe von Dutzenden oder Hunderten von Zahlen und Buchstaben. Der kryptographische Algorithmus soll sicherstellen, dass nur Personen mit dem richtigen Schlüssel die verschlüsselten Daten wieder entschlüsseln können.
Bei den meisten kryptographischen Algorithmen ist es prinzipiell möglich, die verschlüsselten Daten ohne die richtigen Schlüssel zu entschlüsseln, aber diese Entschlüsselung erfordert so viel Rechen- und Zeitaufwand, dass es praktisch unmöglich ist. Das Entschlüsseln von Daten ohne den richtigen Schlüssel kann auf den schnellsten Computern von heute Milliarden von Jahren Rechenzeit in Anspruch nehmen und alle möglichen Schlüssel ausprobieren, bis ein funktionierender Schlüssel gefunden wird. Wenn der Schlüssel groß genug ist, werden selbst die schnellsten Computer in absehbarer Zeit nicht alle möglichen Schlüssel ausprobieren können. Da Computer im Laufe der Zeit immer schneller werden, müssen im Laufe der Zeit immer größere Zahlen als Schlüssel verwendet werden.
Es gibt ungefähr zwei Formen von Kryptographie: symmetrisch und asymmetrisch.
symmetrisch
Biene symmetrische Kryptographie Sender und Empfänger verwenden denselben Schlüssel. Dieser Schlüssel muss vorab über einen sicheren Kanal ausgetauscht werden (wobei sich Sender und Empfänger gegenseitig überprüfen können und ein Abhören des Schlüssels durch Dritte nicht möglich ist).
Die Verwendung des gleichen Schlüssels bedeutet nicht immer, dass die Verschlüsselung und Entschlüsselung identisch sind. Am Schlüssel Rot13, die bei E-Mail weit verbreitet ist, ist es. Wenn Sie eine verschlüsselte Nachricht erneut mit ROT13 entschlüsseln, sehen Sie wieder die ursprüngliche Nachricht. Dies ist bei einem Code wie A→B, B→C usw. nicht der Fall, aber der Dekodierschlüssel kann leicht aus dem Verschlüsselungsschlüssel abgeleitet werden. Beide zählen als symmetrische Kryptographie.
asymmetrisch
Moderner ist der asymmetrische Kryptographie, ebenfalls Verschlüsselung mit öffentlichem Schlüssel erwähnt. Sender und Empfänger haben jeweils ihren eigenen Satz von zwei Schlüsseln, von denen einer öffentlich ist und einer nicht. Es ist theoretisch möglich, aber praktisch nicht machbar, den geheimen Schlüssel aus dem öffentlichen Schlüssel abzuleiten.
Mit einem öffentlichen Schlüssel verschlüsselte Nachrichten können nur mit dem geheimen Schlüssel entschlüsselt werden. Das heißt, Unbefugte können die Nachricht nicht lesen.
Dies gilt auch umgekehrt: Informationen, die mit einem geheimen Schlüssel verschlüsselt wurden, können nur mit dem entsprechenden öffentlichen Schlüssel entschlüsselt werden. Letzteres wird beim digitalen Signieren von Nachrichten verwendet: Man hat die Gewissheit, dass die Nachricht von der Person stammt, die sich selbst als Absender bezeichnet.
Der öffentliche Schlüssel darf jedem bekannt sein und kann daher über einen unsicheren Kanal wie z Internet. Um eine Nachricht zu verschlüsseln und digital zu signieren, benötigt der Sender seinen eigenen geheimen Schlüssel und den öffentlichen Schlüssel des Empfängers. Um die empfangene Nachricht zu entschlüsseln und zu überprüfen, ob die Signatur vom Absender stammt, benötigt der Empfänger seinen eigenen geheimen Schlüssel und den öffentlichen Schlüssel des Absenders.
Der große Vorteil der asymmetrischen Kryptographie besteht darin, dass der Austausch der notwendigen Schlüssel über einen unsicheren Kanal erfolgen kann. Das Abhören der ausgetauschten Informationen – auch der öffentlichen Schlüssel – ist kein Problem. Es besteht jedoch die Gefahr des Abhörens: Wenn Sender und Empfänger nicht prüfen, ob der verwendete öffentliche Schlüssel tatsächlich dem (beabsichtigten) Anderen gehört, kann sich ein Dritter als einer der beiden ausgeben. Schließlich kann jeder sagen: "Mein Name ist so und so und hier ist mein öffentlicher Schlüssel, schick mir jetzt einfach deine Daten". Sender und Empfänger müssen sich daher gegenseitig identifizieren und öffentliche Schlüssel über einen zuverlässigen Kanal bestätigen.
Ein Nachteil der asymmetrischen Kryptographie besteht darin, dass große Schlüssellängen benötigt werden (zB 4096 Bytes), wodurch das Ver- und Entschlüsseln viel Rechenleistung erfordert. Die Schlüssel müssen groß sein, sonst ist es möglich, den geheimen Schlüssel mit einem schnellen Computer zu finden.
Häufig wird eine Kombination aus asymmetrischer und symmetrischer Kryptographie verwendet: Zunächst wird mittels asymmetrischer Kryptographie ein Geheimnis zwischen Sender und Empfänger ausgetauscht, das der Schlüssel zur schnelleren symmetrischen Kryptographie großer Datenblöcke ist.
Asymmetrische Kryptographie wird beim Verschlüsseln von E-Mails verwendet, indem PGP, GPG, S/MIME oder ProtonMail.
hashing
kryptografisch hashing (Krypto-Hashing) ist keine Verschlüsselung im engeren Sinne, da beim Hashing des erhaltenen Hashcodes die Originaldaten nicht wiederhergestellt werden können. Hashing verwendet jedoch die gleichen Techniken wie Verschlüsselung und Hashing ist oft auch Teil von Verschlüsselungsprotokollen. Der Unterschied zwischen Hashing und Verschlüsselung besteht darin, dass Hashing nur in eine Richtung erfolgen kann (nur Hashing) und dass die Verschlüsselung in zwei Richtungen erfolgen kann (verschlüsseln und entschlüsseln).
Beim Hashing wird aus einem Datenblock mittels eines Hash-Algorithmus ein Hash-Code berechnet. Aus diesem Hashcode kann dann nicht mehr abgeleitet werden, was die ursprünglichen Daten waren, sondern jemand, der die Daten hat, kann den Hashcode erneut berechnen und prüfen, ob der berechnete Hashcode einem zuvor erhaltenen Hashcode entspricht. Da der Hashcode oft viel kleiner ist als der ursprüngliche Datenblock, kann auf diese Weise nachverfolgt werden, ob ein bestimmtes Dokument schon einmal gesehen wurde, ohne das gesamte Dokument speichern zu müssen. Außerdem kann jemand den Hash-Code eines Dokuments veröffentlichen, der später, wenn das Dokument veröffentlicht wurde, als Beweis dafür dienen kann, dass das Dokument damals bereits existierte (und dass er es damals oder früher bereits hatte oder damals von jemandem eine Kooperation erhalten hat oder früher). Wer hatte es damals oder früher). Es ist praktisch unmöglich, nachträglich ein Dokument zu erstellen, das einen bestimmten Hash-Code liefert.
Für einen sicheren Hash-Code sollte es unmöglich sein, herauszufinden, aus welchem Datenblock der Code stammt, und außerdem sollte es unmöglich sein, zwei verschiedene Datenblöcke mit demselben Hash-Code zu erstellen. Als Ergebnis hat ein Hashcode die Eigenschaften eines digitalen Fingerabdruck.
Kryptografisches Hashing ist ein deterministisches Verfahren, hat aber eine gewisse Affinität zur Wahrscheinlichkeitstheorie. Der Hash scheint zufällig. Die Wahrscheinlichkeit, dass zufällige Originaldaten einen bestimmten Hash ergeben, ist ungefähr der Kehrwert der Anzahl möglicher Ergebnisse. Obwohl der Hash in der Regel kürzer ist als die Originaldaten, ist diese Zahl (zwei hoch der Anzahl der Bits) bald sehr groß und die genannte Wahrscheinlichkeit daher sehr klein. Bei Verwendung als Prüfsumme ein kurzer Krypto-Hash reicht aus; bei einem Schutz vor Fehlern und technischen Mängeln muss die Wahrscheinlichkeit eines zufälligen Hash-Matchings nicht so gering sein wie bei einem Schutz vor Missbrauch.
Hashing von Passwörtern
Die Anmeldung bei einem Computer erfordert oft einen Namen und eine Passwort erforderlich. Diese Passwörter werden oft verschlüsselt gespeichert, damit die Passwörter nicht preisgegeben werden, wenn die Passwortdatei von einer nicht autorisierten Person gelesen wird. Dies geschieht mittels eines Hashing-Algorithmus, der eine Entschlüsselung der verschlüsselten Daten unmöglich macht. Auch dies ist nicht erforderlich, da es ausreicht zu überprüfen, ob der Benutzer das richtige Passwort eingegeben hat.
Beim Verschlüsseln von Passwörtern ist es jedoch unsicher, allgemeine Hashing-Algorithmen und spezielle Passwort-Hashing-Algorithmen wie z bcrypt, verschlüsseln, oder PBKDF. Der Grund dafür ist, dass normale Hashing-Algorithmen darauf ausgelegt sind, so schnell wie möglich berechnet zu werden. Dies ist beim Hashing von Passwörtern unerwünscht, da es jemandem ermöglicht, der die Hash-Codes der Passwörter erhalten hat, herauszufinden, welcher Hash-Code von welchem Passwort abgeleitet ist.
Die Länge und Komplexität der Passwörter, die Menschen in der Praxis verwenden, ist begrenzt, während Computer immer schneller werden. Dies erleichtert es jemandem, der versucht, Passwort-Hash-Codes zu knacken, einen Computer alle möglichen Möglichkeiten ausprobieren zu lassen. Passwort-Hash-Algorithmen blockieren diese Methode, indem sie ihnen erlauben, einzustellen, wie viel Rechenzeit sie benötigen sollen. Die Algorithmen werden dann so eingestellt, dass ihre Berechnung zum Beispiel eins dauert Millisekunde während die Berechnung eines Hash-Codes mit einem gewöhnlichen Hash-Algorithmus weniger als a . benötigt Mikrosekunde kosten kann. Bei der Passwortprüfung ist es meist kein Problem, wenn es statt einer Mikrosekunde nur eine Millisekunde dauert, während jemand, der versuchen will, die Hash-Codes zu knacken, mehr als tausendmal so viel rechnen muss, also mehr als tausendmal länger.
Zukunft
Es wird erwartet, dass in Zukunft sehr mächtig Quantencomputer mit einer Rechenleistung verfügbar werden, die die aktuelle öffentliche Verschlüsselung leicht knacken kann. Um dieses Weltuntergangsszenario zu verhindern, arbeiten Kryptographen seit etwa 2015 an sogenannten Post-Quanten-Verschlüsselungsverfahren, die von Quantencomputern nicht geknackt werden können.[1]
Quellen, Anmerkungen und/oder Verweise
|