Sări la conținut

Cifrul Hill

Cifrea sau decripteaza text cu o cheie de matrice, cifrul poligrafic clasic din algebra liniara.

Intrare
Ieșire

Cifrul Hill

Cifrul Hill, inventat de Lester Hill în 1929, cripteaza text tratând literele ca numere și înmulțind blocuri de ele cu o matrice de cheie patrata, modulo dimensiunea alfabetului. Lipește text simplu pentru a-l cripta, sau text cifrat pentru a-l decripta — acest instrument executa ambele direcții cu aceeași cheie.

Alege o dimensiune de matrice 2×2 sau 3×3, apoi introduce cheia fie ca numere brute (rând pe rând, separate prin spații sau virgule), fie ca un cuvânt — literele acestuia completează matricea în ordinea de citire. Dimensiunea alfabetului poate fi 26 (doar A–Z) sau 29, care adauga spațiu, punct și marca întrebării, deci fraze scurte îsi păstrează punctuația. Caractere din afara alfabetului ales sunt eliminate, și literele cu accent sunt normalizate la echivalentul lor simplu mai întâi. Dacă numarul de litere nu este multiplu al dimensiunii matricei, litera de completare umple ultimul bloc.

Decriptarea necesita ca matricea de cheie sa fie invertibila modulo dimensiunea alfabetului — determinantul acesteia nu trebuie sa aiba factor comun cu 26 (sau 29). Când nu este, instrumentul explica de ce în loc sa returneze gunoaie, deoarece o matrice ne-invertibila nu are o inversa unica pentru decriptare. Activeaza "Afișa matrice, determinant și inversă" pentru a vedea exact cum se rezolva cheia, ceea ce este util pentru verificarea unei chei manual sau urmărirea unui exemplu din manual.

Tot functioneaza local în browserul tău — nimic din ceea ce tastezi nu este încărcat nicaieri. Copia rezultatul, descarca ca fișier .txt, sau trimite ieșirea direct înapoi în intrare pentru a înlănța o alta transformare.

FAQ

Cum criptează de fapt cifrul Hill un bloc de litere?
Fiecare literă devine un număr (A=0, B=1, …), un bloc de dimensiune fixa din ele este tratat ca un vector coloană, și acel vector este înmulțit cu matricea de cheie modulo dimensiunea alfabetului. Numerele rezultate devin literele textului cifrat pentru acel bloc.
De ce decriptarea a eșuat cu o eroare despre determinant?
Decriptarea necesita inversa matricei de cheie, care există doar atunci când determinantul nu partajeaza factor comun cu dimensiunea alfabetului (26 sau 29). Alege valori de cheie diferite, deci determinantul este coprim cu acel număr.
Pentru ce este litera de completare?
Cifrul Hill functioneaza doar pe blocuri complete de 2 sau 3 litere. Dacă numarul de litere din textul tău nu este multiplu al dimensiunii matricei, litera de completare umple ultimul bloc — ieșirea decriptata poate termina cu una sau doua litere de completare din același motiv.
Ar trebui sa introduc cheia ca numere sau ca cuvânt?
Ambele lucreaza. Numerele iti dau control exact asupra matricei; un cuvânt este mai ușor de amintit și literele acestuia completează matricea rând cu rând, cu litera de completare folosita dacă cuvântul este mai scurt decât are nevoie matricea.
Textul meu este încărcat undeva?
Nu. Cifrul Hill functioneaza in intregime în browserul tău — textul și cheia ta nu parasesc niciodată dispozitivul tău.