Sunteți pe pagina 1din 13

APLICAREA CODURILOR MATROIDE CORECTOARE DE ERORI IN

CRIPTOGRAFIE

Larisa Dunai

Universitatea Tehnic a Moldovei

Referat
n articol sunt tratate problemele de generare, codare i decodare a codurilor matroide i aplicarea acestora n
criptografie. Generarea codului matroid de lungimea n, capacitatea corectoare t raportate la secvena de intrare de k
simboluri este o problem de cutare a matroidului uniform n spaiul vectorial asupra cmpului Galois extins cu
caracteristica 2 m, unde m este binaritatea simbolurilor de intrare-ieire. Este prezentat corespondena dintre
parametrii n, k i t. Au fost delimitate graniele de existen a matroidelor uniforme. Sunt analizate particularitile
codrii i decodrii codurilor matroide. De asemenea, sunt analizate caracteristicile informaionale ale textelor
generate de codurile matroide.

Abstract
This work treats the matroid code generation, encoding and decoding and their application in cryptography.
Generation of matroid code of the length n and error ability t related to k original symbols is a task of the uniform
matroid searching in the vector space over extended Galois field with characteristic 2m, where m is the symbol
length. The relation between parameters n, k and t are obtained. The bounds of the uniform matroid were found.
The particularities of the matroid codes encoding and decoding are analyzed. Also, the informational parameters of
the generated texts are analyzed from the cryptography point of view.

