Grundlegende moderne Verschlüsselungsmethoden. Asymmetrische Verschlüsselungsalgorithmen Welche Art von Verarbeitung kann der Verschlüsselung zugeschrieben werden?

Fast alle verwendeten kryptografischen Verfahren beinhalten das Aufteilen einer Nachricht in eine große Anzahl von Teilen (oder Zeichen) einer festen Größe, von denen jeder separat, wenn nicht sogar unabhängig, verschlüsselt wird. Dies vereinfacht die Aufgabe der Verschlüsselung erheblich, da Nachrichten normalerweise unterschiedliche Längen haben.

Es gibt drei Hauptverschlüsselungsmethoden: Streaming, Blockieren und Verwenden von Feedback.

Die folgenden vier charakteristischen Merkmale stechen hervor kryptographische Methoden.

    Operationen an einzelnen Bits oder Blöcken.

    Abhängigkeit oder Nicht-Abhängigkeit der Verschlüsselungsfunktion von den Ergebnissen der Verschlüsselung der vorherigen Teile der Nachricht.

3. Abhängigkeit oder Unabhängigkeit der Verschlüsselung einzelner Zeichen der Nachricht von ihrer Position im Text. Beispielsweise werden bei der Streaming-Verschlüsselung die verschiedenen Zeichen einer Nachricht basierend auf ihrer Position in der Nachricht verschlüsselt. Diese Eigenschaft wird Positionsabhängigkeit oder Verschlüsselungsunabhängigkeit genannt.

4. Symmetrie oder Asymmetrie der Verschlüsselungsfunktion. Diese wichtige Eigenschaft bestimmt den wesentlichen Unterschied zwischen gewöhnlichen symmetrischen (Einzelschlüssel-)Kryptosystemen und asymmetrischen Zweischlüssel- (Public-Key-Kryptosystemen). Der Hauptunterschied zwischen den beiden besteht darin, dass in einem asymmetrischen Kryptosystem die Kenntnis des Verschlüsselungs- (oder Entschlüsselungs-) Schlüssels nicht ausreicht, um den entsprechenden Entschlüsselungs- (oder Verschlüsselungs-) Schlüssel aufzudecken.

Hauptmerkmale von Kryptosystemen

Kryptosysteme

Operationen mit

Bits oder Blöcke

Abhängigkeit / Unabhängigkeit von Zeichen

Mitteilungen

Positionsabhängigkeit/-unabhängigkeit

Symmetrie/

Asymmetrie

im Einklang

Verschlüsselung

hängt nicht ab

symmetrisch

Block

Verschlüsselung

hängt nicht ab

hängt nicht ab

symmetrisch oder asymmetrisch

Von der Rückseite

Kommunikation aus

Geheimtext

Bits oder Blöcke

hängt nicht ab

symmetrisch

In einem Kryptosystem, das die Eigenschaft der Abhängigkeit der Verschlüsselungsfunktion von den Zeichen der Nachricht hat, kann eine Fehlerfortpflanzung stattfinden. Wenn beispielsweise ein Chiffretext-Bit während der Übertragung verstümmelt wird, kann der Klartext nach der Entschlüsselung mehr verstümmelte Bits enthalten. Einfügungs- und Dropout-Fehler können auch zu einer katastrophalen Fehlerfortpflanzung während der Entschlüsselung führen.

Stream-Chiffren. Die Stromverschlüsselung besteht darin, dass die Bits des Klartextes modulo 2 mit den Bits einer Pseudozufallsfolge addiert werden.

Zu den Vorteilen Stream-Chiffren beinhalten keine Fehlerfortpflanzung, einfache Implementierung und hohe Verschlüsselungsgeschwindigkeit.

Nachteil ist die Notwendigkeit, Timing-Informationen vor dem Nachrichtenheader zu senden, die empfangen werden müssen, bevor eine Nachricht entschlüsselt wird. Denn wenn zwei unterschiedliche Nachrichten mit demselben Schlüssel verschlüsselt werden, dann muss dieselbe Pseudozufallsfolge verwendet werden, um diese Nachrichten zu entschlüsseln. Diese Situation kann eine gefährliche Bedrohung für die kryptografische Stärke des Systems darstellen, und daher wird häufig ein zusätzlicher, zufällig ausgewählter Nachrichtenschlüssel verwendet, der am Anfang der Nachricht übertragen wird und zum Modifizieren des Verschlüsselungsschlüssels verwendet wird. Dadurch werden unterschiedliche Nachrichten mit unterschiedlichen Sequenzen verschlüsselt.

Stream-Chiffren werden häufig in militärischen Systemen und anderen Systemen verwendet, die ihnen in ihrem beabsichtigten Zweck nahe stehen, um Daten und digitalisierte Sprachsignale zu verschlüsseln. Bis vor kurzem waren solche Anwendungen für dieses Verschlüsselungsverfahren vorherrschend. Dies liegt insbesondere an der relativen Einfachheit des Aufbaus und der Implementierung von Generatoren guter Verschlüsselungssequenzen. Aber der Hauptfaktor ist natürlich die fehlende Fehlerfortpflanzung in der Stream-Chiffre.

Da für die Übertragung von Daten und Sprachnachrichten in taktischen Kommunikationsnetzen Kanäle relativ geringer Qualität verwendet werden, ist ein kryptografisches System, das die ohnehin schon hohe Fehlerrate erhöht, nicht anwendbar. In solchen Fällen ist es zwingend erforderlich, ein Kryptosystem zu verwenden, das keine Fehler propagiert.

Die Vervielfachung von Fehlern kann jedoch ein positives Phänomen sein. Angenommen beispielsweise, verschlüsselte Daten müssen über einen Kanal mit einer sehr geringen Fehlerwahrscheinlichkeit (z. B. 10 5 ) übertragen werden, und es ist sehr wichtig, dass die Daten absolut genau empfangen werden. Dies ist eine typische Situation für Computernetzwerke, wo ein Fehler in einem einzelnen Bit zu katastrophalen Folgen führen kann und daher der Kommunikationskanal sehr zuverlässig sein muss. In einer solchen Situation ist ein Fehler genauso gefährlich wie 100 oder 1000 Fehler. Aber 100 oder 1000 Fehler lassen sich leichter finden als ein Fehler. Daher ist in diesem Fall die Fehlerfortpflanzung kein Nachteil der Chiffre mehr.

Das Standardverfahren zum Generieren von Sequenzen für die Stromverschlüsselung ist das im DES-Datenverschlüsselungsstandard verwendete Verfahren im Rückkopplungsmodus von der Ausgabe.

Blockchiffren. Bei der Blockchiffrierung wird der Klartext zunächst in Blöcke gleicher Länge aufgeteilt, dann wird eine schlüsselabhängige Chiffrierfunktion angewendet, um den Klartextblock der Länge umzuwandeln T Bit in einen Geheimtextblock gleicher Länge. Eine wichtige Eigenschaft von Blockchiffren ist, dass jedes Bit eines Chiffretextblocks eine Funktion aller (oder fast aller) Bits des entsprechenden Klartextblocks ist und keine zwei Klartextblöcke durch denselben Chiffretextblock dargestellt werden können. Der Blockverschlüsselungsalgorithmus kann auf verschiedene Arten verwendet werden. Die vier Verschlüsselungsmodi im DES-Standard sind eigentlich auf jede Blockchiffre anwendbar.

Diese Modi werden wie folgt benannt:

    direkter Verschlüsselungsmodus oder Verschlüsselung mit einem elektronischen Buch der EZB-Codes (Elektronisches Codebuch),

    Verschlüsselung mit der Verkettung von Geheimtextblöcken CBC (Cipher block chaining),

    Verschlüsselung mit Rückmeldung aus Ciphertext CFB (Cipher Feedback),

    Verschlüsselung mit Rückmeldung vom Ausgangs-OFB (Output feedback).

Hauptvorteil direkte Blockverschlüsselung (elektronisches Codebuch) ist, dass in einem gut konzipierten Blockverschlüsselungssystem kleine Änderungen im Chiffretext große und unvorhersehbare Änderungen im entsprechenden Klartext verursachen und umgekehrt.

Allerdings ist die Verwendung einer Blockverschlüsselung in diesem Modus mit verbunden gravierende Mängel. Zum einen ist aufgrund der festen Natur der Verschlüsselung auch bei einer relativ großen Blocklänge, beispielsweise 50-100 Bit, eine "Wörterbuch"-Kryptanalyse in eingeschränkter Form möglich.

Es ist klar, dass ein Block dieser Größe aufgrund der großen Redundanz in einem typischen Text in natürlicher Sprache in einer Nachricht wiederholt werden kann. Dies kann zu identischen Klartextblöcken der Länge führen T Bits in der Nachricht werden durch identische Chiffretextblöcke dargestellt, wodurch der Kryptoanalytiker einige Informationen über den Inhalt der Nachricht erhält.

