niedziela, 29 lipca 2007

Upgrade serwera

Zmieniłem sposób przydzielania zadań, serwer teraz zapamiętuje, które work unity zostały niedawno wysłane, w celu bardziej równomiernego sprawdzania całego zakresu. Kompatybilność z klientem w wersji 0.1 została zachowana, jednak zalecany jest upgrade do wersji 0.2 - wersja 0.1 po każdym restarcie pobiera nowy work unit, a do serwera nie wraca żadna informacja o tym, że poprzedni 'zaginął w akcji', tak więc zakłóca to nieco poprawną kolejność rozsyłania.

Klient w wersji 0.2

Wersja 0.2 ma poprawione kilka bugów z pierwszej wersji.

  • okno daje się zminimalizować do traya, przez kliknięcie lewym przyciskiem na trayowej ikonce. Ponowne kliknięcie przywraca okno.
  • klient potrafi wznowić przerwane obliczenia (wersja 0.1 po każdym uruchomieniu zasysa nowy work unit).
  • Podczas zamykania poprawnie zatrzymuje proces działający w tle.
  • Poprawnie obsługuje przerwy między work unitami, ale w uproszczony sposób - podaje się jedynie czas przerwy w minutach.
  • Możliwe jest ustawienie startu od razu w postaci zminimalizowanej.
Tak jak w poprzedniej wersji, po instalacji wystarczy wyedytować plik .ini i ustawić w nim swoją nazwę użytkownika i ewentualnie wyedytować dwie pozostałe opcje.

Upgrade z poprzedniej wersji: wystarczy podmienić client.exe i client.ini (podmiana pliku .ini konieczna ze względu na zmianę formatu), po czym wyedytować .ini, przywracając swoje poprzednie ustawienia.

Lista wyników - informacje

Pod tym linkiem znajduje się lista rezultatów obliczeń, posortowana według Score
Ponieważ rezultatów jest bardzo dużo, wszystkie powtarzające się wyniki zostają ukryte, zamiast pełnej listy, wyświetla się tylko jeden rezultat, razem z nickiem użytkownika, którego komputer znalazł go jako pierwszy. Liczba ukrytych rezultatów wyświetlana jest na górze strony.
Powtarzające się rezultaty wynikają ze sposobu przeszukiwania ustawień Enigmy - często dla tych samych ustawień, mimo wielu różnych, niezależnych prób z inaczej ustawionym na starcie Steckerboardem, program trafia ostatecznie na taki sam wynik.

piątek, 27 lipca 2007

Opis zadań

140_weuwy i 138_weuwy - dwie krótkie wiadomości, można je znaleźć tutaj:

http://frode.web.cern.ch/frode/crypto/bgac/GArmy_July1941.html

Wszystko wskazuje na to, że pochodzą z dnia, dla którego dzienne ustawienia enigmy są znane:

Enigma keys for 09.07.1941

UKW : B
W/O : 315
Stecker : AC, BN, FM, GI, JL, KO, PU, QX, RZ, TV
Rings : NAV


a jednak używając tych ustawień, nie da się tych wiadomości odszyfrować - cytat ze strony:
2) Nr. 138 and 140, both with Kenngruppe WEUWY, does not seem
to break on this key.
Kilka możliwych przyczyn, to np. błąd ze strony operatora - złe ustawienia enigmy, uszkodzenie samej maszyny, ewentualnie zagubione znaki (jeśli na początku brakuje choćby jednego znaku, wiadomości nie da się odszyfrować tym samym kluczem).

Serwer został ustawiony tak, żeby wykonać kilka kolejnych zadań:
1) sprawdzenie wszystkich możliwych kombinacji ringów dla znanych ustawień rotorów (315) i UKW B/C
2) sprawdzenie wszystkich możliwych kombinacji ringów dla ustawień rotorów różnych od 315
3) założenie, że ustawienia steckera są poprawne i kombinowanie z sprawdzaniem po kolei reszty możliwych ustawień.

test1_pbnxa - plaintekst tej wiadomości jest tutaj
znam wszystkie potrzebne do jej rozszyfrowania ustawienia, jednak serwer został ustawiony tak, jakby nie było o niej nic wiadomo. Taki self-test całości.

Ranking użytkowników - informacje

Pod tym linkiem znajduje sie 'ranking' użytkowników - lista posortowana według przydzielonej przez serwer ilości punktów za wykonane obliczenia. Liczba punktów przydzielonych za pojedyńcze zadanie zależy od długości zaszyfrowanego tekstu i ilości kombinacji ringów do sprawdzenia ('długości' danej próbki). Obydwie te wartości w mniej więcej liniowy sposób wpływają na czas przeliczania.

Przykładowo, 48 znakowa wiadomość i najmniejszy możliwy zakres ringów do sprawdzenia:
(AA-AZ - długość'1')
daje w rezultacie 48 punktów, podczas gdy ta sama wiadomość z pełnym zakresem ringów:
(AA-ZZ - długość 26)
przelicza się w przybliżeniu 26 razy dłużej, serwer przydziela za taką 1248 punktów.


Update: obecnie ranking pokazuje też procentowy udział we wszystkich punktach.

Serwer ruszył

Po wielu zmianach i przebudowaniu w zasadzie wszystkiego, uruchomiłem pierwszą wersję serwera, dostępną 'od strony netu'. Wszystko jak na razie chodzi jak w zegarku.