I. Introducere
Criptografie n traducere din limba greac nseamn scriere secret. Metodele primitive de
criptare sunt cunoscute nc din vremuri strvechi i analizate timp ndelungat, mai degrab ca un
vicleug, dect o disciplin tiinific exact. Sarcina clasic a criptrii este transformarea reversibil a
mesaj iniial (original) ntr-o succesiune aleatoare numit criptogram. n acest mod textul cifrat poate
conine att elemente noi, ct i elemente deja existente n mesajul iniial. Cantitatea simbolurilor n
criptogram i n mesajul iniial poate fi diferit. O cerin indispensabil este c fcnd careva
substituii logice asupra simbolurilor mesajului cifrat se poate univoc (i totalmente) de restabilit
mesajul iniial. Pstrarea informaiei depindea pe vremuri de metoda de transformare.
Una din lucrrile teoretice fundamentale n criptografie a fost publicat de K. Shannon n anul
1949. Aceast lucrare [1,2] dedicat analizei teoretice a sistemelor secrete, a pus temelia criptografiei
contemporane i a devenit baza elaborarea noilor sisteme criptografice. Dup Shannon cifrarea este
aplicaie a mesajului iniial ntr-o criptogram:
C=Fi(M),
unde C criptograma, Fi aplicaia, M mesajul iniial, indicatorul i corespunde cheii de cifrare.
Pentru o decriptare univoc este necesar ca Fi s aib o funcie invers unic astfel nct FiFi-1 =I, unde
I este o transformare echivalent:
M=Fi-1(C).
Se presupune c generatorul cheii este un proces statistic sau un dispozitiv, care definete
transformrile F1, F2, ..., FN1, cu probabilitile P1, P2, ..., PN1, iar numrul mesajelor posibile N2 este
finit i mesajele M1, M2, ..., MN2 au probabilitile apriori q1, q 2, ..., qN2.
Fie un cifru, alfabetul primar al cruia coincide cu mulimea simbolurilor cheii i ale
criptogramei, iar criptarea se efectuiaz prin nlocuirea secvenial a simbolurilor mesajului original cu
simbolurile criptogramei n dependen de semnificaia curent a simbolurilor cheii. n acest caz
mesajul, cheia i criptograma reprezint o secven de litere ale unuia i aceluiai alfabet:
M=(m2,m2,...,mn), K=(k1,k2,...,kn), C=(c1,c2,...,cn). Pasul curent al cifrrii este descris de relaia:
Ci=f(mi,ki).
n sistemele criptografice aplicate n practic, de obicei, lungimea cheii este mai mic dect
lungimea mesajului cifrat. De aceea deseori secvena k1,k2,...,kn este calculat pe baza cheii primare de
proporii mai mici sau poate fi periodic.
Sarcina criptoanalistului este calculul mesajului original cunoscnd criptograma i mulimea
transformrilor F1, F2, ..., FN1. Exist criptosisteme, pentru care orice volum de informaie interceptat
este insuficient pentru a gsi transformrile de criptare i aceasta nu depinde de performanele de
calcul disponibile. Criptarea de acest tip este numit sigur necondiionat (conform K. Shannon
absolut secret). Conform definiiei sigur necondiionate sunt acelea cifruri pentru care criptoanaliticul
(chiar dispune de resurse de calcul infinite) nu poate mbunti estimarea mesajului original M pe baza
cunoaterii criptogramei C n comparaie cu cea a criptogramei necunoscute. Aceasta este posibil doar
n acel caz n care M i C snt statistic independente, adic este satisfcut condiia:
P(M=Mi/C=Ci)= P(M=Mi)
pentru toate mesajele posibile M.
Criptosisteme sigur necondiionate exist. Fie c n cifrul analizat mai sus se utilizeaz alfabetul
din L simbolur, iar simbolurile criptogramei se determin dup formula:
ci=f(mi, ki)= (mi+ki) mod L,
unde n fiecrui simbol ci, mi i ki i corespunde numrul de ordine din alfabet.
Alegem n calitate de cheie o serie, compus din n simboluri aleatoare k1,k2,...,kn, adic o cheie
aleatoare lungimea creia este egal cu lungimea mesajului. Pentru generarea cheii poate fi utilizt un
generator de numere aleatoare, care asigur la ieire o apariie echiprobabil pentru orice simbol din
mulimea de numere {1, 2, ..., L}. n acest caz sursa va permite selectarea echiprobabil a cheii de
lungimea n, iar probabiitatea de selectare a cheii va fi:
P(k=ki)= L-n.
Din aceast relaie rezult c pentru oricare M i C are loc egalitatea:
P(M=Mi/C=Ci)= L-n.
Din ultima relaie rezult c unei criptograme de lungimea n i corespunde cu probabilitatea L-n
un mesaj original de lungimea n. La cifrarea unui mesaj nou se va alege o cheie nou. n acest mod se
va induce o aleatorizare pe simbolurile de ieire care va asigura o incertitudine maximal pe alfabetul
textului criptat. Astfel, procedeul de criptare descris este sigur necondiionat.
Cheia este combinaia de cod secret cu ajutorul creia se efectuiaz criptarea textlui iniial.
Parametrul de baz al cheii este lungimea ei Lk. Aceast mrime caracterizeaz complexitatea de
descifrare a criptogramei. Dac alfabetul de codificare a cheii conine A simboluri, atunci numrul total
de chei Nk este egal cu:
N k = ALk
algoritmul de criptare este sigur dac spargerea acesteia poate fi efectuat ntr-un singur mod trierea
cheilor. Dac criptogramele sunt statistic uniforme atunci numrul mediu de trieri este egal cu:
N k = N k 2 = A Lk 2 .
n cazul unui cod binar avem:
N k = 2 Lk 1 .
Un criptoalgoritm este caracterizat de complexitatea intern i extern. Complexitatea extern
este determinat de lungimea cheii i ali parametri. Complexitatea intern este determinat de
performanele criptoalgoritmului, posibilitatea de modificare a acestuia. n cazul unei substituii,
complexitatea interioar crete brusc odat cu creterea lungimii alfabetului. Una din metodele de
ridicare a complexitii este extinderea alfabetului.
n lucrarea prezent se propune introducerea codecului codului corector de erori n schema
sistemului de transmitere a informaiei secrete. Aceasta va permite ridicarea complexitii algoritmului
de criptare. n primul rnd, prin codarea textului original se va obine un text, alfabetul caruia are un
cardinal (numrul de smboluri) mai mare dect alfabetul primar. Astfel va crete complexitatea intern
(confuzia) a criptoalgoritmului. n al doilea rnd, codarea va crete difuzia simbolurilor textului
secundar i, prin aceasta, se va micora interdependena simbolurilor.
Pentru realizarea codrii se propune aplicarea codurilor matroide o clas nou de coduri
liniare corectoare de erori. n compartimentele 2 i 3 snt prezentate caracteristicile codului matroid, n
compartimentele 4 i 5 algoritmii de codare i decodare a codului matroid, iar n compartimentul 6
softul experimental i rezultatele de statistic (statistice) obinute.

II. Caracteristicile codului matroid

