Noțiuni de bază ale criptografiei

Documente similare
C A P I T O L U L III

Microsoft PowerPoint - ESTIMARE-II-2

Entrepreneurship and Technological Management

COMISIA EUROPEANĂ Bruxelles, C(2013) 2458 final ANEXĂ Anexa 6 la REGULAMENTUL DELEGAT (UE) Nr. /.. AL COMISIEI de completare a Directivei 201

Laborator Implementarea algoritmului DES - Data Encryption Standard. Exemplu DES Algoritmul DES foloseşte numere b

DETERMINAREA PARAMETRILOR GEOTEHNICI AI PAMANTULUI IMBUNATATIT PRIN PROCEDEUL DE VIBRO-INDESARE CU COLOANE DIN MATERIAL GRANULAR

CRIPTOSISTEME SIMETRICE I

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Noțiuni de bază ale criptografiei

Microsoft Word - filtre biquad final_23_11.doc

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Microsoft Word - Lucrarea_10_t.doc

Slide 1

8.1. Elemente de Aritmetică. 8. Aplicatii (15 aprilie 2019) Lema 8.1. Fie (A, +) un grup abelian şi H, K A. Atunci H K şi H + K = {h + k h H şi k K} s

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1

E_d_Informatica_sp_MI_2015_bar_02_LRO

PowerPoint-Präsentation

SEMNALE ŞI SISTEME CURSUL 2 C.2. SEMNALE ANALOGICE 1.2. Reprezentări ale semnalelor prin diferite forme ale seriei Fourier Seria Fourier trigonometric

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Curs 8: Tehnica divizării (I) Algoritmi si structuri de date - Curs 8 1

Programarea şi utilizarea calculatoarelor

Limbaje de Programare Curs 6 – Functii de intrare-iesire

SUBPROGRAME

Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru ecuaţia f(x) = 0. Date de intrare: - Funcţia f - Apro

SSC-Impartire

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

E_d_Informatica_sp_SN_2014_bar_10_LRO

Slide 1

CRITERII CUPRINSE ÎN ORDINELE MINISTERULUI EDUCAŢIEI ŞI CERCETĂRII Nr

Microsoft Word - O problema cu bits.doc

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Paradigme de programare

Microsoft Word - TIC5

Microsoft Word - _Curs II_2_Mar17_2016out.doc

Calcul Numeric

Subiectul 1

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

Microsoft Word - Curs1.docx

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Microsoft Word - 11_2016_OJF_barem.doc

Microsoft Word - intro_msp430.doc

Limbaje de Programare Curs 5 – Siruri de caractere

Modelarea si Simularea Sistemelor de Calcul

Microsoft Word - CarteC.doc

PROGRAMA CONCURSULUI NAŢIONAL

Analiză de flux de date 29 octombrie 2012

Tablouri (continuare)

Diapositive 1

OPERATII DE PRELUCRAREA IMAGINILOR 1

Declararea variabilelor

PowerPoint Presentation

c Adopția internațională o șansă reală pentru copiii greu adoptabili Propunere: Deschiderea adopțiilor internaționale pentru copiii declarați greu ado

1

Gateway Cloud Turck

Algoritmi elementari Metode de căutare secvenţială binară Metode de ordonare metoda bulelor metoda inserţiei metoda selecţiei metoda numărării Intercl

Primăria Prezentare Your Contabilitate Procedură Documentată: Ediţia: a III-a Revizia: 0 Organizarea gestiunea si contabilizarea serviciilor Pagina 1

SECURITATE ȘI CRIPTOGRAFIE

PowerPoint Presentation

Primăria Prezentare Your Audit Public Intern Procedură Documentată: Ediţia: a III-a Revizia: 0 Urmarirea recomandarilor din rapoartele de audit Pagina

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart

Microsoft Word - Invitatie de participare arduino si altele.docx

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

Analiză statică Analiza fluxului de date 23 octombrie 2014

