Frequency analysis challenge – a console-based game for R/python

Six months ago we’ve introduced ’The Proton’ – a console based R game with six data wrangling puzzles. Around 15-30 minutes of fun with data. The game is on CRAN in the package `BetaBit`.

And just few days ago we’ve added a second game – `frequon()`. Eight puzzles related with frequency analysis of encoded messages.

It’s much harder than `proton`.
Expect around two hours of playing with ciphers.
Try it yourself. To get the R version just type

install.packages("BetaBit")
library("BetaBit")
frequon()

You can also try the experimental python version.

pip install --upgrade https://github.com/BetaAndBit/BetaBitPython/archive/master.tar.gz

If you like these games and going to attend useR2016 (June, Stanford, USA) or eRum2016 (October, Poznań, Poland) feel free to ping me (Przemyslaw.Biecek).

Atak statystyczny

Z Wikipedii: Ataki statystyczne – zespół ataków na szyfry, których wspólną cechą jest wykorzystanie informacji statystycznych na temat struktury tekstu jawnego. Kryptoanaliza statystyczna – Zbiór metod kryptoanalitycznych opierających się na fakcie nierównomiernego występowania poszczególnych liter i sylab w językach naturalnych.

Ruszamy z zagadkami z serii BetaBit. Zagadki są przygotowane na trzech poziomach trudności, tak by miały szansę się z nimi zmierzyć osoby z podstawówki (poziom 1, ale starsi też mogą próbować), gimnazjum (poziom 2) i entuzjaści analizy danych (poziom 3, liceum, studia, kadra profesorska, itp).

Zaczniemy od jednej z najtrudniejszej zagadek w naszym arsenale – Ataku Statystycznego (analiza częstotliwości w celu rozszyfrowania tekstu).

Screen Shot 2016-06-01 at 08.32.23

Jak grać?

Gra 'Atak Statystyczny’ (frequon) jest przygotowana dla użytkowników R lub pythona. Dla R jest ona dostępna w pakiecie BetaBit, który można zainstalować z GitHub i włączyć poleceniami


library(devtools)
install_github("BetaAndBit/BetaBitRgame")
library("BetaBit")
frequon()

Można też zainstalować pakiet z CRAN jednym poleceniem

install.packages("BetaBit")

Przy czym wersja z CRAN jest aktualizowana z pewnym opóźnieniem.

Gra składa się z sześciu zadań do wykonania. W większości zadania te dotyczą analizy częstotliwości tekstu. Rozwiązanie każdej zagadki daje wskazówki do kolejnej gry.

Ale ja wolę pythona!

Ok, więc wypróbuj eksperymentalną wersję tej gry. Możesz ją pobrać i zainstalować poleceniem

pip install --upgrade https://github.com/BetaAndBit/BetaBitPython/archive/master.tar.gz

Jak wygrać?

Pamiętacie grę proton? Gra frequon jest moim zdaniem znacznie trudniejsza. Na tyle trudna, że nie wiem czy ktokolwiek będzie w stanie rozwiązać wszystkie zagadki!

Aby wygrać, wystarczy więc rozwiązać ich więcej niż inni biorący udział w grze. Jeżeli nikt nie rozwiąże pięciu zagadek, to zwycięzcą będzie ten kto rozwiąże cztery.

Rozwiązania zagadek należy wysłać mailem o tytule `[BetaBit frequon]` na adres `przemyslaw.biecek na serwerze gmail.com` do północy 12 czerwca (niedziela). Wszystkie osoby, które rozwiążą największą liczbę zadań otrzymają nagrodę (jaką, o tym poniżej, oferta do wyczerpania zasobów).

Wśród pozostałych też wylosujemy trzech szczęśliwców, więc warto próbować, nawet jeżeli rozwiąże się tylko jeden – dwa punkty.

Co mogę wygrać?

Poza satysfakcją?

Zagadek w czerwcu będzie kilka.
Osoby, które wygrają przynajmniej trzy zagadki otrzymają koszulki Bety i Bita.
Osoby, które wygrają przynajmniej jedną zagadkę (frequon liczy się jako jedna) otrzymają bogato ilustrowane opowiadanie statystyczne ,,Jak długo żyją Muffinki?” (więcej o opowiadaniach napiszę w piątek).

Screen Shot 2016-06-01 at 08.54.53

Powodzenia!

Niebawem kolejne zadania.