Sunteți pe pagina 1din 90

1

Cuprins

ADNOTARE ................................................................................................................................................. 5
ANNOTATION ............................................................................................................................................ 6
LISTA ABREVIERILOR ............................................................................................................................. 7
Introducere .................................................................................................................................................... 8
Capitolul I. Securitatea Informaiei .............................................................................................................. 9
1.1 Metode de protecie a informaiei ....................................................................................................... 9
1.2 Metode tradiionale de protecie a informaiei ..................................................................................11
1.3 Autentificarea ....................................................................................................................................15
1.4 Autentificarea cu parol ...................................................................................................................16
1.5 Semntura Digital ...........................................................................................................................16
Capitolul 2. Criptografia modern .............................................................................................................21
2.1 Algoritmul DES ................................................................................................................................21
2.1.1 Cnsideraii asupra algritmului DES.......................................................................................25
2.1.2 Criptanaliza ................................................................................................................................26
2.1.3 Variante de DES .........................................................................................................................27
2.1.4 Algoritmul AES..........................................................................................................................29
2.1.5 Algritmul LUCIFER ................................................................................................................33
2.1.6 Algoritmul Blowfish ..................................................................................................................33
2.1.7 Dubla criptare ............................................................................................................................36
2.1.8 Tripla criptare .............................................................................................................................37
2.2 Algoritmi simetrici de tip ir .............................................................................................................39
2.2.1 Cifruri ir sincrone .....................................................................................................................39
2.2.2 Cifruri ir asincrone ....................................................................................................................40
2.2.3 Proiectarea i analiza cifrurilor ir..............................................................................................41
2.2.4 Complexitatea liniar .................................................................................................................43
2.2.5 Generatori aditivi .......................................................................................................................44
2.3 Algoritmi cu chei publice ..................................................................................................................46
2.3.1 Algoritmul Merkle-Hellman......................................................................................................47
2.3.2 Algoritmul Rivest-Shamir-Adelman (RSA) ...............................................................................48
2.4 Concluzii ...........................................................................................................................................52
Capitolul 3. Securittea clculatorului .......................................................................................................55
3.1 Primii virusi .......................................................................................................................................55
3.2 Principalele ameninri de securitate.................................................................................................56
3.2.1 Troienii .......................................................................................................................................56

2
3.2.2 Viruii de tip vierme (worm) ......................................................................................................56
3.2.3 Viruii de tip Rootkit ..................................................................................................................57
3.2.4 Phishing i pharming .................................................................................................................58
3.2.5 Malware-ul .................................................................................................................................58
3.3 Sigurana sistemelor de operare ........................................................................................................59
3.3.1 Windows XP ..............................................................................................................................59
3.3.2 Windows 7..................................................................................................................................59
3.3.3 Mac OS X ...................................................................................................................................60
3.3.4 Linux ..........................................................................................................................................61
3.4 Cum s-i protejezi computerul .........................................................................................................61
3.4.1 Evitarea infectrii prin email ......................................................................................................61
3.4.2 Navigatul sigur pe Internet ........................................................................................................62
3.4.3 Verificarea linkurilor te redirecteaz acolo unde crezi? ..........................................................62
3.4.4 Actualizarea software-ului Cel mai important pas .................................................................62
3.4.5 Folosete un antivirus .................................................................................................................63
3.5 Metode de protecie a PC-ului ...........................................................................................................63
3.5.1 Firewall ......................................................................................................................................64
3.5.2 Eliminarea viruilor de tip Rootkit ............................................................................................64
3.5.3 Protecia mpotriva phishingului ...............................................................................................65
3.6 Alegerea softului de protecie ...........................................................................................................65
3.6.1 Securitatea gratuit versus cea pltit ........................................................................................66
3.6.2 Pachetul gratuit de securitate ideal .............................................................................................67
3.6.3 Avast! Free Antivirus sau Microsoft Security Essentials . .......................................................67
3.6.4 Firewall-ul gratuit ZoneAlarm . ...............................................................................................67
3.6.5 BitDefender Anti-Phishing .....................................................................................................67
Capitolul 4 ..................................................................................................................................................68
4.1 Limbajul C# ......................................................................................................................................68
4.2 Relatia dintre C# si arhitectura .NET ................................................................................................68
4.3Principiile programarii orientate obiect..............................................................................................69
4.3.1 Incapsularea................................................................................................................................69
4.3.2 Polimorfismul .............................................................................................................................69
4.3.3 Motenirea ..................................................................................................................................69
4.3.4 Reutilizarea.................................................................................................................................70
4.3.5 Tipuri de date si operatori .........................................................................................................71
4.3.6 Tipuri in virgula mobile ............................................................................................................73
4.3.7 Literali ........................................................................................................................................74
4.3.8 Operatori ....................................................................................................................................76
3
Capitolul 5. Aplicaia practic....................................................................................................................80
5.1 Crearea unei nregistrri noi . ...........................................................................................................80
5.2 Solicitarea parolei.............................................................................................................................80
5.3 Adugarea unei inregistrri noi . .......................................................................................................81
5.4 Redactarea nregistrrii, tergerea . ...................................................................................................81
5.5 Salvarea bazei de date . .....................................................................................................................82
5.6 Rezultatul nregistrrii i codificrii. .................................................................................................82
5.7 Deschiderea unei inregitrri existente. ..............................................................................................83
Literatur .....................................................................................................................................................84
Concluzie.....................................................................................................................................................85
Aplicaia ......................................................................................................................................................86
Cod Surs: ...............................................................................................................................................86

4
ADNOTARE

Numele i prenumele autorului : Cornos Roman

Denumirea tezei: Probleme de Securitate a Informaiei

Program de masterat: Informatic Aplicat

Structura lucrrii: adnotare,lista abrevierilor, itroducere , 5 capitole, concluzii i bibliografie, 86


pagini de text A4, figuri , tabele.

Cuvinte Cheie :Informaie, Confidenialitate, Securitate, Criptare,Autentificare,Virui,Antivirui.

Scopul lucrrii: Elaborarea unui mijloc de protecie a informaiei confideniale.

Obiectivele lucrrii: Examinarea celor mai rspndite modaliti de obinere a informaiilor


confideniale, studierea principalelor mijloace de protecie, studierea algoritmilor i softurilor de
criptare a datelor , creterea nivelului de protecie a datelor i informaiilor.

Teza de master abordeaz problema securitii informaiilor confideniale i anume,


protejarea informaiei i sistemelor informatice de accesul neautorizat, folosirea, dezvluirea,
ntreruperea, modificarea or distrugerea lor, acestea pot fi ncepnd de la a date cu caracter
personal pn la informaii care reprezint Secret de Stat.

La fel sunt prezentate metodele de protecie ca: autentificarea, autentificarea cu parole,


semntura digital, criptografia ca metod ce cuprinde o mulime de algoritmi, cifruri i
sincrone.

Securitatea Calculatorului este problema secolului XXI, problema care afectez marea
parte a deintorilor de PC i utilizatorilor oricrui system de operare i unul din obiectivele
tezei.

Rezultatele lucrrii sunt metode, mijloace i soluii de protecie a informaiilor


confideniale i a sistemelor informatice, elaboratea unui mijloc de protecie a informailor cu
caracter confidenial.

Importana lucrrii: au fost obinute informaii relevante privind abordarea obictivelor puse, care
dafapt sunt probleme actuale cu care se confrunt ntreaga lume .Dac ceva timp n urm puteau
fi clasate ca o joac sau o glum proast . Astzi sunt infraciuni i chiar caze penale.

5
ANNOTATION

Author Name: Cornos Roman

Thesis Title: Security problems of information

Masters Program : Applied Informatics

Structure: annotation, abbreviations, introduction, 5 chapters,conclusions and bibliography, 86


pages of A4 format, figures , tables.

Keywords: Information, Privacy, Security, Encryption, Authentication, Viruses, Antiviruses.

Thesis purpose: Developing a method of protecting confidential information.

Thesis objectives: Examining the most widespread ways of obtaining confidential information,
studying the main means of protection, studying algorithms and data encryption software,
increasing the level of protection of data and information.

The master thesis deals with the security of confidential information, namely the
protection of information and computer systems from unauthorized access, use, disclosure,
interruption, alteration or destruction, from personal data to information representing the State
Secret.

Protective methods such as authentication, password authentication, digital signature, and


cryptography as a method that includes a large number of algorithms, ciphers, and synchronous
are presented.

Computer security is the 21st century issue, the issue that affects most of the PC owners
and users of any operating system and one of the objectives of the thesis.

The results of the paper are methods, means and solutions for the protection of
confidential information and information systems, the elaboration of a confidential information
protection means

The importance of the thesis: Relevant information has been gathered on how to deal with the
misbehavior, which are the current problems facing the world. If some time ago they could be
classified as a bad play or joke. Today there are crimes and even criminal cases.

6
LISTA ABREVIERILOR

1. Cheii Publice (PKI)


2. Autoritate de certificare (CA)
3. Autoritate de nregistrare (RA)
4. Liste de revocare de certificat (LCR)
5. Listele de revocare a certificatelor (fiiere CRL)
6. Algoritmul semnturii digitale (DSA)
7. Algoritmul semnturii electronice n curb eliptic (ECDSA)
8. DES (Data Encryptin Standard)
9. Algoritmul Rivest-Shamir-Adelman (RSA)

7
Introducere
Odat cu dezvoltarea rapid a tehnologiilor informaiei i ptrunderea lor n toate sferele
de activitate a crescut i numrul de infraciuni care vizeaz nclcarea securitii
informaionale. Big interessso storong: infractorii cibernetici determin activitatea structurilor de
stat i a ntreprinderilor comerciale. Scopul este de a fura sau s divulge informaii confideniale,
pentru strica reputaia, a provoca daune organizatiilor , iar ca consecin pot aparea i dificulti
n funcionalitatea organizaiei . Aceste aciuni provoac pagube mari morale i materiale. Cu
toate acestea, supui riscului sunt nu numai companiile mari, ci i utilizatorii privai. Cu ajutorul
diferitelor mijloace infractorii primesc acces la informaiile personale, numere de conturi
bancare, numere de carduri , parole,defectind sistemul de operare sau primesc acces deplin la
calculator. n viitor, un astfel de calculator poate fi utilizat ca parte a unei reele-zombie, o reea
de calculatoare infectate folosite de hackeri pentru a ataca serverele, trimite spam, recolta
informaii confideniale sau pentru a rspndi noi virui i troieni. Astzi, toat lumea
recunoate c informaia este un activ valoros, care ar trebui protejat cu atenie.

Scopul lucrrii este de a examina i de a studia cele mai raspndite modaliti ilegale
de obinere a informaiilor confedeniale, precum i principalele mijloace de protecie la astfel
de aciuni; n plus, am studiat algoritmii i softurile de criptare a datelor pentru preveni
interceptarea informaiilor confedeniale.

Lucrarea const din introducere, 5 capitole i aplicare.

Capitolele 1 la 3 abordeaz principalele probleme tehnice de securitate a informaiilor,


problema criptografiei i de criptare a algoritmilor; produsele de securitate (anti-virus) i
instrumentele acestora .

n capitolul 4 introducere n limbajul de programare, ales de mine pentru realizarea prii


practice; algoritmi de criptare DES i MD-5,folosii in realizarea prii practice.

Capitolul 5 ofer o prezentare general a programului cu IMG i comentarii, la fel sunt


prezentate i caracteristicile i funciile programului realizat .

n aplicaie avem o segven din codul-surs, lista de referine i sursele de informaii


utilizate.

8
Capitolul I. Securitatea Informaiei
Securitatea informaiei se ocup cu protejarea informaiei i sistemelor informatice de
accesul neautorizat, folosirea, dezvluirea, ntreruperea, modificarea or distrugerea lor.

ISO/IEC27002/2013 trateaz securitatea informaiilor prin cele trei componente


principale: confidenialitatea, integritatea i disponibilitatea. Confidenialitatea este asigurat
prin criptarea informaiei. Integritatea se obine prin mecanisme i algoritmi de dispersie.
Disponibilitatea e asigurat prin ntrirea securitii reelei sau reelelor de sisteme informatice i
asigurarea de copii de siguran.

Problemele de Securitate a informaiilor pot fi mprite n dou grupe majore: aleatoare


i intenionate. Pentru ameninrile accidentale includ dezastre naturale i accidente, accidente i
erori de hardware, erori n sistemele informatice de proiectare, erori algoritmice i de soft, erori
de utilizator, i a personalul de ntreinere. Clasa ameninrilor intenionate este foarte diversa i
permanent se noete . Ameninrile din aceast clas, n dependen de natur i aplicare pot fi
mprite n cinci grupe: spionaj i sabotaj tradiional sau universal, accesul neautorizat la date,
radiaii electromagnetice i a interfeelor, modificarea neautorizat a structurilor, program de
sabotaj.

1.1 Metode de protecie a informaiei


Protecia informaiilor n sistemele informatice este asigurat prin crearea unui sistem
integrat de securitate. Sistemul de protecie integrat include:

metode legale de protecie;

metode organizaionale de protecie;

metode de protecie mpotriva ameninrilor accidentale;

metodele de protecie mpotriva spionajului tardiional i sabotaj;

metode de protecie mpotriva radiaiilor electromagnetice i a interferenelor;

metode de protecie mpotriva accesului neautorizat;

metode de criptografice de protecie;

metode de protecie mpotriva viruilor de calculator

Printre metodele de protecie sunt universale i care sunt fundamentale pentru a crea orice
sistem de securitate. Mai nti de toate acestea sunt, metodele legale deprotecie a informaiilor
care stau la baza unei construcii legitime de utilizare a sistemului de securitate pentru orice
scop. Printre metodele universale pot fi numarate, i metode de organizare, care sunt utilizate n
orice sistem de securitate, fr excepie i de regul, ofer o protecie mpotriva mai multor
ameninri.

9
1.2 Metode tradiionale de protecie a informaiei
Metode de protecie mpotriva ameninrilor accidentale sunt dezvoltate i puse n aplicare n
timpul proiectrii, crearea, implementarea i operarea sistemelor informatice. Printre acestea se
numr:

fiabilitate ridicat a sistemelor informatice;

crearea de sisteme informatice rezistente la defect;

blocarea operaiilor eronate;

Optimizarea de interaciune a utilizatorilor i a personalului de serviciu cu sistemul


informatic;

minimizarea daunelor provocate de accidente i dezastre naturale;

duplicarea informaiilor.

La protecia informaiilor n sistemele informatice inpotriva spionajului i sabotajului


tradiional se folosesc aceleai mijloace i metode de protecie, precum si la protecia altor
obiecte care nu utilizeaz sistemele informatice. Printre acestea se numr:

crearea unui sistem de protecie a obiectului;

organizaia funcioneaz cu resurse de informaii confedentiale;

supraveghere contra recepionarea convorbirilor;

protecia mpotriva aciunilor cu caracter ru a personalului.

Pentru a proteja datele mpotriva accesului neautorizat sunt:

sistem cu niveluri diferite de acces la informaie;

sistem de protecie inpotriva cercetrii sau copierii a codului surs.

Informaia iniial pentru crearea un sistem de control al accesului limitat este o decizie a
administratorului de sistem informatic privind accesul utilizatorilor la anumite resurse de
informaii .Avnd n vedere c informaiile din sistemele informatice sunt stocate, procesate i
transmise cu ajutorul fiierelor, accesul la informaie este reglementat la nivelul de fiier.n
bazele de date accesul la datepoate fi administrat la o anumit parte a acesteia n conformitate cu
anumite reguli.

Datorit anumitor instruciuni administratorului stabilete operaiunele care le poate efectua


utilizatorului.

Exist urmtoarele operaiuni cu fiierele:

Reading (de citire) (R) ;

de nregistrare;
10
executarea programului (E).

Operaiunile de scriere au dou opiuni :

Accesul la aceasta operaiune permite nregistrarea sau modificarea coninutului fiierului (W);

Posibilitatea de adaugarea informailor noi ntr-un fiier fr a modifica coninutul vechi (A);

Sistemul de protecie contra cercetrii sau copierii a codului surs include urmtoarele
metode:

metodele care complic citirea informaiilor copiate;

metode care mpiedic utilizarea informaiilor.

Sub protecia criptografic a informaiilor se nelege codificarea informaiilor iniiale, ca


urmare informaia codificat nu poate fi citit sau utilizat de persoane neautorizate. n funcie de
tipul de codificare a informaiei avem urmtoarele grupe:

Cifrarea;

Stenografie (prescurtare);

Codificarea;

Compresia;

1.3 Autentificarea
Ce este autentificarea?

n lumea fizic, este uor de recunoscut cine este cine, fie prin vedere, fie prin auz, fie
prin recunoaterea scrisului de mn. Cu toate acestea, n lumea digital, toat lumea interfereaz
pe un ecran de computer. Atunci cnd organizaiile i mut tranzaciile de afaceri online,
securitatea i ncrederea devin cerinele obligatorii. Prin urmare, autentificarea identitii, fie de
ctre un individ sau o organizaie, a devenit o problem primar. Semntura digital, ca un
mecanism care accelereaz tranzacii, economisete costurile, reduce hrtia, i mbuntete
securitatea tranzaciei, a fost folosit pe scar larg ca o component fundamental a activitii n
spaiul cibernetic. O semntur digital asigur integritatea datelor, precum i dovada de origine
(non-repudiere). Aceasta poate fi pstrat de ctre receptor pentru soluionarea litigiilor n cazul
n care expeditorul neag coninutul mesajului sau chiar s nege c l-a trimis. De asemenea,
semntura digital este folosit pentru autentificarea la sisteme sau aplicaii.

Arhitectura de securitate OSI (ISO7498-2) definete dou tipuri de autentificare,


autentificarea entitii i autentificarea originii datelor.

1. Autentificarea entitii verific identitatea unei entiti de ctre alta. Este o operaiune
orientat pe conexiune. Autentificarea entitii este de obicei realizat cu ajutorul unui mecanism
de schimb de autentificare. Un astfel de mecanism const ntr-un schimb de mesaje ntre o
pereche de entiti i este de obicei numit un protocol de autentificare. Autentificarea entitii

11
include autentificarea unilateral, care prevede o entitate cu asigurarea identitii alteia, dar nu
invers, i autentificarea reciproc, care prevede ambele entiti cu asigurarea identitii reciproce.

2. Autentificarea originii datelor prevede colaborarea la o entitate a crei surs de date


primite este pretins. Cu toate acestea, serviciul n sine nu ofer protecie mpotriva duplicrii
sau modificrii unor uniti de date. Semntura digital este o tehnic de autentificare special,
care poate fi utilizat pentru a stabili originea unui mesaj n vederea soluionrii litigiilor cu
privire la ce mesaj (dac exist) a fost trimis.

Baza de autentificare

n lumea conectat la o reea, nu este posibil autentificarea unei persoan n acelai mod
n care se realizeaz n lumea fizic. Prin urmare, este necesar o baz pentru autentificare, care
impune construirea unui protocol de autentificare. De fapt, autentificarea se realizeaz printr-un
schimb de mesaje criptografice - un secret mprit ntre cele dou entiti. Aa-numitul secret
partajat poate fi clasificat ntr-unul dintre urmtoarele trei domenii:

1.Ceva ce tii, un cod PIN sau parol. Aceasta este o autentificare bazat pe cunoatere. n
acest scenariu, o persoan i sistemul IT mprtesc un PIN sau o parol prestabilite. Unei
persoan i se cere s introduc codul PIN / parola la autentificare i este transformat ntr-o cheie
de criptare. Aceast cheie este apoi utilizat n protocolul de autentificare. n cazul n care codul
PIN sau parola pe care persoana o introduce se potrivete cu una stocat n sistem, atunci
persoana este autentificat.

2. Ceva ce avei, o carte de identitate securizat sau de alt natur simbolic, care poate
genera o parol unic, o cheie introdus ntr-o "zon de siguran" n maina gazd, n software-
ul browser-ului, etc.; sau un card cu memorie (care poate avea introduse chei i poate efectua
operaiuni criptografice n numele unui utilizator). Acesta este un semn de autentificare bazate pe
token. n acest scenariu, o cheie este prezentat pe token. Deinerea simbolului nseamn posesia
cheii. Prin urmare, oricine poate obine simbolul poate fi autentificat ca proprietar al acestuia.

3. Ceva ce suntei, cum ar fi o caracteristic fiziologic sau comportamental. Aceasta este


o autentificare bazat pe biometrie. n acest scenariu, datele biometrice sunt convertite ntrun
profil care este comparat cu un profil stocat. In zilele noastre, tehnicile utilizate n autentificare
includ date biometrice statice, care includ amprente digitale, retiniene, irisul, geometria feei i a
minii; i biometrica dinamic, care include vocea i verificarea semnturii. O persoan este
autentificat dac ntre profilul biometric i cel stocat se obine o potrivire ct mai apropiat. Prin
urmare, este necesar protecia profilelor (prin criptare) n tranzit ntre dispozitivul de capturare a
biometriei i serverul care efectueaz verificarea datelor biometrice. Informaiile trebuie s fie
protejate de captarea de ctre o ter parte care ar putea s-l utilizeze n scopuri duntoare, prin
introducerea acestuia n reea.

Obiectele de identificare bazate pe cunoatere i simbol nu se bazeaz pe nici un atribut


inerent al unui individ de a realiza autentificarea. Exist o serie de dezavantaje asociate cu
acestor dou metode de autentificare. Token-urile pot fi pierdute, furate, uitate, sau date n mod
voluntar unui impostor. PIN-ul i parola pot fi uitate, ghicite, zrite sau voluntar dezvluite unui
12
impostor. Elementele biometrice integrate sunt n mod inerent mai fiabile i nu sufer de aceste
dezavantaje. Cu toate acestea, au alte dezavantaje, cum ar fi dificultatea de nregistrare, nscriere
i folosire: ele sunt, de asemenea, afectate de condiiile de mediu i de sntate.

Cu toate acestea, toate aceste secrete" sunt vulnerabile atunci cnd sunt transferate prin reea
deschis; chiar i o parol organizate ca hash sau PIN-ul sunt vulnerabile la cutarea n dicionar
sau la atacurile exhaustive. Parolele sunt un exemplu de mecanism de autentificare slab; o
persoan demonstreaz cunoaterea unei parole care se potrivete cu ID-ul de utilizator i
serverul o compar cu o intrare dintr-un fiier parol. Cu acest gen de metod de parolare, parola
este secretul i parola sau hash-ul acesteia sunt dezvluite.

n metodele puternice de autentificare, prin contrast, o entitate dovedete identitatea n faa


alteia prin demonstrarea cunotinelor unui secret cunoscut a fi asociat cu aceast entitate, fr a
dezvlui secretul n timpul protocolului. Nu este nevoie de dou pri implicate s tie exact ce
parol este, este posibil ca o singur entitate s obin informaiile asociate cu parola pentru a
aproba cunoaterea parolei. Acesta este aa numitul protocol "provocare - rspuns". Se bazeaz
pe criptare, mecanism de integritate (MAC), sau semntur digital.

PKI / CA

Tehnicile criptografice pot fi folosite n mod concertat pentru a oferi o suit complet de
servicii de securitate. Acestea ar trebui luate n considerare pentru protecia informaiilor i
sistemelor sensibile sau critice. Criptografia este o ramur a matematicii aplicat care se ocup
cu transformarea datelor de securitate.

n criptografie, un expeditor transform informaii neprotejate (text simplu) n text codificat


(text-cifru). Un receptor folosete criptografia pentru a transforma textul cifru napoi n text
simplu, s verifice identitatea expeditorului, s verifice integritatea datelor lui, sau o combinaie
a acestora.

Semntura digital este unul dintre mecanismele care pot fi folosite pentru a proteja
integritatea i autenticitatea documentelor electronice. Aceasta poate fi aplicat oricrei forme de
document prelucrat electronic. Semntura digital este implementat prin utilizarea unei tehnici
de criptare bazate pe o pereche unic de chei asociate, unde o cheie este utilizat pentru a crea o
semntur (cheia privat), iar cealalt pentru a verifica semntura (cheia public).

Trebuie avut grij la protejarea confidenialitii cheii private. Aceast cheie ar trebui s fie
pstrat secret, deoarece oricine are acces la aceast cheie poate semna documente. n plus,
protejarea integritii cheii publice este important. Aceast protecie este asigurat prin
utilizarea unui certificat de chei publice.

