Documente Academic
Documente Profesional
Documente Cultură
n criptografia clasic, cifrul Hill este un cifru al substituiei poligrafic bazat pe algebr
linear. Inventat de ctre Lester S. Hill n 1929, a fost primul cifru poligrafic n care era practic
posibil s se opereze cu mai mult de trei simboluri deodat.
Fiecare liter este tratat ca o cifr din baza 26:
A=0, B=1, C=2, D=3, E=4, F=5, G=6, H=7, I=8, J=9, K=10, L=11, M=12, N=13, O=14, P=15,
Q=16, R=17, S=18, T=19, U=20, V=21, W=22, X=23, Y=24, Z=25.
Un bloc de n litere este considerat ca un vector cu n dimensiuni, i multiplicat cu o matrice n n,
modulo 26. Componentele matricei reprezint cheia, care trebuie alese aleatoriu astfel nct
matricea s fie inversabil n n26 (pentru a asigura posibilitatea decriptrii).
Exemplu:
Considerm mesajul 'ACT', i cheia de mai jos (sau GYBNQKURP n litere):
Deoarece 'A' este 0, 'C' este 2 i 'T' este 19, mesajul este vectorul:
care corespunde criptotextului 'FIN'. Fiecare liter s-a schimbat. Cifrul Hill are proprietatea de
difuzie a lui Shannon, iar un cifru Hill n-dimensional are proprietatea de difuzie peste n
simboluri deodat.
Pentru a putea decripta, transformm criptotextul n vector i apoi l nmulim cu inversa matricei
cheie (IFKVIVVMI n litere).
Gsim c, n n26 , inversa matricei din exemplul de mai sus este:
OBSERVAIE
Complicaia care poate aprea este faptul c nu toate matricele au inverse. Exist o metod
direct de determinare a acestei proprieti. Dac determinantul unei matrice este 0, sau are
factori comuni cu modulul (adic factori ca 2 sau 13, n cazul modulului 26), atunci matricea nu
poate fi folosit n cifrul Hill. Din fericire, dac baza nu are factori mici, cele mai multe matrice
au inverse. De exemplu, matricea cheie:
25 este coprim cu 26, deci nu este nici o problem. Riscul ca determinantul s aib factori
comuni cu modulul poate fi eliminat prin alegerea unui modul prim. n consecin
, o variant
util de cifru Hill adaug nc 3 simboluri pentru a crete modulul la 29.
Descriere algoritm:
Algoritmul de criptare ia m litere succesive din textul original i le substituie cu m litere
n textul criptat. Substituia este determinat de m ecuaii liniare n care fiecrui caracter i se
atribuie o valoare numeric (a=0, b=1,..., z=25 ). Pentru m=3 sistemul arat n felul urmtor:
C1 = ( k11p1 + k12p2 + k13p3 ) mod 26
C2 = ( k21p1 + k22p2 + k23p3 ) mod 26
C3 = ( k31p1 + k32p2 + k33p3 ) mod 26
Sub form matricial algoritmul se prezint n felul urmtor:
C1 k11
C 2 = k 21
C k
3 31
k12
k 22
k 32
k13 p1
k 23 p 2
k 33 p3
Sau
C = KP
unde P i C sunt vectori coloan de lungimea 3 reprezentnd textul original i cel criptat, iar K
este o matrice inversabil de dimensiune 3 x 3 reprezentnd cheia de criptare.
Decriptarea necesit inversa matricei K , adic K-1 care se definete prin ecuaia
KK-1 = K-1K = I
unde I este matricea unitate.
n termeni generali codul Hill poate fi exprimat dup cum urmeaz:
C = EK (P) = KP
P = DK (C) = K-1C = K-1KP = P
Puterea codului Hill const n faptul c ascunde complet frecvena literelor din textul criptat. Cu
ct se folosete o matrice mai mare cu att algoritmul ascunde mai mult informaie referitoare la
frecvena literelor. n cazul folosirii unei matrici de 3 x 3 algoritmul cripteaz cte 3 caractere n
acelai timp. Dei codul Hill este puternic n cazul unui atac bazat numai pe textul criptat, el este
uor de decriptat n cazul cunoaterii unor secvene din textul original.