E5 – Kryptologie
Verarbeitungsroutinen als Verschlüsselungsverfahren verstehen, modellieren und bewertenE5 erweitert die Programmiergrundlagen aus E3 in einem besonders anschaulichen Anwendungskontext: Kryptologische Verfahren besitzen Eingaben, Verarbeitungsschritte und Ausgaben. Ein Klartext und ein Schlüssel werden eingelesen, eine Routine verarbeitet die Zeichenfolge, und als Ausgabe entsteht ein Geheimtext.
Der Schwerpunkt liegt deshalb auf dem Nachvollziehen und Implementieren von Verfahren: Zeichen werden über Positionen verarbeitet, Schleifen durchlaufen Texte, Methoden kapseln Verschlüsselung und Entschlüsselung, Arrays können Schlüsselströme speichern, und Testfälle prüfen, ob ein Verfahren korrekt arbeitet.
E5 erweitert damit den zunächst naiven Algorithmusbegriff durch konkrete Beispiele. Ein Verfahren wird als allgemeine, wiederholbare Regel verstanden. Die stärkere formale Analyse von Algorithmen und Sicherheitsbegriffen folgt später; hier steht die programmiernahe Modellierung und Bewertung im Vordergrund.
Kerncurriculum kompakt
Kryptologie als Verbindung von Programmierung, Modellierung und Bewertung
Kryptologie als Verbindung von Programmierung, Modellierung und Bewertung
Einordnung
E5 ist kein isoliertes Sicherheitsthema. Das Themenfeld verbindet Programmierung, Modellierung, Verfahren und Bewertung: Texte werden als Zeichenfolgen verarbeitet, Schlüssel steuern Routinen, und Verfahren werden danach beurteilt, ob sie korrekt, sicher und praktisch nutzbar sind.
Die D-Book-Deutung ist dabei programmiernah: E5 vertieft E3 problem- und inhaltsbezogen. Kryptologische Verfahren sind konkrete Beispiele für Verarbeitungsroutinen: Sie verarbeiten Zeichenfolgen, nutzen Schlüssel als Parameter oder Schlüsselstrom, lassen sich implementieren, testen und bewerten.
Dafür werden gezielt E3-Grundlagen reaktiviert: Variablen und Datentypen für Zeichen und Zahlenwerte, Operatoren und Bedingungen für Berechnungen und Fallunterscheidungen, Kontrollstrukturen für Schleifen über Texte, Methoden für gekapselte Routinen und Arrays und Strings für die Datenstrukturperspektive.
E4 klingt als Projektpraxis mit: Implementierungen werden nicht nur geschrieben, sondern mit Beispieldaten getestet, fachlich bewertet und nachvollziehbar dokumentiert. Die Hauptlinie von E5 bleibt aber der programmiernahe Verfahrenserwerb.
Inhalte des Themenfelds E.5 Kryptologie
- einfache kryptologische Verfahren → Grundmodell, Caesar-Chiffre
- symmetrische Verschlüsselung → Grundmodell, Schlüsselaustauschproblem
- Substitution und Transposition → Transformationsprinzipien
- Bewertung der Verfahren unter dem Aspekt Sicherheit → Sicherheit, Aufwand und Praktikabilität
- Modellierung und Implementierung eines Verfahrens → Verarbeitungsroutinen, Caesar-Code
- Werkzeuge als Anwendung und Prüfumgebung → Arbeits- und Verifikationspfad
- asymmetrische Verfahren, Diffie-Hellman, RSA und digitale Signatur → erweiterte Perspektive
Progressionsfunktion
In E3 wurde Verarbeitung zunächst programmiert. In E5 wird sie fachlich gedeutet: Ein Verfahren beschreibt eine allgemeine Regel, die für viele Eingaben funktioniert. Q1.2 verallgemeinert diese Perspektive später systematisch als Algorithmik; E5 bleibt bewusst näher an Implementierung, Test und Sicherheitsbewertung konkreter Verfahren.
Quelle
Hessisches Ministerium für Kultus, Bildung und Chancen (2024): Kerncurriculum gymnasiale Oberstufe Informatik, S. 30 ff.
Von Verarbeitungsroutinen zu Verschlüsselungsverfahren
E3-Grundlagen im kryptologischen Kontext
E3-Grundlagen im kryptologischen Kontext
Der direkte Rückbezug zu E3 ist hier entscheidend: Eine Verschlüsselung ist keine magische Operation, sondern eine Methode mit Eingaben und Rückgabewert. Aus E3 kennt ihr Methoden, Parameter und Rückgabewerte; aus E3 kennt ihr Strings und Arrays; aus E3 kennt ihr Schleifen, die eine Zeichenfolge systematisch durchlaufen.
In E5 wird diese Idee konkret. Eine Verschlüsselungsroutine nimmt Klartext und Schlüssel entgegen, verarbeitet Zeichen nacheinander und liefert Geheimtext zurück. Eine Entschlüsselungsroutine muss mit demselben Verfahrensprinzip prüfen lassen, ob aus dem Geheimtext wieder der ursprüngliche Klartext entsteht.
String verschluesseln(String klartext, int schluessel) {
// Zeichen nacheinander transformieren
return geheimtext;
}
verschluesseln(klartext, schluessel)liefert Geheimtext.entschluesseln(geheimtext, schluessel)liefert Klartext.klartextist der Eingabeparameter für die Zeichenfolge.schluesselist der Parameter, der die Transformation steuert.- Eine Schleife verarbeitet die Zeichen der Zeichenfolge nacheinander.
- Ein Testfall prüft: Entschlüsseln muss den ursprünglichen Klartext rekonstruieren.
EVA-Bezug
Das EVA-Prinzip ordnet die Routine: Eingaben werden gelesen, verarbeitet und als Ergebnis ausgegeben.
String text und int schluessel entsteht durch eine Schleife der String geheimtext.| EVA-Schritt | Kryptologische Deutung |
|---|---|
| Eingabe | Nachricht und Schlüssel werden gelesen. |
| Verarbeitung | Eine Verschlüsselungsroutine transformiert die Zeichenfolge. |
| Ausgabe | Der Geheimtext wird angezeigt, gespeichert oder übertragen. |
GUI-Bezug
Auch eine grafische Oberfläche aus E3 folgt derselben Logik: Ein Textfeld liefert den Klartext, ein weiteres Feld oder ein Regler liefert den Schlüssel, ein Button löst die Verarbeitung aus, eine Methode verarbeitet die Eingaben, und ein Label oder Textfeld zeigt den Geheimtext.
Grundmodell der Kryptologie
Klartext, Schlüssel, Geheimtext und Verfahren
Klartext, Schlüssel, Geheimtext und Verfahren
Ein Verschlüsselungsverfahren ist eine regelgeleitete Transformation. Es besteht nicht nur aus einem einzelnen Beispiel, sondern aus einer allgemeinen Regel, die für viele Eingaben funktioniert. Der Klartext wird mithilfe eines Schlüssels in einen Geheimtext überführt; die Entschlüsselung rekonstruiert daraus wieder den Klartext.
Programmiertechnisch ist das Grundmodell eine Verarbeitungsroutine: Eingaben werden gelesen, Variablen halten Zwischenwerte, Bedingungen behandeln Sonderfälle, und die Ausgabe zeigt, ob die Transformation nachvollziehbar gelungen ist.
- Klartext: die lesbare Ausgangsnachricht.
- Schlüssel: der Parameter, der die Transformation steuert.
- Geheimtext: die transformierte Nachricht.
- Verschlüsseln: Klartext wird in Geheimtext überführt.
- Entschlüsseln: Geheimtext wird wieder in Klartext überführt.
- Angreifer: eine Person oder ein System, das ohne Berechtigung Informationen gewinnen will.
- Verfahren: die allgemeine Regel, nach der die Transformation ausgeführt wird.
- Sicherheit: die Bewertung, wie gut ein Verfahren Angriffen standhält.
Bei symmetrischer Verschlüsselung verwenden Sender und Empfänger denselben geheimen Schlüssel. Das ist einfach zu verstehen und effizient, erzeugt aber eine zentrale Frage: Wie gelangt der gemeinsame Schlüssel sicher zu beiden Kommunikationspartnern?
Damit erfüllt ein Verschlüsselungsverfahren bereits zentrale Merkmale eines Algorithmus: Es besitzt Eingaben, eindeutige Verarbeitungsschritte und eine Ausgabe. Die systematische Algorithmusanalyse folgt später in Q1.2; E5 nutzt den Begriff zunächst anschaulich an implementierbaren Verfahren.
Werkzeuge als Arbeits- und Verifikationspfad
Anwenden, vergleichen und eigene Java-Logik prüfen
Anwenden, vergleichen und eigene Java-Logik prüfen
Die Werkzeuge in E5 erfüllen eine Doppelrolle. Einerseits dienen sie als Anwendungstools in konkreten Aufgaben: Ihr könnt Verfahren ausprobieren, Schlüssel variieren und Ergebnisse beobachten. Andererseits dienen sie als Verifikations- und Begleittools für die eigene Programmierung: Wer eine Verschlüsselungsroutine in Java implementiert, kann Eingaben, Ausgaben und Zwischenergebnisse mit dem Werkzeug vergleichen und so die eigene Lösung prüfen.
verschluesseln(text, k) und entschluesseln(text, k) mit Referenzergebnissen abgleichen.
RSA-Werkzeug
Anwenden: Primzahlen wählen, n, φ(n), e und d bestimmen, Nachrichtenwerte ver- und entschlüsseln.
Verifizieren: Zwischenschritte eigener Rechnungen, kleine Modellbeispiele und Klartext-Zahl-Kodierungen mit der Toolausgabe prüfen.
Arbeitsauftrag: Werkzeug doppelt nutzen
Nutzt ein Werkzeug zuerst explorativ. Implementiert danach einen passenden Teil des Verfahrens selbst und vergleicht Eingaben, Ausgaben und Zwischenschritte mit dem Werkzeug.
Caesar-Chiffre als erstes vollständiges Verfahren
Positionen, Schlüssel, modulo-Rechnung und Schleifen
Positionen, Schlüssel, modulo-Rechnung und Schleifen
Problem, Modell und Schlüssel
Das Problem ist einfach: Eine Nachricht soll nicht direkt lesbar sein. Die Caesar-Chiffre löst dieses Problem, indem Buchstaben als Positionen im Alphabet dargestellt und um eine feste Zahl verschoben werden. Diese Verschiebungszahl ist der Schlüssel k. Fachlich ist Caesar ein Substitutionsverfahren und monoalphabetisch: Für jedes Klartextzeichen wird dieselbe Verschiebungsregel verwendet.
Verfahren
Die Caesar-Chiffre ist für E5 besonders geeignet, weil sie Verfahren, Modell und Code eng verbindet. Fachlich ist sie ein Substitutionsverfahren; programmiertechnisch ist sie eine Schleife über eine Zeichenfolge. Jedes Zeichen wird gelesen, in eine Position umgerechnet, mit dem Schlüssel verändert und wieder in ein Zeichen zurückverwandelt.
Die Einzelregel lautet: Bestimme die Position des Zeichens, addiere den Schlüssel, wende modulo 26 an und wandle die neue Position wieder in einen Buchstaben um. Die Schleife über alle Zeichen macht aus dieser Einzelregel ein vollständiges Verfahren. Damit werden Schleifen und Methoden aus E3 direkt produktiv.
- Eingabe: Klartext und Schlüssel k
- Verarbeitung: Für jedes Zeichen Position bestimmen, k addieren, modulo 26 rechnen, zurück in einen Buchstaben umwandeln.
- Ausgabe: Geheimtext
Interpretation der Formel:
- x – Position des Buchstabens im Alphabet
- k – Schlüssel beziehungsweise Verschiebung
- mod 26 – sorgt für den Umlauf im Alphabet, also zum Beispiel von Z zurück zu A
char verschiebe(char zeichen, int k) {
int position = zeichen - 'A';
int neu = (position + k) % 26;
return (char) ('A' + neu);
}
Im Code wird sichtbar, warum Datentypen
und Operatoren wichtig sind:
char-Werte können über ihre Zeichencodes berechnet werden, während
% den Umlauf im Alphabet steuert.
Direkt im Java-Werkzeug üben
Hier wird sichtbar, wie ein Buchstabe über seine Position im Alphabet als Zahl verarbeitet wird.
Arbeitsauftrag: Verfahren vor Code
Beschreibe die Caesar-Chiffre zuerst in natürlicher Sprache, bevor du sie implementierst. Markiere anschließend im Code Eingabe, Parameter, Verarbeitung und Ausgabe. Nutze danach das Caesar-Werkzeug, um Ausgaben deiner Methode mit einem Referenzergebnis zu vergleichen.
String oder char[]?
Für die Implementierung gibt es zwei Denkweisen aus dem Datenstrukturkapitel von
E3: Ein String kann
Zeichen liefern, bleibt aber unveränderlich. Ein char[] kann als
veränderbare Datenstruktur genutzt werden: Das Programm durchläuft das Array,
verändert jedes Zeichen und speichert es an derselben Position zurück.
char[] sind zwei Denkweisen für denselben Text: lesen über Index, verändern im Array, zurückwandeln in einen neuen String.char[] daten = text.toCharArray();
for (int i = 0; i < daten.length; i++) {
daten[i] = verschiebe(daten[i], k);
}
String geheimtext = new String(daten);
Caesar-Text im Java-Werkzeug
Die Aufgabe verbindet String-Durchlauf, charAt, Modulo und Zeichenumwandlung. Anschließend wird die Verschlüsselung als wiederverwendbare Routine mit Parametern und Rückgabewert modelliert.
Bewertung
Schon bei Caesar wird sichtbar: Ein Verfahren kann korrekt funktionieren und trotzdem unsicher sein. Die Entschlüsselung mit demselben Schlüsselprinzip rekonstruiert den Klartext; gleichzeitig enthält der Schlüsselraum nur 26 mögliche Verschiebungen. Brute Force ist leicht möglich, und typische Sprachmuster sowie Buchstabenhäufigkeiten bleiben trotz Verschiebung erkennbar.
Entschlüsselung im Java-Werkzeug
Die Aufgabe macht die inverse Verschiebung sichtbar: aus Geheimtext wird wieder Klartext. Der Ausblick nutzt denselben Gedanken, um alle 26 Schlüssel systematisch auszuprobieren.
Substitution und Transposition
Zwei Transformationsprinzipien für Zeichenfolgen
Zwei Transformationsprinzipien für Zeichenfolgen
Substitution und Transposition sind zwei grundlegende Arten, eine Zeichenfolge zu transformieren. Beide können als Methoden implementiert und anschließend nach Sicherheit bewertet werden. Der Unterschied liegt darin, was die Routine verändert: Bei Substitution ändern sich Zeichenwerte, bei Transposition ändern sich Positionen. In beiden Fällen lässt sich die Transformation als Schleifen- und Indexlogik über Zeichenfolgen denken.
| Kriterium | Substitution | Transposition |
|---|---|---|
| Was ändert sich? | Zeichenwerte | Positionen |
| Was bleibt erhalten? | Positionen | Zeichen |
| Typisches Beispiel | Caesar | Rail Fence |
| Angriffsidee | Häufigkeiten und Muster untersuchen | Anordnung rekonstruieren |
Rail-Fence-Verfahren
Bei der Zick-Zack- oder Rail-Fence-Verschlüsselung wird der Klartext in mehreren Zeilen im Zick-Zack-Muster geschrieben. Der Geheimtext entsteht anschließend durch zeilenweises Ablesen. Die Buchstaben werden also nicht ersetzt, sondern nur anders angeordnet. Programmiertechnisch steht hier nicht die Zeichenrechnung im Vordergrund, sondern die Frage, an welcher Position ein Zeichen abgelegt und später wieder gelesen wird.
Der Klartext EIN WIRKLICH VERWIRRENDER GARTENZAUN wird in Großbuchstaben ohne Leerzeichen notiert: EINWIRKLICHVERWIRRENDERGARTENZAUN.
Der Geheimtext entsteht durch zeilenweises Lesen: EIIERDANNIWRLCVRIRNEGREZUNKHWERTA.
Arbeitsauftrag: Transformationsprinzip prüfen
Erkläre, warum bei der Transposition die Buchstabenwerte gleich bleiben, aber ihre Positionen wechseln. Vergleiche danach, welche Muster bei Substitution und Transposition sichtbar bleiben.
Weiterführende Übungen
Passende Übungen zu diesem Bereich findest du auf der Seite Übungen im Abschnitt „Einfache Verschlüsselungsverfahren“.
Wichtige Fachbegriffe im Glossar: symmetrische Verschlüsselung, Schlüssel, Substitution, Transposition, Modulo.
One-Time-Pad als Weiterentwicklung des Parameterbegriffs
Vom einzelnen Schlüsselwert zum Schlüsselstrom
Vom einzelnen Schlüsselwert zum Schlüsselstrom
Die Caesar-Chiffre nutzt einen Schlüsselwert für alle Zeichen. Das One-Time-Pad entwickelt diese Idee weiter: Jedes Zeichen erhält einen eigenen Schlüsselwert. Aus dem einzelnen Parameter wird ein Schlüsselstrom, der mit der Zeichenfolge gemeinsam durchlaufen wird.
Das One-Time-Pad verschiebt den Schwerpunkt von einem einzelnen Schlüsselwert zu einer Datenstruktur: Der Schlüssel ist nun ein Strom von Werten. Programmiertechnisch bedeutet das, dass Klartext und Schlüsselstrom mit demselben Index durchlaufen werden. Genau hier werden Arrays, Schleifen und Indexzugriffe aus E3 produktiv.
Im Unterschied zu Caesar ist das One-Time-Pad polyalphabetisch: Gleiche
Klartextbuchstaben können unterschiedlich verschlüsselt werden, weil an verschiedenen
Positionen unterschiedliche Schlüsselwerte gelten. Ein Array kann diesen Schlüsselstrom
speichern; Random kann im Schulmodell Schlüsselwerte erzeugen, muss für
echte Sicherheit aber kritisch betrachtet werden.
- xi – Position des i-ten Klartextzeichens
- ki – i-ter Wert im Schlüsselstrom
- mod 26 – sorgt für den Umlauf im Alphabet
Der Buchstabe L kann im Klartext mehrfach vorkommen und trotzdem unterschiedlich verschlüsselt werden, weil an jeder Position ein anderer Schlüsselwert gilt. Dadurch entstehen weniger stabile Wiederholungsmuster.
Informationstheoretisch kann das One-Time-Pad sicher sein: Aus dem Geheimtext allein lässt sich ohne Schlüssel keine eindeutige Information über den Klartext gewinnen. Diese Bewertung gilt aber nur unter strengen Bedingungen: Der Schlüsselstrom muss wirklich zufällig sein, mindestens die Länge der Nachricht besitzen, genau einmal verwendet sowie sicher verteilt, gelagert und vernichtet werden. Die praktische Nutzbarkeit hängt deshalb stark an Schlüsselverteilung und Organisation.
Arbeitsauftrag: Schlüsselverwendung vergleichen
Vergleiche Caesar und One-Time-Pad hinsichtlich Schlüsselverwendung. Beschreibe, welche Rolle Array, Index und Schleife bei der Verarbeitung des Schlüsselstroms spielen.
E5-Transfer im Java-Werkzeug
Die Aufgabe zeigt den positionsweisen Gleichlauf von Text und Schlüsselarray. Die Folge erweitert das Modell anschließend zur Methode verschluesseln(text, key) und zur Entschlüsselung mit Schlüsselarray.
Weiterführende Übungen
Passende Übungen zu diesem Bereich findest du auf der Seite Übungen im Abschnitt „Polyalphabetische Verfahren“.
Wichtige Fachbegriffe im Glossar: polyalphabetische Verschlüsselung, Schlüsselstrom, One-Time-Pad.
Verfahren bewerten: Sicherheit, Aufwand und Praktikabilität
Nicht nur fragen, ob ein Verfahren funktioniert
Nicht nur fragen, ob ein Verfahren funktioniert
Ein Verschlüsselungsverfahren ist erst dann fachlich verstanden, wenn es nicht nur ausgeführt, sondern auch implementiert, getestet und bewertet wird. Die Leitfrage lautet also nicht allein: Funktioniert die Verschlüsselung? Sie lautet: Rekonstruiert die Entschlüsselung den Klartext, welche Muster bleiben sichtbar, wie groß ist der Schlüsselraum, wie aufwendig ist ein Angriff, und welche Nutzungs- oder Implementationsfehler schwächen das Verfahren?
| Bewertungsfrage | Bedeutung |
|---|---|
| Funktioniert das Verfahren korrekt? | Verschlüsselung und Entschlüsselung führen nachvollziehbar zusammen; ein Testfall rekonstruiert den Klartext. |
| Wie groß ist der Schlüsselraum? | Viele mögliche Schlüssel erschweren systematisches Ausprobieren. |
| Welche Muster bleiben erhalten? | Häufigkeiten, Wiederholungen oder Positionen können Angriffe erleichtern. |
| Wie aufwendig ist ein Angriff? | Entscheidend ist, ob ein Angriff praktisch durchführbar ist. |
| Wie aufwendig ist die Nutzung? | Schlüssel müssen erzeugt, verteilt, gespeichert und verwaltet werden. |
| Welche Implementationsfehler schwächen das Verfahren? | Wiederverwendung, schwache Schlüssel oder falsche Implementierung können Sicherheit zerstören. |
Diese Bewertungslogik bereitet Q1.2 vor. Dort werden Algorithmen unter anderem nach Laufzeit und Effizienz beurteilt. E5 zeigt schon vorher, dass Verfahren auch nach Sicherheit, Aufwand und Praktikabilität bewertet werden müssen. Bewertung ist damit die dritte Handlung neben Implementieren und Testen.
Arbeitsauftrag: Verfahren bewerten
Bewerte ein Verfahren nach Schlüsselraum, Mustererhalt und Schlüsselverteilung. Trenne dabei Korrektheit, Sicherheit und praktische Nutzbarkeit.
Symmetrisch vs. asymmetrisch
Das Schlüsselaustauschproblem als Ausgangspunkt
Das Schlüsselaustauschproblem als Ausgangspunkt
Symmetrische Verfahren sind für die eigentliche Datenverschlüsselung gut geeignet: Beide Seiten nutzen denselben geheimen Schlüssel. Das Problem liegt aber davor. Der Schlüssel muss sicher ausgetauscht werden, obwohl der Kommunikationskanal möglicherweise unsicher ist.
Asymmetrische Verfahren lösen nicht alle Sicherheitsprobleme. Sie beantworten vor allem das Schlüsselaustauschproblem anders. Ein öffentlicher Schlüssel darf verteilt werden; ein privater Schlüssel bleibt geheim. Dadurch können Rollen getrennt werden, die bei symmetrischen Verfahren zusammenfallen. In E5 werden diese Verfahren daher vor allem als Prozessmodelle gelesen, nicht als tiefe mathematische Formalisierung.
| Rolle | Öffentlicher Schlüssel | Privater Schlüssel |
|---|---|---|
| Verfügbarkeit | darf verteilt werden | bleibt geheim |
| Verschlüsselung | Nachrichten für die Schlüsselinhaberin verschlüsseln | Nachrichten entschlüsseln |
| Signatur | Signatur prüfen | Signatur erzeugen |
Arbeitsauftrag: Problemantwort erklären
Erkläre, welches Problem symmetrischer Verfahren asymmetrische Verfahren anders lösen. Formuliere dabei ausdrücklich, was asymmetrische Verfahren nicht automatisch lösen.
Diffie-Hellman, RSA und hybride Verfahren
Erweiterte Perspektive auf Schlüsselaustausch und Praxis
Erweiterte Perspektive auf Schlüsselaustausch und Praxis
Diffie-Hellman: gemeinsames Geheimnis über unsicheren Kanal
Das Schlüsselaustauschverfahren nach Diffie-Hellman zeigt, wie zwei Kommunikationspartner über einen unsicheren Kanal ein gemeinsames Geheimnis aufbauen können. Der Schwerpunkt liegt nicht auf der Verschlüsselung einer Nachricht, sondern auf der Aushandlung eines gemeinsamen Schlüssels. Kleine Rechenmodelle helfen beim Nachvollziehen der Schritte; sie ersetzen aber keine vollständige Sicherheitsanalyse.
RSA: Prozess verstehen, nicht Zahlentheorie beweisen
RSA ist ein asymmetrisches Verfahren und damit mehr als eine Rechenvorschrift. Es zeigt, wie unterschiedliche Schlüsselrollen das Schlüsselaustauschproblem entschärfen: Wer einer Person vertraulich schreiben will, verwendet deren öffentlichen Schlüssel. Nur die Person mit dem passenden privaten Schlüssel kann den ursprünglichen Nachrichtenwert rekonstruieren. Dadurch wird vertrauliche Kommunikation über unsichere Kanäle grundsätzlich möglich.
Im Unterricht steht nicht der vollständige zahlentheoretische Beweis im Mittelpunkt, sondern die Prozessidee: Es gibt einen öffentlichen Schlüssel, einen privaten Schlüssel, eine Transformation mit modulo-Rechnung und eine Sicherheitsannahme über den Aufwand der Umkehrung. RSA erweitert damit die E5-Perspektive von der programmierten Zeichenroutine zu einem modellierten Kommunikationsverfahren.
- m – Nachrichtenwert im Modell
- c – verschlüsselter Wert
- e – Teil des öffentlichen Schlüssels
- d – Teil des privaten Schlüssels
- n – Modul, das aus zwei Primzahlen gebildet wird
RSA verarbeitet im mathematischen Kern keine Buchstaben direkt, sondern Zahlen.
Eine Nachricht muss deshalb nach einer festgelegten Regel in einen Zahlenwert oder
Zahlenblock codiert werden. Im Schulmodell wird dieser Schritt bewusst vereinfacht,
etwa durch einen kleinen Nachrichtenwert m. Reale Systeme müssen Codierung,
Blockbildung und zusätzliche Schutzmechanismen technisch sorgfältig lösen.
Warum das praktisch wichtig ist: Sicherheit hat einen Preis
RSA macht eine zentrale Einsicht der Kryptologie sichtbar: Vertrauliche Kommunikation ist auch über unsichere Kanäle möglich, aber nicht ohne Aufwand. Asymmetrische Verfahren lösen das Schlüsselaustauschproblem nicht dadurch, dass Sicherheit einfach wird, sondern indem sie die Rollen trennen: Ein öffentlicher Schlüssel darf verteilt werden, der private Schlüssel muss geschützt bleiben.
Diese Lösung hat einen Preis. RSA-Rechnungen sind für große Datenmengen deutlich aufwendiger als symmetrische Verschlüsselung. Außerdem müssen private Schlüssel geschützt und öffentliche Schlüssel vertrauenswürdig Personen oder Servern zugeordnet werden. Nachrichten müssen geeignet codiert und geschützt verarbeitet werden; reale Systeme brauchen dafür zusätzliche Schutzmechanismen und korrekte Implementierungen.
Sicherheit ist daher immer eine Abwägung zwischen Sicherheit, Aufwand und Praktikabilität. Sie hängt nicht nur am mathematischen Verfahren, sondern auch an Schlüsselverwaltung, Protokollorganisation, Vertrauen in Zertifikate und Nutzungspraxis.
Person B veröffentlicht den öffentlichen Schlüssel (n = 33, e = 3) und hält den privaten Schlüssel d = 7 geheim. Person A möchte den Nachrichtenwert m = 4 senden.
- Verschlüsselung: \( c = 4^3 \bmod 33 = 64 \bmod 33 = 31 \).
- Entschlüsselung: \( m = 31^7 \bmod 33 = 4 \).
Das Beispiel dient nur der Veranschaulichung mit kleinen Zahlen. Reale RSA-Systeme verwenden sehr große Zahlen und zusätzliche technische Schutzmaßnahmen.
RSA-Werkzeug als Prüfumgebung
Nutzt das RSA-Werkzeug, um Primzahlen, n, φ(n), e, d, Nachrichtenwert und Geheimtext in kleinen Modellrechnungen abzugleichen.
Warum Primfaktorzerlegung wichtig ist
Bei RSA entsteht \(n\) als Produkt zweier Primzahlen: \( n = p \cdot q \). Das Produkt ist schnell berechnet. Die Umkehrung, also aus \(n\) wieder \(p\) und \(q\) zu gewinnen, ist bei großen Zahlen mit bekannten Verfahren sehr aufwendig. Sicherheit bedeutet hier also nicht „unmöglich“, sondern: bei geeigneten Parametern praktisch nicht effizient angreifbar.
Hybride Verfahren: Praxis verbindet beide Welten
Aus dieser Abwägung folgt die Praxis hybrider Verfahren. Symmetrische Verfahren verschlüsseln große Datenmengen effizient, benötigen aber einen gemeinsamen geheimen Schlüssel. Asymmetrische Verfahren helfen dabei, einen solchen Sitzungsschlüssel zu schützen, zu übertragen oder auszuhandeln. Praktische Systeme verbinden deshalb beide Seiten: asymmetrisch für die Schlüsselabsicherung, symmetrisch für die eigentlichen Daten.
Deshalb arbeiten praktische Verschlüsselungssysteme meist hybrid: Ein asymmetrisches Verfahren wie RSA schützt oder überträgt einen zufällig erzeugten Sitzungsschlüssel. Die eigentlichen Daten werden anschließend mit einem schnellen symmetrischen Verfahren verschlüsselt. Sicherheit entsteht also nicht durch eine einzelne Formel, sondern durch ein Zusammenspiel aus Schlüsselrollen, Verfahren, Protokoll, Implementierung und verantwortlicher Nutzung.
Genau deshalb ist RSA in E5 wichtig, obwohl reale Systeme komplexer sind als das Schulmodell: Das Verfahren zeigt exemplarisch, warum Kryptologie immer zwischen Sicherheit, Aufwand und Praktikabilität vermittelt. Ein Verfahren kann theoretisch überzeugend sein und dennoch in der Nutzungspraxis nur in Kombination mit anderen Verfahren sinnvoll eingesetzt werden.
Digitale Signatur
Authentizität und Integrität statt Vertraulichkeit
Authentizität und Integrität statt Vertraulichkeit
Eine digitale Signatur ist klar von Verschlüsselung zu unterscheiden. Verschlüsselung schützt Vertraulichkeit: Unbefugte sollen eine Nachricht nicht lesen können. Eine Signatur schützt keine Vertraulichkeit. Sie dient dazu, Herkunft und Unverändertheit einer Nachricht prüfbar zu machen.
| Ziel | Verschlüsselung | Digitale Signatur |
|---|---|---|
| Vertraulichkeit | ja | nein |
| Authentizität | nicht automatisch | ja |
| Integrität | nicht automatisch | ja |
| Schlüsselrolle | öffentlich verschlüsseln, privat entschlüsseln | privat signieren, öffentlich prüfen |
Die Rollen von privatem und öffentlichem Schlüssel sind deshalb didaktisch anders zu lesen als bei der Verschlüsselung: Wer signiert, verwendet den privaten Schlüssel. Wer die Signatur prüft, verwendet den öffentlichen Schlüssel.
Arbeitsauftrag: Schutzziele zuordnen
Ordne Vertraulichkeit, Integrität und Authentizität jeweils Verschlüsselung oder digitaler Signatur zu. Begründe, warum eine Signatur allein keine Vertraulichkeit erzeugt.
Weiterführende Übungen
Passende Übungen zu diesem Bereich findest du auf der Seite Übungen im Abschnitt „Asymmetrische Verfahren“.
Ausblick: Von Kryptologie zur Algorithmik
Verfahren beschreiben, implementieren, testen und bewerten
Verfahren beschreiben, implementieren, testen und bewerten
E5 hat Verfahren als regelgeleitete Transformationen betrachtet. Verschlüsselungsverfahren besitzen Eingaben, Parameter, Verarbeitungsschritte und Ausgaben. Sie lassen sich implementieren, testen und bewerten.
E5 liefert damit konkrete Verfahren, an denen der Algorithmusgedanke anschaulich wird: Ein Verfahren ist eine allgemeine, wiederholbare Regel zur Lösung eines Problems. E3 hat diese Perspektive bereits als Ausblick auf algorithmische Routinen angelegt.
Q1.2 und spätere Sicherheitskapitel greifen diese Perspektive formaler auf: Dort werden Verfahren systematischer dargestellt und nach Korrektheit, Aufwand, Effizienz oder Sicherheitsannahmen verglichen. E5 bleibt bewusst näher an Implementierung, Test und Bewertung konkreter kryptologischer Verfahren.