Ein weiterer potenzieller Nachteil dieser Chiffre hängt mit der Fehlerfortpflanzung zusammen (dies ist eines der Probleme für alle Arten von Chiffren außer Stream-Chiffren). Das Ergebnis der Änderung nur eines Bits im empfangenen Chiffretextblock ist die falsche Entschlüsselung des gesamten Blocks. Daraus ergibt sich wiederum 1 to T verstümmelte Bits im wiederhergestellten Originaltext.

Aufgrund der festgestellten Mängel werden Blockchiffren in diesem Modus selten verwendet, um lange Nachrichten zu verschlüsseln. In Finanzinstituten, wo Nachrichten oft aus einem oder zwei Blöcken bestehen, sind jedoch Blockverschlüsselungen (insbesondere der DES-Algorithmus) in dieser einfachen Variante weit verbreitet. Da eine solche Anwendung die Möglichkeit beinhaltet, den Verschlüsselungsschlüssel häufig zu ändern, ist die Wahrscheinlichkeit, zwei identische Klartextblöcke auf demselben Schlüssel zu verschlüsseln, sehr gering. Blockchiffren werden am häufigsten in Ciphertext-Feedback-Verschlüsselungssystemen verwendet.

Auch Bildung ist möglich gemischte (hybride) Systeme aus Stream- und Blockverschlüsselung Verwenden der besten Eigenschaften jeder dieser Chiffren. In solchen Systemen wird Stromverschlüsselung mit pseudozufälligen Permutationen kombiniert. Der Klartext wird zunächst wie bei der herkömmlichen Stream-Verschlüsselung verschlüsselt, dann wird der resultierende Chiffretext in Blöcke fester Größe aufgeteilt. In jedem Block wird eine pseudozufällige Permutation unter der Kontrolle des Schlüssels durchgeführt (verschiedene Permutationen für einzelne Blöcke werden bevorzugt).

Die Reihenfolge dieser beiden Operationen kann umgekehrt werden, ohne die grundlegenden Eigenschaften des Systems zu beeinflussen. Das Ergebnis ist eine Chiffre, die keine Fehler weitergibt, aber eine zusätzliche Eigenschaft hat, die eine Stream-Chiffre nicht hat. Diese Eigenschaft besteht darin, dass der Abfangjäger nicht weiß, welches Bit des Klartextes einem Bit des Chiffretextes entspricht. Dadurch wird die verschlüsselte Nachricht komplexer und schwerer zu knacken. Es sollte jedoch beachtet werden, dass dies keine echte Blockchiffre mehr ist, bei der jedes Bit des Chiffretexts eine Funktion nur eines und nicht aller Bits des Klartexts ist.

Ein Kryptosystem mit öffentlichem Schlüssel sollte ein Blockverschlüsselungssystem sein, das mit Blöcken ziemlich großer Länge arbeitet. Dies liegt an der Tatsache, dass ein Kryptoanalytiker, der den öffentlichen Verschlüsselungsschlüssel kennt, eine Entsprechungstabelle zwischen den Blöcken aus Klartext und Chiffretext vorab berechnen und zusammenstellen könnte. Wenn die Länge der Blöcke klein ist (zB 30 Bit), dann ist die Anzahl möglicher Blöcke nicht zu groß (bei einer Länge von 30 Bit sind dies 2 30 -10 9) und können zusammengesetzt werden komplette Tabelle, wodurch es möglich ist, jede verschlüsselte Nachricht mit einem bekannten öffentlichen Schlüssel sofort zu entschlüsseln.

Es wurden viele verschiedene Verschlüsselungssysteme mit öffentlichem Schlüssel vorgeschlagen, von denen das bekannteste das RSA-System ist (Rivest, Shamir, Adleman). Die kryptografische Stärke dieses Systems basiert auf der Schwierigkeit, große Zahlen in Primfaktoren zu zerlegen und zwei große Primzahlen für Verschlüsselungs- und Entschlüsselungsschlüssel auszuwählen.

Es ist bekannt, dass der RSA-Algorithmus nicht für Hochgeschwindigkeitsverschlüsselung verwendet werden kann. Die am besten optimierte Softwareimplementierung dieses Algorithmus erweist sich als langsam, und mehrere Hardwareimplementierungen bieten Verschlüsselungsgeschwindigkeiten von 10 bis 100 Kbps (unter Verwendung von Primzahlen in der Größenordnung von 2 7 , was die Mindestlänge zu sein scheint, um die erforderliche zu gewährleisten kryptografische Stärke). Dies bedeutet, dass die Verwendung des RSA-Systems für die Blockverschlüsselung eingeschränkt ist, obwohl es für die Schlüsselverteilung, Authentifizierung und Generierung verwendet wird Digitale Unterschrift bietet interessante Möglichkeiten. Einige derzeit bekannte kryptographische Algorithmen mit öffentlichem Schlüssel ermöglichen eine höhere Verschlüsselungsgeschwindigkeit als der RSA-Algorithmus. Allerdings sind sie noch nicht so beliebt.

Verschlüsselungssysteme mit Feedback. Feedback-Verschlüsselungssysteme gibt es in verschiedenen praktischen Ausführungen. Wie in Blockchiffriersystemen werden Nachrichten in eine Reihe von Blöcken unterteilt, bestehend aus T Bits, und diese Blöcke in Chiffretextblöcke umzuwandeln, die ebenfalls aus bestehen T Bit werden spezielle Funktionen verwendet. Während jedoch bei einer Blockchiffre eine solche Funktion nur vom Schlüssel abhängt, hängt sie bei Feedback-Chiffren sowohl vom Schlüssel als auch von einem oder mehreren vorangehenden Geheimtextblöcken ab. Diese allgemeine Definition der Closed-Loop-Verschlüsselung umfasst als Spezialfälle eine Vielzahl von unterschiedlichen Arten von Systemen in der Praxis.

