Doppelte Spaltentransposition
Mit den Schlüsseln ZEBRAS und danach STRIPE wird aus WEAREDISCOVEREDFLEEATONCE der Text CAEENSOIAEDRLEFWEDREEVTOC: Zwei Schlüsselwort-Raster ordnen ihn nacheinander um. Beim Entschlüsseln werden sie mit demselben Schlüsselpaar in umgekehrter Reihenfolge rückgängig gemacht. 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
- WEAREDISCOVEREDFLEEATONCE
- Key1
- ZEBRAS
- Key2
- STRIPE
- Berechnungsmodus
- Encrypt
- Ergebnis
- CAEENSOIAEDRLEFWEDREEVTOC
- Kodierung
- columnar_double
- Länge von Schlüssel 1
- 6
- Länge von Schlüssel 2
- 6
Dieses Werkzeug zur doppelten Spaltentransposition ver- oder entschlüsselt Text, indem es zwei schlüsselwortgeordnete Spaltenpermutationen nacheinander anwendet. Sie liefern eine Nachricht, einen ersten Schlüssel, einen zweiten Schlüssel und optional einen Modus; die Engine führt unter dem ersten Schlüsselwort einen vollständigen Spaltenpass aus und leitet diese Zwischenzeichenkette dann durch einen zweiten Spaltenpass unter dem zweiten Schlüsselwort. Das Entschlüsseln kehrt diese Pässe in umgekehrter Reihenfolge um, sodass dasselbe Schlüsselpaar die Originalzeichenkette bitgenau wiederherstellt. Eine klassische Prüfung ist WEAREDISCOVEREDFLEEATONCE unter den Schlüsseln ZEBRAS und danach STRIPE: das Intermediate nach dem ersten Pass entspricht der einfachen Spaltentransposition unter ZEBRAS, und der zweite Pass liefert den endgültigen Doppel-Chiffretext, der unter demselben Paar sauber entschlüsselt.
Was doppelte Spaltentransposition ist und was dieses Werkzeug zurückgibt
Die doppelte Spaltentransposition ist eine klassische Umanordnungs-Chiffre, die zwei einfache Spaltenpässe stapelt, statt Buchstaben zu ersetzen. Jeder Pass baut ein Gitter, dessen Breite der Länge des Schlüsselworts dieses Passes entspricht, schreibt Zeichen von links nach rechts und von oben nach unten und liest Spalten von oben nach unten in der Reihenfolge, die sich aus dem Sortieren der Schlüsselzeichen ergibt.
Ist die letzte Zeile unvollständig, halten die linken Spalten einfach ein Zeichen mehr als die rechten — entsprechend der üblichen lehrbuchmäßigen längenerhaltenden Regel ohne erzwungenes Padding, es sei denn, Sie legen es selbst in die Eingabe. Die Verschlüsselung wendet zuerst das erste Schlüsselwort vollständig an und danach das zweite auf diese Zwischenzeichenkette; die Entschlüsselung macht zuerst das zweite Schlüsselwort rückgängig und erst dann das erste, sodass die Reihenfolge der beiden Schlüssel Teil des Geheimnisses ist.
Der Gleichstand ist in jedem Pass stabil: sind zwei Schlüsselzeichen gleich, wird die linke Spalte zuerst genommen, damit wiederholte Buchstaben keine mehrdeutige Ordnung erzeugen. Diese Seite wendet immer diese feste Zwei-Pass-Regel an und wechselt nie stillschweigend zu einfacher Spaltentransposition, Routentransposition, Rail Fence oder einer Substitutionschiffre. Wenn Sie nur ein Schlüsselwort, polyalphabetische Verschiebungen oder moderne Verschlüsselung brauchen, nutzen Sie jene speziellen Endpunkte; diese Seite beantwortet nur den klassischen Doppel-Spaltentranspositions-Vertrag mit zwei Schlüsseln, den Krypto-Geschichtskapitel und fortgeschrittene CTF-Aufwärmungen bereits beschreiben.
Wo doppelte Spaltentransposition in Unterricht und Rätseln vorkommt
Entwickler und Lehrende begegnen der doppelten Spaltentransposition in Capture-the-Flag-Herausforderungen, die bewusst die Latte über ein einzelnes Schlüsselwortgitter heben, in Lehrbuchkapiteln zur klassischen Kryptologie, die mehrstufige Umanordnungen einführen, und in Demos, die zeigen, warum selbst zwei Permutationen gegen moderne Kryptoanalyse nicht genügen, sobald die Nachrichtenstruktur bekannt ist. Frontend-Teams können Beispielphrasen für Screenshots mit einer Zwei-Schlüssel-Story mischen und sie unter demselben Paar wieder entschlüsseln. Backend-Dienste kodieren kurze Challenge-Strings für Rätsel-APIs oder Lehr-Sandboxes, in denen Studierende beide Gitter in der richtigen Reihenfolge rekonstruieren müssen, um den nächsten Schritt freizuschalten.
Qualitätssicherungsingenieure erzeugen deterministische Ver- und Entschlüsselungspaare für Vertragstests, damit Middleware, die doppelte Spaltentransposition beansprucht, nicht still auf einen einzigen Pass, ein Rail-Fence-Muster oder das Weglassen von Leerzeichen umschalten kann. Wettbewerbsorganisatoren berechnen Antwortschlüssel für bescheidene englische Phrasen vor, ohne undurchsichtigen Webspielzeugen zu vertrauen, die nur Großbuchstaben erzwingen oder Padding-X-Zeichen einfügen, die Sie nie verlangt haben. Produkt- und Bildungswerkzeuge nutzen die Transformation, wenn Lernende Chiffretext einfügen und die UI den unter zwei dokumentierten Schlüsselwörtern wiederhergestellten Klartext zeigen muss.
Kombinieren Sie sie mit einfacher Spaltentransposition und anderen klassischen Kodierhilfen, wenn Sie ein kleines Labor freier, deterministischer Textwerkzeuge aufbauen, und behandeln Sie die doppelte Spaltentransposition niemals als Ersatz für moderne authentifizierte Verschlüsselung.
Anwendungsfälle
CTF und fortgeschrittene klassische Chiffre-Übung
Ver- und entschlüsseln Sie Zwei-Schlüssel-Phrasen der doppelten Spaltentransposition für schwierigere Rätsel, Unterricht und Capture-the-Flag-Aufwärmen jenseits eines einzelnen Gitters.
Mehrstufige Krypto-Geschichtslektionen
Demonstrieren Sie sequenzielle Zeilen-Schreiben- und Spalten-Lesen-Pässe, Zwischenzeichenketten und Entschlüsselung in umgekehrter Reihenfolge mit zwei Schlüsselwörtern und stabilen Wiederholungsbuchstaben.
Häufige Fragen
Was kostet das Werkzeug zur doppelten Spaltentransposition?
Es ist auf dieser Seite in Ihrem Browser kostenlos.
Worin unterscheidet sich das von einfacher Spaltentransposition?
Einfache Spaltentransposition nutzt ein Schlüsselwort und einen Gitterpass.
Ist doppelte Spaltentransposition für echte Geheimnisse sicher?
Nein. Es ist eine klassische Lehrchiffre. Nutzen Sie moderne authentifizierte Verschlüsselung wie AES-GCM für echte Vertraulichkeit.
Spielt die Reihenfolge der beiden Schlüssel eine Rolle?
Ja. Der erste Schlüssel wird vollständig vor dem zweiten angewendet, und beim Entschlüsseln wird zuerst der zweite rückgängig gemacht. Vertauschte Schlüssel ergeben ein anderes Ergebnis, die Reihenfolge gehört also zum Geheimnis.
Kann ich den Text nach dem ersten Durchgang sehen?
Ja. Das Zwischenergebnis wird mit angezeigt. Es entspricht genau einer einfachen Spaltentransposition mit dem ersten Schlüssel, bei ZEBRAS also EVLNACDTESEAROFODEECWIREE.
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/columnar-double \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"WEAREDISCOVEREDFLEEATONCE","key1":"ZEBRAS","key2":"STRIPE"}'const res = await fetch("https://api.kit.forhosting.com/enc/columnar-double", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "WEAREDISCOVEREDFLEEATONCE",
"key1": "ZEBRAS",
"key2": "STRIPE"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/columnar-double",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "WEAREDISCOVEREDFLEEATONCE",
"key1": "ZEBRAS",
"key2": "STRIPE"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/columnar-double", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"WEAREDISCOVEREDFLEEATONCE","key1":"ZEBRAS","key2":"STRIPE"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"WEAREDISCOVEREDFLEEATONCE","key1":"ZEBRAS","key2":"STRIPE"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/columnar-double", 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": "WEAREDISCOVEREDFLEEATONCE",
"key1": "ZEBRAS",
"key2": "STRIPE"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.columnar_double",
"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
Alle Zeichen wandern gemeinsam —Leerzeichen, Ziffern und Satzzeichen behalten ihren Platz in der Sequenz und werden nie entfernt—, sodass Lehrbuchblätter und CTF-Payloads treu bleiben. Nutzen Sie es kostenlos im Browser für Krypto-Geschichtslektionen, Doppeltranspositions-Rätsel und reversible Labordemonstrationen, oder rufen Sie die API für $0.002 pro erfolgreicher Anfrage auf, wenn Pipelines reproduzierbare Zwei-Schlüssel-Spaltentransformationen brauchen.
Was doppelte Spaltentransposition ist und was dieses Werkzeug zurückgibt
Die JSON-Antwort enthält result für die endgültig umgeordnete Zeichenkette, encoding fest auf columnar_double, mode auf encrypt oder decrypt, key1 und key2 mit den von Ihnen gelieferten Schlüsselwörtern, key1_length und key2_length, column_order1 und column_order2 als nullbasierte Originalindizes in Lesereihenfolge jedes Passes, intermediate mit der Zeichenkette nach dem ersten Verschlüsselungspass oder nach dem ersten Entschlüsselungs-Undo, input_length und output_length, die immer übereinstimmen, weil jede Transformation nur permutiert, sowie eine formula-Zeichenkette, die den Zwei-Pass-Vertrag für Dokumentation und Tests festhält. Es gibt keinen Streaming-Pfad und keinen stillen Fallback auf Vigenère oder Base64: entweder liefern Sie nichtleeren Text und zwei nichtleere Schlüssel, oder die Anfrage scheitert mit invalid_input und benennt das fehlende Feld.
Wie Text, zwei Schlüssel und Modus gelesen werden und Ergebnisse reproduzierbar bleiben
Die gesamte nichtleere Zeichenkette jedes Schlüssels definiert die Spalten dieses Passes, einschließlich Ziffern und Symbolen, falls Sie sie einschließen, weil die Ordnung Unicode-Zeichenvergleich nutzt statt nur auf A–Z zu reduzieren. Mode ist standardmäßig encrypt, wenn es weggelassen wird, und akzeptiert auch kurze Aliase wie enc, encode, e für encrypt und dec, decode, d für decrypt; jede andere Zeichenkette scheitert an der Validierung. Die bevorzugten Payload-Felder sind text für die Nachricht, key1 für das erste Schlüsselwort, key2 für das zweite und optional mode für encrypt oder decrypt. Text akzeptiert Aliase wie input, value, s, message, plaintext und ciphertext, damit Formulare und SDK-Clients bestehende Spaltennamen wiederverwenden können, ohne jede Aufrufstelle umzubenennen. Key1 akzeptiert key_1, first_key, keyword1 und k1; key2 akzeptiert key_2, second_key, keyword2 und k2. Ein fehlendes oder leeres key1 oder key2 wird mit invalid_input und einer klaren Nachricht abgelehnt, die das Feld benennt, damit Betreiber das richtige Passwort korrigieren, ohne zu raten. Fehlender Text, leerer Text, Nicht-String-Typen und unbekannte Modi werfen alle invalid_input, damit ein leeres Formular nicht wie eine erfolgreiche No-Op wirkt. Spaltenordnungen werden einmal aus jedem Schlüssel berechnet, dann wird dieselbe Höhenformel bei Ver- und Entschlüsselung genutzt, sodass ein vollständiger Roundtrip die Original-Payload für jede nichtleere Zeichenkette unter diesem Schlüsselpaar wiederherstellt. Das Feld intermediate lässt Lehrkräfte und Bewerter das Gitter des ersten Passes zeigen, ohne die Spaltenpackung neu zu implementieren. Kombinieren Sie den kostenlosen Browserlauf auf dieser Seite mit der kostenpflichtigen API, wenn Sie dieselbe Doppelpermutation in einer automatisierten Pipeline brauchen. Ungültige Eingaben liefern invalid_input und werden nicht berechnet, was Validierung günstig hält, während erfolgreiche Transformationen einen festen Stückpreis behalten.
Wo doppelte Spaltentransposition in Lektionen, Rätseln und Test-Fixtures passt
Auf dieser Seite läuft die Arbeit vollständig in Ihrem Browser; über die API kostet jede erfolgreiche Abfrage $0.002, fehlgeschlagene Validierung wird nicht berechnet, und nach der Antwort wird nichts gespeichert. Diese Aufteilung —kostenlose interaktive Erkundung und identische kostenpflichtige API— entspricht dem restlichen KIT-Tier-A-Katalog und lässt Sie von einer Unterrichtsdemo zu einer automatisierten Pipeline wechseln, ohne das umgeordnete Ergebnis zu ändern.
Integrationsbeispiele
Deterministische CI-Fixtures für Zwei-Pass-Chiffren
Erzeugen Sie reproduzierbare Chiffre- und Klartextpaare der doppelten Spaltentransposition für Unit-Tests, Golden-Dateien und Vertragskontrollen.
Technische Fragen
Wie entschlüssele ich einen Doppel-Spaltentranspositions-Chiffretext?
Senden Sie den Chiffretext als text, dieselben zwei Schlüsselwörter als key1 und key2, und setzen Sie mode auf decrypt (oder dec, decode, d). Verschlüsselung ist Standard, wenn mode weggelassen wird. Entschlüsselung macht zuerst key2, dann key1 rückgängig.
Was geschieht, wenn ein Schlüssel fehlt oder leer ist?
Die Anfrage scheitert mit invalid_input und einer Nachricht, die das fehlende Feld benennt (key1 oder key2). Beide Schlüsselwörter müssen nichtleere Zeichenketten sein.