Sunteți pe pagina 1din 5

ALGORITMUL DE CRIPTARE/DECRIPTARE MARS Sisteme criptografice:

Criptografia este un set de standarde si protocoale pentru codificarea datelor si mesajelor, astfel nct acestea s poat fi stocate si transmise mai sigur. Ea st la baza multor servicii si mecanisme de securitate folosite n INTERNET, folosind metode matematice pentru transformarea datelor, n intentia de a ascunde continutul lor sau de a le proteja mpotriva modificrii. Criptografia v ajut s aveti comunicatii mai sigure, chiar si atunci cnd mediul de transmitere (de exemplu, Internetul) nu este de ncredere. De asemenea, se poate utiliza pentru criptarea fisierelor sensibile, astfel ca probabilitatea de a fi ntelese de intrusi s fie mai mic. Criptografia poate fi utilizat pentru a contribui la asigurarea integrittii datelor, precum si la mentinerea lor ca secrete. Criptografia v ajut s verificati originea datelor si a mesajelor prin utilizarea semnturilor digitale si a certificatelor. Cnd utilizati metode criptografice, cheile criptografice trebuie s rmn secrete. Algoritmii, dimensiunea cheilor si formatele de fisiere pot fi fcute publice fr a compromite securitatea.

Despre algoritm :
Algoritmul Mars este un cifru de criptare cu cheie publica, care lucreaza pe 128 biti si cu o cheie de marime variabila. Datele de intrare ale algoritmului sunt patru cuvinte pe 32 de biti A, B, C, D.luate dintr-un text cu format normal si rezultatele sunt tot 4 cuvinte pe 32 de biti A',B',C',D' criptate.Algoritmul este de tipul 3 Fiestel network impartit in trei etape:"cryptographic core",16 circulare de transmisie, prinsa intre celelalte doua etape de 8 circulare "forword" si "backwords mixing" Circuitele partii centrale criptografice furnizeaza o rezistenta puternica la toate atacurile criptografice cunoscute, in timp ce circuitele celorlalte doua etape ofera o securitate foarte larga impotriva noilor si necunoscutelor atacuri. Mars accepta o marime variabila a cheilor, de la 4 la 14 cuvinte (adica de la 128 la 448 biti). Se foloseste o procedura de marire a cheilor pentru a "marii" cheia oferita de user (care consta in n*32 de biti,unde n poate fi un numar intre 4 si 14) intr-o cheie de tip vector de 40 de cuvinte pentru operatia de criptare/decriptare. Mars foloseste o larga varietate de operatii pentru a oferii o combinatie de securitate, viteza, si flexibilitate la implementare. Acestea sunt: -adunari,scaderi si xor (sau exclusiv).Aceste operatii sunt folosite pentru a combina datele si valorile cheilor.Pentru ca "xor"-ul este folosit impreuna cu scaderea si adunarea, aceste operatii nu sunt comutative -un tabel(table look-up) de 512 32-cuvinte, numite S-box.O problema a acestui tabel este implementarea software mai inceata(ce putin 3 instructiuni per "look-up").De acea look-upul pt S-box este folosit rar in Mars

-rotatii fixe -rotatii dependente de date - care pot duce la diferite slabiciuni.Aceasta problema poate fi rezolvata in Mars combinand aceste rotaii cu inmultirea. -inmultiri - sunt de forma modulo 232 care se potrivesc noilor arhitecturi de calculatoare.Acestea erau de obicei o problema in algoritmii de criptare pentru ca incetineau procesul.Astazi problema aceasta nu mai exista. Operatia de cripatare a algoritmului Operatia de decriptare a algoritmului este inversul operatiei de criptare. Mars poate obtine mari performante in software de cand se poate folosi de puternicele operatii disponibile in computerele performante ale zilelelor noastre.Momentan o implementatie C merge cu 85 Mbit/sec la un PowerPC cu 200Mhz. La un IBM-compatibil PC cu un procesor de 200MHz Pentium-Pro, merge cu vitaza de 65 Mbit/sec. Algoritmul este cu mult mai rapid decat alte astfel de programe cum ar fi DES si Triple-DES. Mars poate fi implementat cu suscces si in hardware. El ocupa aproximativ 70,000 de celule. Orientarea pe cuvinte ar trebui sa aduca o performanta pentru implementarile soft la majoritatea arhitecturilor de calculatoare disponibile momentan.O optimizare totala a implementarii se asteapta sa ruleze cu 100Mbit/sec.

