Heim  >  Artikel  >  System-Tutorial  >  Historische Verschlüsselungsalgorithmen

Historische Verschlüsselungsalgorithmen

PHPz
PHPznach vorne
2023-12-31 19:23:50689Durchsuche
Einführung Aus Sicherheitsgründen sind Verschlüsselungsalgorithmen eng mit dem Leben der meisten von uns verbunden. Solange Sie online gehen, profitieren Sie davon, denn alle Websites, die https verwenden, verwenden bereits das Verschlüsselungsprotokoll TLS/SSL. Daher genießen wir alle passiv den Schutz der Privatsphäre und die Kommunikationssicherheit, die Verschlüsselungsalgorithmen bieten. Darüber hinaus wird es von der Sicherheitstechnologieebene über die Netzwerkschicht bis zur Hostdateischicht von verschiedenen Verschlüsselungsalgorithmen unterstützt, unabhängig davon, welche Schicht der Verschlüsselungsanwendung oder des Protokolls dahinter steckt.

In diesem Artikel wird versucht, die Entwicklung und Entwicklung dieses Verschlüsselungsalgorithmus zu diskutieren, der eng mit unserem Online-Leben von der Antike bis zur Gegenwart verbunden ist, sowie die wichtigsten Verschlüsselungsalgorithmen, die im gesamten Prozess nacheinander aufgetaucht sind und alle anleiten um diesen interessanten Algorithmus dahinter zu verstehen.

Die Hauptfunktion des Verschlüsselungsalgorithmus besteht darin, Klartext in Chiffretext umzuwandeln, um Informationslecks zu verhindern. Der verschlüsselte Chiffretext ähnelt verstümmelten Zeichen, es handelt sich jedoch nicht um verstümmelte Zeichen. Die meisten verstümmelten Zeichen werden durch eine inkonsistente Kodierung verursacht. Die Kodierung gehört nicht zum Verschlüsselungsalgorithmus, sondern ändert nur das Anzeigeformat. Base64 ist beispielsweise nur eine Kodierung und kann keine Klartextsicherheit garantieren. Wenn ich in Zukunft von der Base64-Verschlüsselung höre, zeigt das, dass sie unprofessionell ist.

Der Verschlüsselungsalgorithmus muss die folgenden drei Punkte sicherstellen:

1. Vertraulichkeit: Stellen Sie sicher, dass der Dieb auch im Falle eines Diebstahls nicht weiß, um welche Daten es sich handelt.

2. Integrität: Stellen Sie sicher, dass der Empfänger selbst dann feststellen kann, dass die Daten während der Übertragung gekapert und verändert wurden, und sich für einen Ersatz entscheiden kann.

3. Verfügbarkeit: Stellen Sie sicher, dass Kosten und Komplexität des Verschlüsselungsalgorithmus im nutzbaren Bereich liegen.

Verschlüsselungsalgorithmen, die die oben genannten Anforderungen erfüllen, haben eine lange historische Entwicklungsphase von der klassischen Kryptographie zur modernen Kryptographie durchlaufen.

Wie verschlüsselten die alten Menschen? 1. Der früheste Verschlüsselungsalgorithmus in der Geschichte

Alternative Methode
Die frühesten Verschlüsselungsalgorithmen wurden hauptsächlich im Militär eingesetzt. Die frühesten Aufzeichnungen über Verschlüsselungsalgorithmen in der Geschichte stammen aus „Yin Fu“ und „Yin Shu“ im Militärbuch „Six Tao. Long Tao“ der Zhou-Dynastie. Es zeichnet auf:

Tai Gong sagte: „Der Herr und die Generäle haben Yin-Talismane, die vom achten Grad sind. Der Talisman zum Besiegen des Feindes ist einen Fuß lang. Der Talisman zum Besiegen der Armee und zur Gefangennahme des Generals ist neun Zoll lang. Der Talisman.“ für die Übergabe der Stadt, um die Stadt zu erobern, ist der Talisman, der verwendet wird, um zu melden, dass der Feind weit entfernt ist, sieben Zoll lang. Der Talisman, der verwendet wird, um den Feind zu beschwören Der vom besiegten General verwendete Talisman ist 10 cm lang. Wenn jemand, dem der Talisman anvertraut ist, davon erfährt, wird er bestraft geheim, damit der Feind die Weisheit der Chinesen und des Fremden nicht offenbaren kann.“

