Hill-Chiffre 3×3
Mit dem Schlüssel 6,24,1,13,16,10,20,17,15 wird aus ACT der Geheimtext POH: Jeder Block aus drei Buchstaben wird modulo 26 mit der Matrix multipliziert, sodass jeder Geheimbuchstabe von drei Klartextbuchstaben abhängt. Die inverse Matrix erhalten Sie gleich mit. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text
- ACT
- Key
- 6,24,1,13,16,10,20,17,15
- Berechnungsmodus
- Encrypt
- Ergebnis
- POH
- Det
- 25
- Inverse Det.
- 25
- Länge
- 3
Die 3×3-Hill-Chiffre ist eine klassische polygraphische Substitution von Lester S. Hill, die aufeinanderfolgende Dreibuchstabenblöcke mit einer ganzzahligen Drei-mal-drei-Schlüsselmatrix modulo sechsundzwanzig multipliziert. Die Verschlüsselung bildet Klartextvektoren auf Chiffretext ab mit C gleich K mal P mod 26; die Entschlüsselung multipliziert mit der modularen Inversen von K, wenn die Determinante teilerfremd zu sechsundzwanzig ist. Anders als monoalphabetische Abbildungen wie Caesar oder Atbash hängt jeder Chiffrebuchstabe von drei Klarbuchstaben ab, was die Einbuchstaben-Häufigkeitsanalyse abschwächt und die Chiffre zu einem üblichen Lehrschritt in die lineare Algebra über Restklassenringen macht. Man nutzt sie für Kryptoanalyse-Hausaufgaben, CTF-Aufwärmungen, Lineare-Algebra-Demos und Rätselbücher, die eine umkehrbare Blockchiffre mit kurzem Zahlenschlüssel brauchen. Diese Fähigkeit akzeptiert nichtleeren Text, einen neunteiligen Schlüssel in Zeilenreihenfolge und einen optionalen Ver- oder Entschlüsselungsmodus; sie liefert den transformierten Buchstabenstrom plus Determinante, Inverse, Auffüllung und Blockzahl.
Validierungsregeln, invertierbare Matrizen und typische Stolperfallen
Die entscheidende Produktregel: die Schlüsselmatrix muss modulo sechsundzwanzig invertierbar sein — der ggt der modulo 26 reduzierten Determinante mit sechsundzwanzig muss eins sein, damit eine modulare Inverse existiert. Ist det von K gerade oder teilt sie den Faktor dreizehn mit sechsundzwanzig, ist die Abbildung nicht bijektiv und Entschlüsselung unmöglich; das Werkzeug meldet eine nicht invertierbare Schlüsselmatrix statt einer Einweg-Verwürfelung. Ziffern, Leerzeichen und Satzzeichen im Nachrichtenkörper werden ignoriert statt verschlüsselt, sodass nur der Buchstabenstrom das Blockgitter formt; bleiben nach dem Filtern keine Buchstaben, scheitert die Anfrage.
Behandeln Sie die Ausgabe nicht als Vertraulichkeitsverschlüsselung: der Schlüsselraum kleiner modularer Matrizen ist nach heutigen Maßstäben winzig, Known-Plaintext-Angriffe rekonstruieren K aus wenigen passenden Tripeln, und die Produktseite darf Hill niemals als Sicherheitskontrolle für Passwörter, Token oder personenbezogene Daten vermarkten. Bevorzugen Sie diese Landing, wenn die Suchintention Hill-Chiffre 3x3, Hill ver- und entschlüsseln Matrix oder dreimal-drei polygraphische Chiffre lautet; affine und multiplikative Abbildungen beantworten monogrammatische Modularkarten, Playfair Digraphen-Quadrate und Base64 Kodierung — daher bleiben sie getrennte Werkzeuge.
Beim Entschlüsseln verwenden Sie dieselben neun Schlüsselzahlen und dieselbe Auffüllkonvention wie bei der Erzeugung des Chiffretexts; eine falsche Matrix liefert eine andere lineare Abbildung und nicht den Originalklartext.
Einsatzbereiche der 3×3-Variante und ihre Grenzen
Rufen Sie die kostenlose 3×3-Hill-Chiffre im Browser für Hausaufgabenchecks, Folien zu Matrizen über Z sechsundzwanzig, CTF-Übung und einmalige Ver- oder Entschlüsselungen auf, ohne in jeder Sprache modulare Matrixinverse zu schreiben. Ein typischer Unterrichtsablauf zeigt, dass monoalphabetische Chiffren Eins-zu-eins-Abbildungen sind, führt Blockmultiplikation mit fester invertierbarer Matrix ein, berechnet det von Hand und prüft, dass nur teilerfremde Determinanten entschlüsseln. Support-Playbooks können leicht obfuskierte Notizen mit bekannten Lehrschlüsseln zurückdrehen.
Rätsel-Sites können Antworten vorberechnen und auf Anfrage mit mode decrypt enthüllen. Kombinieren Sie es mit Häufigkeitsanalyse oder anderen klassischen Werkzeugen nur, wenn ein späterer Lehrschritt eine andere Chiffrefamilie braucht — behalten Sie die dreimal-drei-Hill-Landing bei ihrer eigenen SEO-Intention um neunteilige Matrix-Polygraphie.
Anwendungsfälle
Lineare Algebra und Kryptoanalyse-Hausaufgaben
Lernende verschlüsseln kurze Phrasen mit bekannter 3×3-Matrix, berechnen det und Inverse mod 26 und entschlüsseln Klassenkameraden-Chiffretexte ohne CAS-Installation.
CTF-Aufwärmungen und Rätselbücher
Challenge-Autoren liefern einen neunteiligen Schlüssel und einen Hill-Chiffreblock; Lösende holen den Klartext mit mode decrypt zurück, wenn die Matrix invertierbar ist.
Häufige Fragen
Wie entschlüssele ich Hill-Chiffretext?
Senden Sie den Chiffretext als text, dieselben neun Schlüsselzahlen wie bei der Verschlüsselung und mode decrypt (oder decode). result ist der rekonstruierte Buchstabenstrom, wenn der Schlüssel invertierbar ist und passt.
Was passiert, wenn die Schlüsselmatrix nicht invertierbar ist?
Die Hill-Abbildung ist nur bijektiv, wenn gcd(det(K) mod 26, 26) gleich 1 ist.
Ist die Hill-Chiffre sichere Verschlüsselung?
Nein. Hill ist eine klassische polygraphische Chiffre für Rätsel und Lineare-Algebra-Unterricht, nicht für Vertraulichkeit. Nutzen Sie sie niemals für Passwörter oder sensible Daten.
In welcher Reihenfolge gebe ich die neun Schlüsselzahlen ein?
Zeile für Zeile von links nach rechts: Die ersten drei Zahlen bilden die obere Zeile, etwa bei 6,24,1,13,16,10,20,17,15. Jede Zahl wird auf 0 bis 25 reduziert, und die Determinante muss teilerfremd zu 26 sein.
Warum steht am Ende manchmal ein zusätzliches X?
Die Buchstaben werden in Dreiergruppen verschlüsselt. Geht ihre Anzahl nicht in Dreiern auf, wird am Ende mit X aufgefüllt, damit auch der letzte Block vollständig ist. Das ist die klassische Konvention aus dem Unterricht.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/hill-3x3 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"ACT","key":"6,24,1,13,16,10,20,17,15"}'const res = await fetch("https://api.kit.forhosting.com/enc/hill-3x3", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "ACT",
"key": "6,24,1,13,16,10,20,17,15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/hill-3x3",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "ACT",
"key": "6,24,1,13,16,10,20,17,15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/hill-3x3", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"ACT","key":"6,24,1,13,16,10,20,17,15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"ACT","key":"6,24,1,13,16,10,20,17,15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/hill-3x3", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "ACT",
"key": "6,24,1,13,16,10,20,17,15"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.hill_3x3",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Ist die Schlüsselmatrix modulo sechsundzwanzig nicht invertierbar, scheitert die Anfrage mit invalid_input und einer klaren Meldung zur nicht invertierbaren Matrix.
So arbeitet die 3×3-Hill-Abbildung und was die Antwort enthält
Die Verschlüsselung behandelt jeden lateinischen Buchstaben als Zahl von null bis fünfundzwanzig, gruppiert den Strom in aufeinanderfolgende Tripel, multipliziert jeden Spaltenvektor mit der Drei-mal-drei-Schlüsselmatrix K und reduziert jede Koordinate modulo sechsundzwanzig, bevor Großbuchstaben zurückgeschrieben werden. Nur A–Z und a–z nehmen teil: sie werden großgeschrieben und Nichtbuchstaben verworfen, damit die Blockausrichtung bei Leerzeichen und Satzzeichen deterministisch bleibt. Ist die Buchstabenzahl kein Vielfaches von drei, füllt die Engine am Ende mit dem Buchstaben X auf — die klassische Lehrkonvention für unvollständige Schlussblöcke. Die Entschlüsselung gewinnt den Klartext zurück, indem sie die modulare Inverse von K berechnet, sodass K mal K-Inverse die Einheitsmatrix mod 26 ist, und jedes Chiffre-Tripel mit dieser Inversen multipliziert. Senden Sie JSON mit dem Pflicht-Stringfeld text für jede nichtleere Nachricht, dem Pflichtfeld key mit neun ganzen Zahlen in Zeilenreihenfolge als kommagetrennte Zeichenkette, flachem Array mit neun Zahlen oder verschachteltem Drei-mal-drei-Array sowie optionalem mode mit Standard encrypt. Die Aliase input, value, s, message, plaintext und ciphertext gelten für den Körper; matrix, key_matrix, k und key_numbers für den Schlüssel; op, action, direction und operation für den Modus. Bei Erfolg enthält die Antwort result mit Großbuchstaben-Chiffre oder Klartext, mode normalisiert auf encrypt oder decrypt, key als verschachtelte Drei-mal-drei-Matrix reduziert mod 26, key_flat mit den neun Einträgen, key_inv als Inverse für die Entschlüsselung, det und det_inv für Determinante und ihre Inverse mod 26, length gleich der ursprünglichen Zeichenzahl, letters_used nach Auffüllung, den padding-Zähler, blocks gleich letters_used geteilt durch drei und method gleich hill_3x3, damit Clients ohne Form-Raten verzweigen. Identische Eingaben liefern stets dasselbe JSON, weil der Pfad reine Modulararithmetik ohne Netz, Zufallsseed und Wanduhr ist.
Validierungsregeln, invertierbare Matrizen und typische Stolperfallen
Fehlendes text, kein String oder eine leere Zeichenkette lösen invalid_input aus und werden nach Ablehnung durch die Engine auf der vorausbezahlten API nicht berechnet. Ein Schlüssel mit weniger oder mehr als neun ganzen Zahlen, Nicht-Ganzzahlen, Gleitkommazahlen oder leeren Token scheitert ebenfalls mit invalid_input.
API-Nutzung, Preise, Unterrichtsabläufe und praktische Grenzen
Nutzen Sie die vorausbezahlte KIT-API, wenn ein Backend, eine Serverless-Funktion, eine Tutorenplattform oder ein SDK einen stabilen Vertrag unter Guthaben zu $0.002 pro erfolgreichem Item braucht; Validierungsfehler werden nach Ablehnung nicht berechnet. SDK-Autoren können das result-Feld an einen Kopierbutton mappen, während key, key_inv, det und method OpenAPI-Beispiele selbsterklärend machen. Halten Sie Nutzlasten auf gewöhnliche Textgrößen für einen Worker-Isolate-Item-Aufruf; dieses Werkzeug dient Nachrichten und Ausschnitten, nicht Multi-Megabyte-Binärdaten.
Integrationsbeispiele
Pipelines und CI-Fixtures
Skripte und Continuous-Integration-Tests pinnen deterministische Hill-Ausgaben und den Fehler der nicht invertierbaren Schlüsselmatrix, damit Inverse- oder Determinantenfehler sofort scheitern.
Technische Fragen
Wie verschlüssele ich Text mit der 3×3-Hill-Chiffre?
Senden Sie JSON mit nichtleerem text, einem key aus neun ganzen Zahlen (zum Beispiel 6,24,1,13,16,10,20,17,15) und optionalem mode encrypt (Standard). Das result-Feld der Antwort enthält die Großbuchstaben des Chiffretexts.
Ist das 3×3-Hill-Chiffre-Werkzeug kostenlos?
Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Item; Validierungsfehler werden nicht berechnet.