Archiwum autora: kolek368

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… Dowiedz się więcej »

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… Dowiedz się więcej »

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… Dowiedz się więcej »

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… Dowiedz się więcej »

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… Dowiedz się więcej »

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… Dowiedz się więcej »

Cryptopals zestaw 2 ćwiczenie 11

przez | 30 czerwca 2020

Kolejny raz będziemy opierali się na właściwości trybu ECB – powtarzające się bloki w danych wejściowych powoduje powstanie powtarzających się bloków w danych wyjściowych. Nasze zadanie jest podzielone na kilka etapów. W pierwszym kroku musimy stworzyć funkcję która generuje 16-bajtowy ciąg bajtów którego będziemy używali jako klucza szyfrującego. Ja stworzyłem funkcję która przyjmuje jako parametr… Dowiedz się więcej »

Cryptopals zestaw 2 ćwiczenie 10

przez | 10 czerwca 2020

Ćwiczenie numer 10 jest naturalną kontynuacją ćwiczenia numer 7 z zestawu 1 (https://koltys.info/blog/2020/05/25/cryptopals-zestaw-1-cwiczenie-7/ ). Jedyne co musimy zrobić do dodanie do kodu, który już stworzyliśmy nowego trybu – CBC. Przy okazji omawiania trybu ECB wspomniałem, że ma on bardzo poważną wadę, którą zaprezentowałem przy pomocy obrazka. Chodziło o to, że każdy blok danych który się… Dowiedz się więcej »

Cryptopals zestaw 2 ćwiczenie 9

przez | 3 czerwca 2020

Pierwsze ćwiczenie z nowego zestawu, aż chce się powiedzieć – lekkie, łatwe i przyjemne. I tak właśnie jest. Chodzi o dopełnianie danych, które mają zostać zaszyfrowane, żeby ich długość była wielokrotnością długości bloku używanego przez algorytm szyfrujący np. w przypadku AES jest to 16 bajtów. Jest to istotny problem ponieważ nie można oczekiwać od użytkownika,… Dowiedz się więcej »

Cryptopals zestaw 1 ćwiczenie 8

przez | 27 maja 2020

Załączony powyżej obrazek to chyba najpopularniejszy sposób na pokazanie słabości trybu ECB. Wspomniałem o tym przy poprzednim ćwiczeniu, dziś trochę rozwinę temat. Najczęściej na prezentacjach wykorzystuje się obrazki ponieważ wtedy każdy może „naocznie” zaobserwować, że z naszymi zaszyfrowanymi danymi jest coś nie tak. Poniżej znajduje się oryginalny obraz: Na początek wspomnę tylko, że zrobiłem pewne… Dowiedz się więcej »