Data Encryption Center (DEC) este un produs software creat cu scopul de a face munca mult mai usoara din punct de vedere al organizarii acesteia si din punct de vedere al securizarii lucrarilor dvs. Pe langa scopul principal, DEC poate fi folosit ca si: setup creator, password keeper sau jurnal. Nici modul in care userul poate interactiona cu programul si nici functiile de management al datelor securizate nu au fost neglijate, astfel cel care foloseste DEC il va stapani foarte usor. Functia de criptare inclusa in DEC poate genera o viteza de 2 MB/s pe un computer cu un procesor de 800 Mhz pastrand totodata o securizare de nivel ridicat (include concepte precum: avalanche effect, diffusion sau retele de permutare si substitutie). Voi enumera doar cateva optiuni care sunt foarte importante (unele chiar originale pentru astfel de programe): sistem de plugin, anti keylogger, picture based authentification, cheie de 4096 biti (depasind astfel nivelul guvernamental care este de 1344 biti), managementul datelor (adaugare, redenumire, stergere, mutare etc). Incluzand atat algoritmi criptografici care sunt standard (AES, RSA), cat si concepte noi si solide de criptografie si securitate, DEC poate fi folosit la varii nivele.
Tehnologii
C#, Visual Basic 2003
Cerinte sistem
Microsoft .NET Framework v1.1
OS: Microsoft Windows 2000/XP sau orice alt sistem care suporta .NET Framework 1.1
Nu e free deocamdata. Inca nu m-am gandit exact ce voi face cu el pe viitor (daca il voi vinde, daca il voi pune free, open source sau daca il voi vinde unei firme de securitate cu tot cu drepturile de autor).
Offtopic: Nu am fost chemat (unfortunately), vine alt student din Iasi, impreuna cu domnul prodecan Buraga Insa am intrat sa vad care mai este nivelul lucrarilor si mi-au atras atentia cateva, printre care si a ta. Sper sa ocupi un loc cat mai fruntas anul asta (de preferat 1, o sa ma uit dupa ce se termina sa vad ce-ai facut)
Salut, vad ca ai progresat Cateva intrebari: 1. de ce RSA? care e rostul intr-un “locker” 2. cheie de 4096 de biti pentru criptare simetrica sau asimetrica? Se pot alege si chei de dimensiune mai mica? 3. sursa pt afirmatia “nivelul guvernamental care este de 1344 biti”?
1. folosesc RSA la trimiterea datelor remote. Nu am vorbit despre aceasta optiune in descriere si nici despre altele deoarece le las pentru Galaciuc. (securizarea conexiunii este optionala) 2. algoritm simetric. Da, se poate alege o cheie de ce lungime vrei tu, si care vrei tu. (vezi butonul in screenshot de langa labelul Encryption Key, care are pe el o cheita) 3. http://www.securstar.com/products_drivecrypt.php sper ca doar nu mint Dar, daca este sa renuntam la aceasta afirmatie NIST sustine ca o cheie de 256 biti va fi sparta in >>>2030. Asta inseamna >>>20 de ani, dar cheia mea este de 2^4 ori mai mare ceea ce ofera un nivel foarte bun de securitate. Daca ne referim la un bruteforce, atunci avem o complexitate de 2 la 4096 fata de 2 la 256 ceea ce ar dura cu 2 la 3840 mai mult. (http://www.keylength.com/en/4/)
Securstar sunt o firma care is promoveaza un produs. In marketing trebuie sa si minti putin ca sa iti vinzi produsul . Vorbaraiele cu “Military grade” sunt doar pentru utilizatorii normali, care n-au habar de criptografie. Pentru ei o cheie cu numar cat mai mare de biti e mai buna, fara sa stie cam ce dimensiune a cheii ar fi potrivita pentru ei … In primul rand, din algoritmii enumerati nici unul nu suporta chei de 1344 de biti (din cate am vazut e vorba de blowfish cu chei de 448 de biti aplicat de 3 ori). Nu e nevoie de o cheie asa mare pentru securitate. Si apropo, produsul lor plasa DES ca fiind unul dintre “the best and most proven cryptographic algorithms”. (DES poate fi spart de un super-computer in cateva ore). Cand faci un soft trebuie sa te gandesti si la performanta. AES(Rijndael) pe 256 de biti e sigur (aproape la fel de sigur ca Serpent, dar ceva mai rapid), ai interpretat gresit informatia de acolo. Acolo e prezentata dimensiunea cheilor ce e recomandata a fi folosita in anii urmatori, nu in cat timp vor fi sparte cheile. Si daca vezi, pentru >>>2030 (adica viitorul indepartat) este recomandata folosirea unei chei de 256 de biti. Orice peste aceasta valoare e performanta in minus, pentru ca securitate ai deja. pt o cheie de 1344 deja sunt necesare mult mai multe calcule inutile. (in cazult lor, triple blowfish = de 3 ori mai incet). In general, un home user nu va avea nevoie nici macar de criptare cu chei de 256 de biti. DES, ce are o cheie de 56 biti, (care poate fi spart) e deajuns pentru el, nu prea tine el informatii top secrete in calculator sa trezeasca interesul celor care ar avea echipamentul necesar sa descifreze informatia.
Nu m-am bazat pe DES, stiu ca acesta poate fi spart prin, de exemplu, criptanaliza diferentiala. Referitor la AES, algoritmul este un derivat, facut astfel incat sa suporte o cheie de 4096 biti.
Programul e facut pentru home user, dar nu numai, de aceea am inclus o cheie foarte mare (avand in vedere ca pe un super computer o cheie de 256 biti poate fi sparta mult mai repede).
In legatura cu timpul, da poate ca daca ne referim la un RSA, lucrul cu o cheie de 4096 de biti ar fi “killer de timp” dar aici e vorba de AES (care lucreaza cu cheia printr-un XOR - AddRoundKey) si deci nu ridicam nici un numar la puterea x ca apoi sa facem un MOD.
Poate ca am exagerat cu cheia, poate ca e prea mare, dar cum tehnologia avanseaza atat de repede, ma gandesc ca nu strica cu nimic.
LE: “The key reason why bigger is not always better is because it is easier to find attacks faster than brute-force for ciphers with larger keys. Consider using AES with a 64-bit key.To break the algorithm, you have to find an attack that works faster than 264 encryptions.This is a much harder proposition than breaking the full-length key.The key length of the cipher sends an expectation of how much security the designer claims the algorithm can offer.” (Cryptography for Developers)
Este logic ce scrie in acest articol, dupa ce se citesti articolul despre Rijndael Key Schedule si Finite Field Math, INSA aceasta gandire este buna numai in cazul in care exista o anumita regula de generare. Cheia pe care o generez eu nu se bazeaza pe o anumita regula ci pe numere aleatorii (intr-adevar aplicand abia aici anumite calcule dar astfel incat numerele sa nu interdepinda).
Daca foloseam Rijndael Key Schedule si fortam oarecum o cheie mult mai mare exista pericolul gasirii unei anumite reguli care ar putea periclita siguranta cheii.
Sa ne aducem aminte si de cazul celebru (in lumea criptografilor) a locatiei unei comori. (se intampla prin anii 1800). Folosindu-se un algoritm de substituire, insa cu o cheie enorma ca si dimensiune, nici in zilele de azi (dupa aproape 200 de ani) nu s-a spart acea posibila harta care ar fi putut indica comoara. (in acea cheie neexistand o regula , ci doar un anumit text dintr-o carte - dupa cum se presupune)