König Wu fragte Taigong: „... der Talisman kann nicht verstanden werden; wir sind weit weg und Worte können nicht verstanden werden. Was kann man tun?“ Taigong sagte: „Wenn Sie geheime Angelegenheiten und ernsthafte Bedenken haben, sollten Sie Bücher verwenden.“ Anstelle von Talismane überlässt der Herr dem General Fragen. Die drei Teile werden in drei Teile geteilt ist weise und weise, niemand kann es verstehen

Einfach ausgedrückt verwenden Yin-Symbole acht Symbole gleicher Länge, um unterschiedliche Nachrichten und Anweisungen auszudrücken. Sie sind eine Substitutionsmethode in der Kryptographie. In der Anwendung wandeln sie Informationen in Symbole um, die der Feind nicht verstehen kann kritische Bedeutungen. Als Ergänzung zum Yin-Talisman verwendet Yin Shu die Textteilungsmethode, um einen Text direkt in drei Teile aufzuteilen, die über drei Kanäle an das Ziel gesendet werden. Der Feind kann den Text nur knacken, indem er drei Teile des Textes am Ziel abfängt gleiche Zeit.

Shift-Methode

Zufälligerweise werden Verschlüsselungsalgorithmen auch in Kriegen im äußersten Westen in großem Umfang eingesetzt. Herodots „Geschichte“ berichtet, dass griechische Stadtstaaten und das Persische Reich im fünften Jahrhundert v. Chr. häufig Kriege führten. Die griechischen Stadtstaaten nutzten die Verschiebungsmethode zur Verschlüsselung von Kriegskommunikationsinformationen, was es für das Persische Reich schwierig machte, Militär zu erhalten Informationen von der anderen Seite können nicht im Voraus erfolgen. Jeder Textabschnitt, der von griechischen Stadtstaaten zur Übermittlung militärischer Informationen und Befehle verwendet wird, besteht aus einer festen Anzahl von Wörtern, und die Person, die das Geheimnis erhält, erhält eine Anweisung zur Textverschiebung in der Hand. Nachdem der Entschlüsseler den Chiffretext erhalten hat, entschlüsselt er ihn gemäß den Schichtanweisungen und entschlüsselt den militärischen Befehl oder die militärische Nachricht.

2. Die Caesar-Chiffre, die sich aus alten Chiffren entwickelt hat Klassische Passwörter verwenden hauptsächlich Bewegungs- und Ersetzungsmethoden. Unter diesen besteht die Verschiebungsmethode darin, den Klartext um eine bestimmte Anzahl von Bits in eine feste Richtung zu verschieben. Beispielsweise wird „Ich liebe dich“ um 4 Bits nach rechts verschoben und wird zu M pszi csy. Nach schrittweiser Entwicklung und Verbesserung ist die Caesar-Chiffre die bekannteste. Aber die englischen oder lateinischen Buchstaben erscheinen uneinheitlich. Nehmen wir als Beispiel das englische Alphabet: Der Buchstabe e kommt häufiger vor als andere Buchstaben. Nachdem genügend Chiffretextproben erhalten wurden, kann die Verschiebungsregel durch Frequenzberechnung genau ermittelt werden, um den Chiffretext zu knacken. Daher verwenden die meisten Caesar-Chiffrierer die Substitutionsmethode, um eine Klartext-Chiffretext-Zuordnungstabelle zu definieren:

Historische Verschlüsselungsalgorithmen

Diese Methode kann das Problem der erschöpfenden Schlüssel bis zu einem gewissen Grad lösen, ist aber immer noch hilflos gegen Frequenzangriffe mit großen Datenmengen. Später wurde dieser Modus entwickelt, der auf der Einführung einiger spezifischer Parameter beruhte, um die Frequenz zu stören und die Schwierigkeit der Entschlüsselung zu erhöhen.

In der späteren Periode der klassischen Kryptographie wurde eine Reihe von Kryptographietypen wie Vigenère-Chiffre, ROT5/13/18/47 und Morsecode entwickelt. Sie basieren jedoch alle auf der Substitutionsmethode und der Shift-Methode, und die Sicherheit wird hauptsächlich durch die Geheimhaltung des Algorithmus gewährleistet.

Ein wissenschaftlicherer Verschlüsselungsalgorithmus für moderne Menschen

Klassische Verschlüsselungsalgorithmen sind im Wesentlichen Veränderungen sprachlicher Muster. Erst Mitte des 20. Jahrhunderts veröffentlichte Shannon den Artikel „Communication Theory of Secret Systems“, der die Verlagerung des Schwerpunkts von Verschlüsselungsalgorithmen hin zur angewandten Mathematik markierte. Infolgedessen haben sich nach und nach drei Arten von Verschlüsselungsalgorithmen herausgebildet, die heute wichtig sind: asymmetrische Verschlüsselung, symmetrische Verschlüsselung und Hash-Algorithmen. Diese drei Arten von Algorithmen werden oft in Kombination verwendet, um die besten Ergebnisse zu erzielen.