Una dintre principalele probleme asociate cu criptografia este punerea cheilor private la
dispoziia utilizatorilor autorizai, fr a le dezvlui altcuiva. Alte probleme principale includ
fixarea cheilor publice de entiti, permind altor entiti verificarea cheilor publice de legtur,
precum i furnizarea serviciilor necesare pentru gestionarea continu a cheilor ntr-un sistem
distribuit. Abordarea emergent la adresa de care aceast securitate are nevoie face uz de
caracteristicile accesibile i distribuite ale Infrastructurii Cheii Publice (PKI). PKI poate accelera
i simplifica livrarea produselor i serviciilor prin oferirea de abordri electronice.
13
Termenul "infrastructura cheii publice" este derivat din criptografia cheii publice, tehnologie
pe care se bazeaz PKI. Ea are caracteristici unice care o fac nepreuit ca baz pentru funciile
de securitate n sisteme distribuite. Infrastructurii cheii publice este o combinaie de software,
tehnologii de criptare i servicii care permite organizaiilor s protejeze securitatea
comunicaiilor i a tranzaciilor lor de afaceri n reele. PKI integreaz certificatele digitale,
criptografia cu cheie public i autoritile de certificare ntr-un set complet de arhitectur de
securitate la nivel larg a organizaiei.

Un exemplu tipic de PKI cuprinde emiterea de certificate digitale pentru utilizatorii


individuali i servere, software-ul de nscriere a utilizatorului final; integrarea cu certificate;
instrumente de gestionare, de rennoire, precum i pentru retragerea certificatelor; i servicii
conexe i asisten.

Componente PKI

Elementele funcionale ale unei infrastructuri de chei publice includ autoritile de


certificare, autoritile de nregistrare, repertorii i arhive.

O autoritate de certificare (CA), similar unui notar, elibereaz sau revoc certificate.

O autoritate de nregistrare (RA), o entitate care este ncredinat de CA s nregistreze sau


s garanteze asocierea dintre cheile publice i identitatea titularului certificatului cu o CA.

Un repertoriu este o baz de date de certificate digitale active i liste de revocare de


certificat (LCR) pentru un sistem de CA.

O arhiv este o baz de date de informaii pentru a fi utilizate n soluionarea viitoarelor


litigii.

Utilizatorii PKI sunt organizaii sau persoane care utilizeaz PKI, dar care nu elibereaz
certificate. O CA este componenta de baz a PKI, o colecie de hardware, software i oameni
care-le opereaz. Este cunoscut dup numele acestuia i cheia sa public sale. O CA ndeplinete
patru funcii de baz ale PKI:

1. Elibereaz certificate.

2. Menine informaii cu privire la starea certificatelor i elibereaz fiiere CRL.

3. Public certificate curente i fiiere CRL.

4. Menine arhivele de informaii despre starea certificatelor expirate care au fost eliberate.

O CA emite un certificat digital pentru fiecare identitate, confirmnd c identitatea are


prerogative corespunztoare. Un certificat digital include de obicei cheia public, informaii
despre identitatea prii care deine cheia privat corespunztoare, perioada de funcionare pentru
certificat, i semntur digital proprie CA. O CA trebuie, de asemenea, s elibereze i s
prelucreze listele de revocare a certificatelor (fiiere CRL), care sunt liste de certificate care au
fost revocate.

14
O RA este proiectat pentru a verifica coninutul certificatului pentru CA. Ca i CA, o RA
este o colecie de hardware, software, i persoana sau persoanele care-le opereaz. Spre
deosebire de CA, o RA va fi deseori exploatat de ctre o singur persoan. Fiecare CA va pstra
o list de RA-uri acreditate; o RA este cunoscut pentru CA dup numele i cheia public ale
acesteia.

Aplicaiile PKI sunt puternic dependente de un serviciu director pentru distribuirea


certificatelor i a informaiilor cu privire la starea certificatului. Directorul ofer un mijloc de
stocare i distribuire a certificatelor, precum i gestionarea actualizrii certificatelor. O arhiv
accept responsabilitatea pentru stocarea pe termen lung a informaiilor n favoarea CA.

O arhiv afirm c informaia a fost bun n momentul n care a fost primit, i nu a fost
modificat n timp ce s-a aflat n arhiv. Arhiva protejeaz informaiile prin intermediul unor
mecanisme tehnice i proceduri adecvate n timp ce le are n grija sa. n cazul n care un diferend
cu privire la semntur apare la o dat ulterioar, informaiile pot fi utilizate pentru a verifica
dac cheia privat asociat cu certificatul a fost utilizat pentru a semna un document.

Utilizatorii PKI se bazeaz pe alte componente a PKI s obin certificate i s verifice


certificatele altor entiti cu care fac afaceri. Entitile din urm includ partea care se bazeaz pe
certificat s tie, cu certitudine, cheia public a unei alte entiti i titularul certificatului, care are
eliberat un certificat i poate semna documente digitale.

Arhitecturi PKI

Titularii de certificate i vor obine certificatele de la CA diferite, n funcie de organizaia


sau comunitatea n care ei sunt membri. Un PKI este de obicei compus din mai multe CA legate
prin ci de ncredere. O cale de ncredere leag o parte de baz cu una sau mai multe pri tere
de ncredere, astfel nct partea de baz poate avea ncredere n valabilitatea certificatului n uz.
Exist dou arhitecturi tradiionale PKI pentru a sprijini acest obiectiv, arhitectura ierarhic i
arhitectura plas. O a treia abordare, arhitectura CA pod a fost dezvoltat pentru a se adresa
situaiei n care organizaiile se confrunt n ncercarea de a lega propriile PKI-uri cu cele ale
partenerilor lor de afaceri.

1.4 Autentificarea cu parol


Principalul avantaj al autentificrii cu parol este simpl i obinuit. Parolele au fost
introduse de mult timp n sistemele de operare i n alte servicii. Atunci cnd este utilizat n mod
corespunztor paralel pot oferit o securitate acceptabil pentru multe organizaii.Cu toate
acestea, n totalitatea caracteristicilor lor ar trebui s fie recunoscute ca fiind cele mai slabe
mijloace de autentificare.

Pentru ca parola s fie uor de amintit, este de multe ori prea simpl (numele personal sau
a unui prieten, numele unei echipe sportive etc.). De aceasta , o parol simpl, nu este greu de
ghicit, mai ales dac tii preferinele utilizatorului. Este o poveste clasica despre un spion Ricard
Zorghe, care fiecare cuvint pronunat era ; Desigur, acelai cuvnt, era cheia de
acces la safeul de top-secret.

15
Uneori parolele de la nceput nu este pstrat n secret, deoarece acestea au valori
implicite specificate n documentaie, i nu ntotdeauna dup instalarea sistemului ele se
modific.

Introducerea parolei se poate spiona(asta e metoda prin care copii afla parola la PC sau
Smartfoanele parinilor). Uneori,sunt utilizate chiar i instrumentele optice pentru spionaj.

Parolele adesea sunt sunt spuse colegilor de lucru, pentru ca titularul parolei s fie
nlocuit pentru ceva timp. Teoretic n astfel de cazuri este mai corect de a utiliza controalele de
acces , dar n practic nimeni nu face acest lucru ; iar o tain care cunoscut de doi ,nu mai este
o tain.

Parola poate fi ghicit printr-o metod forat , folosind, de exemplu, un dicionar.


Dac fiierul cu parol este criptat , dar poate fi citit, l putem descrca pe computer i s
ncercm s ghicim prin programarea metodei de cutare brute-force (se presupune c
algoritmul de criptare este cunoscut).

Cu toate acestea, urmtoarele msuri pot mbunti n mod semnificativ protecia cu


ajutorul parolei:

impunerea unor constrngeri tehnice (parola nu trebuie s fie prea scurt, acesta ar trebui
s conin litere, cifre, semne de punctuaie, etc.);

parole valide pe o perioad, cu schimbarea periodic;

restricionarea accesului la dosarul cu parol;

limita numrul de ncercri nereuite de login (coplicnd aplicarea metoda brute force);

instruirea utilizatorului;

utilizarea software-ului generator de parole (un astfel de program, pe baza unor reguli
simple pot genera doar cuvinte plcut-sondare i, prin urmare, parole memorabile).

Aceste msuri sunt recomandate ntodeauna s se aplice chiar i n cazul n care sunt
utilizate i alte metode de autentificare mpreun cu parola.

1.5 Semntura Digital


Ce este o semntur digital?

O semntur digital este reprezentat ntr-un calculator ca un ir de cifre binare. Aceasta


este calculat cu ajutorul unui set de reguli i un set de parametri, astfel nct identitatea
semnatarului i integritatea datelor s poat fi verificat. Semntura digital este implementat
folosind o tehnic de criptare bazat pe o pereche unic asociat de chei unde o cheie este
utilizat pentru a crea o semntur (cheia privat), iar cealalt pentru a verifica semntura (cheia
public), ceea este cunoscut sub numele de Criptografia Cheii Publice.

Semntura digital implic dou procese: crearea semnturii i verificarea semnturii.


Generarea semnturii face uz de o cheie privat pentru a genera o semntur digital. Verificarea
semnturii face uz de o cheie public, care corespunde cheii private. Fiecare utilizator are o
16
pereche de chei public i privat. Cheile publice sunt presupuse a fi cunoscute de public n
general. Cheile private nu sunt niciodat partajate. Oricine poate verifica semntura unui
utilizator prin folosirea cheii publice a utilizatorului, n timp ce crearea semnturii poate fi
efectuat numai de ctre posesorul cheii private a utilizatorului. Conexiunea dintre cheia privat
i cheia public se realizeaz astfel nct s fie imposibil din punct de vedere al calculului
obinerea cheii de semntur de la cheia de verificare. Infrastructura Cheii Publice (PKI)
faciliteaz managementul i distribuia cheii.

Semntura digital poate fi clasificat n principal n trei algoritmi n ceea ce privete


generarea i verificarea, care sunt dup cum urmeaz.

Algoritmul semnturii digitale (DSA)

Acesta este un standard care definete algoritmul semnturii digitale (DSA). A fost
propus de Schnorr i El Gamal. Algoritmul este bazat pe logaritmi discrei pentru crearea i
verificarea semnturii. O funcie hash (Algoritm Hash Securizat, SHA-1) este folosit n
procesul de generare a semnturii pentru a obine o versiune condensat de date, aa-numitul
extras al mesajului. Extrasul mesajului este apoi introdus n DSA pentru a genera semntura
digitala. Semntura digital este trimis la verificatorul destinat mpreun cu datele semnate
(adesea numit mesaj). Verificatorului mesajului i al semnturii verific semntura prin utilizarea
cheii publice a expeditorului. n procesul de verificare trebuie utilizat aceeai funcie hash.
Proceduri similare pot fi folosite pentru a genera i verifica semnturi pentru date stocate sau
transmise. n DSA, crearea semnturii este mai rapid dect verificarea semnturii.

Este necesar un mijloc de a asocia perechi de chei publice i private cu utilizatorii


corespunztori. Adic trebuie s existe o legtur ntre identitatea unui utilizator i cheia public
a utilizatorului. Acest caracter obligatoriu poate fi certificat de ctre o parte de ncredere
reciproc. O ter parte de ncredere (TTP) este implicat pentru a rezolva problema litigiilor. De
exemplu, o autoritate de certificare ar putea semna scrisorile de acreditare care conin cheia
public i identitatea unui utilizator pentru a forma un certificat.

Algoritmul semnturii digitale RSA (RSA)

Acest sistem se bazeaz pe algoritmul de criptare a semnturii publice RSA. RSA este
numit de la inventatorii si Rivest, Shamir, i Adleman. Securitatea acestui algoritm de semntur
se bazeaz pe dificultatea de a factorizarea numerele mari prime. Exist un numr N cunoscut
public, care este produsul a dou numere prime, ale cror valori sunt secrete. Aceste numere prime
sunt foarte importante pentru c oricine le tie valorile le poate folosi pentru a calcula cheia privat
din cheia public. Cu toate acestea, crearea semnturii i procesul de verificare sunt mai mult sau
mai puin aceleai ca la DSA. Utiliznd o semntur digital RSA, verificarea unei semnturi este
mult mai rapid dect semnarea. Acest lucru este de dorit pentru c un mesaj va fi semnat de ctre
o persoan o singur dat, dar semntura poate fi verificat de mai multe ori.

Algoritmul semnturii electronice n curb eliptic (ECDSA)

Sistemele de criptare n curb eliptic au fost propuse pentru prima dat independent de
Victor Miller i Kblitz Neal la mijlocul anilor 1980. Principalul punct de atracie al sistemelor
de criptare n curbe eliptice fa de alte sisteme de criptare a cheilor publice este faptul c
17
securitatea semnturii digitale n curb eliptic se bazeaz pe probleme matematice grele : Avnd
n vedere dou puncte G si Y pe o curb eliptic, astfel nct Y = kG (adic, Y este G adugat la
sine de k ori), aflai numrul ntreg k. Aceast problem este denumit n mod obinuit ca
problema logaritmului discret n curb eliptic.

Sistemele de criptare n curb eliptic au aprut ca un domeniu promitor in criptografia


cheii publice n ultimii ani, datorit potenialului lor de a oferi securitate similar sistemelor de
criptare a cheii publice deja stabilite cu dimensiuni reduse ale cheii. Ele sunt utile mai ales n
aplicaiile pentru care memoria, limea de band, sau puterea de calcul este limitat. Sistemele
de criptare n curb eliptic, cu o cheie 160 bii ofer aceeai securitate ca sistemul RSA i
logaritmul bazat pe sisteme discrete, cu o cheie de 1024 bii. Ca rezultat, lungimea cheii publice
i private este mult mai scurt n sistemele de criptare n curb eliptic.

Cu toate acestea, este neltoare descrierea algoritmilor de semntur ca criptare cu o


cheie privat". Algoritmii simetrici, n care aceeai cheie (cunoscut sub numele de cheie
secret) este utilizat att pentru criptare i ct i pentru decriptare, pot fi, de asemenea, utilizai
n procesul de generare a semnturii. n acest caz, trebuie s fie configurat un canal secret pentru
a distribui cheia secret pentru a asigura confidenialitatea transmiterii cheii. Algoritmii
asimetrici sunt folosii pentru a facilita distribuirea cheii, n cazul n care cheia pereche este
folosit pentru a cripta i decripta cheia secret (aici cheia este cunoscut sub numele de cheie de
criptare a cheii). Acest lucru este util atunci cnd mesajul este arbitrar de lung. Algoritmii
simetrici pot accelera procesul de criptare, n timp ce algoritmii asimetrici pot asigura
distribuirea secret a cheii de criptare, integritatea datelor i non-repudierea.

Cum lucreaz semntura digital?

Scopul semnturii digitale este de a oferi un mijloc pentru o entitate de a asocia


identitatea sa de o bucat de mesaj. Procesul de semnare presupune transformarea mesajului i a
unor informaii secrete deinute de entitate ntr-o etichet numit semntur. Pentru ca semntura
digital s fie util n practic, aceasta trebuie s

Fie uor de calculat de ctre semnatar, ceea ce nseamn ca funcia de semnare s fie
uor de aplicat.

Fie uor de verificat de ctre oricine, ceea ce nseamn ca funcia de verificare s fie
uor de aplicat.

Au o durat de via adecvat, ceea ce nseamn ca semntura digital s fie securizat


de posibilitatea falsificrii fals pn cnd semntura nu mai este necesar pentru scopul su
iniial.

Procesul de semnare i verificare poate fi descris astfel:

1. Deinerea perechii de cheie privat i public. La nceputul tranzaciei sau n timpul


tranzaciei, participanii trebuie s achiziioneze unul de la cellalt cheia public, n timp ce cheia
privat a fiecrei pri trebuie s rmn secret.

18
2. Generarea extrasului de mesaj. Expeditorul utilizeaz o funcie hush, care este un
algoritm unidirecional, pentru a transforma un mesaj ntr-o valoare de lungime fix. Aceast
valoare de lungime fix este cunoscut ca extras de mesaj.

3. Semnarea mesajului. Expeditorul utilizeaz cheia sa privat pentru a cripta extrasul


mesajului care face o semntur a mesajului. Aceast semntur este apoi adugat la mesaj.

4. Mesaj expediat. Mesajul semnat digital este trimis "n text clar" la destinatar. Deoarece
orice modificare adus coninutului mesajului va duce la o nepotrivire cu valoarea hush primit.

5. Verificarea mesajului. Destinatarul va genera o valoare hush din mesajul primit cu


aceeai funcie hush unidirecional. Extrasul criptat al mesajului poate fi decriptat cu cheia
public a expeditorului. Apoi, aceste dou valori hush vor fi comparate. Dac cele dou valori se
potrivesc nseamn c mesajul este veritabil i autentic; n cazul n care cele dou valori nu se
potrivesc, acest lucru indic posibila personificare, modificarea mesajului sau o eroare de
transmisie.

6. Criptarea mesajului (opional). ntregul mesaj poate fi criptat cu cheia public a


destinatarului pentru a asigura confidenialitatea coninutului mesajului.

7. Decriptarea mesajului (opional). Mesajul poate fi decriptat cu cheia privat a


destinatarului.

8. Marcarea orei. O marc de timp poate fi folosit pentru a urmri tranzacia, n cazul n
care, n viitor, apare un diferend.

Cu toate acestea, n cazul unui mesajului foarte scurt, nu este nevoie de transmiterea
separat, deoarece poate fi recuperat chiar din semntur.

Beneficiile i riscurile utilizrii semnturii digitale

Tot mai mult, organizaiile ncearc s automatizeze procesele bazate pe hrtie.Avantajele


utilizrii semnturilor digitale pot fi evidente, n timp ce exist, de asemenea, unele riscuri
poteniale. Beneficiile includ:

o mai mare eficien n procesul de prelucrare a documentelor. Documentele transmise


electronic cu o semntur digital reduc birocraia, cltoriile i ntrzierile de procesare i
costurile de livrare. Aceste avantaje sunt i mai pronunate cnd numrul de tranzacii crete.

servicii mbuntite. Semntura digital prevede o autentificare puternic care permite


ageniei s furnizeze servicii mai largi i s promoveze obiectivele administrative i obiectivele
sale unui public mai larg. Astfel, un guvern poate servi publicului 24 de ore pe zi, apte zile pe
sptmn.

documentul surs este verificat. Oricine poate folosi cheia public a semnatarului
pentru a verifica corectitudinea semnturii la orice moment, fr consimmntul sau
introducerea semnatarului.

posibilitatea redus de fraud, fals i personificare. Este practic imposibil pentru o


persoan s falsifice o semntur pentru c numai semnatarul tie cheia sa privat.
19
integritate mbuntit a documentelor. Orice modificri efectuate unui mesaj vor
invalida semntura. Astfel, este imposibil copierea unei semnturi digitale de la un mesaj la
altul.

Riscurile asociate cu utilizarea semnturii digitale sunt

lipsa specificaiilor juridice. Nu exist specificaii bine stabilite pentru a indica unde
semntura digital este acceptabil din punct de vedere legal, pentru ce tip de document i n ce
msur o agenie necesit o semntur digital fa de o alt form de identificare.

legtura cu infrastructura existent a ageniei. Aplicaia i PKI trebuie s funcioneze


bine n sistemele de securitate, dispozitivele de control acces, cum ar fi firewall-uri, i alte
sisteme de prelucrare a informaiilor.

Interoperabilitatea cu alte infrastructuri ale ageniei. Capacitatea de a accepta un alt


mecanism PKI este necesar pentru ca un utilizator dintr-un domeniu PKI s poat fi acceptat ca
un utilizator de ncredere ntr-un alt domeniu PKI.

Standardul de arhivare. Atunci cnd un document semnat digital este echivalent cu un


document semnat cu cerneal pe hrtie, exist o cerin standard pentru arhivare care s asigure
c este la fel de accesibil pentru inspecie ca i n cazul oricrui document juridic pe hrtie.
Documentele arhivate trebuie s fie disponibile indiferent de software-urile i actualizrile
hardware care apar.

20
Capitolul 2. Criptografia modern

2.1 Algoritmul DES

Algritmul DES (Data Encryptin Standard) a fst dezvltat pentru guvernul Statelr Unite
i pentru folsin public. El a fost dezvltat plecnd de la algoritmul Lucifer conceput n
Laboratarele IBM. n mai 1973, revista Federal Register a sintetizat principiile care trebuie s
stea la baza priectrii unui algritm criptgrafic standard:

- algritmul trebuie s asigure un nalt nivel de securitate;


- algritmul trebuie s fie cmplet specificat i simplu de neles;
- securitatea algritmului trebuie s fie asigurat de cheie i nu trebuie s depind de
pstrarea secret a algritmului;
- algritmul trebuie s fie dispnibil tuturor utilizatrilor;
- algritmul trebuie s fie adaptabil pentru diverse aplicaii;
- algritmul trebuie s fie implementabil pe dispozitivele electronice;
- algritmul trebuie s fie eficient n utilizare;
- algoritmul trebuie s poat fi validat;
- algritmul trebuie s fie exportabil.
DES a fst ficial adptat ca standard federal n 23 niembrie 1976, iar n 1977 specificaiile
sale au fst fcute publice.

Privire general asupra algritmului


Algritmul DES este cmbinaie cmplex flosind du blcuri fundmentale n
criptgrafie: substitui i permutare (transpzii). Acest cifru blc ccept un blc de 64 de bii
la intrre i generez un blc cifrt de 64 de bii. DES este un lgritm simetric. Aceli lgritm
i ceeai cheie sunt flosii tt l criptre ct i la decriptre.

Algritmul este cnstituit din 16 cicluri repette le blcurilor fundmentale. Textul iniil
este descmpus n blcuri de 64 de bii. Cheia este de 64 bii din cre dar 56 sunt efectivi, ceilli
fiind bii de pritate. Flsirea substituiei prvac cnfuzie prin sistemtica substituire unr
bii cu lii. Trnspziiile prvac difuzie prin re-rdnarea biilr.

Algritmul flsete numi peraii clsice ritmetice i lgice cu numr de pn la 64 de


bii, cee ce fce reltiv ur de implementt tt sftware ct mi les hrdware: unul din scpurile
declrate le lgritmului fiind ura lui implementre hrdware ntr-un cip specilizat.

21
Prcurgerea celr 16 cicluri re lc dup schem din figura 2.1:
Intrare

permutare iniial

Substituie Cheia

Permutare
Ciclul 1

Substituie Cheia

Permutare
Ciclul 2

Substituie Cheia

Permutare
Ciclul 16

Imaginea inversat a permutrii iniiale

Ieire

Fig. 2.1 Detalii pentru folosirea algoritmului DES

22
La intrarea datele sunt mprite n blcuri de 64 bii, care sunt transfrmate flsind cheia
de 64 de bii. Cei 64 de bii sunt permutai prin permutarea iniial. n cntinuare, urmeaz
peraiile ce cnstituie un ciclu. Blcul de 64 de bii este separat n du, jumtatea stng i
jumtatea dreapt, fiecare de 32 de bii. Cheia este deplasat la stnga cu un numr de bii i
permutat: ea se cmbin cu partea dreapt care api se cmbin cu partea stng; rezultatul
devine nua parte dreapt; vechea parte dreapt devine nua parte stng (vezi fig. 5.2).

Date permutate

Jumtatea stng Jumtatea Cheie


dreapt

Cheie

permutat

Nua jumtatea Nua jumtatea


stng (vechea dreapt
jumtate dreapt)

Fig. 2.2 Manipularea cheii n algoritmul DES


Dup repetarea acestui ciclu de 16 ri se face permutarea final care este invers
permutrii iniiale.

Pentru cmbinarea unei secvene de 32 bii cu cheia de 64 bii se flsesc expandri de la


32 bii la 48 bii i reducerea cheii de la 64 bii la 48 bii prin alegerea anumitr bii, peraii ce
le numim permutare expandat i permutare aleas (fig. 5.3).

Permutare Permutare aleas Permutare expandat

Fig. 2.3 Manipularea permutrii n algoritmul DES

23
n fiecare ciclu practic au lc patru peraii separate. nti partea dreapt este expandat de
la 32 la 48 bii; api este cmbinat cu frm a cheii; rezultatul este substituit i cndensat n
32 bii, cei 32 bii sunt permutai i api cmbinai cu partea stng pentru a da nu parte
dreapt (fig. 2.4).

D S Cheia
32 bii 32 bii 28 bii 28 bii
Permutare Deplasare Deplasare
expandat

permutare aleasa de
58 bii

48 bii

2.4 Ciclul n algritmul DES


Permutarea expandat este definit n tabelul ce urmeaz:
Bit 1 2 3 4 5 6 7 8
se mut la 2,48 3 4 5,7 6,8 9 10 11,13
Bit 9 10 11 12 13 14 15 16
se mut la 12,14 15 16 17,19 18,20 21 22 23,25
Bit 17 18 19 20 21 22 23 24
se mut la 24,26 27 28 29,31 30,32 33 34 35,37
Bit 25 26 27 28 29 30 31 32
se mut la 36,38 39 40 41,43 42,44 45 46 47,1
Tabelul 5.1 Definirea permutrii expandate n DES

24
Cheia este mprit cu du pri de 28 bii deplasate la stnga cu un numr de bii api
reunite i 48 din cei 56 de bii sunt permutai i flsii ca cheie de 48 de bii de-a lungul ciclului.
Cheia dintr-un ciclu este cmbinat printr- funcie sau exclusiv cu partea dreapt
expandat. Rezultatul este perat n 8 cutii-S care efectueaz substituia. O cutie-S este
tabel n care 6 bii de date sunt nlocuii de 4 bii.