Die Verwendung von Blockchiffre-Kryptosystemen mit Feedback gibt eine Reihe wichtiger Vorteile. In erster Linie ist die Fähigkeit, sie zu verwenden, um Nachrichtenmanipulationen durch aktive Abfangjäger zu erkennen. In diesem Fall wird die Tatsache der Fehlerfortpflanzung genutzt, sowie die Fähigkeit solcher Systeme, auf einfache Weise einen Message Authentication Code (MAC) zu generieren. Der zweite Vorteil besteht darin, dass STAK-Chiffren, die anstelle von Blockchiffren verwendet werden, keine anfängliche Synchronisation erfordern. Das heißt, wenn der Anfang der Nachricht beim Empfang weggelassen wird, dann kann der Rest erfolgreich entschlüsselt werden (nach erfolgreichem Empfang der folgenden nacheinander T Chiffretext-Bit. Beachten Sie auch, dass Closed-Loop-Verschlüsselungssysteme nicht nur zum Verschlüsseln von Nachrichten, sondern auch zu deren Authentifizierung verwendet werden.

Blockverschlüsselungssysteme mit Rückkopplung zeichnen sich aus durch gewisse Mängel. Die wichtigste ist die Fehlerfortpflanzung, d.h. Ein Bitfehler während der Übertragung kann von 1 bis verursachen klein + ich Fehler im decodierten Text. Also die Anforderung zu erhöhen T um die kryptografische Stärke zu erhöhen, widerspricht es den Systemanforderungen in Bezug auf die Fehlerfortpflanzung. Ein weiterer Nachteil besteht darin, dass der Entwurf und die Implementierung von Verschlüsselungssystemen mit geschlossener Schleife oft schwieriger ist als bei Stromverschlüsselungssystemen. Obwohl Closed-Loop-Verschlüsselungssysteme verschiedener Typen seit vielen Jahren weit verbreitet sind, gibt es nur sehr wenige dedizierte Algorithmen für solche Systeme. Die veröffentlichten Algorithmen sind in den meisten Fällen von Blockchiffren abgeleitet, die für spezielle Anwendungen konvertiert wurden.

Die erste Schlussfolgerung, die aus der durchgeführten Analyse gezogen werden kann, ist, dass die meisten praktischen Kryptosysteme Algorithmen entweder der Stromverschlüsselung oder der Rückkopplungsverschlüsselung verwenden. Die meisten Stream-Cipher-Kryptosysteme verwenden Algorithmen für den kommerziellen Sektor (einschließlich Algorithmen, die Firmen oder einzelnen Benutzern gehören) oder geheime Regierungsalgorithmen. Diese Situation dürfte sich in den kommenden Jahren fortsetzen.

Es ist auch möglich, dass die meisten Closed-Loop-Verschlüsselungssysteme auf der Verwendung von Blockchiffren in einer speziellen Variante basieren werden, insbesondere der bekanntesten Blockchiffre DES. Was andere Verschlüsselungsverfahren anbelangt, kann gesagt werden, dass sich trotz des schnellen Wachstums von Veröffentlichungen zu Public-Key-Kryptosystemen nur eines von ihnen, das RSA-System, über die Zeit bewährt hat.

Aber der Algorithmus dieses Systems ist mit ernsthaften Implementierungseinschränkungen verbunden und ist daher für einige kryptographische Anwendungen nicht geeignet. Natürlich kann definitiv gesagt werden, dass Public-Key-Kryptosysteme einen erheblichen Einfluss auf Datenverschlüsselungstechniken hatten. Sie werden zunehmend verwendet, hauptsächlich zum Erzeugen digitaler Signaturen oder zum Verwalten von Schlüsseln in herkömmlichen Kryptosystemen (wie beispielsweise einem Schlüsselverschlüsselungsschlüssel).

Potentielle Nutzer der Kryptografie erhalten die Möglichkeit, zwischen Stromchiffren und Feedback-Chiffren (ggf. basierend auf der Verwendung von Blockchiffren) zu wählen. Es gibt jedoch bestimmte Anwendungsbereiche, beispielsweise Finanztransaktionen, wo es möglich ist, Verfahren der direkten Blockverschlüsselung ("elektronisches Codebuch") zu verwenden. Die Wahl des Kryptoalgorithmus hängt weitgehend von seinem Zweck ab. Einige Informationen, die bei der Auswahl des Verschlüsselungstyps als Richtlinie verwendet werden können, sind in der Tabelle aufgeführt.

Unter den verschiedenen Verschlüsselungsverfahren lassen sich folgende Hauptverfahren unterscheiden:

Substitutions- oder Substitutionsalgorithmen - Die Zeichen des Ausgangstextes werden gemäß einem vorgegebenen Schema durch Zeichen eines anderen (oder desselben) Alphabets ersetzt, das der Schlüssel dieser Chiffre sein wird. Unabhängig davon wird dieses Verfahren in modernen Kryptosystemen aufgrund der extrem geringen kryptografischen Stärke praktisch nicht verwendet.

Permutationsalgorithmen - die Zeichen des Originaltextes werden nach einem bestimmten Prinzip, dem geheimen Schlüssel, vertauscht. Der Permutationsalgorithmus selbst hat eine geringe kryptografische Stärke, ist aber als Element in vielen modernen Kryptosystemen enthalten.

Gamma-Algorithmen - die Zeichen des Ausgangstextes werden zu den Zeichen einer zufälligen Folge hinzugefügt. Das bekannteste Beispiel ist die Verschlüsselung von "username.rwl"-Dateien, in denen das Betriebssystem Microsoft Windows 95 speichert Passwörter zu Netzwerkressourcen dieser Benutzer(Passwörter für den Zugang zu NT-Servern, Passwörter für den DFÜ-Zugang zum Internet usw.). Wenn ein Benutzer sein Kennwort eingibt, um sich bei Windows 95 anzumelden, generiert es ein Gamma (immer dasselbe), das verwendet wird, um Netzwerkkennwörter mit dem RC4-Verschlüsselungsalgorithmus zu verschlüsseln. Die Einfachheit der Passwortauswahl liegt in diesem Fall daran, dass Windows immer den gleichen Gamut bevorzugt.

Algorithmen auf der Grundlage von komplexen mathematische Transformationen Quelltext durch irgendeine Formel. Viele von ihnen verwenden ungelöste mathematische Probleme. Beispielsweise basiert der im Internet weit verbreitete Verschlüsselungsalgorithmus RSA auf den Eigenschaften von Primzahlen.

Kombinierte Methoden. Sequentielle Verschlüsselung des Originaltextes mit zwei oder mehr Methoden.

Verschlüsselungsalgorithmen

Schauen wir uns die Methoden genauer an kryptografischer Schutz Daten

1. Ersetzungs- (Substitutions-) Algorithmen

2. Permutationsalgorithmus

3. Gamma-Algorithmus

4. Algorithmen, die auf komplexen mathematischen Transformationen basieren

5. Kombinierte Verschlüsselungsverfahren

Die Algorithmen 1-4 in ihrer „reinen Form“ wurden früher verwendet und sind heute in fast jedem, selbst dem komplexesten Verschlüsselungsprogramm, eingebettet. Jede der betrachteten Methoden implementiert ihre eigene Methode zum kryptografischen Schutz von Informationen und hat ihre eigenen Vor- und Nachteile, aber ihre Gemeinsamkeiten das wichtigste Charakteristisch ist die Haltbarkeit. Dies bezieht sich auf die Mindestmenge an Chiffretext, statistische Analyse die Sie den Originaltext öffnen können. Somit ist es durch die Stärke der Chiffre möglich, die maximal zulässige Menge an Informationen zu bestimmen, die unter Verwendung eines Schlüssels verschlüsselt werden. Bei der Wahl kryptografischer Algorithmus für den einsatz in einer bestimmten entwicklung ist seine langlebigkeit einer der bestimmenden faktoren.

Alle modernen Kryptosysteme sind so konzipiert, dass es keine effizientere Möglichkeit gibt, sie zu knacken, als durch erschöpfende Suche über den gesamten Schlüsselraum, d.h. über alle möglichen Schlüsselwerte. Es ist klar, dass die Stärke solcher Chiffren durch die Größe des darin verwendeten Schlüssels bestimmt wird.

Ich werde Schätzungen über die Stärke der oben diskutierten Verschlüsselungsmethoden abgeben. Die monoalphabetische Substitution ist die am wenigsten sichere Chiffre, da bei ihrer Verwendung alle statistischen Muster des ursprünglichen Textes erhalten bleiben. Bereits bei einer Länge von 20-30 Zeichen manifestieren sich diese Muster so stark, dass Sie in der Regel den Quelltext öffnen können. Daher wird eine solche Verschlüsselung nur zum Verschließen von Passwörtern, kurzen Signalnachrichten und einzelnen Zeichen als geeignet angesehen.

Persistenz einer einfachen polyalphabetischen Substitution (von ähnliche Systeme Substitution gemäß der Vigenere-Tabelle berücksichtigt wurde) wird auf 20n geschätzt, wobei n die Anzahl der verschiedenen Alphabete ist, die für die Ersetzung verwendet werden. Bei Verwendung der Vigenere-Tabelle wird die Anzahl der verschiedenen Alphabete durch die Anzahl der darin enthaltenen Buchstaben bestimmt Stichwort. Die Komplikation der polyalphabetischen Substitution erhöht seine Stabilität erheblich.

Die Stabilität des Spiels wird eindeutig durch die lange Periode des Tonumfangs bestimmt. Derzeit wird die Verwendung einer unendlichen Farbskala Realität, bei deren Verwendung theoretisch auch die Stärke des Chiffretextes unendlich sein wird.

Es kann angemerkt werden, dass Gamuting und komplizierte Permutationen und Substitutionen am besten geeignet sind, um große Informationsarrays zuverlässig zu schließen.

Bei kombinierten Verschlüsselungsverfahren ist die Stärke der Chiffre gleich dem Produkt der Stärken der einzelnen Verfahren. Daher ist die kombinierte Verschlüsselung die sicherste Methode der kryptografischen Schließung. Dieses Verfahren war die Grundlage für den Betrieb aller derzeit bekannten Verschlüsselungsgeräte.

Der DES-Algorithmus wurde sogar vor mehr als 20 Jahren genehmigt, aber während dieser Zeit haben Computer einen unglaublichen Sprung in der Rechengeschwindigkeit gemacht, und jetzt ist es nicht mehr so ​​schwierig, diesen Algorithmus zu brechen, indem alle möglichen Schlüsseloptionen erschöpfend aufgezählt werden (und DES verwendet nur 8 bytes), was vor kurzem völlig unmöglich schien.

GOST 28147-89 wurde von den Geheimdiensten der Sowjetunion entwickelt und ist nur 10 Jahre jünger als DES; während der Entwicklung wurde ein solcher Sicherheitsspielraum eingebaut, dass dieser GOST immer noch relevant ist.

Die betrachteten Chiffrierstärkewerte sind potentielle Werte. Sie können unter strikter Einhaltung der Regeln für den Einsatz kryptografischer Schutzwerkzeuge implementiert werden. Die wichtigsten dieser Regeln sind: Geheimhaltung der Schlüssel, Vermeidung von Duplizierung (d. h. erneutes Verschlüsseln desselben Textstücks mit denselben Schlüsseln) und häufiges Ändern von Schlüsseln.

Abschluss

Daher wurde in dieser Arbeit ein Überblick über die derzeit gebräuchlichsten Methoden des kryptografischen Informationsschutzes und Methoden zu seiner Implementierung gegeben. Die Wahl bestimmter Systeme sollte auf einer gründlichen Analyse der Schwachstellen und Schwachstellen basieren Stärken irgendeine Form von Schutz. Eine vernünftige Wahl des einen oder anderen Schutzsystems sollte im Allgemeinen auf einigen Effizienzkriterien basieren. Leider wurden noch keine geeigneten Methoden zur Bewertung der Effektivität kryptografischer Systeme entwickelt.

Das einfachste Kriterium für eine solche Effizienz ist die Wahrscheinlichkeit, den Schlüssel oder die Mächtigkeit der Schlüsselmenge (M) aufzudecken. Im Wesentlichen ist dies dasselbe wie kryptografische Stärke. Zu seiner numerischen Auswertung kann man auch die Komplexität der Entzifferung der Chiffre durch Aufzählung aller Schlüssel nutzen. Dieses Kriterium berücksichtigt jedoch nicht andere wichtige Anforderungen an Kryptosysteme:

die Unmöglichkeit der Offenlegung oder sinnvollen Änderung von Informationen auf der Grundlage der Analyse ihrer Struktur,

die Perfektion des Gebrauchten Sicherheitsprotokolle,

die Mindestmenge an verwendeten Schlüsselinformationen,

die minimale Komplexität der Implementierung (in der Anzahl der Maschinenoperationen), ihre Kosten,

hohe Effizienz.

Daher ist es natürlich wünschenswert, einige integrale Indikatoren zu verwenden, die diese Faktoren berücksichtigen. Aber in jedem Fall sollte der gewählte Satz kryptografischer Verfahren sowohl Bequemlichkeit, Flexibilität und Effizienz der Verwendung als auch vereinen zuverlässiger Schutz vor Eindringlingen von Informationen, die im System zirkulieren.


Praktischer Teil:

Übung 1.

1) Füllen Sie das X-Feld durch Ausführen aus