Teoria codurilor corectoare de erori a avut o dezvoltare ascendent n anii 60-70 ai secolului trecut.
n aceast perioad au fost propuse i anlizate majoritatea codurilor cnoscute n prezent. ns, pentru
necesitile practicii, au fost selectate codurile cu parametrii cei mai optimali. Conform definiiei
optimal este codul cu redondan minimal i capacitate corectoare maximal. Redondana, adic
numrul de simboluri suplimentare adugate la combinaia original, depinde de capacitatea corectoare
a codului. Modul de formare (generare) a cuvintelor de cod specific tipul codului. Sunt cunoscute trei
clase de coduri corectoare: liniare, ciclice i convoluionale. Codurile liniare se obin prin
transformarea (liniar) a unei secvene de k simboluri originale (informaionale) ntr-o secven, numit
bloc, de n simboluri, unde n>k. Cuvintele codului ciclic se obin prin nmulirea blocului de intrare la
aa numitul polinom generator. n codurile convoluionale simbolurile suplimentare ale unui cuvnt de
cod controleaz simbolurile informaionale ale altor cuvinte de cod.
n practic, cea mai crunt exploatat metod a devenit codificarea Reed-Solomon. Aceast metod
a fost aleas pentru corectarea erorilor n sistemele de nregistrare a inormaiei pe compact-discuri i,
nu ntimpltor. La acel moment codurile ciclice Reed-Solomon (RS) erau cele mai acceptabile din
punct de vedere al criteriului de optimalitate. Pe de alt parte tehnologia circuitelor integrate a permis
implementarea schemelor complexe de codare i decodare.
Recent, n lucrarea de pionerat [3], au fost sugerate idei importante referitoare la construirea unei
clase noi de coduri corectoare, numite coduri matroide (M-coduri). Pentru construirea codurilor
matroide se folosesc matroidele uniforme [4]. Cutarea matroidelor uniforme este o problem
complex (polinomial). n lucrarea [5] a fost propus o metod de cutare a matroidelor uniforme
bazat pe analiza cicloclaselor, generate n cmpul Galois extins. Aplicarea acestei metode n practic
permite gsirea ntr-o perioad de timp acceptabil a matroidelor uniforme de caracteristicile solicitate.
n aceast lucrare vor fi prezentate inedit modul de estimare a performanelor codului matroid,
graniele de existen a codurilor matroide de caracteristicile specificate. De asemenea, vor fi analizate
mecanismele de codare i decodare a codurilor matroide.
Pentru generarea codului matroid se folosete matricea care urmeaz structura matroidului uniform.
Conform definiiei construcia matematic Uk,n=(G, B) este un matroid uniform de rangul k, dac toate
submulimile B din G sunt baze de cardinalitatea k, unde G este o mulime de vectori asupra cmpului
Galois extins GF(2m), | G |= n, k< n i m= 2,3,Atunci matroidul uniform Uk,n se prezint printr-o
matrice de forma Gkn=[gij]kn, unde gij GF(2m). n aceast interpretare vectorii M-codului vor fi
generai prin aplicarea operaiei matriciale:
v= <v1,...,vn>= x G, (1)
m
unde x= <x1,...,xn> este vectorul original, x GF(2 ).
Precum e binecunoscut, la codarea n bloc, simbolurile redondante ale vectorului v sunt destinate
pentru corectarea pn la t simboluri. Parametrul (caracteristica) t specific capacitatea (abilitatea)
corectoare a codului. ntre parametrii n, k i t exist o relaie, de regul, liniar. La construirea codului
matroid apare ntrebarea: pentru k declarat ce lungime n trebuie s aib vectorul v ca s asigure
capacitatea corectoare t ?
ns, nainte de a rspunde la aceast ntrebare, trebuie de menionat urmtoarele. Spre deosebire de
codarea clasic, codarea matroidal, definit de aplicaia x G
v , genereaz vectori (cuvinte de cod)
v n care nu pot fi distinct evideniate partea de control i cea informaional. i mai mult, n general
simbolurile vectorului original x nu se conin printre simbolurile vectorului rezultat v. Numai n
cazul unei structuri alese specific ai matricei G poate fi asigurat tranziia simbolurilor din x n v.
Decodarea vectorilor codului matroid, la fel, se deosebete vdit de decodarea clasic: simbolurile
originale sunt calculate (restabilite) din simbolurile (neeronate) ale vectorului recepionat v. De aceea,
este mai oportun de a numi (clasifica) acest proces: restabilire.
Acum, referitor la dependena dintre k, n i t. Avem urmtoarea propoziie: pentru a corecta t erori,
cuvintele codului matroid trebuie s fie de lungimea:
n= 2t+ k sau n= 2t +k +1. (2)
Imediat dup aceast propoziie vine urmtoarea: codul matroid de lungimea (2) are distana
minim egal cu
dmin= ( n- k) div 2, (3)
unde div este mprirea fr rest a numerelor ntregi.
Acum esena codrii M-codului poate fi exprimat de urmtoarea
Teorem. Codul matroid construit n GFk(2m) de lungimea (2) poate corecta t erori, unde GFk(2m)
este spaiul vectorial de dimensiunea k asupra cmpului Galois extins de caracteristica 2m, m= 2,3,
ntr-adevr, orice matrice G a matroidului uniform Uk,n poate fi adus la forma canonic:
G= [ I P],
unde I matricea-unitate de dimensiunea kk; P=[p ij] matrice arbitrar de dimensiunea k (n- k), p ij
GF(2 m) i pij 0.
Ca urmare, ponderea minimal w a vectorilor codului nu-i mai mare dect: w n( k-1). Iar, conform
teoremei 3.2.2 din [6], distana minim este:
dmin= w or dmin= n- k+ 1.
Deoarece dmin 2t+1 (dup Hamming), avem n- k+ 1 = 2t+1 ori n- k =2t. De exemplu, pentru cazul
trivial k= 2, t= 1 i m= 2 avem M-codul cu n= 4. Una din matricele matroidului uniform asupra GF(22)
este:
1 0 1 1
G= .
0 1 1 2
ncercarea de a construi M-codul de caracteristicile (n, k, t)= (6, 2, 2) va eua. Asupra cmpului
GF(2 2) nu exist matroid uniform de tipul U2,6. Resursele cmpului s-au epuizat! Imediat apare
ntrebarea: care-s limitele de existen ale matroidelor uniforme Uk,n cu n= 2t+k n spaiile vectoriale
asupra cmpurilor GF(2 m) ?
III. Limitele de existen a codurilor matroide