Permutrile sunt efectuate de tabele numite cutii-P.

2.1.1 Cnsideraii asupra algritmului DES


Cu algritmul DES se pate face att cdificarea ct i decdificarea unui mesaj.

Rezultatul este adevrat pentru c ciclul j deriv din ciclul (j-1) astfel:

S j Dj 1 (1)

D j S j 1 () f ( D j 1 ,k j ) (2)

unde (+) este peraia sau exclusiv, f este funcia rezultat din peraiile dintr-un ciclu.

Aceste ecuaii arat c rezultatul fiecrui ciclu depinde numai de ciclul precedent.

Descriind ecuaiile pentru D j-1 i S j-1 avem :

Dj 1 S j (3)

i S j 1 D j () f ( D j 1 ,k j ) (4)

nlocuind (3) n (4) avem:


S j 1 D j () f ( S j ,k j ) (5)

Ecuaiile (3) i (5) arat c aceleai valri pt fi binute n cicluri ulteriare. Aceast
prprietate face algritmul DES reversibil.

Deci putem face cdificarea unr date i decdificarea lr flosind acelai algritm fcnd
bservaia c la decdificare cheia se ia n rdine invers.

Datrit lungimii cheii de lucru i a peraiilor elementare pe care le flosete algritmul,


nu se ridic prbleme desebite ntr- implementare sftware; singura bservaie este c, datrit
mdulului de lucru (cu secvene de date, cu tabele) practic algritmul este lent ntr- implementare
sftware. Modul de cncepere l face ns perfect implementabil hard (ntr-un cip) ceea ce s-a i
realizat, existnd multiple variante de maini hard de cdificare.
25
2.1.2 Criptanaliza
Dei DES a fst cel mai celebru algritm l seclului XX este cnsiderat la ceast r
nesigur pentru multe plicaii. Pre pradoxal, dr ceasta este consecin mririi cnsiderabile a
puterii de clcul de l cnfirmarea DES ului c un stndard criptgrafic i pn in nul 2000.
Slbiciune plec de l lungime pre mic a cheii de 56 de bii. Varinta lgoritmului cunscut
c triplu-DES este ce cre este cnsiderat sigur i la ceast r.
Insecuritate DES-ului plec de la premiz c un tac n fr are anse de reuit n
cndiiile puterii de clcul dispnibile stzi ( a se vede tacurile EFF1 ); pn n 2004 cel mi
eficient tac este dtorat criptnalizei linire cre flosind 243 texte cunscute genereaz o
cmplexitate tempral de 239-43 (Jund 2001); n cndiiile unui tac cu text les cmplexitatea
pate fi redus de ptru ori (Knudsen i Mathiassen, 2000).

O istrie cronlogic a DES ului este prezentt n urmtrul tbel:

Dta nul Evenimentul

15 mi 1973 NBS public prim cerere pentru un lgoritm stndard pentru criptre

27 august 1974 NBS public a doua cerere pentru un algoritm standard pentru criptare

17 martie 1975 DES este publicat n Federal Register2 pentru comentarii

august 1976 Se organizeaz primul workshop despre DES

septembrie 1976 Al doilea workshop despre fundamentele matematice ale DES-ului

noiembrie 1976 DES este aprobat ca un standard

15 ianuarie 1977 DES este publicat n FIPS PUB 46

1983 DES este reconfirmat pentru prima dat

22 ianuarie 1988 DES este reconfirmat pentru a doua oar ca FIPS 46-1

Biham i Shamir public primul atac teoretic cu o complexitate mai


1992
mic dect atacul

1
Electronic Frontier Foundation
2
Publicaie a NIST (National Institute of Standards and Technology)
26
n for brut : criptanaliza diferenial ; metoda cerea un numr
nerealist (247) de texte alese

30 decembrie 1993 DES este reconfirmat pentru a treia oar ca FIPS 46-2

Prima criptanaliz experimental folosind criptanaliza liniar (Matsui,


1994
1994)

Proiectul DESCHALL sparge pentru prima dat n public un mesaj


Iunie 1997
criptat cu DES

Iulie 1998 EFF gsete o cheie pentru DES n 56 de ore

EFF folosind putere de calcul distribuit gsete o cheie pentru DES n


ianuarie 1999
22 de ore i 15 minute

25 octombrie 1999 DES este reconfirmat pentru a patra oar ca FIPS 46-3 cu specificaia
preferinei pentru Triplu DES
26 noiembrie 2001 AES este publicat n FIPS 197

26 mai 2002 Standardul AES devine efectiv

Retragerea standardului FIPS 46-3 (i a celor conexe) este propus n


26 iulie 2004
Federal Register

Tabelul 2 Crnologia evenimentelr lgoritmului DES

2.1.3 Variante de DES


DES multiplu
Unele implementri de DES flosesc triplul-DES. Deoarece DES nu este un grup, textul
cifrat rezultat este mult mai greu de spart flosind cutarea exhaustiv: 2112 ncercri n loc de 256
ncercri.

DES cu sub-chei independente


O alt variant const n folosirea unei sub-chei diferite pentru fiecare trecere, n loc de a o
genera dintr-o singur cheie de 56 de bii. Deoarece n fiecare din cele 16 treceri se folosete o
cheie de 48 de bii, rezult c lungimea cheii pentru aceast variant este de 768 bii, ceea ce va
crete semnificativ dificultatea unui atac n for mpotriva algoritmului, acesta avnd
complexitatea de 2768.
27
Totui, un atac de tip ntlnire la mijloc este posibil, ceea ce reduce complexitatea atacului
la 2384; nc destul de lung pentru orice nevoie imaginabil de securitate.

Aceast variant poate fi analizat folosind criptanaliza diferenial i poate fi spart cu 261
texte n clar date. Se pare c nici o modificare n planificarea cheilor nu conduce la ntrirea
semnificativ a algoritmului DES.

DESX
DESX este o variant DES dezvoltat de RSA Data Security, care a fost inclus nc din
1968 n programul de securitate pentru pot electronic MailSafe. DESX folosete o tehnic
numit albire, pentru a ascunde intrrile i ieirile DES. n plus fa de cheia DES de 56 de bii,
DESX are o cheie suplimentar de albire de 64 de bii. Aceti 64 de bii sunt operai XOR cu textul
n clar nainte de prima trecere DES. 64 de bii suplimentari, calculai ca o funcie bijectiv de toi
cei 120 de bii ai cheii DES, sunt operai XOR cu textul cifrat naintea ultimei treceri. Albirea l
face pe DESX mult mai puternic dect DES fa de un atac n for; atacul necesit (2120)/n operaii
cu n texte n clar cunoscute. De asemenea se mbuntete securitatea mpotriva criptanalizei
liniare i difereniale; atacul necesit 261 texte n clar date i 260 de texte n clar cunoscute.

CRYPT(3)
CRYPT(3) este o variant de DES ntlnit n sistemele UNIX. Este folosit n mod obinuit
pentru parole, dar uneori i pentru criptare. Diferena ntre CRYPT(3) i DES este c CRYPT(3)
are o permutare de chei cu 212 posibiliti, astfel nct s nu permit folosirea cipurilor DES la
construcia unui dispozitiv hardware de spart parole.

DES generlizat
DES-ul generlizat (GDES) a fst priectat s mresc vitez DES-ului i s ntresc
algritmul. Mrime ttal a blcului crete, n timp ce sum clculelor rmne constnt.

GDES pereaz pe blcuri de text n clar de lungime vriabil. Blcurile criptte sunt
mprite n q sub-blcuri; numrul exact depinde de mrime ttal a blcului. n generl q este
egl cu lungime blcului mprit la 32.

Funci f este clculat dt la fiecre trecere, pe ultimul blc din dreapt. Rezulttul este
opert XR cu tate celellte pri, cre sunt poi rtite spre drepta. GDES re un numr vriabil
de treceri, n. Exist o mic mdificare la ultim trecere, stfel nct prcesele de criptre i
decriptre difer dar prin rdinea sub-cheilor. De fpt, pentru q=2 i n=16 se bine lgoritmul
DES.

28
Biham i Shamir rat c, flosind criptanliza diferenil, GDES cu q=8 i n=16 este
vulnerbil cu dar se texte n clr dte. Dc se flosesc i sub-chei independente, sunt necesre
16 texte n clr dte. Pentru q=8 i n=64, GDES e mi slb dect DES; sunt necesre 249 texte n
clr dte pentru -l sprge. De fpt, rice schem GDES este mi rpid dect DES, dr este de
asemene mi puin sigur.

RDES
RDES este varint cre nlcuiete schimbrea stng-drepta de la sfritul fiecrei
treceri cu o schimbre dependent de cheie. Schimbrile sunt fixe, depinznd dor de cheie.
Acesta nsemn c cele 15 schimbri dependente de cheie se petrec cu 2 15 psibiliti i c
acest vriant nu rezist la criptnaliza diferenial.

O idee mi bun este c schimbrea s aib loc dor n parte drept, la nceputul fiecrei
treceri, iar schimbrea s depind de dtele de intrre i nu de cheie. n RDES-1 se prctic o
schimbre dependent de dte de cuvinte pe 16 bii la nceputul fiecrei treceri. n RDES-2 exist
o schimbre de ctei dependent de dte l nceputul fiecrei treceri, dup o schimbre c n
RDES-1. Se pate cntinua n celai md pn la RDES-4. RDES-1 este sigur att fa de
criptnaliza linir ct i f de ce diferenil.

2.1.4 Algoritmul AES

n inuarie 1997, NIST3 a rganizat un cncurs de criptgrfie deschis cercettrilor din


ntreg lume, vnd c subiect crerea unui nu stndard, cre urm s se numesc AES 4.
Regulile concursului eru:

- algritmul s fie un cifru blc simetric;


- priectul trebui s fie public;
- AES trebui s suprte chei de 128, 192 i 256 bii;
- algritmul trebui s se pat implement tt hrdware ct i sftware;
- AES trebui s fie un stndard public su ferit cu licen ne discriminatrie.

n ugust 1998 NIST selectt cinci finliti pe criterii de securitte, eficien, flexibilitte i
cerine de memrie. Finlitii u fst:

1. Rijndael (Joan Daemen i Vincent Rijmen, 86 de voturi)

3
National Institute of Standards and Technology SUA
4
Advanced Encryption Standard Standard de Criptare Avansat
29
2. Serpent (Ross Anderson, Eli Biham, Lars Knudsen, 56 voturi)
3. Twofish (echipa condus de Bruce Schneier, 31 voturi)
4. RC6 (RSA Laboratories, 23 voturi)
5. MARS (IBM, 13 voturi)
n octombrie 2000 NIST a stabilit ctigtorul. Acesta este algoritmul Rijndael, dezvoltat de
doi tineri cercettori belgieni, Joan Daemen i Vincent Rijmen i care devine standard
guvernamental al SUA. Se sper ca Rjindael s devin standardul criptografic dominant n lume
pentru urmtorii 10 ani.
Rijndael permite lungimi de chei i mrimi de blocuri de la 128 de bii la 256 de bii, n pai
de cte 32 de bii. Lungimea cheii i lungimea blocului pot fi alese n mod independent, dar n
practic se vor folosi dou variante: bloc de 128 bii cu cheie de 128 bii i bloc de 128 bii cu
cheie de 256 bii. Standardul comercial va deveni cel mai probabil varianta 128/128. O cheie de
128 bii permite un spaiu al cheilor de 2128 chei.

Preliminarii matematice
Rijndael se bazeaz pe teoria cmpului Galois, n sensul c anumite operaiuni sunt definite
la nivel de octet iar octeii reprezint elemente n cmpul finit GF(28).

Cum toate reprezentrile cmpului finit GF(28) sunt izomorfe, se poate alege reprezentarea
clasic polinomial, cu impact pozitiv asupra complexitii implementrii.

Octetul b, format din biii b7, b6, b5, b4, b3, b2, b1 i b0, este considerat ca fiind un polinom
de gradul 7 cu coeficieni 0 sau 1:

b7 x7 + b6 x6 + b5 x5 + b4 x4 + b3 x3 + b2 x2 + b1 x + b0

Operaiunea de adunare este definit ca suma a dou polinoame n care coeficienii se adun
modulo 2 i care corespunde operrii XOR a celor doi octei corespondeni. Sunt ndeplinite
axiomele grupului abelian: operaia este intern, asociativ, comutativ, exist element neutru i
element invers
Operaiunea de nmulire corespunde produsului a dou polinoame modulo, un polinom
ireductibil de grad 8 i care pentru AES este
m(x) = x8 + x4 + x3 + x + 1

30
nmulirea este intern (rezultatul este un polinom de grad strict mai mic ca 8), asociativ i
exist element neutru. Elementul invers se determin cu algoritmul lui Euclid, iar distributivitatea
celor doua operaii se verific.
Concluzia este c mulimea celor 256 de valori posibile ale unui octet, mpreun cu cele dou
operaiuni definite mai sus formeaz un corp algebric finit, respectiv GF(28).

Proiectarea AES
n proiectarea AES s-a inut cont de trei criterii:
- rezistena mpotriva tuturor atacurilor cunoscute;
- viteza i compactitatea codului pe un mare numr de platforme;
- simplicitatea proiectrii.
Ca i DES, AES folosete substituie i permutri, ca i runde multiple. Numrul de runde
depinde de mrimea cheii i de mrimea blocului, fiind 10 n cazul 128/128 i mrindu-se pn la
14 pentru cazul 256/128. Spre deosebire de DES, toate operaiile sunt la nivel de octet, pentru a
permite implementri eficient hardware i software.
Descrierea AES
n algoritmul AES rezultatul cifrat intermediar este numit vector state, care poate fi
reprezentat ca un tabel cu patru linii i patru coloane, acestea fiind numerotate ncepnd de la 0.

Vectorul state se iniializeaz cu blocul de 128 bii de text n clar (n ordinea coloanelor, cu
primii patru octei n coloana 0) i va fi modificat la fiecare pas al calculului, prin substituii,
permutri i alte transformri, rezultnd n final blocul de 128 bii de text cifrat.

Cheia de 128 de bii este expandat n 11 tabele 4x4 notate rk(0), rk(1),...., rk(10).
Expandarea este realizat prin rotiri repetate i operaii XOR asupra unor grupuri de bii din cheia
original.
nainte de a ncepe cele 10 runde, cheia rk(0) se opereaz XOR cu vectorul state.

Calculul principal const n execuia a 10 runde, folosind cheia rk(i) la iteraia i. Fiecare
rund const n patru pai.
Pasul 1 realizeaz o substituie octet cu octet asupra vectorului state folosind o cutie S.

Pasul 2 rotete la stnga fiecare din cele 4 rnduri ale vectorului state: rndul 0 este rotit cu
0 octei, rndul 1 este rotit cu 1 octet, rndul 2 este rotit cu 2 octei i rndul 3 este rotit cu 3 octei,
realiznd difuzia datelor.

Pasul 3 amestec fiecare coloan din vectorul state independent de celelalte, prin nmulirea
coloanei cu o matrice constant, multiplicarea fiind realizat folosind cmpul finit Galois GF(28).
31
n fine, pasul 4 opereaz XOR cheia rk din runda respectiv cu vectorul state.

Deoarece fiecare pas este reversibil, decriptarea se poate realiza prin rularea algoritmului de
la coad la cap, sau prin rularea algoritmului de criptare nemodificat, dar folosind tabele diferite.
Avantaje AES
Avantajele AES relativ la implementare sunt:
- AES se poate implementa pe un procesor Pentium Pro i va rula cu o vitez mai
mare dect orice alt cifru bloc;
- AES se poate implementa pe un dispozitiv Smart Card, folosind un spaiu redus
de memorie RAM i un numr redus de cicluri;
- transformarea din cadrul unei runde este paralel prin proiectare, ceea ce constituie
un avantaj pentru viitoarele procesoare;
- AES nu folosete operaiuni aritmetice, ci doar operaii la nivel de iruri de bii.
Simplitatea proiectrii AES:

- AES nu folosete componente criptografice externe, cum ar fi cutii S, bii aleatori


sau iruri de cifre din dezvoltarea numrului ;
- AES nu i bazeaz securitatea pe interaciuni obscure sau greu de neles ntre
operaiuni aritmetice;
- proiectarea clar a AES nu permite ascunderea unei trape.
Lungimea variabil a blocului
- lungimile de bloc de 192 i 256 bii permit construirea unei funcii hash iterative
folosind AES ca funcie de compresie.
Extensii:

- proiectarea permite specificarea de variante cu lungimi de blocuri i lungimi de


chei aflate ntre 128 i 256 bii, n pai de cte 32 de bii;
- dei numrul de runde n AES este fixat n specificaiile algoritmului, el poate
modificat ca un parametru n cazul unor probleme de securitate.
-
Limitrile AES
Limitrile AES sunt n legtur cu algoritmul de decriptare:

- algoritmul de decriptare este mai puin pretabil la implementarea pe un dispozitiv


Smart Card, deoarece necesit mai mult cod i mai multe cicluri;
- implementarea software a AES folosete cod i/sau tabele diferite pentru algoritmul
de criptare, respectiv decriptare;
32
- implementarea hardware a AES a algoritmului de decriptare refolosete doar parial
circuitele care implementeaz algoritmul de criptare.

2.1.5 Algritmul LUCIFER


n 1960, IBM iniiz un progrm de cercetre n criptgrafia computerizt numit Lucifer.
Astfel se numete i lgoritmul cifru blc dezvltat n cdrul cestui prgram n 1970. n relitate
exist cel puin di lgoritmi cu cest nume.

Lucifer este ree de permutri i substituii, cu blcuri cnstruite ntr- manier


semntoare cu DES. n DES, ieire funciei f este perat XOR cu intrrea fzei nterioare
pentru frma intrrea fzei curente. n czul lui Lucifer, cutiile-S u intrri i ieiri de 4 bii;
intrrea este permutre a biilor ieirii din fza nterioar, iar intrrea din prim fz este chiar
textul n clar. Un bit cheie este folosit pentru a alege ntre cutia-S actual din dou posibile -
Lucifer implementeaz aceasta printr-o cutie-T cu 9 bii la intrare i 8 la ieire). Lucifer are 16
faze, blocuri de 128 de bii i o manipulare a cheii mai simpl dect DES-ul.

Folosind criptografia diferenial mpotriva primei forme de Lucifer, Biham i Shamir au


artat c Lucifer cu 8 faze i 32 de bii poate fi spart cu 40 de texte n clar alese i 229 pai; acelai
atac poate sparge Lucifer cu 8 faze i 128 bii cu 60 de texte n clar alese i 253 pai. Aceste atacuri
folosesc cutii-S DES tari. Folosind criptografia diferenial mpotriva celei de a doua forme de
Lucifer, s-a artat c cutiile-S sunt mai slabe dect n DES. Analize ulterioare au artat c peste
jumtate din chei nu sunt sigure, ceea ce conduce la posibilitatea de a sparge Lucifer cu 128 de
bii, cu orice numr de faze, cu 233 texte n clar alese, sau cu 265 texte n clar cunoscute cu chei
alese. n concluzie, a doua form de Lucifer este mai slab. Sentimentul c Lucifer este mai sigur
dect DES datorit lungimii mai mari a cheii i lipsei de rezultate publicate este nejustificat.

2.1.6 Algoritmul Blowfish


Blowfish este un algoritm proiectat pentru a fi implementat pe procesoare puternice, care
ncearc s respecte urmtoarele criterii:

1. Rapiditate Blowfish cripteaz date pe procesoare de 32 de bii la o rat de 26 de


tacturi pe octet.
2. Compact Blowfish poate rula n mai puin de 5K de memorie.
3. Simplitate Blowfish folosete doar operaii simple: adunare, operare XOR i
cutare n tabel, cu operanzi de 32 de bii. Algoritmul este uor de analizat, ceea
ce evit erorile de implementare.

33
4. Securitate variabil lungimea cheii este variabil, putnd crete pn la 448 de
bii.
Blowfish este optimizat pentru aplicaii n care cheia nu trebuie s se schimbe des, cum ar fi
legturi de comunicaie sau un criptor automat pentru fiiere. Este semnificativ mai rapid dect
DES cnd este implementat pe procesoare de 32 de bii dotate cu memorie cache mare, cum ar fi
Pentium. Blowfish nu este potrivit pentru comutarea de pachete, cu schimbri dese de cheie, ca
funcie hash one-way sau n aplicaii smart-card, unde memoria este insuficient.

Descrierea algoritmului Blowfish


Blowfish este un cifru bloc care opereaz cu blocuri de 64 de bii si are cheie de lungime
variabil. Algoritmul const n dou pri: expandarea cheii i criptarea datelor. Expandarea cheii
convertete o cheie de pn la 448 de bii n mai multe matrice de sub-chei totaliznd 4168 de bii.

Criptarea datelor rezid ntr-o funcie simpl iterat de 16 ori. Fiecare ciclu este format dintr-
o permutare dependent de cheie i o substituie dependent i de cheie i de date. Toate operaiile
sunt adunri i operri XOR pe cuvinte de 32 de bii. Singurele operaii suplimentare sunt patru
cutri ntr-un tabel indexat, pe ciclu.

Blowfish folosete un numr mare de sub-chei. Aceste sub-chei trebuie precalculate nainte
de orice criptare sau decriptare de date.

Tabelul P este format din 16 chei de 32 de bii:

P1, P2, , P18

Patru cutii-S de 32 de bii are 256 de intrri fiecare:

S1,0, S1,1, . , S1,255

S2,0, S2,1, . , S2,255

S3,0, S3,1, . , S3,255

S4,0, S4,1, . , S4,255

Blowfish este o reea Feistel cu 16 cicluri. Intrarea este x, un element de 64 bii de date.
Pentru criptare:

Se mparte x n dou pri de cte 32 de bii: xL i xR

34
For i = 1 to 16:

xL = xL Pi

xR = F(xL) xR

se schimb xL i xR ntre ele

End for

se schimb xL i xR ntre ele

xR = xR P17

xL = xL P18

se recombin xL i xR

Funcia F funcioneaz astfel:

Se mparte xL n patru sferturi a cte 8 bii:

a, b, c, d

F(xL) = ((S1,a + S2,b mod 232) S3,c) + S4,d mod 232

Decriptarea are loc similar cu criptarea, cu diferena c P1, P2, , P18 sunt folosite n ordine
invers.

O implementare a algoritmului Blowfish care s asigure o cretere de vitez trebuie s


menin toate cheile n memoria cache.

Sub-cheile sunt calculate folosind algoritmul Blowfish, care const n urmtorii pai:

1. Se iniializeaz tabelul P i cele patru cutii-S, n ordine, cu un ir fix. Acest ir


este format din cifrele hexazecimale ale lui .
2. Se opereaz XOR P1 cu primii 32 de bii ai cheii, se opereaz P2 cu urmtorii 32 de
bii ai cheii i tot aa pn la P18, astfel nct ntreg tabelul P s fie operat XOR cu
biii din cheie.
3. Se cripteaz un ir format din zerouri cu algoritmul Blowfish, folosind sub-cheile
descrise n paii 1 i 2.
4. Se nlocuiesc P1 i P2 cu ieirea din pasul 3.

35
5. Se cripteaz ieirea din pasul 3 folosind algoritmul Blowfish cu sub-cheile
modificate.
6. Se nlocuiesc P3 i P4 cu ieirea din pasul 5.
7. Se continu procesul, nlocuind toate elementele din tabelul P i apoi cele patru
cutii-S n ordine, cu ieirea algoritmului Blowfish.

n total, 521 de iteraii sunt necesare pentru a genera toate sub-cheile necesare. Aplicaiile
pot memora sub-cheile pentru a nu trebui s le calculeze de fiecare dat.

Securitatea algoritmului Blowfish


n cazul algoritmului Blowfish cu cutii-S cunoscute i r cicluri, tabelul P poate fi
determinat cu 28r+1 texte n clar alese. Atacul funcioneaz doar pe variantele cu un numr redus
de cicluri i este complet ineficient n cazul algoritmului Blowfish cu 16 cicluri.

2.1.7 Dubla criptare


Un mod evident de mbuntire a securitii algoritmilor bloc este criptarea unui bloc de
dou ori, folosind dou chei diferite. Mai nti se cripteaz blocul cu prima cheie, apoi se cripteaz
textul cifrat rezultat folosind a doua cheie. Decriptarea este procesul invers:

C = EK2 (EK1 (P))

P = DK1 (DK2 (C))

Dac algoritmul bloc este un grup, exist ntotdeauna un K3, astfel nct

C = EK2 (EK1 (P)) = EK3 (P)

n caz contrar, blocul de text cifrat rezultat dintr-o dubl criptare ar trebui s fie mult mai
greu de decriptat folosind cutarea exhaustiv. n loc de 2n ncercri (unde n este lungimea n bii
a cheii), vor fi necesare 22n ncercri. Dac algoritmul are chei de 64 de bii, vor fi necesare 2128
ncercri pentru a gsi cheia.