1.1 Stellen Sie den ersten Wert manuell ein

1.2 Führen Sie Bearbeiten->Ausfüllen-> aus

2) Füllen Sie das Wertefeld der Funktion g = aus

Abb.1.1 - Die Formel der Funktion g (x)

2.1) Berechnen Sie die Werte von Funktionen

3) Grafische Darstellung

3.1) Wählen Sie Zellen mit Werten von Funktionen aus g

3.2) Wähle einen Diagrammmaster

Abb.1.2 - Diagrammassistent - Grafik

Nächste -> Zeile

Abb.1.3 - Diagrammassistent - Achsenbeschriftung

Hervorheben des X-Achsenwerts

Drücken Sie die Eingabetaste (Eingabe)

3.3) Namenstabellen

3.4) Wählen Sie die Zelle mit der Diagrammformel aus

3.6) Wählen Sie den Reiter -> Gitterlinien, einstellen

X Zwischenlinien, Y Hauptlinien ->Weiter

3.7) Wir platzieren den Graphen der Funktion auf dem bestehenden Blatt -> (Fertig)

4) Als Ergebnis erhalten wir (Abb.1.4)

Abb.1.4 - Graph der Funktion g (x)

1.2.

1) Definieren Sie die Funktionen von Future Charts in den Feldern der Tabelle

Abb.1.5 - Signatur der Funktionen zukünftiger Charts

2) Füllen Sie das X-Feld aus, indem Sie Folgendes ausführen:

2.1 Stellen Sie den ersten Wert manuell ein

2.2 Ausführen von Bearbeiten->Füllen->Progression (nach Spalten, Arithmetik, Schrittweite, Grenzwert) bei x [-2;2]

3) Berechnen Sie die Werte der Funktionen y=2sin( x) - 3cos( x), z = cos²(2 x) - 2sin( x).


Abb.1.6 - Formeln der Funktionen y(x) und z(x)

4) Plotten

4.1 Wählen Sie Zellen mit Werten der Funktionen y und z aus

Auswählen eines Diagrammassistenten

Abb.1.7 - Diagrammassistent - Diagramm

Hervorheben des X-Achsenwerts

Drücken Sie die Eingabetaste (Eingabe)

4.2) Namenstabellen

4.3) Wählen Sie die Zelle mit der Diagrammformel aus

Drücken Sie die Eingabetaste (Enter) und machen Sie dasselbe mit der zweiten Zeile

4.5) Wählen Sie den Reiter -> Gitterlinien, einstellen

X Zwischenlinien, Y Hauptlinien ->Weiter

4.6) Wir platzieren den Graphen der Funktion auf dem bestehenden Blatt -> (Fertig)

5) Als Ergebnis erhalten wir (Abb.1.8)

Abb.1.8 - Graphen der Funktionen y(x) und z(x)

Aufgabe 2.

Erstellung der Liste „Personalabteilung“

Abb.2.1 Liste „Personalabteilung“

· Sortieren

Abb.2.2 - Sortieren nach dem Feld Name

Als Ergebnis erhalten wir (Abb.2.3)

Abb.2.3 - Sortierte Tabelle „Personalabteilung“

·
Suchen Sie mithilfe eines Autofilters nach Informationen (erhalten Sie Informationen über Männer, deren Name mit dem Buchstaben beginnt Buchstabe, Patronym - "Ivanovich", mit einem Gehalt Gehalt);

Abb.2.4 - Autofilter

Suchen Sie mithilfe des erweiterten Filters nach Informationen (finden Sie Informationen aus der Abteilung Abteilung1 im Alter Alter1 Und Alter2, und über Frauen aus der Abteilung Abteilung2 im Alter Alter3);

1) Kriterien für erweiterten Filter 1 eingeben

Als Ergebnis erhalten wir (Abb.2.5)

Abb.2.5 - Erweiterter Filter 1

2) Geben Sie die Kriterien für den erweiterten Filter 2 ein.

Als Ergebnis erhalten wir (Abb. 2.6)

Abb.2.6 - Erweiterter Filter 2

Zusammenfassen (Ermitteln der Anzahl und des Durchschnittsalters der Mitarbeiter in jeder Abteilung);

Abb.2.7 - Ergebnisse

DMIN- Funktion Gibt die kleinste Zahl in einem Feld (Spalte) von Datensätzen in einer Liste oder Datenbank zurück, die die angegebenen Kriterien erfüllt.

Abb.2.8 - Analyse der Liste mit der DMIN-Funktion

Aufgabe 3.

Erstellen Sie zwei verknüpfte Tabellen Sitzung(Abb.3.2) und Studenten(Abb.3.4)

Abb.3.1- Tabellenkonstruktor Sitzung

Abb.3.2- Tabelle Sitzung

Abb.3.3 - Tabellenkonstruktor Studenten


Abb.3.4 - Tabelle Studenten

1) Verwendung einer Tabelle Studenten, Erstellen Sie drei Abfragen, nach denen die Vor- und Nachnamen der Schüler der Gruppen 1-E-1, 1-E-2, 1-E-3 abwechselnd aus der Datenbank ausgewählt werden.

Abb.3.5 - Abfragegenerator 1.1


Abb.3.7 - Abfragekonstruktor1.2

Abb.3.9 - Abfragekonstruktor 1.3

2) Verwendung einer Tabelle Studenten, zwei Abfragen erstellen, nach denen abwechselnd die Nachnamen und Vornamen von Frauen und dann die Nachnamen und Vornamen von Männern aus der Datenbank ausgewählt werden.

Abb.3.11 - Abfragekonstruktor 2.1

Abb.3.13 - Abfragekonstruktor 2.2

3) Ich benutze eine Tabelle Studenten, Erstellen Sie zwei Abfragen, nach denen abwechselnd die Nachnamen und Vornamen von Frauen der Gruppe 1-E-2 und dann von Männern der Gruppe 1-E-1 aus der Datenbank ausgewählt werden.

Abb.3.15 - Abfragekonstruktor 3.1

Abb.3.17 - Konstruktor - 3.2

4) Verwenden von verknüpften Tabellen Studenten Und Sitzung, Erstellen Sie eine Abfrage, nach der die Namen, Vornamen, Kreditnummern und Noten in Mathematik von Schülern der Gruppe 1-E-2 aus der Datenbank ausgewählt werden.

Abb.3.19 - Abfragekonstruktor 5

5) Verwenden von verknüpften Tabellen Studenten Und Sitzung, Erstellen Sie eine Abfrage, die aus der Datenbank die Nachnamen, Vornamen, Datensatznummern und Noten in Philosophie von Studenten (Männern) der Gruppe 1-E-2 auswählt.

Abb.3.21 - Abfragekonstruktor 8

6) Verwenden von verknüpften Tabellen Studenten Und Sitzung, Erstellen Sie eine Abfrage, die aus der Datenbank die Namen, Vornamen, Datensatznummern von Studenten auswählt, die in Philosophie die Note "ausreichend" (3) erhalten haben.

Abb.3.23 - Abfragekonstruktor 10

7) Verwenden von verknüpften Tabellen Studenten Und Sitzung, Erstellen Sie eine Abfrage, die aus der Datenbank die Namen, Vornamen, Datensatznummern von Studenten auswählt, die in zwei Fächern gleichzeitig die Note "gut" (4) erhalten haben: Philosophie und Mathematik.

Abb.3.25 - Abfragekonstruktor 14

