Technoplaneta – šifrovací hra pro děti

Řešení pro Úkol 5-2 – Osciloskop

Toto je kus elektronické komunikace mezi dvěma počítači, kterou jsme zachytili osciloskopem. Jsme si jistí, že obsahuje tajné heslo.

Řešení

Osciloskop je měřicí přístroj, který zobrazuje průběh napětí v čase. Zde nám zachytil dva průběhy nějaké elektronické komunikace. Už v úkolu 1-1 jsme si říkali, že počítače pracují ve dvojkové soustavě, čili že rozlišují jen dva stavy – logickou 0 a 1. Nula odpovídá nízké úrovni napětí (křivka je v tomto okamžiku dole) a jednička naopak maximální úrovni napětí (křivka nahoře). Mezi těmito stavy se přechází skokově, přechody jsou téměř kolmé.

Proč jsou ale průběhy dva? Který z nich nese informaci a k čemu je ten druhý? Horní průběh je velice pravidelný s drobnou přestávkou stále se opakující, kdežto spodní průběh je nepravidelný a bez zjevného systému. Právě tato nepravidelnost je samotnou hledanou informací. Přesto, abychom správně uměli přečíst informaci v dolním průběhu, potřebujeme vědět, kdy a jak rychle máme číst data.

Nejmenší praktickou jednotkou informace používanou v počítačích a komunikaci je jeden byte. Skládá se z 8 bitů (binárních číslic – hodnot 0 nebo 1) a dokáže vyjádřit 28 = 256 stavů, tedy čísla od 0 do 255. V obrázku vidíme, že synchronizační signál vždy osmkrát po sobě přejde do stavu log. 1 a pak nastane krátká pauza. To odpovídá přenosu třech osmibitových bytů.

Přečteme přenášená data binárně 01001000, 01000001, 01001100, což v desítkové soustavě znamená 72, 65, 76. Nyní stačí převést na znaky. K tomu se už od dob dálnopisů používá standard ASCII, který definuje číselné kódy pro anglickou abecedu a další zvláštní řídicí znaky. V anglické Wikipedii můžete nají ASCII tabulku i s binárním vyjádřením. Přečteme tedy, že ve zprávě se skývá HAL, palubní počítač na lodi Discovery v sáze 2001: Vesmírná odysea od Arthura C. Clarka.

Traktoristi už podruhé mysleli i na pořadatele, aby si užili dešifrování:

01010100 01111001 10001010 01101001 01100110 01110010 01111001 01001101 11001100 01000110 01100001 01101011 01110100 01000010 01100001 01110110 11101101 00100000 00111010 01000100 ať máte taky zábavu... :D

A minimálně já jsem si opravdu užil, protože jsem si omítl připustit, že by mohla být v textu obsažena čeština. Vyzkoušel jsem nejdříve všechny možné operace, abych se zbavil úvodní jedničky u některých znaků, leč řešení bylo mnohem prostší.

Škoda, že tým elyta pochyboval o svém řešení, přitom HAL 9000 je na internetu snadno nalezitelný:

meli sme to uz druhy den, ale nebyli jsme si jisti a tak sme nic neodesilali :-(