1. Symmetrischer Verschlüsselungsalgorithmus

Der symmetrische Verschlüsselungsalgorithmus ist einer der am häufigsten verwendeten Verschlüsselungsalgorithmen. Zu den häufig verwendeten Algorithmen gehören DES-Algorithmus, AES-Algorithmus, 3DES-Algorithmus, TDEA-Algorithmus, Blowfish-Algorithmus, RC5-Algorithmus, IDEA-Algorithmus usw. Sein Merkmal besteht darin, dass sowohl die Verschlüsselungs- als auch die Entschlüsselungspartei denselben Schlüssel für die Verschlüsselung und Entschlüsselung verwenden. Nach unterschiedlichen Prinzipien kann die symmetrische Verschlüsselung grob in zwei Typen unterteilt werden: Stream-Verschlüsselung und Blockverschlüsselung.

Stream-Verschlüsselung
Stream-Verschlüsselung ist eine Art symmetrischer kryptografischer Algorithmus, der Klartext Zeichen für Zeichen und entsprechend verschlüsselt. Der Chiffretext kann erhalten werden, indem vereinbarte Operationen am Klartext und am Schlüssel Stück für Stück ausgeführt werden. Unter den Stream-Verschlüsselungsalgorithmen sind RC4 und GSM die bekanntesten. Das einfachste Modell ist das XOR-Stream-Verschlüsselungsbeispiel, wie zum Beispiel:

Historische Verschlüsselungsalgorithmen

Das Prinzip der Stream-Verschlüsselung ist einfach, aber ihre Algorithmusstruktur weist Schwächen auf. Solange ein Teil des Klartextes durchgesickert ist, kann ein Angreifer den Schlüssel leicht berechnen. Da die Daten bitweise verschlüsselt werden, wird die ursprüngliche Datenstruktur auch dann nicht zerstört, wenn ein Angreifer die Daten manipuliert, was es für den Empfänger schwierig macht, die Änderungen zu erkennen. Obwohl die Stream-Verschlüsselung schnell und effizient ist, ist sie weniger sicher und wird nicht für die Verschlüsselung kritischer Informationen empfohlen.

Blockverschlüsselung
Die interne Implementierung der Blockverschlüsselung ist viel komplizierter. Jeder Verschlüsselungsblock durchläuft mindestens 16 Operationsrunden, darunter DES und AES. Derzeit wird die Verwendung von AES empfohlen, DES ist nicht mehr sicher.

DES

DES ist ein früherer symmetrischer Verschlüsselungsstandard. Der Kern ist hauptsächlich in drei Schritte unterteilt: Anfangspermutation, Rundungsfunktion und Umkehrpermutation. Da sich die Computerleistung weiter verbessert, wird das Brute-Force-Knacken von DES immer einfacher. Daher ist DES nicht mehr sicher und wurde im letzten Jahrzehnt schrittweise durch 3DES und AES ersetzt.

AES

AES wurde von vielen Parteien analysiert und demonstriert und ist weltweit weit verbreitet. Es ist derzeit einer der sichersten symmetrischen Verschlüsselungsalgorithmen. Im letzten Jahrzehnt hat sich AES zu einem der beliebtesten Algorithmen für die Verschlüsselung mit symmetrischen Schlüsseln entwickelt. Im Gegensatz zu DES verwendet AES ein Substitutions-Permutations-Netzwerk anstelle der Feistel-Architektur.

Die meisten AES-Berechnungen werden in einer speziellen endlichen Domäne durchgeführt. Der Verschlüsselungsprozess basiert auf einer 4×4-Byte-Matrix. Diese Matrix wird auch „Zustand“ genannt und ihr Anfangswert ist ein Klartextblock. Bei der Verschlüsselung besteht jeder AES-Verschlüsselungszyklus (außer dem letzten) aus 4 Schritten:

AddRoundKey – Jedes Byte in der Matrix wird mit dem Rundenschlüssel XOR-verknüpft; jeder Unterschlüssel wird durch das Schlüsselgenerierungsschema generiert.

SubBytes – Ersetzen Sie jedes Byte mithilfe einer Nachschlagetabelle durch eine nichtlineare Ersetzungsfunktion durch das entsprechende Byte.

ShiftRows – verschiebt jede Spalte der Matrix kreisförmig.

