
EITC/IS/CCF Classical Cryptography Fundamentals ist das europäische IT-Zertifizierungsprogramm zu theoretischen und praktischen Aspekten der klassischen Kryptografie, einschließlich der Kryptografie mit privatem und öffentlichem Schlüssel, mit einer Einführung in praktische Verschlüsselungen, die im Internet weit verbreitet sind, wie z die RSA.
Das Curriculum der EITC/IS/CCF Classical Cryptography Fundamentals umfasst die Einführung in die Private-Key-Kryptografie, modulare Arithmetik und historische Chiffren, Stromchiffren, Zufallszahlen, das One-Time Pad (OTP) bedingungslos sichere Chiffre (unter Annahme einer Lösungsbereitstellung) auf das Schlüsselverteilungsproblem, wie es z. B. durch die Quantum Key Distribution, QKD gegeben ist), linear rückgekoppelte Schieberegister, Data Encryption Standard (DES-Chiffre, einschließlich Verschlüsselung, Schlüsselplan und Entschlüsselung), Advanced Encryption Standard (AES, Einführung von Galois-Feldern) basierte Kryptografie), Anwendungen von Blockchiffren (einschließlich ihrer Funktionsweise), Berücksichtigung von Mehrfachverschlüsselung und Brute-Force-Angriffen, Einführung in die Public-Key-Kryptografie mit Zahlentheorie, Euklidischer Algorithmus, Eulers Phi-Funktion und Eulers Theorem, sowie die Einführung in das RSA-Kryptosystem und effiziente Exponentiation, innerhalb der folgenden Struktur, umfassend eine umfassende Videodidaktik c als Referenz für diese EITC-Zertifizierung.
Kryptographie bezeichnet Wege der sicheren Kommunikation in Gegenwart eines Gegners. Kryptographie im weiteren Sinne ist der Prozess der Erstellung und Analyse von Protokollen, die den Zugriff Dritter oder der Öffentlichkeit auf private (verschlüsselte) Nachrichten verhindern. Die moderne klassische Kryptographie basiert auf mehreren Hauptmerkmalen der Informationssicherheit wie Datenvertraulichkeit, Datenintegrität, Authentifizierung und Nichtabstreitbarkeit. Im Gegensatz zur Quantenkryptographie, die auf radikal anderen quantenphysikalischen Regeln beruht, die die Natur charakterisieren, bezeichnet die klassische Kryptographie eine Kryptographie, die auf klassischen physikalischen Gesetzen basiert. In der klassischen Kryptographie treffen die Bereiche Mathematik, Informatik, Elektrotechnik, Kommunikationswissenschaft und Physik aufeinander. Elektronischer Handel, chipbasierte Zahlungskarten, digitale Währungen, Computerpasswörter und militärische Kommunikation sind Beispiele für kryptografische Anwendungen.
Vor der heutigen Ära war Kryptographie fast gleichbedeutend mit Verschlüsselung, die Informationen von lesbarem zu unverständlichem Unsinn machte. Um den Zugriff von Angreifern auf eine verschlüsselte Nachricht zu verhindern, teilt der Absender den Entschlüsselungsprozess nur mit den vorgesehenen Empfängern. Die Namen Alice („A“) für den Absender, Bob („B“) für den beabsichtigten Empfänger und Eve („Abhörerin“) für den Widersacher werden in der Kryptographie-Literatur häufig verwendet.
Seit der Entwicklung von Rotorchiffriermaschinen im Ersten Weltkrieg und der Einführung von Computern im Zweiten Weltkrieg sind Kryptographieverfahren immer komplexer und ihre Anwendungen vielfältiger geworden.
Die moderne Kryptographie ist stark von der mathematischen Theorie und der Informatikpraxis abhängig; kryptografische Methoden basieren auf Annahmen der Rechenhärte, was es für jeden Gegner schwierig macht, sie in der Praxis zu durchbrechen. Während der Einbruch in ein gut durchdachtes System theoretisch möglich ist, ist dies in der Praxis unmöglich. Solche Systeme werden als „computersicher“ bezeichnet, wenn sie angemessen konstruiert sind; dennoch erfordern theoretische Durchbrüche (z. B. Verbesserungen bei ganzzahligen Faktorisierungsverfahren) und schnellere Computertechnologie eine ständige Neubewertung und, falls erforderlich, eine Anpassung dieser Designs. Es gibt informationstheoretisch sichere Systeme, wie das One-Time-Pad, die sich auch bei unendlicher Rechenleistung als unzerbrechlich erweisen, aber in der Praxis deutlich schwieriger einzusetzen sind als die besten theoretisch zerbrechlichen, aber rechensicheren Schemata.
Im Informationszeitalter hat der Fortschritt der kryptografischen Technologie eine Vielzahl von rechtlichen Herausforderungen mit sich gebracht. Viele Nationen haben Kryptographie als Waffe eingestuft, die ihre Verwendung und ihren Export aufgrund ihres Potenzials für Spionage und Volksverhetzung einschränkt oder verbietet. Ermittler können die Herausgabe von Verschlüsselungsschlüsseln für ermittlungsrelevante Dokumente an einigen Orten, an denen Kryptographie zulässig ist, erzwingen. Bei digitalen Medien spielt die Kryptographie auch eine Schlüsselrolle bei der digitalen Rechteverwaltung und bei Konflikten mit Urheberrechtsverletzungen.
Der Begriff „Kryptograph“ (im Gegensatz zu „Kryptogramm“) wurde erstmals im XNUMX. Jahrhundert in Edgar Allan Poes Kurzgeschichte „The Gold-Bug“ verwendet.
Bis vor kurzem bezog sich die Kryptographie fast ausschließlich auf „Verschlüsselung“, bei der gewöhnliche Daten (bekannt als Klartext) in ein unlesbares Format (genannt Geheimtext) umgewandelt werden. Entschlüsselung ist das Gegenteil von Verschlüsselung, dh der Übergang vom unverständlichen Chiffretext zum Klartext. Eine Chiffre (oder Chiffre) ist eine Reihe von Techniken, die eine Verschlüsselung und Entschlüsselung in umgekehrter Reihenfolge durchführen. Der Algorithmus und jeweils ein „Schlüssel“ sind für die detaillierte Ausführung der Chiffre zuständig. Der Schlüssel ist ein Geheimnis (vorzugsweise nur den Kommunikanten bekannt), das verwendet wird, um den Chiffretext zu entschlüsseln. Es ist normalerweise eine Zeichenfolge (idealerweise kurz, damit sich der Benutzer daran erinnern kann). Ein „Kryptosystem“ ist die geordnete Ansammlung von Elementen endlicher potentieller Klartexte, Geheimtexte, Schlüssel und die Verschlüsselungs- und Entschlüsselungsverfahren, die formal mathematisch jedem Schlüssel entsprechen. Schlüssel sind sowohl formal als auch praktisch von entscheidender Bedeutung, da Chiffren mit festen Schlüsseln leicht nur anhand der Informationen der Chiffre gebrochen werden können, was sie für die meisten Zwecke unbrauchbar (oder sogar kontraproduktiv) macht.
In der Vergangenheit wurden Chiffren häufig ohne zusätzliche Verfahren wie Authentifizierung oder Integritätsprüfungen zur Verschlüsselung oder Entschlüsselung verwendet. Kryptosysteme werden in zwei Kategorien unterteilt: symmetrisch und asymmetrisch. Derselbe Schlüssel (der geheime Schlüssel) wird zum Ver- und Entschlüsseln einer Nachricht in symmetrischen Systemen verwendet, die bis in die 1970er Jahre die einzigen bekannten waren. Da symmetrische Systeme kürzere Schlüssellängen verwenden, ist die Datenmanipulation in symmetrischen Systemen schneller als in asymmetrischen Systemen. Asymmetrische Systeme verschlüsseln eine Kommunikation mit einem „öffentlichen Schlüssel“ und entschlüsseln sie mit einem ähnlichen „privaten Schlüssel“. Die Verwendung asymmetrischer Systeme verbessert die Kommunikationssicherheit aufgrund der Schwierigkeit, die Beziehung zwischen den beiden Schlüsseln zu bestimmen. RSA (Rivest–Shamir–Adleman) und ECC sind zwei Beispiele für asymmetrische Systeme (Elliptic Curve Cryptography). Der weit verbreitete AES (Advanced Encryption Standard), der den früheren DES ablöste, ist ein Beispiel für einen hochwertigen symmetrischen Algorithmus (Data Encryption Standard). Die verschiedenen Techniken zum Verwirren der Sprache von Kindern, wie Pig Latin oder andere Gesänge, und tatsächlich alle kryptographischen Schemata, egal wie ernst es gemeint war, aus irgendeiner Quelle vor der Einführung des One-Time-Pad zu Beginn des XNUMX. Jahrhunderts sind Beispiele für eine geringe Qualität symmetrische Algorithmen.
Der Begriff „Code“ wird umgangssprachlich oft verwendet, um sich auf jede Technik der Verschlüsselung oder Verbergung von Nachrichten zu beziehen. In der Kryptographie bezieht sich Code jedoch auf die Ersetzung eines Codeworts für eine Einheit von Klartext (dh ein bedeutungsvolles Wort oder eine bedeutungsvolle Phrase) (zum Beispiel ersetzt „Wallaby“ „Angriff im Morgengrauen“). Im Gegensatz dazu wird ein Geheimtext erzeugt, indem ein Element unterhalb einer solchen Ebene (beispielsweise ein Buchstabe, eine Silbe oder ein Buchstabenpaar) modifiziert oder ersetzt wird, um einen Geheimtext zu bilden.
Kryptoanalyse ist die Untersuchung von Möglichkeiten, verschlüsselte Daten zu entschlüsseln, ohne Zugriff auf den dafür erforderlichen Schlüssel zu haben; mit anderen Worten, es ist das Studium, wie man Verschlüsselungsschemata oder ihre Implementierungen „knacken“ kann.
Im Englischen verwenden einige Leute die Begriffe „Kryptografie“ und „Kryptologie“ austauschbar, während andere (einschließlich der US-Militärpraxis im Allgemeinen) „Kryptografie“ verwenden, um sich auf die Verwendung und Praxis kryptografischer Techniken zu beziehen, und „Kryptologie“, um sich auf die Kombination zu beziehen Studium der Kryptographie und Kryptoanalyse. Englisch ist anpassungsfähiger als eine Reihe anderer Sprachen, in denen „Kryptologie“ (wie sie von Kryptologen praktiziert wird) immer im zweiten Sinne verwendet wird. Die Steganographie ist gemäß RFC 2828 manchmal in der Kryptologie enthalten.
Kryptolinguistik ist das Studium von Spracheigenschaften, die eine gewisse Relevanz in der Kryptographie oder Kryptologie haben (z. B. Häufigkeitsstatistiken, Buchstabenkombinationen, universelle Muster usw.).
Kryptographie und Kryptoanalyse haben eine lange Geschichte.
Die Geschichte der Kryptographie ist der Hauptartikel.
Vor der Neuzeit befasste sich die Kryptographie hauptsächlich mit der Vertraulichkeit von Nachrichten (dh Verschlüsselung) – der Umwandlung von Nachrichten von einer verständlichen in eine unverständliche Form und wieder, um sie für Abfangjäger oder Lauscher ohne geheimes Wissen (nämlich den zur Entschlüsselung benötigten Schlüssel) unlesbar zu machen dieser Nachricht). Die Verschlüsselung wurde entwickelt, um die Gespräche von Spionen, Militärführern und Diplomaten geheim zu halten. In den letzten Jahrzehnten ist die Disziplin gewachsen und umfasst unter anderem Techniken wie die Überprüfung der Nachrichtenintegrität, die Authentifizierung der Sender-/Empfänger-Identität, digitale Signaturen, interaktive Beweise und sichere Berechnungen.
Die beiden gebräuchlichsten klassischen Chiffrentypen sind Transpositionsziffern, die Buchstaben oder Buchstabengruppen systematisch durch andere Buchstaben oder Buchstabengruppen ersetzen (z. die Buchstaben oder Buchstabengruppen systematisch durch andere Buchstaben oder Buchstabengruppen ersetzen (z. B. „Fly at once“ wird zu „gmz bu Einfache Versionen von beiden haben nie viel Privatsphäre vor schlauen Gegnern geboten. Die Caesar-Chiffre war eine frühe Ersatzchiffre, in der Jeder Buchstabe im Klartext wurde durch einen Buchstaben eine bestimmte Anzahl von Stellen weiter unten im Alphabet ersetzt. Laut Sueton benutzte ihn Julius Caesar in einer Drei-Mann-Schicht, um mit seinen Generälen zu kommunizieren. Eine frühe hebräische Chiffre, Atbash, ist ein Beispiel. Die älteste bekannte Verwendung der Kryptographie ist ein in Stein gemeißelter Chiffretext in Ägypten (um 1900 v. Chr.). ein, um Informationen zu verbergen.
Krypten sollen den klassischen Griechen bekannt gewesen sein (z. B. die Skytale-Transpositions-Chiffre, die angeblich vom spartanischen Militär verwendet wurde). Auch die Steganographie (die Praxis, selbst das Vorhandensein einer Mitteilung zu verbergen, um sie privat zu halten) wurde in der Antike erfunden. Ein Satz, der laut Herodot auf den rasierten Kopf eines Sklaven tätowiert und unter dem nachgewachsenen Haar versteckt ist. Die Verwendung von unsichtbarer Tinte, Mikropunkten und digitalen Wasserzeichen zum Verbergen von Informationen sind aktuellere Beispiele der Steganographie.
Kautiliyam und Mulavediya sind zwei Arten von Chiffren, die in Indiens 2000 Jahre altem Kamasutra von Vtsyyana erwähnt werden. Die Ersetzungen der Chiffrebuchstaben im Kautiliyam basieren auf phonetischen Beziehungen, wie zum Beispiel Vokalen, die zu Konsonanten werden. Das Chiffre-Alphabet in der Mulavediya besteht aus übereinstimmenden Buchstaben und verwendet reziproke Buchstaben.
Laut dem muslimischen Gelehrten Ibn al-Nadim hatte das sassanidische Persien zwei geheime Schriften: die h-dabrya (wörtlich „Königsschrift“), die für die offizielle Korrespondenz verwendet wurde, und die rz-saharya, die verwendet wurde, um geheime Nachrichten mit anderen auszutauschen Länder.
David Kahn schreibt in seinem Buch The Codebreakers, dass die zeitgenössische Kryptologie mit den Arabern begann, die als erste kryptanalytische Verfahren sorgfältig dokumentierten. Das Buch der kryptografischen Botschaften wurde von Al-Khalil (717–786) geschrieben und enthält die früheste Verwendung von Permutationen und Kombinationen, um alle denkbaren arabischen Wörter mit und ohne Vokale aufzulisten.
Chiffretexte, die von einer klassischen Chiffre (sowie einigen modernen Chiffren) generiert werden, geben statistische Informationen über den Klartext an, die verwendet werden können, um die Chiffre zu knacken. Fast alle derartigen Chiffren konnten nach der Entdeckung der Frequenzanalyse von einem intelligenten Angreifer gebrochen werden, möglicherweise im 9. Jahrhundert durch den arabischen Mathematiker und Universalgelehrten Al-Kindi (auch bekannt als Alkindus). Klassische Chiffren sind auch heute noch beliebt, wenn auch weitgehend als Rätsel (siehe Kryptogramm). Risalah fi Istikhraj al-Mu'amma (Manuskript zur Entschlüsselung kryptographischer Nachrichten) wurde von Al-Kindi geschrieben und dokumentiert die erste bekannte Anwendung von frequenzanalytischen Kryptoanalysetechniken.
Einige Verschlüsselungsansätze mit erweitertem Verlauf, wie etwa homophone Chiffre, die dazu neigen, die Häufigkeitsverteilung abzuflachen, profitieren möglicherweise nicht von Sprachbuchstabenhäufigkeiten. Die Häufigkeiten von Sprachbuchstabengruppen (oder N-Gramm) können einen Angriff auf diese Chiffren auslösen.
Bis zur Entdeckung der polyalphabetischen Chiffre, vor allem durch Leon Battista Alberti um 1467, waren praktisch alle Chiffren der Kryptoanalyse mit dem Frequenzanalyseansatz zugänglich, obwohl es einige Hinweise darauf gibt, dass sie Al-Kindi bereits bekannt war. Alberti hatte die Idee, separate Chiffren (oder Ersatzalphabete) für verschiedene Teile einer Kommunikation zu verwenden (vielleicht für jeden aufeinanderfolgenden Klartextbuchstaben am Limit). Er schuf auch das vermutlich erste automatische Verschlüsselungsgerät, ein Rad, das einen Teil seines Designs ausführte. Die Verschlüsselung in der Vigenère-Chiffre, einer polyalphabetischen Chiffre, wird durch ein Schlüsselwort gesteuert, das die Buchstabenersetzung basierend darauf regelt, welcher Buchstabe des Schlüsselworts verwendet wird. Charles Babbage zeigte Mitte des XNUMX. Jahrhunderts, dass die Vigenère-Chiffre für die Kasiski-Analyse anfällig war, aber Friedrich Kasiski veröffentlichte seine Ergebnisse zehn Jahre später.
Trotz der Tatsache, dass die Frequenzanalyse eine leistungsstarke und umfassende Technik für viele Chiffren ist, ist die Verschlüsselung in der Praxis effektiv geblieben, da viele angehende Kryptoanalytiker diese Technik nicht kennen. Um eine Nachricht zu knacken, ohne eine Frequenzanalyse zu verwenden, war die Kenntnis der verwendeten Chiffre und möglicherweise des verwendeten Schlüssels erforderlich, was Spionage, Bestechung, Einbruch, Überlaufen und andere kryptanalytisch nicht informierte Taktiken attraktiver macht. Das Geheimnis des Algorithmus einer Chiffre wurde schließlich im 19. Jahrhundert als weder vernünftige noch machbare Garantie für die Nachrichtensicherheit anerkannt; tatsächlich sollte jedes geeignete kryptografische Schema (einschließlich Chiffren) sicher bleiben, selbst wenn der Gegner den Chiffrieralgorithmus selbst vollständig versteht. Die Sicherheit des Schlüssels sollte ausreichen, damit eine gute Chiffre die Vertraulichkeit im Angesicht eines Angriffs behält. Auguste Kerckhoffs stellte dieses grundlegende Prinzip erstmals 1883 fest, und es ist als Kerckhoffs-Prinzip bekannt; alternativ und unverblümter formulierte Claude Shannon, der Erfinder der Informationstheorie und der Grundlagen der theoretischen Kryptographie, sie als Shannons Maxime – „der Feind kennt das System“.
Um mit Verschlüsselungen zu helfen, wurden viele physische Geräte und Hilfestellungen verwendet. Die Skytale des antiken Griechenlands, eine Rute, die angeblich von den Spartanern als Transpositions-Chiffrierwerkzeug verwendet wurde, könnte eine der ersten gewesen sein. Im Mittelalter wurden weitere Hilfsmittel entwickelt, wie das Chiffrengitter, das auch für die Steganographie verwendet wurde. Mit der Entwicklung polyalphabetischer Chiffren wurden anspruchsvollere Hilfsmittel wie Albertis Chiffrierscheibe, Johannes Trithemius' Tabula Recta-Schema und Thomas Jeffersons Radchiffre verfügbar (nicht öffentlich bekannt und unabhängig von Bazeries um 1900 neu erfunden). Viele mechanische Verschlüsselungs-/Entschlüsselungssysteme wurden im frühen 1920. Jahrhundert entwickelt und patentiert, darunter Rotormaschinen, die von den späten XNUMXer Jahren bis zum Zweiten Weltkrieg bekanntermaßen von der deutschen Regierung und dem Militär eingesetzt wurden. Nach dem Ersten Weltkrieg führten die von höherwertigen Instanzen dieser Maschinendesigns implementierten Chiffren zu einem deutlichen Anstieg der kryptanalytischen Schwierigkeit.
Die Kryptographie befasste sich vor dem frühen XNUMX. Jahrhundert hauptsächlich mit linguistischen und lexikographischen Mustern. Seitdem hat sich der Schwerpunkt weiterentwickelt und die Kryptographie umfasst nun Aspekte der Informationstheorie, der Rechenkomplexität, der Statistik, der Kombinatorik, der abstrakten Algebra, der Zahlentheorie und der endlichen Mathematik im Allgemeinen. Kryptographie ist eine Technik, die jedoch insofern einzigartig ist, als sie sich mit aktivem, intelligentem und feindlichem Widerstand befasst, während andere Arten der Technik (wie Bau- oder Chemieingenieurwesen) lediglich mit neutralen Naturkräften zu tun haben. Auch der Zusammenhang zwischen Kryptografieschwierigkeiten und Quantenphysik wird untersucht.
Die Entwicklung von digitalen Computern und Elektronik unterstützte die Kryptoanalyse, indem sie die Erstellung wesentlich komplexerer Chiffren ermöglichte. Darüber hinaus ermöglichten Computer im Gegensatz zu herkömmlichen Chiffren, die ausschließlich geschriebene Sprachtexte verschlüsselten, die Verschlüsselung jeder Art von Daten, die in jedem Binärformat dargestellt werden konnten; das war neu und entscheidend. Sowohl beim Verschlüsselungsdesign als auch bei der Kryptoanalyse haben Computer die Sprachkryptographie verdrängt. Im Gegensatz zu klassischen und mechanischen Verfahren, die hauptsächlich traditionelle Zeichen (dh Buchstaben und Zahlen) direkt manipulieren, arbeiten viele Computerchiffren mit binären Bitfolgen (gelegentlich in Gruppen oder Blöcken). Computer hingegen haben die Kryptoanalyse unterstützt, wodurch die erhöhte Verschlüsselungskomplexität teilweise kompensiert wurde. Trotzdem sind gute moderne Chiffren der Kryptoanalyse voraus geblieben; es ist oft der Fall, dass die Verwendung einer guten Verschlüsselung sehr effizient ist (dh schnell und erfordert nur wenige Ressourcen wie Speicher oder CPU-Kapazität), während das Aufbrechen dieser Verschlüsselung einen um viele Größenordnungen größeren Aufwand erfordert, der weitaus größer ist als der für jede andere erforderliche Verschlüsselung klassische Chiffre, die eine Kryptoanalyse effektiv unmöglich macht.
Die moderne Kryptographie feiert ihr Debüt.
Die Kryptoanalyse der neuen mechanischen Geräte erwies sich als anspruchsvoll und zeitaufwändig. Während des Zweiten Weltkriegs förderten kryptanalytische Aktivitäten in Bletchley Park im Vereinigten Königreich die Erfindung effizienterer Methoden für sich wiederholende Aufgaben. Der Colossus, der weltweit erste vollständig elektronische, digitale, programmierbare Computer, wurde entwickelt, um die Entschlüsselung von Chiffren zu unterstützen, die von der Lorenz SZ40/42-Maschine der Bundeswehr erstellt wurden.
Kryptographie ist ein relativ neues Feld der offenen akademischen Forschung, das erst Mitte der 1970er Jahre begann. IBM-Mitarbeiter entwickelten den Algorithmus, der zum Federal (dh US) Data Encryption Standard wurde; Whitfield Diffie und Martin Hellman haben ihren Schlüsselübereinstimmungsalgorithmus veröffentlicht; und Martin Gardners Scientific American Kolumne veröffentlichte den RSA-Algorithmus. Kryptographie hat seitdem als Technik für Kommunikation, Computernetzwerke und Computersicherheit im Allgemeinen an Popularität gewonnen.
Es gibt enge Verbindungen zur abstrakten Mathematik, da mehrere moderne Kryptographieansätze ihre Schlüssel nur dann geheim halten können, wenn bestimmte mathematische Probleme hartnäckig sind, wie beispielsweise die ganzzahlige Faktorisierung oder Probleme mit dem diskreten Logarithmus. Es gibt nur eine Handvoll Kryptosysteme, die sich als 100% sicher erwiesen haben. Claude Shannon hat bewiesen, dass der One-Time-Pad einer davon ist. Es gibt einige Schlüsselalgorithmen, die sich unter bestimmten Bedingungen als sicher erwiesen haben. Die Unfähigkeit, extrem große ganze Zahlen zu faktorisieren, ist beispielsweise die Grundlage für die Annahme, dass RSA und andere Systeme sicher sind, aber der Nachweis der Unzerbrechlichkeit ist nicht erreichbar, da das zugrunde liegende mathematische Problem ungelöst bleibt. In der Praxis sind diese weit verbreitet und die meisten kompetenten Beobachter glauben, dass sie in der Praxis unzerbrechlich sind. Es gibt RSA-ähnliche Systeme, wie eines von Michael O. Rabin, die nachweislich sicher sind, wenn die Faktorisierung von n = pq nicht möglich ist; sie sind jedoch praktisch nutzlos. Das Problem des diskreten Logarithmus ist die Grundlage für die Annahme, dass einige andere Kryptosysteme sicher sind, und es gibt ähnliche, weniger praktische Systeme, die im Hinblick auf die Lösbarkeit oder Unlösbarkeit des Problems des diskreten Logarithmus nachweislich sicher sind.
Entwickler von kryptografischen Algorithmen und Systemen müssen bei der Arbeit an ihren Ideen mögliche zukünftige Fortschritte berücksichtigen und sich der kryptografischen Geschichte bewusst sein. Mit der Verbesserung der Rechenleistung von Computern ist beispielsweise die Breite der Brute-Force-Angriffe gewachsen, und somit sind auch die erforderlichen Schlüssellängen gewachsen. Einige kryptografische Systemdesigner, die sich mit Post-Quanten-Kryptografie befassen, ziehen bereits die möglichen Konsequenzen des Quantencomputing in Betracht; Die angekündigte unmittelbare bevorstehende Einführung bescheidener Implementierungen dieser Maschinen könnte die Notwendigkeit von Vorsichtsmaßnahmen mehr als nur spekulativ machen.
Klassische Kryptographie in der Moderne
Symmetrische (oder private-Schlüssel-)Kryptographie ist eine Art der Verschlüsselung, bei der Sender und Empfänger denselben Schlüssel verwenden (oder, seltener, ihre Schlüssel unterschiedlich, aber leicht berechenbar miteinander verbunden sind und geheim gehalten werden.) ). Bis Juni 1976 war dies die einzige Verschlüsselungsart, die öffentlich bekannt war.
Blockchiffren und Stromchiffren werden beide verwendet, um symmetrische Schlüsselchiffren zu implementieren. Eine Blockchiffre verschlüsselt die Eingabe in Blöcken von Klartext und nicht in einzelnen Zeichen, wie dies bei einer Stromchiffre der Fall ist.
Die US-Regierung hat den Data Encryption Standard (DES) und den Advanced Encryption Standard (AES) als Kryptographie-Standards bezeichnet (allerdings wurde die Zertifizierung von DES mit der Einführung des AES schließlich zurückgezogen). DES (insbesondere seine immer noch zugelassene und wesentlich sicherere Triple-DES-Variante) bleibt trotz seiner Verabschiedung als offizieller Standard beliebt; Es wird in einer Vielzahl von Anwendungen verwendet, von der ATM-Verschlüsselung über den E-Mail-Datenschutz bis hin zum sicheren Fernzugriff. Es wurden eine Reihe verschiedener Blockchiffren erfunden und veröffentlicht, mit unterschiedlichem Erfolg. Viele, darunter auch einige, die von qualifizierten Praktikern wie FEAL entworfen wurden, sind weitgehend kaputt gegangen.
Stromchiffren erzeugen im Gegensatz zu Blockchiffren einen unendlich langen Strom von Schlüsselmaterial, der Bit für Bit oder Zeichen für Zeichen mit Klartext gekoppelt ist, ähnlich dem One-Time-Pad. Der Ausgabestrom einer Stromchiffre wird aus einem verborgenen internen Zustand erzeugt, der sich mit der Funktion der Chiffre ändert. Das geheime Schlüsselmaterial wird verwendet, um diesen internen Zustand zunächst einzurichten. Weit verbreitet ist die Stromchiffre RC4. Durch Erzeugen von Blöcken eines Schlüsselstroms (anstelle eines Pseudozufallszahlengenerators) und Verwenden einer XOR-Operation auf jedes Bit des Klartextes mit jedem Bit des Schlüsselstroms können Blockchiffren als Stromchiffren verwendet werden.
Message Authentication Codes (MACs) ähneln kryptografischen Hash-Funktionen, mit der Ausnahme, dass ein geheimer Schlüssel verwendet werden kann, um den Hash-Wert nach Erhalt zu validieren; Diese zusätzliche Komplexität verhindert einen Angriff auf Naked Digest-Algorithmen und wird daher als lohnenswert angesehen. Eine dritte Art von kryptografischer Technik sind kryptografische Hash-Funktionen. Sie nehmen Nachrichten beliebiger Länge als Eingabe und geben einen kleinen Hash fester Länge aus, der beispielsweise in digitalen Signaturen verwendet werden kann. Ein Angreifer kann mit guten Hash-Algorithmen nicht zwei Nachrichten finden, die denselben Hash erzeugen. MD4 ist eine weit verbreitete, aber mittlerweile fehlerhafte Hash-Funktion; MD5, eine Weiterentwicklung von MD4, ist ebenfalls weit verbreitet, aber in der Praxis gebrochen. Die Secure Hash Algorithm-Reihe von MD5-ähnlichen Hash-Algorithmen wurde von der US-amerikanischen National Security Agency entwickelt: Die US-Standardisierungsbehörde entschied, dass es aus Sicherheitsgründen „umsichtig“ war, einen neuen Standard zu entwickeln, um „die Robustheit des gesamten Hash-Algorithmus von NIST deutlich zu verbessern“. Werkzeugkasten.“ SHA-1 ist weit verbreitet und sicherer als MD5, aber Kryptoanalytiker haben Angriffe dagegen identifiziert. die SHA-2-Familie verbessert SHA-1, ist jedoch ab 2011 anfällig für Zusammenstöße; und die SHA-2-Familie verbessert SHA-1, ist aber anfällig für Kollisionen Als Ergebnis sollte bis 2012 ein Designwettbewerb für Hash-Funktionen abgehalten werden, um einen neuen nationalen US-Standard namens SHA-3 auszuwählen. Der Wettbewerb endete am 2. Oktober 2012, als das National Institute of Standards and Technology (NIST) Keccak als neuen SHA-3-Hash-Algorithmus ankündigte. Kryptografische Hashfunktionen liefern im Gegensatz zu invertierbaren Block- und Stromchiffren eine gehashte Ausgabe, die nicht verwendet werden kann, um die ursprünglichen Eingabedaten wiederherzustellen. Kryptografische Hash-Funktionen werden verwendet, um die Authentizität von Daten zu überprüfen, die aus einer nicht vertrauenswürdigen Quelle stammen, oder um einen zusätzlichen Schutzgrad hinzuzufügen.
Obwohl eine Nachricht oder ein Satz von Nachrichten einen anderen Schlüssel als andere haben kann, verwenden Kryptosysteme mit symmetrischen Schlüsseln denselben Schlüssel zum Verschlüsseln und Entschlüsseln. Ein großer Nachteil ist die zur sicheren Verwendung symmetrischer Chiffren erforderliche Schlüsselverwaltung. Jedes einzelne Paar kommunizierender Teilnehmer sollte idealerweise einen anderen Schlüssel teilen, sowie möglicherweise einen anderen Geheimtext für jeden gesendeten Geheimtext. Die Anzahl der erforderlichen Schlüssel wächst direkt proportional zur Anzahl der Netzwerkteilnehmer, was komplizierte Schlüsselverwaltungstechniken erfordert, um sie alle konsistent und geheim zu halten.
Whitfield Diffie und Martin Hellman erfanden das Konzept der Kryptographie mit öffentlichem Schlüssel (auch als asymmetrischer Schlüssel bekannt) in einer bahnbrechenden Arbeit von 1976, in der zwei verschiedene, aber mathematisch verwandte Schlüssel – ein öffentlicher Schlüssel und ein privater Schlüssel – verwendet werden. Obwohl sie untrennbar miteinander verbunden sind, ist ein System mit öffentlichen Schlüsseln so aufgebaut, dass die Berechnung eines Schlüssels (des 'privaten Schlüssels') aus dem anderen (des 'öffentlichen Schlüssels') rechnerisch nicht möglich ist. Vielmehr werden beide Schlüssel heimlich als verknüpftes Paar erzeugt. Laut dem Historiker David Kahn ist die Public-Key-Kryptographie „der revolutionärste neue Begriff auf diesem Gebiet, seit die polyalphabetische Substitution in der Renaissance aufgekommen ist“.
Der öffentliche Schlüssel in einem Kryptosystem mit öffentlichem Schlüssel kann frei übertragen werden, aber der gekoppelte private Schlüssel muss verborgen bleiben. Der öffentliche Schlüssel wird zur Verschlüsselung verwendet, während der private oder geheime Schlüssel zur Entschlüsselung in einem Verschlüsselungsschema mit öffentlichem Schlüssel verwendet wird. Diffie und Hellman waren zwar nicht in der Lage, ein solches System zu entwickeln, aber sie zeigten, dass eine Kryptografie mit öffentlichem Schlüssel denkbar war, indem sie das Diffie-Hellman-Schlüsselaustauschprotokoll zur Verfügung stellten, eine Lösung, die es zwei Personen ermöglicht, sich heimlich auf einen gemeinsamen Verschlüsselungsschlüssel zu einigen. Das am weitesten verbreitete Format für Public-Key-Zertifikate wird durch den X.509-Standard definiert.
Die Veröffentlichung von Diffie und Hellman weckte ein breites akademisches Interesse an der Entwicklung eines praktischen Verschlüsselungssystems mit öffentlichem Schlüssel. 1978 gewannen Ronald Rivest, Adi Shamir und Len Adleman den Wettbewerb, und ihre Antwort wurde als RSA-Algorithmus bekannt.
Die Diffie-Hellman- und RSA-Algorithmen sind nicht nur die frühesten öffentlich bekannten Instanzen von hochwertigen Public-Key-Algorithmen, sondern gehören auch zu den am häufigsten verwendeten. Das Cramer-Shoup-Kryptosystem, die ElGamal-Verschlüsselung und zahlreiche elliptische Kurvenansätze sind Beispiele für asymmetrische Schlüsselalgorithmen.
Laut einem Dokument, das 1997 vom Government Communications Headquarters (GCHQ), einem britischen Geheimdienst, herausgegeben wurde, sahen die Kryptografen des GCHQ mehrere wissenschaftliche Fortschritte voraus. Der Legende nach wurde die asymmetrische Schlüsselkryptographie um 1970 von James H. Ellis erfunden. Clifford Cocks erfand 1973 eine Lösung, die RSA im Design sehr ähnlich war. Malcolm J. Williamson wird die Erfindung des Diffie-Hellman-Schlüsselaustauschs im Jahr 1974 zugeschrieben.
Digitale Signatursysteme werden auch unter Verwendung von Public-Key-Kryptographie implementiert. Eine digitale Signatur ähnelt einer herkömmlichen Signatur darin, dass sie für den Benutzer einfach zu erstellen, für andere jedoch schwer zu fälschen ist. Digitale Signaturen können auch dauerhaft mit dem Inhalt der zu signierenden Kommunikation verknüpft werden; das bedeutet, dass sie nicht von einem Dokument in ein anderes „verschoben“ werden können, ohne entdeckt zu werden. Es gibt zwei Algorithmen in digitalen Signaturschemata: einen zum Signieren, der einen geheimen Schlüssel verwendet, um die Nachricht zu verarbeiten (oder einen Hash der Nachricht oder beides), und einen zur Verifizierung, der den passenden öffentlichen Schlüssel mit der Nachricht zur Validierung verwendet die Echtheit der Unterschrift. Zwei der am häufigsten verwendeten digitalen Signaturmethoden sind RSA und DSA. Infrastrukturen mit öffentlichen Schlüsseln und viele Netzwerksicherheitssysteme (z. B. SSL/TLS, viele VPNs) sind für ihre Funktion auf digitale Signaturen angewiesen.
Die rechnerische Komplexität „harter“ Probleme, wie sie sich beispielsweise aus der Zahlentheorie ergeben, wird häufig genutzt, um Public-Key-Verfahren zu entwickeln. Das ganzzahlige Faktorisierungsproblem hängt mit der Härte von RSA zusammen, während das Problem des diskreten Logarithmus mit Diffie-Hellman und DSA zusammenhängt. Die Sicherheit der elliptischen Kurvenkryptographie basiert auf theoretischen Problemen der elliptischen Kurvenzahl. Die meisten Algorithmen mit öffentlichem Schlüssel umfassen Operationen wie modulare Multiplikation und Exponentiation, die aufgrund der Schwierigkeit der zugrunde liegenden Probleme wesentlich rechenaufwendiger sind als die Techniken, die in den meisten Blockchiffren verwendet werden, insbesondere bei normalen Schlüsselgrößen. Als Ergebnis sind Public-Key-Kryptosysteme häufig hybride Kryptosysteme, bei denen die Nachricht mit einem schnellen, hochwertigen symmetrischen Schlüsselalgorithmus verschlüsselt wird, während der entsprechende symmetrische Schlüssel mit der Nachricht gesendet, jedoch mit einem öffentlichen Schlüsselalgorithmus verschlüsselt wird. Häufig werden auch hybride Signaturschemata verwendet, bei denen eine kryptografische Hash-Funktion berechnet und nur der resultierende Hash digital signiert wird.
Hash-Funktionen in der Kryptographie
Kryptografische Hashfunktionen sind kryptografische Algorithmen, die bestimmte Schlüssel erzeugen und verwenden, um Daten entweder für symmetrische oder asymmetrische Verschlüsselung zu verschlüsseln, und sie können als Schlüssel betrachtet werden. Sie nehmen Nachrichten beliebiger Länge als Eingabe und geben einen kleinen Hash fester Länge aus, der beispielsweise in digitalen Signaturen verwendet werden kann. Ein Angreifer kann mit guten Hash-Algorithmen nicht zwei Nachrichten finden, die denselben Hash erzeugen. MD4 ist eine weit verbreitete, aber mittlerweile fehlerhafte Hash-Funktion; MD5, eine Weiterentwicklung von MD4, ist ebenfalls weit verbreitet, aber in der Praxis gebrochen. Die Secure Hash Algorithm-Reihe von MD5-ähnlichen Hash-Algorithmen wurde von der US-amerikanischen National Security Agency entwickelt: Die US-Standardisierungsbehörde entschied, dass es aus Sicherheitsgründen „umsichtig“ war, einen neuen Standard zu entwickeln, um „die Robustheit des gesamten Hash-Algorithmus von NIST deutlich zu verbessern“. Werkzeugkasten.“ SHA-1 ist weit verbreitet und sicherer als MD5, aber Kryptoanalytiker haben Angriffe dagegen identifiziert. die SHA-2-Familie verbessert SHA-1, ist jedoch ab 2011 anfällig für Zusammenstöße; und die SHA-2-Familie verbessert SHA-1, ist aber anfällig für Kollisionen Als Ergebnis sollte bis 2012 ein Designwettbewerb für Hash-Funktionen abgehalten werden, um einen neuen nationalen US-Standard namens SHA-3 auszuwählen. Der Wettbewerb endete am 2. Oktober 2012, als das National Institute of Standards and Technology (NIST) Keccak als neuen SHA-3-Hash-Algorithmus ankündigte. Kryptografische Hash-Funktionen bieten im Gegensatz zu invertierbaren Block- und Stream-Chiffren eine gehashte Ausgabe, die nicht verwendet werden kann, um die ursprünglichen Eingabedaten wiederherzustellen. Kryptografische Hash-Funktionen werden verwendet, um die Authentizität von Daten zu überprüfen, die aus einer nicht vertrauenswürdigen Quelle stammen, oder um einen zusätzlichen Schutzgrad hinzuzufügen.
Kryptografische Primitive und Kryptosysteme
Ein Großteil der theoretischen Arbeit der Kryptografie konzentriert sich auf kryptografische Primitive – Algorithmen mit grundlegenden kryptografischen Eigenschaften – und deren Beziehung zu anderen kryptografischen Herausforderungen. Diese grundlegenden Primitive werden dann verwendet, um komplexere kryptografische Werkzeuge zu erstellen. Diese Grundelemente bieten grundlegende Qualitäten, die verwendet werden, um komplexere Werkzeuge zu erstellen, die als Kryptosysteme oder kryptografische Protokolle bekannt sind und eine oder mehrere Sicherheitseigenschaften auf hohem Niveau gewährleisten. Andererseits ist die Grenze zwischen kryptographischen Primitiven und Kryptosystemen willkürlich; der RSA-Algorithmus beispielsweise wird manchmal als Kryptosystem und manchmal als Primitiv angesehen. Pseudozufallsfunktionen, Einwegfunktionen und andere kryptografische Primitive sind gängige Beispiele.
Ein kryptographisches System oder Kryptosystem wird durch Kombinieren eines oder mehrerer kryptographischer Grundelemente erzeugt, um einen komplizierteren Algorithmus zu erzeugen. Kryptosysteme (z. B. El-Gamal-Verschlüsselung) sollen spezifische Funktionalität (z. B. Verschlüsselung mit öffentlichem Schlüssel) bereitstellen und gleichzeitig bestimmte Sicherheitsqualitäten sicherstellen (z. B. CPA-Sicherheit eines zufälligen Oracle-Modells mit gewähltem Klartext-Angriff). Um die Sicherheitsqualitäten des Systems zu unterstützen, verwenden Kryptosysteme die Eigenschaften der zugrunde liegenden kryptographischen Grundelemente. Ein ausgeklügeltes Kryptosystem kann aus einer Kombination zahlreicher rudimentärerer Kryptosysteme generiert werden, da die Unterscheidung zwischen Primitiven und Kryptosystemen etwas willkürlich ist. In vielen Fällen umfasst die Struktur des Kryptosystems eine Hin- und Her-Kommunikation zwischen zwei oder mehr Parteien im Raum (z. B. zwischen dem Sender und dem Empfänger einer sicheren Nachricht) oder über die Zeit (z. B. zwischen dem Sender und dem Empfänger einer sicheren Nachricht). (zB kryptographisch geschützte Backup-Daten).
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/IS/CCF Classical Cryptography Fundamentals Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.
Notizen zur Hauptvorlesung
Kryptographie verstehen von Christof Paar und Jan Pelzl, Online-Kurs in Form von PDF-Folien
https://www.crypto-textbook.com/slides.php
Kryptographie verstehen von Christof Paar und Jan Pelzl, Online-Kurs in Form von Videos
https://www.crypto-textbook.com/movies.php
Wichtigste klassische Kryptographie-Buchreferenz
Kryptographie verstehen von Christof Paar und Jan Pelzl
https://www.crypto-textbook.com/index.php
Zusätzliche Buchreferenz zur angewandten klassischen Kryptographie
Handbook of Applied Cryptography von A. Menezes, P. van Oorschot und S. Vanstone:
https://cacr.uwaterloo.ca/hac/
https://www.amazon.com/exec/obidos/ISBN=0849385237/7181-7381933-595174
https://notendur.hi.is/pgg/Handbook%20of%20Applied%20Cryptography.pdf