Początki Kryptografii

0

Witam,
Bawię się trochę w rozwiązywanie zadań i trafiam na takie, których rozwiązania są głupie, albo trudne.

Zakładając, że nie mogę binarki patchować mam np. znaleźć taką sumę znaków, których suma stringa da wartość x, a iloczyn wszystkich elementów da wartość y, gdzie y ma precyzję do 32bitów, a rozkład wymaganej liczby y nie jest rozkładany na te podstawowe liczby pierwsze, mieszczące się w zakresie bajta.
Sam rejestr się pewnie kilka razy przekręca i ucinany do tych & 0xFFFFFFFF.

Wydaje mi się, że tylko brute forcem można znaleźć kolizję pasującą do wzorca, chyba że jest jeszcze jakaś metoda.

Ale jeśli głównie tak to wygląda, to chyba każdy reverse powinien mieć zbudowany silnik brute force przystosowany do obsługi wszystkich rdzeni ewentualnie gpu i podziale zakresu przeszukiwań wraz z wyłuskiwaniem rekurencyjnym poszczególnych elementów i mapowaniem na funkcje testującą wynik.

Spotkałem się jeszcze z takim zadaniem na opracowanie algorytmu, znając tylko dane wejściowe i wyjściowe.
Jak uzmysłowić sobie, jak to ugryźć?

Widziałem też algorytm, który prawdopodobnie coś testował ciągle losując losowe dane, tak długo aż coś znalazł, prawdopodobnie to był algorytm probabilistyczny, ale nie zrozumiałem co dokładnie robi, bo ktoś umieścił w jednej funkcji wszystko i był wielki bigos.
Wiecie jak takie coś analizować, albo czego szukać?

1
  1. Lekcja na dziś: constraint programming, python z3
  2. Generalnie przy takich załozeniach faktycznie brute-force wygląda na jedyną opcję, jeśli nie ma przy okazji innych informacji/ograniczeń
  3. angr ma taki silnik do analizy binarek który moze czasem pomóc
  4. Co to wszystko ma w ogóle wspólnego z Kryptografią? o_O Może ty po prostu nie ogarnąłeś zadania a w rzeczywistości było tam coś co pozwala na sensowne wyliczenie wyniku? Popatrz np. https://github.com/p4-team/ctf/tree/master/2015-11-20-dctffinals/crypto300 jeśli ktos nie ogarnie że jest tam wyciek informacji na tym najwyższym bicie to też będzie co najwyżej robił brute-force, co wielkiego sensu nie ma. Albo popatrz na https://github.com/p4-team/ctf/tree/master/2017-02-10-codegate-quals/meow znów jeśli ktoś nie wpadnie na to, zeby założyć że dekodujemy kod binarny, a potem nie przenalzuje co sie jak xoruje, to nie ma szans odszyfrować sobie tych payloadów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1