MixColumns – Eine Operation, die einzelne Zeilen in einer Matrix vollständig mischt und dabei eine lineare Transformation verwendet, um die vier Bytes jeder Spalte zu mischen. Der MixColumns-Schritt wird in der letzten Verschlüsselungsschleife weggelassen und durch einen anderen ddRoundKey ersetzt.

Verschlüsselungsmodus

AES und DES unterstützen beide intern unterschiedliche Verschlüsselungsmodi, und die Sicherheit und Effizienz jedes Modus sind sehr unterschiedlich. Zu den beiden gebräuchlichsten Modi, ECB und CBC, gehört der ECB-Modus mit hoher Verschlüsselungseffizienz, aber geringer Sicherheit. Der Modus ist wie folgt:

Historische Verschlüsselungsalgorithmen

Key verschlüsselt jedes Mal einzelne Blöcke, die von der anderen Partei leicht geknackt werden können. Da jedoch keine Korrelation zwischen den einzelnen Modulen besteht, können sie gleichzeitig betrieben werden, was die Verschlüsselungseffizienz erheblich verbessert. Normalerweise ist die Verschlüsselungseffizienz von ECB fünf- bis sechsmal höher als die von CBC. Aber CBC ist höher und sicherer als ECB. Das Muster ist wie folgt:

Historische Verschlüsselungsalgorithmen

Jeder Verschlüsselungsblock führt einen anderen IV ein, der eine Iteration des vorherigen Blocks erfordert, um schließlich den gesamten Verschlüsselungsprozess abzuschließen. Da sich die IV jedes Blocks auf den Chiffretextblock bezieht, kann der gleichzeitige Modus nicht verwendet werden und der gesamte Prozess muss serialisiert werden. Wenn es nicht um extrem hohe Leistungsanforderungen geht, empfiehlt es sich, den sichereren und zuverlässigeren CBC-Modus zu verwenden.

2. Asymmetrischer Verschlüsselungsalgorithmus

Der größte Unterschied zwischen dem asymmetrischen Verschlüsselungsalgorithmus und dem symmetrischen Verschlüsselungsalgorithmus besteht darin, dass der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel nicht mehr eins sind. Bei dieser Methode geht es hauptsächlich um das Modell „Mehrere Verschlüsseler, ein Entschlüsseler“. In dieser Viele-zu-Eins-Beziehung entstand also ein öffentliches Schlüsselsystem. Ein öffentlicher Schlüssel entspricht einem privaten Schlüssel. Der öffentliche Schlüssel ist öffentlich und jeder Datensender verwendet den öffentlichen Schlüssel zum Verschlüsseln der Daten. Der mit dem öffentlichen Schlüssel verschlüsselte Inhalt kann jedoch nur mit dem privaten Schlüssel entschlüsselt werden. Die Mathematik dahinter, von der Zerlegung großer Zahlen bis hin zu diskreten Logarithmusproblemen auf komplexen elliptischen Kurven, ist sehr komplex. Zu den gängigen asymmetrischen Verschlüsselungsalgorithmen gehören der DSA-Algorithmus, der RSA-Algorithmus, der Elgamal-Algorithmus, der Backpack-Algorithmus, der Rabin-Algorithmus, der D-H-Algorithmus, der ECC-Algorithmus usw. Die Ausführungseffizienz asymmetrischer Verschlüsselungsalgorithmen schränkt die tatsächliche Anwendung des Algorithmus ein, sodass die meisten von ihnen zur Identitätsauthentifizierung und nicht in der Kommunikation verwendet werden.

3. Hash-Algorithmus

Der Hash-Algorithmus ist auch einer der am häufigsten verwendeten Verschlüsselungsalgorithmen. Es dient nicht der Datenübertragung, sondern der Überprüfung, ob die Daten manipuliert wurden, um zu verhindern, dass Kriminelle die Daten manipulieren. Das Merkmal besteht darin, dass der Originaltext unabhängig von der Länge zu einer Zeichenfolge fester Länge wird, die nur verschlüsselt, aber nicht entschlüsselt werden kann (nur einseitiger Vorgang). Zu den gängigen Hashing-Algorithmen gehören MD5, SHA-1, SHA 224/256/512 usw. Die ersten beiden haben sich als nicht mehr sicher erwiesen und es wird empfohlen, hochsichere Algorithmen wie SHA 256/512 zu verwenden.

Die oben genannten Verschlüsselungsalgorithmen werden in verschiedenen Bereichen häufig eingesetzt.

Datenbankverschlüsselungsalgorithmus