8) Verwenden von verknüpften Tabellen Studenten Und Sitzung, Erstellen Sie eine Abfrage, die aus der Datenbank die Namen, Vornamen, Datensatznummern von Schülern auswählt, die in einem von zwei Fächern, Mathematik oder Informatik, die Note „nicht ausreichend“ (2) erhalten haben.

Abb.3.27 - Abfragekonstruktor 18

9) Verwenden von verknüpften Tabellen Studenten Und Sitzung, Erstellen Sie eine Abfrage, die aus der Datenbank Nachnamen, Vornamen, Datensatznummern von Schülern auswählt, die in allen Fächern die Note "gut" (4) erhalten haben.

Abb.3.29 - Abfragekonstruktor 22

10) Verwendung einer Tabelle Sitzung, Erstellen Sie eine Abfrage mit dem Namen Durchschnittsnote die durchschnittliche Punktzahl jedes Schülers basierend auf den Ergebnissen von vier bestandenen Prüfungen zu berechnen. Die Anforderung muss das Feld enthalten Rekordbuch, die später verwendet wird, um mehrere Tabellen zu verknüpfen.

Abb.3.31 - Sitzungstabellen-Konstruktor

11) Verwenden von verknüpften Tabellen Studenten, Sitzung und anfordern Durchschnittsnote, erstellen Sie eine Abfrage, die Nachnamen, Vornamen, Datensatznummern, Gruppennummern von Schülern mit einer durchschnittlichen Punktzahl von 3,25 aus der Datenbank auswählt.

Abb.3.33 - Abfragekonstruktor 25

12) Verwenden von verknüpften Tabellen Studenten, Sitzung und anfordern Durchschnittsnote, erstellen Sie eine Abfrage, die die Mathematiknote, die durchschnittliche Punktzahl und die Gruppennummer des Schülers Ivanov aus der Datenbank auswählt.

Abb.3.35 - Abfragekonstruktor 29

13) Verwenden von verknüpften Tabellen Studenten, Sitzung und anfordern Durchschnittsnote, erstellen Sie eine Abfrage, die aus der Datenbank Nachnamen, Namen von Schülern mit einer durchschnittlichen Punktzahl von weniger als 3,75 auswählt.

Abb.3.37 - Abfragekonstruktor 33

14) Verwendung einer Tabelle Studenten, um den Nachnamen, den Namen und die Aktennummer der Studentin zu bestimmen, wenn bekannt ist, dass ihr Patronym Viktorovna ist.

Abb.3.39 - Abfragekonstruktor 35

Aufgabe 4.

Um eine Zahl von einem dezimalen Zahlensystem in ein Zahlensystem mit anderer Basis umzuwandeln, gehen Sie wie folgt vor:

a) Um den ganzzahligen Teil einer Zahl zu übersetzen, wird sie vollständig durch die Basis des Systems geteilt, wobei der Rest festgelegt wird. Wenn der unvollständige Quotient nicht gleich Null ist, teilen Sie ihn weiter vollständig. Wenn gleich Null, werden die Reste in umgekehrter Reihenfolge geschrieben.

b) Um den Bruchteil der Zahl zu übersetzen, wird er mit der Basis des Zahlensystems multipliziert, während die ganzzahligen Teile der resultierenden Produkte festgelegt werden. Ganzzahlige Teile nehmen an der weiteren Multiplikation nicht teil. Die Multiplikation wird durchgeführt, bis 0 im Bruchteil des Produkts erhalten wird oder bis die angegebene Rechengenauigkeit erreicht ist.

c) Die Antwort wird als Addition der übersetzten ganzen Zahl und des übersetzten Bruchteils der Zahl geschrieben.

49812,22₁₀ = 1100001010010100,001₂ 49812,22₁₀ = 141224,160₈

0,
0,

49812,22₁₀ = С294, 385₁₆

0,

Aufgabe 5.

Um eine Zahl von einem Zahlensystem mit anderer Basis in ein dezimales Zahlensystem umzuwandeln, wird jeder Koeffizient der übersetzten Zahl mit der Basis des Systems in dem diesem Koeffizienten entsprechenden Umfang multipliziert und die Ergebnisse aufsummiert.

A) 10101001.11001₂ = 1*2^7+1*2^5+1*2^3+1*2^0+1*2^(-1)+1*2^(-2)+1* 2 (-5)= 169,78125₁₀

Um von binär nach oktal zu konvertieren, ist es notwendig, die gegebene Binärzahl rechts und links vom Dezimalpunkt in einen Dreiklang (drei Ziffern) aufzuteilen und jeden Dreiklang mit dem entsprechenden Oktalcode darzustellen. Wenn es nicht möglich ist, in Dreiergruppen zu unterteilen, dürfen bei der ganzzahligen Schreibweise der Zahl links und beim Bruchteil der Zahl rechts Nullen hinzugefügt werden. Bei der Rückübersetzung wird jede Ziffer einer Oktalzahl durch die entsprechende binäre Triade dargestellt.

Tabelle 5.1 – Übersetzung von Zahlen

Dezimalzahlensystem Binäres Zahlensystem Oktalzahlensystem Hexadezimales Zahlensystem
Triaden (0-7) Tetraden (0-15)
A
B
C
D
E
F

B) 674,7₈ = 110111100,111₂=1*2^2+1*2^3+1*2^4+1*2^5+1*2^7+1*2^8+1*2^ (- 1) +1*2^(-2) +1*2^(-3)= 443,875₁₀

110 111 100. 111₂

C) EDF,51₁₆ = 111011011111.01010001₂=1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^6+ +1*2 ^ 7+1*2^9+ +1*2^10+1*2^11+1*2^(-2) 1*2^(-4) 1*2^(-8)= 3807,31640625₁₀

1110 1101 1111 . 0101 0001₂

Aufgabe 6.

Die Grundlage für das Hinzufügen von Zahlen in binäres System ist eine Additionstabelle für einstellige Binärzahlen.

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
Die Addition mehrstelliger Binärzahlen erfolgt gemäß dieser Tabelle unter Berücksichtigung möglicher Übergänge vom niederwertigsten zu den höchsten Bit. Im Oktalzahlensystem gibt es, wie in jedem anderen Stellensystem, eigene Regeln zum Addieren von Zahlen, die durch die Regeln zum Addieren von Ziffern mit gleicher Ordnung in Bezug auf zwei addierte Zahlen dargestellt werden. Diese Regeln sind aus Tabelle 6.1 ersichtlich. Der Bindestrich, der beim Addieren einiger Ziffern dieser Ziffer erscheint, wird durch das Symbol „↶“ dargestellt.
Tabelle 6.1 - Addition im 8. Zahlensystem
+
↶0
↶0 ↶1
↶0 ↶1 ↶2
↶0 ↶1 ↶2 ↶3
↶0 ↶1 ↶2 ↶3 ↶4
↶0 ↶1 ↶2 ↶3 ↶4 ↶5
↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6

Die Regeln für das Addieren von Ziffern zweier Hexadezimalzahlen in denselben Ziffern dieser Zahlen sind aus Tabelle 6.2 ersichtlich. Der Übertrag, der auftritt, wenn einige Ziffern einer gegebenen Ziffer addiert werden, wird durch das Symbol „↶“ angezeigt.

6 8 5 .3 2 2 A ₁₆ + 1 0 1 0 1 0 0 1 0 .1 0 ₂ + 4 7 7 .6₈

D A 4 8 5 , 4 4 6 0 ₁₆ 1 1 0 0 0 0 1 1 0 , 1 1 0 1 0₂6 5 1 , 5 6₈

D A B 0 A , 7 6 8 A₁₆ 1 0 1 1 0 1 1 0 0 1 , 0 1 0 1 0₂ 1 3 5 1 .3 6₈

Tabelle 6.2 - Addition im 16. Zahlensystem

+ A B C D E F
A B C D E F
A B C D E F ↶0
A B C D E F ↶0 ↶1
A B C D E F ↶0 ↶1 ↶2
A B C D E F ↶0 ↶1 ↶2 ↶3
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8
A A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9
B B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A
C C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B
D D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C
E E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D
F F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D ↶E

Aufgabe 7.

Mit der Additionstabelle für Oktalzahlen können Sie diese subtrahieren. Es sei erforderlich, die Differenz zweier Oktalzahlen zu berechnen. Wir finden in der ersten Spalte der Tabelle. 6.1 die Ziffer, die der letzten der subtrahierten Ziffer entspricht, und in ihrer Zeile finden wir die letzte Ziffer der reduzierten - sie befindet sich am Schnittpunkt der Zeile des Subtrahends und der Differenzspalte. So finden wir die letzte Ziffer der Differenz. In ähnlicher Weise wird jede Ziffer der Differenz gesucht.

a) _ 2 5 1 5 1 4 , 4 0₈

5 4 2 5 , 5 5

2 4 3 0 6 6 , 6 3₈

b) _1 0 1 1 0 1 1 0 0 0 , 1 0 0 0 0₂

1 0 1 0 0 1 0 0 1 , 1 0 0 1 1

