Documente Academic
Documente Profesional
Documente Cultură
Teorie Tematică
Teorie Tematică
● Codul Exces 3 se obţine din codul 8421 prin adunarea la fiecare tetradă a cifrei 3 (0011) în binar. Rezultă un
cod cu proprietatea de autocomplementare4 din care s-a eliminat combinaţia 00005 .
● Codul Gray se caracterizează prin aceea că trecerea de la echivalentul binar al unei cifre zecimale la următorul
se face prin modificarea unui singur rang binar.
● Codul 2 din 5 utilizează pentru codificarea cifrelor zecimale cinci poziţii binare, în condiţiile în care fiecare
combinaţie trebuie să conţină câte doi biţi unitari. Această restricţie asigură unicitatea reprezentării şi creează
posibilitatea controlului asupra transmisiei informaţiilor codificate în acest mod.
Coduri detectoare şi corectoare de erori
Codurile detectoare de erori au următoarea proprietate: apariţia unei singure erori transformă un cuvânt valid
intr-un cuvânt invalid.
Un cod este cod corector de erori (CCE) atunci când cuvântul de cod corect poate fi întotdeauna dedus din
cuvântul eronat.
► Căutarea informată - utilizează cunoștințe euristice pentru a ghida procesul de căutare a soluției, către o
soluție cât mai bună.
➢ Căutarea informată de tip best first - strategie de căutare generală , în care nodurile de cost minim (în
conformitate cu o anumită măsură) sunt primele expandate. Selectează pentru expandare cel mai bun
nod din spaţiul de căutare, generat pe baza cunoştinţelor euristice.
➢ Strategia informată A* - minimizează costul total al căii.
Caracteristici ale strategiilor de căutare
► completitudinea - O strategie este completă dacă garantează găsirea unei soluţii, în cazul în care aceasta
există.
► optimalitatea - O strategie este optimală dacă găseşte soluţia optimă (cea mai bună soluţie, atunci când
există mai multe soluţii diferite).
► complexitatea - Complexitatea unei strategii se referă la complexitatea timp (în cât timp se găseşte o soluţie)
şi complexitatea spaţiu (cât spaţiu de memorie este necesar pentru a realiza căutarea soluţiei).
Ontologii
Ontologia reprezintă specificarea explicită a unei conceptualizări pentru un anumit domeniu.
● o descriere de concepte şi relaţii între acestea.
● cuprinde un vocabular de termeni bine definiţi, cu semnificaţie specifică unui anumit domeniu de expertiză.
Exemplu
● Considerăm ontologia Onto_POO, definită pentru domeniul programării orientată pe obiecte.
● Concepte cheie: clasă, obiect, clasă de bază, clasă derivată, clasă virtuală, clasă abstractă, funcţie virtuală,
polimorfism, încapsulare, constructor, destructor, funcţie friend etc.
● Descriere concept: clasă ( Secţiuni: privată, publică şi protejată; Membri: date şi funcţii membru)
● Relaţii: derivare, moştenire, abstractizare etc.
Sisteme bazate pe cunoștințe
Sistem bazat pe cunoștințe (SBC) - un program sau un pachet de programe care încorporează cunoștințe
dintr-un anumit domeniu şi rezolvă probleme dintr-o clasă bine definită de probleme din acel domeniu, aplicând
strategii de raţionare.
Componente de bază ale unui SBC:
● un sistem cognitiv (baza de cunoștințe),
● un sistem rezolutiv (motorul de inferență).
Sistem expert (SE) - un caz particular de sistem bazat pe cunoștințe, în care sunt incluse cunoștințe ale
experților umani în domeniu (cunoștințe euristice) şi care, rezolvă probleme din domeniul respectiv, la nivelul unui
expert uman.
Principalele componente ale unui SBC/SE:
● baza de cunoștințe (BC) - cuprinde cunoștințele domeniului problemei de rezolvat, exprimate sub
forma regulilor de producție şi cunoștințe specifice instanțelor problemei, exprimate sub formă de
fapte.
● motorul de inferență (MI) - reprezintă componenta de control şi execuție a unui SBC/SE, care
raționează şi printr-un proces de înlănțuire a cunoștințelor (deductiv, inductiv sau combinat),
găsește sau nu, soluția problemei de rezolvat.
● interfața utilizator (IU),
● modulul de achiziție a cunoștințelor (MAC).
Sistemul cognitiv
Sistemul cognitiv al unui sistem inteligent cuprinde cunoașterea ştiinţifică ce este caracterizată prin două
componente:
● componenta reflexivă - se bazează pe reflectarea exterioară şi ulterioară a faptului ştiinţific,
● componenta generativă - bazată pe crearea de obiecte abstracte şi pe constituirea de momente inițiale
pentru procesele de construire a unor noi fapte științifice şi programe de acţiune.
Caracteristicile unei baze de cunoștințe
1. Completitudine - O bază de cunoștințe a unui sistem inteligent este completă, dacă sistemul nu riscă
să oprească raționamentul datorită inexistenței unor cunoștințe în baza de cunoștințe.
2. Coerența - O bază de cunoștințe a unui sistem inteligent este coerentă, dacă nu produce fapte
contradictorii, pentru orice bază de fapte necontradictorii.
3. Neredundanța - O bază de cunoștințe a unui sistem inteligent este neredundantă, dacă aceleași
cunoștințe nu apar de mai multe ori în baza de cunoștințe, sub diferite forme de reprezentare.
Sistemul rezolutiv
Un sistem rezolutiv cuprinde totalitatea componentelor unui sistem inteligent care au ca obiectiv rezolvarea
problemelor.
Tehnici de inteligență artificială
● Inteligență artificială clasică
○ Modele bazate pe logica simbolică
○ Prelucrări simbolice
● Inteligență artificială computațională
○ Modele bazate pe calcul numeric
○ Prelucrări numerice
Criptosisteme clasice
Cifrul lui Caesar
Cifrul lui Caesar este un cifru cu substituţie în care fiecare literă din grup este înlocuită pentru deghizare cu o
altă literă. Acest algoritm este unul dintre cele mai vechi cifruri cunoscute, fiind atribuit lui Julius Caesar. În această
metodă, A devine D, B devine E, C devine F, …, X devine A, Y devine B, Z devine C, conform reprezentării din
tabelul 7.1.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVWXYZAB C
De exemplu, mesajul
ACESTA ESTE UN TEXT CRIPTAT
Devine
DFHVWD HVWH XQ WHAW FULSWDW
Cheia acestui tip de codificare o reprezintă şirul de 26 de litere corespunzând întregului alfabet. În aceste
condiţii, mesajul
ACESTA ESTE UN TEXT CRIPTAT
Devine
QETLZQ TLZT XF ZTBZ EKOHZQZ
Criptosisteme computaţionale
Algoritmul R.S.A.
Conform criptosistemului nou, propus de către Diffie şi Hellman, cheile de criptare şi de decriptare sunt diferite,
iar cheia de decriptare nu poate fi dedusă din cheia de criptare. Algoritmul (cheia) de criptare E şi algoritmul (cheia)
de decriptare D trebuie să satisfacă trei cerinţe. Aceste trei cerinţe pot fi exprimate simplificat după cum urmează:
● D(E(M))=M;
● Este foarte dificil să se deducă D din E;
● E nu poate fi spart printr-un atac cu text clar ales.
Algoritmul El-Gamal
Schema de criptare El-Gamal se bazează pe rezolvarea problemei logaritmilor discreţi care consideră drept date
iniţiale un grup G de ordinul n şi G, logaritmul discret al lui în bază , notat log este numărul întreg unic x, 0 ≤ x ≤
n-1, astfel încât =x.
Cel mai important aspect al criptării cu chei publice este acela care se referă la faptul că autorul unui mesaj nu
are posibilitatea să îl decripteze, după ce l-a trimis destinatarului, deoarece nu deţine cheia privată necesară
decriptării. Astfel, dacă este transmis, din greşeală, un mesaj unui alt destinatar decât cel dorit, acesta nu îl va putea
decripta, păstrându-se în acest fel secretul respectivei informaţii.
În acest context, două entităţi A şi B care doresc să comunice trebuie să parcurgă următoarele etape:
● generarea cheilor pentru criptarea cu chei publice El-Gamal (algoritm 1);
● realizarea schimbului de chei publice, care poate fi făcută pe orice canal de comunicaţii, indiferent de
gradul de securitate conferit de acesta (de exemplu prin e-mail sau telefonie);
● criptarea de către B a mesajului pe care doreşte să i-l transmită lui A (algoritm 2);
● decriptarea de către A a mesajului cifrat c primit de la B (algoritm 3).
Algoritmul Merkle-Hellman
Schema de criptare Merkle-Hellman se bazează pe problema sumei subşirurilor. Ideea de bază este selectarea
unei instanţe a problemei sumei subşirurilor care este uşor de rezolvat, deghizată apoi ca o instanţă a problemei
generale a problemei sumei subşirurilor care este mai dificil de soluţionat. Şirul original poate servi drept cheia
privată, iar şirul transformat serveşte drept cheie publică. Schema de criptare Merkle-Hellman este importantă din
motive istorice, deoarece a fost prima realizare concretă a unei scheme de criptare cu chei publice. Ulterior au fost
realizate mai multe variante, dar toate, inclusiv cea originală, s-au dovedit nesigure.
Definiţia problemei sumei subşirurilor poate fi formulată astfel: fiind dat un şir de întregi pozitivi {a1, a2,…,an}
şi un întreg pozitiv s, să se determine dacă există sau nu un subşir aj a cărui sumă este s, şi dacă există xi {0,1}, 1 ≤
i ≤ n astfel încât Σi=1n aixi = s.
Algoritmul pentru generarea cheilor pentru criptarea cu chei publice Merkle-Hellman cuprinde în mod necesar
următoarele etape:
Fiecare identitate îşi creează o cheie publică şi una privată corespunzătoare
1. Un număr întreg n este stabilit ca parametru comun de către sistem.
2. Fiecare identitate urmează paşii 3-7.
3. Se alege un şir supercrescător (b1, b2, ... , bn) şi un modul M astfel încât M>b1+b2+…+bn.
4. Se selectează un întreg aleator W, 1≤ W ≤ M – 1, astfel încât cel mai mare divizor comun al lui W şi M
să fie 1.
5. Se alege o permutare aleatoare π de întregi {1, 2, … , n}.
6. Se calculează ai = W ∙bπimod M pentru i=1, 2, ... , n.
7. Cheia publică a lui A este (a1, a2, ... ,an), iar cheia privată este (π, M, W, (b1, b2, ... ,bn)).
Criptarea cu chei publice Merkle-Hellman. B criptează un mesaj m pentru A.
a. Se obţine cheia publică autentică a lui A (a1, a2, ... ,an)
b. Mesajul m este reprezentat ca un şir binar de lungime n, m=m1m2…mn
c. Este calculat întregul c=m1a1+m2a2+…+mnan
d. Textul cifrat c este trimis către A.
Decriptarea cu chei publice Merkle-Hellman
e. Se calculează d = W-1c mod M.
f. Rezolvând problema sumei subşirurilor, sunt găsiţi întregii r1, r2, ... , rn, ri {0,1}, astfel încât
d=r1b1+r2b2+…+rnbn.
g. Biţii mesajului sunt: mi=rπ(i), i1,2,...,n.
Modelul TCP/IP
Protocolul TCP/IP este utilizat în mod curent, inclusiv în sistemele de automatizare pentru interconectarea
subrețelelor create la nivelul aparaturii de automatizare sau pentru conectarea cu echipamentele de la nivelul
superior de supervizare și comandă. Totodată protocolul TCP/IP stă la baza funcționării Internetului, potențial
mediu de conectare și globalizare a sistemelor automate. Același protocol este utilizat de către rețelele de
comunicații standard, din acest motiv fiind foarte cunoscut de atacatori, fiind identificate numeroase vulnerabilități
și tipuri de atacuri consacrate.
Protocolul TCP/IP este compus din două entități independente și anume:
● − TCP (Transmission Control Protocol), care are rolul de a realiza transpunerea datelor în pachete și de a
asigura transmisia corectă a acestora de la emițător la receptor;
● − IP (Internet Protocol), care are rolul de a livra pachetele transmise, dacă în funcționarea TCP nu apar
erori. La nivel IP se realizează fragmentarea unor pachete cu dimensiuni mai mari decât cele a căror
transmitere este posibilă în rețea.
Protocolul TCP/IP este modelat folosind o schemă cu patru niveluri – Aplicație, Transport, Internet și Acces
Rețea - care vor fi succint prezentate în continuare.
● Nivelul Aplicație are rolul de a oferi servicii de rețea utilizatorilor, prin intermediul diverselor programe
(browsere, clienți FTP, clienți de e-mail, etc.), între aceste servicii semnificative fiind:
○ − SMTP1, folosit pentru transferul mesajelor e-mail;
○ − FTP2, destinat transferului bidirecțional de fișiere;
○ − HTTP3, destinat transmiterii paginilor Web;
○ − SNMP4, utilizat pentru monitorizarea și administrarea de la distanță a echipamentelor
interconectate în rețea.
● Nivelul Transport administrează comunicația între două entități, asigurând în același timp calitatea și
securitatea liniei de transmisie, controlul fluxului date, precum și detecția și corecția erorilor. La acest
nivel, datele ce trebuie transmise sunt împărțite în pachete, cărora li se adaugă toată informația necesară
pentru identificarea emițătorului, destinatarului și a entității de nivel aplicație care a inițializat
comunicația. În cadrul nivelului transport sunt folosite protocoalele: UDP – User Datagram Protocol și
TCP – Transmission Control Protocol. UDP este un protocol simplu, considerat destul de nesigur fiind
neorientat pe conexiune. Din acest motiv nu se poate garanta livrarea mesajului la destinație, respectiv
recepția fără erori și pierderi, fără duplicate sau în ordinea în care pachetele au fost transmise. Protocolul
UDP este utilizat în cadrul unor transmisii de date de viteză mare, de tipul transmisiei video peste
Internet, iar programele de la nivelul aplicație trebuie să asigure soluționarea tuturor problemelor legate
de transmisie. Protocolul TCP este destul de complex și asigură servicii de comunicație orientate pe
conexiune. TCP este considerat un protocol sigur, ce poate îndeplini funcțiile de reordonare a pachetelor
transmise, detecție și corecție erorilor și confirmare a livrării.
● Nivelul Internet realizează rutarea pachetelor de la sistemul sursă la sistemul destinație. La acest nivel
funcționează protocolul IP, cu bine-cunoscuta adresare IPv4, și mai recent IPv6. Fiecare sistem din rețea
(Internet) are cel puțin o adresă IP. Când se trimit sau se primesc date, mesajul se divide în segmente mai
mici. Fiecare segment este caracterizat de un antet compus dintr-o parte fixă de 20 octeți și o parte
opțională de lungime variabilă. Partea fixă a antetului, care este standardizată, oferă informații cu privire
la identitatea (adresa IP) sursei și respectiv a destinației, numărul de ordine al pachetului, tipul de date
transmise. Câmpurile opționale, pot fi utilizate de către programele de nivel aplicație pentru includerea
unor informații specifice acestora, informații care nu sunt însă critice pentru funcționarea rețelei.
1. SMTP – Simple Mail Transfer Protocol
2. FTP – File Transfer Protocol
3. HTTP – HyperText Transfer Protocol
4. SNMP – Simple Network Management Protocol
La nivelul Internet funcționează și protocoalele ICMP5, prin care poate fi semnalată
funcționarea incorectă, respectiv, ARP6 și RARP7, care permit cunoașterea adresei IP sau a
adresei fizice a unui sistem pe baza unor informații cunoscute (adresa proprie sau alte adrese
cunoscute).
● Nivelul Access Rețea primește pachetele de la nivelul superior (Internet) și le pregătește pentru
transmiterea pe un anumit mediu fizic de comunicație (cablu torsadat, cablu coaxial, fibră optică, radio,
etc.). Practic în cadrul acestui nivel sunt concentrate funcțiile de la nivelurile Fizic și Legătură de date din
cadrul modelului ISO-OSI.