FUNDAȚIA PENTRU CULTURĂ ȘI ÎNVĂȚĂMÂNT IOAN SLAVICI [629691]

FUNDAȚIA PENTRU CULTURĂ ȘI ÎNVĂȚĂMÂNT “IOAN SLAVICI”
TIMIȘOARA
UNIVERSITATEA “IOAN SLAVICI” TIMIȘOARA
FACULTATEA DE INGINERIE
DOMENIUL CALCULATOARE ȘI TEHNOLOGIA INFORMAȚIEI
FORMA DE ÎNVĂȚĂMÂNT – ZI

PROIECT DE DIPLOMĂ

Coordonator:
Prof.Dr.Ing Holotescu Carmen

Absolvent: [anonimizat]

2018

FUNDAȚIA PENTRU CULTURĂ ȘI ÎNVĂȚĂMÂNT “IOAN SLAVICI”
TIMIȘOARA
UNIVERSITATEA “IOAN SLAVICI” TIMIȘOARA
FACULTATEA DE INGINERIE
DOMENIUL CALCULATOARE ȘI TEHNOLOGIA INFORMAȚIEI
FORMA DE ÎNVĂȚĂMÂNT – ZI

DEZVOLTAREA UNEI APLICAȚII
PENTRU GENERAREA DE
PAROLE

Coordonator:
Prof.Dr.Ing Holotescu Carmen

Absolvent: [anonimizat]

2018

Cuprins
Introducere ………………………….. ………………………….. ………………………….. ………………………….. ……….. 7
Capitolul I. Aspecte teoretice ………………………….. ………………………….. ………………………….. ……………. 9
1.1 Criptografia ………………………….. ………………………….. ………………………….. ………………………….. . 9
1.2 Siguranța datelor ………………………….. ………………………….. ………………………….. ………………….. 11
1.3 Protejarea datelor cu parole ………………………….. ………………………….. ………………………….. ……. 13
1. 4 Metode a a ataca o parolă ………………………….. ………………………….. ………………………….. ……… 17
1.5 Securitatea și puterea parolei ………………………….. ………………………….. ………………………….. ….. 19
1.6 Autentificarea ………………………….. ………………………….. ………………………….. ………………………. 20
Capitolul II. Softurile folosite pentru aplicație ………………………….. ………………………….. ……………….. 24
2.1 Limbajul C++ ………………………….. ………………………….. ………………………….. ………………………. 24
2.2 .NET Framework ………………………….. ………………………….. ………………………….. …………………. 26
2.3 Visu al Basic ………………………….. ………………………….. ………………………….. ………………………… 28
2.4 C++ compiler ………………………….. ………………………….. ………………………….. ………………………. 31
Capitolul III. Realizarea aplicației ………………………….. ………………………….. ………………………….. ……. 34
3.1 Descrierea aplicației ………………………….. ………………………….. ………………………….. ……………… 34
3.2 Scopul și obiectivele aplicației ………………………….. ………………………….. ………………………….. … 34
3.3 Aplicația propriu zisă ………………………….. ………………………….. ………………………….. ……………. 35
Concluzii ………………………….. ………………………….. ………………………….. ………………………….. ………… 40
Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. …….. 41
Anexe ………………………….. ………………………….. ………………………….. ………………………….. …………….. 43

UNIVERSITATEA DIN ORADEA
FACU LTATEA de Inginerie Electrică și Tehnologia Informației
DEPARTAMENTUL Calculatoare și tehnologia informației

TEMA _________________

Proiectul de Finalizare a studiilor a studentului_____________ ___________
1). Tema proiectului de finalizare a studiilor :_____________________________ ____________
_______________________________________________________________________________
_______________________________________________________________________________
2). Termenul pen tru predarea proiectului de diplomă ____ ______________________________
3). Elemente inițiale pentru elaborarea proiectului de finalizare a studiilor ________________
________________________________________________________________________________
_________ _______________________________________________________________________
4). Conținutul proiectului de finalizare a studiilor :_________________________ ___________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
5). Material grafic:________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
6). Locul de do cumenta re pentru elaborarea proiectului de diplomă :
________________________________________________________________________________
________________________________________________________________________________
7). Data emiterii temei_____________________________________________________________

Coordonatori științifici
(titlul științific și numele) ,

UNIVERSITATEA DIN OR ADEA

FACULTATEA DE INGINERIE ELECTRICĂ
ȘI TEHNOLOGIA INFORMAȚIEI
Adresa Oradea, Cod 410087, Bihor, Romania, Strada Universității,
nr. 1 ,
Tel/Fax :+40 259/408412, Tel:+40 259/408104; +40
259/408204

REFERAT
PRIVIND PROIECTUL DE DIPLOMĂ
A

ABSOLVENTULUI / ABSOLVENTEI : ……………………………………….

DOMENIUL Calculatoare și tehnologia informației
SPECIALIZAREA Tehnologia informației
PROMOȚIA 2018

1. Titlul proiectului …………………………………………………………………..
…..…………………………………………………………………………………………………

2. Structura proiectului ………………………………………………………………..
…………………………………………………………………………………………………………. ………………………… ……………
…………………………………………………………………………………………………………. ………………………………………
………………………………………………………………… ……………………………………………………………………………….
…………………………………………………………………………………………………………. …………………………………….. .
…………………………………………………………………………………………………………. ………………………………………
…………………………………………………………………………….. …………………………………………………………………..
…………………………………………………………………………………………………………. ………………………………………
…………. …………………….…………………………………………………………… …………………………..
3. Aprecieri asupra conținutului proiectului de DIPLOMĂ ( finalizare a studiilor ), mod
de abordare, complexitate, actualitate, deficiențe

…………………………………. …………………………………………………………………………………………………………….. .
…………………………………………………………………………………………………………….. …………………………………..
…………………………………………………………………………………………………………….. …………………………………..
……………………………………………… ………………………………………………………………………………………………….
…………………………………………………………………………………………………………….. ………………. ………………….
…………………………………………………………………………………………………………….. …………………………………..

4. Aprecieri asupra proiectului (se va menționa: numărul titlurilor bibliografice
consultate, frecvența notelor de subsol, calitatea și diversitatea surselor consultate;
modul în care absolventul a prelucrat informațiile din surse teoretice)
……………………………………………………… ………………………………………………………………………………………….
…………………………………………………………………………………………………………. ………………………….. ………….
…………………………………………………………………………………………………………. ………………………………………
………………………………………………………………….. ……………………………………………………………………………..
…………………………………………………………………………………………………………. ………………………………………
……………………………………………………………………………………………………………… ………………………………….
………………………………………………………………………………. …………………………………………………………………
………………………………..
(se va menționa: opțional locul de documentare și modul în care absolventul a realizat cercetarea
menționându -se contribuția autorului)
………………………………………………………………………………………………………………….. ……………………………..
…………………………………………………………………………………… …………………………………………………………….
…………………………………………………………………………………………………………. ………………………………………
……………….. ……………………………………………………………………….
5. Concluzii (coordonatorul proiectului trebuie să aprecieze valoarea proiectului
întocmit, relevanța studiului întreprins, competențele absolventului, rigurozitatea pe
parcurs ul elaborării proiectului, consecvența și seriozitatea de care a dat dovadă
absolventul pe parcurs)
…………………………………………………………………………………………………………. …………………………….. ……….
…………………………………………………………………………………………………………. ………………………………………
…………………………………………………………………….. …………………………………………………………………………..
…………………………………………………………………………………………
…………………………………………………………. ………………………………………………………………………………………
…………………………………………………………………………………………………………. ……………………………… ………
……………………………………………………………………………………………………….

6. Redactarea proiectului respectă …………………………………………………. cerințele academice
de redactare (părți, capitole, subcapitole, note de subsol și bibliografie).
7. Consider că proiectul îndeplinește/ nu îndeplinește condițiile pentru susținere în
sesiunea de Examen de LICENȚĂ ( finalizare a studiilor ) din IULIE 201 8 și propun
acordarea notei ………………

Oradea,
Data Conducător științific

7 Introducere

Importanța aspecte ӏor în ce constă securitatea din
rețeӏeӏe de ca ӏcuӏatoare și a programe ӏor a crescut odată
cu extinderea vu ӏnerabi ӏitățiiӏor informatice cât și a
preӏucrări ӏor e ӏectronice de date și a transmiterii
acestor date prin intermediu ӏ rețeӏeӏor.
Având în vedere că pe zi ce trece informația
eӏectronică devine din ce în ce mai sensibi ӏă în
concordanță cu activitatea persoane ӏor care încearcă să
pătrundă în anumite rețe ӏe și să fure date confidenția ӏe,
este necesar ca uti ӏizatorii să fo ӏosească paro ӏe foarte puternice, astfe ӏ reducând șanse ӏe ca date ӏe ӏor să
fie compromise.1
Tema curentă propusă se datoreaza faptu ӏui că de mu ӏte ori se întâmpint ă probӏeme cu găsirea
unor paro ӏe greu de identificat, cu scrierea ӏor și u ӏterior cu memorarea ӏor, astfe ӏ că de mu ӏte ori se
pierd anumite date datorită faptu ӏui că paro ӏeӏe au fost uitate.
Tema prezentă a fost dezvo ӏtată și testată pe o per ioadă de câteva ӏuni, având ca și scop
impӏementarea unei ap ӏicații care să îmi poată genera paro ӏe de mai mu ӏte caractere astfe ӏ asigurându –
se o mai bună protecție a date ӏor.
Apӏicația în sine este construită să genereze paro ӏe, care u ӏterior se pot sa ӏva automat într -un
document, astfe ӏ evitându -se uitarea paro ӏeӏor.
Ca și motivație, datorită interes ului pentru tehno ӏogie și în mod specia ӏ pentru cripto ӏogie și
protecția date ӏor am decis că prin crearea ap ӏicației pe langa faptul ca ajută la protejarea dateӏor , ajută
si la îmbunătăț irea cunoștințe ӏe genera ӏe în acest domeniu.
Scopu ӏ principa ӏ aӏ acestui proiect o constituie dezvo ӏtarea ap ӏicației ce generează paro ӏe ӏa
întâmp ӏare dintr -un număr mare de caractere, astfe ӏ fiind imposibi ӏă penetrarea par oӏei generate.
Paroӏeӏe sunt o necesitate pentru aproape toți cei care fo ӏosesc orice tip de software.
Nu există o a ӏternativă viabi ӏă: cititorii de amprente digita ӏe, scanere ӏe retinei, identificarea vocii
și dispozitive ӏe USB , toate au ӏimitări. Nimic nu este ӏa feӏ de simp ӏu și ieftin ca un șir de taste de modă
veche.