n preambulul acestui articol a fost menionat c matroidele uniforme trebuie cutate printre
cicloclasele generate n spaiul vectorial GFk(2m). Reamintim c cicloclasa N este un set de elemente
conjugate ale cmpului Galois extins: N= {N, N2, N4,}, unde N GFk(2m). Pentru cutarea
matroidelor Uk,n se vor folosi cicloclasele de lungimea n= 2t+k.
Dezvoltarea Nn este generat prin selectarea unui element (vector) nenul al cmpului GFk(2m). Ct
selectarea elementelor generatoare ale cicloclaselor, att i cutarea cicloclaselor este raional s se fac
printre vectorii liniar independeni ai cmpului GFk(2 m). Se poate arta c numrul vectorilor liniar
independeni n spaiul vectorial de dimensiunea k asupra cmpului GF(2m) este egal cu
2 k m 1
(k , m ) = m ,
2 1
iar rangul maximal, rank(Uk,n), pe care l poate atinge un matroid uniform, construit n spaiul GFk(2 m),
este determinat de mrimea:
2 2m 1
n max = m or n max = 2 m + 1 . (4)
2 1
Mrimea (4) delimiteaz resursele cmpului. Astfel, pentru m= 2 avem nmax= (24-1) / (22-1)= 5. Iar
matroidul U2,6 pentru construirea sa necesit nu mai puin de 6 elemente!
Deci, se poate afirma c valoarea maximal pe care o poate atinge lungimea cuvntului de cod n
GF(2 m) este delimitat de inegalitatea:
n 2m + 1 . (5)
Pe de alt parte, ntre caracteristicile codului matroid n, k i t exist corespondena (2). Prin
urmare, utilizatorul poate impune valori lui t i k, verificnd apoi inegalitatea (5). n tabelul 1 sunt
prezentate valorile capacitii corectoare ce pot fi atinse de codul matroid cu valoarea parametrului k
asupra cmpului Galois de caracteristica 2m.
Tabelul 1
Capacitatea corectoare t a codului matroid n dependen de k i m

k
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
m
2 1 1 0 0
3 3 3 2 2 1 1 0 0
4 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0
5 15 15 14 14 13 13 12 12 11 11 10 10 9 9 8 8 7 7 6 6
6 31 31 30 30 29 29 28 28 27 27 26 26 25 25 24 24 23 23 22 22
7 63 63 62 62 61 61 60 60 59 59 58 58 57 57 56 56 55 55 54 54

Este uor de observat c parametrul t i atinge valoarea maximal n cazul k= 2 i-i egal cu 2m-1.
Codul matroid optimal, adic codul cu cel mai mare t i cea mai mic redondan n-k, va fi codul cu
parametrii k i t egali. n acest caz rata k/n= 1/3.
Relaiile (2) i (5) delimiteaz graniele de existen a codurilor matroide, n particular, i a codurilor
liniare, n general. Astfel, n tabelul 3.1 din [6] sunt prezentate codurile Hamming asupra GF(22) cu
parametrii (n, k)= (5, 3), n GF(23) cu (n, k)= (9, 7), n GF(24) cu (n, k)= (17, 15). Aceasta se acord
perfect cu datele prezentate n tabelul 1. ns existena codurilor liniare Hamming de capacitate
corectoare arbitrar n cmpurile Galois extinse GF(2m) a rmas o problem nerezolvat pn n
prezent. n acest context codurile matroide reprezint o alternativ codurilor liniare Hamming.
Codurile liniare sunt atractive prin simplitatea implementrii mecanismelor de codare i decodare.
Dar ar fi binevenit o comparare ntre codurile matroide i concurentul su cel mai nverunat, i
anume, codul Reed-Solomon. Conform celor cunoscute (vezi, de exemplu [6]) parametrii codului RS
sunt caracterizai de relaiile:
n- k= 2t (6)
i
n 2m- 1. (7)
Relaiile (2) i (6) sunt ntr-o concordan perfect! Prin extrapolare se pot extinde rezultatele
Teoremei 7.3.1 [6] i asupra codurilor matroide. Aceasta nseamn c nu numai codul Reed-Solomon
are cea mai mare valoare a distanei minimale.
Din compararea inegalitilor (5) i (7) s-ar prea c codul matroid ar avea un avans fa de codul
Reed-Solomon. ns introducerea codurilor RS extinse [6] echilibreaz situaia.
Deci, parametric codurile matroide i codurile Reed-Solomon sunt identice?! Da, anume aceast
concluzie rezult din analiza scurt fcut anterior. Atunci, are oare sens de a introduce un cod nou,
dac deja exist un cod cu aceleai caracteristici ? Mai degrab este o ntrebare retoric. Este cert c
orice candidat trebuie s aib alternativ. Precum motoarele n patru tacte (pe benzin ) au ca
alternativ motoarele de tip Diezel (pe motorin).
Parametrii n, k i t sunt indicatori importani ai performanelor codului corector. Alt aspect al
analizei comparative vizeaz caracteristicile algoritmilor de codare i decodare.

