Criptanaliza și îmbunătățirea unei scheme [617428]

1 / 7
Criptanaliza și îmbunătățirea unei scheme
de criptare a imaginii bazat pe hy per-chaos
Sinsp. ing. HRAB Constantin -Cristian

Abstract: Această lucrare prezintă o schemă de criptare a imaginii, care
utilizează o matrice a imaginilor pentru a amesteca pozițiile pixelilor și apoi
folosește un sistem hiper -haotic pentru a confunda relația dintre imaginea
simplă și imaginea criptată , un atac pe baza imaginii inițiale alese asupra
acestei scheme și îmbunătățirile ce pot fi aduse pentru a elimina
vulnerabili tățile găsite.

1. INTRODUCERE

Criptarea bazată pe haos a fost inițial propusă în 1989, de atunci mulți cercetători au propus și
analizat o mulțime de algoritmi de criptare bazați pe haos, toate acestea fiind motivate de
proprietățile haotice, cum ar fi depe ndența sensibilă de condițiile iniți ale și de parametrii
sistemului , proprietatea pseudorandomului, neperiodicitatea și tranzitivitatea topologică etc.
În timp ce algoritmii clasici de criptare sunt sensibili la chei, astfel încât unele construcții
elabora te sunt necesare pentru a obține o criptare bazată pe haos, care să fie mai satisfăcătoare și
mai sigură.
Este bine cunoscut faptul că un algoritm bun de criptare ar trebui să fie sensibil la cheile de
cifru, iar spațiul cheie ar trebui să fie suficient de mare pentru a face atacurile de forță brute
imposibil de realizat. În articolul [1] a fost propusă o sche mă criptografică haotică rapidă bazată
pe iterarea unei hărți log istice și nu trebuie generate numere aleatorii, iar tabela de căutare folosită
în procesul criptografic este actualizată dinamic.

Figura 1 – Schema algoritmului bazat pe hyper -chaos
Imaginea inițială Imaginea
amestecată
total Criptarea
Hyper -Chaos Imaginea
criptată
Harta
logistică Sistemul
Hyper -Chaotic

2 / 7
2. ALGORITMUL DE CRIPTARE BAZAT PE HYPER -CHAOS

2.1 Criptare de imagini bazată pe matricea totală de amestecare
Imaginile au corelații puternice între pixelii adiacenți. Pentru a perturba această corelație a
pixelilor se va folosi o matrice de amestecare totală. Presupunem că dimensiunea imaginii este N
x M, iar matricea de poziție a pixelilor este Pi,j (I) , i = 0, 1, …. M -1; j = 0, 1, …N -1, unde Pi,j (I)
reprezintă valorile de gri a imaginii. Procedura de amestecare se realizează în felul următor:
1. Pentru harta logistică xn+1 = 4x n(1-xn) și un x0 dat, după realizarea câtorva iterații va
rezulta un x0 nou și obținem:
l = mod (x 0 x 1014, M) , l ϵ [0, M -1] (1)
2. Continuăm să facem iterații a hărții logistice și a ecuției (1) până când obținem date M
diferite și sunt între 0 și M -1, aceste date pot fi reordonate în forma {hi, i= 1, 2, …M},
unde hi ≠ hj dacă i ≠ j. Apoi rearanjăm rândurile matriciei Pi,j (I) corespunzător cu forma
de mai sus ( h1 va fi rândul 1, h 2 rândul 2, etc ) și obținem o matrice nouă 𝑃𝑖,𝑗ℎ bazată pe
transformarea rândurilor.
3. Pentru fiecare rand al noii matrici vom amesteca coloanele. Utilizând ultimul x0 opținut
vom avea:
l = mod (x 0 x 1014, N) , l ϵ [0, N -1] (2)

4. Continuăm să facem iterații a hărții logistice și a ecuției (2) până când obținem date N
diferite și sunt între 0 și N -1, aceste date pot fi reordonate în forma {li, i= 1, 2, … N},
unde li ≠ lj dacă i ≠ j. Apoi rearanjăm coloanele din primul rând al matrici ei
𝑃𝑖,𝑗ℎ corespunzător cu forma de mai sus ( l1 va fi coloana 1, l2 coloana 2, etc ) și obținem
o matrice nouă 𝑃𝑖,𝑗ℎ𝑙 .
5. Repetăm pașii 3 și 4 pentru a amesteca și coloanele celorlalte rânduri.