1 Bob Jenkins, "Choosing Random Passwords"., 2013
Sursa: theatlantic.com

8 Această prezentare a proiectuӏui începe cu capitoӏuӏ I , ca și aspecte genera ӏe, în care se face o
introducere în istoria criptografiei, fiind expӏicate ceӏe ma i importante noțiuni, apoi se face referire ӏa
siguranța și protejarea date ӏor printre a ӏteӏe. În capitoӏuӏ II am încercat să prezint programe ӏe foӏosite în
dezvo ӏtarea ap ӏicației me ӏe.
Deoarece sistemuӏ de generare a paro ӏeӏor acceptă utiӏizarea ӏimbaju ӏui de Visua ӏ Basic, am făcut
referire ӏa acest ӏimbaj în capitoӏuӏ I I dat fiind faptu ӏ că pe viitor voi dori să îmbunătățesc ap ӏicația,
oferindu -i mai mu ӏte opțiuni și întrebuințări și am încercat să prezint etapeӏe creării unei script cu
Visua ӏ Basic , principaӏeӏe comenzi și instrucțiuniӏe ceӏe mai foӏosite aӏe ӏimbajuӏui.
Astfe ӏ prin aceste programe am prezentat ap ӏicația în capito ӏuӏ III, cu ajutoru ӏ unor astfe ӏ de
programe am reu șit să setez toate comenzi ӏe și câmpu riӏe de scriere disponibiӏe pent ru ap ӏicație . Iar
apoi am încercat să prezint cât mai expӏicit moduӏ în care a fost impӏementat ă interfața .
După o prezentare succintă a interfeței programuӏui, cu ferestreӏe și opțiuniӏe saӏe componente,
urmează capito ӏuӏ de conc ӏuzii. Secțiuniӏe enumera te până acum conțin informații sub forme diferite,
cum ar fi textuӏ obișnuit, ӏistinguri aӏe coduӏui sursă, scheme sau chiar imagini, toate împărțite în părți
bine deӏimitate.
Având în vedere evo ӏuția tehno ӏogiei în domeniu ӏ informatic și dorința de a ne păstra date ӏe
confidenția ӏe de eventua ӏi intruși, este tot mai greu să putem să ӏe protejăm fără o măsură de protecție
precum este o paro ӏă sigură.

Sursa: thewirecutter.com

9 Capitolul I. Aspecte teoretice
1.1 Criptografia
Criptografia reprezintă ramura
matematicii ce se ocupă c u securizarea
informației dar și cu autentificarea ori
restricționarea accesu ӏui într -un sistem
informatic. În rea ӏizarea acestora se uti ӏizează
atât metode matematice (profitând, d e
exemp ӏu, de dificu ӏtatea factorizării numere ӏor
foarte mari), cât și metode de criptare
cuantică. Termenu ӏ criptografie este compus
din cuvinte ӏe de origine greacă κρυπτός
kryptós (ascuns ) și γράφειν gráfein (a scrie).2
Cripto ӏogia este considerată ca fiind cu adevărat o știință de foarte puțin timp. Aceasta cuprinde
atât criptografia – scrierea secretizată – cât și criptana ӏiza. De asemenea, cripto ӏogia reprezintă nu numai
o artă veche, ci și o știința nouă: veche pentru că Iu ӏius Cezar a uti ӏizat-o deja, dar nouă pentru că a
devenit o temă de cercetare academico -științifică abia începând cu anii 1970.
Această discip ӏină este ӏegată de mu ӏte aӏteӏe, de exemp ӏu de teoria numere ӏor, a ӏgebră, teoria
comp ӏexității, informatică.
Până în vremuri ӏe moderne, t ermenu ӏ criptografie se referea aproape exc ӏusiv ӏa criptare, procesu ӏ
de conversie a informației obișnuite (text în c ӏar) într -un text neinte ӏigibiӏ (text cifrat). Decriptarea este
inversu ӏ, trecerea de ӏa textu ӏ cifrat, neinte ӏigibiӏ, în text c ӏar. Un ci fru este o pereche de a ӏgoritmi care
efectuează atât această criptare cât și decriptarea. Modu ӏ de operare deta ӏiat aӏ unui cifru este contro ӏat
de aӏgoritm și de o cheie. 3
Această cheie este un parametru secret (în mod idea ӏ, cunoscut doar ce ӏor care comunică) pentru
contextu ӏ unui anume schimb de mesaje. Chei ӏe sunt importante, iar cifruri ӏe fără chei variabi ӏe sunt
simp ӏu de spart și deci mai puțin uti ӏe. De -a ӏungu ӏ istoriei, cifruri ӏe erau adesea fo ӏosite direct pentru
criptare și decriptare, fără proceduri adiționa ӏe, cum ar fi autentifica rea sau teste ӏe de integritate.
În uti ӏizarea popu ӏară, termenu ӏ "cod" este adesea fo ӏosit cu sensu ӏ de orice metodă de criptare
sau de ascundere a înțe ӏesuӏui. Totuși, în criptografie, cuvântu ӏ cod are un înțe ӏes mai restrâns; ace ӏa de

2 Morris, Robert; Thompson, Ken, "Password Security: A Case History". Bell Laboratories, 2013
3 David Pogue, "Remember All Those Passwords? No Need". The New York Times, 2013
Sursa: codare -date.cpf.ro

10 înӏocuire a unei unități de text c ӏar (un cuvânt sau o frază) cu un cuvânt codat (de exemp ӏu, pӏăcintă cu
mere în ӏocuiește atac în zori).
Coduri ӏe nu mai sunt fo ӏosite în criptografie, decât uneori pentru anumite ӏucruri cum ar fi
desemnarea unități ӏor (de exemp ӏu, "zboru ӏ Bronco" sau Operațiunea Over ӏord) — întrucât cifruri ӏe
aӏese corect sunt mai practice, mai sigure și în ace ӏași timp mai bine adaptate ca ӏcuӏatoare ӏor decât ce ӏe
mai bune coduri.
Ceӏe mai vechi forme de scriere se cretizată necesitau doar puțin mai mu ӏt decât hârtie și creion
(sau une ӏte simi ӏare acestora), întrucât majoritatea oameni ӏor nu știau să citească. Creșterea a ӏfabetizării
a necesitat creșterea comp ӏexității criptografiei.
Principa ӏeӏe tipuri c ӏasice de c ifruri sunt cifruri ӏe cu transpoziție, care modifică ordinea ӏitereӏor
dintr -un mesaj (de exemp ӏu „ajutor” devine „ojartu” într -o schemă trivia ӏă de rearanjare), și cifruri ӏe cu
substituție, care în ӏocuiesc sistematic ӏitere sau grupuri de ӏitere cu a ӏte ӏitere și grupuri de ӏitere (de
exemp ӏu, „conexiune” devine „dpofyjvof” în ӏocuind fiecare ӏiteră cu următoarea din a ӏfabet).
Versiuni simp ӏe aӏe ceӏor două tipuri de cifruri ofereau un grad mic de confidenția ӏitate în cazu ӏ
oponenți ӏor instruiți. Unu ӏ din prime ӏe cifruri cu substituție a fost Cifru ӏ ӏui Cezar, în care fiecare ӏiteră
din textu ӏ cӏar era în ӏocuită cu o ӏiteră af ӏată ӏa un număr fix de poziții distanță de ea în a ӏfabet.
Cifru ӏ a fost denumit astfe ӏ după Iu ӏius Cezar despre care se spune că ӏ-a foӏosit, cu o dep ӏasare de
3, în comunicația cu genera ӏii săi în timpu ӏ campanii ӏor mi ӏitare.
Înainte de epoca modernă, criptografia se ocupa doar cu asigurarea confidenția ӏității mesaje ӏor
(criptare) — conversia de mesaje dintr -o formă comprehensib iӏă într -una incomprehensibi ӏă, și inversu ӏ
acestui proces, pentru a face mesaju ӏ imposibi ӏ de înțe ӏes pentru cei care interceptează mesaju ӏ și nu au
cunoștințe secrete adiționa ӏe (anume cheia necesară pentru decriptarea mesaju ӏui).
În uӏtimeӏe decenii, d omeniu ӏ s-a extins dinco ӏo de prob ӏemeӏe de confidenția ӏitate și inc ӏude,
printre a ӏteӏe, și tehnici de verificare a integrității mesaju ӏui, autentificare a trimițătoru ӏui și
receptoru ӏui, semnătură e ӏectronică, ca ӏcuӏe securizate.
Criptarea încearcă să asigure secretu ӏ comunicații ӏor cum sunt ce ӏe între spioni, ӏideri mi ӏitari, și
dipӏomați, dar a avut și ap ӏicații re ӏigioase.4
De exemp ӏu, vechii creștini fo ӏoseau criptografia pentru a ascunde une ӏe aspecte a ӏe scrieri ӏor ӏor
reӏigioase pentru a evita p ersecuții ӏe ce i -ar fi așteptat dacă ar fi fost mai puțin atenți; număru ӏ 666 sau,
în une ӏe manuscrise mai vechi, 616, Număru ӏ fiarei din Apoca ӏipsă, este uneori considerat a fi o
referință ӏa împăratu ӏ roman Nero, a ӏe cărui po ӏitici inc ӏudeau persecuția creștini ӏor.

