Documente Academic
Documente Profesional
Documente Cultură
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 (ceL putin 3 instructiuni per lookup).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 rotatii 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.
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 viteza de 65 Mbit/sec.
Algoritmul este cu mult mai rapid decat alte astfel de programe cum ar fi DES si TripleDES. Mars poate fi implementat cu succes si in hardware. El ocupa aproximativ 70,000
de celule.
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 aceea
KEY EXPANSION
Algoritmul Mars are o lungime de chei variabila. Intervalul lungimii acestora este sau
intre 128-448 biti sau inrte 128-1248 biti (cu anumite 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 biti 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 Keyexpansion. Procedura de expansiune a cheilor consta in trei etape :
primul pas este expansiunea liniara care extinde, cheia originala oferita de user,
la 40 32 biti folosindu-se 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.
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 puterea 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, ceea ce inseamna ca pentru
blocurile de lungime de 128 biti, aceste atacuri sunt imposibile. Pentru atacurile liniare,
nici o aproximatie liniara a transformarilor de chei nu are o inclinare mai mare de 2 la
puterea 69, ceea 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
Sistemul criptografic hibrid propus permite crearea unor canale de comunicatii
criptografiate pe reteaua Internet si implementeaza o infrastructura locala de certificate
digitale. Acest tip de solutie poate fi creat efectiv pe platforme de programare ca Java in
SDK si Microsoft .Net Framework.
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.