WRAPPER LAYERS
Prima faza (forword mixing) incepe prin adaugarea a cuvintelor cheie la cuvintele data, urmata de 8 tururi ale S-box-ului. A doua faza (backword mixing) are 8 tururi ale circuitelor inversate, urmata de sustragerea cheilor. In ambele faze un cuvant data(numit cuvantul sursa) este folosit pentru a modifica celelalte trei cuvinte(numite cuvinte tinta). Cei patru biti ai cuvantului sursa sunt vazuti ca si indici int doua S-boxes, fiecare consistand in cuvinte de 256*32-bit. In ambele faze cele patru cuvinte sunt rotate dupa fiecare etapa, astfel incat fiecare cuvant tinta care a fost primul devine urmatorul cuvant sursa, al doilea cuvant tinta devine urmatorul cuvant tinta,s.a.m.d. Cateodata adaugam/sustragem unul dintre cuvintele tinta inapoi devenind cuvantul sursa curent. In special in etapa urmatoare adaugam al treilea cuvant tinta la cuvantul sursa, dupa primul si al cincealea circuit, si aduagam primul cuvant tinta inapoi la cuvantul sursa, dupa al doilea si al saselea circuit. In faza "backword" sustragem primul cuvant tinta din cuvantul sursa, inaite de al patrulea si al optulea

circuit, si sustrag al treilea cuvant tinta din cuvantul sursa, inainte de al treile asi al saptelea circuit. Motivul pentru aceste operatii de extragere este pentru a elimina unele dintre atacurile diferentiale mai usoare impotriva celor doua faze.

CRIPTOGRAPHIC CORE
Este de tipul "type-3 Feistel network", algoritmul foloseste o cheie "E-function" spre deosebire de etapa "forward mixing".Datele de iesire ale "E-function"ului sunt de asemenea adunate sau li se aplica un sau exclusiv cu celelalte cuvinte. Contine in total 16 pasi(8 "forward" si 8 "backward"). "E-function"-ul este o combinatie de diferite operatii care combina doua cuvinte cheie cu cuvantul de intrare.Aceasta este de asemenea etapa in care apare inmultirea. De asemenea contine un S-box lookup."E-function" este unul dintre cele mai parti de design din algoritmul Mars,diferitele functii fiind combinate intrun mod care maximizeaza avantajele fiecaruia. -cand multiplici partea mai putin semnificativa a bitilor datelor de intrare, efectul este mai mare decat in cazul multiplicarii partii mai demnificative.Bitii care nu incap in S-box sunt cei mai putin semnificativi din inmultire. -multimea de rotatii (13 biti) a fost setata sa maximizeze rezistenta la diferite atacuri -cea mai semnificativa parte din inmultirea datelor de iesire este afectata de mai multi biti ale datelor de intrare decat partea cea mai putin semnificativa.De acea bitii ce mai semnificativi sunt folositi pentru a determina multimea rotatiilor dependente de date. -cele trei linii din functie sunt atat de independente una de alta, pe cat e posibil pentru a evita anularea si pentru a ingreuna obtinerea unei aproximari liniare. -cat timp M e cea mai slaba data de intrare a functiei, ea este pusa in mijlocul datelor de iesire, astfel incat nu este folosit niciodata pentru a modifica cuvantul sursa folosit pentru modificarea din urmatorul pas.

KEY EXPANSION
Algoritmul Mars are o lungime de chei variabila.Intervalul lungimii acestora este sau intre 128-448 biti sau inte 128-1248 biti(cu animite restrictii). Din punct de vedere intern algoritmul lucreaza cu 40 de cuvinte cheie, ceea ce este egal cu 1280 de biti.Dar 32 dintre acestia au valoarea constanta 1 (ultimii cei mai putin semnificativi 2 biti ai cuvintelor cheie 5,7,9,...,35) ,rezulta ca lungimea cheilor interne este de 1248 de biti.Exista cateva restrictii pentru chei.Acelasi cuvant cheie care contine cei doi bitii cu valoare constanta 1 nu ar trebui sa contina 10 valori consecutive de 0 sau 1.Motivul acestui criteriu este ca aceste cuvinte cheie sunt folosite pentru inmultiri in "E-function" si cuvintele cheie fara aceste proprietati vor duce la slabirea cheilor la diferite atacuri. Rutina de expansiune a cheilor foloseste aceleasi operatii (xor,shift,table look-up) ca si criptarea/decriptarea.Pseudocodul pentru rutina key expansion(care foloseste intre 4 si 14 cuvinte cheie si produce o cheie valida Mars pe 1284 de biti) poate fi vazuta in imagine. Procedura de expansiune a cheilor consta in trei etape dupa cum vedeti si in figura de mai sus. -primul pas este "expansiunea liniara" care extinde, cheia originala oferita de user, la 40 32biti folosindese de o transformare liniara simpla. -al doilea pas este "S-box" care starneste cheia extinsa folosindu-se de sapte circuite de tipul-1 Feistel network pentru a distruge relatiile liniare din cheie. -ultimul pas este "cuvant cheie care modifica prin inmultire" examinand cuvintele cheie care sunt folosite in operatia de criptare/decriptare a algoritmului Mars pentru a le multiplica si modifica in caz ca este nevoie. In figura de mai sus este ilustrata operatia de espansiune a cheilor in detaliu.