IV. Codarea codului matroid

Imediat, dup definirea parametrilor codului matroid, se trece la generarea matroidului uniform
respectiv Uk,n. Cutarea matroidului uniform n spaiul vectorial asupra cmpului Galois extins este o
problem de complexitate polinomial. n [5] a fost prezentat o metod de cutare a matroidelor
uniforme bazat pe testarea cicloclaselor generate de elementele primitive ale cmpului.
Matricea de control H a codului Reed-Solomon la fel const din cicloclase generate de un element
primitiv al cmpului [6]:
0 1 2 K n 1
0
3 6 K 3( n 1)
H= . (8)

0

2 t 1
(2 t 1)2 K ( 2t 1)( n 1)
De aceea, este logic de presupus c structura matricei de control de dimensiunea kk poate s
reprezinte o matrice a matroidului uniform asupra GF(2 m). ntr-adevr, numeroasele experimente au
demonstrat c majoritatea matricelor de tipul (8), s le numim clasice, pot reprezenta un matroid
uniform Uk,n.
Exemplu de matrice de control al RS-codului care nu este un matroid. Pentru M-codul (n, k, t)= (4,
2, 1) asupra GF(22) avem:
0 1 2 3
H= 0 9
.

3 6

Deoarece 0=3=6=9, atunci


0 1 2 0
H= 0 0
. (9)

0 0

n matricea (9) sunt doi vectori liniar dependeni (vezi prima i ultima coloan).
n acest mod poate fi testat apriori orice matrice H. Dac matricea de control H trece cu succes
testul de coinciden a coloanelor, atunci se efectueaz verificarea propriu-zis a candidatului n
matroid.
Matricea matroidului astfel obinut este skeletul coderului codului matroid. Coderul M-codului
(sau M-coderul) realizeaz operaia de nmulire matriceal (1). n aceast operaie matriceal sunt
implicate operaiile de adunare i nmulire n cmpul Galois extins GF(2 m). Operaia de adunare este
binecunoscuta operaie XOR bit-cu-bit. Operaia de nmulire se face modulo polinomul p(x), unde
m
p ( x ) = ai x i - un polinom ireductibil, a i{0, 1}. Un factor al acestei operaii rmne constant.
i =0
Aceasta permite de a optimiza cheltuielile de hard la realizarea M-coderului: multiplicatorul la
constant n cmpul Galois are o structur mai simpl dect multiplicatorul universal. n [7] este
descris tehnica de generare a schemei multiplicatorului la constant, dac este cunoscut polinomul
cmpului p(x).
Exemplu. Fie k=2, n= 6 asupra GF(23) cu p(x)= 1+ x+ x3. Matricea x1 x2
matroidului uniform este:
1 3 5 4 7 2 v1
G= . (10) 2
1 2 4 3 6 7
3
Coderul M-codului realizeaz transformarea: v2
4
1 3 5 4 7 2
v = x G = x1 , x 2 5
1 2 4 3 6 7 v3
or 3
x1 + x2 = v1 , 4
3 x + 2 x = v , v4
1 2 2 6
5 x1 + 4 x 2 = v3 , 7
(11) v5
4
1 x + 3 x 2 = v 4 ,
7
7 x1 + 6 x2 = v5 ,
2
2 x1 + 7 x2 = v6 . v6
n figura 1 este prezentat diagrama bloc a coderului codului matroid Fig.1. Bloc-diagrama
definit de sistemul de ecuaii liniare (11). Semnul + specific operaia M-coderului
XOR, iar marcajul liniilor, adic cifrele de asupra liniilor, semnific
operaia de nmulire la coeficientul respectiv mod p(x).
Din textul acestui compartiment rezult c vectorii codului matroid sunt generai asincron, ntr-un
singur tact. Comparai: cuvintele RS-codului, de regul, sunt generate secvenial; numrul de tacte este
egal cu lungimea codului n.
Schema de decodare a M-codului este mult mai complex dect cea de codare. Structura ei depinde
de algoritmul propus (ales). n celea ce urmeaz se va analiza unul din algoritmii de decodare a codului
matroid.