Cuantizare Vectoriala.doc

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Slide 1

Microsoft Word - PCLP2_Curs_4_2019.doc

Primăria Prezentare Your Administrativ Procedură Documentată: Ediţia: a III-a Atribuirea prin negociere directa a contractelor de concesiune pentru bu

Slide 1

Prez entare Şc oală Your PRO CEDURĂ DE SISTEM Elaborarea ş i aplic area dec iz iilor Cod: PS-SCIM-20 Ediţia: a III- a Rev iz ia: 0 Ex emplar nr.: 1 Pr

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Examenul de bacalaureat 2012

Microsoft Word - D_ MT1_II_001.doc

Ce este decibelul si Caracteristica BODE

PowerPoint Presentation

/*

L4. TEOREMELE ALGEBREI BINARE. FUNCȚII LOGICE ELEMENTARE. OPERAȚII LOGICE PE BIT. SINTEZA FUNCȚIILOR LOGICE DIN TABELE DE ADEVĂR 1. Obiective Prin par

Microsoft PowerPoint - ARI_R_c9-10_IP_part2 [Compatibility Mode]

PowerPoint-Präsentation

Şcoala ………

Instructiuni licenta - 2

COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathemati

FIŞA DISCIPLINEI

Primaria Iasi Directia de Arhitectura si Urbanism Birou Dezvoltare Urbana si Monumente 9213/ Reafisare RAPORT DE INFORMARE ŞI CONSULTARE A P

Secţiunea 7-8 începători Concurs online de informatică Categoria PROGRAMARE PROBLEMA 1 ID 100 puncte Calculatoarele trebuie să se recunoască în rețeau

L7

Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

PowerPoint Presentation

VI. Achiziția datelor în LabVIEW

I. Partea introductivă Proiectul unității de învățare CONCEPTUL DE MATRICE ŞCOALA: Colegiul Național Petru Rareș Suceava CLASA: a XI a- matematică / a

PDS SikaSwell®-A profiles RO

Microsoft Word - CV Opriţoiu Flavius.doc

Lucrarea 7 Filtrarea imaginilor BREVIAR TEORETIC Filtrarea imaginilor se înscrie în clasa operaţiilor de îmbunătăţire, principalul scop al acesteia fi

VLT® AQUA Cascade Contr. Manual SW1.00

CURBE BÉZIER În CAGD se utilizează adesea curbele polinomiale, adică acele curbe definite de o parametrizare polinomială: C : [a, b] R 3 C(t) = (x(t),

ALGORITHMICS

Transcriere:

Algoritmi moderni de riptare (2)

Elementele ontituente ale unui algoritm modern de riptare: 1. operaţiile elementare pe biţi (onjunţii, dijunţii, omplementări, deplaări, uma modulo 2, permutări, rotaţii et.), 2. utiile S, 3. funţia-ilu şi 4. în final riptoitemul iterat propriu-zi.

Algoritm Carateritiile algoritmilor imetrii Lungime heie Nr. runde DES 56 biți 16 XOR Triple DES 112 au 168 biți 48 XOR Operaţii matematie IDEA 128 biți 8 XOR, adunare, multipliare Blowfih Twofih RC5 RC2 Variabilă până la 448 biți Variabilă până la 256 biți Variabilă până la 2048 biți Variabilă între 8 și 1024 biți RC6 Variabilă 16, 24, 32 biți 16 XOR, adunare 16 XOR, rotația Variabil până la 255 Adunare, XOR, rotația 18 Adunare, XOR, omplement, &, rotația 20 Adunare mod 2, ădere mod 2, XOR, rotația tânga/ dreapta, multipliare mod 2 w

Tabel.do Tabel ronologi

La fârșitul anilor 90 e deide înlouirea itemului de riptare DES. Motivele unt: în iulie 1998 itemul DES pe 56 biți ete part de ătre organizația Eletroni Frontier Foundation; -a foloit un alulator ontruit peial în aet op, iar timpul neear pargerii a fot de 3 zile. în eptembrie 1998 adminitrația ameriană aordă ompaniilor produătoare de oft de euritate permiiunea de a exporta implementări ale algoritmului DES bazate pe hei de riptare de 56 biți. 5

în augut 1998 NIST (National Intitute of Standard and Tehnology) anunță (în adrul unei onferințe peiale) un et de 15 algoritmi andidați ă înlouiaă DES. Cei 15 algoritmi au fot trimiși de membri din omunitatea riptografiă mondială. Criteriile tabilite de NIST pentru noul item au fot: 1. Să fie un item de riptare imetri pe blouri de 128 biți 2. Să aepte hei de lungime 128, 192 și 256 biți; 3. Să nu aibă hei labe; 4. Să fie efiient atât pe platforme Intel Pentium Pro ât și pe alte platforme oftware au hardware; 5. Să poate fi implementat atât pe proeoare de 32 biți ât și pe mart- arduri (proeoare de 8 biți); 6. Să fie ât mai implu 7. Să fie mai rapid deât DES și ă ofere o euritate mai mare deât 3DES. 6

NIST eletează 5 algoritmi: Mar, RC6, Rijndael, Serpent și Twofih. Aeștia unt upuși tetelor și diuțiilor publie, foloind drept riterii de evaluare: euritate, ot, implementare. 7

Algoritmul Organizaţia/ Compania Avantajul prinipal MARS IBM Seuritate porită Dezavantajul prinipal Implementare omplexă RC6 RSA Laboratorie Foarte implu Seuritate labă Rijndael Joan Daemen, Vinent Rijmen, Deign implu Număr de runde inufiient Serpent Ro Anderon, Eli Biham Foarte igur Deign omplex, performanţă ăzută Twofih Brue Shneier Performanţă rezonabilă Deign omplex

Alegerea finală algoritmului a luat în oniderare următorul tabel: MARS RC6 Rijndael Serpent Twofih Seuritate generală 3 2 2 3 3 Implementare 1 1 3 3 2 Performanţă 2 2 3 1 1 oftware Performanţă pentru SmartCard-uri 1 1 3 3 2 Performanţă 1 2 3 3 2 hardware Carateritii de 2 1 2 1 3 deign Total 10 9 16 14 13

în mai 2000 NIST anunță drept item âștigător itemul de riptare Rijndael, are devine ofiial AES. Algoritmul a fot dezvoltat de doi tineri eretători belgieni, Joan Daemen şi Vinent Rijmen şi devine tandard guvernamental al SUA

În proietarea AES -a ţinut ont de trei riterii: rezitenţa împotriva tuturor ataurilor unoute; viteza şi ompatitatea odului pe un mare număr de platforme; implitatea proietării. Ca şi DES, AES foloeşte ubtituţii şi permutări, ât şi runde multiple. Numărul de runde depinde de mărimea heii şi de mărimea bloului, fiind 10 în azul 128/128 şi mărindu-e până la 14 pentru azul 256/128. Spre deoebire de DES, toate operaţiile unt la nivel de otet, pentru a permite implementări hardware şi oftware efiiente.

AES (Advaned Enryption Standard) Algoritmul AES odifiă blouri de date de 128 biţi. Notăm numărul de uvinte pe 32 biţi ale bloului de date Nb=4; Lungimea heii K poate fi de 128, 192 au 256 biţi, aeată lungime fiind exprimată prin Nk= 4, 6 au 8, adiă numărul de uvinte de 32 biţi ai heii. variantele poibile de implementare ale AES, împreună u numărul de runde efetuat în proeul de riptare Variante AES Nk Nb Nr. runde AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 12

Bloul de date de intrare (in) şi el de ieşire (out), ambele pe 128 biţi unt reprezentate a tablouri în are oteţii unt ompletaţi pe oloană. Analog ete format şi un tablou de alul numit tablou de tare. Tablou_I_O_Stare.pdf Atât pentru riptare ât i pentru deriptare, algoritmul AES utilizează un număr preizat de runde e onţin 4 tipuri de tranformări realizate pe otet: 1. ubtituţie, utilizând utii S; 2. rotaţia apliată aupra liniilor tabloului de tare; 3. ombinarea datelor din fieare oloană a tării; 4. adunarea unei ubhei dependente de rundă. 13

Criptarea AES Cipher (byte in[4*nb], byte out[4*nb], word w[nb*(nr+1)]) begin byte tate[4*nb] tate = in //opierea intrării (in) în tabloul tării (tate) AddRoundKey(tate,w) // prima adunare a ubheii for round = 1 tep 1 to Nr-1 // tranformările arateritie rundelor SubByte(tate) // ubtitutie oteti ShiftRow(tate) // deplaarea liniilor MixColumn(tate) // ametearea oloanelor AddRoundKey(tate,w+round*Nb) // adaugare a ubheii end for SubByte(tate) // tranformări ultima rundă ShiftRow(tate) AddRoundKey(tate,w+Nr*Nb) out = tate // tabloul tării (tate) opiat în el al ieşirii (out) end şirul w[ ] - ubheile generate de ătre generatorul de ubhei 14

Tranformarea SubByte( ) Maparea realizată de SubByte În aet pa fieare otet al textului lar ete ubtituit u un otet extra tabel fix de 8-biţi, S-utia lui Rijndael. Aeata operație dă neliniaritatea ifrului. Cutia de tip S ete deriă de matriea ilutrată în tabelul următor.

Derierea ubtituţiei otetului xy (in hexazeimal) utilizând utia S Derierea ubtituţiei otetului xy (in hexazeimal) utilizând utia S Ex. Pentru 1,1 ={5e}, x=5 şi y=e, rezultatul ete 1,1 ={58}.

Tranformarea ShiftRow() oteţii din liniile tabloului de tare unt rotiţi pre tânga atfel: u 0 oteţi pentru linia 1, u 1 otet pentru linia 2, u 2 oteţi pentru linia 3 şi repetiv u 3 oteţi pentru linia 4 17

Combinarea datelor din fieare oloană a tării (MixColumn)

Tranformarea AddRoundKey( ) oloanelor tabloului de tare atual li e apliă o operaţie au-exluiv u o ubheie dependentă de rundă, rezultând tabloul de tare (0 < Nb, 0 round < Nr ) [ ',, ' 1,, ' 2,, ' 3, ] = [ 0,, 1,, 2,, 3, ] [ wround* 0 Nb+ ]

Generarea heilor de rundă Criteriile e au tat la baza algoritmului de extindere a heii au fot: Efiienţa Memorie de luru. Poibilitatea de a exeuta expandarea heii foloind o miă parte a memoriei de luru Performanţă Eliminarea imetriilor Difuzie Neliniaritate

Cheile de rundă e obţin din heia de riptare printr-o prelurare eparată, formată din două omponente: extinderea heii şi alegerea heii de rundă. Prinipiile de bază ale prelurării unt: Numărul total al biţilor din toate heile de rundă ete Nb(Nr +1) Cheia de riptare ete extină într-o Cheie Expandată Cheia de rundă e obţine luând primii Nb oteţi din Cheia Expandată, are nu au fot foloiţi pentru alte hei

Generarea ubheilor KeyExpanion(byte key[4 * Nk], word w[nb * (Nr + 1)], Nk) begin 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)) word temp = w[i - 1] if (i mod Nk = 0) temp = SubWord(RotWord(temp)) xor Ron[i / Nk] ele if (Nk = 8 and i mod Nk = 4) temp = SubWord(temp) end if w[i] = w[i - Nk] xor temp i = i + 1 end while end 22

Deriptarea AES InvCipher(byte in[4 * Nb], byte out[4 * Nb], word w[nb * (Nr + 1)]) begin byte tate[4*nb] tate = in AddRoundKey(tate, w + Nr * Nb) for round = Nr - 1 tep -1 to 1 InvShiftRow(tate) InvSubByte(tate) AddRoundKey(tate, w + round * Nb) InvMixColumn(tate) end for InvShiftRow(tate) InvSubByte(tate) AddRoundKey(tate, w) out = tate end 23

Tranformarea InvShiftRow( ) 24

Tranformarea InvSubByte( ) Aeată tranformare (invera tranformării SubByte( )) realizează o mapare a tabloului de tare atual în el de tare viitor utilizând o utie S peifiă 25

Ex. Daă 1,1 ={58}, atuni x=5 şi y=8, iar rezultatul ete 1,1 ={5e}.

27 Tranformarea InvMixColumn( ) Matriială /omponente (pentru 0 < Nb) = e d b b e d d b e d b e 3, 2, 1, 0, 3, 2, 1, 0, 0 09 0 0 0 0 09 0 0 0 0 09 09 0 0 0 ' ' ' ' ) ({09} ) } ({0 ) } ({0 ) } ({0 ', 3 2, 1, 0,, 0 d b e = ) } ({0 ) } ({0 ) } ({0 ) ({09} ', 3 2, 1, 0,, 1 d b e = ) } ({0 ) } ({0 ) ({09} ) } ({0 ', 3 2, 1, 0,, 2 b e d = ) } ({0 ) ({09} ) } ({0 ) } ({0 ', 3 2, 1, 0,, 3 e d b =

http://r.nit.gov/publiation/fip/fip197/f ip-197.pdf

Algoritmul AES ete oniderat ufiient de igur pentru a fi foloit la riptarea informatiilor guvernamentale ameriane nelaifiate In iunie 2003, guvernul SUA a dei a AES a poata fi foloit pentru informatii laifiate Pana la nivelul SECRET, e pot foloi toate ele trei lungimi de heie tandardizate, 128, 192 i 256 biti Informatiile TOP SECRET(el mai inalt nivel de laifiare) pot fi riptate doar u hei pe 256 biti.

Avantajele AES relativ la implementare unt: - AES e poate implementa pe un proeor Pentium Pro şi va rula u o viteză mai mare deât orie alt ifru blo; - AES e poate implementa pe un dipozitiv Smart Card, foloind un paţiu redu de memorie RAM şi un număr redu de iluri; - tranformarea din adrul unei runde ete paralelă prin proietare, eea e ontituie un avantaj pentru viitoarele proeoare; - AES nu foloeşte operaţii aritmetie, i doar operaţii la nivel de şiruri de biţi.

Simplitatea proietării AES: - AES nu foloeşte omponente riptografie externe, um ar fi utii S, biţi aleatori au şiruri de ifre din dezvoltarea numărului π; - AES nu îşi bazează euritatea pe interaţiuni obure au greu de înţele între operaţiuni aritmetie; - proietarea lară a AES nu permite aunderea unei trape. Lungimea variabilă a bloului - lungimile de blo de 192 şi 256 biţi permit ontruirea unei funţii hah iterative foloind AES a funţie de ompreie.

Extenii: - proietarea permite peifiarea de variante u lungimi de blouri şi lungimi de hei aflate între 128 şi 256 biţi, în paşi de âte 32 de biţi; - deşi numărul de runde în AES ete fixat în peifiaţiile algoritmului, el poate modifiat a un parametru în azul unor probleme de euritate

Limitările AES unt în legătură u algoritmul de deriptare: - algoritmul de deriptare ete mai puţin pretabil la implementarea pe un dipozitiv Smart Card, deoaree neeită mai mult od şi mai multe iluri; - implementarea oftware a AES foloeşte od şi/au tabele diferite pentru algoritmul de riptare, repetiv deriptare; - implementarea hardware a AES a algoritmului de deriptare refoloeşte doar parţial iruitele are implementează algoritmul de riptare.