n cazul atacului cu texte n clar cunoscute, Merkle i Hellman au demonstrat c schema cu


dubl criptare poate fi spart n 2n+1 criptri i nu n 22n. Atacul se numete ntlnire la mijloc;
el funcioneaz prin criptarea de la un capt, decriptarea la captul cellalt i potrivirea rezultatelor
n mijlocul textului criptat.

n acest atac, criptanalistul cunoate P1, C1, P2 i C2, astfel nct

36
C1 = EK2 (EK1 (P1))

C2 = EK2 (EK1 (P2))

Pentru fiecare K posibil, se calculeaz EK(P1) i se memoreaz rezultatul. Dup terminarea


tuturor calculelor, se calculeaz DK(C1) pentru fiecare K i se caut un rezultat identic n memorie.
Dac se gsete un astfel de rezultat, fie K2 cheia curent i K1 cheia folosit pentru rezultatul din
memorie. Se cripteaz P2 cu K1 i K2; dac se obine C2 este aproape sigur (cu o probabilitate de
1 din 22m-2n, unde m este mrimea blocului), c cele dou chei sunt valide. Dac nu, se continu
cutarea. Numrul maxim de cutri este 2 x 2n, adic 2n+1.

Acest atac necesit un spaiu mare de memorie: 2n blocuri. Pentru un algoritm de 56 de bii,
aceasta nseamn 256 blocuri de 64 de bii, adic 1017 octei. Este o cantitate considerabil de
memorie, dar demonstreaz c dubla criptare nu duce la dublarea securitii. n cazul ns al unei
chei de 128 de bii, cantitatea de memorie necesar este de 1039 octei, ceea ce nseamn c un atac
de tip ntlnire la mijloc nu este fezabil.

O alt metod de dubl criptare, numit Davies-Price, este o variant de CBC:

Ci = EK1 (Pi EK2(Ci-1))

Pi = DK2 (Ci ) EK2(Ci-1))

care prezint aceeai vulnerabilitate fa de un atac de tip ntlnire la mijloc.

2.1.8 Tripla criptare


Tripla criptare cu dou chei
O idee mai bun, propus de Tuchman, opereaz pe un bloc de trei ori folosind dou chei:
se ncepe cu prima cheie, se continu cu a doua cheie i se termin folosind din nou prima cheie,
n sensul c expeditorul cripteaz cu prima cheie, decripteaz cu a doua cheie i n final cripteaz
cu prima cheie. Destinatarul decripteaz cu prima cheie, apoi cripteaz cu a doua cheie i n final
decripteaz cu prima cheie:
C = EK1 (DK2(EK1 (P)))

P = DK1(EK2 (DK1 (C)))

Aceasta poart numele de mod EDE (encrypt-decrypt-encrypt); dac algoritmul bloc are o
cheie de n bii, aceast schem conduce la o cheie de 2n bii. Aceast form curioas de criptare-

37
decriptare-criptare a fost proiectat de IBM, pentru a pstra compatibilitatea cu implementarea
convenional a algoritmului: dac cele dou chei sunt identice, tripla criptare se reduce la o
singur criptare cu o singur cheie.

K1 i K2 alterneaz, pentru a preveni posibilitatea de a folosi un atac de tip ntlnire la


mijloc. Dac C = EK2 (EK1 (EK1 (P ))), atunci criptanalistul poate calcula EK1 (EK1 (P )) pentru
toate valorile K1 posibile, dup care pornete atacul. Ar fi necesare doar 2n+2 criptri.

Tripla criptare cu dou chei nu permite un atac de tip ntlnire la mijloc de genul celui
ntlnit n cazul dublei criptri, dar Merkle i Hellman au proiectat un alt gen de atac, care poate
sparge tripla criptare cu dou chei n 2n-1 pai folosind 2n blocuri de memorie.

Pentru fiecare K2 posibil, se decripteaz 0 i se memoreaz. Apoi, se decripteaz cu fiecare


K1 posibil, pentru a-l gsi pe P. Se cripteaz triplu P pentru a-l afla pe C, dup care se decripteaz
C cu K1. Dac aceast decriptare este o decriptare a lui 0 folosind K2 (din memorie) atunci
perechea K1, K2 este o posibil candidat. Dac aceast posibilitate nu se verific, se continu
cutarea.

Acesta este un atac cu texte n clar alese, care necesit o mare cantitate de texte n clar alese
i anume 2m, n timp ce memoria i durata sunt de ordinul 2n. Nu este foarte practic, dar subliniaz
o slbiciune a algoritmului.

Paul van Oorschot i Michael Wiener au convertit aceasta la un atac cu 2p texte n clar
cunoscute. Exemplul presupune modul EDE:

1. Se ghicete valoarea intermediar a.


2. Se calculeaz i memoreaz pentru fiecare K1 posibil, a doua valoare intermediar
b, cnd prima valoare intermediar este a, folosind textul n clar cunoscut:
b = DK1 (C)

3. Se caut n tabelul memorat, pentru fiecare K2 posibil, elemente cu aceeai valoare


intermediar b:
b = EK2 (a)

4. Probabilitatea de succes este p/m, unde p este numrul de texte n clar cunoscute i
m este mrimea blocului. Dac nu se gsesc elementele cutate la pasul 3, se alege
o nou valoare pentru a i se reia de la pasul 1.
Acest atac necesit 2n+m/p timp operaional i p spaiu de memorie. Pentru DES, aceasta
nseamn 2120/p. Pentru p mai mare ca 256, acest atac este mai rapid dect cutarea exhaustiv.
38
Tripla criptare cu trei chei
Aceast variant presupune o lungime total a cheii mai mare, dar memorarea cheii nu
constituie o problem.

C = EK3 (DK2(EK1 (P)))

P = DK1(EK2 (DK3 (C)))

Cel mai bun atac cere 22n pai i 2n blocuri de memorie si este de tip ntlnire la mijloc.

Tripla criptare cu trei chei independente este echivalent din punct de vedere al securitii,
cu dubla criptare.

2.2 Algoritmi simetrici de tip ir

Cifrurile ir formeaz o clas important de algoritmi de criptare; ele pot fi cifruri cu chei
simetrice sau cu chei publice. Ceea ce le caracterizeaz i le difereniaz fa de cifrurile bloc este
faptul c cifrurile ir proceseaz textul de criptat n uniti orict de mici, chiar bit cu bit, aplicnd
funcia XOR ntre biii cheii i biii de cifrat, iar funcia de criptare se poate modifica n cursul
criptrii. Cifrurile ir sunt algoritmi cu memorie, n sensul c procesul de criptarea nu depinde doar
de cheie i de textul n clar, ci i de starea curent. n cazul n care probabilitatea erorilor de
transmisie este mare, folosirea cifrurilor ir este avantajoas deoarece au proprietatea de a nu
propaga erorile. Ele se folosesc i n cazurile n care datele trebuie procesate una cte una, datorit
lipsei de spaiu de memorie.

Clasificare
Algoritmii simetrici de tip ir se mpart n dou mari clase:
1. Cifruri ir sincrone.
2. Cifruri ir asincrone.

2.2.1 Cifruri ir sincrone


Un cifru ir sincron este unul care genereaz irul de chei independent de textul n clar i de
textul cifrat. Criptarea n acest caz poate fi descris de urmtoarele ecuaii:

Si+1 = f (Si, k),


zi = g (Si, k),
ci = h (zi, mi),
39
unde S0 este starea iniial i se poate determina din cheia k, f este funcia de stare, g este funcia
care produce irul de chei z, iar h este funcia de ieire care combin irul de chei cu textul n clar
mi pentru a obine textul cifrat ci.

Proprietile cifrurilor ir sincrone

- Sincronizarea att expeditorul ct i destinatarul trebuie s fie sincronizai, n


sensul de a folosi aceeai cheie i a opera cu aceeai stare respectiv, astfel nct s
fie posibil o decriptare corect. Dac sincronizarea se pierde prin inserarea sau lipsa
unor bii din textul cifrat transmis, atunci decriptarea eueaz i poate fi reluat doar
prin tehnici suplimentare de re-sincronizare, adic re-iniializarea, plasarea de
markeri speciali sau dac textul n clar conine suficient redundan i se ncearc
toate deplasrile posibile ale irului de chei.

- Nepropagarea erorii un bit de text cifrat care este modificat n timpul transmisiei
nu trebuie s afecteze decriptarea celorlali bii cifrai.

- Atacuri active ca o consecin a sincronizrii, inserarea, tergerea sau retransmisia


unor bii de text cifrat de ctre un adversar activ va cauza o pierdere instantanee a
sincronizrii i crete posibilitatea detectarii atacului de ctre decriptor. Ca o
consecin a nepropagrii erorii, un atacator ar putea s modifice bii alei din textul
cifrat i s afle exact ce efect au modificrile n textul n clar. Trebuie deci, s se
foloseasc mecanisme suplimentare de autentificare a expeditorului i de garantare
a integritii datelor.
2.2.2 Cifruri ir asincrone
Un cifru ir asincron sau autosincronizabil este unul care genereaz irul de chei ca o funcie
de cheie i un numr de bii din textul cifrat anterior. Funcia de criptarea n acest caz poate fi
descris de urmtoarele ecuaii:
Si = (ci-t, ci-t+1, , ci-1),
zi = g (Si, k),
ci = h (zi, mi),

unde S0 = (c-t, c-t+1, , c-1), este starea iniial (nesecret), k este cheia, g este funcia care produce
irul de chei z, iar h este funcia de ieire care combin irul de chei cu textul n clar mi pentru a
obine textul cifrat ci.
Proprietile cifrurilor ir asincrone
40
- Auto-sincronizarea este posibil dac bii din textul cifrat sunt terse sau adugate,
deoarece decriptarea depinde doar de un numr determinat de bii cifrai anterior.
Astfel de cifruri sunt capabile s-i restabileasc automat procesul de decriptare
corect dup pierderea sincronizrii.

- Propagarea limitat a erorii s presupunem c starea unui cifru ir asincron


depinde de t bii cifrai anteriori. Dac un singur bit cifrat este modificat, ters sau
inserat n timpul transmisiei, atunci decriptarea a cel mult t bii urmtori de text
cifrat va fi incorect, dup care se reia decriptarea corect.

- Atacuri active limitarea propagrii erorii face ca orice modificare a textului cifrat
de ctre un adversar activ s aib ca i consecin decriptarea incorect a altor bii
cifrai, ceea ce poate mri posibilitatea ca atacul s fie observat de ctre decriptor.
Pe de alt parte, datorit auto-sincronizrii este mai dificil dect n cazul cifrurilor
ir sincrone s se detecteze inserarea, tergerea sau modificarea unor bii n textul
cifrat. Trebuie deci s se foloseasc mecanisme suplimentare de autentificare a
expeditorului i de garantare a integritii datelor.

- Difuzia statisticilor textului n clar deoarece fiecare bit de text clar influeneaz
toi biii cifrai urmtori, proprietile statistice ale textului n clar sunt dispersate n
textul cifrat. Ca o consecin, cifrurile ir asincrone trebuie s fie mai rezistente
dect cifrurile ir sincrone fa de atacurile bazate pe redundana textului n clar.

2.2.3 Proiectarea i analiza cifrurilor ir


Majoritatea cifrurilor ir folosite n practic sunt proiectate folosind LFSR-uri5, care sunt
simplu de implementat software sau hardware. Problema este c aceste implementri sunt
ineficiente din punct de vedere al vitezei. Pentru a rezista atacului de corelaie, funcia de feedback
trebuie s fie un polinom dens, ceea ce presupune multe calcule, care produc la ieire un singur
bit, deci trebuie repetate des. Totui, cele mai multe sisteme de criptare militare se bazeaz pe
LFSR.
Proiectarea cifrurilor ir

Construcia cifrurilor ir poate fi privit din perspective diferite [Rue92] :

5
LFSR - Liniar Feedback Shift Register au fost descrise n 3.2
41
- Abordarea sistemic este ncercarea de a crea o problem dificil pentru
criptanalist, folosind un set de principii i criterii fundamentale de proiectare.

- Abordarea informaional este orientat spre ascunderea fa de criptanalist a


oricrei informaii despre textul n clar. Orict efort ar depune acesta, nu va ajunge
niciodat la o soluie unic.

- Abordarea pe baza teoriei complexitii ncearc s bazeze sistemul de criptare (sau


s-l fac echivalent) pe o problem cunoscut ca fiind dificil de rezolvat.

- Abordarea aleatoare genereaz o problem greu de gestionat, fornd criptanalistul


s examineze o mare cantitate de date fr semnificaie.
Abordarea sistemic este folosit n proiectarea majoritii cifrurilor ir, conducnd la
generatoare care prezint proprieti de securitate care pot fi msurate: perioda, distribuia biilor,
complexitatea liniar. Proiectantul studiaz de asemenea tehnicile criptanalitice folosite mpotriva
acestor generatori, pentru a fi sigur c generatorii sunt imuni la astfel de atacuri.

n timp, abordarea sistemic a impus un set de criterii de proiectare a cifrurilor ir [Rue92]:

- period lung, lipsa repetiiilor;


- complexitate liniar mare;
- criterii statistice;
- confuzia fiecare bit generat trebuie s fie o transformare complex a biilor cheii;
- difuzie redundanele din substructuri trebuie s fie disipate n statistici de rang
nalt (long-range statistics);
- criterii de nonliniaritate pentru funcii booleene cum ar fi imunitatea corelaiei de
ordin m, distana la funciile liniare, criteriul avalanei.
Problema major a acestor criptosisteme este c nu se poate demonstra nimic despre
securitatea lor; nu s-a demonstrat c aceste criterii de proiectare sunt necesare i/sau suficiente
pentru asigurarea securitii.

Abordarea informaional a proiectrii de cifruri ir presupune c criptanalistul dispune de


un timp i o putere de calcul nelimitate. Singurul cifru ir real care ofer securitate n aceste condiii
este bloc notes6-ul sau echivalent, banda cu unic folosin7: dou benzi magnetice care conin
aceeai cheie format din bii aleatori se folosete la criptare i la decriptare, prin operare XOR cu
textul n clar i respectiv, cu textul cifrat. Cheia este de unic folosin. Deoarece biii sunt aleatori,

6
2.3.3 Substituia perfect
7
one-time tape
42
criptanalistul nu poate prezice cheia. Prin distrugerea benzilor dupa folosire se obine secretul
perfect.
n abordarea aleatoare a proiectrii cifrurilor ir, criptograful ncearc s se asigure c
adversarul su, criptanalistul, va trebui s rezolve o problem de foarte mari dimensiuni.
Obiectivul este creterea numrului de bii pe care criptanalistul trebuie s-i analizeze, simultan cu
pstrarea cheii secrete la dimensiuni mici. Acest lucru se poate obine prin folosirea unui ir public
aleator de mari dimensiuni la criptare i decriptare. Cheia va specifica prile din irul public care
sunt folosite la criptare i decriptare. Criptanalistul, care nu cunoate cheia, va fi forat s dezvolte
o cutare n for brute-force search asupra ntregului ir public. Securitatea acestui tip de cifru
se poate exprima n numrul mediu de bii pe care un criptanalist trebuie s-i examineze nainte ca
ansele de a determina cheia s fie mai mari dect a o ghici.
Abordarea pe baza teoriei complexitii conduce proiectantul s foloseasc teoria
complexitii n demersul su de a demonstra securitatea generatorului. Generatorii tind s devin
din ce n ce mai complicai, bazai pe probleme dificil de rezolvat, cum este cazul n criptografia
cu chei publice.

2.2.4 Complexitatea liniar


O metric important folosit pentru a analiza generatoarele bazate pe LFSR este
complexitatea liniar, definit ca fiind lungimea n a celui mai scurt LFSR care poate produce
ieirea generatorului. Orice ir generat de o main de stare finit peste un cmp finit are o
complexitate liniar finit. [Mas86]. Complexitatea liniar este important deoarece un algoritm
simplu, Berlekamp-Massey, poate genera LFSR-ul de definiie examinnd doar 2n bii din cheie,
ceea ce nsemn spargerea cifrului ir.

Concluzia este c o complexitate liniar ridicat nu nseamn neaprat un generator sigur,


dar o complexitate liniar sczut indic un generator fr securitate.

Atacuri

Criptografii ncearc s obin o complexitate liniar ridicat prin combinarea ieirilor mai
multor LFSR-uri ntr-un mod nonliniar. Pericolul este ca unul sau mai multe iruri generate interne
de obicei ieiri ale LFSR-urilor individuale s fie corelate cu irul combinat, ceea ce permite un
atac bazat pe algebra liniar numit atac de corelaie. [Mih95]. Thomas Siegenthaler a artat c
imunitatea de corelare poate fi precis definit i c exist o legtur ntre aceasta i complexitatea
liniar [Sie84]. Ideea de baz a atacului de corelaie este identificarea unor corelaii ntre ieirea
generatorului i ieirea uneia din componentele sale interne. Apoi, observnd irul de ieire, se pot

43
obine informaii despre ieirea intern. Folosind aceste informaii i alte corelaii se colecteaz
informaii despre celelalte ieiri interne ale generatorului, pn cnd acesta este spart n totalitate.

Cifrul A5
A5 este un cifru ir folosit pentru a cripta fluxul de date GSM (Group Special Mobile),
reprezentnd standardul non-american pentru telefonia mobil celular. A5 cripteaz linia dintre
telefon i celula de baz, restul legturii rmnnd necriptat. A5 este format din trei LFSR-uri,
care au regitri de lungime 19, 22 i respectiv 23. Toate polinoamele de feedback sunt cu un numr
redus de coeficieni8. Ieirea este obinut prin operarea XOR a celor trei LFSR-uri. A5 folosete
un clock control variabil. Fiecare registru face un clocking bazat pe bitul central, care este operat
XOR cu inversa funciei prag (threshold function) a biilor de la mijlocul celor trei regitri. n mod
normal, dou din LFSR-uri sunt clock-ate la fiecare iteraie.

Exist un atac trivial care necesit 240 criptri: se ghicete coninutul primelor dou LFSR-
uri, apoi se determin al treilea din irul generat. n ciuda acestui fapt, A5 este bine proiectat i
este extrem de eficient. El trece cu succes toate testele statistice cunoscute i singura sa slbiciune
rezid n faptul c regitrii sunt scuri, ceea ce face posibil o cutare exhaustiv. Variantele A5
cu regitri lungi i polinoame feedback dense au un grad de siguran sporit.

2.2.5 Generatori aditivi


Generatorii aditivi, cunoscui sub numele de generatori Fibonacci leni (lagged), sunt extrem
de eficieni deoarece ei produc cuvinte aleatoare n loc de bii aleatori. Nu prezint securitate, dar
se pot folosi la construcia unor generatoare sigure. Starea iniial a generatorului este un vector
de cuvinte de n bii, unde n ia valorile 8, 16, 32 etc. notat X1, X2, X3, , Xm. Starea iniial este
cheia. Cuvntul i al generatorului este:

Xi = (Xi-a + Xi-b + Xi-c, + +Xi-m) mod 2n

Dac, coeficienii a, b, c, m sunt alei n mod corect, perioada generatorului este cel puin
egal cu 2n 1. Una din condiiile cerute pentru coeficieni este ca cel mai puin semnificativ bit
s formeze un LFSR de lungime maxim.

Cifrul RC4
RC4 este un cifru ir cu cheie de lungime variabil, dezvoltat n 1987 de ctre Ron Rivest
pentru RSA Data Security. n 1994 codul surs al algoritmului este fcut public pe Internet.

8
sparse (eng.)
44
RC4 este un algoritm simplu de descris: irul cheie este independent de textul n clar. Are 8
x 8 cutii-S: S0, S1, ..., S255. Intrrile sunt permutri ale numerelor de la zero la 255, iar permutarea
este o funcie de o cheie de lungime variabil. Exist doi indici, i i j, iniializai cu zero.

Pentru a genera un octet aleator se procedeaz astfel:

i = (i + 1) modulo 256

j = (j + Si) modulo 256

T = Si

Si = Sj

Sj = T

t = (Si + Sj) modulo 256

K = St

Octetul K este operat XOR cu textul n clar pentru a produce text cifrat sau operat XOR cu
textul cifrat pentru a obine textul n clar. Criptarea este aproape de 10 ori mai rapid dect DES-
ul.

Iniializarea cutiilor-S este simpl. Se iniializeaz liniar: S0 = 0, S1 = 1, , S255 = 255 i


un alt vector de 256 de octei cu cheia, repetnd cheia, dac este necesar, pentru a completa vectorul
cu componentele: K0, K1, , K255.

j=0

For i = 0 to 255:

j = (j + Si + Ki) modulo 256

se schimb Si cu Sj ntre ele

Nu exist rezultate publice ale criptanalizei. Se crede ca algoritmul este imun la analiza
diferenial i liniar; RC4 poate fi n aproximativ 21700 stri posibile. Cutiile-S evolueaz lent
n timpul ntrebuinrii: i asigur c fiecare element se schimb, iar j c aceste schimbri sunt
aleatoare.

45
RC4 are un statut special de export, acesta fiind permis doar pentru chei de pn la 40 de
octei. RC4 este implementat n multe produse comerciale, dintre care amintim Lotus Notes i
Oracle Secure SQL

2.3 Algoritmi cu chei publice


Conceptul de criptografie cu chei publice a fost inventat de Whitfield Diffie i Martin
Hellman. Contribuia lor const n propunerea de a folosi un nou criptosistem n care cheile de
criptare i decriptare sunt diferite, iar cheia de decriptare (care este secret) nu poate fi dedus din
cheia de criptare (care este public). n anul 1976 conceptul a fost prezentat n premier la
Conferina Naional9, iar cteva luni mai trziu lucrarea a fost publicat [DiH76].

Sistemele cu cheie public au un mare avantaj fa de sistemele cu chei secrete: oricine poate
transmite un mesaj secret utilizatorului (cunoscndu-i cheia public), iar mesajul rmne protejat
fa de interceptor. Cu un sistem cu cheie convenional, o cheie separat secret este necesar
pentru fiecare pereche de utilizatori.

Un canal este o cale pentru fluxul de informaii; ntr-un mediu privat, calea este protejat
mpotriva accesului din exterior. n general, un sistem cu n utilizatori necesit n*(n-1)/2 chei,
pentru ca oricare pereche de utilizatori s poat comunica ntre ei i mesajele lor s rmn secrete
fa de ceilali utilizatori. Numrul de chei crete rapid o dat cu numrul de utilizatori; generarea,
distribuirea i meninerea securitii cheilor constituie o problem datorit numrului lor mare.

Caracteristici
ntr-un sistem cu cheie public, un utilizator deine dou chei: o cheie public i o cheie
privat. Utilizatorul i poate face cunoscut oricui cheia public. Fie kPRIV cheia privat i kPUB
cheia public corespunztoare. Atunci:

P=D(kPRIV, E(kPUB,P))

Utilizatorul poate decripta cu cheia privat ceea ce oricine altcineva a criptat cu cheia public
corespunztoare.

Cu al doilea algoritm de criptare cu cheie public

P=D(kPUB, E(kPRIV,P))

utilizatorul poate cripta un mesaj cu cheia privat, iar mesajul poate fi decriptat doar cu cheia
public corespunztoare.

9
National Computer Conference SUA
46
Aceste dou proprieti presupun c cele dou chei, public i privat, pot fi aplicate n orice
ordine (sistemul RSA nu face distincie ntre cheia public i cheia privat; orice cheie din perechea
de chei poate fi folosit fie ca cheie public, fie ca cheie privat).

2.3.1 Algoritmul Merkle-Hellman


Merkle i Hellman au dezvoltat un algoritm de criptare bazat pe problema rucsacului publicat
n anul 1978 [MeH78]. Problema rucsacului conine o mulime de ntregi pozitivi i o sum int
i const n gsirea unei submulimi de ntregi a cror sum coincide cu suma int. Problema
rucsacului este NP complet, adic rezolvarea sa necesit un timp exponenial funcie de mrimea
problemei n acest caz, numrul de ntregi.

Introducere
Ideea pe care se bazeaz schema rucsacului Merkle-Hellman este codificarea unui mesaj
binar ca o soluie la o problem a rucsacului, reducnd mesajul n text cifrat la suma int obinut
prin adunarea termenilor corespunztori valorilor de 1 din irul binar.

Un rucsac este reprezentat ca un vector de numere ntregi n care ordinea termenilor este
foarte important. Exist dou tipuri de rucsacuri: unul simplu, pentru care exist un algoritm rapid
(de timp liniar) i unul complicat, obinut din cel simplu prin modificarea elementelor sale.
Modificarea este astfel proiectat nct o soluie cu elementele oricrui rucsac este de asemenea
soluie pentru cellalt. Aceast modificare se numete trap, permind utilizatorilor legitimi s
rezolve problema simplu. Deci, problema general este NP complet, dar exist o versiune
restrns care are o soluie foarte rapid.