4 Anthony Dean, "KeePassX: Keeping Your Passwords Safe" , 2012

11
Există și referințe, chiar mai vechi, ӏa anumite cifruri evreiești. Criptografia este recomandată în
Kama Sutra ca moda ӏitate a îndrăgostiți ӏor de a co munica fără a fi descoperiți. Steganografia
(ascunderea existenței mesaju ӏui) a fost și ea dezvo ӏtată în antichitate. Unu ӏ din prime ӏe exemp ӏe, de ӏa
Herodot, imp ӏica ascunderea unui mesaj tatuat pe capu ӏ unui sc ӏav ras – sub păruӏ crescut după tatuare.
Exemp ӏe mai moderne de steganografie inc ӏud uti ӏizarea de cernea ӏă invizibi ӏă, micropuncte, și
watermarking digita ӏ.
Texte ӏe cifrate produse de cifruri ӏe cӏasice (și de une ӏe moderne) dezvă ӏuie informații statistice
despre textu ӏ cӏar, care pot fi adesea fo ӏosite pentru spargerea acestora. După descoperirea ana ӏizei
frecvenței (poate de către înț eӏeptuӏ arab a ӏ-Kindi) în preajma seco ӏuӏui aӏ IX-ӏea, aproape toate aceste
cifruri au devenit mai mu ӏt sau mai puțin ușor de spart de un atacator informat. Astfe ӏ de cifruri c ӏasice
încă se bucură astăzi de popu ӏaritate, deși mai a ӏes ca jocuri. 5
Aproape toate cifruri ӏe rămân vu ӏnerabi ӏe ӏa această tehnică de criptana ӏiză până ӏa inventarea
cifruri ӏor po ӏiaӏfabetice, de către Leon Battista A ӏberti în preajma anu ӏui 1467 (deși se pare că acesta
era cunoscut înainte și de arabi). Inovația ӏui A ӏberti a cons tat în fo ӏosirea de cifruri diferite pe părți
diferite a ӏe mesaju ӏui (ӏa ӏimită, pentru fiecare ӏiteră diferită).
Eӏ a inventat și ceea ce a fost poate primu ӏ dispozitiv autinat de cifrare, o roată ce imp ӏementa o
reaӏizare parția ӏă a invenției sa ӏe. În c ifruӏ poӏiaӏfabetic Vigenère, criptarea se bazează pe un cuvânt
cheie, care contro ӏează substituția în funcție de ce ӏiteră a cuvântu ӏui cheie se fo ӏosește. La jumătatea
aniӏor 1800, Char ӏes Babbage a arătat că cifruri ӏe po ӏiaӏfabetice de acest tip rămân vuӏnerabi ӏe ӏa
tehnici ӏe de ana ӏiză a frecvenței.
1.2 Siguranța datelor
Securitatea datelor înseamnă protejarea datelor digitale, cum ar fi
cele dintr -o bază de date, de forțele distructive și de acțiunile nedorite
ale utilizatorilor neautorizați, cum ar fi o încălcare a legii cibernetice
sau a datelor.
Disk criptarea se referă la tehnologia de criptare care criptează
datele de pe o unitate HDD. Discul de criptare are de obicei formă fie
în software (vezi software de criptare disc), fie în hardware (vedeți
hardware de criptare a discurilor). Criptarea pe disc este adesea
denumită criptare on -the-fly (OTFE) sau criptare transparentă.

5 Jason McDonald Ph.D., The Password Book: Internet Security & Passwords Made Easy, 2017 Sursa: 123RF.com

12 Soluțiile de securitate bazate pe software criptează datele pentru a le proteja de furt. Cu toate
acest ea, un program rău intenționat sau un hacker ar putea corupe datele pentru ca acest ea să devină
nerecuperabil e, făcând sistemul inutilizabil , de aceea uneori este nevoie de o parolă pentru drepturi
speciale și de administrator, o parolă de preferință cât m ai puternică .
Soluțiile de securitate bazate pe hardware pot împiedica citirea și scrierea accesului la date și,
prin urmare, oferă protecție foarte p uternică împotriva tentativei și a accesului neautorizat.
Siguranța bazată pe hardware sau securitatea inf ormatică asistată oferă o alternativă la securitatea
calculatorului numai pentru software. Stick -urile de securitate, cum ar fi cele care utilizează PKCS #
11, pot fi mai sigure datorită accesului fizic necesar pentru a fi compromise.
Accesul este activat numai când este conectat stick -ul și este introdusă parola corect (a se vedea
autentificarea în doi pași ).6
Cu toate acestea, stick -urile pot fi folosite de oricine poate avea acces fizic la acesta. Tehnologiile
mai noi în domeniul s ecurității bazate pe hardware rezolvă această problemă oferind securitate
completă a datelor.
Un dispozitiv hardware permite unui utilizator să se logheze, să se deconecteze și să stabilească
diferite niveluri de privilegii prin acțiuni manuale , cu anumite parole pentru alți utilizatori . Dispozitivul
utilizează tehnologia biometrică pentru a împiedica utilizatorii rău intenționați să se logheze, să
deconecteze și să modifice nivelurile de privilegii.
Starea curentă a unui utilizator al dispozitivului este citită de către controlorii din dispozitivele
periferice, cum ar fi hard disk -urile. Accesul ilegal de către un utilizator rău intenționat sau un program
rău intenționat este întrerupt în funcție de starea curentă a unui utilizator de către unita tea hard d isk și
unitățiilor de citire, în mod special dacă ei accesează greșit parolele sau nu le cunosc , ceea ce face
imposibil accesul ilegal la date.7
Controlul accesului bazat pe hardware este mai sigur decât protecția oferită de sistemele de
operare, deoarece sistemele de operare sunt vulnerabile la atacurile malware ale virușilor și hackerilor.
Datele de pe hard -discuri pot fi corupte după obținerea unui acces rău intenționat.
Cu ajutorul protecției hardware, software -ul nu poate manipula nivelurile privileg iilor
utilizatorului. Este imposibil ca un hacker sau un program rău intenționat să aibă acces la datele
securizate protejate de hardware sau să efectueze operațiuni privilegiate neautorizate.
Această ipoteză este invalidată numai dacă hardware -ul propriu -zis es te rău intenționat sau
conține un virus de tip backdoor.

6 Andrew Sheppard, A Book of Random Passwords, 2017
7 Mihaela Stănescu , Internetul sub amenințare: virușii informatici , Descoperă , 2012

13 Hardware -ul protejează imaginea sistemului de operare și privilegiile sistemului de fișiere
împotriva manipulării. Prin urmare, poate fi creat un sistem complet sigur folosind o combinație de
securitate bazată pe hardware și politici de securitate a sistemului , cât și parole puternice, în cazul
lucrării mele .

1.3 Protejarea datelor cu parole
Una dintre cele mai s labe legături din eforturile de securitate a calculatorului este o parolă slabă.
În ciuda eforturilor instituțiilor de a păstra hackerii în afara fișierelor personale ș i a resurselor valoroase
(de exemplu, e -mail, fișiere partajate, date sensibile, software licențiat), parolele ușor de ghicit sunt în
continuare o problemă mare.
Așa cum a fost anunțat în lumea virtuală, se implementează acum un sistem mai strict de
verificare a pa rolelor pentru sistemele de rețele pentru a combate această problemă , comparativ cu
vechile metode de parolare a unui sistem .
De fiecare dată când se va deschi de un cont nou sau se va modifica (reseta) parola, sistemul va
împiedica să fie setată o parolă care este ușor de spart.8
În plus, firmele de securitate recomandă acum "fraze de trecere" în locul parolelor. Frazele de
trecere sunt mai lungi, dar mai ușor d e reținut decât parolele complexe și dacă sunt bine alese pot oferi
o protecție mai bună împotriva hackerilor.

Regulile parolei
Parola sau parolele trebuie să respecte următoarele reguli:
 Noua parolă trebuie să fie diferit ă de parola curentă.
 Trebuie să aibă 8 caractere sau mai mult.
 Nu tre buie să se asemene cu numele de utilizator/administrator .
 Nu trebuie să fie un cuvânt care apare în dicționar.
 Trebuie să conțină caractere din cel puțin două clase de caractere diferite (litere mari și
mici, litere și simboluri, litere și numere etc.)
 Parola trebuie să fie compus ă din caractere din alfabetul roman s au simboluri de pe
tastatură .
 Trebuie să treacă un control de complexitate bazat pe un dicționar de parole, o tehnică
frecvent utilizată de atacatori pentru a sparge parole simple.

8 McTigue, E. ; Thornton, E.; Wiese, P . "Authentication Projects for Historical Fi ction: Do you believe it?" , 2013

14 Crearea unei fraze pe post de parolă
O expresie sau frază lungă este în esență doar o propoziție, inclusiv spații le sale, pe care se pot
folosi în loc de un singur cuvânt d e trecere. " Frazele/expresiile trebuie să aibă o lungime de cel puțin
15 până la 25 de caractere (spațiile se numără ca și caractere), dar nu reprezintă mai puțin.
Mai mult înseamnă mai bine pentru că, deși frazele scrise par simple , lungimea mărită oferă atât
de multe permutări posibile încâ t un program standard de crack -uire a parolelor nu va fi eficient. Este
întotdeauna un lucru bun să deghizăm a ceastă simplitate prin alternarea de cuvinte, încruțișate sau
aleatorii .
Aici, de exemplu, putem da următoarele fraze :
 iarna este cel mai frumos anotimp
 vara este foa rte cald
Punctați și capitalizați fraza:
 IARNA este cel mai frumos anotimp !
 Vara este foarte CALD.
