Trasposizione Myszkowski
Con la chiave TOMATO, WEAREDISCOVEREDFLEEATONCE diventa ROFOACDTEDSEEEACWEIVRLENE, e la stessa chiave riporta il testo all'originale. Le lettere ripetute della chiave si leggono insieme, riga per riga: è questo che distingue Myszkowski dalla trasposizione colonnare semplice. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- WEAREDISCOVEREDFLEEATONCE
- Key
- TOMATO
- Modalità di calcolo
- encrypt
- Risultato
- ROFOACDTEDSEEEACWEIVRLENE
- Codifica
- myszkowski
- Lunghezza della chiave
- 6
- Ranghi della chiave
- 4, 3, 2, 1, 4, 3
Questo strumento di trasposizione Myszkowski cifra o decifra testo riordinando i caratteri sotto una parola chiave che usa di proposito lettere ripetute. A differenza della trasposizione colonnare semplice, in cui i caratteri uguali della chiave si sbloccano con un indice da sinistra a destra, Myszkowski assegna lo stesso rango a ogni copia di una lettera e legge quelle colonne insieme riga per riga. Lei inserisce un messaggio, una chiave non vuota e una modalità opzionale; il motore costruisce una griglia la cui larghezza è la lunghezza della chiave, scrive il testo da sinistra a destra e dall'alto in basso, classifica le lettere della chiave in ordine Unicode con ranghi condivisi per le ripetizioni, quindi emette il cifrato percorrendo i ranghi in ordine crescente. La decifratura inverte quel posizionamento così la stessa parola chiave ripristina la stringa originale bit a bit. Un controllo classico è WEAREDISCOVEREDFLEEATONCE sotto la chiave TOMATO, che cifra nel noto cifrato Myszkowski e decifra di nuovo con la stessa parola chiave.
Cos'è la trasposizione Myszkowski e cosa restituisce questo strumento
La trasposizione Myszkowski è un cifrario classico di riordinamento proposto da Émile Victor Théodore Myszkowski nel 1902 come variante della trasposizione colonnare. Il segreto resta l'ordine delle colonne, ma la parola chiave dovrebbe contenere lettere ripetute così che più colonne condividano un rango. I ranghi unici si trascrivono dall'alto in basso nella colonna; i ranghi condivisi si trascrivono da sinistra a destra su quelle colonne in ogni riga, poi alla riga successiva.
I caratteri del testo in chiaro si scrivono nella griglia riga per riga; quando l'ultima riga è incompleta, le colonne a sinistra hanno semplicemente un carattere in più di quelle a destra, secondo la regola usuale dei manuali che preserva la lunghezza, senza caratteri di riempimento forzati a meno che Lei non li metta nell'ingresso.
La cifratura concatena il materiale in ordine di rango crescente sotto quella regola di rango condiviso; la decifratura scrive il cifrato in quelle posizioni con le stesse altezze derivate dalla lunghezza totale e dalla larghezza della chiave, poi legge la griglia riga per riga per recuperare l'originale. Questa pagina applica sempre quel contratto fisso Myszkowski e non passa mai in silenzio a colonnare semplice con parità stabili, trasposizione a percorso, rail fence o un cifrario a sostituzione.
Dove si usa: lezioni, enigmi ed esercizi
Sviluppatori e formatori incontrano la trasposizione Myszkowski nei riscaldamenti capture-the-flag, nei capitoli di manuali sulla crittologia classica e nelle demo che mostrano come le lettere ripetute della parola chiave cambino il percorso di lettura rispetto alla trasposizione colonnare semplice. I team frontend possono rimescolare frasi di esempio per screenshot senza inventare un alfabeto proprio, poi recuperarle con decrypt sotto la stessa chiave.
Gli ingegneri di qualità generano coppie encrypt/decrypt deterministiche per test di contratto, così un middleware che dichiara supporto Myszkowski non può passare in silenzio a un motivo colonnare a parità stabile né eliminare gli spazi. Gli organizzatori di gare precalcolano chiavi di risposta per frasi inglesi modeste senza fidarsi di giocattoli web opachi che forzano l'output solo in maiuscolo o inseriscono caratteri X di riempimento che Lei non ha mai chiesto.
Gli strumenti di prodotto e istruzione usano la trasformazione quando un discente incolla un cifrato e l'interfaccia deve mostrare il testo in chiaro recuperato sotto la parola chiave documentata. La abbini ad altri aiutanti di codifica classica quando costruisce un piccolo laboratorio di strumenti di testo gratuiti e deterministici, e non tratti mai la trasposizione Myszkowski come sostituto della crittografia moderna autenticata.
Casi d'uso
Pratica CTF e cifrario classico
Cifri e decifri frasi Myszkowski con lettere ripetute nella parola chiave per enigmi, aule e riscaldamenti capture-the-flag.
Lezioni di storia della crittografia
Dimostri gruppi di colonne a rango condiviso, letture di riga da sinistra a destra per le ripetizioni e griglie che preservano la lunghezza senza riempimento forzato.
Domande frequenti
Quanto costa lo strumento di trasposizione Myszkowski?
È gratuito nel Suo browser in questa pagina.
Come decifro un cifrato Myszkowski?
Invii il cifrato come text, la stessa parola chiave come key e imposti mode su decrypt (o dec, decode, d). La cifratura è l'impostazione predefinita quando mode è omesso.
Cosa succede se la chiave è vuota o assente?
La parola chiave deve essere una stringa non vuota affinché il motore assegni i ranghi di colonna Myszkowski.
In che modo Myszkowski differisce dalla trasposizione colonnare semplice?
In Myszkowski le lettere ripetute della chiave condividono un rango e quelle colonne si leggono da sinistra a destra in ogni riga. La colonnare semplice di solito sblocca per indice sinistro e legge ogni colonna intera dall'alto in basso.
La trasposizione Myszkowski è sicura per segreti reali?
No. È un cifrario classico didattico del 1902. Usi crittografia moderna autenticata come AES-GCM per una vera riservatezza.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/myszkowski \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"WEAREDISCOVEREDFLEEATONCE","key":"TOMATO"}'const res = await fetch("https://api.kit.forhosting.com/enc/myszkowski", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "WEAREDISCOVEREDFLEEATONCE",
"key": "TOMATO"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/myszkowski",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "WEAREDISCOVEREDFLEEATONCE",
"key": "TOMATO"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/myszkowski", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"WEAREDISCOVEREDFLEEATONCE","key":"TOMATO"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"WEAREDISCOVEREDFLEEATONCE","key":"TOMATO"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/myszkowski", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "WEAREDISCOVEREDFLEEATONCE",
"key": "TOMATO"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.myszkowski",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Tutti i caratteri si muovono insieme: spazi, cifre e punteggiatura restano al loro posto e non vengono mai rimossi, così i fogli da manuale e i payload CTF restano fedeli. La usi gratis nel browser per lezioni di storia della crittografia, progettazione di enigmi e demo di laboratorio reversibili, oppure chiami l'API a $0.002 per richiesta riuscita quando le pipeline necessitano di trasformazioni Myszkowski riproducibili.
Cos'è la trasposizione Myszkowski e cosa restituisce questo strumento
La risposta JSON include result per la stringa riordinata, encoding fisso a myszkowski, mode impostato a encrypt o decrypt, key che ripete la parola chiave fornita, key_length, key_ranks come rango base uno di ogni posizione della chiave, read_groups come gruppi di indici di colonna base zero nell'ordine di lettura, input_length e output_length che coincidono sempre perché la trasformazione solo permuta, e una stringa formula che riafferma il contratto dei gruppi per riga a rango condiviso per documentazione e test. Non c'è percorso in streaming né un fallback silenzioso a Vigenère o Base64: o Lei fornisce testo non vuoto e chiave non vuota, oppure la richiesta fallisce con invalid_input. Se serve colonnare semplice, spostamenti polialfabetici o crittografia moderna, usi quegli endpoint dedicati; questa pagina risponde solo al contratto di parola chiave Myszkowski già descritto nei capitoli di storia della crittografia e nei riscaldamenti CTF.
Come si leggono testo, chiave e modalità e come i risultati restano riproducibili
L'esempio classico TOMATO produce ranghi quattro tre due uno quattro tre per le sei colonne, ranghi unici per A e M, e ranghi condivisi per le due colonne O e le due colonne T. I campi preferiti del payload sono text per il messaggio, key per la parola chiave e mode opzionale per encrypt o decrypt. Text accetta alias come input, value, s, message, plaintext e ciphertext così moduli e client SDK possono riusare nomi di colonna esistenti senza rinominare ogni punto di chiamata. Key accetta keyword, k, password e passphrase; l'intera stringa non vuota definisce le colonne, comprese cifre e simboli se li include, perché il ranking usa il confronto di caratteri Unicode anziché ridurre solo ad A–Z. Una chiave vuota o assente viene rifiutata con invalid_input e un messaggio chiaro che richiede una parola chiave non vuota per i ranghi di colonna Myszkowski. Mode vale encrypt per impostazione predefinita se omesso e accetta anche alias corti come enc, encode, e per encrypt e dec, decode, d per decrypt; qualsiasi altra stringa fallisce la validazione. Testo assente, testo vuoto, tipi non stringa e modalità sconosciute sollevano tutti invalid_input, così un modulo vuoto non sembra un'operazione riuscita senza effetto. Ranghi della chiave e gruppi di lettura si calcolano una volta dalla chiave; la stessa formula delle altezze serve per encrypt e decrypt, così un andata e ritorno ripristina sempre il payload originale per qualsiasi stringa non vuota sotto quella parola chiave. Abbini l'esecuzione gratuita nel browser di questa pagina all'API a pagamento quando le serve la stessa permutazione in una pipeline automatizzata senza reimplementare da sola il packing della griglia a rango condiviso. Gli input non validi restituiscono invalid_input e non vengono addebitati, così la validazione resta economica mentre le trasformazioni riuscite restano a prezzo fisso per elemento.
Dove la trasposizione Myszkowski si colloca in lezioni, enigmi e fixture di test
I servizi backend codificano brevi stringhe di sfida per API di enigmi o sandbox didattiche in cui gli studenti devono ricostruire i gruppi a rango condiviso per sbloccare il passo successivo. In questa pagina il lavoro gira interamente nel Suo browser; tramite l'API ogni consultazione riuscita costa $0.002, la validazione fallita non viene addebitata e nulla viene memorizzato dopo la risposta. Quella divisione — esplorazione interattiva gratuita e un'API a pagamento identica — combacia con il resto del catalogo tier A del KIT e Le consente di passare da una demo in aula a una pipeline automatizzata senza cambiare il risultato riordinato.
Casi di integrazione
Fixture CI deterministiche
Generi coppie riproducibili di cifrato e testo in chiaro Myszkowski per test unitari, file golden e controlli di contratto.