1 0 1 1 0 0 1 0 0 1 1 , 0 0 0 0 1₂

c) _E 3 1 6 , 2 5 0₁₆

5 8 8 1 , F D C₁₆

8 A 9 4 , 2 7 4

Aufgabe 8.

Die Multiplikation von Zahlen im Binärsystem basiert auf dem Einmaleins der einstelligen Binärzahlen.

0 0 = 0
0 1 = 0
1 0 = 0
1 1 = 1

Die Multiplikation mehrstelliger Binärzahlen erfolgt in
nach dieser Tabelle in der üblichen Weise,
die Sie im Dezimalsystem verwenden.

In jedem Positionszahlensystem steht ein eigenes Einmaleins zur Verfügung, wie wir uns bereits vergewissern konnten. Bei binär ist er am kleinsten, bei oktal (Tab. 8.1) und dezimal ist er schon umfangreicher. Unter den allgemein verwendeten Zahlensystemen der von uns betrachteten ist das größte Einmaleins hexadezimal (Tabelle 8.2).

Tab. 8.1. – Multiplikation im 8. System

×

a) 1 0 1 0 0 1₂

* 1 1 1 0 1 1

1 0 1 0 0 1 .

1 0 0 1 0 1 1 1 0 0 1 1₂

b) 1 0 1 1 1 0 0₂

* 1 1 0 1 1

1 0 1 1 1 0 0 .

1 0 0 1 1 0 1 1 0 1 0 0₂

c) BCD, 5₁₆

*D5A₁₆

9 D 9 3 3 E 2₁₆


Tabelle 8.2 - Multiplikation im 16. System

× A B C D E F
A B C D E F
A C E 1A 1C 1E
C F 1B 1E 2A 2D
C 1C 2C 3C
A F 1E 2D 3C 4B
C 1E 2A 3C 4E 5A
E 1C 2A 3F 4D 5B
1B 2D 3F 5A 6C 7E
A A 1E 3C 5A 6E 8C
B B 2C 4D 6E 8F 9A A5
C C 3C 6C 9C A8 B4
D D 1A 4E 5B 8F 9C A9 B6 C3
E E 1C 2A 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A A5 B4 C3 D2 E1

Aufgabe 9.

Direkter Code ist eine Möglichkeit, binäre Festkommazahlen in der Computerarithmetik darzustellen. Beim Schreiben einer Zahl in einem direkten Code ist die höchstwertige Ziffer Vorzeichen Ziffer. Wenn ihr Wert 0 ist, dann ist die Zahl positiv, wenn sie 1 ist, dann ist sie negativ.

Umgekehrter Code- eine Methode der Computermathematik, mit der Sie eine Zahl von einer anderen subtrahieren können, indem Sie nur die Additionsoperation für natürliche Zahlen verwenden. Beim Schreiben einer Zahl für eine positive Zahl stimmt sie mit dem direkten Code überein, und bei einer negativen Zahl werden alle Ziffern mit Ausnahme der Ziffer durch entgegengesetzte ersetzt.

Zusätzlicher Code (Englisch) Zweierkomplement, Manchmal Zweierkomplement) ist die gebräuchlichste Art, negative ganze Zahlen in Computern darzustellen. Es ermöglicht Ihnen, die Operation der Subtraktion durch die Operation der Addition zu ersetzen und die Operationen der Addition und Subtraktion für vorzeichenbehaftete und vorzeichenlose Zahlen gleich zu machen, was die Computerarchitektur vereinfacht. Wenn Sie eine Zahl für eine positive Zahl schreiben, stimmt sie mit dem direkten Code überein, und für eine negative Zahl wird der zusätzliche Code bestimmt, indem Sie den inversen Code erhalten und 1 hinzufügen.

Bei Addition von Zahlen im Additionscode wird der resultierende 1-Übertrag im Vorzeichenbit verworfen und im Inverscode zum niederwertigsten Bit der Summe der Codes addiert.

Wenn das Ergebnis von Rechenoperationen ein negativer Zahlencode ist, muss dieser in einen direkten Code umgewandelt werden. Der Rückwärtscode wird in allen Ziffern bis auf das Vorzeichen eins mit entgegengesetzten Ziffern in eine direkte Ziffernersetzung umgewandelt. Der Zweierkomplementcode wird durch Hinzufügen von 1 in direkt umgewandelt.

Direktcode:

X=0,10111 1,11110

Y=1,11110 0,10111

Reverse-Code:

X=0,10111 0,10111

Y=1.00001 1,00001

1,11000 1,00111

Zusatzcode:

X=0,10111 0,10111

Y=1.00010 1,00010

1,11001 1,00110

Direktcode:

Reverse-Code:

X=0,110110 0,0110110

Y=0,101110 0,0101110

Zusatzcode:

X=0,110110 0,0110110

Y=0,101110 0,0101110

Aufgabe 10.

Logische Elemente

1. Das logische Element führt KEINE logische Negation durch. Es hat einen Eingang und einen Ausgang. Das Fehlen eines Signals (Spannung) wird mit "0" und das Vorhandensein eines Signals mit "1" bezeichnet. Das Ausgangssignal ist dem Eingangssignal immer entgegengesetzt. Dies ist aus der Wahrheitstabelle ersichtlich, die die Abhängigkeit des Ausgangssignals vom Eingang zeigt.

2. Das ODER-Gatter führt eine logische Addition durch. Es hat mehrere Eingänge und einen Ausgang. Am Ausgang liegt ein Signal an, wenn an mindestens einem Eingang ein Signal anliegt.

Symbol Wahrheitstabelle

3. Das UND-Gatter führt eine logische Multiplikation durch. Das Signal am Ausgang dieses Logikelements wird nur dann anliegen, wenn an allen Eingängen ein Signal anliegt.

Konventionelle Notation Wahrheitstabelle

F=(A v B) ʌ (C v D)

Tabelle 10.1 – Wahrheitstabelle

A B C D A B C D (A gegen B) (CvD) F=(A v B) ʌ (C v D)

In der Algebra der Logik gibt es eine Reihe von Gesetzen, die äquivalente Transformationen logischer Ausdrücke erlauben. Stellen wir die Beziehungen dar, die diese Gesetze widerspiegeln.

1. Gesetz der doppelten Negation: (A) = A

Doppelte Negation schließt Negation aus.

2. Kommutatives (kommutatives) Gesetz:

Für logische Addition: A V B = B V A

Für logische Multiplikation: A&B = B&A

Das Ergebnis der Operation an Anweisungen hängt nicht von der Reihenfolge ab, in der diese Anweisungen genommen werden.

3. Assoziatives (assoziatives) Recht:

Für logische Addition: (A v B) v C = A v (Bv C);

Für logische Multiplikation: (A&B)&C = A&(B&C).

Bei gleichen Vorzeichen können Klammern beliebig gesetzt oder sogar weggelassen werden.

4. Distributives (distributives) Recht:

Für logische Addition: (A v B)&C = (A&C)v(B&C);

Für logische Multiplikation: (A&B) v C = (A v C)&(B v C).

Definiert die Regel zum Einklammern einer allgemeinen Aussage.

5. Gesetz der allgemeinen Inversion (de Morgansche Gesetze):

Für logische Addition: (Av B) = A & B;

Für logische Multiplikation: (A& B) = A v B;

6. Gesetz der Idempotenz

Für logische Addition: A v A = A;

Für logische Multiplikation: A&A = A.

Gesetz bedeutet keine Exponenten.

7. Gesetze zum Ausschluss von Konstanten:

Für logische Addition: A v 1 = 1, A v 0 = A;

Für logische Multiplikation: A&1 = A, A&0 = 0.

8. Widerspruchsgesetz: A&A = 0.

Es ist unmöglich, dass widersprüchliche Aussagen gleichzeitig wahr sind.

9. Das Gesetz des Ausschlusses der Mitte: A v A = 1.

10. Absorptionsgesetz:

Für logische Addition: A v (A&B) = A;

Für logische Multiplikation: A&(A v B) = A.

11. Das Ausschlussrecht (Kleben):

Für logische Addition: (A&B) v (A &B) = B;

Für logische Multiplikation: (A v B)&(A v B) = B.

12. Kontrapositionsgesetz (Umkehrregel):

(A v B) = (Bv A).

(A→B) = A&B

A&(AvB)= A&B

Eine Formel hat eine Normalform, wenn sie keine Äquivalenzzeichen, Implikationen, doppelte Negation enthält, während Negationszeichen nur in Variablen vorkommen.


Ähnliche Informationen.


