0:00:00.000,0:00:04.152 Acum că am înțeles securitatea unui text simplu ales, haideți să construim scheme de criptare 0:00:04.152,0:00:08.515 care reprezintă text simplu securizat. O primă astfel de schemă de criptare va fi denumită 0:00:08.515,0:00:12.510 înlănțuirea cifru bloc. Așadar uite cum funcționează înlănțuirea cifru bloc. 0:00:12.510,0:00:16.610 Înlănțuirea cifru bloc este o metodă de a folosi cifrul bloc pentru a obține un text simplu 0:00:16.610,0:00:20.868 securizat. În special, ne referim la un mod denumit înlănțuirea cifru bloc 0:00:20.868,0:00:25.021 cu un IV aleator. CBC înseamna înlănțuirea cifru bloc. Așadar să presupunem că avem un cifru bloc - 0:00:25.021,0:00:28.963 EB este un cifru bloc. Acum să definim CBC astfel încât să fie următoarea 0:00:28.963,0:00:33.248 schemă de criptare. Când i se cere algoritmului de criptare să cripteze 0:00:33.248,0:00:37.991 mesajul M, primul lucru pe care îl va face este să aleagă un iV aleator, 0:00:37.991,0:00:41.958 iar acesta este exact primul bloc a unui cifru bloc. Deci IV este un cifru bloc. 0:00:41.958,0:00:46.035 În cazul AES, IV ar fi de 16 biți. Iar atunci când 0:00:46.035,0:00:50.649 rulăm algoritmul, IV-ul pe care l-am ales va fi XOR 0:00:50.649,0:00:54.726 cu primul bloc al textului simplu. Rezultatul obținut va fi 0:00:54.726,0:00:58.857 criptat utilizând cifrul bloc și ceea ce se obține din primul bloc al textului cifrat. 0:00:58.857,0:01:03.041 Iar acum vine partea de înlănțuire unde vom folosi primul bloc 0:01:03.041,0:01:07.436 al textului cifrat pentru a crea un al doilea bloc de text. Astfel aplicăm XOR 0:01:07.436,0:01:11.588 celor două, iar criptarea lor devine al doilea cifru bloc. 0:01:11.588,0:01:15.535 Și tot așa în continuare. Acesta este înlănțuirea cifru bloc. Puteți vedea că 0:01:17.559,0:01:19.584 fiecare cifru bloc este înlănțuit și XOR-at în următorul text bloc 0:01:19.584,0:01:24.118 iar textul cifru final va fi esențial pentru IV - IV-ul inițial 0:01:24.118,0:01:30.024 pe care îl alegem împreună cu blocurile de text. Menționez că IV semnifica 0:01:30.024,0:01:35.795 Vector de Inițializare. Vom utiliza acest termen destul de mult. 0:01:35.795,0:01:39.717 De fiecare dată când va trebui să alegem ceva la întâmplare, la începutul 0:01:39.717,0:01:43.543 schemei de criptare vom denumi acel ceva IV, pentru vectorul de inițializare. Observați 0:01:43.543,0:01:47.322 ca cifrul text este mai lung decât textul simplu deoarece 0:01:47.322,0:01:51.149 acesta include si IV-ul cifrului text, care cuprinde randomizarea 0:01:51.149,0:01:55.450 utilizată pentru criptare. Prima întrebare este cum decriptăm 0:01:55.450,0:02:00.226 rezultatul criptării CBC. Să vă reamintesc că atunci când 0:02:00.226,0:02:04.470 criptăm primul bloc mesaj , XOR-ăm cu IV, criptăm 0:02:04.470,0:02:09.187 rezultatul și astfel obținem blocul cifru text. Să vă mai pun o întrebare 0:02:09.187,0:02:13.667 Cum decriptăm asta ? Pornind de la primul bloc cifru text cum recuperați 0:02:13.667,0:02:17.915 primul bloc original de text simplu ? Decriptarea este practic foarte asemănătoare criptării. 0:02:17.915,0:02:21.660 Am scris aici o schemă pentru decriptare, unde puteți vedea 0:02:21.660,0:02:25.961 că este același lucru, cu excepția faptului că XOR este în partea de jos, în loc să fie in partea de sus și 0:02:25.961,0:02:29.605 am taiat IV-ul, ca parte a procesului de decriptare. Astfel a rezultat 0:02:29.605,0:02:33.754 mesajul original. IV-ul a fost eliminat 0:02:33.754,0:02:38.438 prin algoritmul de decriptare. Următoarea teoremă vă va arăta 0:02:38.438,0:02:43.762 că de fapt modul de criptare CBC cu IV aleator este securizat semantic 0:02:43.762,0:02:48.956 împotriva unui atac cu text simplu. Să vă explic mai pe larg. 0:02:48.956,0:02:54.083 Dacă pornim cu PRP, cifrul bloc E, care este definit 0:02:54.083,0:02:59.079 ca parte din spațiul X, vom avea algoritmul Ecbc care preia mesajul 0:02:59.079,0:03:03.944 cu lungimea L și rezulta cifrul text cu lungimea L+1. Apoi 0:03:03.944,0:03:09.324 presupunem că avem un adversar care testeaza q texte simple. Astfel putem face afirmația 0:03:09.324,0:03:15.024 că pentru orice adversar de acest tip care atacă Ecbc 0:03:15.024,0:03:20.184 există un adversar care atacă PRP, cifrul bloc cu relația 0:03:20.184,0:03:24.926 între cei doi algoritmi. Cu alte cuvinte, avantajul algoritmului A 0:03:24.926,0:03:29.851 contra schemei de criptare este mai mic decât avantajul algoritmului B 0:03:29.851,0:03:35.080 contra PRP-ului original, la care se adaugă reziduuri.