SECURITATE:
Nivelul de securitate al algoritmului cu chei de n-biti,pentru chei de lungime pana la cel putin 256 de biti,este de 2 la puterea n. Nivelul securitatii nu va creste mai repede sau asa de repede pentru mai mult de 2 la puterra 256. Folosirea cheilor mai mari de 256 de biti se face nu pentru siguranta ci din comoditate. Se estimeaza ca orice atac liniar sau diferential impotriva algoritmului, trebuie sa aiba o complexitate a datelor mai mare decat 2 la puterea 128, cea ce inseamna ca pentru blocurile de lungime de 128 biti, aceste atacuri sunt imposibile. Pentru atacurile liniare, nici o aproximatie liniara a transformailor de chei nu are o inclinare mai mare de 2 la puterea 69, cea ce ar fi implicat o complexitate a datelor mai mare de 2 la puterea 128. Pentru atacurile diferentiale unul dintre argumente ar fi cel care explica de ce este putin probabil ca cineva sa construiasca o transformare a cheilor cu probabil mai mare decat 2 la puterea -240.

Concluzii:
Securitatea informational este o problem care devine tot mai stringent si mai actual odat cu dezvoltarea retelelor si industriei sistemelor de calcul. Una din metodele de baz de asigurare a securittii informationale este metoda criptografic.Criptografia, la momentul actual acoper un set de

protocoale, algoritmi de criptare, infrastructuri de manipulare a cheilor criptografice, s.a. Pentru obtinerea unui sistem sigur de protectie a informatiei este nevoie de prevzut toate directiile posibile de atac asupra lui, deoarece este inutil de securizat o latur a sistemului, aunci cnd atacul poate fi usor realizat pe o latur mai sensibil. Un sistem criptografic este eficient atunci cnd tine echilibrul ntre ceea ce este necesar si ceea ce este posibil. Pentru crearea unui astfel de sistem este nevoie de construit o infrastructur pus bine la punct si care ar contine urmtoarele componente: algoritmi criptografici simetrici, asimetrici, de functii dispersive, de semntur digital si de o infrastructur a cheilor necesare. n practic, cnd apare problema implementrii unui astfel de sistem, se poate de mers pe dou ci: alegerea unui sistem existent sau crearea unuia nou. Fiecare dintre aceste ci are si avantaje si dezavantaje. Solutiile existente au fost studiate prezent de specialisti n domeniu si aplicate n practic deci ele sunt mult mai sigure de utilizat, problema este c nu tot timpul aceste sisteme pot fi ncadrate n sistemul nostru informational. Deci de multe ori apare necesitatea crerii unui sistem acordat la necesittile noastre. Un astfel de sistem este propus pentru transferul securizat de date ntre sisteme distribuite de informatii. Acest sistem este o solutie eficient pentru companiile(de diferit profil) care au o infrastructur distribuit de informatii. Avantajele aduse fat de sistemele existente sunt flexibilitate, automatizare n lucru ti o securitate crescut(prin gestionarea local a certificatelor digitale). Sistemul criptografic hibrid propus permite crearea unor canale de comunicatii criptografiate pe reteaua Internet si implementeaz o infrastructur local de certificate digitale.Acest tip de solutie se poate de creat efectiv pe platforme de programare ca Java n SDK si Microsoft .Net Framework. Pentru care tip de solutie n-am pleda, este necesar de stiut, c orict de bun si sigur n-ar fi sistemul folosit, el este ineficient dac este administrat si utilizat incorect. Mars este un cifru de blocare a cheilor rapid si sigur. Ofera securitate/performanta mai mare in comparatie cu celelalte cifruri existente, profitand de avantajele oferite de calculatoarele mai performante din ziua de azi. Ambele implementari, si cea software si cea hardware, ale algoritmului sunt remarcabil de compacte. Combinatia de securitate inalta, viteza mare, si flexibilitate face ca algoritmul Mars sa fie o alegere excelenta pentru nevoile de criptare.

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