Quadrato di Polibio
HELLO diventa 2315313134 con il quadrato di Polibio: ogni lettera viene sostituita dalla riga e dalla colonna della sua casella in una griglia cinque per cinque, con I e J nella casella 24. Decifri le cifre per riavere le lettere. 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
- Modalità di calcolo
- Encrypt
- Risultato
- 2315313134
- Lunghezza
- 10
- Lettere mappate
- 5
- Coppie
- 5
Il quadrato di Polibio è un cifrario classico a sostituzione che colloca le venticinque lettere latine su una griglia cinque per cinque e codifica ciascuna lettera come le due cifre della sua riga e colonna. Nella forma didattica usata qui, I e J condividono una cella così che l'alfabeto intero ci stia; cifrare HELLO produce il flusso di cifre 2315313134, e decifrarlo ripristina HELLO. Lei incolla testo in chiaro o una stringa di cifre, sceglie cifrare o decifrare e riceve un risultato deterministico con conteggi di coppie e metadati del quadrato. Le non lettere sono saltate in cifratura affinché il crittogramma resti solo coppie di cifre; in decifratura i caratteri non numerici sono ignorati mentre le cifre vengono raccolte.
Come il quadrato di Polibio mappa le lettere in coppie di cifre
Un quadrato di Polibio classico è una tabella cinque per cinque le cui righe e colonne sono etichettate da uno a cinque. Le ventisei lettere latine non ci stanno una a una, quindi la convenzione scolastica unisce I e J in un'unica cella—qui la cella ventiquattro—lasciando venticinque posizioni da A a Z. Leggendo da sinistra a destra e dall'alto in basso, A è undici, B dodici, C tredici, D quattordici, E quindici, F ventuno, e così via fino a Z a cinquantacinque.
La cifratura scorre l'input una volta: ogni lettera latina, indipendentemente dal maiuscolo, è sostituita dal suo codice a due cifre riga-colonna e aggiunta a una stringa continua di cifre; spazi, punteggiatura, cifre già presenti nel testo e altre non lettere sono saltate così il risultato sono solo coppie valide. La decifratura inverte il processo: ogni carattere che è una cifra decimale è raccolto in ordine, poi i caratteri sono consumati a due a due come riga e colonna.
Se una coppia usa una cifra fuori da uno a cinque, o non compare sul quadrato classico, la richiesta fallisce invece di inventare una lettera. La cella ventiquattro decifra sempre in I; J non è mai stata una cella separata su questo quadrato. Il percorso non usa rete, né Date, né casualità.
Questa landing implementa solo il quadrato di Polibio classico cinque per cinque con I/J combinate, non una griglia alfanumerica sei per sei, né ADFGVX, né crittanalisi automatica di quadrati sconosciuti.
Dove gli strumenti di Polibio compaiono nel lavoro reale
I corsi introduttivi di crittografia e matematica discreta assegnano esercizi di Polibio così gli studenti praticano la sostituzione per coordinate prima dei cifrari polialfabetici; un oracolo affidabile che cifra e decifra con la griglia didattica cinque per cinque accelera demo di compiti e correttori automatici. I riscaldamenti capture-the-flag e le cacce ai puzzle nascondono ancora messaggi in coppie di cifre in piena vista, e i risolutori vogliono un quadrato rapido e prevedibile piuttosto che una suite generale di crittanalisi.
I team di supporto e contenuti a volte codificano in modo leggero spoiler, risposte a quiz o etichette interne come coppie di cifre e necessitano del percorso inverso senza installare una libreria crittografica specifica del linguaggio. Se serve uno scorrimento Cesare, cifrari Autokey o Beaufort a parola chiave, codifica Base32 o recupero per analisi di frequenza di chiavi sconosciute, li tratti come intenti di ricerca e landing separate piuttosto che sovraccaricare questa pagina classica del quadrato di Polibio.
Casi d'uso
Demo di aula di sostituzione per coordinate
Cifri e decifri parole di esempio sul quadrato fisso 5×5 I/J così le lezioni introduttive di cripto condividono un mapping di cifre di riferimento.
Sfide puzzle e CTF con coppie di cifre
Codifichi o inverta flussi di cifre Polibio su stringhe di sfida senza scrivere uno script usa-e-getta per ogni set di problemi.
Domande frequenti
Che cos'è un cifrario a quadrato di Polibio?
Un cifrario classico che colloca le lettere su una griglia 5×5 e codifica ciascuna lettera come riga e colonna a due cifre. Questo strumento usa il quadrato didattico in cui I e J condividono una cella.
Come decifro una stringa di cifre?
Imposti mode su decrypt e incolli le cifre (spazi consentiti). Le cifre sono raccolte in ordine e lette a coppie.
Perché I e J producono lo stesso codice?
Il quadrato classico 5×5 ha solo venticinque celle per ventisei lettere, quindi I e J condividono la cella 24. Decifrare 24 restituisce sempre I.
Spazi e punteggiatura vengono cifrati?
No. In cifratura le non lettere sono saltate. In decifratura i caratteri non numerici sono ignorati mentre le cifre formano le coppie.
Quanto costa?
Lo strumento del browser è gratuito e gira in locale.
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/polybius \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HELLO"}'const res = await fetch("https://api.kit.forhosting.com/enc/polybius", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HELLO"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/polybius",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HELLO"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/polybius", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HELLO"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HELLO"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/polybius", 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"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.polybius",
"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
La decifratura rifiuta subito un numero dispari di cifre con un errore invalid_input chiaro, perché coppie riga-colonna incomplete non possono mappare a lettere.
Come il quadrato di Polibio mappa le lettere in coppie di cifre
Se il conteggio delle cifre è dispari, la richiesta fallisce con invalid_input citando la regola della cifra dispari, perché una cifra finale isolata non può indirizzare una cella. Non c'è parola chiave segreta, né scorrimento modulare dell'alfabeto, né riempimento casuale—solo una tabella fissa e aperta—così testo e modalità identici producono sempre lo stesso JSON.
Cosa invia e cosa riceve in risposta
Invii un campo stringa obbligatorio chiamato text e un campo opzionale mode impostato a encrypt o decrypt. La modalità encrypt mappa le lettere in coppie continue di cifre; decrypt mappa le coppie di cifre in lettere maiuscole. I fallimenti di validazione non consumano il saldo prepagato. Controlli classici: cifrare HELLO in 2315313134, decifrare quel flusso in HELLO, mappare J allo stesso codice di I, e confermare che un crittogramma di cinque cifre è rifiutato invece di essere troncato in silenzio. Quando mode è omesso, encrypt è il predefinito così un payload minimo resta utile. In caso di successo la risposta riecheggia mode e il text originale, restituisce result come la stringa trasformata, length di quel risultato, letters_mapped e pairs come quante celle sono state codificate o decodificate, digit_count come la lunghezza del flusso di cifre, più square, ij_combined, alphabet e cipher come etichette del profilo. Text assente, oggetti non stringa per text, valori di mode non supportati, stringhe più lunghe del massimo documentato, payload decrypt senza cifre, numero dispari di cifre e coppie fuori dalla griglia classica da uno a cinque falliscono con invalid_input e un messaggio chiaro in inglese. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento.
Dove gli strumenti di Polibio compaiono nel lavoro reale
Poiché questa capacità è un motore di parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo.
Casi di integrazione
Codifica leggera di etichette e spoiler
Trasformi risposte a quiz o etichette interne in coppie riga-colonna e le decodifichi dopo con lo stesso contratto nel browser o nell'API.