Se vor pune și câteva numere sau simboluri din rândul de sus al tastaturii, plus câteva cuvinte în
mod intenționat greșit, și se va crea o parolă aproape imp osibil de găsit :
 IARNA 33 este cel mai frumos anotimp!
 Vara $% este foarte CALD.
Dacă expresia/fraza se bazează pe un slogan bine cunoscut, expresie, versuri cântece sau citat,
inițiatorul trebuie să se asigur e că îl personalizează cu cuvinte greșite, gramatică proastă, cuvinte
inventate, greșeli deliberate sau simboluri clar e introduse de tastatură. Se pot afla mai multe modalități
de a amesteca cuvintele folosind tacticile descrise în secțiunea Crearea de parole puternice și
eficiente , de mai jos.9
Fraza nu trebuie să conțină niciodată informații care să identifice personal inițiatorul , cum ar fi
numerele de securitate socială, numerele de telefon, numerele cărților de credit, d atele de naștere sau
numele de familie al utilizator ului.
În schimb, inițiatorul să se bazeze pe o frază /parolă care are su ficientă semnificație pentru el încât
să o rețină cu ușurință, apoi să o amestece cu simboluri sau cuvinte. Trebuie să evite expresii compuse
din cuvinte comune, mai mici.

9 Li, Ling, "Technology designed to combat fakes in the global supply chain" , 2013

15 De exempl u, "Îmi iube sc câinele ", deși este suficient de lung ă pentru a fi o parolă destul de
decentă, conține atât de multe cuvinte mici, încât un program de spargere a parolelor ar putea avea mai
multe șanse să -l descifreze. Cu toate acestea, "Orașul Timișoara este aglomerat în luna august!" sau
"Plaja din Mamaia este plină de turiști !" sunt parole acceptabile și ușor de reținut.

Crearea de parole puternice și eficiente
Parolele mai lungi sunt parole mai bune. Cu cât
sunt mai multe caractere, un ui program de crack -uit a
parolelor îi va lua mai mult timp ca să le găsească .
Se încearcă eliminarea tuturor vocalelor dintr -o
scurtă expresie pentru a se crea un "cuvânt doar cu
consoane ".
Exemplu: Ttpsclsntlb ("Toate pisicile sunt albe ")
Se poate utiliza un acronim: se va alege prima sau a
doua literă din o frază preferată.
Exemplu: âesear ("Câinele meu este cel mai frumos ").10
Se amestecă caractere și non -caractere în parolele utilizatorului . (Non-caracterele includ numerele și
toate caracterele de punctuație de pe tastatură.)
Se poate t ransforma o expresie utilizând numere sau semne de punctuație.
Exemple: nu m1 -ar p!@ce s@ merg (Nu mi -ar place să merg).
Se va evita alegerea unei parole care să se scrie într -un singur cuvânt. Dar, dacă trebuie, atunci:
Se vor introduce caractere "silențioase" în cuvânt. Exemplu: m@as!ina@
În mod deliberat se poate greși cuvântul sau fraza.
Exemplu: Musica în loc de Muzică.
Se poate alege un cuvânt care nu este compus di n cuvinte mai mici.

Parole de evitat – Ceea ce caută sistemul
În plus față de cerințele de bază pentru lungimea și clasa de caractere, sistemul va verifica și
parola pentru vulnerabilități la atacurile de tipul dicționar și modele simple care fac parolel e vulnerabile
la tehnicile comune folosite de atacatori.

10 Adleman, Leonard M.; Rothemund, Paul W. K.; Roweis, Sam; Winfree, Erik, On Applying Molecular Computation To
The Data Encryption Standard. Proceedings of the Second Annual Meeting on DNA Based Computers. Princeton
University. , 1996
Sursa: Dreamst ime.com

16 Exemplele de mai jos conțin parolele pe care un sistem le va respinge deoarece sunt met ode
utilizate în mod obișnuit la parolele "ușor de ghicit".

 Numele animalului preferat
 Ziua de nuntă
 Data de naștere
 Numele de familie
 Numele de fată
 Adresa sau orașul natal
 Parola scrisă doar cu numere
 Cuvântul "parolă"
 Ceva legat de o echipă sportivă preferată, muzică,
filme
 Numele unui animal de companie, al unui copil, al unui membru al familiei sau altul
semnificativ .

Dicționar de cuvinte
Sistemul de verificare a parolelor în general afișează toate parolele împotriva propriului dicționar
mare de 2,7 milioane de cuvinte comune în engleză și non -engleză. Cuvintele din majoritatea limbi lor
majore sunt reprezentate, scrise înainte și înapoi. Astfel de dicționar e se actualizează periodic pentru a
acop eri toate cuvintele specifice . Orice cuvinte găsite în acest dicționar sunt respinse ca și parole.11

Capitalizare
Parolele capitalizate fac difere nța între majuscule și minuscule : literele mari și minuscule sunt
considerate litere separate. Capitalizarea literelor aleatoare într -un cuvânt din di cționar (adDAggRR ) nu
va deranja programul de generare parole . Ideea este de a capitaliza liter ele într -o parolă non -cuvânt,
pentru a oferi un alt nivel de complexitate împ otriva altor programe de crack -uire a parolelor.
Au dispărut zilele în care o singură parolă scurtă, ușor de reținut putea să ofere acces la orice
utilizator sau program, acum put em să generăm automat un număr infinit de caractere a parole .
Companiile își schimbă acum regulile în ce tipuri de caractere pot să creeze o parolă și multe servicii
protejate prin parolă necesită ca utilizatorul să își schimbe parola de mai multe ori pe a n.

11 Burnett , Mark; Foster, James C, Hacking the Code: ASP.NET Web Application Security , 2004
Sursa: balkanweb.com

17 Parolele sunt importante și majoritatea oamen ilor nu știu suficient despre ele . Cum să aleagă o
parolă puternică, să nu folosească o parolă unică peste tot , cum trebuie să își asigure conturile, astfel
încât să fie în siguranță, chiar dacă cineva îi va descoperi parola.12

1. 4 Metode a a ataca o parolă
Un analizor de pachete (cunoscut și sub numele de pachet sniffer) este un program de calculator
sau o piesă hardware de calculator care poate intercepta și înregistra traficul care trece printr -o rețea
digitală sau o parte a unei rețele.
Captarea de pachete este procesul de in terceptare și logare a traficului. Pe măsură ce fluxurile de
date circulă în rețea, snifferul captează fiecare pachet și, dacă este necesar, decodează datele brute ale
pachetului, arătând valorile câmpurilor diferite din pachet și analizează conținutul ace stuia în
conformitate cu specificațiile RFC sau alte specificații.
Un analizor de pachete utilizat pentru interceptarea traficului pe rețele fără fir este cunoscut ca un
analizor wireless sau analizor Wi -Fi. Un analizor de pachete poate fi, de asemenea, denumit analizor de
rețea sau analizor de protocol, deși acești termeni au și alte semnificații.
La rețele LAN cu fir, cum ar fi rețelele Ethernet, Token Ring și FDDI, în funcție de structura
rețelei (hub sau switch), se poate capta traficul pe toate sau o parte a rețelei dintr -o singură mașină din
rețea.
Cu toate acestea, unele metode evită restrângerea traficului prin comutatoare pentru a obține
acces la trafic de la alte sisteme din rețea (de exemplu, spionarea ARP). În scopul monitorizării rețelei,
poate fi de dorit să se monitorizeze toate pachetele de date într -o rețea LAN folosind un comutator de
rețea cu un port de așa -numită monitorizare care reflectă toate pachetele care trec prin toate porturile
comutatorului atunci când sistemele sunt c onectate la un port de comutare .
Pentru a utiliza o rețea de acest tip se cere o soluție chiar mai fiabilă decât să se utilizeze un port
de m onitorizare, deoarece conexiunile sunt mai puțin probabil să renunțe la pachete în timpul încărcării
mari a traficului.

Atacul prin force -brute , în criptografie, un atac de forță brute constă într -un atacator care încearcă
multe parole sau fraze de acces cu speranța de a ghici în cele din urmă în mod corect. Atacantul verifică
în mod sistematic toate frazele și parolele posib ile până când se găsește codul corect.
Alternativ, atacatorul poate încerca să ghicească cheia care este de obicei creată din parolă
utilizând o funcție de derivare cheie.

12 Diffie, W.; Hellman, M.E. "Exhaustive Cryptanalysis of the NBS Data En cryption Standard" , 1998

18 Aceasta este cunoscută ca o căutare cheie completă. Un atac brute -force este un at ac criptanalitic
care, teoretic, poate fi utilizat pentru a încerca să decripteze orice date criptate (cu excepția datelor
criptate într -o manieră teoretic sigură).13
Un astfel de atac ar putea fi folosit atunci când nu este posibil să se profite de alte d eficiențe ale
unui sistem de criptare (dacă există) care ar ușura sarcina. Când se ghicește parola, această metodă este
foarte rapidă când se utilizează pentru a verifica toate parolele scurte, dar pentru parole mai lungi sunt
folosite alte metode, cum ar fi atacul dicționarului, deoarece căutarea forței brute durează prea mult.
Parolele mai lungi, frazele de acces și cheile au mai multe valori posibile , făcându -le mai greu de
descifrat exponențial decât cele mai scurte. 14
Atacurile de forță brute pot fi m ai puțin eficiente prin obscurarea datelor care urmează a fi
codificate, ceea ce face mai dificil pentru un atacator să recunoască când codul a fost spart sau făcând
atacatorul să facă mai multă mun că pentru a testa fiecare încercare . Una dintre măsurători le puterii unui
sistem de criptare este cât timp i-ar lua teoretic un ui atacator pe ntru a efectua un atac de forță brută .
Atacul brut este o aplicație de căutare a parolelor prin folosirea forței brute, tehnica generală de
rezolvare a problemelor de a enumera toți candidații și de a verifica fiecare dintre ei.

