laboratoaretsdp

33
LABORATOARE/SEMINARII LABORATOARE 1 - 10 UNIVERSITATEA TEHNICA DE CONSTRUCTII BUCURESTI TECHNICAL UNIVERSITY OF CIVIL ENGINEERING BUCHAREST Bd. Lacul Tei 124 * Sect. 2 RO-020396 * Bucharest 38 ROMANIA Tel.: +40-21-242.12.08, Tel./Fax: +40-21-242.07.81, www.utcb.ro

Upload: octavian-enache

Post on 23-Dec-2015

105 views

Category:

Documents


2 download

DESCRIPTION

LAB TSDP

TRANSCRIPT

  • LABORATOARE/SEMINARII

    LABORATOARE

    1 - 10

    UNIVERSITATEA TEHNICA DE CONSTRUCTII BUCURESTI TECHNICAL UNIVERSITY OF CIVIL ENGINEERING BUCHAREST

    Bd. Lacul Tei 124 * Sect. 2 RO-020396 * Bucharest 38 ROMANIA Tel.: +40-21-242.12.08, Tel./Fax: +40-21-242.07.81, www.utcb.ro

  • TEHNICI DE SECURIZARE A DATELOR

    1

    CUPRINS

    LAB 1. STUDIUL EXPERIMENTAL AL ALGORITMILOR DE CRIPTARE A DATELOR CU CHEIE SIMETRIC (1) .............................................................................................. 2

    LAB 2. STUDIUL EXPERIMENTAL AL ALGORITMILOR DE CRIPTARE A DATELOR CU CHEIE SIMETRIC (2) .............................................................................................. 6

    LAB 3. SISTEME DE CIFRARE POLIALFABETICE ...................................................... 11

    LAB 4. ALGORITMUL RIJNDAEL STANDARDUL AES ............................................ 14

    LAB 5. ALGORITMI DE CRIPTARE CU CHEIE PUBLIC. ALGORITMUL R.S.A ............ 19

    LAB 6. ALGORITMI DE CRIPTARE CU SEMNATUR DIGITAL................................ 23

    LAB 7. PROTECIA DIGITAL A DREPTULUI DE PROPRIETATE N INTERNET FOLOSIND TEHNICI DE MARCARE I VERIFICARE WATERMARK ........................... 25

    BIBLIOGRAFIE ....................................................................................................... 32

  • TEHNICI DE SECURIZARE A DATELOR

    2

    LABORATOR 1

    STUDIUL EXPERIMENTAL AL ALGORITMILOR DE CRIPTARE A DATELOR CU CHEIE SIMETRIC (1)

    1.1 OBIECTIVELE LUCRRII Obiectivele lucrrii sunt urmtoarele:

    - analiza algoritmilor de criptare a datelor cu cheie simetric de tip cifrul lui Caesar, substituie monoalfabetic;

    - implementarea acestor algoritmi folosind tehnica de calcul. 1.2. BREVIAR TEORETIC

    1.2.1. Introducere n criptografie

    Criptografia descrie un cmp larg al comunicaiilor secrete i se identific prin totalitatea mijloacelor i metodelor utilizate pentru protecia interceptrii pasive (nregistrarea mesajului transmis) sau/i active (modificarea informaiei sau introducerea de mesaje false pe canalul transmisiunii, ntre emitorul i receptorul legali).

    Mesajele ce trebuie criptate, cunoscute sub numelele de text clar sunt transformate printr-o funcie parametrizat de o cheie (key). Cheia const dintr-un ir (relativ) scurt care selecteaz una dintre mai multe criptri poteniale.

    Ieirea procesului de criptare cunoscut sub numele de text cifrat sau criptogram este apoi transmis adeseori prin curier sau radio.

    Arta de a sparge cifruri se numete criptanaliz. Arta de a concepe cifruri (criptografia) i cea de a le sparge (criptanaliza) sunt cunoscute sub numele colectiv de criptologie.

    Din punctul de vedere al criptanalistului, problema sa are trei variante principale: - Cnd are la dispoziie o cantitate de text cifrat i nici un fel de text clar este confruntat cu

    problema textului cifrat; - Cnd are la dispoziie ceva text clar i textul criptat corespunztor, problema este cunoscut

    sub numele de problema textului clar cunoscut; - Cnd criptanalistul poate cripta buci de text clar la propria sa alegere, avem de-a face cu

    problema textului clar ales n criptografia tradiional, metodele de criptare au fost mprite n dou categorii:

    - cifruri cu substituie; - cifruri cu transpoziie.

    n criptografia modern, clasificarea sistemelor de criptare se realizeaz n funcie de cheie. Astfel, acestea se pot clasifica n:

    - Sisteme criptografice cu chei secrete, cunoscute i sub numele de sisteme criptografice simetrice, care necesit dezvoltarea unor servicii suplimentare de management al cheilor secrete;

    - Sisteme criptografice cu chei publice, cunoscute i sub numele de sisteme criptografice asimetrice, care furnizeaz servicii specializate de autentificare dar sunt n general ineficiente pentru criptrile de date corespunztoare unor mesaje scurte.

    Sistemul criptografic este sigur dac criptanaliza nu i atinge obiectivul de determinare a mesajului. Un sistem secret care rezist la orice atac criptanalitic, indiferent de volumul calculelor care se cer, se numete sigur necondiionat.

  • TEHNICI DE SECURIZARE A DATELOR

    3

    Sistemul este sigur computaional cnd se recunoate posibilitatea criptanalistului de a intra n posesia mesajului dup o cantitate finit de calcule care ocup un volum de calcul foarte mare, neacoperit din punct de vedere economic.

    1.2.2 Cifrul lui Caesar generalizat

    Cifrul lui Caesar este un cifru cu substituie n care fiecare liter din grup este nlocuit pentru deghizare cu o alt liter. Acest algoritm este unul dintre cele mai vechi cifruri cunoscute i este 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.

    Alfabet mesaj A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Alfabet criptogram

    D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

    De exemplu, mesajul ACESTA ESTE UN TEXT CODIFICAT

    devine DFHVWD HVWH XQ WHAW FRGLILFDW.

    O mic generalizare a cifrului lui Caesar permite alfabetului textului cifrat s fie deplasat cu k

    litere, n loc de a fi deplasat ntotdeauna cu 3 . n acest caz, k devine o cheie pentru metoda general a alfabetelor deplasate circular.

    Matematic, cifrul lui Caesar generalizat se exprim astfel:

    ( )MEC k= , (9.1)

    unde:

    n21 m,,m,mM = este mesajul de criptat;

    n21 c,,c,cC = este criptograma rezultat aplicrii lui M a funciei ( )MEk ;

    n1,i = , n este lungimea mesajului.

    Printr-o transformare liniar a funciei de mai sus, se obine

    ( ) p modkmc ii += , pentru [ ]1-p1,k (9.2)

    unde: n1,i = i n este lungimea mesajului,

    p este lungimea alfabetului, k este cheia. Pentru o cheie 3k = , se obine cifrul lui Caesar Pentru o cheie 9k = , alfabetul de 26 de litere ( 26p = ) i criptograma corespunztoare lui arat astfel:

    Alfabet mesaj A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

  • TEHNICI DE SECURIZARE A DATELOR

    4

    Alfabet criptogram

    J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

    Dac mesajului ACESTA ESTE UN TEXT CODIFICAT

    i se aplic corespondena din tabelul de mai sus, rezult urmtorul mesaj criptat (criptogram): JLNBCJ NBCN DW CNGC LXMRORLJC

    1.2.3. Criptarea prin substituie monoalfabetic

    Principala mbuntire a acestui tip de criptare o reprezint stabilirea pentru fiecare simbol din textul clar, s spunem pentru simplitate cele 26 de litere de mai sus, o coresponden cu o alt liter.

    Matematic, dac exist o singur lege de coresponden notat cu f (ntre elementele alfabetului mesajului i elementele alfabetului criptogramei), substituia este monoalfabetic.

    Pentru mesajul n21 m,,m,mM = , se obine criptograma n21 c,,c,cC = : ( ) ( ) ( ) ( )n21k mf,,mf,mfMEC == , (9.3)

    printr-o transformare liniar de forma:

    ( ) p modbmac ii += , (9.4) unde:

    n21 m,,m,mM = este mesajul de criptat

    n21 c,,c,cC = este criptograma rezultat aplicrii lui M a funciei ( )MEk , n1,i = , n este lungimea mesajului,

    p este lungimea alfabetului, a i b sunt dou numere de tip ntreg, cheia k este dat de ansamblul ( )b a,

    Criptarea care folosete substituia monoalfabetic este slab la atacuri criptanalitice (n principal cu text criptat), pentru c identificarea cheii conduce la obinerea ntregului mesaj. Ca un caz particular, este prezentat cifrul aleator de substituie. Cheia este constituit din 26 de perechi de numere echivalente de forma ( )b a, , cu { }26 , 3, 2, 1,ba, . ntr-un mod pseudoaleator, fierrei litere a alfabetului primar i corespunde o liter a alfabetului secundar. Literele alfabetului de substituire sunt static independente dar exist dezavantaje legate de generarea, transmiterea i pstrarea cheii.

    De exemplu

    Alfabet mesaj A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Alfabet criptogram Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

    Cheia acestui tip de codificare o reprezint irul de 26 de litere corespunznd ntregului alfabet.

    innd cont de cheia prezentat n tabelul anterior, mesajul ACESTA ESTE UN TEXT CODIFICAT

    devine: QETLZQ TLZT XF ZTBZ EGROYOEQZ.

  • TEHNICI DE SECURIZARE A DATELOR

    5

    1.3 EXERCIII PROPUSE

    Exerciiul 1.3.1 Scriei o aplicaie care s implementeze urmtoarele funcii: - cifrarea unui text cu ajutorul algoritmului de cifrare Cezar; - descifrarea unui text cifrat cu algoritmul lui Cezar; - decriptarea unui text, despre care se tie c a fost cifrat prin metoda Cezar, prin

    generarea tuturor soluiilor posibile.

    Exerciiul 1.3.2 S se cifreze mesajul: ELECTRONIC MAIL algoritmul utilizat fiind cifrul lui Cezar cu cheia de cifrare k=11. Rspuns: JQJHY WTSNH RFNQ

    Exerciiul 1.3.3 S se cifreze mesajul: DIGITAL SIGNATURE algoritmul utilizat fiind cifrul lui Cezar cu cheia de cifrare k=2. Rspuns: FKIKV CNUKI PCVWT G.

    Exerciiul 1.3.4 S se decripteze mesajul: IGQTI GYCUJ KPIVQ PXXXX algoritmul utilizat fiind cifrul lui Cezar. Indicai cheia de cifrare. Rspuns: GEORGE WASHINGTON, k=2.

    Exerciiul 1.3.5 S se decripteze mesajul: IGQTI GYCUJ KPIVQ PXXXX algoritmul utilizat fiind cifrul lui Cezar. Indicai cheia de cifrare. Rspuns: GEORGE WASHINGTON, k=2. Exerciiul 1.3.6 Dezvoltai o aplicaie care s simuleze execuia funciilor de cifrare/descifrare corespunztoare metodei substituiei. Exerciiul 1.3.7 S se cifreze mesajul: WEB DESIGN algoritmul utilizat fiind o substituie simpl determinat de cuvntul cheie BROWSER. Rspuns: DFAIF EMKRX.

    Exerciiul 1.3.7 S se descifreze mesajul: ONCJB DFJPT DCJKN KKQTV TDSXXX algoritmul utilizat fiind o substituie simpl determinat de cuvntul cheie CRIPTOGRAFIE. Rspuns: FRANKLIN DELANO ROOSEVELT.

    1.4. CHESTIUNI DE STUDIAT - Ce avantaje i dezavantaje are criptosistemul Cifrul lui Caesar generalizat? - Ce proprieti se folosesc pentru a sparge cu uurin criptosistemul "mono-substituie alfabetic"? - Cum se poate deduce c un text este codificat cu transpoziie pe coloane? - Cum se poate sparge ipotetic un criptosistem cu transpoziie pe coloane? - Enunai principalele avantaje de criptare prin "metoda cheilor acoperitoare"? - Care este dezavantajul major al criptrii prin "metoda cheilor acoperitoare"?

  • TEHNICI DE SECURIZARE A DATELOR

    6

    LABORATOR 2

    STUDIUL EXPERIMENTAL AL ALGORITMILOR DE CRIPTARE A DATELOR CU CHEIE SIMETRIC (2)

    2.1 OBIECTIVELE LUCRRII

    Obiectivele lucrrii sunt urmtoarele: - analiza algoritmilor de criptare a datelor cu cheie simetric prin metoda transpoziiei. - analiza algoritmilor de criptare a datelor cu sisteme mixte; - implementarea acestor algoritmi folosind tehnica de calcul. 2.2 BREVIAR TEORETIC

    2.2.1 Metoda transpoziiei Metoda transpoziiei asigur, n cadrul sistemelor criptografice, realizarea difuziei:

    mprtierea proprietilor statistice ale textului clar n textul cifrat. Spre exemplu, n cazul transpoziiei coloanelor, textul clar se scrie, linie cu linie, ntr-o form tabelar cu n coloane, acesta fiind recitit pe coloane n funcie de cheia de cifrare reprezentat de o permutare din n.

    Dac dimensiunea textului clar nu este un multiplu de n atunci acesta se poate completa sau nu cu un caracter bine precizat. n faza de preprocesare delimitatorul de spaiu este ignorat sau nlocuit cu caracterul cel mai puin frecvent din limba n care este textul clar (n limba romn Q).

    2.2.2. Exerciii rezolvate

    Exerciiul 2.1. S se cifreze prin metoda transpoziiei (N = 12), pornind de la parola CRIPTOGRAFIE mesajul SI IN CRIPTOGRAFIE TACEREA ESTE AUR.

    Rezolvare: Vom construi secvena numeric de cifrare asociind fiecrei litere din parol indicele din ordinea lexicografic: astfel literele din parol, scrise n ordine lexicografic sunt:

    1 2 3 4 5 6 7 8 9 10 11 12

    A C E F G I I O P R R T Deci parola CRIPTOGRAFIE produce permutarea: 2 10 6 9 12 8 5 11 1 4 7 3.

    Textul clar este scris ntr-o tabel cu 12 coloane:

    2 10 6 9 12 8 5 11 1 4 7 3 S I Q I N Q C R I P T O G R A F I E Q T A C E R E A Q E S T E Q A U R Q

    Deoarece lungimea textului nu este divizibil cu 12 vom completa ultimul rnd cu o

    secven cunoscut (n acest caz caracterul Q). Textul cifrat se obine citind coloanele tabelei de cifrare n ordinea indicat de parola numeric: IAASG EORQP CUCQE QAQTE RQETI FEIRA RTQNI S.

  • TEHNICI DE SECURIZARE A DATELOR

    7

    Descifrarea se va realiza similar folosind permutarea invers -1. Dac dimensiunea transpoziiei N este mai mic dect lungimea parolei atunci se vor reine

    N caractere din parol.

    2.3 EXERCIII PROPUSE

    Exerciiul 2.3.1 Scriei un program care s implementeze funciile de cifrare/ descifrare specifice metodei transpoziiei coloanelor.

    Exerciiul 2.3.2 S se cifreze mesajul: ELECTRIC HOTPLATE prin metoda transpoziiei cu ajutorul permutrii = (2, 1, 3). Rspuns: LTCOL EECIH PTERQ TAQ.

    Exerciiul 2.3.3 S se cifreze mesajul: CERCETARI OPERATIONALE prin metoda transpoziiei cu ajutorul permutrii = (3, 1, 2). Rspuns: EEROR IAQRT IPAOL QCCAQ ETNE.

    Exerciiul 2.3.4 S se cifreze mesajul CRIPTOGRAFIE prin metoda transpoziiei utiliznd permutarea = (4, 2, 1, 3). Verificai rezultatul obinut.

    Exerciiul 2.3.5 S se descifreze mesajul: EORSE TOROE LHDEO VT cifrat printr-o transformare de tip transpoziie cu ajutorul permutrii = (2, 3, 1). Rspuns: THEODORE ROOSEVELT.

    Exerciiul 2.3.6 S se descifreze mesajul: SFCME TAEAE NLR cifrat printr-o transformare de tip transpoziie cu ajutorul permutrii = (1, 2, 3). Rspuns: STEFAN CEL MARE.

    Exerciiul 2.3.7 S se descifreze mesajul: HTZMA VEUII IAL cifrat printr-o transformare de tip transpoziie cu ajutorul permutrii = (2, 3, 1). Rspuns: MIHAI VITEAZUL.

    Exerciiul 2.3.8 S se descifreze mesajul: NMTMA STEDI NEINO NT cifrat printr-o transformare de tip transpoziie cu ajutorul permutrii = (2, 3, 1). Rspuns: SENTIMENT DOMINANT.

    Exerciiul 2.3.9 S se descifreze mesajul: TDDDR TEAAU EIASN RLCPR cifrat printr-o transformare de tip transpoziie cu ajutorul permutrii = (3, 1, 2). Rspuns: STANDARDUL DE CRIPTARE.

    2.4 Sisteme mixte

    Sistemele mixte au la baz o cifrare succesiv a mesajului prin metoda substituiei i apoi prin metoda transpoziiei sau invers.

    Atacarea sistemului de cifrare se realizeaz de la ultima sa component ctre prima. Remarcm faptul c substituia simpl este comutativ cu operaia de transpoziie deci se poate oricnd aborda mai nti substituia i apoi transpoziia. n cazul utilizrii unui sistem polialfabetic, cu numr necunoascut de alfabete, recomandarea este ca dup stabilirea, prin metode statistice, a numrului de alfabete, s se abordeze concomitent identificarea efectiv a alfabetelor i al transpoziiei utilizate. n cazul utilizrii unui sistem poligrafic (tabele de cifrare) i o transpoziie este recomandabil o tehnic de tip backtracking.

  • TEHNICI DE SECURIZARE A DATELOR

    8

    2.4.1 Exerciii rezolvate Exerciiul 2.4.1.1 S se cifreze mesajul GEOMETRIC FIGURE cu ajutorul algoritmului lui Cezar (k=5) i al transpoziiei = (2, 1, 3).

    Rezolvare: Mai nti textul este cifrat cu sistemul Cezar folosind cheia k=5, deci corespondena dintre cele dou alfabete devine:

    text clar A B C D E F G H I ... text cifrat F G H I J K L M N ...

    Astfel se obine: LJT RYJ WNH KNL ZWJ. Apoi, textul obinut se aeaz ntr-o tabel cu 3

    coloane: 2 1 3 L J T R Y J W N H K N L Z W J

    Textul cifrat se determin citind pe coloane n ordinea indicat de permutare (coloana din mijloc, apoi cea din stnga i in final cea din dreapta): JJNNWLRW KZTJHLJ.

    Exerciiul 2.4.1.2. S se decripteze mesajul urmtor: DKVUR UTUBK WFCVG ETGOC XWVWC OCVPQ VUVWG FGHTQ VKUUV KKNKC RKCPQ OQFKC EWVG tiind c a fost cifrat cu ajutorul algoritmului lui Cezar (k = 2) i supracifrat prin metoda transpoziiei utiliznd permutarea (3,2,1).

    Rezolvare: Cum substituia i transpoziia sunt comutative, putem mai nti decripta mesajul folosind Cezar cu cheia k = 2 i apoi decripta prin metoda transpoziiei.

    Pentru decriptarea mesajului folosind metoda Cezar cu k = 2, fiecare caracter se nlocuiete cu caracterul situat cu 2 poziii mai nainte n alfabet.

    Dup decriptare, textul devine: BITSP SRSZI UDATE CREMA VUTUA MATNO TSTUE DEFRO TISST IILIA PIANO MODIA CUTE.

    Aceasta reprezint un text cifrat prin metoda transpoziiei. Cum textul are 64 de caractere i permutarea este de lungime 3, atunci numrul de litere pe coloane este 21, 21 i 22. Coloanele cu numai 21 de caractere sunt cele care corespund valorilor luate descresctoare din permutarea invers -1 = (3, 2, 1).

    3 2 1 1 2 3 B U S S U B I T S S T I T U T T U T S A I I A S P M I I M P S A L L A S R T I I T R S N A A N S Z O P P O Z I T I I T I

  • TEHNICI DE SECURIZARE A DATELOR

    9

    U S A A S U D T N N T D A U O O U A T E M M E T E D O O D E C E D D E C R F I I F R E R A A R E M O C C O M A T U U T A V I T T I V E E

    Dup rearanjarea coloanelor conform permutrii inverse -1 se obine tabela din dreapta.

    Citind pe linii se descoper textul clar: SUBSTITUTIA SIMPLA SI TRANSPOZITIA SUNT DOUA METODE DE CIFRARE COMUTATIVE.

    2.4.2 Exerciii propuse Exerciiul 2.4.2.1. Dezvoltai o aplicaie care s implementeze rutine specifice decriptrii sistemelor mixte compuse din transpoziii i substituii simple.

    Exerciiul 2.4.2.2. Se dau criptogramele: Criptograma 1: VXEVW LWXWL DVLPS ODVLW UDQVS RCLWL DVXQW GRXDP HWRGH GHFLI UDUHF RPXWD WLYHX Criptograma 2: YAHYZ OZAZO GYOSV RGYOZ XGTYV UFOZO GYATZ JUAGS KZUJK JKIOL XGXKI USAZG ZOBKX

    Care din afirmaiile de mai jos sunt adevrate: a) metoda de cifrare utilizat este o substituie simpl; b) metoda de cifrare utilizat este o transpoziie; c) metoda de cifrare este reprezentat de algoritmul lui Cezar; d) nu se poate preciza sistemul criptografic utilizat. Justificai rspunsul. Decriptai mesajul.

    Rspuns: a) i c). Textul clar: SUBSTITUTIA SIMPLA SI TRANSPOZITIA SUNT DOUA METODE DE CIFRARE COMUTATIVE.

    Exerciiul 2.4.2.3 Se dau criptogramele: Criptograma 1: BITSP SRSZI UDATE CREMA VUTUA

    MATNO TSTUE DEFRO TISST IILIA PIANO MODIA CUTE

    Criptograma 2: UTUAM ATNOT STUED EFROT IBITS

    PSRSZ IUDAT ECREM AVSST IILIA PIANO MODIA CUTE

  • TEHNICI DE SECURIZARE A DATELOR

    10

    Care din afirmaiile de mai jos sunt adevrate: a) metoda de cifrare utilizat este o substituie simpl; b) metoda de cifrare utilizat este o transpoziie; c) metoda de cifrare este reprezentat de algoritmul lui Cezar; d) nu se poate preciza sistemul criptografic utilizat. Justificai rspunsul. Decriptai mesajul.

    Rspuns: b). Textul clar: SUBSTITUTIA SIMPLA SI TRANSPOZITIA SUNT DOUA METODE DE CIFRARE COMUTATIVE.

    Exerciiul 2.4.2.4. Cifrai mesajul: SPECIAL PROPERTY folosind algoritmul lui Cezar (k=13) i transpoziia dat de = (2, 4, 3, 1). Rspuns: PCRFVEE RYCLCNBG

    Exerciiul 2.4.2.5. Decriptai mesajul CPKQCG ZGTVTKGOERIH tiind c a fost cifrat cu ajutorul algoritmului lui Cezar i al unei transpoziii. Rspuns: EXAMEN CRIPTOGRAFIE.

    Exerciiul 2.4.2.6. Decriptai mesajul ZGTVTK GOERIHCPKQCG tiind c a fost cifrat cu ajutorul algoritmului lui Cezar i al unei transpoziii. Rspuns: EXAMEN CRIPTOGRAFIE.

  • TEHNICI DE SECURIZARE A DATELOR

    11

    LABORATOR 3

    SISTEME DE CIFRARE POLIALFABETICE 3.1 OBIECTIVELE LUCRRII

    Obiectivele lucrrii sunt urmtoarele: - analiza algoritmilor de criptare a datelor cu cheie asimetric de tip substituie polialfabetic,

    algoritmul Vigenre. - implementarea acestor algoritmi folosind tehnica de calcul.

    3.2 BREVIAR TEORETIC

    Un sistem de cifrare de tip substituie polialfabetic este generalizarea sistemului de cifrare de substituie monoalfabetic, fiind compus dintr-un numr N de alfabete. Fiecare alfabet reprezint o permutare (stabilit n funcie de parol) a alfabetului de intrare. Algoritmul de cifrare const n substituirea celei de-a i-a litere m din textul clar cu litera corespunztoare din cel de-al i mod N alfabet.

    Sistemele polialfabetice sunt uor de identificat prin aplicarea analizei frecvenelor de apariie a literelor n secvene decimate din textul cifrat.

    Un exemplu de sistem polialfabetic este algoritmul Vigenre n care parola k1,...,kn este folosit periodic pentru a transforma caracterul mj {A,...,Z} din textul clar dup formula: cj = (mj + kj mod n) mod 26. Pentru descifrare se folosete formula: mj = (cj - kj mod n) mod 26.

    Atacul sistemelor polialfabetice este similar cu atacul a N sisteme de substituie monoalfabetic. Deci, o procedur de tip divide et impera are o complexitate de O(N). Procedura este descis n continuare:

    Intrare: Textul cifrat de lungime M suficient de mare. Ieire: Textul clar corespunztor sistemului de cifrare polialfabetic. Pas 1. Determin numrul de alfabete N. Pas 2. Pentru j = 0 to 4 execut: pentru i = 1 to N j execut: aplic procedura de reconstrucie parial (pe baza frecvenelor (j

    + 1) gramelor) a alfabetelor i, ..., i + j. Pas 3. Conform celor N alfabete reconstruiete textul clar.

    Observaia 1. Procedura descris mai sus are ca parametru implicit de analiz numrul maxim de legturi 4: astfel, 1-gramele sunt caracterele, 2-gramele sunt dubleii, etc.

    3.2.1 EXERCIII REZOLVATE

    Exercitiul 3.2.1.1. S se cifreze mesajul WINDS OF CHANGE cu ajutorul algoritmului Vigenre, parola fiind FUTURE. Rezolvare: Aplicnd cifrarea pentru fiecare caracter al textului clar, innd cont de poziia acestora n alfabet, se obine:

    j mj Kj mod 6 cj = (mj + kj mod 6) (mod 26) 1 W 22 F 5 (22+5)(mod 26) = 1 B 2 I 8 U 20 (8+20)(mod 26) = 2 C

  • TEHNICI DE SECURIZARE A DATELOR

    12

    Rezult textul cifrat: BCGXJ SKWAU EKJ.

    Exercitiul 3.2.1.2. S se descifreze mesajul IHWGZ CIHGO GKAJV OI tiind c a fost cifrat cu ajutorul algoritmului Vigenre, parola fiind PASSWORD.

    Rezolvare: Aplicnd descifrarea pentru fiecare caracter al textului cifrat, innd cont de poziia acestora n alfabet, se obine:

    j cj kj mod 8 mj = (cj - kj mod 8) (mod 26) 1 I 8 P 15 (8 - 15)(mod 26) = 19 T 2 H 7 A 0 (7 - 0)(mod 26) = 7 H 3 W 22 S 18 (22 - 18)(mod 26) = 4 E 4 G 6 S 18 (6 - 18)(mod 26) = 14 O 5 Z 25 W 22 (25 - 22)(mod 26) = 3 D 6 C 2 O 14 (2 - 14)(mod 26) = 14 O 7 I 8 R 17 (8 - 17)(mod 26) = 17 R 8 H 7 D 3 (7 - 3)(mod 26) = 4 E 9 G 6 P 15 (6 - 15)(mod 26) = 17 R 10 O 14 A 0 (14 - 0)(mod 26) = 14 O 11 G 6 S 18 (6 - 18)(mod 26) = 14 O 12 K 10 S 18 (10 - 18)(mod 26) = 18 S 13 A 0 W 22 (0 - 22)(mod 26) = 4 E 14 J 9 O 14 (9 - 14)(mod 26) = 21 V 15 V 21 R 17 (21 - 17)(mod 26) = 4 E 16 O 14 D 3 (14 - 3)(mod 26) = 11 L 17 I 8 P 15 (8 - 15)(mod 26) = 19 T

    3.3. EXERCIII PROPUSE

    Exercitiul 3.3.1 S se cifreze mesajul OPTIMISTIC cu ajutorul algoritmului Vigenre, folosind parola GOODDAYS.

    Rspuns: UDHLPIQLOQ.

    3 N 13 T 19 (13+19)(mod 26) = 6 G 4 D 3 U 20 (3+20)(mod 26) = 23 X 5 S 18 R 17 (18+17)(mod 26) = 9 J 6 O 14 E 4 (14+4)(mod 26) = 18 S 7 F 5 F 5 (5+5)(mod 26) = 10 K 8 C 2 U 20 (2+20)(mod 26) = 22 W 9 H 7 T 19 (7+19)(mod 26) = 0 A 10 A 0 U 20 (0+20)(mod 26) = 20 U 11 N 13 R 17 (13+17)(mod 26) = 4 E 12 G 6 E 4 (6+4)(mod 26) = 10 K 13 E 4 F 5 (4+5)(mod 26) = 9 J

  • TEHNICI DE SECURIZARE A DATELOR

    13

    Exercitiul 3.3.2. S se cifreze mesajul THANK YOU cu ajutorul algoritmului Vigenre, folosind parola POLITE.

    Rspuns: IVLVD CDI.

    Exercitiul 3.3.3. S se cifreze mesajul GOING BACK IN TIME cu ajutorul algoritmului Vigenre, folosind parola MEMORY.

    Rspuns: SUUBX ZMGW WE RUQQ.

    Exercitiul 3.3.4. S se cifreze mesajul FAST CARS cu ajutorul algoritmului Vigenre, folosind parola RADAR.

    Rspuns: WAVT TRRV.

    Exercitiul 3.3.5. S se cifreze mesajul SUITCASE cu ajutorul algoritmului Vigenre, folosind parola TRIP.

    Rspuns: LLQIVRAT.

    Exercitiul 3.3.6. S se descifreze mesajul WIUXGHG WXGALFYK tiind c a fost cifrat cu ajutorul algoritmului Vigenre, parola fiind TEST.

    Rspuns: DECENDO DECISMUS.

    Exercitiul 3.3.7. S se descifreze mesajul UAEGQD OOGAT tiind c a fost cifrat cu ajutorul algoritmului Vigenre, parola fiind TANGO.

    Rspuns: BARACK OBAMA.

    Exercitiul 3.3.8. S se descifreze mesajul XVLGM OXLDC tiind c a fost cifrat cu ajutorul algoritmului Vigenre, parola fiind BRIDE.

    Rspuns: WEEDING DAY.

    Exercitiul 3.3.9. S se descifreze mesajul IHZSV SKIEE CHWPU ACSH tiind c a fost cifrat cu ajutorul algoritmului Vigenre, parola fiind PARADOX.

    Rspuns: THIS SENTENCE IS FALSE.

  • TEHNICI DE SECURIZARE A DATELOR

    14

    LABORATOR 4

    ALGORITMUL RIJNDAEL STANDARDUL AES

    4.1 OBIECTIVELE LUCRRII

    Obiectivele lucrrii sunt urmtoarele: - analiza algoritmilor de criptare a datelor cu cheie simetric de tip R.S.A. - implementarea acestor algoritmi folosind tehnica de calcul.

    4.2 BREVIAR TEORETIC

    Standardul AES Advanced Encryption Standard cunoscut i sub numele de Rijndael, este un algoritm standardizat pentru criptarea simetric, pe blocuri, folosit astzi pe scar larg n aplicaii. El este compus din patru operaii (sumare modulo 2 cu cheia de rund, substituia la nivel de octet, shiftarea liniilor, mixarea coloanelor etc.) n cadrul procesului de transformare a strilor i generatorul de chei de rund.

    Pasul SubBytes

    Pasul SubBytes este un cifru cu substituie, fr punct fix, denumit Rijndael S-box, care ruleaz independent pe fiecare octet din state. Aceast transformare este neliniar i face astfel ntreg cifrul s fie neliniar, ceea ce i confer un nivel sporit de securitate.

    Fiecare octet este calculat astfel:

    unde bi este bitul corespunztor poziiei i din cadrul octetului, iar ci este bitul corespunztor poziiei i din octetul ce reprezint valoarea hexazecimal 63, sau, pe bii, 01100011. Maparea octeilor se poate reine ntr-un tabel, explicitat n FIPS PUB 197, n care este specificat rezultatul operaiei de mai sus efectuat pe fiecare din cele 256 de valori posibile reprezentabile pe un octet.

    Pasul ShiftRows

    Pasul ShiftRows opereaz la nivel de rnd al matricii de stare state. Pasul const n simpla

    deplasare ciclic a octeilor de pe rnduri, astfel: primul rnd nu se deplaseaz; al doilea rnd se deplaseaz la stnga cu o poziie; al treilea rnd se deplaseaz la stnga cu dou poziii; al patrulea se deplaseaz la stnga cu trei poziii. Rezultatul acestui pas este c fiecare coloan din tabloul state rezultat este compus din octei de pe fiecare coloan a strii iniiale. Acesta este un

    Figur 1. La pasul SubBytes, fiecare octet din blocul state este nlocuit cu un altul, conform unui cifru cu substituie

    http://ro.wikipedia.org/wiki/Fi%C8%99ier:AES-ShiftRows.svghttp://ro.wikipedia.org/wiki/Fi%C8%99ier:AES-SubBytes.svg

  • TEHNICI DE SECURIZARE A DATELOR

    15

    aspect important, din cauz c tabloul state este populat iniial pe coloane, iar paii ulteriori, inclusiv AddRoundKey n care este folosit cheia de criptare, operaiile se efectueaz pe coloane.

    Pasul MixColumns

    n acest pas, fiecare coloan a tabloului de stare este considerat un polinom de gradul 4 peste corpul Galois F28. Fiecare coloan, tratat ca polinom, este nmulit, modulo x4 + 1 cu polinomul a(x)=3x3 +x2 + x+ 2. Operaia se poate scrie ca nmulire de matrice astfel:

    Unde sunt elementele de pe un vector coloan rezultate n urma nmulirii, iar sunt elementele de pe acelai vector naintea aplicrii pasului.

    n pasul MixColumns, fiecare coloan este nmulit cu un polinom, notat n figur cu c(x)

    Rezultatul are proprietatea c fiecare element al su depinde de toate elementele de pe coloana strii dinaintea efecturii pasului. Combinat cu pasul ShiftRows, acest pas asigur c dup cteva iteraii, fiecare octet din stare depinde de fiecare octet din starea iniial (tabloul populat cu octeii mesajului n clar). Aceti doi pai, mpreun, sunt principala surs de difuzie n algoritmul Rijndael. Coeficienii polinomului a(x) sunt toi 1, 2 i 3, din motive de performan, criptarea fiind mai eficient atunci cnd coeficienii sunt mici. La decriptare, coeficienii pasului corespunztor acestuia sunt mai mari i deci decriptarea este mai lent dect criptarea. S-a luat aceast decizie pentru c unele din aplicaiile n care urma s fie folosit algoritmul implic numai criptri, i nu i decriptri, deci criptarea este folosit mai des.

    Pasul AddRoundKey i planificarea cheilor

    Pasul AddRoundKey este pasul n care este implicat cheia. El const ntr-o simpl operaie de sau exclusiv pe bii ntre stare i cheia de rund (o cheie care este unic pentru fiecare iteraie, cheie calculat pe baza cheii secrete). Operaia de combinare cu cheia secret este una extrem de simpl i rapid, dar algoritmul rmne complex, din cauza complexitii calculului cheilor de rund (Key Schedule), precum i a celorlali pai ai algoritmului.

    http://ro.wikipedia.org/wiki/Corp_finithttp://ro.wikipedia.org/wiki/Fi%C8%99ier:AES-MixColumns.svg

  • TEHNICI DE SECURIZARE A DATELOR

    16

    n pasul AddRoundKey, se efectueaz o operaie de sau exclusiv pe bii ntre octeii strii i cei ai cheii de rund

    Cheia de rund este calculat dup algoritmul urmtor:

    KeyExpansion(byte key[4*Nk], word w[Nb*(Nr+1)], Nk) begin word temp i = 0 while (i < Nk) w[i] = word(key[4*i], key[4*i+1], key[4*i+2], key[4*i+3]) i = i+1 end while i = Nk while (i < Nb * (Nr+1)] temp = w[i-1] if (i mod Nk = 0) temp = SubWord(RotWord(temp)) xor Rcon[i/Nk] else if (Nk > 6 and i mod Nk = 4) temp = SubWord(temp) end if w[i] = w[i-Nk] xor temp i = i + 1 end while end

    Acest algoritm lucreaz pe cheia algoritmului, de lungime Nk cuvinte de 4 octei (4, 6 sau 8, conform standardului), populnd un tabel de Nb (Nr + 1) cuvinte, Nb fiind numrul de cuvinte al blocului (n versiunea standardizat, 4), iar Nr numrul de runde (iteraii), dependent de lungimea cheii. Algoritmul de planificare a cheilor folosete transformarea SubWord, care este o substituie a octeilor identic cu cea din pasul SubBytes. RotWord este o rotaie ciclic la stnga cu un octet a octeilor dintr-un cuvnt. Cu Rcon[i] se noteaz n algoritm un cuvnt format din octeii [2i-1,{00},{00},{00}]. Operaia de ridicare la putere este aici cea valabil n corpul Galois F28. Tabloul w conine la finalul prelucrrii cuvintele de pe coloanele cheilor de rund, n ordinea n care urmeaz s fie aplicate.

    4.3 EXERCITII REZOLVATE

    Exerciiul 1. Intrarea n runda i=6 a algoritmului AES 128/128 pentru cifrarea textului zero peste tot, cu ajutorul cheii zero peste tot, este:

    http://ro.wikipedia.org/wiki/Fi%C8%99ier:AES-AddRoundKey.svg

  • TEHNICI DE SECURIZARE A DATELOR

    17

    4 55 76 8 054 96 6 33 3

    797923

    cheia de rund fiind:

    14 9961 25 4 75 0985 8 37

    6497

    Care este ieirea dup procesarea rutinelor SubBytes, ShiftRows, MixColumns i AddRound-Key? Rezolvare: Rutina SubBytes presupune folosirea urmtorului Sbox:

    0 10 63 7

    1 82

    2 3 477 7 29 7

    5 6 7

    6 6 559 47 0

    8 9

    30 01 67 4 2

    2 7 9 4

    7672 0

    2 7 3 04 74 09 83

    93 26 3623 3 182 1 1

    3 7 96 05 96 5 0

    34 5 507 12 8052 3 6

    1 71 82 273 29 3

    31 152 752 84

    5 53 16 0 7 51 3

    00 20 4340 8 92

    1 54 33 859 38 5

    6 45 9 02 6

    39 4 47 50 321 10

    58 9 83 2

    8 09 60 81 0 32

    13 54 223 0 49

    97 44 172 90 8806 24 5

    4 7 746 82 3

    3 64 514 562 91 95

    19 730 4 79

    7 8 78 70 3

    8 6 878 2 13 66 48

    5 4 96 4 603 6 0

    6 56 48 7461 35 57

    65 71 4 9 86 1

    088 81 9

    1 8 8 1

    8 11 691 0

    9 8 946 42 68

    9 1 8741 99 2

    9 550 0 54

    28 16

    Gsirea octetului din S-box corespunztor octetului din stare se face astfel: pentru octetul

    D4 se caut n SBox elementul aflat la intersecia liniei D cu coloana 4 i se substituie n stare elementul gsit n SBox. D4 se va substitui cu 48. Procedeul se aplic similar pentru ceilali octei din stare.

    Rezultatul aplicrii rutinei SubBytes se constituie n urmtoarea stare:

    48 38 6 684 90 50 3 27

    66126

    Rutina ShiftRows acioneaz n felul urmtor asupra strii: prima linie rmne neschimbat, a doua linie se rotete la stnga cu un octet, a treia linie se rotete la stnga cu doi octei iar a patra linie se rotete la stnga cu trei octei.

    Dup aplicarea rutinei ShiftRows, starea va fi urmtoarea:

    48 36 6 6 1 8426 50 3

    689027

    Rutina MixColumns presupune nmulirea fiecrei coloane din stare cu urmtoarea matrice fixat:

  • TEHNICI DE SECURIZARE A DATELOR

    18

    02 03 01 01 02 0301 01 0203 01 01

    01010302

    Operaiile care rezult din nmulirea matricilor se fac n corpul Galois GF(28) i sunt nmuliri de polinoame modulo polinomul generator al corpului GF(28) care este h(X) = X8 + X4 + X3 + X + 1. Observm c singurele nmuliri care apar sunt cele cu 02 i 03. nmulirea cu polinomul 02 n GF(28) nseamn nmulirea cu polinomul X.

    Fie f(X) = b7X7 + b6X6 + b5X5 + b4X4 + b3X3+ b2X2+ b1X+ b0 un polinom din GF(28). S vedem ce presupune nmulirea 02 * f(X) adic X * f(X):

    X * f(X) = b7X8 + b6X7 + b5X6 + b4X5 + b3X4+ b2X3+ b1X2+ b0 X (mod m(X)),

    unde m(X) este polinomul generator m(X) = X4+ X3+ X + 1 al corpului Galois GF(28). Dac b7 = 0, atunci polinomul este n forma redus n GF(28) (are gradul 7).

    Dac b7 = 1, atunci:

    X * f(X) = X8 mod m(X) + b6X7 + b5X6 + b4X5 + b3X4+ b2X3+ b1X2+ b0 X.

    Deci:

    X * f(X) = (X4+ X3+ X + 1) + b6X7 + b5X6 + b4X5 + b3X4+ b2X3+ b1X2+ b0 X.

    Prin urmare, nmulirea cu polinomul X poate fi implementat, n cazul n care bitul cel mai semnificativ al polinomului f(X) este 1, ca o operaie de shift la stnga cu 1 bit urmat de un XOR cu (00011011), care reprezint polinomul (X4+ X3+ X + 1),

    Dac bitul cel mai semnificativ al polinomului f(X) este 0, atunci nmulirea presupune doar o operaie de shift la stnga cu 1 bit.

    Pentru a trece la starea curent prin rutina MixColumns, se nmulete pe rnd fiecare coloan din stare cu matricea fixat de mai sus.

  • TEHNICI DE SECURIZARE A DATELOR

    19

    LABORATOR 5

    ALGORITMI DE CRIPTARE CU CHEIE PUBLIC. ALGORITMUL R.S.A

    5.1 OBIECTIVELE LUCRRII

    Obiectivele lucrrii sunt urmtoarele: - analiza algoritmilor de criptare a datelor cu cheie public de tip R.S.A. - implementarea acestor algoritmi folosind tehnica de calcul.

    5.2 BREVIAR TEORETIC

    Deoarece toi criptologii au considerat ntotdeauna ca de la sine neles faptul c att pentru criptare ct i pentru decriptare se folosete aceeai cheie i c aceasta trebuie distribuit tuturor utilizatorilor sistemului, prea a exista ntotdeauna aceeai problem inerent: cheile trebuiau protejate mpotriva furtului dar, n acelai timp, ele trebuiau s fie distribuite, astfel nct nu puteau fi sechestrate ntr-un seif de banc.

    n 1976, doi cercettori, Diffie i Hellman, au propus un tip radical nou de criptosistem n care cheile de criptare i decriptare sunt diferite, iar cheia de decriptare nu poate fi dedus din cheia de criptare. n propunerea lor, algoritmul (cheia) de criptare E i algoritmul (cheia) de decriptare D , trebuiau s satisfac trei cerine. Aceste trei cerine pot fi exprimate simplificat dup cum urmeaz:

    a) ( )( ) PPED = ; b) Este mai mult dect dificil s se deduc D din E ; c) E nu poate fi spart printr-un atac cu text clar ales. Respectndu-se aceste trei condiii, nu exist nici un motiv pentru ca E , respectiv cheia de

    criptare, s nu poat fi fcut public, din contr, toi utilizatorii ce au adoptat acest model de criptosistem trebuie s-i fac cunoscute cheile publice.

    Plecnd de la aceste trei condiii, n anul 1978 a fost inventat criptosistemul RSA. Denumirea lui provine de la numele celor trei inventatori ai acestui mod de codificare a informaiei: Ron Rivest, Adi Shamir i Leonard Adelman.

    Acest criptosistem st i astzi n diverse variante, la baza sistemelor de protecie a datelor i transmisiilor de informaii.

    Pentru obinerea cheilor (cheia privat i cheia public), se procedeaz astfel:

    1. Se aleg dou numere prime p i q ; 2. Se calculeaz qpn = i ( ) ( )1-q1-pz = ; 3. Se alege un numr e relativ prim cu z , astfel nct ze1

  • TEHNICI DE SECURIZARE A DATELOR

    20

    n urma operaiilor de mai sus obinem dou perechi de numere ( )en, i ( )dn, ce reprezint cheia public, respectiv cheia privat. Pentru a obine mesajul criptat c , mesajul clar m (privit ca ir de bii), se mparte n k blocuri de text clar. Fiecrui bloc ( )1-k0,i,mi = i se aplic funcia:

    ( ) n mod em en,ci = , unde 1-k0,i = (3.1)

    Astfel irul c obinut reprezint mesajul criptat. Pentru decriptare (obinerea mesajului clar m ), criptogramei c i se aplic funcia:

    ( ) n mod dc dn,m ii = , unde 1-k0,i = (3.2)

    Din motive de securitate numerele p i q se terg, dup generarea cheilor publice i private.

    Securitatea metodei se bazeaz pe dificultatea factorizrii numerelor mari. Dac un criptanalist ar putea factoriza numrul n (public cunoscut), atunci el ar putea obine p i q , iar din acestea pe z . Cu acesta din urm aflat, se restrng i variantele pentru e , respectiv d . Din fericire, matematicienii ncearc de peste 300 de ani s factorizeze numere mari i experiena acumulat sugereaz c aceasta este o problem mai mult dect dificil.

    n figura 3.1 este ilustrat modul de funcionare al algoritmului R.S.A.

    Fig. 5.2.1. Schema-bloc a funcionrii criptosistemului R.S.A.

    Persoana A deine un grup (inel) de chei publice ale persoanelor B, C, D i E. Pentru a transmite un mesaj criptat persoanei C, cripteaz mesajul (textul clar) cu cheia public a lui C. Persoana C primete mesajul criptat de la A i l decodific cu cheia sa privat, obinnd astfel textul clar original.

    n cadrul grupului de persoane A, B, C, D, E, fiecare deine cheile publice ale celuilalt i le utilizeaz pentru transmiterea mesajelor. De asemenea, fiecare persoan i utilizeaz cheia privat (personal) pentru a decripta mesajele primite, astfel numai destinatarul mesajului poate citi mesajul.

  • TEHNICI DE SECURIZARE A DATELOR

    21

    Aceast modalitate de criptare este utilizat atunci cnd expeditorul este interesat ca nimeni (nici mcar cei din grup) nu va putea citi mesajul clar. Dezavantajul acestei metode este c oricine din grup poate trimite mesaje, iar destinatarul nu poate fi 100% sigur de identitatea expeditorului.

    5.3 EXERCIII REZOLVATE

    Exercitiul 5.3.1. Se aleg dou numere prime: p = 61 i q = 53 (Pentru o criptare eficient p i q se aleg mai mari de 10100) Se calculeaz: n = pq = 6153 = 3233 i z = (p-1)(q-1) = 6052 = 3120 Conform algorimului se alege e = 17 Tot conform algoritmului se alege d = 2753 Cheia public (n,e)=(3233,17) Cheia privat (n,d)=(3233,2753) Se alege mesajul clar (de criptat) m=123. Codificarea este c =me mod n = 12317 mod 3233 =

    337587917446653715596592958817679803 mod 3233 = 855 Decodificarea este m = cd mod n =8552753 mod 3233 =123

    5.4. Semntura digital R.S.A.

    Avantajul algoritmului R.S.A. este c poate fi utilizat i pentru semnarea mesajelor expediate. Acest tip de semntur este cunoscut sub numele de semntur digital.

    Semntura digital este folosit pentru a identifica autorul unui mesaj. Schema bloc a sistemului de transmitere a mesajelor semnate digital este reprezentat n

    figura 3.2.

    Fig. 5.4.1. Schema bloc a sistemului de transmitere a mesajelor semnate digital

  • TEHNICI DE SECURIZARE A DATELOR

    22

    Dup cum este cunoscut, fiecare membru al unui grup deine cheia public a celorlali membri ai grupului i cheia sa privat. Pentru a transmite persoanei C un mesaj criptat i semnat, persoana A cripteaz mesajul (textul clar) cu cheia sa privat (personal). Persoana C primete mesajul criptat de la A i l decodific cu cheia public a acesteia (cheia public a lui A), obinnd astfel textul clar original.

    Spre deosebire de prima schem de criptare, n acest caz, toate persoanele din grup pot decodifica mesajul dar nu exist nici un dubiu n privina identitii expeditorului.

    A, B, C, D i E pot fi att persoane ct i programe, ceea ce nseamn c acest sistem de criptare poate fi folosit att de:

    - persoane n vederea transmiterii de maseje (de exemplu transmiterea de e-mail-uri, fiiere n orice format), ct i de

    - programe (pachete de programe client/server) n vederea transmiterii de informaii de la aplicaia server la aplicaia client i/sau invers, n cadrul reelelor de tip LAN (Local Area Network) sau WAN (World Area Network).

    Folosind notaiile de la metoda de criptare, pentru a obine mesajul criptat c (criptogram semnat digital), mesajul clar m (privit ca ir de bii), se mparte n k blocuri de text clar. Fiecrui bloc ( )1-k0,i,mi = i se aplic funcia

    ( ) n mod m dn,c di = , unde 1-k0,i = (3.3)

    Astfel irul c obinut reprezint mesajul criptat semnat. Pentru decriptare (obinerea mesajului clar m ), criptogramei c i se aplic funcia:

    ( ) n mod ec en,m ii = , unde 1-k0,i = (3.4)

    5.5. EXERCIII PROPUSE 5.6. CHESTIUNI DE STUDIAT - Descriei principiul de funcionare al algoritmului RSA. - Pentru ce se folosete cheia public i cheia privat? - La ce se folosete sistemul de criptare RSA?

  • TEHNICI DE SECURIZARE A DATELOR

    23

    LABORATOR 6

    ALGORITMI DE CRIPTARE CU SEMNATUR DIGITAL

    6.1 OBIECTIVELE LUCRRII

    Obiectivele lucrrii sunt urmtoarele: - analiza algoritmilor de criptare a datelor cu semntur digital de tip ElGamal i DSA - implementarea acestor algoritmi folosind tehnica de calcul.

    6.2 BREVIAR TEORETIC

    6.2.1 Semntura ElGamal

    Fie p un numr prim pentru care problema logaritmului discret n Zp este dificil i Zp* un element primitiv. Cheia public se construiete din cheia privat a: = a mod p.

    Semntura mesajului x, calculat cu ajutorul valorii secrete k Zp-1, este definit ca fiind (, ) unde:

    = k mod p i = (H(x) - a )k-1 mod (p - 1), unde Semntura (, ) a mesajului x este verificat dac are loc:

    = x mod p.

    Exerciii rezolvate

    Exerciiul 6.2.1.1 S se semneze mesajul x=101 cu ajutorul algoritmului ElGamal specificat de parametrii urmtori: p=467, = 2, cheia privat a = 127, alegnd valoarea k=213.

    Rezolvare: Se calculeaz = a mod p = 2127 mod 467 = 132 Semntura mesajului x= 101 cu k= 213 (de remarcat factul c (213, 466) = 1 i 213-1 mod 466 = 431) este:

    = k mod p=2213 mod 467=29 i = (101 - 12729)431 mod 466 = 16.

    6.2.2 Semntura DSA

    Fie p un numr prim de 512 bii i q un factor prim de 160 bii ai lui p -1 i Zp* o rdcin primitiv de ordin q a unitii.

    Cheia public se construiete din cheia privat a: = a mod p. Semntura mesajului x, calculat cu ajutorul valorii secrete k Zq*, este definit ca fiind (, ) unde:

    (, ) = ((k mod p) mod q, (x + a ) k-1 mod q). Semntura (, ) a mesajului x este verificat dac are loc urmtoarea egalitate, unde e1 = x -1 mod q i e2 = -1 mod q:

    (e1 e2 mod p)mod q = .

    Exerciii rezolvate

    Exerciiul 6.2.2.1 S se semneze mesajul x=100 cu ajutorul algoritmului DSA specificat de parametrii urmtori: p=7879,q=101, = 170, valoarea aleatoare utilizat k=50, cheia secret fiind a = 75. Verificai rezultatul obinut.

    Rezolvare: Se calculeaz:

  • TEHNICI DE SECURIZARE A DATELOR

    24

    = (k mod p) mod q = (17050 mod 7879) mod 101 = 2518 mod 101 = 94. = (x + a ) k-1 mod q = (100 + 7594)50-1 mod 101 = 715050-1 mod 101= 715099 mod 101 = 42. S-a folosit 50-1 mod 101= -2 mod 101 = 99 (fiindc 101=502 +1). Verificare: = a mod p = 17075 mod 7879 = 4567. e1 = x -1 mod q = 10042-1 mod 101 = 10089 mod 101 = 12. e2 = -1 mod q = 9442-1 mod 101 = 9489 mod 101 = 84. Se obine: (e1 e2 mod p)mod q = (17012456784 mod 7879) mod 101 = 2518 mod 101 = 94 = .

    6.2.3. EXERCIII PROPUSE

  • TEHNICI DE SECURIZARE A DATELOR

    25

    LABORATOR 7

    PROTECIA DIGITAL A DREPTULUI DE PROPRIETATE N INTERNET FOLOSIND TEHNICI DE MARCARE I VERIFICARE WATERMARK

    7.1. OBIECTIVELE LUCRRII Obiectivele lucrrii sunt urmtoarele:

    - familiarizarea cu tehnicile de marcare i verificare online a mai multor tipuri de documente n scopul realizrii unei protecii a dreptului de proprietate n Internet;

    - implementarea software a sistemului de marcare i verificare Watermark. 7.2. BREVIAR TEORETIC 7.2.1. Introducere

    Digital Watermarking este asociat cu vechea tehnic a ascunderii informaiei i anume steganografia. Watermarking ascunde un mesaj secret i personal pentru a proteja dreptul de proprietate sau pentru a demonstra autenticitatea, originalitatea coninutului sau verificarea coninutului, integritatea datelor sau detectarea falsificrii.

    Marcarea imaginilor digitale, audio i video sau a produselor multimedia n general are ca scop rezolvarea problemei dreptului de proprietate i verificarea coninutului original. Facilitile digitale pentru crearea, procesarea i memorarea produselor multimedia au fost considerate foarte convenabile de creatori, productori, editori i clieni. n acelai timp, comunicaiile digitale prin reea au crescut rapid. ntr-un astfel de mediu, produsele digitale pot fi foarte uor copiate, procesate pentru variate scopuri sau expuse public.

    Un watermark digital este un semnal inserat ntr-o imagine, un semnal audio sau semnal video sau n general ntr-un document digital. Watermark poate fi un ir de numere, numele unei companii, semntura unei persoane, etc.

    Principala caracteristic a unui watermark este c nu poate fi detectat de ctre ochii sau auzul nostru. Deci vizionnd sau ascultnd obiectul multimedia care conine un watermark, nu vom sesiza existena semnalului watermark. In schimb, watermark-ul poate fi detectat i extras cu ajutorul computerului dup un anume algoritm.

    Aceste proprieti evideniaz cea mai important aplicaie a watermark-ului digital (fig.10.1), detaliat n continuare.

    Watermark mpotriva utilizrii de ctre persoane neautorizate.

    Principala aplicaie a watermark-ului digital este protecia copyright-ului. Neputnd fi detectat i totodat nici ters, watermark-ul poate stabili adevratul proprietar al unui document, poate identifica sursa i utilizatorul de drept al obiectului multimedia pstrnd totodat i calitatea lui. Cele trei etape ale protejrii copyright-ului prin tehnologia oferit de watermark-ul digital sunt descrise n cele ce urmeaz. -declaraia dreptului de proprietate

    Uurina cu care se pot duplica datele digitale face declaraia dreptului de proprietate mai dificil. Pentru a determina cu exactitate autorul sau proprietarul coninutului digital, acesta din urm poate insera un watermark n fiecare copie a documentului. Prezena

  • TEHNICI DE SECURIZARE A DATELOR

    26

    semnului proprietarului ntr-un obiect multimedia din posesia unei persoane neautorizate poate dovedi hoia acestuia din urm. - depistarea distribuitorului ilegal (traitor tracing) Watermark-ul digital inserat poate conine informaii despre cumprtorii legitimi ai obiectului media. nainte de a transmite obiectul media doritorului, date personale despre acesta cum ar fi numrul crii de credit, pot fi ascunse n respectivul obiect prin inserarea watermark-ului. Odat ce proprietarul gsete o copie ilegal, el poate gsi distribuitorul ilegal prin extragerea numrului de identificare din produsul respectiv. - controlul dreptului de folosin Cnd obiectul multimedia necesit utiliti speciale de multiplicare sau vizionare, un watermark digital poate fi inserat pentru a indica numrul de copii permis sau pentru a da dreptul beneficiarului legitim de a accesa data.

    Fig.10.1. Aplicaii ale Digital Watermarking

    7.2.2. Principalele caracteristici ale unui watermark

    Invizibilitate perceptual: Modificrile aduse de inserarea watermark-ului nu ar trebui s afecteze calitatea obiectului. Totui, diferenele dintre produsul original i cel care conine watermark-ul pot fi vizibile dac se face o comparare direct ntre cele dou produse. Ca urmare a acestui lucru, aceste diferene rmn neobservabile pentru c produsul original este accesibil numai proprietarului legal.

  • TEHNICI DE SECURIZARE A DATELOR

    27

    Complexitate: Semnalele watermark ar trebui s fie caracterizate printr-o mare complexitate. Acest lucru este necesar pentru a putea fi produs o gam larg de

    watermark-uri diferite ntre ele. Un set imens de watermark-uri previne recuperarea unui watermark prin ncercri i proceduri de eroare.

    Chei asociate: Watermark-urile trebuiesc asociate cu un numr de identificare numit cheie watermark. Cheia este folosit s genereze , detecteze i s tearg watermark-ul. De asemenea cheia trebuie s fie particular i s caracterizeze exclusiv doar proprietarul legal.

    Detecie/Cutare automat: Watermark-urile trebuie s suporte o procedur de cutare care scaneaz automat orice domeniu accesibil din reea.

    Detecie demn de ncredere: Watermark-urile trebuie s constituie o dovad suficient a dreptului de proprietate al unui produs digital. Un watermark oarecare este o dovad clar pentru a demonstra dreptul de proprietate al unei imagini digitale chiar dac exist o probabilitate nesemnificativ de eroare.

    Invizibilitate statistic: Watermark-urile nu trebuiesc recuperate folosind metode statistice. De exemplu posesia unui numr mare de produse digitale marcate cu aceiai cheie nu trebuie s dezvluie watermark-ul prin aplicarea de metode statistice. De aceea watermark-urile trebuie s fie independente de produs.

    Robusteea: O imagine digital trebuie s suporte o gam larg de modificri diferite care n mod deliberat (atacuri pirat) sau nu (compresie, filtrare pentru eliminarea zgomotului, redimensionare) afecteaz watermark-ul inserat. n mod evident un watermark care se folosete n protecia dreptului de proprietate trebuie s fie detectabil n condiiile n care calitatea produsului rmne n limite acceptabile. indiferent de modificri.

    7.2.3. Modelul matematic

    Un model matematic este foarte greu de definit ntruct variate forme ale watermark-urilor digitale pot fi gsite n literatura de specialitate. n general, un watermark poate fi definit ca fiind un semnal digital W

    }d Wk U, w(k)| {w(k) W = (10.1)

    care este introdus n produsele digitale printr-o procedur de inserie. Wd denot domeniul dimensiunilor watermark-ului; d=1,2,3 pentru audio, imagini respectiv video. Semnalul watermark poate avea o form binar (U={0,1} sau U={-1,1}) sau forma unui zgomot gaussian ( IR= (-1,1)U ) Uneori, W este numit watermark-ul original pentru a putea fi deosebit de versiunile transformatei F(W) care pot apare n timpul inseriei sau extragerii.

    Watermark-ul n mod general (GWF -general watermarking framework) se definete ca

    fiind sextuplul (X,W,K,,,), unde: 1. X denot setul de produse digitale care trebuiesc a fi protejate 2. W este setul de posibile semnale watermark definite de ecuaia (10.1). 3. K este un set de numere ID (de exemplu un set de parametri ntregi) i sunt numite chei pentru watermark. 4. denot algoritmul care genereaz watermark-urile folosind cheia i produsul digital care urmeaz a fi marcat K)(X, W,W KX: = (10.2) 5. este algoritmul de inserie care introduce watermark-ul W n produsul digital X0

  • TEHNICI DE SECURIZARE A DATELOR

    28

    W),0(XwX X,IRKX: = (10.3)

    Xw denot versiunea marcat a lui X0. 6. n final, denot algoritmul de detecie definit dup cum urmeaz

    {0,1}KX:

    = Xin exista W daca 1 altfel 0W)(X, (10.4)

    7.2.4. Protecia dreptului de proprietate cu GWF

    Violarea dreptului de proprietate atac interesele furnizorilor mai mult dect cele ale clienilor. GWF rspunde direct la ntrebarea pus de un furnizor particular : "Sunt eu proprietarul produsului X?". Prin inserarea watermark-ului n produse nainte de distribuia lor ctre clieni sau n reele public accesibile, ntrebarea de mai sus devine "Exist watermark-ul meu n X?".

    Deci protecia dreptului de proprietate devine o problem a deteciei watermark-urilor. Trebuie remarcat faptul c GWF nu poate rspunde la ntrebarea "Este produsul X protejat?" sau "Al cui este produsul X?". Aceasta deoarece GWF este bazat pe detecia watermark-ului folosind chei private (fig.10.2).

    Fig.10.2. Detecia Watermark cu chei private ntr-o reea de distribuie

    7.3. MOD DE LUCRU 7.3.1. Descrierea sitului de marcare i verificare watermark

    Implementarea software a sistemului de marcare i verificare watermark const dintr-un sit ce are ca scop marcarea i verificarea online a mai multor tipuri de documente n scopul realizrii unei protecii a dreptului de proprietate n Internet.

    Sunt recunoscute 7 tipuri de documente din 4 categorii: executabile, imagini, audio i documente de tip text. Aceste formate recunoscute sunt:

    1. executabile: *.exe 2. imagini: *.gif, *.bmp 3. audio: *.wav,*.voc 4. texte: *.txt, *doc. Situl a fost realizat n PHP sub Windows 2000, dar este funcionabil i n Windows 9x i

    Me. Ca baz de date folosete MySQL pentru a ine o eviden a tuturor utilizatorilor

  • TEHNICI DE SECURIZARE A DATELOR

    29

    nregistrai. Procesul de marcare i verificare al watermark-ului nu este accesibil dect utilizatorilor nregistrai (aflai n baza de date).

    Situl poate fi mprit n 3 mari module: (1) Modulul de nregistrare/conectare a utilizatorului; (2) Modulul de inserare a watermark-ului n documente; (3) Modulul de extragere a watermark-ului din documente. n plus, pe lng protecia dreptului de proprietate, situl are i urmtoarele domenii de

    aplicaie: - comunicaii secrete ntre 2 utilizatori nregistrai Documentul marcat de un utilizator nregistrat este citit la destinaie de ctre cellalt utilizator nregistrat. Aceast operaiune presupune stabilirea n prealabil a unei parole secrete ntre cei doi utilizatori. - detecia utilizatorului neautorizat nainte de distribuia unui document (o aplicaie software, o imagine etc.) ctre un client, se poate marca acest document cu un cod unic, care s identifice clientul cruia i este destinat documentul. n cazul descoperirii unei copii neautorizate, se poate extrage codul din aceast copie i astfel se poate afla i clientul care a distribuit ilegal documentul. - detecia modificrii/validitii i integritii unui document Se marcheaz documentul nainte de trimitere cu un watermark care depinde de informaia trimis i la destinaie se extrage acest cod, testnd validitatea documentului. - refacerea unui document modificat Prin introducerea unui watermark care reprezint un cod detector i corector de erori se pot reface documentele transmise prin medii de distribuie nesigure. - etichetarea coninutului Pentru imagini sau sunete este necesar etichetarea coninutului acestora prin adugarea de informaii privitoare la locul i data crerii documentului.

    Se recomand explorarea tuturor posibilitilor legate de protecia dreptului de proprietate oferite de modulele sitului, ca i a manierei n care pot fi realizate aplicaii din categoriile mai sus menionate.

    7.3.2. Marcarea fiierelor executabile

    Marcarea funcioneaz cu succes asupra tuturor categoriilor de fiiere executabile n format PE cu cteva excepii (programele de tip install cum ar fi HW32V31.EXE - programul de instalare al utilitarului HexWorkShop- i programele care citesc date din propriul lor fiier executabil). Dimensiunea mesajului secret este limitat la 4096 caractere, dar prin marcarea online nu se permite introducerea de mai mult de 100 de caractere.

    n urma vizualizrii seciunilor celor 2 fiiere -cel marcat i cel original- se observ diferenele dintre cele dou fiiere, i anume fiierul marcat are seciunea wmark n plus, seciune care are rolul de ncrctor pentru fiierul marcat (fig.7.3., fig.7.4.).

  • TEHNICI DE SECURIZARE A DATELOR

    30

    Fig.7.3. Fiierul Notepad.exe original

    Fig. 7.4. Fiierul Notepad.exe marcat

    Din punct de vedere al funcionalitii, cele 2 programe se comport identic, procesul de marcare nu aduce nici o disfuncionalitate n execuia programului marcat, ci doar o eventual cretere a timpului de execuie, fapt inobservabil la fiierul Notepad.exe i n general la fiierele executabile mici.

    La nivelul seciunilor .data al fiierelor, n ciuda funcionalitii identice, se remarc o diferen total datorit criptrii seciunilor (fig.7.5).

    Fig. 7.5. Diferene la nivel binar ntre fiierul marcat i cel original

    7.6.Marcarea fiierelor bmp, wav i voc n urma marcrii fiierului pasare.bmp (fig.7.6), s-a obinut o imagine (fig.7.7) identic vizual cu cea original.

  • TEHNICI DE SECURIZARE A DATELOR

    31

    Fig. 10.6. Fiierul original pasare.bmp

    Fig. 7.7. Fiierul marcat pasare.bmp

    Privind cu atenie cele 2 fiiere, la nivel binar pot fi observate mici diferene de 1 bit ale

    anumitor pixeli alei ntr-un mod care depinde de parol, diferene care evident fac ca imaginea marcat s arate identic cu cea original.

    De exemplu, la deplasamentul 0x000094D3, octetul 0x51 este nlocuit cu 0x50, iar urmtoarea diferen dintre imagini se afl la deplasamentul 0x000098AF, unde octetul 0x9A este nlocuit cu octetul 0x9B.

    Se recomand exerciii de marcare din gama fiiere executabile, fiiere bmp, wav i voc i formularea observaiilor consecutive referitoare la calitatea fiierelor obinute.

    4. CHESTIUNI DE STUDIAT

    - Imaginai metode de atac asupra documentelor marcate, pentru fiecare dintre tipurile de fiiere menionate;

    - Apreciai, n funcie de posibilitile de contraatac, eficiena i sigurana metodelor de marcare;

    - Propunei eventuale modificri ale algoritmilor de marcare n ideea mbuntirii robusteei lor.

  • TEHNICI DE SECURIZARE A DATELOR

    32

    BIBLIOGRAFIE Securitatea datelor in sisteme cu calculatoare electronice C. Petrescu, M. Damian, Ed. tiinific i Enciclopedic, 1984. Securitatea i protecia informaiei n sistemele electronice de calcul

    Ion Angheloiu, Eugen Gyrfi, Victor Patriciu, Ed. Militara, 1986.

    Viruii calculatoarelor V.Cprariu, M.Chiorean .a.,1991

    Virui informatici i bombe logice I.Odgescu, I. Smeureanu, I. Roxin, Ed. Aldo, 1991 Criptografia i securitatea reelelor de calculatoare cu aplicaii n C i Pascal

    Victor-Valeriu Patriciu, Ed. Tehnic, 1994

    Firewalls. Protecia reelelor conectate la Internet Terry William Ogletree, Ed. Teora, 2001

    Arhitecturi de securitate CISCO Gil Held, Kent Hundley, Ed. Teora, 2001

    Anti-SPAM,Virusi, POP-UP, SPYWARE Ken Feinstein, Ed. Rosetti Educational, 2005 Transmisia i criptarea datelor Otilia Cangea, Ed. MatrixRom, 2003

    Revoluia hamsterilor Mike Song, Vicki Halsey, Tim Burness, Ed. Meteor Press, 2007 Istoria codurilor secrete Laurent Joffrin, Ed. Litera, 2010 Securitatea in retele Wi-Fi St. Nicolaescu, Ed. Agir, 2008

    Criptografie si securitatea informatiei - Aplicatii D. Naccache, E. Simion, A. Mihaita s.a., Ed. MatrixRom, 2011* Bibliografie recomandata: 1.D.W. Davies, W.L.Price, Security for Computer Network, John Wiley &Sons 1989. 2. A.Menzenes, P. var der Orschot and S.Vanstone, Handbook of Applied Cryptography, http://www.cacr.math.uwaterloo.ca/hac/about/ 3. http://www.rsasecurity.com/

    http://www.cacr.math.uwaterloo.ca/hac/about/http://www.rsasecurity.com/

    STUDIUL EXPERIMENTAL AL ALGORITMILOR DE CRIPTARE A DATELOR CU CHEIE SIMETRIC (1)JLNBCJ NBCN DW CNGC LXMRORLJC

    Alfabet mesajAlfabet mesajSTUDIUL EXPERIMENTAL AL ALGORITMILOR DE CRIPTARE A DATELOR CU CHEIE SIMETRIC (2)SISTEME DE CIFRARE POLIALFABETICEALGORITMUL RIJNDAEL STANDARDUL AESALGORITMI DE CRIPTARE CU CHEIE PUBLIC. ALGORITMUL R.S.AALGORITMI DE CRIPTARE CU SEMNATUR DIGITALPROTECIA DIGITAL A DREPTULUI DE PROPRIETATE N INTERNET FOLOSIND TEHNICI DE MARCARE I VERIFICARE WATERMARK7.2.2. Principalele caracteristici ale unui watermark7.2.3. Modelul matematic7.2.4. Protecia dreptului de proprietate cu GWF7.6.Marcarea fiierelor bmp, wav i voc Se recomand exerciii de marcare din gama fiiere executabile, fiiere bmp, wav i voc i formularea observaiilor consecutive referitoare la calitatea fiierelor obinute.

    BIBLIOGRAFIE