Algoritmul ncepe cu o mulime de ntregi n care fiecare element este mai mare dect suma
predecesorilor si. S presupunem c avem un ir n care fiecare element ak este mai mare dect
a1+a2+...+ak-1. Dac o sum este ntre ak i ak+1, trebuie s-l conin pe ak, deoarece nici o
combinaie de termeni a1, a2, ..., ak-1 nu pot produce un total mai mare dect ak. Analog, dac o
sum este mai mic dect ak, evident nu l va conine ca termen pe ak.

Modificarea algoritmului schimb elementele mulimii din problema simpl a rucsacului,


prin alterarea acestei proprieti de ordonare cresctoare ntr-un fel care pstreaz soluia.
Modificarea se realizeaz prin nmulire cu o constant modulo n.

Detalii privind tehnica Merkle-Hellman


Problema rucsacului presupune un ir a1, a2, ..., an de ntregi i o sum int T. Problema este
de a gsi un vector de valori 0 i 1 astfel nct suma ntregilor asociai cu 1 s dea T.

47
Deci, dndu-se S=[a1, a2, ..., an], i T, s se gseasc un vector V cu valori 0 i 1 astfel nct :

a
i 1
i vi T

Rezolvarea se face considernd fiecare ntreg din S ca participnd la T i reducnd problema


corespunztor. Cnd o soluie nu produce suma int, se elimin ntregul ales iniial i se continu
cu urmtorul. Acest back-traking deterioreaz viteza soluiei.

Rucsacuri supercresctoare
S presupunem problema rucsacului cu o restricie suplimentar: ntregii din S formeaz un
ir supercresctor, adic unul n care fiecare ntreg este strict mai mare dect suma predecesorilor
si. Atunci, orice ntreg ak satisface relaia

k 1
ak a j
j 1

Soluia rucsacului supercresctor (numit i rucsacul simplu) este uor de gsit. Se ncepe cu
T, care se compar cu cel mai mare ntreg din S. Dac acesta este mai mare dect T, nu este termen
al sumei, deci valoarea corespunztoare din V este 0. Dac acest cel mai mare ntreg din S este mai
mic sau egal cu T, el este termen al sumei, deci valoarea corespunztoare din V este 1. Relum
algoritmul pentru T din care scdem sau nu termenul analizat (conform cu valoarea din V) i pentru
ntregii rmai.

Tehnica de criptare
Tehnica de criptare Merkle-Hellman este un criptosistem cu cheie public. Fiecare utilizator
are o cheie public, care poate fi distribuit oricui i o cheie privat, care se pstreaz secret.
Cheia public este mulimea ntregilor din problema rucsacului (nu unul supercresctor); cheia
privat este rucsacul supercresctor corespondent. Contribuia lui Merkle i Hellman a fost s
proiecteze o tehnic de conversie a rucsacului supercresctor ntr-unul normal, prin schimbarea
numerelor de o manier reversibil.

2.3.2 Algoritmul Rivest-Shamir-Adelman (RSA)


Un alt criptosistem bazat pe o problem dificil este algoritmul RSA, numit astfel dup
inventatorii si, Rivest, Shamir i Adelman. A fost publicat n 1978 [RSA78] i rmne un algoritm
foarte folosit i astzi, n ciuda eforturilor criptanalitilor de a-l sparge.

48
Introducere
Algritmul de criptre RSA incorpreaz rezultte din teria numerelr, cmbinate cu
dificultte determinrii factrilor primi pentru un numr int. C n czul lgoritmului Merkle-
Hellmn i lgoritmul RSA pereaz cu aritmetic mdul n. Un blc n text clr este trtat c un
ntreg, ir pentru criptre i decriptre se flsesc du chei, e i d, cre sunt interschimbbile.
Blcul de text clr P este criptt c Pe modul n. Dearece expneniere este mdulo n, este farte
dificil s se fctorizeze Pe pentru descperi textul riginl. Pentru ceast, chei de decriptre d
este stfel leas nct (Pe)d = P mdulo n. Astfel P este regsit fr fi necesr descompunere
n fctori primi lui Pe.

Problema pe care se bazeaz algoritmul de criptare este cea a factorizrii numerelor mari.
Problema factorizrii nu se cunoate a fi NP complet; cel mai rapid algoritm cunoscut este
exponenial n timp.

Descrierea detaliat
Cu algoritmul RSA, mesajul n text clar P este criptat n, mesajul n text cifrat C prin
intermediul cheii de criptare e:

C = Pe modulo n

Mesajul n text clar este regsit cu ajutorul cheii de decriptare d:

P = Cd modulo n

Din cauza simetriei din aritmetica modular, criptarea i decriptarea sunt mutual inverse i
comutative:

P = Cd modulo n = (Pe)d modulo n = (Pd)e modulo n

Alegerea cheilor
Cheia de criptare const n perechea de ntregi (e, n), iar cheia de decriptare este (d, n).
Punctul de plecare n gsirea cheilor pentru acest algoritm este selectarea unei valori pentru n.
Valoarea lui n trebuie s fie suficient de mare, dat de un produs a dou numere prime p i q. Att
p ct i q trebuie s fie ele nsele suficient de mari. n mod obinuit, p i q au aproximativ 100 de
cifre fiecare, astfel nct n are aproximativ 200 de cifre. Aceast lungime inhib ncercarea de a
factoriza pe n, pentru a afla pe p i pe q.

n continuare, se alege un ntreg e relativ mare, astfel nct e este relativ prim cu (p-1)(q-1).
Satisfacerea acestei condiii se face alegndu-l pe e ca un numr prim mai mare dect p-1 i q-1.

49
n final, se alege d astfel nct:

e d 1 modulo (p-1)(q-1)

Fundamentele matematice ale algoritmului RSA


Funcia lui Euler (n) este numrul ntregilor pozitivi mai mici dect n care sunt relativ
primi cu n. Dac p este prim, atunci:

(p) = p-1

Dac n = p q, unde p i q sunt ambele prime,

(n) = (p) (q) = (p-1) (q-1)

Identitatea Euler-Fermat afirm c :

x (n) 1 modulo n

pentru orice ntreg x, dac n i x sunt relativ prime.

S presupunem c mesajul n text clar P este criptat cu algoritmul RSA, astfel nct E(P)=Pe.
Trebuie s fim siguri c putem decripta mesajul. Valoarea e este astfel aleas nct inversa sa d s
poat fi gsit uor. Deoarece e i d sunt inverse modulo (n),

e d 1 modulo (n)

sau

e d = k (n) + 1

pentru anumii ntregi k.

Implementarea practic a algoritmului


Utilizatorul algoritmului RSA alege numerele prime p i q, din care se obine
n = p q. Apoi alege e, relativ prim la (p-1) (q-1), de obicei un numr prim mai mare dect p-1
i dect q-1. n final, d se calculeaz ca inversul lui e modulo (n).

Utilizatorul distribuie e i n, i pstreaz cheia d secret; p, q i (n) pot fi ignorate, dar


nu fcute publice. Chiar dac se tie c n este produsul a dou numere prime, datorit mrimii sale
peste 200 de cifre, nu va fi posibil s se determine factorii p i q, i nici cheia privat, d din e.
De asemenea, verificarea c p i q sunt prime, presupune luarea n considerare a 1050 factori.

50
Solovay i Strassen au dezvoltat un algoritm euristic de calcul a probabilitii ca un numr
s fie prim, cu gradul de ncredere dorit.

Orice numr prim satisface dou teste. Dac p este un numr prim i r orice numr mai mic
dect p,

cmmdc(p, r)=1

unde cmmdc este cel mai mare divizor comun, i

J(r, p) r(p-1)/2 modulo p

unde J este funcia Jacobi, definit astfel:

1 daca r 1

J (r , p) J (r / 2, p) (1) ( p 1) / 8
2
daca r este par
J ( p modulo r, r) (1) ( r 1)( p 1) / 4 daca r este impar si r 1

Dac un numr pare a fi prim, dar nu trece unul din aceste teste, n mod sigur nu este prim.
Dac ns satisface cele dou teste, numrul este prim cu o probabilitate de cel puin 1/2.

Problema n algoritmul RSA este de a gsi dou numere prime mari, p i q. Pentru a folosi
metoda de mai sus, se alege un posibil numr mare prim, p. Se genereaz aleator un numr r i se
calculeaz cmmdc(p,r) i J(r,p). Dac una din cele dou condiii nu este ndeplinit, p nu este
numr prim. Dac ambele teste se verific, probabilitatea ca p s nu fie prim este cel mult 1/2.
Procesul se repet pentru noi valori ale lui r alese aleator. Dac al doilea r verific ambele teste,
probabilitatea ca p s nu fie prim este cel mult 1/4. Dup repetarea procesului de k ori astfel nct
cele dou teste sunt verificate, probabilitatea ca p s nu fie prim este cel mult 1/2k.

Criptanaliza metodei RSA


Teoretic sunt trei posibiliti de abordare a unui atac n cazul algoritmului RSA: atacul n
for, atacul bazat pe metode matematice (ncercarea factorizrii produsului a dou numere prime
mari) i atacul temporal. Analiza acestor atacuri duce la concluzia c nici unul nu are sori de
izbnd.

n pofida unor intense cercetri, au fost identificate doar probleme minore n comparaie cu
cele din cazul algoritmului rucsacului a lui Merkle i Hellman

51
2.4 Concluzii
Criptografia cu chei simetrice i cea cu chei publice prezint diverse avantaje i
dezavantaje pe care le prezentm n continuare:

(i) Avantaje ale criptografiei cu chei simetrice

1. Algoritmii folosii permit gestionarea unor volume mari de date, cu vitez relativ
bun. n special atunci cnd este vorba de implementri hard.

2. Cheile folosite pentru algoritmii simetrici sunt relativ scurte.

3. Algoritmii simetrici pot fi folosii ca primitive pentru a construi soluii criptografice


incluznd generatoarele de numere pseudo-aleatoare i funciile hash.

4. Algoritmii cu chei simetrice se pot compune pentru a produce algoritmi mai puternici.
(ii) Dezavantajele criptografiei cu chei simetrice

1. ntr-o comunicaie cheia trebuie s rmn secret n ambele capete.

2. ntr-o reea cu muli utilizatori numrul cheilor care trebuie gestionate devine o
problem major.

3. Pentru o comunicaie ntre dou pri, practica criptografic impune schimbul cheilor
frecvent, uneori chiar la fiecare sesiune, ceea ce n condiiile unui canal nesigur de
comunicaie este o alt problem.
(iii) Avantajele criptografiei cu chei publice

1. Dintre cele dou chei folosite n algoritmii cu chei publice doar una trebuie inut
secret.

2. Administrarea cheilor ntr-o reea poate fi fcut cu un singur administrator de


ncredere.

3. n general perechile de chei publice/secrete pot fi folosite pe o perioada lung de timp


fr a fi schimbate.

4. ntr-o reea de dimensiuni mari numrul de chei necesare este considerabil mai mic
dect n cazul criptografiei simetrice.
(iv) Dezavantajele criptografiei cu chei publice

1. Viteza algoritmilor cu chei publice (chiar i a celor mai performani) este de cteva
ori mai mic dect a celor cu chei secrete.

52
2. Dimensiunea cheilor folosite este mai mare (1024 pentru RSA n comparaie cu 64
sau 128 n cazul algorimilor de tip bloc).

3. Pentru nici un algoritm cu chei publice nu s-a demonstrat c ar fi sigur;


securitatea lor se bazeaz prezumia de dificultate a unui set de probleme de teoria
numerelor.

4. Istoria criptografiei cu chei publice este relativ scurt (din 1970) .


Utilizarea algoritmilor n sisteme de criptare disponibile n Internet

Aplicaiile i protocoalele folosite n Internet au nevoi diferite de securitate, n funcie de


care se utilizeaz diverse sisteme criptografice. Se observ c nu exist un algoritm unic bun pentru
orice situaie n funcie de noile rezultate obinute n proiectarea criptografic, dar i n
criptanaliz, se renun la unii algoritmi sau se dezvolt variante mbuntite din punct de vedere
al securitii.
n Internet, sistemele criptografice pot fi grupate n dou mari categorii: protocoale de reea
i programe/protocoale folosite pentru criptarea mesajelor trimise prin pota electronic
(tabelul 5.3).
Principalii
Nr. Sistem Caracteristici
algoritmi

PCT (Private RSA


Protocol criptare transmisii
Communications RC4
1 TCP/IP
Technology) MD5

SSL (Secure Socket RSA


Protocol criptare transmisii
2 Layer) RC4
TCP/IP
MD5

S-HTTP Secure- RSA


Protocol pentru criptarea cererilor i
3 HyperText Transfer DES
rspunsurilor HTML
Protocol

RSA
SET (Secure Electronic Protocol criptare transmisii de
4 MD5
Transaction) instruciuni de plat prin Internet
RC2

53
RSA
Protocol criptare transmisii
5 CyberCash MD5
instruciuni de plat prin Internet
RC2

Diffie-
Protocol de nivel sczut pentru criptarea Hellman
6 Ipsec, Ipv5
pachetelor IP

DNSSEC (Domain Name RSA


Sistem pentru securizarea
7 System Security) MD5
DNS

Securitate n reea pentru aplicaiile de DES


8 Kerberos
nivel nalt

RSA

Diffie-
Protecie pentru Telnet la
9 SSH (Secure Shell) Hellman
transferul de fiiere
Des

Triple DES

S/MIME Secure Format pentru criptarea potei Specificaii


10 electronice utilizator
Multipurpose Internet Mail
Extension

Aplicaie pentru criptarea potei MD5


PGP (Pretty Good
11 electronice IDEA
Privacy)
RSA

Tabelul 3 Algoritmi de criptare utilizai n aplicaiile din Internet

54
Capitolul 3. Securittea clculatorului
3.1 Primii virusi
Care este securitatea calculatoarelor? Sintaxa "securitii calculatoarelor" este vag. Spunei
cteva lucruri, cum este cazul n termenul "general". Acest lucru se datoreaz faptului c
securitatea calculatoarelor este un domeniu foarte divers.

Pe de o parte, exist specialiti i cercettori care lucreaz din greu pentru a gsi i
remedia problemele de securitate ale unei game largi de dispozitive. Pe de alt parte, exist o
comunitate de entuziati inventivi care sunt amatori n sensul literar al termenului, adic nu sunt
pltii sau susinui de nicio instituie sau companie de renume, dar sunt extrem de pricepui i
capabili s ofere util Informaii pe cont propriu.

n general, securitatea calculatorului este legat de aspecte precum securitatea reelelor i


a internetului. Cele mai multe ameninri care pot afecta computerul dvs. pot supravieui numai
datorit Internetului i, n unele cazuri, acest lucru este strns legat de o fisur n securitatea unui
hardware server. Cu toate acestea, utilizatorul mediu nu are control asupra acestui lucru.

Aceast caracteristic este explicat n termeni de companii care vor vinde software-ul de
securitate. Cuvintele precum "firewall", " blcker " i " shield " sunt mai uor de gsit n
anunurile pentru acest software.

Se presupune c aceste cuvinte clarific flagelul securitii PC, dar acest lucru nu este
ntotdeauna cazul. Informaiile primite de la o companie care vinde software de securitate sunt
subiectiv probabile, n lumina muncii lor, care creeaz soluia.

Acest ghid ofer o perspectiv obiectiv, detaliat, dar uor de neles n domeniul
securitii calculatorului. n final, vei ti exact ce nseamn acest termen i, mai important, ceea
ce avei nevoie pentru a v menine calculatorul n siguran.

O scurt istrie viruilr de clculator


Viruii au fost ntotdeauna un monstru. Primele virusuri, rspndite n prima reea de
calculatoare din 1970 (cum ar fi ARPANET), au fost, n principiu, programe care nu au artat
dect o mizerie pe un terminal.
Viruii nu au nceput s atrag atenia asupra ameninrii la adresa securitii pn la
sfritul anilor 1980. Aceast perioad a descoperit o serie de evenimente fr precedent n
trecut, cum ar fi apariia virusului Brin, cunoscut ca primul virus care a fost infectat cu PC-ul
IBM. Acest virus a fost capabil s infecteze sectorul de boot al computerelor MS-DOS prin
ncetinirea lor pentru a le face inutilizabile.

Odat ce prima aplicaie malware a devenit cunoscut, numrul de virui a devenit


ngrozitor n timp ce ei au vzut ocazia de a se angaja n vandalismul online i de a-i demonstra
abilitile tehnice n faa colegilor. La nceputul anilor 1990 a fost pentru prima dat cnd
virusul lui Michelangelo a adus o panic major n toate sursele mass media. Ca i sutele de
virui care au urmat, Michelangelo a agitat milioane de oameni de pe tot globul care s-au temut
c informaiile de pe calculator vor fi terse. Aceast fric sa dovedit a fi o alarm fals, dar ea a
fcut virusurile s fie puse n lumina reflectoare pin i astzi.
Proliferarea mesajelor de pot electronic la sfritul anului 1990 a scris urmtorul
capitol despre virui. Aceast form de comunicare standard a fost i este nc o metod popular
prin care se poate rspndi un virus. Mesajele sunt uor de trimis, iar ataamentele viruilor sunt
55
uor de deghizat. Popularitatea e-mailurilor coincide de asemenea cu o tendin care sa dovedit a
fi i mai important n evoluia malware-ului - dezvoltarea personalitii computerului. n timp
ce reelele de ntreprinderi sunt de obicei susinute de un grup de oameni pltii pentru securitate,
personalul de la calculatoare este utilizat de oameni obinuii care nu au pregtire n domeniu.
Fr urcarea calculatoarelor personale, multe dintre ameninrile care au avut loc n
ultimul timp nu ar fi posibile. Viermii ar avea mai puine inte, troienii ar fi detectai mai repede,
iar noi pericole cum ar fi phishingul i o form de crim virtual nu ar avea sens. Calculatoare
personale au fost oferite celor care doresc s creeze programe infectate cu virusuri ntr-un
domeniu plin de inte uoare.
Soluia, desigur, este s v asigurai c nu v numrai printre ei.

3.2 Principalele ameninri de securitate


Programele virusate, de-a lungul istoriei, s-au rspndit din cauza greelilor
utilizatorilor; Adic utilizatorul efectueaz o aciune specific care activeaz un virus. Exemplul
clasic este deschiderea unui ataament de e-mail.
Virusul, deghizat ca un tip de fiier imagine sau alt tip comun, acioneaz odat ce
utilizatorul a deschis fiierul. Deschiderea poate duce la o eroare sau fiierul se poate deschide ca
de obicei, lovind utilizatorul n a gndi c totul este n regul. n orice caz, virusul a impus
aciunea utilizatorului s se rspndeasc. Reproducerea este posibil din cauza unei nclcri a
securitii n codul de program, dar prin nelciune.
La sfritul anilor 1990, acest tip de malware, denumit n mod obinuit virus, a fost de
departe cel mai periculos. Muli oameni nu erau familiarizai cu e-mailul i nu tiau c
deschiderea unui ataament ar putea s-i infecteze computerul. Serviciul de e-mail nu a fost
niciodat att de sofisticat: nu exist nici un filtru de spam care elimin spam-ul care conine
virusuri din fiier i nici o soluie antivirus eficient pentru a scana ataamentele. n ultimii ani,
progresul tehnologic de pe ambele fronturi a trimis un virus mai puin eficient prin e-mail, dar
nc mai exist milioane de oameni care nu au software de securitate i nu au probleme de
deschidere a e-mailurilor.
Deoarece viruii de e-mail sunt acum o tendin bine cunoscut, designul lor a devenit
mai creativ. Viruii se pot ascunde acum n tipuri de fiiere pe care majoritatea oamenilor le vd
n siguran, cum ar fi foi de calcul Excel i fiiere PDF. Un virus poate infecta computerul cu un
browser dac vizitai o pagin web care o conine.
Unii utilizatori se bucur de faptul c evitarea unui virus este pur i simplu o chestiune
de proces. Dac nu descrcai fiiere din surse necunoscute i nu deschidei ataamente, vei fi
bine. Nu sunt de acord cu acest punct de vedere. Dei multe ameninri pot fi evitate cu grij,
viruii cu noi metode de multiplicare i infecie sunt n continu dezvoltare

3.2.1 Troienii
Troienii, dei diferii de un virus prin componentele lor, pot infecta calculatoarele prin
aceleai metode menionate mai sus. n timp ce un virus ncearc s ruleze un cod infectat pe
calculatorul tu, un troian ncearc s fac posibil accesul unei tere pri la cteva sau la toate
funciile calculatorului tu. Troienii sunt capabili de a infecta calculatoarele prin intermediul
oricrei metode folosite de un virus. ntr-adevr, i viruii, i troienii sunt luai mpreun drept
malware, ntruct unele ameninri de securitate au trsturi asociate cu ambele tipuri.
3.2.2 Viruii de tip vierme (worm)
Troieni, dei diferii de un virus prin componentele lor, pot infecta computerele prin
aceleai metode ca cele de mai sus. n timp ce un virus ncearc s ruleze un cod infectat pe
computerul dvs., un troian ncearc s fac accesul unor tere pri la unele sau la toate funciile
56
computerului. Troieni sunt capabili s infecteze calculatoarele prin orice metod folosit de un
virus. ntr-adevr, viruii i troieni sunt luai mpreun ca malware, deoarece unele ameninri de
securitate au caracteristici asociate cu ambele tipuri.
Virui (viermi)
Termenul "vierme" descrie mai degrab modul de infectare i replicare a viruilor, mai
degrab dect componentele acestora. Aceast metod de infectare este unic i riscant, deci
merit propria ei categorie.
Un vierme este un program de virus capabil s infecteze un computer fr ca
utilizatorul s fac nimic (altul dect pornirea calculatorului i conectarea la Internet). Spre
deosebire de viruii obinuii care, de obicei, ncearc s se ascund n interiorul unui fiier de
virus, viermii infecteaz computerele prin folosirea vulnerabilitii reelei. Virusul tipic se
rspndete trimind spam cu propriii copii la adrese IP aleatorii. Cnd se gsete un astfel de
computer int, virusul folosete vulnerabilitatea reelei pentru a avea acces la computer i a
descrca componentele sale. Odat ce acest lucru se ntmpl, virusul utilizeaz acest computer
infectat pentru a spiona mai multe adrese IP la ntmplare, relund procesul.
Creterea exponenial este n cazul acestei chei. Viermele SQL Slammer, lansat n
ianuarie 2003, a folosit aceast metod pentru a infecta aproximativ 75.000 de computere, la
numai 10 minute dup lansarea iniial.
Cu toate acestea, termenul "vierme" acoper o gam larg de ameninri. Unele virui
s-au rspndit prin utilizarea sistemelor de securitate prin e-mail pentru a fi spamate automat
dup infectarea unui computer. Altele au inte foarte puternice. Sa descoperit c Stuxnet, un
vierme nou format, se crede de mult c a fost creat pentru a ataca programul de cercetare nuclear
iranian.
Dei se estimeaz c acest virus este infectat cu milioane de computere, ncrcarea sa
efectiv este proiectat s aib efect numai dup ce ntlnete un anumit tip de reea - tipul pe
care Iranul l utilizeaz pentru producia de uraniu. Indiferent de int, caracterul sofisticat al
virusului
Stuxnet servete ca exemplu pentru modul n care un vierme poate infecta automat
sistemele fr ca utilizatorii s aib cea mai mic idee.

3.2.3 Viruii de tip Rootkit


Un caz special de virus periculos, virusul rootkit, este capabil s obin acces privilegiat la un
computer i s se ascund de a fi detectat prin scanarea obinuit a antivirusului. Termenul de
rootkit este folosit pentru a descrie un anumit tip de cod. Aceti virui pot infecta sistemele i se
pot multiplica prin orice fel de tactici. Se poate comporta ca un vierme sau se poate ascunde n
fiiere aparent legitime.

Sony, de exemplu, a fost ntr-o mare problem atunci cnd experii n securitate au
descoperit c unele CD-uri muzicale Sony au inclus un rootkit care a fost capabil s ofere acces
administrativ singur la computerele Windows, s se ascund de cele mai multe scanri antivirus
i s treac date ntr-o locaie separat. Acest lucru sa ntmplat, aparent, din cauza unui copii
greite al unui plan de protecie.

n multe cazuri, componentele rootkit ncearc s ating aceleai obiective ca un virus


obinuit sau troian. Codul ru intenionat poate ncerca s terge sau s corupe fiierele, s se
conecteze la tastatur sau s gseasc parolele dvs. i apoi s le transfere unei tere pri. Acestea
sunt toate lucrurile pe care un virus sau un troian obinuit pot ncerca s le fac, dar rootkit-urile
sunt mai eficiente n a le face n timp ce i fac treaba. Ei chiar saboteaz sistemul de operare,
care utilizeaz defectele sistemului de securitate pentru a dezghea ntr-un sistem de fiiere