13 Graham, Robert David . "Password cracking, mining, and GPUs" , 2011
14 Mims, Christopher, "The Password Is Finally Dying. Here's Mine". Wall Street Journal , 2014
Sursa: richi-30209268.blogspot.com

19 1.5 Securitatea și puterea parolei
Puterea parolei este o măsură a eficacității unei parole împotriva atacurilor de ghicit sau a forței
brute. În forma sa obișnuită, se estimează câte încercări un atacator care nu are acces direct la parolă ar
avea nevoie, în medie, să o ghicească co rect. Puterea unei parole este în funcție de lungime,
complexitate și imprevizibilitate.
Utilizarea parolelor puternice reduce riscul general de încălcare a securității, dar parolele
puternice nu înlocuiesc necesitatea altor controale eficiente de securitate. Ef icacitatea unei parole cu o
anumită forță este determinată puternic de proiectarea și implementarea factorilor (cunoaștere,
proprietate, inerență).15
Rata la care un ataca tor poate trimite parole la întâmplare într -un sistem este un factor cheie în
determi narea securității sistemului. Unele sisteme impun o scurtă perioadă de timp de câteva secunde
după ce un număr mic (de exemplu, trei) a încercărilor de introducere a parolei nu a reușit.
În absența altor vulnerabilități, astfel de sisteme pot fi asigurate eficient cu parole relativ simple.
Cu toate acestea, sistemul trebuie să stocheze informații despre parolele utilizatorilor într -o anumită
formă și, dacă infor mația este furată, să spunem prin încălcarea securității sistemului, parolele
utilizatorilor pot fi în pericol.16
Parolele sunt create fie automat (folosind echipamente de
randomizare), fie de către un om; ultimul caz este mai frecvent.
În timp ce puterea parolelor alese în mod aleatoriu împotriva
unui atac de forță brute poate fi calculată cu precizie,
determinarea puterii parolelor generate de oameni este o
provocare.
În mod obișnuit, oamenii sunt rugați să aleagă o parolă,
ghidată uneori de sugestii sau restricționată de un set de reguli, atunci când creează un nou cont pentr u
un sistem informatic sau un site Web de Internet.
Numai estimările brute ale puterii sunt posibile, deoarece oamenii tind să urmeze modele în astfel
de sarcini, iar acele modele pot ajuta de obicei un atacator. În plus, listele cu parole alese în mod
obișnuit sunt disponibile pe scară largă pentru a fi ut ilizate de programele de crack -uire a parolelor.
Printre aceste liste se numără numeroasele dicționare online pentru diferite limbi umane, care au
fost încărcate în bazele de date cu text de tip ”plaintext ” și au fost introduse parole din diferite conturi
de afaceri online și sociale, împreună cu alte parole comune ale utilizatorilor din întreaga lume .

15 Paar, Christof; Pelzl, Jan; Preneel, Bart, Understanding Cryptography: A Textbook for Students and Practitioners , 2010
16 H. Georgescu –Tehnici de programare, Ed. Univ. București, 2005
Sursa: PYMNTS.com

20 Toate elementele din aceste liste sunt considerate slabe, la fel ca parolele care sunt simple
modifi cări ale acestora. De câteva decenii, investigațiile privind parolele pe sistemele informatice
multi -utilizator au arătat că 40% sau mai mult sunt ușor ghicite folosind doar programe de calculator și
mai multe pot fi găsite atunci când informațiile despre un anumit utilizator sunt luate în considerare în
timpul atacului .17

1.6 Autentificarea
Autentificarea (din limba greacă: αφυτανής authentikos,
"adevărat, autentic") este actul de confirmare a adevărului
unui atribut al unei singure bucăți de date revend icate de o
entitate. Spre deosebire de identificare, care se referă la actul
de a declara sau a indica altfel o afirmație care atestă
identitatea unei persoane sau a unui lucru, autentificarea este
procesul de confirmare a identității. 18
Aceasta ar putea presupune confirmarea identității unei
persoane prin validarea documentelor de identitate, verificarea
autenticității unui site web cu un certificat digital, stabilirea
vârstei unui artefact prin stabilirea datei cu carbon sau asigurarea faptului că un produs este ceea ce
pretinde ambalajul și etichetarea acestuia , în cazul nostru, se referă la autentificarea persoanei care
dorește printr -o parolă să se conecteze la un dispozitiv/rețea .
Cu alte cuvinte, autentificarea implică a desea verificarea validității a cel puțin unei forme de
identificare. Un tip de autentificare acceptă dovada identității date de o persoană credibi lă care are
dovezi de primă certitudine că identitatea este autentică.
Bazându -se pe încredere a bazată pe au toritate a centralizată , cea mai sigură comunicare pe
internet este prin intermediul certificatelor de securitate cunoscute, descentralizată în sistemul peer-
trust, cunoscut și sub denumirea d e web de încredere, fiind folosit pentru servicii personale cum a r fi e –
mail sau fișiere (confidențialitatea destul de bună, ”GNU Privacy Guard ”) și încrederea este stabilită de
indivizi cunoscuți semnând cheia criptografică, de exemplu.19

17 D. Knuth -Arta programării calculatoarelor,vol 3: Sortare și căutare, Editura Teora, București, 2002
18 Reynard, Robert, Secret Code Breaker II: A Cryptanalyst's Handbook , 1997
19 Forouzan, Data Commn & Networking 4E Sie. McGraw -Hill Education (India) Pvt Limited , 2007
Sursa: ttps://f cw.com/

21

Cele mai frecvente tipuri de autentificare disponibile în uz pentru autentificarea utilizatorilor
online diferă în nivelul de securitate furnizat prin combinarea factorilor din una sau mai multe dintre
cele trei categorii de factori pentru autentificare:

Autentificarea cu un singur f actor
Fiind cel mai slab nivel de autentificare, doar o singură componentă din una din cele trei categorii
de factori este utilizată pentru a autentifica identitatea unui individ. Utilizarea unui singur factor nu
oferă o protecție prea mare împotriva utili zării incorecte sau a unei intruziuni dăunătoare. Acest tip de
autentificare nu este recomandat pentru tranzacții financiare sau personale relevante care să justifice un
nivel mai ridicat de securitate , sau pentru protejarea datelor personale cu o singură parolă .

Autentificare în două factori
Atunci când pentru autentificare sunt necesare elemente care reprezintă doi factori, se aplică
termenul de autentificare c u doi factori, de exemplu un card bancar (ceva ce are utilizatorul) și un cod
PIN (ceva ce știe utilizatorul). Rețelele de afaceri pot solicita utilizatorilor să furnizeze o parolă (fact or
de cunoaștere) și un număr pseudorandom dintr -un jeton de securitate (factor de proprietate).
Accesul la u n sistem de securitate foarte înalt poate necesita o verificare în mantrap ( controlul de
acces), a verificărilor de înălțime, greutate, identitate facială și amprentă (mai multe elemente de factor
de inerență) plus un cod PIN și un cod de zi (elemente de factor de cunoaștere) , factor de autentificare.

Sursa: Medium.freecodecamp.com

22 Multi -factor de autentificare
În loc să utilizeze doi factori utilizați în 2FA, factorii de auten tificare multipli sunt utilizați pentru
a spori securitatea unei tranzacții în comparație cu procesul de autentificare 2FA.
Autentificarea informațiilor poate crea probleme speciale în ceea ce privește comunicarea
electronică, cum ar fi vulnerabilitatea la atacurile de tip "man -in-the-middle", prin care o terță parte
interceptează fluxul de comunicare și posedă ca și celelalte două părți comunicante, informații de la
fiecare. Se pot cere factori de identitate suplimentari pentru a autentifica identitatea fi ecărei părți.
Termenul autentificare digitală se referă la un grup de procese în care se stabilește încrederea în
identitatea utilizatorilor și se prezintă prin metode electronice unui sistem informatic. Este, de
asemenea, denumită e -autentificare.20
Proce sul de autentificare digitală creează provocări tehnice datorită nevoii de autentificare a
persoanelor sau entităților de la distanță printr -o rețea. Institutul American de Standarde și Tehnologie
(NIST) a creat un model generic pentru autentificarea digit ală care descrie procesele care sunt utilizate
pentru a realiza o autentificare sigură:

 Înscriere – o persoană se aplică unui furnizor de servicii de credite (CSP) pentru a iniția
procesul de înscriere. După ce a demonstrat cu succes identitatea solicitan tului, CSP
permite solicitantului să devină abonat.
 Autentificare – După ce a devenit abonat, utilizatorul primește un autentificator, de
exemplu, un jeton și acreditări, cum ar fi un nume de utilizator. El sau ea este apoi
autorizat să efectueze tranzacți i online în cadrul unei sesiuni autentificate cu o parte care
se bazează, în cazul în care trebuie să furnizeze dovada , că posedă unul sau mai mulți
autentificatori.
 Întreținerea ciclului de viață – CSP are sarcina de a menține acreditarea utilizatorului p e
parcursul duratei sale de viață, în timp ce abonatul este responsabil pentru menținerea
autentificatorului (autentificatorilor).

20 Lloyd, Brian; Simpso n, William Allen, "Password Authentication Protocol" , 2015

23

Sursa: electric -cloud.com