V. Decodarea codului matroid

n momentul cnd matroidele uniforme se propuneau n calitate de baz constructiv pentru


generarea codurilor liniare, se presupunea c, datorit proprietii lor excepionale, va fi suficient de
avut k simboluri corecte din n recepionate pentru a restabili datele originale x. Da, aceasta este valabil,
dac decoderul apriori tie valorile ateptate ale celor k simboluri ! Dat fiind faptul c aceasta n-are
loc, atunci decoderul trebuie s aib un criteriu dup care s ia decizia respectiv. n continuare va fi
analizat principiul decodrii majoritare, aplicat pentru codurile matroide.
Decodarea cu logic majoritar (sau de prag) se bazeaz pe un sistem de verificri care pot fi
realizate separat sau integral. Logica majoritar conine un element de decizie (voter) care are un set de
intrri i o ieire. Ieirea voterului va fi n starea activ unu, dac mai mult de jumtate de intrri
(majoritatea) sunt activizate i inactiv (starea zero) n caz contrar.
Decoderul codului matroid are un sistem complex de verificri. Complexitatea este cauzat de
numrul (volumul) de sisteme de ecuaii liniare care trebuie s fie testate. Numrul total (exhaustiv) de
ecuaii este egal cu C nk . De exemplu, pentru k= 4 i t= 4 avem C124 = 495 , iar pentru k= t= 8 -
8
C 24 = 735471. Nu este rezonabil de efectuat verificarea exhaustiv ! Care atunci este numrul necesar
de testri (ncercri) pentru a lua o decizie adecvat ?
Reamintim c la nceput decoderul trebuie s recunoasc combinaia eronat. Iar o combinaie
eronat poate s conin pn la t simboluri eronate. S-ar prea c sarcina decoderului se complic
semnificativ: el trebuie s recunoasc erorile singulare, duble, triple etc. ns situaia nu-i att de
drastic precum s-ar prea la prima vedere. n acest context citm sursa [8]:este suficient de avut
grij de erorile t-uple, deoarece oricare combinaie, ce const dintr-un numr mai mic de erori, la fel va
fi acoperit (detectat) (v. pag. 109). Acceptnd aceast ipotez, decidem c decoderul M-codului
trebuie s gseasc soluia adecvat pentru eroarea cea mai grav, adic pentru eroarea t-upl.
Un vector v de lungimea n genereaz un set de C nk sisteme de ecuaii liniare. De exemplu, din
mulimea de ecuaii (11) pot fi compuse C 62 = 15 sisteme de ecuaii liniare. Dac vectorul recepionat
v este egal cu cel transmis v, adic v= v, atunci toate celea 15 soluii vor fi identice. Dac e vorba de
M-codul (12, 4, 4), atunci verificarea celor 495 soluii devine anevoioas. Cte sisteme de ecuaii este
necesar i suficient de rezolvat pentru a lua decizia: soluia gsit este combinaia corect (original) ?
Cutarea rspunsului la ntrebarea pus vom ncepe cu analiza mecanismului de recunoatere a erorii
duble n vectorul recepionat al M-codului (6, 2, 2) . Avem 6 ecuaii liniare n (11). Numerotm aceste
ecuaii de la 1 la 6. Precum s-a menionat anterior, pot fi generate 15 sisteme de ecuaii liniare, i
anume, S= {1,2; 1,3; 1,4; 1,5; 1,6; 2,3; 2,4; 2,5; 2,6; 3,4; 3,5; 3,6; 4,5; 4,6; 5,6}.
Tabelul 2
Diagrama ncercrilor sistemelor de ecuaii liniare pentru erorile duble n codul matroid (6,2,2)

Erori Sisteme de ecuaii liniare


