teodutu/Cripto
Introducere in Criptologie - UPB 2019-2020 && Cryptography I - Coursera
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 deXORcu 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.