24 Capitolul II. Softurile folosite pentru aplicație
2.1 Limbajul C++
C++ este un ӏimbaj de programare genera ӏ, compi ӏat. Este
un ӏimbaj mu ӏti-paradigmă, cu verificarea statică a tipu ӏui
variabi ӏeӏor ce suportă programare procedura ӏă, abstractizare a
dateӏor, programare orientată pe obiecte. În anii 1990, C++ a
devenit unu ӏ dintre ce ӏe mai popu ӏare ӏimbaje de programare
comerci aӏe, rămânând astfe ӏ până azi .21
Bjarne Stroustrup de ӏa Be ӏӏ ӏabs a dezvo ӏtat C++ (iniția ӏ
denumit C cu c ӏase) în anii 1980, ca o serie de îmbunătățiri a ӏe
ӏimbaju ӏui C. Acestea au început cu adăugarea noțiunii de c ӏase,
apoi de funcții virtua ӏe, suprascrierea operatori ӏor, moștenire
muӏtipӏă, șab ӏoane (eng ӏeză temp ӏate) și excepții. ӏimbaju ӏ de programare C++ a fost standardizat în
1998 ca și ISO 14882:1998, v ersiunea curentă fiind din 2003 . Următoarea versiune standard, cunoscută
informa ӏ ca C++0x, este în ӏucru.
Stroustrup a început să ӏucreze ӏa C cu c ӏase în 1979. Ideea creării unui nou ӏimbaj a venit din
experiența de programare pentru pregătirea tezei sa ӏe de doctorat. Stroustrup a desco perit că Simu ӏa
avea faci ӏități foarte uti ӏe pentru proiecte mari, însă era prea ӏent, în timp ce BCP ӏ era rapid, însă nu era
de nive ӏ înaӏt și era nepotrivit pentru proiecte mari.
Când a început să ӏucreze pentru Be ӏӏ Labs, avea sarcina de a ana ӏiza nuc ӏeuӏ UNIX referitor ӏa
caӏcuӏ distribuit. Amintindu -și de experiența sa din perioada ӏucrării de doctorat, Stroustrup a început să
îmbunătățească C cu faci ӏități asemănătoare Simu ӏa. C a fost a ӏes deoarece era rapid și portabi ӏ. ӏa
început faci ӏitățiӏe adau gate C -uӏui au fost c ӏase, c ӏase derivate, verificare a tipu ӏui, in ӏine și argumente
cu va ӏori imp ӏicite.
În timp ce Stroustrup a proiectat C cu c ӏase (mai apoi C++), a scris de asemenea și Cfront, un
compi ӏator care genera cod sursă C din cod C cu c ӏase. Prima ӏansare comercia ӏă a fost în 1985.
În 1982, nume ӏe ӏimbaju ӏui a fost schimbat de ӏa C cu c ӏase ӏa C++. Au fost adaugate noi
faciӏități, inc ӏusiv funcții virtua ӏe, supraîncărcarea operatori ӏor și a functii ӏor, referințe, constante,
aӏocare dinamică, un contro ӏ aӏ tipuӏui mai puternic și noua variantă de comentariu pe un singur rând
(ӏiniiӏe care încep cu caractere ӏe '//').
În 1985 a fost ӏansată prima ediție a cărții "The C++ Programming Language" ( ӏimbaju ӏ de
programare C++), oferind informații importante despre ӏimbaj, care încă nu era un standard oficia ӏ.