Der staatliche Verschlüsselungsstandard in Russland ist der als GOST 28147-89 registrierte Algorithmus. Es handelt sich um eine Blockchiffre, das heißt, sie verschlüsselt nicht einzelne Zeichen, sondern 64-Bit-Blöcke. Der Algorithmus bietet 32 ​​Datenkonvertierungszyklen mit einem 256-Bit-Schlüssel, wodurch er sehr zuverlässig ist (er hat eine hohe kryptografische Stärke). Auf modernen Computern würde das Knacken dieser Chiffre durch einen Brute-Force-Angriff mindestens Hunderte von Jahren dauern, was einen solchen Angriff sinnlos macht. Die Vereinigten Staaten verwenden eine ähnliche AES-Blockchiffre.

Der RSA-Algorithmus ist im Internet beliebt und nach den Anfangsbuchstaben der Namen seiner Autoren benannt - R.Rivest, A.Shamir und L.Adleman. Dies ist ein Public-Key-Algorithmus, dessen Stärke auf der Verwendung von Eigenschaften von Primzahlen basiert. Um es zu knacken, müssen Sie eine sehr große Zahl in Primfaktoren zerlegen. Dieses Problem kann jetzt nur durch Aufzählung von Optionen gelöst werden. Da die Zahl der Möglichkeiten riesig ist, brauchen moderne Computer viele Jahre, um die Chiffre zu lösen.

Um den Algorithmus anzuwendenRSA ist erforderlich, um die öffentlichen und privaten Schlüssel wie folgt zu erstellen.

1. Wähle zwei große Primzahlen, p und q.
2. Finde ihr Produkt n = p * q und den Wert f = (p - 1) (q - 1)
3. Wählen Sie die Nummer e (1< e < k), которое не имеет общих делителей с f.
4. Finden Sie eine Zahl d, die die Bedingung d e = k f + 1 für eine ganze Zahl k erfüllt
5. Das Wertepaar (e, n) ist der öffentliche RSA-Schlüssel (kann frei veröffentlicht werden) und das Wertepaar (d, n) ist der private Schlüssel.

Die übertragene Nachricht muss zunächst als Zahlenfolge im Bereich von 0 bis n - 1 dargestellt werden. Zur Verschlüsselung wird die Formel y \u003d x e mod n verwendet, wobei x die Nummer der ursprünglichen Nachricht ist (e, n ) ist der öffentliche Schlüssel, y ist die Nummer der verschlüsselten Nachricht und die Notation x e mod n bezeichnet den Rest der Division von x durch n. Die Nachricht wird mit der Formel x = y d mod n entschlüsselt.
Das bedeutet, dass jeder eine Nachricht verschlüsseln kann (der öffentliche Schlüssel ist öffentlich bekannt), und nur wer den geheimen Exponenten d kennt, kann ihn lesen.
Zum besseren Verständnis zeigen wir die Funktionsweise des RSA-Algorithmus anhand eines einfachen Beispiels.
BEISPIEL: Nehmen wir p = 3 und q = 7, dann finden wir n = p q = 21 und f = (p - 1) (q - 1) = 12. Wir wählen e = 5, dann die Gleichheit d e = kf + 1 gilt beispielsweise für d = 17 (und k = 7). Somit haben wir den öffentlichen Schlüssel (5, 21) und den geheimen Schlüssel (17, 21).

Lassen Sie uns die Nachricht „123“ mit dem öffentlichen Schlüssel (5.21) verschlüsseln. Wir bekommen

1 1 5 mod 21 = 1 ,
2 2 5 Mod21 = 11 ,

3 → 3 5 Mod 21 = 12,
Das heißt, die verschlüsselte Nachricht besteht aus Zahlen 1 ,11 und 12. Wenn wir den geheimen Schlüssel (17, 21) kennen, können wir ihn entschlüsseln:

1 → 1 17 Mod 21 = 1 ,

11 → 11 17 Mod 21 = 2 ,
12 → 12 17 Mod 21 = 3 .

Wir haben die ursprüngliche Nachricht erhalten.

Natürlich ist Ihnen aufgefallen, dass Sie beim Verschlüsseln und Entschlüsseln den Rest der Division sehr großer Zahlen (z. B. 12 17) durch n berechnen müssen. Es stellt sich heraus, dass die Zahl 12 17 selbst in diesem Fall nicht gefunden werden muss. Es reicht aus, eine Einheit in eine gewöhnliche Integer-Variable zu schreiben, zum Beispiel x, und dann die Transformation x = 12*x mod 21 17 mal durchzuführen, danach hat die Variable x den Wert 12 17 mod 21 = 3. Probieren Sie es aus um die Korrektheit dieses Algorithmus zu beweisen.
Um die Nachricht zu entschlüsseln, müssen Sie den geheimen Exponenten d kennen. Und dafür müssen Sie wiederum die Faktoren p und q finden, sodass n = p q ist. Wenn n groß ist, ist dies ein sehr schwieriges Problem, und es wird Hunderte von Jahren dauern, es durch erschöpfende Suche nach Optionen auf einem modernen Computer zu lösen. Im Jahr 2009 gelang es einer Gruppe von Wissenschaftlern aus verschiedenen Ländern, als Ergebnis monatelanger Berechnungen auf Hunderten von Computern, eine mit dem RSA-Algorithmus verschlüsselte Nachricht mit einem 768-Bit-Schlüssel zu entschlüsseln. Daher gelten heute Schlüssel mit einer Länge von 1024 Bit oder mehr als zuverlässig. Wenn ein funktionierender Quantencomputer gebaut wird, wird das Brechen des RSA-Algorithmus in sehr kurzer Zeit möglich sein.
Bei der Verwendung symmetrischer Chiffren tritt immer ein Problem auf: Wie überträgt man den Schlüssel, wenn der Kommunikationskanal unzuverlässig ist? Schließlich kann der Feind nach Erhalt des Schlüssels alle weiteren Nachrichten entschlüsseln. Für den RSA-Algorithmus besteht dieses Problem nicht, es reicht, wenn die Parteien öffentliche Schlüssel austauschen, die allen angezeigt werden können.
Der RSA-Algorithmus hat noch einen weiteren Vorteil: Mit ihm lassen sich Nachrichten digital signieren. Sie dient dazu, die Urheberschaft von Dokumenten nachzuweisen, Nachrichten vor Fälschung und vorsätzlichen Veränderungen zu schützen.

Eine digitale Signatur ist ein Satz von Zeichen, der durch Verschlüsseln einer Nachricht unter Verwendung des persönlichen Geheimcodes des Absenders erhalten wird.

