Reinżyniering sumy kontrolnej

0

Witajcie,

Mam takie zadanie. Posiadam pewien zbiór danych na podstawie których generuje się suma kontrolna. Danymi są litery i cyfry, ale nie wiem, które są brane dokładnie do wyliczania sumy. Powiedzmy, że ciąg wygląda tak:

Ala Ma Kota
Kot Ma Ale
Kota Ma Ala
1
2
3
1001

Na podstawie tych danych, wyliczona suma to 08201151393D56083A564754615ED339

Zbiorów danych mogę wygenerować ile chcę, ale zawsze mogę tylko zwiększyc ostatni licznik o 1, tj.:

Ala Ma Kota
Kot Ma Ale
Kota Ma Ala
1
2
3
1002 <-- tylko to się zmienia

2CF4DD35B11E55B36CE8230OPR70D079

Ala Ma Kota
Kot Ma Ale
Kota Ma Ala
1
2
3
1003 <-- tylko to się zmienia

3G90BF0D1B168B45655D19AEB6A3D112
i do każdego z tych zbiorów, moge otrzymać sumę.

Czy na podstawie takich założeń, mogę zaproponować sposób na odnalezienie algorytmu liczącego sumę z podanych danych? (Nie wiem, czy to ważne, ale w zadaniu mam wyraźnie podane, że nie wszystkie dane z ciągu "Ala Ma Kota itd." są brane do wyliczenia ostatecznego skrótu).

Pozdrawiam.

0

Nie czaję. Masz zbiór w którym możesz zmienić tylko 1 liczbę, ale w wyliczonej sumie nie muszą zawierać się wszystkie poprzednie informacje których nie możesz zmienić. Albo coś źle opisałeś, albo to jest niewykonalne.

0

Nie ma powiedziane, że suma wylicza się na podstawie całego stringa. Być może wylicza się tylko na podstawie liczb, albo liter, albo pierwszych znaków w wierszu.

0

No ok, ale jeżeli chcesz zostawić same pierwsze litery/duże litery/cyfry czy cokolwiek innego, to musisz zmodyfikować dane inne niż ostatnia liczba. A tego zrobić nie możesz.

0

Na odnalezienie pierwotnego algorytmu? Raczej nie. Ale na odnalezienie algorytmu równoważnego? Jak najbardziej możesz. Zadanie wygląda na raczej proste do rozwiazania za pomocą uczenia maszynowego. Musisz wygenerować bardzo dużo zestawów danych a potem puścić to dla jakiejś sieci neurnowej (albo innego algorytmu uczenia maszynowego) i powinieneś dostać model który będzie potrafił liczyc te sumy kontrolne.

0

A co jeśli algorytmem jest SHA-256 liczone z co drugiego znaku? Też sieć neuronowa znajdzie równoważny? ;)

0

A jak ta suma się generuje? Jak masz program do tego to sobie go przeanalizuj :)

0

@Krolik @Bartosz Wójcik ja zakładam że skoro autor o coś takiego pyta i jest to jakieś "zadanie" to jest ono możliwe do rozwiązania ;) Jasne że wygodniej byłoby deasemblować ten program generujący sumę i sprawdzić co on robi, ale skoro autor o tym nie wspomina to najwyraźniej nie ma takiej możliwości.
@Krolik a czemu nie? Tylko że uczenie takiej sieci zajęłoby bardzo bardzo bardzo dużo czasu ;)

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