57
important sau, n cele mai grave cazuri, pentru a scrie codul n sistemul de fiiere important,
fcnd imposibil eliminarea acestuia fr afectarea sistemului de operare.
Vestea bun este c rootkiturile viruilor sunt mai greu de scris dect celelalte tipuri de
malware. Cu ct mai mult un rootkit dorete s intre ntr-un sistem de operare, cu att va fi mai
greu, deoarece orice eroare de cod a virusului ar putea bloca computerul int sau poate modifica
software-ul antivirus. Acest lucru poate fi un lucru ru pentru computer, dar anuleaz ncercarea
de rootkit pentru a se ascunde de la nceput.

3.2.4 Phishing i pharming


Lumea viruilor din anii 1990 pare ciudat n comparaie cu cea actual. Apoi, viruii
au fost adesea scrise de hackeri care doreau s-i demonstreze talentele i s ctige notorietate
printre colegii lor. Daunele pe care le-au fcut au fost grave, dar ele erau adesea limitate la
infectarea computerelor. Virusii moderni, pe de alt parte, sunt doar un instrument folosit de
criminali care ncearc s fure informaii personale. Aceste informaii pot fi apoi folosite pentru a
fura cardurile de credit, pentru a crea ID-uri false i pentru a efectua tot felul de activiti ilegale
care au un impact deosebit asupra vieii victimei.
Phishing i pharming sunt tehnici care ilustreaz cel mai bine elementul criminal n
securitatea calculatorului. Aceste pericole sunt semnificative, dar nu v afecteaz computerul din
punct de vedere tehnic. n schimb, ei o folosesc pentru a induce n eroare i fura informaiile
importante.
Ambele concepte sunt strns legate.
Pharming este o tehnic folosit pentru a redireciona pe cineva ctre un site fals.
Phishing este modalitatea de a colecta informaii private prin nelciunea utilizatorului cu
privire la identitatea real a expeditorului unui e-mail sau a unui proprietar al site-ului (de
exemplu, primirea unui e-mail care pare a fi de la banc tranzaciile financiare, dar care este de
fapt de la un infractor care drept scop furtul de informaii confideniale despre contul dvs.
bancar. Tehnicile merg adesea: o modalitate de a trimite un utilizator la un site fictiv i apoi s
fure informaii private.
Un exemplu clasic de astfel de atac ncepe cu un e-mail care pare s fie trimis de banc.
E-mailul susine c este suspectat o nclcare a securitii n serverele dvs. bancare online i c
trebuie s v schimbai numele de utilizator i parola. Vi se d un link ctre ceea ce pare a fi site-
ul despre povestea bncii. Pagina, odat ncrcat n browser, v solicit s confirmai
utilizatorul i parola curente i apoi s ncercai altele noi. Odat ce acest lucru a fost fcut, site-
ul v va mulumi pentru cooperarea dvs. Nu v dai seama c ceva nu este n regul pn cnd
ncercai din nou s v conectai la site-ul web al bncii ntr-o zi utiliznd pagina salvat n
istoric.

3.2.5 Malware-ul
Dei escrocii de mai sus sunt recunoscui ca fiind grave, cu unele caracteristici, acestea
sunt nc dificil de clasificat, deoarece securitatea pericolelor este diversificat i se schimb n
mod constant. Acesta este motivul pentru care termenul de malware este cel mai frecvent utilizat:
este termenul perfect care cuprinde tot ceea ce poate bate computerul sau poate folosi
computerul pentru a v provoca neplceri.
Acum ai aflat despre unele dintre cele mai populare ameninri de securitate, probabil
v ntrebai ce putei face n legtur cu acestea. Cel mai bun loc pentru a ncepe aceast discuie
este acela al sistemelor de operare.

58
3.3 Sigurana sistemelor de operare

Sistemul de operare pe care l utilizai are o importan deosebit n ceea ce privete


ameninrile i metodele utilizate pentru a le contracara. Malware-ul sunt create n aa mod ca s
exploateze o vulnerabilitate particular a unui sistem de operare.
Dac malware-ul este scris pentru a utiliza o vulnerabilitate de reea care utilizeaz
computerul cu sistemul de operare Windows, atunci nu poate infecta computerele cu OS X. n
mod similar, un virus care ncearc s terge fiierele de driver de pe un computer cu Windows
XP nu va avea Efectul asupra unui computer Linux, deoarece driverele sunt diferite.
Cred c pot spune c sistemul de operare pe care l alegei are cel mai mare impact
asupra nivelului global de securitate al computerului, mai mare dect orice alt variabil. Avnd
n vedere acest lucru, s aruncm o privire rapid asupra celor mai utilizate sisteme de operare i
asupra modului n care se ocup de securitate.

3.3.1 Windows XP
Prezentat n 2001, Windows XP devenise cel mai operativ sistem de operare i n
acelai timp cel mai ludat. Acesta a fost apreciat pentru interfa simpl, care a oferit
mbuntiri, dar a fost familiar utilizatorilor de Windows 95,98 i ME. De asemenea, sa
dovedit a fi relativ redus pentru un nou sistem de operare Windows i unul care rmne la zi
capabil s ruleze pe calculatoare vechi care nu accept versiuni mai noi de Windows.
n momentul lansrii Windows XP, s-au introdus cteva mbuntiri importante de
securitate n sistemele de operare Windows anterioare. O soluie de rezolvare a problemelor de
securitate care poate provoca cu uurin dureri de cap n sistemele Windows prin utilizarea unor
lacune de reea sau a unui certificat de eroare. Securitatea Windows XP a fost consolidat odat
cu lansarea Windows XP Service Pack 2, care a introdus Centrul de securitate Windows, care
permite utilizatorilor s monitorizeze dac computerele lor au software anti-malware i au
instalat actualizrile corecte de securitate.
Cu toate acestea, Windows XP este de 10 ani i de-a lungul anilor a fost atacat de
hackeri fr sfrit. Popularitatea sistemului de operare Windows XP se confrunt cu alegerea
evident a malware-ului de a infecta ct mai multe computere posibile. n plus, Windows XP pur
i simplu nu are acces la un numr mare de mbuntiri de securitate care sunt standard n
Windows 7.
n general, Windows XP este cel mai slab sistem de operare disponibil din punct de
vedere al securitii. Are nevoie de multe mbuntiri de securitate, este bine neleas de cei
care creeaz codul malware i este adesea atacat.

3.3.2 Windows 7
Windows 7, este o perfecionare a unui sistem foarte mult criticat Windows Vista).
Windows 7 nu este la fel de uor de folosit ca XP, dar ofer o mare varietate de opiuni, inclusiv
unele legate de securitate.

De exemplu, User Account Control este o opiune nou introdus n Vista i inclus
simultan n Windows 7. La apariia UAC, a fost destul de ironic n mass-media - Apple a fcut
chiar i un anun despre el, ceea ce este ciudat avnd View c OS X funcioneaz similar i UAC
este foarte important atunci cnd vine vorba de securitate. Protejeaz computerul, asigurndu-v
c programele nu pot obine privilegii de a accesa sistemul dvs. fr permisiune. nainte de UAC,
malware-ul ar putea face acest lucru fr ca utilizatorul s tie vreodat.

59
De asemenea, Microsoft a fcut mbuntiri care mbuntesc capacitatea sistemului de
operare Windows de a transmite utilizatorilor informaii importante legate de securitate. Centrul
de securitate este acum numit Windows Action Center i se confrunt cu o performan
excelent n obinerea automat a actualizrilor importante i n notificarea utilizatorilor atunci
cnd sunt necesare anumite operaiuni. Acest lucru este crucial, deoarece problemele de
securitate cunoscute care nu sunt reparate reprezint o problem, indiferent de sistemul de
operare preferat.

Windows 7 are, de asemenea, o atitudine mult mai rezonabil fa de securitate dect


atunci cnd a creat Windows XP. Acest lucru este evident atunci cnd se compar numrul de
nclcri ale securitii pe care Microsoft le-a reparat n primul su an de lansare pe XP cu cel
din primul an de la lansarea Vista. Windows XP avea 65 de vulnerabiliti pentru corectare, n
timp ce Windows Vista avea doar 36.

Cu parere de ru, Windows 7 rmne a fi inta virusurilor din cauza popularitii sale.
Windows rmne cel mai folosit sistem de operare din lume, deci este normal s fie inta
atacurilor. Din acest motiv, utilizatorii Windows 7 se confrunt nc cu multe ameninri la
adresa securitii

3.3.3 Mac OS X
Mac OS X arat modern, dar iniial este un sistem de operare destul de vechi. n 2001 a
avul lansarea primei versiuni , este tot att de nvechit ca i Windows XP. Apple, cu toate
acestea, abordeaz actualizrile ntr-un mod complet diferit fa de Microsoft. n timp ce oamenii
de la Redmond se concentreaz de obicei pe lansri mari, aducnd un nou sistem de operare la
fiecare 5 sau 6 ani n medie, echipa Apple a actualizat OS X de opt ori de la prima lansare a
sistemului. Lansrile conin de obicei doar cteva actualizri de securitate, iar Apple i-a ctigat
reputaia pentru furnizarea unui nivel superior de securitate pentru Windows. Aceast reputaie,
totui, este o tendin de a amna o examinare mai aprofundat. Exist virui care vizeaz OS X,
iar Apple trebuie s remedieze nclcrile de securitate att de des ca i Microsoft. Un raport
fcut n 2004 al unei companii de securitate cunoscut sub numele de Secunia a constatat c anul
precedent Mac OS X a fost afectat de 36 de vulnerabiliti, cu doar 10 mai puin dect Windows
XP - cu toate acestea, un procent mai mare de vulnerabiliti OS poate fi exploatat prin Internet.

(News.techworld.com/security/1798/mac-os-x-security-myth-exposed/)

Mai recent, Apple a trebuit s repare 134 vulnerabiliti.

(Fiercecio.com/story/apple-releases-massive-mac-os-x-security-update/2010-11-12).

Acest lucru nu nseamn c Mac OS X nu este sigur. Un avantaj al motenirii sistemului


OS X al UNIX-ului este necesitatea de a v conecta ca root pentru a modifica fiierele i setrile
importante (Windows UAC este n esen o ncercare de a emula acest lucru). Cu toate acestea,
un numr regretabil de utilizatori au impresia c OS X este imun la ameninrile de securitate
datorit relativitii sale de obscuritate. Dei exist un pic de adevr n acest sens, ameninrile la
adresa securitii pentru Mac OS X exist i pot fi la fel de periculoase ca i cele legate de
Windows. Securitatea Mac OS X este, de asemenea, confundat de o selecie redus de pachete
de securitate.
60
3.3.4 Linux
Majoritatea oamenilor nu vor folosi niciodat computerele care ruleaz Linux. Odat
spus, Linux este mult mai accesibil astzi dect cum a fost cndvai n trecut. Mai puine versiuni
Linux, cum ar fi Ubuntu i Jolicloud, ofer interfa grafic puternic care ofer funcionalitatea
de baz pe care o ateptai de la un computer, cum ar fi capacitatea de a citi e-mailuri i de a
naviga pe Internet.
Linux, ca i sistemul de operare OS X, necesit conectarea la un cont "root" pentru a
modifica fiierele i setrile importante. Baza de utilizatori Linux este mic i, pentru a face
lucrurile mai ru, nu se concentreaz pe o variant special de Linux. Dei codul de baz este
adesea acelai, exist diferene subtile ntre diferite variante de Linux - i muli utilizatori Linux
avansai au reuit s i scrie propriul cod de aplicaie. Aceasta se confrunt cu atacul masiv al
utilizatorilor Linux, care este dificil i altfel lipsit de sens. Dac dorii s obinei numere de cri
de credit, o viz Linux nu este cea corect.
Nia Linux este confruntat cu dificultatea de a discuta despre securitatea acesteia.
Venerabilitile de securitate exist cu siguran n sistemele Linux i nu sunt ntotdeauna
reparate la fel de repede ca Windows. Cu toate acestea, sistemele de operare Linux sunt mai
puin susceptibile de a fi afectate de ameninrile la adresa securitii, iar acestea sunt adesea mai
puin grave.

3.4 Cum s-i protejezi computerul

3.4.1 Evitarea infectrii prin email


E-mailul! Cndvai principala modalitate de a rspndi majoritatea viruilor. Un virus
ataat de e-mail, deghizat ntr-un oricare program sau cu ajutorul unui document atrgtor i apoi
trimis fr nici o ngrijire. Iar deschiznd aces e-mail - Computerul a fost infectat.
n acel moment, acest mod prea a fi punctul culminant al nelciunii. n zilele
noastre, mijloacele de rspndire a viruilor i viruilor sunt depite - ar fi bine dac ne-am
putea ntoarce ntr-o lume n care evitarea ataamentelor de e-mail ar proteja computerele noastre
de cele mai multe ameninri.
Filtrele de spam i protecia antivirus automat au rezolvat in mare parte aceast
problem ,n plus muli utilizatori sunt contieni astzi c nu au nevoie s deschid un ataament
dintr-o surs necunoscut (i dac nu suntei unul dintre ei, acum tii!).
Cu toate acestea, malware-ul a fost compensat prin utilizarea metodelor automate de
rspndire care ascund viruii n ceva care pare a fi demn de ncredere. De exemplu, dac un
virus infecteaz computerul prinilor dvs., acetia pot trimite un e-mail de la ei cu titlul:
"Fotografii de vacan". n cazul n care prinii dvs. nu au fost recent n vacan, probabil c vei
nelege c a fost un truc. Dar toi prinii dvs. merg uneori n vacan - i dac tocmai v-ai
ntors de la unul, atunci vei fi tentai s v deschidei ataamentul.
Dac nu v ateptai s primii ataamentul, cerei o confirmare de la persoana care a
trimis-o nainte de a o deschide sau de a le scana cu antivirusul selectat. Fii ateni, totui; Niciun
software de securitate nu poate detecta toate ameninrile.
Dei malware-ul este ntotdeauna o problem, phishingul este, fr ndoial, cel mai
greu de detectat astzi. Fii mereu precaui cu privire la e-mailurile neateptate care ar trebui s
fie trimise de ctre banc, angajator sau orice alt organism. Nici o instituie legitim nu va cere
vreodat numele de utilizator i parola dvs. sugernd un link trimis prin e-mail! De fapt, este o
idee bun s nu deschidei niciodat o legtur care pare a fi trimis de o instituie. Dac banca
v contacteaz pentru a v da un raport de tranzacie lunar, de exemplu, aceste informaii ar
trebui s fie accesibile prin conectarea la pagina dvs. de pornire.

61
3.4.2 Navigatul sigur pe Internet
Navigarea pe Internet prezint ntotdeauna pericole de securitate i muli oameni uit
despre asta. Ca i n cazul e-mailurilor, se presupune adesea c vei fi perfect protejai dac
evitai s deschidei fiiere din surse necunoscute. A fi atent cnd vine vorba de descrcarea
fiierelor este, bineneles, o idee grozav, dar nu este suficient s v protejai corect calculatorul.
Cele mai multe defeciuni de securitate pe care trebuie s v facei griji exist datorit
unei probleme cu browserul dvs. sau cu un plug-in important, cum ar fi Java sau Adobe Flash.
Produsele, cum ar fi intermitentul, faciliteaz interactivitatea online, din care este dificil de
realizat, dar rezultatele complexitii cresc n gurile de securitate. Instrumentele Java, Flash,
Shockwave, ActiveX i alte instrumente au fost "patch-uri" de mai multe ori cnd au fost
detectate "erori de securitate". Aceste deficiene nu sunt neglijate - unele dintre ele pot prelua
controlul asupra unui computer prin redirecionarea utilizatorului ctre un site plin de virui.
Astfel de site-uri sunt rareori gsite n prim-planul rezultatelor cutrii Google. Acestea
sunt de obicei rspndite prin spam, mesagerie instant, i prin intermediul reelelor sociale. Cu
toate acestea, chiar i un site de ncredere poate deveni uneori un pericol de securitate pentru
computerul dvs. Viruii pot, de asemenea, s infecteze serverele i, n unele cazuri, s duc la
rspndirea acestora pe un site fr cunotinele proprietarului.
Cea mai bun modalitate de protecie mpotriva viruilor este s v asigurai c
browserul i plug-in-urile asociate sunt actualizate - o problem pe care o vom discuta mai trziu
n acest capitol.

3.4.3 Verificarea linkurilor te redirecteaz acolo unde crezi?


