Zgadywanka - rozwiązanie
Właściwie w komentarzach do Zgadywanki pojawiły się odpowiedzi, ale tutaj je zbiorę i dodam kilka wyjaśnień. Najpierw dla ułatwienia jeszcze raz pokażę te dane, ale tym razem nieco rozbite. 47233c3a3a1c47a8 0e7c7ad73dc16b71 3b1e0e725a2229bb 4c4e213d5c
Weblog: Wampiryczny blog Przesłany: Oct 18, 08:05
Komentarze
Coś czego na pierwszy rzut oka jest bardzo skończona ilość
Osiem ośmioznakowych ciągów znaków [0-9a-e] permutowanych. Prawdopodobnie przekłada się na osiem czterobajtowych ciągów, nadal permutowanych (znak f nie wystąpił przez przypadek).
To akurat zapewne zbieg okoliczności. Użyty jest hexencoding, więc zakres dostępnych znaków nie jest zbyt duży. Z drugiej strony jest to też wskazówka (jaka jest entropia całości, jaka jest entropia każdego z fragmentów).
Tu chodzi mi o bloki, o których pisał rozie, a nie "linie". To tak dla jasności
Początkowe 6 ośmioznakowych ciągów jest zawsze w tej samej kolejności po sobie, tylko "zawinięte". Przesunięcie o 2 ciągi. Końcowe 2 zawsze takie same, możliwe, że suma kontrolna, liczona na zasadzie 1 bajt sumy kontrolnej liczony z 3 bajtów ciągu. Ale formuły nie znam, chyba chmurę będę musiał odpalić, by poznać.
To może rozbijając:
1. Czy chodzi o DES?
2. Czy chodzi o 3DES?
3. Prezentowane dane są wynikiem szyfrowania?
4. Przedstawione są kolejne kroki algorytmu?
5. Specyficzny klucz i/lub dane wejściowe?
Tak, dane są wynikiem szyfrowania. Tak, szyfrowane były przy pomocy DES (choć może to być dowolny inny szyfr blokowy). Pytanie - w jakim trybie szyfr blokowy był użyty?
Tak. I zostaje ostatnie pytanie - czym (prawdopodobnie) jest ostatni blok. Nie zmienia swojego położenia i zawsze ma taką samą wartość. Co może to sugerować?
Tak, to jest padding. Czyli podsumowując: szyfr blokowy w trybie ECB, ostatni blok to (w całości) padding. Trochę więcej: http://archive.mroczna-zaloga.org/archives/1064-zgadywanka-rozwiazanie.html
Może trochę za mało wyraźnie napisałem, że każda z linii to rezultat oddzielnej operacji szyfrowania. Choć teoretycznie taka suma kontrolna mogłaby dać taki efekt, tym razem jest to po prostu padding.
Powinno być widać coś więcej?
Tu chodzi mi o bloki, o których pisał rozie, a nie "linie". To tak dla jasności
Jeszcze więcej powinno być?
1. Dwa znaki to jeden bajt. 8 bajtów to 64 bity. Takich bloków są cztery. Czym może być blok 64 bitów?
2. Jak wygląda entropia poszczególnych bloków i całości?
3. Jaki typ danych charakteryzuje się tego typu entropią?
1. Czy chodzi o DES?
2. Czy chodzi o 3DES?
3. Prezentowane dane są wynikiem szyfrowania?
4. Przedstawione są kolejne kroki algorytmu?
5. Specyficzny klucz i/lub dane wejściowe?
a b c (a ^ b ^ c)
b c a (b ^ c ^ a)
c a b (c ^ a ^ b)