Mit der rasanten Entwicklung von Cloud und Big Data migrieren Datenbanken nach und nach von sicheren LAN-Umgebungen zu privaten Clouds und sogar öffentlichen Clouds. Wenn Datenbanken in die Cloud migriert werden, stehen sie vor größeren Sicherheitsherausforderungen. Wichtige Daten werden in der Datenbank gespeichert und es gibt viele versteckte Sicherheitsrisiken in Cloud-Hosts. Daher ist die Cloud-Datenbankverschlüsselung zu einem guten Mittel zur Lösung von Sicherheitsrisiken geworden.

Symmetrischer Verschlüsselungsalgorithmus

Im Gegensatz zur Dateiverschlüsselung und Kommunikationsverschlüsselung erfordert die Datenbankverschlüsselung besondere Aufmerksamkeit für die Erweiterung des Verschlüsselungsalgorithmus und stellt strenge Anforderungen an die Leistung des Verschlüsselungsalgorithmus. Als Anhua Jinhe 2009 Datenbankverschlüsselungsprodukte entwickelte, schloss er den Stream-Verschlüsselungsalgorithmus zunächst aus den symmetrischen Algorithmen aus. Der Grund dafür ist, dass dieser Algorithmus zwar natürliche Vorteile bei der Betriebseffizienz und bei der Lösung der Datenerweiterung hat, aber unter bestimmten Umständen Nachteile hat.

Um eine Verschlüsselungseffizienz zu erreichen, verwenden einige inländische Sicherheitshersteller immer noch diese Methode, aber die grundlegendsten Sicherheitsanforderungen werden ignoriert. Ein sichererer Ansatz besteht darin, Blockverschlüsselung (AES) in der symmetrischen Verschlüsselung für die entsprechende Verschlüsselungsverarbeitung zu verwenden. Die Blockverschlüsselung weist eine hohe Sicherheit auf und ist relativ sicher, muss jedoch das durch Datenblockgrößenbeschränkungen verursachte Erweiterungsproblem lösen. Dies erfordert die Entwicklung eines ausreichend ausgefeilten Nutzungsplans auf der Grundlage spezifischer Situationen oder Felder, um das Erweiterungsproblem für verschiedene Felder oder Typen zu lösen und letztendlich eine perfekte Datenbankverschlüsselungslösung zu bilden.

Inländischer Passwortalgorithmus

Kryptografische Algorithmen sind die Kerntechnologie zur Gewährleistung der Informationssicherheit und spielen in verschiedenen Branchen eine entscheidende Rolle beim Schutz nationaler Geheimnisse und Kerndaten. Es gibt relativ viele davon Großes Sicherheitsrisiko. Aus Sicht der nationalen Sicherheit und der langfristigen Strategie haben daher relevante staatliche Behörden und Regulierungsbehörden Anforderungen gestellt, um die Anwendung und Implementierung nationaler Geheimalgorithmen zu fördern und die Sicherheit und Kontrollierbarkeit der Branche zu stärken. Wenn es um die Auswahl und Bewertung inländischer Datenbankverschlüsselungsprodukte durch Benutzer geht, basieren viele davon auf der Unterstützung nationaler Geheimalgorithmen. Dies ist für Benutzer in verwandten Branchen wie der Regierung, der Militärindustrie und der Vertraulichkeitsbranche sehr wichtig Um eine übermäßige Abhängigkeit von ausländischen Technologien und Produkten zu vermeiden, sollten Verschlüsselungsalgorithmen als wichtige Sicherheitstechnologien im Inland hergestellt werden.

Inländische kryptografische Algorithmen beziehen sich insbesondere auf inländische kommerzielle kryptografische Algorithmen, die vom State Cryptographic Bureau anerkannt sind. Im Finanzbereich werden derzeit hauptsächlich die drei öffentlichen Algorithmen SM2, SM3 und SM4 verwendet. Nehmen Sie als Beispiel den SM4-Algorithmus: Der SM4-Blockverschlüsselungsalgorithmus ist ein blocksymmetrischer Verschlüsselungsalgorithmus, der in meinem Land unabhängig entwickelt wurde. Er wird zur Implementierung von Datenverschlüsselungs-/Entschlüsselungsvorgängen verwendet, um die Vertraulichkeit von Daten und Informationen sicherzustellen. Die Grundvoraussetzung für die Sicherheit eines symmetrischen kryptografischen Algorithmus ist, dass er über eine ausreichende Schlüssellänge verfügt. Der SM4-Algorithmus und der AES-Algorithmus haben die gleiche Schlüssellänge von 128 Bit und sind daher sicherer als der 3DES-Algorithmus.

Das obige ist der detaillierte Inhalt vonHistorische Verschlüsselungsalgorithmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen