Kodimi Simetrik (Kriptografi)

Kodimi simetrik është një formë e kriptosistemit në të cilën kodimi dhe dekodimi i të dhënave bëhet duke përdorur një çelës të vetëm sekret.Kodet simetrike bazohen në metoda të zëvendësimit dhe transpozicionit të shkronjave(karaktereve,bitave).Para zhvillimit të kriptosistemit me çelës publik(p.sh.RSA),kodimi simetrik ishte e vetmja mënyrë për të bërë konfidenciale të dhënat.

Që kodimi të jetë i sigurt ,algoritmi për kriptim duhet të jetë aq i fuqishëm sa që edhe nëse sulmuesi e njeh procesin me të cilin është bërë kodimi,ai nuk do të jetë në gjendje që përmes të dhënave të koduara(ciphertext) të gjejë të dhënat që janë koduar(plaintext).
Nëse kodimi i të dhënave përdoret për komunikim të sigurt mes dy entitetesh,këto dy entitete duhet të shkëmbejnë çelësin sekret përmes një kanali të sigurt transmetues,ashtu që askush tjetër të mos e posedojë atë.

Algoritmet më të shfrytëzuara që bazohen në kodim simetrik janë DES(Data Encryption Standard) dhe AES(Advanced Encryption Standard).

## Puna e algoritmeve simetrike
Dërguesi e krijon një mesazh,karakteret e të cilit janë shkronja të një alfabeti.Ky mesazh kalon nëpër algoritmin e përzgjedhur për kodim me çelësin privat të cilin palët komunikuese e kanë vendosur përmes një kanali të sigurt.Me procesin e kodimit krijohet një mesazh i koduar,i palexueshëm për sulmuesit potencial.

*C=E(P,K)*

Marrësi e merr mesazhin e koduar dhe e kalon atë nëpër procesin e dekodimit me të njejtin algoritëm dhe çelës me të cilat edhe është koduar mesazhi.

P=D(C,K) Këto kode poashtu bazohen në kodim simetrik.Prej tyre më të fuqishme janë DES dhe AES.
### DES(Data Encryption Standard)
DES është algoritmi simetrik më i përdorur në kriptografi.Për të koduar me DES ,funksionit i jepen si hyrje mesazhi për kodim dhe çelësi me të cilin do të kodohet.

DES punon me blloqe prej 64 bitave,prandaj nëse gjatësia e mesazhit nuk është shumëfish i numrit 64 ,mesazhi i nënshtrohet padding-ut(shtimit të bitave për të arritur vlerën prej 64 bitash).Çelësi jepet poashtu 64 bitësh,por vetëm 56 bita prej tyre shfrytëzohen.8 bitat e tjerë mund të përdoren si bita pariteti.

Procesimi i tekstit bëhet në tri faza.Së pari, blloku prej 64 bitash kalon nëpër një permutim fillestar (IP-Initial Permutation).Teksi i permutuar,kalon nëpër 16 raunde permutimi dhe zëvendësimi (të njejta).Pas këtyre raundeve ,teksti ndahet në dy vende dhe këto grupe 32 bitëshe i ndryshojnë vendet.Në fund,të dhënat kalojnë nëpër permutimin inverz IP−1 dhe fitohet kodi prej 64 bitash.
### AES(Advanced Encryption Standard)
AES u publikua nga NIST(National Institute of Standards and Technology) në vitin 2001,me qëllimin për të zëvendësuar DES-in.

Struktura e këtij kodi është shumë mëe komplikuar se struktura e RSA,apo edhe kodeve të tjera simetrike.AES punon me blloqe me nga 128 bit,të dhënat e të cilëve vendosen në matrica 4x4. Këto matrica kalojnë nëpër një numër të caktuar raundesh që varet nga gjatësia e çelësit,gjatë të cilëve matrica kalon nëpër disa funksione transformuese si:
* Përzierje kolonash
* Zhvendosje rreshtash
* Zëvendësim i bitave,që bëhet përmes S-box-eve
* XOR të të dhënave të bllokut me një pjesë të çelësit
Dallimi i AES nga kodet e tjera simetrike është se kodimi edhe dekodimi nuk kryhen sipas një procedure të njejtë,gjë që paraqet nevojën për zhvillimin e dy aplikacioneve të ndryshme për komunikim me AES.
## Referimet