2.2 Sistemul Hyper -Chaotic
În schema de criptare propusă, un nou sistem de hiper -haotic generat de sistem haotic Chen este folosit
în formarea cheii , care este modelat de :
{ẋ1=𝑎 (𝑥2− 𝑥1)
ẋ2= −𝑥1𝑥3+ 𝑑𝑥1+ 𝑐𝑥2− 𝑥4
ẋ3= 𝑥1𝑥2− 𝑏𝑥3
ẋ4= 𝑥1+𝑘 (3)
unde a, b, c, d și k sunt parametri, când a = 36, b = 3, c = 28, d = -16, și -0,7 ≤ k ≤ 0.7 sistemul este hyper –
chaotic.
2.3 Algoritmul de criptare
După obținerea matriciei amestecate compl et 𝑃𝑖,𝑗ℎ𝑙 și folosind sistemul de mai sus vom cripta
imaginea amestecată. Schema de criptare se bazează pe combinația variabilelor de stare ale

3 / 7
sistemului h yper-chaotic de mai sus. Trei dintre cele patru variabile sunt combinate diferit, care
pot produce patru combinații diferite, care sunt date în Tabelul 1.
Numărul de serie Combinații de stare
0 (x1,x2,x3)
1 (x1,x2,x4)
2 (x1,x3,x4)
3 (x2,x3,x4)
Tabelul 1 – Diferite combinații de stări de hyper -chaos
Apoi , procesul de criptare este realizat astfel:
Pasul 1: Se iterează sistemul h yper-chaotic de N0 ori prin algoritmul Runge -Kutta pentru a evita
efectul dăunător al procedurii tranzitorii.
Pasul 2: Sistemul hy per-chaotic este repetat și, ca rezultat, vor fi generate patru fracții zecimale
x1, x2, x3, x4. Aceste valori zecimale sunt preprocesate prima dată după cum urmează :
xi = mod((Abs(x i)) – Floor(abs(x i))) x 1014, 256), i= 1, 2, 3, 4 (4)
unde Abs(x) returnează valoarea absolută a lui x. Floor(x) returnează valoarea lui x la cel mai
apropiat întreg mai mică sau egală cu x, mod(x, y) returnează restul după împărțire.
Pasul 3: Generăm numărul de serie 𝑥1 folosind formula urătoare:
𝑥1 = mod(x 1, 4), rezult ând că 𝑥1 ϵ [0, 3] (5)
Pe baza acestui număr vom alege combinația de stare din Tabelul 1.
Pasul 4: Efectuarea de XOR între 3 octeți ale datelor imaginii din matricea 𝑃𝑖,𝑗ℎ𝑙 și 3 octeți din
datele de grup rezultate din formula:
{𝐶3×(𝑖−1)+1 = 𝑃3×(𝑖−1)+1⊕𝐵𝑥1
𝐶3×(𝑖−1)+2 = 𝑃3×(𝑖−1)+2⊕𝐵𝑥2
𝐶 3×(𝑖−1)+3= 𝑃3×(𝑖−1)+3⊕𝐵𝑥3 (6)
Unde i = 1, 2, … reprezintă a i –a iterație a sitemului hyper -chaos. Pi, i = 1, 2, … N x M
reprezintă valoarea pixelilor imaginii amestecate, 𝐵𝑥1, 𝐵𝑥2 ș𝑖 𝐵𝑥3 reprezintă variabile de stare ale
grupului corespunzător numărului de serial , adică valorile alese ale ecuației (3) du pă ce a fost
transformat cu ecuația (4). Procesul nu se termină până când setul 𝑃𝑖,𝑗ℎ𝑙 = {P1, P2, … P N x M} nu este
criptată total. Apoi setul de pixelii criptați C = {C1, C2, … CN x M} este scris în imaginea criptată.

4 / 7
3. CRIPTANALIZA ALGORITMULUI BAZAT PE HYPER -CHAOS

3.1 Tipurile clasice de atac

Când criptanaliz ăm un cryptosystem , presupunerea generală făcută este că criptanali stul știe
exact proiectarea și funcționarea sistemului analizat , adică el știe totul despre criptosisteme, cu
excepția cheii secrete. Aceasta este o cerință evidentă în rețelele de comunicații securizate de
astăzi, denumite de obi cei principiul lui Kerchoff . Există patru tipuri clasice de atacuri și este
posibil să se facă diferența între diferitele niveluri ale acestor atacuri, pe baza nivelului de
cunoaștere a cryptosystem -ului de către atacator și dacă el are sau nu mașin a de criptare / decriptare
sau cunoașterea unor perechi de plaintext / ciphertext. Deci, le enumerăm ordonate de la cele mai
grele tipuri de atac la cele mai ușoare:
(1) Ciphertext only : adversarul posedă doar un șir de text cifrat.
(2) Known plaintext : adversarul posedă un șir de text, M, și textul cifrat corespunzător, D.
(3) Chosen plaintext : adversarul a obținut acces temporar la mașinile de criptare. Prin urmare,
el poate alege un șir de text, M, și construi șirul de text cipher corespunzător, D.
(4) Chosen ciphertext : adversarul a obținut acces temporar la mașinile de decriptare. Prin
urmare, el poate alege un șir de text cipher, D, și poate construi șirul de texte corespunzător, M.
În fiecare dintre aceste patru atacuri, obiectivul este de a determina cheia care a fost utilizată.
Este suficient c a unul dintre atacuri să aibe succes pentru a consider a un algoritm nesigur.

3.2 Atacul bazat pe alegerea imaginii inițiale
Presupunem că avem chipertext -ul C=C 1C2… de lungime N x M de decriptat fără a cunoaște
cheia K. Presupunem că am obținut acces temporar asupra mașinii de criptare. Pentru recuperarea
imaginii inițiale P vom proceda astfel:
(1) Vom cere chipertext -ul imaginii M=m 1m2…=00… ( M are aceeași dimensiune ca și C) și
vom obține chipertext -ul D=d 1d2…
Șirul cheie B=B 1B2… poate fi generat din D astfel:
Bi = m i ⊕ d i =d i , i = 1, 2, … N x M (7)
Imaginea recuperată amestecată 𝑃𝑖ℎ𝑙 = 𝑃1ℎ𝑙𝑃2ℎ𝑙… pote fi obținută folosind B și C asfel
𝑃𝑖ℎ𝑙 = Ci ⊕ Bi , i = 1, 2, … N x M (8)

(2) Vom cere chipertext -ul unei imaginiide dimensiuni M x N notată cu J care va avea
elementele de pe coloana 1 egale cu 1, cele de pe coloana 2 egale cu 2, …cele de pe coloana
N egale cu N.

5 / 7
J = (12… 𝑁
12… 𝑁
⋮⋮⋱ ⋮
12… 𝑁) (9)

Imaginea chiper corespondentă va fi notată cu Jc = 𝐽1𝑐 𝐽2𝑐… . Cu cheia B calculată la pasul
(1) vom genera imaginea amestecată Jhl = J 1J2 … a lui J aplicând următoarea formulă:

Ji = 𝐽𝑖𝑐 ⊕ B i (10)

Vom folosi li pentru a aranja coloanele fiecărui rând a imaginii Phl și vom genera
imaginea Ph.
(3) Acum vom cere chipertext -ul unei imagini M x N notată cu I care va avea alementele de
pe rândul 1 egale cu 1,de pe rândul 2 egale cu 2, … de pe rândul M egale cu M.

I = (1 1 … 1
2 2 … 2
⋮ ⋮ ⋱ ⋮
𝑀 𝑀 … 𝑀) (11)

Imaginea chiper corespondentă va fi notată cu Ic = 𝐼1𝑐 𝐼2𝑐… . Cu cheia B calculată la pasul
(1) vom genera imaginea amestecată Ihl = I1I2 … a lui I aplicând următoarea formulă:

Ii = 𝐼𝑖𝑐 ⊕ B i (12)

Utilizănd hi vom genera imaginea inițială P aranjând rândurile imaginii Ph.
De exemplu vom lua M = N = 4.
𝐽 = (1234
1234
1234
1234)→ 𝐽ℎ𝑙 = (1234
1432
2134
4231) {𝑙𝑖,1,𝑖=1,..,𝑁}=1,2,3,4
{𝑙𝑖,2,𝑖=1,…,𝑁}=1,4,3,2
{𝑙𝑖,3,𝑖=1,…,𝑁}=2,1,3,4
{𝑙𝑖,4,𝑖=1,…,𝑁}=4,2,3,1
I = (1111
2222
3333
4444) → 𝐼ℎ𝑙 = (4444
3333
2222
1111){ℎ𝑖,𝑖=1,..,𝑁}=4,3,2,1

6 / 7
4. IMBUNĂTĂȚIREA ALGORITMULUI

4.1 PWLCM ( Piecewise linear chaotic map )
Pentru a realiza procesul de permutări în mai puțin timp funcția PWLCM în loc de harta
logistică. Folosind acestă hartă întrun generator haotic pentru pașii de amestecare va minimiza
numărul de iterații necesare pentru transformarea rândurilor și a coloanelor. Funcția este
următoarea:
𝑥𝑛+1={𝑥𝑛
𝑝,𝑥𝑛∈[0,𝑝)
1−𝑥𝑛
1−𝑝,𝑥𝑛∈[𝑝,1) (13)

4.2 Arhitectura procesului de permutare
Presupunem că dimensiunea imaginii inițiale P este N x N, poziția pixelilor Pi,j, i, j = 0 … N -1,
folosind Pi,j pentru nivelurile de gri ale imaginii. Procedura de amestecare se realizează în felul
următor:
(1) Iterăm PWLCM descrisă în ecuația (13) pornind de la condiția inițială x0 ϵ (0, 1) pentru a
obține xn, apoi avem:
u = floor(x n x N) + 1, u ϵ [1, N] (14)

(2) Continuăm iterațiile PWLCM până când vom obține N dade diferite între 1 și N. Aceste
date le vom înregistra în forma {ui, i = 1, 2, … N}.

(3) Folosim o matrice de permut ări T care este formată din 0 și 1, cu fix un 1 pe fiecare rând
și coloană. Echivalent: este matricea identitate I cu rândurile rearanjate. Proprietățile
matriciei de permutări ne asigură următoarele:
– Înmulțind orice matrice P printr -o matricede permutări T va avea efectul de rearanjare
a elementelor de pe fiecare rând a lui P. Vom obțineo matrice permutată PS.
– Inversul unei matricii de permutări este același cu transpusa lui: T-1=T’.
– Dacă înmulțim PS prin T’ vomobține PSP’= PTT’= P .
Vom creea o matrice de permutări T de dimensiuni N x N. Poziția elementelor din matrice
egale cu 1 este indicată de {ui , i = 1, 2, … N}. Vom putea realiza permutarea r ândurilor și
a coloanelor într -un singur pas folosind matricea T și aplicând ecuația:
PS = (P x T)’ x T (15)
4.3 Modul de criptare CBC
Cryptosystem -ul folosit în algoritmul original este proiectat în modul de criptare ECB.
Dezavantajul acestei metode este ca blocurile care sunt identice inițial vor fi identice și după

7 / 7
criptare. În modul CBC se face XOR între blocul pentru criptat și blocu l criptat anterior. Pentru a
introduce o confuzie mai mare trebuie folosit un vector inițializator (IV) pentru primul bloc.
4.4 Proiectarea procesului de confuzie -difuzie
Pentru S -box vom folosi același sistem hyper -chaotic (ecuația (6)) puțin modificat.
{𝐶3×(𝑖−1)+1 = 𝑃3×(𝑖−1)+1𝑆⊕𝐵𝑥1′
𝐶3×(𝑖−1)+2 = 𝑃3×(𝑖−1)+2𝑆⊕𝐵𝑥2′
𝐶 3×(𝑖−1)+3= 𝑃3×(𝑖−1)+3𝑆⊕𝐵𝑥3′ (16)
Unde {𝐵𝑥1′ ← 𝐵𝑥1⊕𝐶3×(𝑖−1)
𝐵𝑥2′ ← 𝐵𝑥2⊕𝐶3×(𝑖−1)+1
𝐵𝑥3′← 𝐵𝑥3⊕𝐶3×(𝑖−1)+2 (17)
C0 = IV, IV este pentru criptarea primului pixel al imaginii PS. I = 1, ….N x N reprezintă al i-
lea pixel. Valorile inițiale a sistemului hyper -chaotic și a PWLCM constituie cheia secretă a
criposistemului propus și este descrisă de setul {x0, p, x 1, x2, x3, x4, a, b, c, d, k}.

5. CONCLUZII

În ac estă lucrare a fost prezentat algoritmul de criptare a imaginii bazat pe un sistem hyper –
chaos, vulnerabilitățile acestuia și îmbunătățirile ce pot fi aduse pentru a fi optimizat și pentru a
oferi securitate imaginilor criptate .
Algorimul oferă o protecție asupra atacurilor de tip bruteforce dar este vulnerabi l la
atacurile bazate pe alegera imaginii inițiale. Procesul de amestecare a imaginii este predictibil și
oferă posibilitatea extragerii imaginii inițiale din imaginea amestecată.
6. REFERINȚE

[1] T. Gao și Z. Chen, „A new image encryption algorithm based on hyper -chaos,”
ScienceDirect, 2007.
[2] R. Rhouma și S. Belghith, „Cryptanalysis of a new image encryption algorithm based on
hyper -chaos,” ScienceDirect, 2008.
[3] H. Hermassi, R. Rhouma și S. Belghith, „Improvement of an image encryption algorithm
based on hyper -chaos,” Telecommunication Systems, 2013.

Similar Posts