Archiwa tagu: cryptopals

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 »

Cryptopals zestaw 1 ćwiczenie 7

przez | 25 maja 2020

Tym razem ćwiczenie, które można rozwiązać w „5 minut” albo spędzić z nim trochę więcej czasu i się czegoś przy okazji nauczyć. Naszym zadaniem będzie odszyfrowanie zawartości pliku podanego przez autorów. Twórcy zadania podli nawet klucz użyty do zaszyfrowania treści jak i użyty tryb AES. Wszystko podane jak na dłoni. Nic tylko pobrać PyCrypto i… Dowiedz się więcej »

Cryptopals zestaw 1 ćwiczenie 6

przez | 6 kwietnia 2020

Pierwsze większe wyzwanie i z tego co piszą autorzy pomyśle jego rozwiązanie oznacza, że powinniśmy sobie poradzić z wszystkimi ćwiczeniami aż do zestawu 6. Warto się spiąć i rozwiązać je samodzielnie, dlatego zanim przejdę do opisania mojego rozwiązania omówię to na co warto szczególnie zwrócić uwagę. Pierwsze co moim zdaniem należy zrobić to funkcja o… Dowiedz się więcej »

Cryptopals zestaw 1 ćwiczenie 5 i algorytm genetyczny

przez | 5 marca 2020

Kolejne łatwe ćwiczenie, dlatego w ramach bonusu demo algorytmu genetycznego zainspirowane streamem Gynvaela Coldwinda. W tym ćwiczeniu naszym zadaniem jest implementacja algorytmu, który używając podanego klucza wykona operację XOR na podanej wiadomości. Klucz jest krótszy niż wiadomość dlatego po wykonaniu operacji XOR na pierwszych n bajtach wiadomości (n to długość klucza), klucz jest używany ponownie.… Dowiedz się więcej »

Cryptopals zestaw 1 ćwiczenie 4 i polecenie MORE

przez | 23 lutego 2020

Tym razem proste zadanie. Mamy plik testowy, w którym znajduje się 327 linii z których każda może zawierać potencjalną tajną wiadomość a my musimy znaleźć tą wiadomość i ją zdekodować. Napisałem, że zadanie jest proste ponieważ, podobny problem rozwiązywaliśmy w poprzednim zadaniu, ale mieliśmy jedną linię która była zaszyfrowana. Najprościej rozwiązać ten problem sprawdzając wszystkie… Dowiedz się więcej »

Cryptopals zestaw 1 ćwiczenie 3

przez | 15 lutego 2020

W tym ćwiczeniu mamy podany ciąg znaków zaszyfrowany poprzez wykonanie operacji XOR na każdym ze znaków z bajtem o nieznanej wartości (to bajt, w związku z tym wiemy, że jest to wartość z przedziału 0-255). Naszym zadaniem jest odszyfrowanie tej wiadomości. Autorzy podpowiadają nam, że najłatwiej jest XORować podaną wiadomość ze wszystkimi wartościami od 0… Dowiedz się więcej »

Cryptopals zestaw 1 ćwiczenie 2

przez | 6 lutego 2020

W drugim ćwiczeniu naszym zadaniem jest obliczenie wartości XOR dwóch buforów o jednakowej długości. Mając na uwadze, że tego typu funkcja może przydać się w przyszłości trochę zmodyfikowałem jedno założenie – nasz funkcja będzie przyjmowała dwa bufor które nie muszą być równej długości, krótszy z buforów będzie uzupełniany wartościami 0x0. Funkcja hex_string_xor przyjmuje dwa dwa… Dowiedz się więcej »

Cryptopals zestaw 1 ćwiczenie 1

przez | 20 stycznia 2020

W tym wpisie omówię pierwsze zadanie, a ponieważ jest bardzo proste to opiszę również strukturę projektu który został stworzony na potrzeby rozwiązywania kolejnych zadań. Wszystkie rozwiązania są napisane w języku Python (wersja 3.7) przy użyciu Eclipse z wtyczką PyDev jako IDE. Struktura projektu: src – katalog w którym znajduje się kod źródłowy projektu. common –… Dowiedz się więcej »

Podstawy kryptografii

przez | 20 grudnia 2019

Kryptografia czyli temat bardzo ciekawy, ale też modny i głośny (chociaż teraz już mniej ze względu na uczenie maszynowe/głębokie uczenie/SI). Nie jestem ekspertem w tej dziedzinie natomiast, zawsze chciałem zdobyć jakąkolwiek podstawową wiedzę, żeby nie być totalnym laikiem i wiedzieć mniej więcej o co w tym wszystkim chodzi i dlaczego pewne rozwiązania są złe a… Dowiedz się więcej »