Sunteți pe pagina 1din 2

LABORATOR IC

CODAREA DATELOR ÎN CÂMP GALOIS

Partea I. Analiza câmpurilor Galois: GF(2^m).

1. Precizaţi directorul curent de funcţii:

>> cd d:\ic\functii

2. Aplicaţi funcţiile de sumare şi multiplicare pe diferite seturi de valori (a,b):

>> m=4, a= 5,b=12, sumgf(a,b,m), prodgf(a,b,m)

3. Determinarea elementelor inverse din GF, se face cu functia: inversgf(a,m). Deduceţi


inversele valorilor 2, 3, 4 în GF(8). Deduceţi inversele aceloraşi valori în GF(16).

Observaţie: există funcţii specifice de inversare pentru aceste câmpuri: invgf8, invgf16.

4. Folosiţi funcţiile de operare în GF(8), pentru calculul expresiei: 2+5*7/6. Recalculaţi


aceeaşi expresie în GF(16).

5. Ridicarea la putere a elementelor în GF se face cu funcţia: powergf(a,k,m). Calculaţi


puterea a 3-a a tuturor elementelor câmpului GF(8).

6. Calculaţi transformata 7-DFT în GF(8) a vectorului [2 4 6 1 3 5 0]:

>> t=dft7([2 4 6 1 3 5 0])

Aplicaţi transformata inversă pe vectorul t:

>> d=idft7(t)

Partea a II-a. Criptarea datelor în câmp Galois

7. Creaţi un fişier text scurt şi deschideţi-l în Matlab ca vector de coduri ASCII zecimale (f).
Convertiţi fiecare valoare din vectorul f în două cifre hexazecimale. Scrieţi vectorul rezultat
(h).

Indicaţie: Pentru fiecare valoare zecimală se poate folosi scriptul:

>> v=binar(a,8); b(1)=bin2zec(v(1:4)); b(2)=bin2zec(v(5:8));

8. Aplicaţi pe vectorul de cifre hexazecimale un cod de criptare definit în GF(16) cu relaţia:

1
c = k1+k2*a^2.

Alegeţi o cheie de criptare [k1, k2] cu valori diferite de 0 şi 1. Nu codaţi spaţiile dintre
cuvinte.

9. Deduceţi relaţia şi cheia de decriptare şi aplicaţi-le pe vectorul criptat. Ce vector aţi obţinut
după decriptare?

Indicaţie: Calculul radicalului de ordin 2 în GF(16) este echivalent cu ridicarea la puterea 8 a


valorii.

10. Refaceţi vectorul de valori zecimale şi afişaţi caracterele asociate.

Partea a III-a. Corecţia erorilor în câmp Galois

11. Aplicaţi pe vectorul de valori hexazecimale (h) codul RS(15,11) definit în GF(16).

Indicaţie: Folosiţi funcţiile de codare şi de decodare rs1511ss,drs1511ss.

12. Eronaţi două valori din vectorul codat. Aplicaţi funcţia de decodare. Ce se observă?

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