Este un lucru bun s fii atent n gestionarea e-mailului i a mesajelor instant, dar o
astfel de tactic nu este ntotdeauna practic atunci cnd vine vorba de un link. Cuadevrat , sunt
cteva site-uri de socializare - cum ar fi Twitter - care se bazeaz foarte mult pe linkuri. Fr
linkuri, Twitter ar fi n mare msur lipsit de sens.
Acest lucru pune utilizatorii ntr-o situaie periculoas. Pe de o parte, un site de
socializare ca Twitter poate fi distractiv i v poate menine legtura cu prietenii. Pe de alt
parte, utilizarea acestuia va aduga riscuri suplimentare - i, n plus, link-urile sunt distribuite
utiliznd adrese URL reduse care se redirecioneaz ctre pagina web real.
Din fericire, putei gsi cu uurin locaia real a unui link folosind un site care v
dezvluie nainte de a face clic. mi place personal s folosesc TrueURL
(http://www.trueurl.net/service/), dar putem gsi site-uri similare pe Google

3.4.4 Actualizarea software-ului Cel mai important pas


Cele mai multe ameninri de securitate se rspndesc din cauza problemelor de
securitate software care pot fi exploatate. O atenie sporit va ine computerul departe de situaii
potenial periculoase, ceea ce nseamn c exist mai puine anse de distrugere a calculatorului.
Aceasta este doar o parte a btliei. Cealalt este o aciune pentru a v asigura c PC-ul dvs. nu
este compromis, chiar dac l expunei la pericol. Cum i dai seama? Asigurai-v c software-ul
este actualizat.
Imaginai-v c prsii casa pentru a merge la munc. n mod normal, blocheaz ua
cnd pleci, dar cteodat ai uitat, deci este posibil ca cineva s intre n locuina ta. Nimeni nu
vrea s prseasc ua descoperit cnd pleac, dar se ntmpl totui.
Dezvoltatorii de software fac, de asemenea, greeli, dar odat ce o realizeaz, le repar
exact aa cum v ntoarcei pentru a v bloca ua acas cnd v amintii. Dac tot nu decidei s
actualizai software-ul, este ca i cum ai decide s nu te mai ntorci pentru a ncuia ua. Putei

62
reduce riscurile dac v punei obiectele de valoare ntr-un loc sigur sau pstrai draperiile trase
i punei un semn mare "pruden: cine ru" n faa casei, dar ua este nc descoperit i oricine
poate intra n casa dvs.
Sper c acest exemplu ilustreaz faptul c este esenial actualizarea software-ului. n
opinia mea, actualizarea software-ului n mod constatnt este un bun obicei pe care l putei
practica. Exist ntotdeauna posibilitatea de a numra printre nenorociii care vor fi afectai de o
"gaur de securitate" nainte de a fi descoperit i ndreptat. Cu toate acestea, majoritatea
companiilor de astzi reacioneaz rapid atunci cnd vine vorba de astfel de probleme, astfel
nct meninerea actualizrii software-ului va spori considerabil securitatea.

3.4.5 Folosete un antivirus


ntr-un fel, acest sfat ar trebui s fie evident. i totui, exist un grup de oameni care,
cred ca dac nu faci gafe nu vei virusa calculatorul, sunt o neltorie, spun ei !
n acest ghid am discutat c aceast presupunere este greit. Adevrul este c
protecia anti-malware nu este la fel de simpl precum evitarea ataamentelor i acordarea
ateniei site-urilor pe care le vizitai. Securitatea inteligent a unui computer necesit o abordare
inteligent - i aceasta include programe anti-malware, firewall i alte programe. Software-ul de
securitate disponibil este la fel de divers ca i ameninrile pe care ncearc s v protejeze.

3.5 Metode de protecie a PC-ului

n acest subcapitol al securitii calculatorului, vorbim de metode de protecie, de noi


metode de detectare a viruilor, de importana utilizrii unui program firewall, de protecie
mpotriva phishingului etc.
n subcapitolele anterioare, am vorbit despre diversitatea tipurilor de malware care pot
afecta computerul. Exist multe produse anti-malware pe pia - prea multe pentru a le numra.
Cu toate acestea, aceste programe au un scop comun. Nu exist niciun program malware care s
v poat infecta computerul. Au aceiai menire , de a reduce daunele provocate de virui prin
trimiterea fiierelor infectate la "carantin" atunci cnd acestea sunt detectate.
Majoritatea software-urilor anti-malware fac acest lucru ntr-o serie de moduri. Prima i
cea mai veche modalitate e detectarea semnturilor. Acest formular implic scanarea unui fiier
i cutarea codului folosit de un anumit virus, care este o metod de detectare sigur, dar nu se
descurc bine cu viruii nou aprui. Semntura poate fi gasit doar dac software-ul a fost
adugat la baza de date cunoscut a virusului i o ameninare apare numai atunci cnd a fost deja
lansat.
Protectie in timp real. Proteciea n timp real este, de asemenea, o metod popular de
captur a viruilor n timp ce acioneaz. Acest mod nu se bazeaz pe semnturi, ci
monitorizeaz comportamentul software-ului rulat pe computer. Dac un care soft ncepe s se
comporte straniu i anume cere permisiuni de care nu are nevoie sau ncearc s execute
careva modificaii la fiierele care nu are autorizatie - acest lucru se observ i se iau pai care
mpiedic apariia altor probleme n sistem. Diferite companii implementeaz protecia "n timp
real" n moduri diferite, dar scopul este unul i alelai - i anume, detectarea i neutralizarea
viruilor de calculator.
Protecia cloud. O alt form nou de detectare care a debutat cu mai multe produse,
cum ar fi Panda Cloud Antivirus i Norton Internet Security 2010, este protecia cloud. n acest
fel, acesta se concentreaz pe originile viruilor, cum ar fi legturile(linkurile) i fiierele
specifice. Dac cineva care utilizeaz un program anti-malware se deschide i este infectat cu un
virus, numele acestui fiier este nregistrat ca o ameninare i informaiile devin disponibile.
Scopul este de a mpiedica utilizatorii s deschid fiiere sau link-uri care ar putea conine un
virus.

63
Cnd un virus este depistat, acesta este mutat de obicei n "carantin" pentru a preveni
rspndirea acestuia. Apoi, putei s-l eliminai. Anti-malware-ul este adesea incapabil s
elimine ameninrile pe care le descoper, dar securitatea rmne intact atta timp ct
ameninarea rmne n carantin.
Cele mai multe nemulumiri cu software-ul anti-malware sunt legate de noile virusuri.
Software-ul anti-malware e un element cunoscut i poate fi evitat de noile programe malware.
Din aceas cauz software-ul este actualizat foarte des - noi ameninri sunt ntotdeauna
descoperite. Acesta nu nseamn c acest soft nu este util. Totalitatea viruilor cunoscui este
totui mult mai mare ca totalitatea viruilor noi care nu sunt cunoscui.
Cu toate acestea, trebuie s fii ateni la software-ul pe care l cumprai sau descrcai.
Exist o mare diferen ntre produsele cele mai eficiente i cele mai puin eficiente, iar rata de
inovare este mare. De exemplu, Norton a fost groaznic cu civa ani n urm, dar produsele
Norton 2010 sunt excelente. Pentru informaii recente i recenzii anti-malware, consultai AV
Comparatives (http://www.av-comparatives.org/), o organizaie non-profit dedicat testelor de
produse de securitate informatic.

3.5.1 Firewall
Un numr semnificativ de ameninri grave la adresa securitii pentru calculatoare se
bazeaz pe conexiunea la Internet. S i corup hard drive-ul este foarte neplcut, dar v putei
proteja pstrnd copii de rezerv.
Dac cineva reuete s obin numrul carlului bancar sau alte informaii personale
importante, neplcerile sunt cu mult mai mari dect n cazul computerului. Acest lucru este
posibil numai dac malware-ul instalat pe computer v pune informaiile la dispoziia unei tere
pri. Datele sunt de obicei transmise n cel mai simplu mod posibil - prin Internet.
Funcia unui Firewall de protecie este de a preveni astfel de situaii. Firewall este un
software care monitorizeaz datele trimise ctre i de pe computer. Poate, ntr-un mod selectiv,
blocheaz anumite informaii sau poate (de obicei) ntrerupe conexiunea la Internet, oprind
fluxul de informaii.
Un firewall este o parte important a securitii Internetului. Att de important este
faptul c n Windows este implicit. Fr aceasta, malware-ul ar putea s transmit date n mod
liber, iar viruii trimii prin trimiterea copiilor ctre adresele I.P la ntmplare ar fi mai uor s
acceseze computerul.
Deoarece Windows are un Firewall de protecie implicit, nu trebuie s cumprai altul.
Exist multe opiuni care nu cost nimic - nu numai pentru Windows, ci i pentru sistemele de
operare OS X i Linux. Produsele cunoscute ca Internet Security Suites includ de obicei un
Firewall de protecie ca parte a pachetului.
Pstrarea firewall-ului unui computer este foarte recomandat. Este adesea capabil s
reduc daunele cauzate de virui, chiar dac software-ul anti-malware nu reuete s detecteze
sau s opreasc o ameninare.

3.5.2 Eliminarea viruilor de tip Rootkit


Software-ul anti-malware trebuie s depisteze i s trimit viruii de rootkit n
carantin, la fel ca i n cazul altor aplicaii malware. Datorit naturii unui rootkit face ca
Software-ul anti-malware s se confrunt cu probleme la detectarea acestuia . Chiar dac se
detecteaz ameninarea, este posibil ca un program anti-malware s nu poat elimina dac
rootkit-ul este ncorporat n fiiere critice ale sistemului, pentru a complica identificarea acestuia
i mpiedicarea eliminrii acestuia.
n acest caz,vin n ajutor programe special concepute pentru a elimina un rootkit chiar
i atunci cnd este inclus n sistemul de fiiere. Poate c cel mai cunoscut program de acest tip
este MalwareBytes Anti-Malware, popularizat acum civa ani, cnd ameninarea acestei metode
64
de atac a nceput s apar n tirile de pe Internet. De atunci, MalwareBytes a devenit un program
anti-malware generalizat.
Exist multe astfel de programe concepute pentru a elimina un anumit tip de rootkit.
Acest lucru este uneori necesar din cauza complexitii erorilor de baz care sunt ascunse n
fiierele de sistem i nu pot fi modificate fr a afecta sistemul de operare. Programele concepute
pentru a combate un anumit tip de rootkit o fac n mod normal, prin restaurarea fiierelor la
starea implicit sau prin tergerea cu atenie a codului despre care se tie c aparine rootkit-ului.
Cu toate acestea, aceste soluii nu au reuit ntotdeauna. Unii profesioniti IT se
adreseaz viruilor de rootkit prin tactici de degradare a terenurilor. Odat ce un sistem este
infectat, ei prefer s reformuleze hard disk-ul i s reinstaleze sistemul de operare. Aceasta nu
este o idee proast, ci o alt motivaie pentru a face o copie de rezerv a fiierelor. Reformarea
hard diskului i reinstalarea sistemului de operare este uneori un proces mai rapid i mai uor
dect ncercarea de a elimina un rootkit.

3.5.3 Protecia mpotriva phishingului


Phishingul este una dintre cele mai noi i mai grave ameninri la adresa securitii pe
care le ntmpin astzi utilizatorii de PC. Spre deosebire de altele, phishingul nu este destinat
calculatorului, ci pentru tine - calculatorul este pur i simplu instrumentul folosit pentru
comiterea infraciunii.
Phishing funcioneaz bine, deoarece nivelul fraudelor este adesea excelent.
Falsificatorii pot crea un portal bancar online care arat la fel ca cel pe care l utilizai n mod
normal atunci cnd vizitai site-ul bncii dvs. Dac nu suntei suficient de atent, putei introduce
datele dvs. personale fr s v gndii prea mult. S fim realiste - toi avem zile de asta. O
scpare dup ce v-ai ntors acas dup o zi grea de munc poate duce la tot felul de
inconveniente.
Decepia nu este niciodat perfect. Phishing poate genera e-mailuri i site-uri web care
par autentice, dar nu pot trimite de fapt un e-mail de la banca dvs. sau s utilizeze aceeai adres
URL ca site-ul pe care l imit. Pentru ochiul uman, distincia ntre o adres de e-mail fals sau
un URL real poate fi dificil, dar software-ul poate face aceast diferen rapid.
Protecia mpotriva phishingului este un domeniu relativ nou, dar majoritatea
pachetelor de securitate includ acum software anti-phishing. Utilitatea acestei opiuni depinde de
obicei de tehnologia utilizatorului. Fii sincer - dac cineva i trimite o adres fals a site-ului
bncii tale schimbnd un singur personaj, i-ai dat seama c? tii de ce unele site-uri se termin
cu lucruri precum .php i de ce sunt importante? tii diferena dintre http i https?
Dac rspunsul la toate aceste ntrebri este "nu", atunci ar trebui s descrcai software
antiphishing gratuit sau s achiziionai un pachet de securitate pe Internet cu aceast opiune.
Asigurai-v c citii mai nti o revizuire software. Deoarece acest tip de protecie este nou,
rmne un loc pentru inovare - i spaiu pentru erori, de asemenea.

3.6 Alegerea softului de protecie

n subcapitolul anterior am discutat cele mai importante metode de protecie. Un lucru


este s tii de ce ai nevoie , dar descoperii c software-ul necesar este altceva. Marketingul
pentru securitatea IT face ca acesta s fie un domeniu dificil pentru un amator.
Companiile sunt obinuite s numeasc aceleai opiuni n moduri diferite.
Forma de baz a software-ului de securitate vndut este n general cunoscut sub
numele de antivirus. Astfel de produse sunt de obicei lansate pe pia cu numele cuvntului
antivirus i a companiei de mrci comerciale. Norton Antivirus, McAfee Antivirus, AVG
Antivirus i tot aa mai departe. Programele antivirus sunt n conformitate cu definiia
65
termenului anti-malware din acest ghid. Virui, troieni, virui de tip rootkit i alte ameninri de
acest fel sunt inte. Cele mai multe programe antivirus nu includ un firewall sau opiuni cum ar fi
monitorizarea reelei i protecia prin phishing.
Urmtorul este pachetul de securitate pentru Internet. Ca i n cazul software-ului
antivirus, acetia sunt de obicei vndui sub termenul de Internet Security, mpreun cu numele
companiei. Acestea includ de obicei o protecie firewall i protecie anti-phishing (uneori numit
protecie a identitii sau a securitii identitii). Unii chiar au inclus monitorizarea reelei.
Pachetele de securitate pot aduga opiuni anti-malware care nu au antivirusuri de baz de
produse, cum ar fi scanarea automat a unui e-mail sau a unui fiier de mesagerie instantanee.

Ultimul mod de protecie pe n dreptul cruia ne oprim este cunoscut sub cteva nume.
Trend Micro utilizeaz termenul Maximum Security, n timp ce Symantec l numete Norton
360. Dac produsul de securitate al companiei nu are opiuni de monitorizare anti-phishing sau
de reea, de obicei include cel de-al treilea element de rezisten. Aceste produse au opiuni
avansate de backup concepute pentru a minimiza daunele cauzate de un virus care atac sistemul
dvs. de operare.
Deci, ce ar trebui s alegi? Este greu s obii un verdict final, deoarece opiunile
acestor produse variaz de la companie la companie. Cu toate acestea, utilizatorul obinuit este
probabil cel mai ajutat de pachetul de securitate. Dac nu suntei sigur c opiunile sunt un
produs al unei anumite companii, verificai-le din site. Vei gsi de obicei un tabel care conine
toate opiunile care sunt sau nu pentru fiecare produs.

3.6.1 Securitatea gratuit versus cea pltit


Exist, diferite opinii cu privire la necesitatea, n primul rnd, pentru achiziionarea unui
antivirus. Software-ul antivirus nu este prea ieftin, mai ales dac ateptai o reducere. Nu este
neobinuit s vezi magazinele, care ofer copii ale unui antivirus. Chiar dac primii o copie, va
trebui s pltii anual o tax de abonament. 40 de dolari pe an n RM nu e puin. Spre fericirea
noastr sunt disponibile soluii antivirus gratuite, la fel ca un firewall, i funcioneaz foarte
bine. De exemplu, Avast! Free Antivirus a fost testat de mai multe ori. Dei un antivirus gratuit
nu poate fi prima opiune de securitate, Avast! A facut fa i cu soluiile antivirus pltite.
Programele de scanare au mai puine programe malware dect Symantec, Trend Micro,
Kaspersky i alte software antivirus renumii.

Exist, de asemenea, firewall-uri gratuite. Zone Alarm a fost de mult vreme popular i,
dei i-a pierdut prestigiul , nc este o bun opiune .Mai sunt i alte opiuni disponibile de la
companii precum PC Tools, Comodo i altele. Urmrirea phishingului i a reelei este, de
asemenea, disponibil gratuit.

Putei obine protecia potrivit pentru computerul dvs. gratuit, iar beneficiile acestuia
sunt nelese de sine - avei mai muli bani pentru a cumpra alte lucruri. Cu toate acestea,
punerea la dispoziie a soluiilor antivirus, firewall i de monitorizare a reelei nu este pentru
toat lumea. Software-ul gratuit de securitate este ns, uneori, mai puin cuprinztor dect
opiunile rentabile - ntr-adevr, acest lucru este intenionat, deoarece unele companii care au
opiuni gratuite ofer i upgrade-uri pentru o tax. Avast! Antivirusul gratuit, de exemplu, poate
detecta i elimina virui, ns versiunea Pro pune la dispoziie o protecie mai bun mpotriva
ameninrilor.

66
3.6.2 Pachetul gratuit de securitate ideal
Dup cum am menionat mai devreme, se recomand s caui cele mai recente informaii
despre eficacitatea anti-malware a unui produs. PCMag.com i CNET au dou exemple de site-
uri care ofer comentarii utile asupra acestui subiect.

Informaiile referitoare la software-ul de securitate gratis sunt mai greu de gsit i faptul
c nu conteaz afecteaz calitatea opiunilor disponibile de a alege. Sunt cteva pe care nu le-a
recomanda niciodat nimnui. Trebuie s fii ateni la opiunile gsite prin Google sau cu ajutorul
altor motoare de cutare , deoarece acestea nu sunt ntotdeauna programe legitime.

Am ntlnit cu toii anunuri pop-up care v avertizeaz: "Stop! Am detectat 5 virui pe


computerul dvs." Software-ul care promoveaz aceste anunuri este, de fapt, mascat de virui.
Pentru a simplifica lucrurile, ne-am gndit la 3 programe gratuite care v vor ajuta s v protejai
calculatorul de o varietate de ameninri.

3.6.3 Avast! Free Antivirus sau Microsoft Security Essentials

(http://www.avast.com/free-antivirus-download) : Sunt o mulime de softuri antivirus


competente, ns Avast! Free Antivirus este primul pe list. Acest soft a fost testat de AV-
Comparatives i a luat o not nalt la ultimele teste On-Demand i Proactive. Rezultatele
obinute ar fi bune chiar i pentru un program pltit i sunt formidabile pentru un software
gratis.
Avast arat rezultate bune la testele de securitate, dar pot avea loc mbuntiri la
capitolul interfa. Microsoft Security Essentials este o alegere bun dac doreti ceva ce pare
mai simplu. Nu se claseaz pe aceiai trapt cu Avast, adar a luat o not bun ceia ce l face
soluie antivirus bun.

3.6.4 Firewall-ul gratuit ZoneAlarm

(Http://download.cnet.com/ZoneAlarm-Free-Firewall/3000-10435_4-
10039884.html?tag=mncol): Acum un deceniu, de la debutul su, ZoneAlarm a fost foarte
popular. n acel moment, utilizatorii nu tiu ce este sau de ce ar avea nevoie de un firewall. De
atunci, au existat multe firewall-uri gratuite, dar ZoneAlarm este printre cele mai utilizate. Este
un firewall de protecie puternic i uor de neles. Protecia avansat pe care o ofer este foarte
important - acest lucru va mpiedica trimiterea informaiilor despre virusi unei tere pri n
cazul n care v afecteaz computerul. ZoneAlarm include de asemenea o bara de instrumente
anti-phishing.

3.6.5 BitDefender Anti-Phishing

(Http: / / www.bitdefender.com/PRODUCT-2237-ro--BitDefender-Anti-Fhishing-Free-
Edition.html#more_features): Dac nu v place prea mult bara de instrumente anti-phishing din
ZoneAlarm, putei ncerca Din opiunea BitDefender. Aceast bara de instrumente, pentru
Internet Explorer i Firefox, ofer protecie n timp real mpotriva site-urilor web care ar putea
ncerca s v fure informaiile personale. Ofer protecie simultan mpotriva trimiterilor trimise
prin MSN sau Yahoo.

67
Capitolul 4
4.1 Limbajul C#
Dei Java a rezolvat cu succes portabilitatea, exist cteva probleme care lipsesc. Una
dintre acestea este interoperabilitatea diferitelor limbaje sau programarea n limbaj mixt.
Interoperabilitatea diferitelor limbaje este esenial n dezvoltarea software-urilor la scar larg.
Ca parte a strategiei .NET dezvoltat de Microsoft, C # a fost creat la sfritul anilor
1990. C # este direct legat de C, C ++ i Java. Bunicul limbii C # este C. De la C, C # motenete
sintaxa, multe dintre cuvintele cheie i operatorii. C # se construiete i peste modelul obiect
definit n C ++. Relaia dintre C # i Java este mai complicat. Java este derivat din C i C ++.
Ca Java, C # a fost proiectat pentru a produce cod portabil. Limba C # nu este derivat din Java.
ntre C # i Java exist o relaie similar cu cea a "veriilor", deriv de la acelai strmo, dar se
remarc prin multe caracteristici importante.
C # are cteva caracteristici inovatoare, cel mai important dintre acestea fiind suportul
integrat pentru componentele software. Caracteristicile caracteristicilor C # care implementeaz
elemente directe care alctuiesc componentele software, cum ar fi proprieti, metode i
evenimente. Poate c cea mai important caracteristic a lui C # este abilitatea de a lucra ntr-un
mediu de limbaj mixt.

4.2 Relatia dintre C# si arhitectura .NET

C # are o legtur special cu arhitectura .NET. C # a fost dezvoltat pentru a crea


codul pentru arhitectura .NET, iar pe de alt partev bibliotecile utilizate de C # sunt cele ale
arhitecturii .NET.
Ce este arhitectura .NET?
Arhitectura .NET definete un mediu de programare care permite dezvoltarea acestuia
i executarea aplicaiilor indiferent de platform. Acest lucru permite programarea n limbaj mixt
i asigur securitatea i portabilitatea programelor. Este disponibil pentru moment pentru
platformele Windows.
Despre C #, arhitectura .NET definete dou entiti importante, i anume biblioteca
Clasa .NET i motorul de programare comun sau limbajul comun de execuie a limbajului
(CLR).
C # nu are o bibliotec de clas, ci utilizeaz direct biblioteca de clas .NET. De
exemplu, atunci cnd rulai un program care efectueaz operaii de intrare-ieire, cum ar fi dac
afiai text pe ecran, utilizai biblioteca de clas .NET.
Motorul de programare comun (CLR) gestioneaz executarea programelor C #. El face
posibil programarea n limbaje diferite,aigur securitatea i portabilitatea programelor.
Cnd compilai un program C # sau un program n limbaj mixt, codul nu poate fi executat. n
schimb, produce un fiier care conine un tip de pseudocod numit IL (limbaj intermediar). Acest
fiier IL poate fi copiat pe orice computer care are .NET CLR. Prin intermediul unui compilator
numit Just In Time (JIT), motorul comun convertete codul intermediar ntr-un cod executabil.
Procesul de conversie se face dup cum urmeaz: Cnd un program .NET este executat, CLR
activeaz compilatorul JIT. Compilatorul JIT convertete IL n cod executabil n msura n care
fiecare parte a programului este necesar. n concluzie, orice program compilat n format IL
poate rula n orice mediu pentru care CLR este implementat. n acest fel, arhitectura .NET
asigur portabilitatea.

4.3 Principiile programarii orientate obiect

Metodele de programare au fost modificate continuu de la apariia computerelor pentru a


merge n acelai ritm cu complexitatea tot mai mare a programelor. Pentru primele computere
68
programarea a fost fcut prin introducerea instruciunilor scrise n main n binar.Odat ce au
crescut programele s-a inventat limbajul de asamblare , unde puteau fi gestionate programe mai
mari prin utilizarea reprezentrilor simbolice ale instruciunilor mainii. Pe msur ce
programele continu s creasc, au fost introduse i limbi de nivel nalt FORTRAN i COBOL i
apoi a fost inventat structurarea programrii.

POO a luat cele mai bune idei de la programarea structurat, combinndu-le cu noi
concepte. Ca rezultatul a aprut un mod diferit de organizare a unui program. De fapt, programul
poate fi organizat n dou moduri: n jurul codului (modul de operare) sau n jurul datelor
(controlul accesului la cod). Toate POO au patru caracteristici comune: ncapsulare,
polimorfism, motenire i reutilizare.

4.3.1 Incapsularea

Incapsularea este un mecanism care combin codul i datele pe care le avei


manipulndule , pstrnd integritatea lor n raport cu interferenele cu lumea exterioar.
Incapsularea se numete i boxa neagr, deoarece se ascunde funcionalitatea proceselor. Cnd
codul i datele sunt ncapsulate, se creeaz un obiect. n obiect, cod i date pot fi publice sau
private. Codul privat i datele sunt accesibile numai n cadrul aceluiai obiect, n timp ce codul i
datele publice pot fi de asemenea utilizate din prile programului care exist n afara aceluiai
obiect.

Unitatea de baz de ncapsulare este clasa. Clasa arat datele i codul care ruleaz cu
datele. O clas definete forma unui obiect. Sau, cu alte cuvinte, o clas este o matrice, iar un
obiect este un exemplu al clasei.

4.3.2 Polimorfismul

Polimorfismul este calitatea care permite interfeei s aib acces la un grup generic de
aciuni. Termenul deriv dintr - un cuvnt grecesc cu semnificaia "cu mai multe forme"De
exemplu, s presupunem c avem nevoie de o rutin care ar returna aria unui triunghi, unui cerc
sau unui trapez. Deoarece ariile celor trei figure geometrice sunt calculate diferit, rutina trebuie
s fie adaptat la datele pe care le are s face diferen ntre felul de figuri i s afieze rezultatul
corect.

Conceptul de polimorfism este exprimat de expresia "o interfa mai multe metode".

4.3.3 Motenirea

Motenirea este procesul prin care un obiect poate dobndi caracteristicile altui
obiect. Analogia cu conceptul de animal este elocios. De exemplu, noi o considerm
reptile. Acestea sunt toate caracteristicile unui animal, dar exist i o alt trstur,
are snge rece. Luai n considerare un arpe. Aceasta este o reptil lung i subire
i nu are picioare. erpi au toate caracteristicile unei reptile, dar dein i caracteristici proprii.
Deci arpele motenete caracteristicile unei reptile. O reptil motenete caracterul unui animal.
Deci, mecanismul de motenire este cel cu care face posibil ca un obiect s fie un caz mai
general.

69
4.3.4 Reutilizarea

Atunci cnd o clas este creat, ea poate fi utilizat pentru a crea o mulime de obiecte.
Folosind motenirea i ncapsularea, clasa poate fi refolosit. Nu mai trebuie s testm codul, ci
s-l utilizm corect.
Programul de mai jos creaza o
Crearea, compilarea si executia aplicatie Windows.
programelor C#. Exemple; using System;
Sa consideram urmatorul using System.Windows.Forms;
program C# simplu: public class MyForm : Form
/* Acesta este un program simplu in {
C# private TextBox txtEnter;
Denumiti programul: Example1.cs */ private Label lblDisplay;
using System; private Button btnOk;
class Example1 public MyForm()
{ {
//orice program in C# contine metoda this.txtEnter = new TextBox();
Main() this.lblDisplay = new Label();
public static void Main() this.btnOk = new Button();
{ this.Text = "Prima mea aplicatie
Console.WriteLine("This is my first Windows!";
C# program"); this.Size=new
} System.Drawing.Size(320,
} 300);
Exista doua moduri de a edita, // txtEnter 1
compila si rula un program in C#. In this.txtEnter.Location = new
primul rand se poate utiliza compilatorul System.Drawing.Point(16, 32);
linie de comanda csc.exe. A doua this.txtEnter.Size = new
posibilitate este de a utiliza utilizati System.Drawing.Size(264, 20);
mediul Visual Studio .NET. In primul // lblDisplay
caz trebuie parcursi urmatorii pasi: this.lblDisplay.Location = new
introduceti textul programului cu ajutorul System.Drawing.Point(16, 72);
unui editor de texte si salvati fisierul this.lblDisplay.Size = new
utilizand extensia cs, spre exemplu System.Drawing.Size(264, 128);
Example1.cs; apoi compilati programul // btnOk
precizand numele fisierului in linia de this.btnOk.Location = new
comanda (C:\>csc Example1.cs); in final System.Drawing.Point(88, 224);
rulati programul in linia de comanda this.btnOk.Text = "OK";
(C:\>Example). this.btnOk.Click +=new
In cel de-al doilea caz creati un System.EventHandler(this.btnOK_Cl
nou proiect C# selectand: ick);
File|New|Project, apoi Visual C# // MyForm
Projects|Empty Project. Dupa ce ati creat this.Controls.AddRange(new
proiectul, executati click dreapta pe Control[] {
fereastra Solution. Utilizand meniul aparut this.txtEnter, this.lblDisplay,
selectati Add apoi Add New Item | this.btnOk});
Local Project Items| C# Code File. }
Introduceti textul, salvati proiectul, static void Main ()
compilati proiectul selectand Build si in {
fine rulati programul selectand Start Without Application.Run(new MyForm());
Debugging din meniu Debug. }

70
private void btnOK_Click(object int count=2;
sender, string l;
Console.WriteLine("Introduceti
System.EventArgs e) numarul natural n");
{ l=Console.ReadLine();
lblDisplay.Text = txtEnter.Text + n = int.Parse(l);
"\n" + Console.Write("{0}=", n);
lblDisplay.Text; while (count <= n)
} {
} while (n % count == 0)
Programul de mai jos descompune {
un numar natural in factori primi n = n / count;
using System; Console.Write("{0} ", count);
class Descompunere }
{ count++;
}
}
public static void Main() }
{
int n;
4.3.5 Tipuri de date si operatori

Tipuri valorice in C#
Tipurile de date si operatorii stau la baza oricarui limbaj de programare. C# ofera
o gama larga de tipuri de date si operatori. Vom incepe prin examinarea tipurilor de date
fundamentale in C#. Inainte de aceasta, amintim ca limbajul este puternic tipizat. Aceasta
inseamna ca pentru toate operatiile, compilatorul realizeaza verificari asupra compatibilitatii
tipurilor.
Limbajul C# include doua categorii generale de tipuri predefinite: tipuri valorice si
tipuri referinta. Tipurile referinta din C# sunt definite de clase. Studiul acestora il vom
face atunci cand vom discuta despre clase. La baza limbajului C# stau 13 tipuri valorice
numite si tipuri simple. Aceasta datorita faptului ca exista o relatie directa intre tipurile
de date C# si tipurile de date .NET.
Din ratiuni de portablitate, in C#, fiecare dintre tipurile valorice are domeniu fix
de valori. Daca de exemplu in limbajul C, o varabila de tip int este reprezentata pe 2 octeti sau 4
octeti, in functie de platforma utilizata, in C# unei variabile de tip int, calculatorul ii aloca 4
octeti, indiferent de mediul de executie.

In tabelul de mai jos sunt prezentate aceste tipuri

71
Tabel 4 conversie explicita (un cast).
Pentru corectarea codului din exemplul
anterior trebuie sa rescriem codul in forma:
char ch=(char) 77;
Intregi Celelalte tipuri intregi sunt
utilizate pentru calcule numerice. Sunt
In C# sunt definite noua tipuri definite atat versiuni cu semn cat si fara
intregi: char, byte, sbyte, short, ushort, semn. La fel ca in limbajul C, diferenta
int, uint, long si ulong. intre intregii cu semn si cei fara semn
Tipul char. Caracterele nu sunt este data de interpretarea bitului cel mai
reprezentate pe 8 biti ca in alte limbaje semnificativ. Daca este specificat un intreg
(spre exemplu C sau C++ ). In C# se cu semn, atunci numarul este pozitiv daca
utilizeaza modelul Unicode. Acesta bitul de semn este 0 si respectiv negativ daca
defineste un set de caractere care poate bitul de semn are valoarea 1. Sa consideram
repezenta caracterele din toate limbile de cateva exemple:
pe Pamant. Setul de caractere ASCII pe sbyte: 00000001 (nr. 1); 01111111 (nr.
8 biti, cuprins intre 0 si 127 este o 127); 10000000 (nr. -128); 11111111 (nr. -
submultime a modelului Unicode. Putem 1);
atribui o valoare de tip caracter daca byte: 00000001 (nr. 1); 01111111 (nr.
includem caracterul intre apostrofuri simple. 127); 10000000 (nr. 128); 11111111 (nr.
Exemplu: char ch=M ; Desi char este de 255);
tip intreg, nu poate fi amestecat la Exemple: 1. Conversie implicita. 2.
intamplare cu valori intregi deoarece nu Conversie Explicita
se efectueaza conversii automate intre using System;
char si celelalte tipuri intregi. Codul de class Demo
mai jos este incorect: char ch=77; { public static void Main()
Motivul pentru care instructiunea nu { char sourceVar='a';
functioneaza este ca 77 este o valoare ushort destinationVar;
intreaga si nu este convertita automat la destinationVar = sourceVar;
tipul char. Pentru a converti o valoare Console.WriteLine("destinationVar
intreaga intr-un char vom realiza o val:{0}", destinationVar);

72
} Tipul bool reprezinta valorile de
} adevar true sau false. Orice variabila de tip
using System; bool va lua una dintre aceste valori. Nu este
class Demo definita o regula de conversie intre tipul
{ public static void Main() bool si valori intregi.
{ ushort sourceVar = 97; Cateva optiuni de afisare
char destinationVar; Sa consideram instructiunea:
destinationVar = (char)sourceVar; Console.WriteLine(Valoarea lui 10/3:
Console.WriteLine("destinationVar +10.0/3.0). Aceasta afiseaza rezultatul:
val:{0}", destinationVar); Valoarea lui 10/3: 3.33333333333.
} Afisarea unui numar mare de zecimale este
} inadecvata de cele mai multe ori. De
4.3.6 Tipuri in virgula mobile exemplu, in calcule financiare se afiseaza
doua zecimale. Pentru a controla formatarea
Tipurile in virgula mobila se datelor numerice, utilizam urmatoarea
utilizeaza pentru specificarea numerelor forma a metodei WriteLine():
care au parte Console.WriteLine(sir de formatare, arg0,
fractionara. Aceste tipuri sunt: float si arg1,, argN); Sirul de formatare contine
double. Tipul float poate reprezenta in doua elemente: caractere afisabile si
mod preci specificatori de format. Specificatorii de
pana la 7 pozitii zecimale, in timp ce format au forma generala {Nr_arg,
tipul double reprezinta 15 sau 16 width:fmt #}. Nr_arg precizeaza numarul
zecimale exacte. argumenului care trebuie afisat. Latimea
Dintre cele doua, double este cel mai minima este precizata de valoarea width ,
intrebuintat. iar formatul este specificat de fmt.
4.3.7 Tipul decimal De asemenea, simbolul # marcheaza
Tipul decimal nu este definit in numarul minim de pozitii numerice. Width,
C, C++ si Java. Acest tip utilizeaza 128 fmt
biti de si # sunt optionale. Pentru afisarea valorilor
memorie pentru a reprezenta valori numerice se pot utiliza urmatorii formati fmt
cuprinse intre 1.0x1028 si 7.9x1028 .
Este destinat
calculelor monetare, putand reprezenta in
mod precis 28 de pozitii zecimale. Nu
exista
conversii automate intre tipurile decimal si
float sau decimal si double. Exemplu:
using System;
class FolosDecimal
{
public static void Main()
{ decimal sold, dobanda;
Console.WriteLine("Noul sold este
{0} EUR",sold);
}
}
Rezultat: Noul sold este 10400.520
EUR
Tipul bool
Fig.4.3.5
Partile componente ale unei aplicatii C#
Un limbaj de programare este compus dintr-o serie de cuvinte cheie care au
73
semnificatii speciale. Un program utilizeaza aceste cuvinte impreuna cu alte cuvinte
aditionale si simboluri intr-o forma organizata. Un program C# include urmatoarele: spatii,
cuvinte cheie C#, literali si identificatori.

Limbajul C# contine urmatoarele cuvinte cheie:

Fig.4.3.6
4.3.8 Literali

In C# literalii desemneaza valorile fixate, reprezentate intr-un mod accesibil


utilizatorului. De exemplu, nr. 35 este un literal. Literalii se mai numesc si constante. Literalii
in C# pot fi de orice tip valoric. Constantele de tip caracter sunt incluse intre apostrofuri
(exemple: a, $, etc.) In ceea ce priveste literalii intregi, tipul fiecarui literal este cel mai mic
tip intreg care permite memorarea sa, incepand de la int. Un literal intreg poate fi de tip: int,
uint, long sau ulong. Pentru specificarea unui literal uint se adauga un u sau U. De exemplu
123 este de tip int in timp ce 123u este de tip uint. In mod analog pentru literali de tip
long se adauga l sau L in timp ce pentru literali de tip ulong se adauga ul sau UL.
Literalii in virgula mobila sunt in mod implicit de tip double. Daca dorim sa
specificam un literal de tip float adaugam f sau F (de exemplu, 123.4f este de tip float).
Pentru specificarea unui literal de tip decimal se adauga sufixul m sau M (ex: 1.43m).
Pentru specificarea unui literal hexazecimal se utilizeaza prefixul 0x (ex: 1)
c=0xFF; //255 in zecimal, 2) in=0x1a; //26 in zecimal).
Secvente escape pentru caractere
Majoritatea caracterelor pot fi afisate incluzand constantele de tip caracter intre
apostrofuri. Exista insa cateva caractere care ridica probleme deosebite precum ghilimelele,
apostroful etc., care au semnificatii speciale. Din acest motiv, C# pune la dispozitie
secvente escape, care sunt utilizate in locul caracterelor pe care le reprezinta. Secventele
escape sunt: \a (alarma), \b (sterge un caracter in urma, backspace), \n (linie noua), \r
(revenire la cap de rand), \t (tab orizontal), \v (tab verical), \0 (nul), \ (apostrof), \
(ghilimele), \\ (backslash).

In C# intalnim si un alt tip de literali:


tipul string. Un string, reprezinta un sir de
caractere inclus intre ghilimele (ex:

74
acesta este un string). Pe langa trebuie declalarate inainte de a fi folosite,
caracterele obisnuite, un literal de tip de asemenea tipul variabilei nu poate fi
string poate contine mai multe secvente modificat pe parcursul duratei sale de
escape. viata. Tipul variabilei determina operatiile
De asemenea, in C# se pot utiliza permise asupra variabilei. Dupa declararea
literalii copie la indigo. Un astfel de variabilei, aceasta trebuie initializata.
program incepe cu @, urmat de un sir Initializarea unei variabile poate fi facuta
de ghilimele. Se pot include astfel printr-o instructiune de atribuire:
caractere tab, linie noua, etc fara a utiliza nume_var=val; unde val reprezinta
secvente escape. Exista o singura valoarea atribuita variabilei nume_var
exceptie. Pentru a obtine ghilimelele (), (Exemple: int i=10; bool f=true; foat
trebuie utilizate doua caractere unul dupa fn=12.4f; long o=126L). De asemenea
altul (). initialzarea poate fi facuta dinamic,
utilizand orice expresie valida la momentul
using System; in care variabila este initializata.
class StrDemo using System;
{ class Initdinamica
public static void Main() {
{ public static void Main()
Console.WriteLine("Prima linie {
\nAdoua linie"); double raza, inaltime, volum;
Console.WriteLine("a \t b \t c \nd \t double Pi=4*Math.Atan(1);
e\t f \t"); raza = 4;
} inaltime = 2;
} volum = Pi * raza * raza * inaltime;
using System; Console.WriteLine("Valoarea lui pi
class Indigo este: {0:#.####}", Pi);
{ Console.WriteLine("Volumul
public static void Main() cilindrului este:{0:g}", volum);
{ }
Console.WriteLine(@"Acesta este }
un literal Domeniul de valabilitate si durata de
copie la indigo care Viata La fel ca alte limbaje de
ocupa trei linii"); programare, C# permite declararea unei
Console.WriteLine(@"Alt exemplu variabile in cadrul unui bloc. Un bloc
abc incepe cu o acolada deschisa si se incheie
d e f"); cu o acolada inchisa. Un bloc delimiteaza
Console.WriteLine(@"Putem un spatiu de declarare numit si domeniu
spune:""hello! """); de valabilitate.
} De asemenea, acesta determina si
} durata de viata a acelor variabile. O
variabla declarata in cadrul unui bloc isi
Variabile pierde valoarea cand blocul este folosit.
Cele mai importate domenii de
O variabila reprezinta o locatie de valabilitate sunt acelea definite de o clasa si
memorie cu nume, careia ii poate fi de o metoda.
atribita o valoare. Valoarea unei variabile In cadrul unui bloc variabilele pot
poate fi modificata pe parcursul fi declarate in orice punct, dar sunt
programului. Variabilele sunt declarate valide numai dupa declaratie. Un alt aspect
printr-o instructiune de forma: tip nume_var; interesant care diferentiaza limbajul C# de
unde tip reprezinta tipul variabilei, iar celelalte limbaje este urmatorul: nici o
nume_var numele variabilei. Variabilele variabila din interiorul unui domeniu
75
interior nu poate avea acelasi nume cu o Console.WriteLine("Valoarea
variabila declarata intr-un domeniu care il variabilei i este: {0}", i);
contine. }
using System; Console.WriteLine("Ultima valoare a
class NestVar variabilei i este: {0}", i);
{ }
public static void Main() }
{
int x = 10; Numele unei variabile
if (x == 10) Numele unei variabile trebuie sa
{ satisfaca urmatoarele reguli:
int y = 20; - primul caracter al unei variabile
Console.WriteLine("x si y: " + x + " trebuie sa fie o litera, caracterul underscore
repectiv " + y); _ sau simbolul at @ ;
} -urmatoarele caractere pot fi litere,
Console.WriteLine("x este: " + x); numere sau caractere underscore;
//y=20; -nu pot fi utilizate cuvinte cheie drept
} identificatori.
} De-a lungul timpului au fost utilizate
//Programul de mai jos nu poate fi diverese conventii pentru numirea
compilat variabilelor.In prezent, platforma .NET
using System; utilizeaza urmatoarele conventii: PascalCase
class NestVar si camelCase, unde Case ar trebui sa explice
{ in ce scop este utilizata variabila. Ambele
public static void Main() conventii specifica utilizarea unor cuvinte
{ multiple, scrise cu litere mici cu exceptia
int i, j; primei litere care este mare. Pentru
j=10; camelCase exista o regula suplimentara, si
for (i = 0; i < 1; i++) anume primul cuvant este scris cu litera
{ mica.
int j=1; Exemple:
j = j + 1; camelCase: age, firstName,
Console.WriteLine("variabila din placeOfBirth
interiorul blocului PascalCase: Age, FirstName,
este: {0}", j); PlaceOfBirth
} Pentru variabilele simple se
Console.WriteLine("variabila din utilizeaza camelCase.
exteriorul blocului Pentru spatii de nume, clase, metode
este: {0}", j); se utilizeaza PascalCase.
}
} 4.3.9 Operatori
Exemplu: Programul de mai jos nu Un operator reprezinta un simbol
poate fi compilat care determina compilatorul sa realizeze
using System; o anumita operatie matematica sau logica.
class Demo Limbajul C# ofera patru categorii de
{ operatori: aritmetici, pe biti, relationali si
public static void Main() logici.
{ Operatori aritmetici
int i;
for (int j=1; j<10; j++) Limbajul C# defineste urmatorii
{ operatori aritmetici: + (adunare), -
i=j; (scadere), * (inmultire), / (impartire), %
76
(rest sau operatorul modulo), ++ cu cei logici. Rezultatele intoarse de
(incrementare), --(decrementare). operatorii relationali si logici sunt de tip
Atunci cand se aplica operatorul / bool.
asupra unor intregi, restul este trunchiat, Operatorii relationali sunt
de exemplu: 14/3 este egal cu 4. urmatorii: == (egal cu), != (diferit de), >
O diferenta fata de C si C++ este (mai mare decat), < (mai mic decat), >=
faptul ca operatorul modulo se poate (mai mare sau egal cu), <= (mai mic sau
aplica atat tipurilor intregi cat si celor in egal cu).
virgula mobila (Ex: 14.0 % 3.0=2, Operatorii logici sunt: & (si), |
14.2 %3.0=2.2, 14.0%3.1=1.6. (sau), ^ (sau exclusiv), || (sau
Operatorii unari de incrementare si scurtcircuitat), && (si scurtcircuitat), !
decrementare functioneaza la fel ca in C. (non).
Acestia sunt: x++ (forma postfixata), ++x In cazul operatorilor relationali
(forma prefixata), x-- (forma postfixata), <,>,<=,>= operanzii trebuie sa apartina
--x (forma prefixata) tipurilor pe care este definita o relatie de
using System; ordine.
class Moddemo In cazul operatorilor logici,
{ operanzii trebuie sa fie de tip bool. In
public static void Main() tabelul de mai jos sunt precizate
{ rezultatele opearatiilor logice. S-a folosit
int cat, rest; conventia: 0=false si 1=true.
double doubleCat, doubleRest;
cat = 14 / 3; p q p&q p|q p^q !p
rest = 14 % 3; 0 0 0 0 0 1
doubleCat = 14.0 / 3.0; 1 0 0 1 1 0
doubleRest = 14.0 % 3.0; 0 1 0 1 1 1
Console.WriteLine("14=3*{0}+{1}" 1 1 1 1 0 0
, cat, rest);
Console.WriteLine("14/3={0}",doub Singura diferenta dintre operatorii &
leCat); si | si respectiv operatorii scurtcircuitati &&
Console.WriteLine("14.0 % si || este faptul ca operatorii obisnuiti
3.0={0}", doubleRest); evalueaza intodeauna ambii operanzi in
} timp ce vaiantele scurtcircuitate evalueaza
} al doilea operand doar daca este necesar.
X=10; y=++X; //y=11 Exemplu:
X=10; y=X++; //y=10 using System;
using System; class Scurtcirc
class Moddemo {
{ public static void Main() public static void Main()
{ double doubleCat; {
doubleCat = 14 / 3; int n, d;
Console.WriteLine("14/3={0:.##}", n = 10;
doubleCat); d = 2;
} if ((d !=0) && ((n%d)==0))
} Console.WriteLine(d +" este divizor
Operatori relationali si logici a lui " +n);
Operatorii relationali se refera la d = 0;
relatiile de ordine care pot exista intre if ((d != 0) && ((n % d) == 0))
doua valori, iar operatorii logici Console.WriteLine(d + " este divizor
desemneaza modalitatile in care se pot a lui " + n);
asocia valorile de adevar true si false. }
Operatorii relationali se utilizeaza deseori }
77
conversie automata, in schimb double in
Operatori pe biti long nu se poate realiza automat).
Operatorii pe biti realizeaza operatii De asemenea nu exista conversii
asupra asupra unuia sau mai multor biti automate intre decimal si double sau
dintr-o valoare. Operatorii pe biti sunt decimal si float si nici intre tipurile
urmatorii: & (si pe biti), | (sau pe biti), ^ (sau numerice si bool.
exclusiv pe biti), ~ (complementare pe biti), Conversii explicite
>>(deplasare pe biti la dreapta), In multe situatii (daca exista vreo
<<(deplasare pe biti la stanga. legatura intre tipul sursa si tipul destinatie)
Exemple: se pot realiza conversii explicite de tip,
3|4=7; 5&7=5, 4^4=0, ~2=-3, utilizand un cast. Un cast este o directiva
10>>1=5, 10<<1=20. catre compilator de a converti un anumit tip
Precedenta operatorilor in altul. Forma generala este: (tip_tinta)
1 Primary operators () . [ ] ++ x -- x expr;
2 Unary + - ! ~ Exemple: double x,y; int z; z=
3 Multiplicative * / % (int) (x/y); int i=230; byte b; ... b=(byte)i;
4 Additive + -5 Shift << >> Insa de fiecare data, responsabilitatea
6 Relational < > <= >= este cea a programatorului daca rezultatul
7 Equality == != obtinut este cel convenabil. Pentru a
8 Logical AND & controla rezultatul se pot utiliza comenzile:
9 Logical XOR ^ checked (expresie) ; sau unchecked
10 Logical OR | (expresie)
11 Conditional AND && Exemplu: Conversii explicite
12 Conditional OR || using System;
13 Conditional ?: class Demo
14 Assignment = *= /= % = += -= <<= {
>>= &= ^= |= public static void Main()
15 Increment and decrement x++ x {
byte destinationVar;
Conversia tipurilor de date int sourceVar = 257;
O practica frecventa in programare o destinationVar = (byte)sourceVar;
reprezinta atribuirea valorii unei variabile de //destinationVar =
un anumit tip unei alte variabile avand tip checked((byte)sourceVar);
diferit. Console.WriteLine("sourceVar val:
Exemplu: int i=10; float f; f=i; {0}", sourceVar);
Conversii implicite Console.WriteLine("destinationVar
Daca in atribuire sunt implicate tipuri val: {0}", destinationVar);
compatibile atunci valoarea din partea }
dreapta este convertita automat la tipul din }
partea stanga. Atunci cand un tip de date
este atribuit unui alt tip de variabila, se Studiul expresiilor
efectueaza o conversie implicita (automata) O expresie este o combinatie valida
de tip daca: cele doua tipuri sunt compatibile de literali, identificatori, operatori.
si tipul destinatie este mai cuprinzator decat In cadrul unei expresii este posibil sa
tipul sursa. Daca cele doua conditii sunt amestecam doua sau mai multe tipuri de
indeplinite atunci are loc o conversie prin date atat timp cat acestea sunt compatibile
largire. (Ex: long in double se face prin intre ele. Conversiile se realizeaza utilizand
regulile de de promovare a tipurilor din C#.
Iata algoritmul definit de aceste reguli pentru operatii binare:

Daca un operand este decimal atunci celalalt este promovat la decimal (cu exceptia
cazului in care este de tipul double sau float, caz in care apare o eroare)
78
Altfel daca un operand este double atunci celalalt este promovat la double.
Altfel daca un operand este float atunci celalalt este promovat la float.
Altfel daca un operand este ulong atunci celalalt este promovat la ulong, numai daca nu
este de tip sbyte, short, int sau long, caz in care apare o eroare.
Altfel daca un operand este long atunci celalalt este promovat la long.
Altfel daca un operand este uint, iar al doilea este de tip sbyte, short sau int, ambii sunt
promovati la long.
Altfel daca un operand este uint atunci celalalt este promovat la uint.
Altfel ambii operanzi sunt promovati la int.
Observatie: Rezultatul unei expresii nu poate fi un tip inferior lui int

79
Capitolul 5. Aplicaia practic.

5.1 Crearea unei nregistrri noi .

Dup executarea programului utilizatorul poate crea o inregistrare nou sau poate
deschide una deja existent cu condiia c cunoate loginul i parola bazei de date existente.

5.2 Solicitarea parolei.

n exemplul dat utilizatorul a ales s creeze o inregistrare nou. Programul cere


introducerea unei parole , reitroducere parolei petru excluderea unei erori mecanice din partea
utilizatorului.

80
5.3 Adugarea unei inregistrri noi .

Fereastra de lucru e mprit n dou pri : partea din stnga reprezint un registru cu
categorii structurate de utilizator. Ele pot fi terse, adugate sau redenumite. Partea dreapt este
pentru vizualizarea inregistrrilor din fiecare categorie.

n fig. de mai sus utilizatorul adaug o inregistrare nou. Utilizatorul trebuie s introduc
un titlu scurt, parola i confirmarea ei , i n caz de necessitate i o descriere scurt.

5.4 Redactarea nregistrrii, tergerea .

Aa dar utilizatorul a adugat o inregistrare i acum poate s o redacteze sau s o tearg.


Adugarea , tergerea , sau redactarea inregistrrii se poate face accesind butoanele
corespunztoare din panelul programei.
81
5.5 Salvarea bazei de date .

Dup ce utilizatorul a adugat sau a modificat una existent urmeaz salvarea rezultatelor
n fiierul codificat. Cum realizm aces pas important este reprezentat in img de mai sus . La fel
putem folosi combinaiile de taste : (Ctrl +N ) petru a crea o inregistrare nou, (Ctrl + O) pentru
a deschide o intregistrare i (Ctrl +S) pentru a salva modificrile realizate.

5.6 Rezultatul nregistrrii i codificrii.

Pentru a salva nregistrarea este necesar s alegem calea unde s salvm informaia
codificat i denumirea fiierului. Fiierul este codificat cu ajutorul algoritmului de codificare
DES i MD-5.

82
5.7 Deschiderea unei inregitrri existente.

Pentru a deschide o nregistrare deja existent este nevoie sa indicm calea ctre fiier , i
introducea parolei . Dup care utilizatorul poate executa peraiunile necesare.

83
Literatur
1. Limbajul C# PhD. Lucian Sasu
2. Introducere n Criptografie Funcii Criptografice, Fundamente Matematice i
Computaionale Bogdan Groza
3. Criptografia - Victor Udrinschi
4. Hotrrea Governului RM privind aprobarea Cerinelor fa de asigurarea securitii
datelor cu character personal la prelucrarea n cadrul sistemelor informaionale de date cu
caracter personal. Nr.1123 din 14 decembrie 2010. n Monitorul Oficial al RM ,
24.12.2010. nr.254-256;
5. Information technology- Biometric data interchange formats Part 1: Framework,
ISO/IEC 19794-1,2011;
6. Information technology- JPEG 2000 image coding system Part 1: Core coding system,
ISO/IEC 15444-1,2004;
7. Legea privind protecia datelor cu caracter personal. Nr 133din 08 iulie 2011. n
Monitorul Oficial al RM , 14.11.2011, nr.170-175;

Web Resurse

http://www.weblibrary.biz

http://www.msdn.microsoft.com

http://ro.wikipedia.org

http://www.knigka.info

http://www.securitatea-informatiilor.ro/solutii-de-securitate-it/algoritmul-de-criptografie-
des/

http://codare-date.cpf.ro/

84
Concluzie

n timpul execuiei aplicaiei errori critice nu au fost de depistate. Pentru rularea aplicaiei
este necesar de instalat Microsoft.NET Framework. Putem descrca acest platform accesnd
siteul oficial Microsoft n seciunea Downloands

https://www.microsoft.com/ru-RU/download/details.aspx?id=48130

Produsul creat pe parcursul acestei lucrri reprezint un mijloc de protecie a informaiei


confideniale. Trebuie s menionez faptul c pentru utilizatorul final poate fi nbuntit
functionalitatea,sigurana i aspectul acestei aplicaii n modul urmtor :

- Modernizarea Interfeii grafice

- Adugarea posibilitii de a muta ntregistrrile dintr-un grup n altul

- Adugarea posibilitii generrii parolei de ctre soft din motiv de securitate

- Realizarea sortrii n ordine alfabetic sau dup dat

- Realizarea cutrii rapide

- Realizarea posibilitii adugrii cmpurilor necesare utilizatorului print-o form

- Realizarea setapului inclusiv cu platforma Microsoft.NET Framework

- Adugarea posibilitii generrii automate a unei parole la crearea unei baze de

date noi pentru a spori nivelul de securiate

85
Aplicaia
Cod Surs:
AssemblyInfo.cs

using System.Reflection;

using System.Runtime.CompilerServices;

//

// General Information about an assembly is controlled through the following // set of


attributes. Change these attribute values to modify the information

// associated with an assembly.

//

[assembly: AssemblyTitle("")]

[assembly: AssemblyDescription("")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("")]

[assembly: AssemblyProduct("")]

[assembly: AssemblyCopyright("")]

[assembly: AssemblyTrademark("")]

[assembly: AssemblyCulture("")]

//

// Version information for an assembly consists of the following four values: // Major
Version

// Minor Version

// Build Number

// Revision

//

// You can specify all the values or you can default the Revision and Build Numbers g by
using the '*' as shown below:

[assembly: AssemblyVersion("1.0.")]

//

86
// In order to sign your assembly you must specify a key to use. Refer to the // Microsoft
.NET Framework documentation for more information on assembly signing.

//

// Use the attributes below to control which key is used for signing.

//

// Notes:

// (*) If no key is specified, the assembly is not signed.

// (*) KeyName refers to a key that has been installed in the Crypto Service // Provider
(CSP) on your machine. KeyFile refers to a file which contains

// a key. // (*) If the KeyFile and the KeyName values are both specified, the // following
processing occurs:

// (1) If the KeyName can be found in the CSP, that key is used.

// (2) If the KeyName does not exist and the KeyFile does exist, the key

// in the KeyFile is installed into the CSP and used.

// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.

// When specifying the KeyFile, the location of the KeyFile should be

// relative to the project output directory which is

// %Project Directory%\obj\<configuration>. For example, if your KeyFile is

// located in the project directory, you would specify the AssemblyKeyFile

// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]

// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework

// documentation for more information on this.

//

[assembly: AssemblyDelaySign(false)]

[assembly: AssemblyKeyFile("")]

[assembly: AssemblyKeyName("")]

Classes.cs

using System;

using System.IO;

87
using System.Collections;

using System.Runtime.Serialization;

using System.Security.Cryptography;

using System.Runtime.Serialization.Formatters.Binary;

namespace PwdStore

enum EditState {Unchanged, Created, Changed};

[ Serializable]

class Storage

public const string Extension = "psf';

private static byte[] vector = new byte[] {6, 7, 8, 9, 0, 1, 23, 4, 5};

private string fileName;

private string path;

private byte[] password = null;

private EditState editState;

protected FolderList folders;

public Storage()

folders = new FolderList();

public FolderList Folders

{ get

return folders;

public string FileName

get {
88
return fileName;

set {

fileName = value;}

public string Path

get

89

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