teodutu / Cripto

Introducere in Criptologie - UPB 2019-2020 && Cryptography I - Coursera

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cripto

Introducere in Criptologie - UPB 2019-2020
Appliced Cryptography - UPB 2020-2021
Criptography I - Coursera

Laboratoare

IC

1. Introducere in Python

  • Shift Cipher
  • OTP
  • Conversii intre tipuri de date Python: str (ASCII, hex, binar), bytes

2. Cifruri Shift + Vigenere

  • Ex. 1: Decriptarea unor cifruri criptate folosind un shift cipher
  • Ex. 2 + 3: Decriptarea unor cifruri prin substitutie prin analiza frecventelor literelor si a grupurilor de 2 litere
  • Ex. 4: Modificarea unui cifru OTP pentru a altera mesajul incifrat

3. PRG

  • Ex. 1: Spargerea unui PRG ce foloseste un generator liniar
  • Ex. 3: Implementarea testului monobit pentru a verifica daca un PRG e sau nu random. Se testeaza cel de la ex. 1 si unul generat aleator

4. PRF + PRP

  • Ex. 2: Se sparge o retea de substitutii si permutari care efectueaza o singura operatie de XOR cu cheia, la inceput
  • Ex. 3: Se sparge o retea de substitutii si permutari care XOR-eaza inputul cu chei atat inainte, cat si dupa ce face substitutii si permutari

5. DES

Se demonstreaza de ce 2DES nu e un algoritm sigur. Pentru aceasta, se foloseste un atac meet-in-the-middle prin care se determina cele 2 chei folosite de 2DES.

8. MAC-uri

Se implementeaza un atac de tipul paradoxului zilelor de nastere: pentru a se gasi o coliziune la nivelul primelor 4 octeti ai hash-urilor unor mesaje, se genereaza grupuri sqrt(1 << 32) = 1 << 16 mesaje caora li se calculeaza hash-urile. Atunci cand se gaseste o coliziune, generarea se opreste.

AC

1. Introducere in Python

Fata de Labul 1 de IC, e aceeasi Marie cu alta palarie.

2. Vigenere + DES

Ex 3 din labul 2 + labul 5.

Coursera

1. Cifruri pe fluxuri

  • OTP
  • PRG
  • Securitate semantica

2. Cifruri bloc

Decriptarea unui cifru AES in modurile CBC si CTR.

3. Hash rezistent la coliziuni

Se calculeaza hashul unui videoclip pe sectiuni de 1kB. Acesta se imparte in blocuri de 1kB si porneste de la ultimul, iar la fiecare pas se calculeaza hashul blocului curent, adica SHA256(bloc_precedent + hash_precedent). Ultimul hash calculat este hashul intregului fisier.

Tema

About

Introducere in Criptologie - UPB 2019-2020 && Cryptography I - Coursera

License:GNU General Public License v3.0


Languages

Language:Python 100.0%