21 A. Alexandrescu and D. Held. “Smart Pointers Reloaded” (C/C++ Users Journal, 2010
Sursa: Bloodshed.net

25 În 1989 a fost ӏansată versiunea 2.0 a C++. Au apărut acum moștenirea mu ӏtipӏă, cӏase abstracte,
funcții statice, funcții constante și membri protected . În 1990 o a ӏtă carte a fost ӏansată, oferind suport
pentru standarde viitoare. U ӏtimeӏe adăugări inc ӏudeau temp ӏate-uri, excepții, spații de nume
(namespace -uri) și tipu ӏ booӏean.22
O dată cu evo ӏuția ӏimbaju ӏui C++, a evo ӏuat și o bib ӏiotecă standard. Pr ima adăugire a fost
bibӏioteca de intrări/ieșiri (I/O stream), care oferea faci ӏități pentru a în ӏocui funcții ӏe tradiționa ӏe C
cum ar fi printf și scanf. Mai târziu, printre ce ӏe mai semnificative adăugari ӏa biblioteca standard a fost
STL (Standard Template Library) (Biblioteca de formate standard).

Exemplu de cod C++:

22 A. Alexandrescu and P. Marginean. “Change the Way You Write Exception -Safe Code —Forever” (C/C++ Users Journal,
18(12), December 2000

26

2.2 .NET Framework
NET Framework (pronunțat dot net) este un cadru software dezvoltat de Microsoft care rulează în
primul rând pe Microsoft Windows. Acesta include o bibliotecă de clasă mare denumită Framework
Class Library (FCL) și oferă interoperabilitate lingvistică (fiecare limbă poate folosi codul scris în alte
limbi) în mai multe limbi de programare.
Programele scrise pentru .NET Framework se execută într -un mediu softwar e (în contrast cu un
mediu hardware) numit ”Common Language Runtime ” (CLR), o aplicație virtuală care oferă servicii
precum securitatea, gestionarea memoriei și tratarea excepțiilor. (Ca atare, codul computerului scris
folosind .NET Framework se numește "c od gestionat".) FCL și CLR constituie împreună .NET
Framework.23

23 Landwerth, Immo (12 November 2014). ".NET Core is Ope n Source". .NET Framework Blog. Microsoft. Retrieved 30
December 2014

27 FCL oferă interfața pentru utilizator, acces la date, conectivitate la baze de date, criptografie,
dezvoltare de aplicații web, algoritmi numerici și comunicații de rețea. Programatorii produc software
prin combinarea codului lor sursă cu .NET Framework și alte biblioteci.
Cadrul este destinat să fie utilizat de majoritatea aplicațiilor create pentru platforma Windows. De
asemenea, Microsoft produce un mediu integrat de dezvoltare în mare part e pentru software -ul .NET
numit Visual Studio.
.NET Framework a început ca software proprietar, deși firma a lucrat pentru a standardiza stiva
software -ului aproape imediat, chiar înainte de prima lansare. În ciuda eforturilor de standardizare,
dezvoltator ii, în special cei din comunitățile software gratuite și cu surse deschise, și -au exprimat
neliniștea cu termenii selectați și cu perspectivele de implementare gratuită și open -source, în special în
ceea ce privește brevetele software. 24
De atunci, Microsoft a schimbat dezvoltarea .NET pentru a urmări mai îndeaproape un model
contemporan al unui proiect software dezvoltat în comunitate, inclusiv emiterea unei actualizări a
brevetului său, promițând să răspundă
preocupărilor.
.NET Framework a condus la crearea
unei familii de platforme .NET care să
vizeze computerele mobile, dispozitivele
încorporate, sistemele de operare
alternative și plug -in-urile de browser web.
O versiune redusă a cadrului, .NET
Compact Framework, este disponi bilă pe platformele Windows CE, inclusiv pe dispozitivele Windows
Mobile precum smartphone -urile. .NET Micro Framework se adresează dispozitivelor încorporate cu
resurse foarte limitate.
Silverlight a fost disponibil ca plugin de browser web. Mono este disponibil pentru multe sisteme
de operare și este personalizat în sistemele de operare populare pentru smartphone -uri (Android și iOS)
și în motoarele de jocuri. .NET Core vizează platforma Windows Universal (UWP) și volumul de lucru
pe platforme și ”cloud computing ”.25

24 MacDonald, Matthew; Szpuszta, Mario (2005). Pro ASP.NET 2.0 in C# 2005
25 Garbage Collection —Part 2: Automatic Memory Management in the Microsoft .NET Framework". Archived from the
original on 26 June 2007. Retrieved 1 June 2008.
Sursa: Expta.com

28 Securitate
.NET Framework are propriul mecanism de securitate cu două caracteristici generale: Security
Access Code (CAS), validare și verificare. CAS se bazează pe dovezi care sunt asociate cu o ansamblu
specific. De obicei, dovezile sunt sursa ansamblului (fie că este instalat pe mașina locală, fie că a fost
descărcat de pe Internet).
CAS utilizează dovezi pentru a determina permisiunile acordate codului. Un alt cod poate cere ca
acel cod de apelare să primească o permisiune specificată. Cererea determină CLR să efectueze o
verificare în stiva de apel: fiecare ansamblu a fiecărui metodă din stiva de apel este verifi cat pentru
permisiunea necesară, în cazul în care nu se ac ordă permisiunea unei adunări, o exce pție de securitate
este afișată .

2.3 Visual Basic
Visual Basic .NET (VB.NET) este un
limbaj de programare multi -paradigmă,
orientat obiect, implementat pe .NET
Framework. Microsoft a lansat VB.NET în
2002 ca succesor al limbii sale originale
Visual Basic. Deși porțiunea ".NET" a fost
abandonată în 2005, acest articol folosește
"Visual Basic [.NET]" pentru a se referi la
toate versiunile de limbi Visual Basic din
2002, pentru a face distincția între ele și
Visual Basic clasic. Împreună cu Visual C #, acesta este unul dintre cele două limbi principale care
vizează cadrul .NET.26
Mediul de dezvoltare integrat al Microsoft (IDE) pentru dezvoltarea în limba Visual Basic .NET
este Visual Studio. Majo ritatea edițiilo r Visual Studio sunt comerciale, singurele excepții sunt Visual
Studio Express și comunitatea Visual Studio, care sunt gratuite. În plus, SDK -ul .NET Framework
include un compilator de linii de comandă freeware numit vbc.exe. Mono include, de asemenea, un
compilator de linie de comandă VB.NET.
VB.NET utilizează instrucțiuni pentru a specifica acțiunile. Cea mai comună afirmație este o
declarație de expresie, constând dintr -o expresie care urmează să fie evaluată, pe o singură linie. Ca
parte a acestei evaluări, se pot apela funcții sau subrutine, iar variabilelor li se pot atribui noi valori.

26 Loop Structures (Visual Basic) – Microsoft.com Visual Basic Programming Guide. Last updated December 4, 2017
Sursa: latofonts.com

29 Pentru a modifica execuția secvențială normală a instrucțiunilor, VB.NET furnizează mai multe
instrucțiuni de flux -control identificate prin cuvinte ch eie rezervate. Programarea structurată este
susținută de mai multe constructe, inclusiv două construcți i condiționate de execuție ( If … Then …
Else … End If and Select Case … Case … End Select ) și trei construcții iterative de execuție (buclă)
(Do … Loop, For … To , și Pentru fiecare).27
Declarația For … Pentru a conține secțiuni separate de inițializare și testare, ambele trebuie să fie
prezente. (Vedeți exemplele de mai jos.) Pașii instrucțiunilor Fiecare pentru fiecare valoare dintr -o
listă.
În plus, în Visual Basic .NET:

 Nu există un mod unificat de definire a blocurilor de declarații. În schimb, anumite
cuvinte cheie, cum ar fi "If … Then" sau "Sub", sunt interpretate ca începători ale sub –
blocurilor de cod și au potrivite cuvinte cheie de terminare, cum ar fi "End If" sau "End
Sub".
 Declarațiile se termină cu un colon (":") sau cu sfârșitul liniei. Exemplele de linii multiple
din Visual Basic .NET sunt activate cu "_" la sfârșitul fiecărei linii. Necesitatea
caracterului de continuare a sublinierii a fost în mare parte eliminată în versiunea 10 și
versiunile ulterioare.
 Semnul egal ("=") este folosit în ambele valori de atribuire la variabile și în comparație.
 Parantezele rotunde (paranteze) sunt utilizate cu matrice, atât pentr u a le declara, cât și
pentru a obține o valoare la un indice dat în unul dintre ele. Visual Basic .NET utilizează
paranteze rotunde pentru a defini parametrii subrutinelor sau funcțiilor.
 Un marcaj unic ('), plasat la începutul unei linii sau după orice număr de caractere spațiu
sau tab la începutul unei linii sau după alt cod pe linie, indică faptul că linia (restul) liniei
este cometariu.
Schimbările au modificat numeroasele ipoteze care st au la baza legăturii dintre performanță și
întreținere. Unele funcț ii și biblioteci nu mai există, altele sunt disponibile, dar nu la fel de eficiente ca
alternativele "native" .NET.
Chiar dacă compilează, majoritatea aplicațiilor Visual Basic 6 care vor fi convertite vor necesita
un anumit nivel de refactorizare pentru a profita din plin de noua limbă. Documentația este disponibilă
pentru a acoperi modificările în sintaxă, aplicații de depanare, implementare și terminologie.

27 PSC. "Visual Basic 6.0 third party components for modern standards (a review)". Planet Source Code. Retrieved 4 April
2014

30 Următoarele exemple simple co mpară sintaxa VB și VB.NET. Ele presupun că dezvoltatorul a
creat un formular, a pus un buton pe el și a asociat subrutinele demonstrate în fiecare exemplu cu
ajutorul unui handler al evenimentului clic k al butonului menționat. Fiecare exemplu creează o ca setă
de mesaj "Hello, World" după ce se face clic pe butonul din formular.

Mai jos avem un exemplu de creare a unui ”string” în aplicație consolă :

31
Această bucată de coduri scoate triunghiul lui Floyd în consolă :

2.4 C++ compiler
Un compilator este un program de calculator care transformă codul computerului scris într -un
limbaj de programare (limba sursă) într -un alt limbaj de programare (limba țintă). Compilatorii sunt un
tip de traducător care acceptă dispozitive digitale, în primul rând computere.
Cu toate acestea, există multe tipuri diferite de compilatoare. Dacă programul compilat poate rula
pe un computer a cărui CPU sau sistem de operare este diferit de cel pe care rulează compilatorul,
compilatorul este un compilator încrucișa t.28
Un compilator de bootstrap este scris în limba jul pe care intenționează să o compileze. Un
program care se traduce dintr -un limbaj de nivel inferior la un nivel superior este un decompilator.

28 C++11 Language Features Compliance Status". Embarcadero. Retrieved 2018

32 Un program care traduce între limbi de nivel înalt este de obicei numit un compilator sursă -sursă
sau transpilator.
Un reseller de limbaj este de obicei un program care traduce expresia fără a schimba limba jul.
Termenul compilator -compilator se referă la instrumentele folosite pentru a crea parser -ele care
efect uează analiza sintaxei.29
Compilatorul de nume este utilizat în primul rând pentru programele care traduc codul sursă de la
un limbaj d e programare la nivel înalt la un limbaj de nivel inferior (de exemplu, limba j de asamblare,
codul obiect sau codul mașin ii) pentru a crea un program executabil.
Visual C ++ include un compilator C ++ de linie de comandă pe care inițiatorul îl poate folosi
pentru a crea totul, de la aplicațiile de consolă de bază la aplicațiile Windows universale, aplicațiile
Windows Store ș i componentele .NET.
În acestă perspectivă , se poate crea un program de bază, ca exemplu -style C ++, utilizând un
editor de text și apoi se va compila pe linia de comandă. Dacă se dorește să se încerce Visual Studio
IDE în loc să se utilizeze linia de com andă, se va consulta manualul : Lucrul cu proiecte și soluții (C
++) sau Utilizarea Visual Studio IDE pentru C ++ Desktop Development.
În această privință , se poate utiliza propriul program Visual C ++ în loc să se tasteze unul care
este afișat sau se poate utiliza o mostră de cod Visual C ++ dintr -un alt articol de ajutor.
Computerel e înțeleg un singur limbaj și acel limbaj constă în setur i de instrucțiuni făcute din 1 și
din zerouri. Acest limbaj de computere este denumit în mod corespunzător limbajul mașinii.
O instrucțiune unică pe un computer ar putea arăta astfel:

Un program de limbaj special al unui computer, care permite unui utilizator să introducă două
numere, adaugă cele două numere împreună și afișează totalul care poate include aceste instrucțiuni
pentru codul mașinii:

29 "Chapter 1. Status", The GNU C++ Library Manual, GNU Project, retrieved 2017

33 Pentru a facilita p rogramarea, s -au dezvoltat limbaje de nivel înalt. Programele de nivel înalt
facilitează, de asemenea, progr amatorii să -și inspecteze și să înțeleagă reciproc programele mai ușor.
Când se selectează compilatorul, trebuie să se ia în cons iderare sistemul de operare folosit,
preferințele inițiatorului personale ș i documentația pe care o poate utiliza.
În cazul în care nu are acces la un copilator , dacă va dori sau avea nevoie de un co mpilator
instalat pe mașina sa, poate utiliza un compilator gratuit WEB disponibil pe diverse site -uri (ex.
http://codepad.org ), dar va trebui să schimbe codul care nu necesită o intra re interactivă). Se poate
obține î ntotdeauna unul local dacă va avea nevoie de el.
Limbajele de programare de nivel superior apar, de obicei, cu un tip de traducere în minte: fie
concepute ca limbaj compilat, fie interpretat .
Cu toate acestea, în pract ică, rareori este vorba despre un limbaj care necesită o interpretare
exclusivă sau o compilare exclusivă, deși este posibil să se pro iecteze limbaje care se bazează pe re –
interpretare la timpul de execuție.30
Clasificarea reflectă de obicei cele mai popul are sau mai răspândite implementări ale unui limbaj
– de exemplu, BASIC este uneori numit un limbaj interpretat, iar C este compilat , în ciuda existenței
compilatoarelor BASIC și a interpreților C. Există multe compilatoare și chiar mai multe IDE -uri, unele
fiind gratuite și open source. IDE -urile vor include adesea în instalarea compilatorul necesar (fiind cel
mai comun GCC).

30 The compiler", Compiler User Guide, Keil, retrieved 2018

34 Capitolul III. Realizarea aplicației
3.1 Descrierea aplicației
Securitatea este un su biect vast și acoperă o multitudine de imperfecțiuni. În forma sa cea mai
simplă, ea se asigură că persoane le curioase nu po t citi sau, și mai rău, modifice mesajele ce sunt
adresate altor destinatari , cât și accesarea în mod ilegal al unui sistem . Ea se ocupă de persoanele care
încearcă să acceseze servicii le și rețelele ce nu le aparțin, și nu sunt autorizați să le folosească .
În această privință documentându -mă mult în domeniul acesta, am creat aplicația mea, care est e
foarte eficientă. Am folosit diverse programe, între care C++, Visual Basic, .NET Framework , cât și
compilatorul C++ compiler .

3.2 Scopul și obiectivele aplicației
Ca și scop, este de la sine înțeles ca am dorit sa vin în ajutorul acelor persoane ce sunt nehotărâte
dar doresc să aibe parole puternice, însă nu au o inspirație pentru crearea uneia, ori de multe ori uită
parolele create, astfel că această aplicație creată de mine le vine în ajutor datorită faptului că va salva și
parolele create în propria arhivă, dacă se v a dori acest lucru, astfel că o parolă nu trebuie memorată ori
salvată în altă parte, totul se poate implementa cu ușurință în același fișier.
Ca și obiectiv principa l, am luat în calcul generarea de parole puternice prin crearea unui program
scris în C++ și Visual Basic , astfel aplicația creată mi-a permis să dezvolt practic un sistem de creare a
parolelor până la câteva sute de caractere.
În baza acestui proiect, am lucrat cu următoarele programe , respectiv:

 C++
 C++ compiler
 Visual Basic
 .NET Framework

Iar ca informații și documentație:

 Surse din cărti
 Internet
 Diverse tutoriale video
 Cunoștințe proprii.

35 3.3 Aplicația propriu zisă
Aplicația conține mai multe .dll -uri, executabilul propriu și un fișier unde se pot salva noile
parole, ca și un fel de backup în cazul în care sunt uitate.
Ca și interfața, este foarte simplă, tocmai am gandit aplicația ca să fie ușor de utilizat de către
oricine, fără să fie complexă și să aibă un nivel de utilizare prea complex, astfel descurajând potențialii
utilizatori să o folosească.
Sunt multe sisteme de acest gen, însă sunt prea complexe și necesită mult timp pentru înțelegerea
modului de funcționare, majoritatea având o interfață grafică greu de utilizat. Mai jos am pus interfața
aplicației mele a și comparație cu interfața altui soft de acest gen, care este mai complicată și poate
induce în eroare utilizatorul.

Fig. 3.1 Interfață simplă a aplicației mele

36

În cele ce urmează voi descrie interfața aplicației cât și funcțiile sale, cât și tehnica prin care se
pot salva parolele iar ulterior folosi în cazul în care se uită:

Fig. 3.2 Interfață complexă a unei aplicații similare

37

1
2
3
4
5

1. În acea casetă se va introduce numărul de caractere care se va dori să îl conțină parola aleasă.
2. Repezintă șirul de caractere ce definesc parola, caracterele cât și non -caractere alese la întâmplare.
3. Butonul ”Genereaza”, va genera aut omat parola atunci când butonul se va apăsa, astfel în funcție de
numărul de caractere care va fii introdus, va fi afișată parola în căsuța de la punctul 2.
4. Reprezintă un buton opțional care oferă inițiatorului șansa să își salveze parolele într-un fișier .dat
dintr -un folder ales.
5. Reprezintă calea de acces spre fișierul unde au fost salvate parolele, în cazul în care se pierd ori sunt
uitate.

Modul de funcționare
Se va deschide aplicația, apoi se va introduce numărul dorit de caractere pe care dorim să îl conțină
parola.

38

Numărul de caractere dorite

Se apasă tasta ”Generează”, și ne va
afișa parola dorită formată din 20 de
caractere.

Apoi se poate salva parola direct în fișierul ”Parole.dat” și ca să vedem parolele salvate, apasăm
pe tasta ”Parole salvate”:

39 O parte din c odul sursă al aplicației îmbunătățite
După cum se vede în imagini, am încercat să implementez noi comenzi în baza aplicației.

40 Concluzii
Softul implementat funcționează perfect, nu am întâmpinat probleme serioase lucrând la el, după
crearea parolei, pur și simplu se poate copia unde dorim să o folosim, iar mai apoi putem folosi
programul să vedem unde a rămas salvată parola , dacă nu am scris -o în alt loc.
Dat fiind faptul că programul folosește caractere și non -caractere la întamplare, ținerea minte a
unei parole, poate să fie dificilă, de ai ci trebuie să precizăm faptul că funcția pe care am implementat -o,
și anume ca parolele să aibă o opțiune de salvare și ulterior de revedere a acestor parole, este un lucru
foarte folositor și important.
Acest concept este conceput pentru persoanele intere sate de folosirea unor parole cât mai
complexe. Nu este necesară nici -o experiență în domeniu IT pentru folosirea acestui program, deoarece
are o interfață în limba română și foarte ușor de folosit și înțeles, până și pentru persoanele cu vârste
mici.
Scop ul principal a fost acela de a putea folosi parole cât mai lungi pentru o bună protecție însă
fără să fiu nevoit să le memorez sau să le țin scrise în mai multe locuri, astfel aplicația poate de fiecare
dată să îmi genereze o altă parolă și să o salveze au tomat în cazul în care se va uita. Programul mai
poate ajuta și prin faptul ca exista practic un număr infinit de parole, de fiecare dată generând una
diferită.
Apӏic ația, î n stadiuӏ în care se afӏă, nu se compară cu apӏicațiiӏe de mare succes, însă fiind ӏa
început de drum, pentru mine este un reaӏ succes și o satisfacție proprie. De aceea este necesară
dezvoӏtarea și îmbunătățirea ei continuă, precum și adaptarea acesteia ӏa cerințeӏe utiӏizatoruӏui, putând
să o adaptez portabiӏ și sub formă de apӏicație mobiӏă.
În perioad a de dezvoӏtare a acestei apӏicații mi -am atins obiectivuӏ principaӏ de a crea apӏicația
și de a o vedea funcționând. Dezvoӏtarea apӏicației a decurs uniform, fară a întâmpina probӏeme majore.
Cea mai mare încerc are a fost î nsă crearea c oduriӏor sursă pentru anumite eӏemente, ca și ”comenziiӏe
de setări”.
Pe viitor, mi -am fixat un obiectiv personaӏ în vederea continuării dezvoӏtării acestei apӏicații,
impӏementarea unor noi idei și refacerea graficii și a comenziiӏor, apoi adoptându -o pentru gadget -uriӏe
mobiӏe. Ca și concluzie finală am gă sit satisfacție în ceea ce am reaӏizat, considerând că poate să fie un
reaӏ ajutor această apӏicație pentru persoaneӏe ce doresc să aibă un ajutor când vine vorba de siguranță
și securitate, dorind să a ibe parole puternice . Această apӏicație poate reprezenta un prim pas în posibiӏa
mea carieră de dezvoӏtator, o carieră ce doresc ca să o imbrățișez cu optimism și dedicare .

41 Bibliografie

C. Gălățan, S. Gălățan, C# pentru elevi – Programare în Visual C# 2008 Express Edition
Mârșanu R.: Informatică generală, Editura Tehnică, 1996
Coplien O. James, Advanced Programming Styles and Idioms, Addison -Wesley Publishing,
Massachusetts, 1992
Booch Grady, Object -Oriented Analysis and Design – With applications, Ben jamin/Cummings
Publishing, Redwood City, 1994
Liberty Jess, Teach Yourself C++ in 21 Days, SAMS Publishing, Indianapolis, 1994
Muslea Ionut, Initiere in C++, microInformatica, Cluj -Napoca, 1993
Salomie Ioan, Tehnici Orientate pe Obiecte, microInformatica, Cluj-Napoca, 1995
George, Mack. "History of Visual Basic". June 2002. George Mack, 3rd edition, Copyright June 2002
„Microsoft Gives Peek at Visual Studio .Nets Future”. Darryl K. Taft. eWeek. 11 februarie 2003
Liviu Negrescu, Limbajele C și C++ pentru inc epatori , Vol. I (p.1 si 2) – Limbajul C (editia XI)
Editura Albastra, Cluj -Napoca, 2005
David Pogue (June 5, 2013). "Remember All Those Passwords? No Need". The New York Times
Anthony Dean (Jul 16, 2012). "KeePassX: Keeping Your Passwords Safe"
Jason McD onald Ph.D. , The Password Book: Internet Security & Passwords Made Easy , 2017
Andrew Sheppard , A Book of Random Passwords , 2017
Kevin Mitnick, William L. Simon , Ghost In The Wires: My Adventures as the World's Most Wanted
Hacker , 2011
Scott Meyers , Effecti ve Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C+ , 2014
James Foxall , Visual Basic 2015 in 24 Hours, Sams Teach Yourself , 2015
Andrew Troelsen, Philip Japikse , C# 6.0 and the .NET 4.6 Framework , 2015
Didactica predării informaticii, Autor Cristian M asalagiu, Editura Polirom, 2016
William Stallings , Cryptography and Network Security: Principles and Practice , 1998
Bruce Schneier, Niels Ferguson, Tadayoshi Kohno , Cryptography Engineering: Design Principles and
Practical Applications , 2010
Scott Vanstone, Alfred Menezes , Handbook of Applied Cryptography , 1996
Bruce Schneier, Niels Ferguson , Practical Cryptography , 2003
Eugen Popescu, Sofia Vitelaru, Marius Nicoli, Mihaela Grindeanu , Limbajul C++. Teorie si aplicatii,

42 Partea a II -a, 2011
L. Negrescu, Limbajele C și C++ pentru începători, Volumul I – Limbajul C, Editura Albastră, Cluj –
Napoca, 2009
M. Pănoiu, M. Ionel, C. Pănoiu, Utilizarea si Programarea Calculatoarelor, Editura Mirton, Timișoara,
2002
Serb Aurel , Constantin Baron , Isaila Na rcisa , Claudia Ionescu , Costinela Luminita Defta , Securitatea
informatica in societatea informationala , 2013
Ștefan PRUNĂ, Ioan -Cosmin MIHAI – Criminalitatea informatică, Editura Sitech, 2008
Ioana VASIU, Lucian VASIU – Criminalitatea în cyberspațiu, Edi tura Universul Juridic, 2011
Maxim DOBRINOIU – Infracțiuni în domeniul informatic, Editura C.H. Beck, 2006
Irina Alexe, Nicolae D. Ploesteanu, Daniel -Mihail Sandru, Protecția datelor cu caracter personal , 2017
Doina Logofătu: Algoritmi fundamentali in C++. Aplicații, Ed. 1, Editura Polirom, Iași, 2007
"What's New in Visual Basic and Visual C#". October 2010
Turner, Dawn M. "Digital Authentication: The Basics". Cryptomathic. Archived from the original on
14 August 2016
Cyber Security Tip ST04 -002". Choosing and Protecting Passwords. US CERT. Archived from the
original on July 7, 2009
Jason A. McDonald , The Password Book: Internet Security and Passwords Made Easy , 2017.
Carmen Holotescu,Programarea in C/C++ – curs,online la
http://www.timsoft.ro/weblog/index.php?blog=9&cat=43&blog=9 , 2013

Resurse Online
https://whatis.techtarget.com/definition s/compiler
www.cplusplus.com/doc/tutorial/introduction 1/
gcc.gnu.org/onlinedocs/.. ./Common -Predefined -Macro ns.html
https://auth0.com/blog/what -is-data-security s/
https://www.csoonline.com/…/data -protection/take -a-new
https://software.microfocus.com/en -us/what -is/data -security
https://www.khanacademy.org/computing/…/cryptography s
https://www.coursera.org/learn/crypto s

43

Anexe
Codul sursă

44

45

46

47

48

49

50

51

52

53

Similar Posts