duble 1,2 1,3 1,4 1,5 1,6 2,3 2,4 2,5 2,6 3,4 3,5 3,6 4,5 4,6 5,6
(1,2) 1 1 1 1 1 1
(1,3) 1 1 1 1 1 1
(1,4) 1 1 1 1 1 1
(1,5) 1 1 1 1 1 1
(1,6) 1 1 1 1 1 1
(2,3) 1 1 1 1 1 1
(2,4) 1 1 1 1 1 1
(2,5) 1 1 1 1 1 1
(2,6) 1 1 1 1 1 1
(3,4) 1 1 1 1 1 1
(3,5) 1 1 1 1 1 1
(3,6) 1 1 1 1 1 1
(4,5) 1 1 1 1 1 1
(4,6) 1 1 1 1 1 1
(5,6) 1 1 1 1 1 1
n vectorul recepionat s posibile C nt = C 62 = 15 erori duble. Dac numerotm poziiile simbolurilor
n vectorul v de la 1 la 6, atunci, evident, mulimea perechilor de poziii eronate E va coincide cu
mulimea S. Asupra mulimilor E i S definim aplicaia : E S care pune n corespundere fiecrei
erori setul de sisteme de ecuaii care trebuie s genereze soluii identice corecte. De exemplu, pentru
perechea eronat (1,2) setul de ecuaii {3,4; 3,5; 3,6; 4,5; 4,6; 5,6} este seul de ncercri care definete
pragul de decizie: soluii identice eroarea este recunoscut, n caz contrar trierea variantelor
continu.
Pentru reprezentarea aplicaiei poate fi construit un tabel , n care liniile corespund erorilor t-uple,
iar coloanele sistemelor de ecuaii liniare. Tabelul este
completat n modul urmtor: la intersecia liniei i coloanei n
Recepia vectorilor v
ptrel se nscrie unitatea, dac sistemul de ecuaii, indicat n
coloana respectiv, se folosete la identificarea erorii specificate
n linie. n tabelul 2 este prezentat aplicaia analizat.
Tabelul 2 poate fi folosit pentru optimizarea numrului de
Selectarea i rezolvarea
sisteme de ecuaii rezolvate. Se observ c la trecerea de la o
setului de sisteme de
linie la alta rezultatele obinute la paii precedeni pot fi folosite
ecuaii liniare
n pasul curent. Astfel, pentru analiza prezenei perechii de erori
(1,3) vor fi rezolvate numai 3 ecuaii noi, i anume, {2,3; 2,5;
2,6}, iar celelalte soluii vor fi luate din pasul precedent, adic
obinute la verificarea sistemelor de ecuaii corespunztoare
perechii (1,2). Nx Nu
soluii sunt
O analiz general a procesului de testare a sistemelor de reciproc egale
ecuaii liniare pentru erorile t-uple duce la urmtoarea concluzie: ?
pentru luarea deciziei corecte ntr-o ncercare este necesar de
rezolvat un numr de
N x (k , t ) = C nk t (12) Da
sisteme de ecuaii liniare, iar numrul total de ncercri la care se Stop, vectorul original
poate ajunge n procesul de testare (verificare), este egal cu x este restabilit
( )
N k , t = Cn . t
(13)
Mrimea (13) caracterizeaz complexitatea algoritmului de Fig. 2. Diagrama algoritmului
decodare a codului matroid. M-decodrii
Valorile caracteristicilor (12) i (13) pentru codurile matroide
(12, 4, 4) i (24, 8, 8) vor fi respectiv Nx(4, 4)= 70, N(4, 4)= 495 i Nx(8, 8)= 12870, N(8, 8)= 735471.
Din celea analizate mai sus rezult schema algoritmului de decodare a codului matroid. n figura 2
este prezentat diagrama acestui algoritm. Trebuie menionat c pentru rezolvarea sistemelor de ecuaii
liniare vor fi utilizate scheme de tipul celor prezentate n figura 1. Alt aspect al decodrii este numrul
mare de ncercri N care l poate necesita corecia unei erori t-uple. (ns nici decodarea Reed-
Solomon nu-i mai simpl !)

VI. Softul experimental i rezultatele experimentelor de statistic


n conformitate cu cele analizate anterior a fost realizat softul experimental al codecului
matroid. Acest soft citete coninutul fiierelor textuale i genereaz textul codificat. Interfaa softului
este prezentat n figura 3.
La tastarea butonului Load apare o fereastr de dialog standard (vezi fig. 4), prin intermediul
creia are loc ncrcarea fiierului textual n componenta Memo, situat n colul din stnga-sus al
ferestrei. Tastnd butonul Encode, textul iniial (original) se codific ntr-un text de ieire, care se
nscrie n componenta Memo din stnga-jos a interfeei (vezi fig. 5).
Fig. 3. Interfaa codecului soft experimental.

Fig.4. Incarcarea fiierului textual iniial.


