Vai al contenuto
100% locale

Cifrario di Hill

Cifra o decifra testo con una chiave matriciale, il classico cifrario poligrafico dell'algebra lineare.

Ingresso
Uscita

Cifrario di Hill

Il cifrario di Hill, inventato da Lester Hill nel 1929, cifra il testo trattando le lettere come numeri e moltiplicando blocchi di esse per una matrice chiave quadrata, modulo la dimensione dell'alfabeto. Incolla testo in chiaro per cifrarlo, o testo cifrato per decifrarlo — questo strumento funziona in entrambe le direzioni con la stessa chiave.

Scegli una dimensione di matrice 2×2 o 3×3, quindi inserisci la chiave come numeri grezzi (riga per riga, separati da spazi o virgole) o come una parola — le sue lettere riempiono la matrice in ordine di lettura. La dimensione dell'alfabeto può essere 26 (solo A–Z) o 29, che aggiunge spazio, punto e punto interrogativo in modo che le frasi brevi mantengono la loro punteggiatura. I caratteri al di fuori dell'alfabeto scelto vengono eliminati e le lettere accentate vengono prima piegate al loro equivalente semplice. Se il conteggio delle lettere non è un multiplo della dimensione della matrice, la lettera di riempimento completa l'ultimo blocco.

La decifratura richiede che la matrice chiave sia invertibile modulo la dimensione dell'alfabeto — il suo determinante non deve condividere fattori comuni con 26 (o 29). Quando non lo fa, lo strumento spiega il perché invece di restituire spazzatura, poiché una matrice non invertibile non ha un inverso unico per decifrare. Attiva "Mostra matrice, determinante e inversa" per vedere esattamente come la chiave si risolve, il che è utile per verificare una chiave a mano o seguire un esempio del libro di testo.

Tutto viene eseguito localmente nel tuo browser — nulla di ciò che digiti viene caricato da nessuna parte. Copia il risultato, scaricalo come file .txt, o invia l'output direttamente nell'input per concatenare un'altra trasformazione.

FAQ

Come cifra effettivamente il cifrario di Hill un blocco di lettere?
Ogni lettera diventa un numero (A=0, B=1, …), un blocco di dimensione fissa di esse viene trattato come un vettore colonna, e quel vettore viene moltiplicato per la matrice chiave modulo la dimensione dell'alfabeto. I numeri risultanti diventano le lettere di testo cifrato per quel blocco.
Perché la decifratura non è riuscita con un errore sul determinante?
La decifratura ha bisogno dell'inverso della matrice chiave, che esiste solo quando il determinante non condivide fattori comuni con la dimensione dell'alfabeto (26 o 29). Scegli valori di chiave diversi in modo che il determinante sia coprimo con quel numero.
A cosa serve la lettera di riempimento?
Il cifrario di Hill funziona solo su blocchi completi di 2 o 3 lettere. Se il conteggio delle lettere del tuo testo non è un multiplo della dimensione della matrice, la lettera di riempimento completa l'ultimo blocco — l'output decifrato potrebbe terminare con una o due lettere di riempimento per lo stesso motivo.
Devo inserire la chiave come numeri o come parola?
Entrambi funzionano. I numeri ti danno un controllo esatto sulla matrice; una parola è più facile da ricordare e le sue lettere riempiono la matrice riga per riga, con la lettera di riempimento utilizzata se la parola è più corta di quanto la matrice richieda.
Il mio testo viene caricato da qualche parte?
No. Il cifrario di Hill viene eseguito interamente nel tuo browser — il tuo testo e la tua chiave non lasciano mai il tuo dispositivo.