Archiwa tagu: cryptopals

Cryptopals zestaw 3 ćwiczenie 23

przez | 9 października 2020

W tym ćwiczeniu naszym zadaniem jest sklonowanie generatora liczb losowych. Sklonowany generator umożliwi nam przewidywanie kolejnych wartości zwracanych przez oryginalny generator. Zadanie na pierwszy rzut oka wydaje się niemożliwe, ale przyjżyjmy się jak wygląda funkcja generująca kolejne liczby pseudolosowe: Stan generatora zapisany jest w tablicy 624 liczb 32-bitowych, sklonowanie go będzie polegało na odtworzeniu tych… Czytaj dalej »

Cryptopals zestaw 3 ćwiczenie 20

przez | 19 września 2020

To ćwiczenie częściowo zostało już opisane w poprzednim wpisie. Wspomniałem już, że poprzednie zadanie początkowo rozwiązałem wykorzystując skrypt napisany na potrzeby zadania numer 6. Można to zrobić bo jak wiemy AES w trybie CTR generuje kolejne bloki, które są XORowane z wiadomością do zaszyfrowania. Oczywiście poprawnie zastosowany AES w trybie CTR nie pozawala w tak… Czytaj dalej »

Cryptopals zestaw 3 ćwiczenie 19

przez | 8 września 2020

To ćwiczenie będzie rozwiązane inaczej niż wszystkie z którymi musieliśmy się zmierzyć do tej pory. Początkowo nie do końca zrozumiałem intencje twórców, ale po dłuższym zastanowieniu się stwierdziłem, że moje pierwotne rozwiązanie pomimo, że odszyfrowało treść wiadomości to nie działało w sposób jaki mieli na myśli autorzy, ale zacznijmy od początku. W tym zadaniu dostajemy… Czytaj dalej »

Cryptopals zestaw 3 ćwiczenie 18

przez | 27 sierpnia 2020

W tym ćwiczeniu zapoznajemy się z szyfrowaniem AES w nowym trybie – CTR. Jest to tryb licznikowy i polega na tym, że zamiast szyfrować dane, szyfrowana jest wartość licznika a wynik szyfrowania jest XORowany z danymi, które chcemy zabezpieczyć. Przy każdym kolejnym bloku danych, licznik jest zwiększany. Początkowa wartość licznika nazywana jest NONCE, ponieważ powinna… Czytaj dalej »

Cryptopals zestaw 3 ćwiczenie 17

przez | 15 sierpnia 2020

Pierwsze zadanie z zestawu trzeciego i przynajmniej na razie ostatnie związane z trybem CBC. Zadanie jest bardzo ciekawe ponieważ pokazuje, że do odszyfrowania danych które wcześniej zostały zaszyfrowane AES w trybie CBC wystarczy informacja o tym, czy padding danych był prawidłowy. Tradycyjnie już, zanim przejdziemy do rozwiązywania zadania, musimy przygotować wyrocznię. Tym razem nasza nowa… Czytaj dalej »

Cryptopals zestaw 2 ćwiczenie 16

przez | 6 sierpnia 2020

Ostatnie zadanie z zestawu drugiego i kolejne zadanie w którym będziemy musieli wykorzystać właściwości trybu CBC, aby osiągnąć to czego oczekują od nas autorzy. Napisałem”osiągnąć” bo tym razem naszym celem nie jest próba odkrycia tajnej treści, ale modyfikacja zakodowanych danych tak, żeby pod odszyfrowaniu uzyskać inną wartość niż ta którą przekazaliśmy do zaszyfrowania. Co więcej… Czytaj dalej »

Cryptopals zestaw 2 ćwiczenie 15

przez | 28 lipca 2020

W tym zadaniu wielki powrót padding (ale chyba największy nadal przed nami). Tym razem musimy stworzyć funkcję, która na wejściu dostaje dane, które powinny być wyrównane do wielokrotności długości bloku i musi sprawdzić czy są one prawidłowo wyrównane. Jeżeli wszystko jest w porządku to usuwamy padding i zwracamy tylko użyteczne dane, jeżeli coś jest nie… Czytaj dalej »

Cryptopals zestaw 2 ćwiczenie 14

przez | 16 lipca 2020

To zadanie jest kontynuacją z ćwiczenia 12. Logika użyta w tym zadaniu, jest identyczna, to co musimy to lekkie zmodyfikowanie algorytmu tak, żeby działał, niezależnie od tego czy kontrolowane przez nas dane znajdują się na początku (tak jak w zadaniu 12) czy gdzieś w środku zaszyfrowanego bloku. To co musimy zrobić w pierwszej kolejności to… Czytaj dalej »

Cryptopals zestaw 2 ćwiczenie 13

przez | 9 lipca 2020

Kolejne ćwiczenie w którym „pastwimy się” nad trybem ECB i znów wykorzystujemy właściwość tego trybu, ale tym razem trochę inaczej. W trybie ECB każdy blok danych jest od siebie niezależny dlatego, dane zaszyfrowane można przemieszać i po odszyfrowaniu uzyskamy prawidłowe dane, ale w innej kolejności. Trzeba tylko zadbać o to, żeby mieszać dane bloki danych… Czytaj dalej »

Cryptopals zestaw 2 ćwiczenie 12

przez | 6 lipca 2020

I tym razem będziemy wykorzystywali własność trybu ECB, ale teraz dostaniemy bardzo twardy dowód na to, że używanie AES w tym trybie to bardzo zły pomysł. Na początek będziemy potrzebowali tzw. wyroczni, albo po angielsku Oracle. Wyrocznia to taki fajny i bardzo interesujący byt, posiada losowo wygenerowany klucz przy pomocy którego szyfrowane są dane przekazywane… Czytaj dalej »