Der Absender kann zusammen mit der ursprünglichen Nachricht dieselbe Nachricht mit seinem privaten Schlüssel (das ist die digitale Signatur) verschlüsselt senden. Der Empfänger entschlüsselt die digitale Signatur mit dem öffentlichen Schlüssel. Wenn es sich um eine unverschlüsselte Nachricht handelt, können Sie sicher sein, dass sie von der Person gesendet wurde, die es weiß Geheim Code. Wenn die Nachricht während der Übertragung geändert wurde, stimmt sie nicht mit der entschlüsselten digitalen Signatur überein. Da die Nachricht sehr lang sein kann, wird zur Reduzierung der übertragenen Datenmenge meistens nicht die gesamte Nachricht verschlüsselt, sondern nur ihr Hash-Code.
Viele moderne Programme haben die Möglichkeit, Daten mit einem Passwort zu verschlüsseln. Zum Beispiel Bürosuiten openoffice.org Und Microsoft Office lassen Sie alles verschlüsseln erstellte Dokumente(um sie anzuzeigen und / oder zu ändern, müssen Sie ein Passwort eingeben). Beim Erstellen eines Archivs (z. B. in archivers 7Zip, WinRAR, WinZip) können Sie auch ein Passwort festlegen, ohne das es unmöglich ist, Dateien zu extrahieren.
In den einfachsten Aufgaben, um Dateien zu verschlüsseln, können Sie verwenden kostenloses Programm Kryptograf(http://www.familytree.ru/ru/cipher.htm), Versionen davon existieren für Linux Und Windows. Programme TnieCrypt(http://www.truecrypt.org/), BestCrypt(www.jetico.com) und KostenlosOTFE(freeotfe.org) erstellen logische Container-Festplatten, deren Informationen verschlüsselt sind. Gratis Software DiskCrypto r (diskcryptor.net) ermöglicht es Ihnen, Partitionen zu verschlüsseln Festplatte und sogar verschlüsselte Flash-Laufwerke und CD/DVDs erstellen.
Programm GnuPG(gnupg.org) ist ebenfalls freie Software. Es unterstützt symmetrische und asymmetrische Chiffren sowie verschiedene digitale Signaturalgorithmen.

Steganographie

YouTube-Video

Beim Senden von Nachrichten können Sie nicht nur Verschlüsselung verwenden, sondern auch die Tatsache des Sendens einer Nachricht verbergen.


Steganographie ist die Wissenschaft der verdeckten Informationsübertragung, indem die eigentliche Tatsache der Informationsübertragung verborgen wird.

Der antike griechische Historiker Herodot beschrieb zum Beispiel eine solche Methode: Eine Nachricht wurde auf den rasierten Kopf eines Sklaven geschrieben, und als sein Haar wuchs, ging er zum Empfänger, der seinen Kopf rasierte und die Nachricht las.
Die klassische Methode der Steganographie ist sympathische (unsichtbare) Tinte, die nur unter bestimmten Bedingungen (Wärme, Beleuchtung, chemischer Entwickler) erscheint. Beispielsweise kann ein mit Milch geschriebener Text beim Erhitzen gelesen werden.
Heutzutage beschäftigt sich die Steganographie damit, Informationen in Text-, Grafik-, Ton- und Videodateien zu verstecken, indem ihnen die notwendigen Botschaften programmatisch „injiziert“ werden.
Der einfachste Weg- Ersetzen Sie niedrige Bits der Datei, in der das Bild codiert ist. Darüber hinaus muss dies so erfolgen, dass der Unterschied zwischen dem Original und den resultierenden Zeichnungen für eine Person nicht wahrnehmbar ist. Wenn beispielsweise in einem Schwarz-Weiß-Bild (256 Graustufen) die Helligkeit jedes Pixels in 8 Bit codiert ist. Wenn Sie die niederwertigsten 1-2 Bits dieses Codes ändern, indem Sie dort eine Textnachricht „einbetten“, wird sich ein Foto, das keine klaren Grenzen hat, kaum ändern. Beim Ersetzen von 1 Bit wird jedes Byte der ursprünglichen Textnachricht in den niederwertigsten Bits von 8-Pixel-Codes gespeichert. Nehmen wir zum Beispiel an, die ersten 8 Pixel eines Bildes haben die folgenden Codes:

10101101

10010100

00101010

01010010

10101010

10101010

10101011

10101111

Um den Code des Buchstabens „I“ (110010002) darin zu codieren, müssen Sie die unteren Bits der Codes ändern:

1010110 1

1001010 1

0010101 0

0101001 0

1010101 1

1010101 0

1010101 0

1010111 0

Der Empfänger muss diese unteren Bits nehmen und sie zu einem Byte "zusammensetzen".
Für Geräusche werden andere Methoden der Steganographie verwendet, basierend auf dem Hinzufügen kurzer bedingter Signale zur Aufnahme, die 1 und 0 anzeigen und nicht wahrgenommen werden.
vergriffen

eine Person nach Gehör. Es ist auch möglich, ein Klangstück durch ein anderes zu ersetzen.
Zur Bestätigung der Urheberschaft und des Urheberrechtsschutzes von Bildern, Videos u Sounddateien Verwenden Sie digitale Wasserzeichen - Informationen über den Autor, die in die Datei eingebettet sind. Ihren Namen haben sie von alten Wasserzeichen auf Geld und Dokumenten. Um die Urheberschaft eines Fotos festzustellen, reicht es aus, es zu entschlüsseln versteckte Informationen mit Wasserzeichen aufgezeichnet.
Manchmal werden digitale Wasserzeichen sichtbar gemacht (Text oder Firmenlogo auf einem Foto oder auf jedem Frame eines Videos). Viele Websites, die Digitalfotos verkaufen, haben sichtbare Wasserzeichen auf Vorschaufotos.


Kontrollfragen:
  1. Welcher Verschlüsselungsalgorithmus wird in Russland als staatlicher Standard übernommen?
  2. Was ist ein Blockverschlüsselungsalgorithmus?
  3. Welche Art von Algorithmus ist RSA? Worauf basiert seine kryptografische Stärke?
  4. Was ist eine digitale Signatur?
  5. Wie kann der RSA-Algorithmus für die digitale Signatur verwendet werden?
  6. Was ist Steganographie?
  7. Welche Methoden der Steganographie gab es vor der Erfindung des Computers?
  8. Wie kann ich einem codierten Bild Text hinzufügen?
  9. Worauf basieren die Methoden der Steganographie für Ton- und Videodaten?
  10. Was sind digitale Wasserzeichen? Warum werden sie verwendet?

Übung:

1. Sehen Sie sich das Vorlesungsmaterial an und beantworten Sie die Kontrollfragen.
2. Folgen Sie den Links und machen Sie sich mit den Programmen zum Verschlüsseln von Dateien vertraut.
3. Verschlüsseln Sie jedes Dokument in einem von Bürosuiten openoffice.org oder Microsoft Office und schick mir .

Zur Änderung werden Verschlüsselungsalgorithmen verwendet vertrauliche Informationen so, dass es für Unbefugte nicht verständlich ist.

Die ersten Chiffren wurden in den Tagen des antiken Roms, des alten Ägyptens und des antiken Griechenlands verwendet. Eine der bekanntesten Chiffren ist Cäsar-Chiffre. Dieser Algorithmus funktionierte wie folgt: Jeder Buchstabe hat eine eigene Seriennummer im Alphabet, die um $3$-Werte nach links verschoben ist. Heute bietet ein solcher Algorithmus nicht mehr den Schutz, den er zum Zeitpunkt seiner Verwendung bot.

Heute wurde eine Vielzahl von Verschlüsselungsalgorithmen entwickelt, darunter auch Standardalgorithmen, die vertrauliche Informationen zuverlässig schützen.

Unterteilen Sie Verschlüsselungsalgorithmen in symmetrisch(dazu gehören AES, CAST, GOST, DES, Blowfish) und asymmetrisch(RSA, ElGamal).

Symmetrische Algorithmen

Bemerkung 1

Symmetrische Verschlüsselungsalgorithmen verwenden denselben Schlüssel zum Verschlüsseln und Entschlüsseln von Informationen.

Bei der Übermittlung verschlüsselter Informationen muss auch der Entschlüsselungsschlüssel übermittelt werden. Der Schwachpunkt dieser Methode ist der Datenkanal. Wenn er unsicher ist oder abhört, kann der Entschlüsselungsschlüssel für einen Angreifer verfügbar werden.

Asymmetrische Algorithmen

Bemerkung 2

Asymmetrische Algorithmen verwenden zwei Schlüssel, einen zum Verschlüsseln und einen zum Entschlüsseln.

Jeder Benutzer muss über ein Schlüsselpaar verfügen – einen öffentlichen Schlüssel und einen privaten Schlüssel.

Verschlüsselungsschlüssel

Bestimmung 1

Verschlüsselungsschlüssel ist eine zufällige oder speziell erstellte Folge von Bits, die ein variabler Parameter des Verschlüsselungsalgorithmus ist.

Wenn dieselben Daten mit demselben Algorithmus verschlüsselt werden, aber unterschiedliche Schlüssel verwendet werden, sind die Ergebnisse unterschiedlich.

Verschlüsselungsprogramme (WinRAR, Rohos usw.) erstellen einen Schlüssel aus einem vom Benutzer angegebenen Passwort.

Der Verschlüsselungsschlüssel kann unterschiedlich lang sein, gemessen in Bits. Mit zunehmender Schlüssellänge steigt die theoretische Stärke der Chiffre. In der Praxis ist dies nicht immer der Fall.

Die Stärke des Verschlüsselungsalgorithmus

Bemerkung 3

Ein Verschlüsselungsalgorithmus gilt als stark, bis das Gegenteil bewiesen ist.

Verschlüsselungsalgorithmen

AES-Algorithmus (Rijndael) An dieser Moment ist der US-Bundesverschlüsselungsstandard. Es wurde vom Handelsministerium im Jahr 2001 als Standard genehmigt.Der Standard ist eine Verschlüsselungsvariante mit einer Blockgröße von $128$ Bits. Entwickelt in $1997$ in Belgien. Mögliche Schlüsselgrößen sind $128, 192$ und $256$ Bits.

Algorithmus GOST 28147-8 ist die Norm Russische Föderation für Datenverschlüsselung und Imitationsschutz. Wurde zum offiziellen Standard im Jahr 1989. Entwickelt in den 1970er Jahren. in der Hauptdirektion des KGB der UdSSR. Verwendet einen $256$-Bit-Schlüssel.

Blowfish-Algorithmus verwendet ein komplexes Schlüsselgenerierungsschema, das einen Brute-Force-Angriff auf den Algorithmus erheblich erschwert. Ungeeignet für den Einsatz in Systemen mit häufigem Rekeying und beim Verschlüsseln kleiner Datenmengen. Der Algorithmus wird am besten für Systeme verwendet, bei denen große Datenmengen verschlüsselt werden müssen. Entwickelt im Jahr 1993 $. Schlüsselgröße von $ 32 $ bis $ 448 $ Bits wird verwendet.

DES-Algorithmus war der US Federal Encryption Standard in $1977-2001$. Der Bundesstandard wurde 1977 $ verabschiedet, nach der Einführung des neuen Standards 2001 $ verlor er den Status eines Standards. Entwickelt in $1972–1975$. IBM Forschungslabor. Verwendet einen $56$-Bit-Schlüssel.

CAST-Algorithmus ist etwas analog zum DES-Algorithmus. Verwendet Schlüssel mit $128$- und $256$-Bits.



Wird geladen...
Spitze