Cifrario monoalfabetico: cifri e decifri con chiave di 26 lettere
Con la chiave QWERTYUIOPASDFGHJKLZXCVBNM, Hello World diventa Itssg Vgksr: lei fornisce l'intero alfabeto cifrante di 26 lettere, ogni lettera ha un'unica sostituzione fissa e la decifratura inverte la tabella. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hello World
- Key
- QWERTYUIOPASDFGHJKLZXCVBNM
- Azione
- Encrypt
- Risultato
- Itssg Vgksr
- Alfabeto
- QWERTYUIOPASDFGHJKLZXCVBNM
- Lettere associate
- 10
Un cifrario a sostituzione semplice, detto anche cifrario monoalfabetico, sostituisce ogni lettera dell'alfabeto con esattamente un'altra e mantiene fisso quel mapping per tutto il messaggio. A differenza di un cifrario a parola chiave che costruisce l'alfabeto da un seme breve, questo strumento prende come chiave l'alfabeto cifrato completo di ventisei lettere così che Lei controlli ogni corrispondenza in modo diretto. Incolli il testo in chiaro o il testo cifrato, fornisca una permutazione da A a Z, scelga cifrare o decifrare e riceva la stringa trasformata con il conteggio delle lettere mappate. Spazi, cifre e punteggiatura passano invariati mentre viene preservato il maiuscolo/minuscolo. Lo usi per dimostrazioni monoalfabetiche in classe, progettazione di enigmi, riscaldamenti CTF e offuscamento reversibile di brevi note.
Come funziona l'alfabeto chiave monoalfabetico
In un classico cifrario a sostituzione semplice l'alfabeto del testo in chiaro da A a Z è abbinato posizione per posizione a un alfabeto cifrato della stessa lunghezza. La chiave che Lei fornisce è quell'alfabeto cifrato: il primo carattere sostituisce A, il secondo sostituisce B, e così via fino a Z. Ad esempio, la chiave QWERTYUIOPASDFGHJKLZXCVBNM mappa la A in chiaro su Q, B su W, C su E, e così via, producendo una tabella monoalfabetica fissa per tutto il messaggio.
La cifratura cerca ogni lettera nell'alfabeto in chiaro ed emette il carattere allo stesso indice nella chiave; la decifratura fa la ricerca inversa così che i percorsi di andata e ritorno ripristinino esattamente il casing originale e i caratteri non alfabetici. Cifre, spazi, punteggiatura, emoji e scritture non latine non entrano nella mappa: vengono copiati così come sono affinché date, codici e formattazione restino leggibili.
Le forme maiuscole e minuscole della stessa lettera condividono una voce; il motore preserva il case di ogni carattere di origine, così HELLO e hello si cifrano in modo coerente rispetto alla stessa chiave. Poiché il mapping è fisso per ogni lettera del messaggio, l'analisi delle frequenze può ancora rompere lunghi testi cifrati in inglese; questo strumento serve all'insegnamento, agli enigmi e all'offuscamento leggero, non a proteggere segreti a riposo o in transito.
Preferisca questa pagina quando l'intento di ricerca è cifrario a sostituzione monoalfabetica o sostituzione semplice con alfabeto chiave completo; gli alfabeti generati da parola chiave, gli scorrimenti di Cesare e i cifrari polialfabetici Vigenère rispondono a intenti diversi e restano strumenti separati.
Cifrare, decifrare e validare le chiavi incomplete
Invii una stringa text obbligatoria e una stringa key obbligatoria e, facoltativamente, imposti action su encrypt o decrypt (encrypt è il valore predefinito). La chiave viene tagliata e deve contenere solo lettere da A a Z. Dopo la normalizzazione in maiuscolo deve essere lunga esattamente ventisei caratteri e usare ogni lettera dell'alfabeto una sola volta.
Se la lunghezza non è ventisei, la chiamata fallisce segnalando chiave incompleta e la lunghezza effettiva così che Lei completi l'alfabeto invece di ricevere una mappa riempita o troncata in silenzio. Se una lettera compare più di una volta, la chiamata fallisce indicando la lettera ripetuta come chiave incompleta: una permutazione deve coprire ogni lettera una volta. Encrypt percorre le lettere del testo in chiaro dall'alfabeto plain all'alfabeto chiave; decrypt percorre la direzione opposta.
Lo stato è beta mentre la superficie pubblica si stabilizza, ma le regole di sostituzione seguono questa costruzione classica fissa e non cambieranno per input identici.
L'alfabeto di sostituzione in classe e i suoi limiti
Chiami la capacità con text e key come campi obbligatori. Usi action decrypt quando il testo è già testo cifrato prodotto dallo stesso alfabeto chiave. Una lezione tipica mostra agli studenti una permutazione manoscritta di 26 lettere, cifra una frase breve, decifra per dimostrare l'invertibilità e infine contrasta la mappa fissa con un cifrario polialfabetico più avanti nel programma.
I manuali di supporto possono invertire note di ticket offuscate di proposito con un alfabeto di sostituzione condiviso. Non tratti mai la sostituzione semplice come sostituto di AES o della cifratura autenticata: le frequenze delle lettere rivelano struttura su testi inglesi più lunghi. Abbini lo strumento alle Sue note di lezione o al brief dell'enigma così che gli studenti verifichino il lavoro a mano rispetto a un riferimento stabile.
Casi d'uso
Dimostrazioni monoalfabetiche in classe
Mostri agli studenti un alfabeto cifrato completo di 26 lettere, cifri una frase di esempio, la decifri e spieghi perché le chiavi incomplete vengono rifiutate.
Riscaldamenti di enigmi e CTF
Generi testo cifrato reversibile per cacce al tesoro, escape room e sfide introduttive di crittografia con una chiave di sostituzione nota.
Offuscamento reversibile leggero
Mischi etichette o note brevi con un alfabeto completo condiviso quando serve un mapping andata-ritorno rapido anziché una crittografia vera.
Domande frequenti
Quali input richiede il cifrario a sostituzione monoalfabetica?
I campi obbligatori text e key. La chiave deve essere esattamente 26 lettere uniche A–Z. L'action opzionale è encrypt (predefinita) o decrypt.
Che cos'è una chiave incompleta?
Una chiave che non è esattamente 26 lettere uniche A–Z — lunghezza errata, lettere mancanti o ripetizioni.
Il cifrario è deterministico e sicuro?
È pienamente deterministico per lo stesso text, key e action. È un cifrario monoalfabetico classico per insegnamento ed enigmi, non sicurezza crittografica moderna.
Come funziona la chiave di 26 lettere?
La chiave si confronta posizione per posizione con l'alfabeto normale: la prima lettera sostituisce la A, la seconda la B e così via fino alla Z. Con QWERTYUIOPASDFGHJKLZXCVBNM, la A diventa Q, la B diventa W e la C diventa E.
Che differenza c'è con il cifrario a parola chiave?
Il cifrario a parola chiave costruisce l'alfabeto da una parola breve e completa il resto. Qui lei fornisce tutte le 26 lettere e controlla ogni sostituzione, purché ogni lettera compaia esattamente una volta.
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/simple-substitution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}'const res = await fetch("https://api.kit.forhosting.com/enc/simple-substitution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/simple-substitution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/simple-substitution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/simple-substitution", 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": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.simple_substitution",
"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
Le chiavi incomplete — troppo corte, troppo lunghe o con lettere ripetute — falliscono subito con un messaggio invalid_input chiaro, così un alfabeto parziale non diventa mai in silenzio una mappa rotta.
Cifrare, decifrare e validare le chiavi incomplete
Se la chiave manca o è vuota dopo il taglio, la chiamata fallisce con invalid_input indicando la chiave assente. In caso di successo, la risposta restituisce il testo originale, la chiave normalizzata in maiuscolo, l'azione usata, il campo alphabet (uguale alla chiave in questa costruzione), la stringa result trasformata e letters_mapped che conta quanti caratteri alfabetici sono stati sostituiti.
Uso dell'API, prezzi, flussi in classe e limiti pratici
Il prezzo dell'API ospitata è una tariffa fissa di $0.002 per richiesta riuscita; i fallimenti di validazione come chiave assente, chiave incompleta o lettera ripetuta non consumano il saldo. Mantenga i payload a dimensioni di testo ordinarie adatte a una chiamata item in un isolato Worker; questo strumento è per messaggi e frammenti, non per blob binari multi-megabyte. Mantenga i nomi di campo espliciti invece di impacchettare prosa libera: il contratto resta allineato con OpenAPI, i tipi SDK e i controlli del modulo.
Domande tecniche
Cosa include una risposta di successo?
Il text originale, la key normalizzata, action, alphabet (la chiave), la stringa result e letters_mapped (conteggio dei caratteri A–Z sostituiti).
Quanto costa l'API del cifrario a sostituzione semplice?
Ogni chiamata API riuscita costa $0.002. Lo stesso motore gira gratis nel Suo browser senza bisogno di account.