Codificarea are loc conform structurii matroidului download-at cu ajutorul tastei Update. n
experimentele de analiz statistic-informaional a fost folosit matroidul cu arametrii (n, k, t)=(18,6,6)
asupra cmpului GF(2 8). Textul codificat este apoi transcris n procesorul textual MS Word cu ajutorul
cruia se alctuiete alfabetul secundar i frecvena (absolut) literelor. Ca exemplu n calitate de text
iniial a fost selectat urmtorul aliniat:
Accel-EDA Version 15.0 CRACKED 09-03-99 Win32
ACCEL EDA ... a complete tool box for electronic design. From conception
to design archive, ACCEL EDA covers the range of capability required for
Fig. 5. Codificarea textului iniial.
fast, accurate production of printed circuit boards. ACCEL's commitment
to research and development has resulted in a suite of design tools
highly rated for their quality, power, and ease-of-use.
ACCEL EDA Version Summary of V15 Features is now available. Check out
the information about this major release you'll find dozens of NEW
features and enhancements packed into this update!
Installation Notes:
Unzip, Unrar, then install normally the program.
The program is fully repackaged and already cracked, I decided to do
not include crack, because it is really complex, these are the
motivations.
1) All executables files are shrinked, and must be deshrinked before
any kind of path crack, and this is not a easy things for not skilled
people. To do it I used procdump V1.4 using Deshrink V3.x script.
2) During installation a large amount of serial number is requested.
3) Many licenses file are needed after installation.
The already cracked program have this benefit:
1) During install all serial number / password / license key are
already typed you need only to press continue->.
2) After install all executable are already patched and 100% working.
3) All licenses files xxxx.lic are already in program dir after install.
For make this program 100% great it need SPECCTRA router installed.
Specctra V8.0.6 is previously released by RBS some mount ago, in any
case you can get it here:
ftp.acceltech.com\pub\download\SPECCTRA\SPECCTRA806.EXE and
use the included license.dat as valid license.
\blastsoft
Thanks fly out to Blast Soft on yet another great program that is
cracked. P.S. Have a Nice vacation blastie you earned it..
Fig. 6. Textul codificat.

ProbInfo ProbCryptoInfo

200 50
Frecventzele Absolute

180 45
Frecventzele Absolute

160 40

140 35

120 30

100 25

80 20

60 15

40 10

20 5

0 0
1
11

21
31
41
51

61
71
81
91

101
111
121

131
1

13

17

21

25

29

33

37

41

45

Literele Alfabetului primar Literele alfabetului secundar

a) b)
Fig. 7. repartiia frecvenelor literelor alfabetului primar pn la codificarea matroidal (a)
i a celui secundar dup codificare (b).
Pentru textul selectat matroidul a generat mesajul codificat, prezentat n figura 6. Pentru
ambele texte au fost alctuite alfabetele respectiv primar i secundar, pentru care s-au estimat
repartiiile frecvenelor literelor. n figura 7 snt prezentate graficile repartiiilor frecvenelor literelor
alfabetului primar i secundar. Se observ uor c repartiia literelor alfabetului secundar este mai
aplatizat dect repartiia alfabetului primar, adic este o repartiie mai aproape de cea echiprobabil!
Cantitativ aceast afirmare poate fi estimat foarte simplu prin calculul redondanelor
informaionale ale textelor analizate. Pentru aceasta trebuie de calculat entropiile repartiiilor literelor
alfabetelor primar i secundar, care snt respectiv egale cu:
Hprim= 4,5 [bit] i Hsec= 6,94 [bit].
Redondana se va calcula dup formula binecunoscut: = (H*- H)/ H*, unde: H*= Log2 L
valoarea maximal a entropiei, L numrul de litere in alfabet.
Avem H*prim= 5,52 [bit] i H*sec= 7,07 [bit]. Deci, prim= 0,185 i sec= 0,018; ctigul este de
aproape 10,3 ori!
Astfel, codarea matroidal a permis micorarea redondanei informaionale mai bine de 10 ori,
ceea ce ridic, cel puin, de 10 ori sigurana criptrii.

Bibliografia

[1] .. // .: ..
. .: , 1963. . 333-402.
[2] Shannon C.E. Communication theory of secrecy systems, Bell System Technical Journal, Vol. 28,
1949, P.656-715.
[3] V.Borshevich, W.Oleinik. A new approach to information coding and protection based on the
theory of matroids // Computer Science Journal of Moldova, vol.2, N.1, 1994. - pp.113-116.
[4] ., ..
//Acta Academia, 1997. pp. 40-50.
[5] G.Bodean. O metod de construirea codului corector de pachete de erori //Acta Academia, 2002.
pp. 77-85.
[6] . . , . .: , 1986.
[7] G.Bodean. Coding and decoding of the matroid codes // ELECO 03: The 3d International
Conference on Electrical and Electronics Engineering, Bursa, Turkey, 2003. 5 p.
[8] . , . . . .:
, 1987.

Informaie despre autor


Larisa DUNAI, lector asistent
Universitatea Tehnic a Moldovei, catedra Construirea i Producerea Aparatajului Electronic
MD2012, Kishinau, Stefan Cel Mare, 168
email: laryka@mail.md

S-ar putea să vă placă și