"beep_boop!" on audiopõhine mõistatus, mis õpetab lahendajale, kuidas tõlkida helisignaale informatsiooniks. Ülesande keskmes on helifail, mis koosneb erineva pikkusega toonidest – lühikestest ja pikkadest signaalidest. See on otsene vihje ühele vanimale ja tuntuimale digitaalse suhtluse vormile: morsekoodile. Ülesanne arendab lahendajas oskust ära tunda mittetraditsioonilisi andmekandjaid ja rakendada nende dekodeerimiseks õigeid meetodeid.
Harjutuse peamine väärtus seisneb mustrite äratundmise ja kodeerimissüsteemide mõistmise arendamises. Lahendaja peab esmalt püstitama hüpoteesi, et helisignaalid esindavad mingit koodi. Seejärel peab ta tuvastama koodi olemuse (lühikesed ja pikad signaalid = punktid ja kriipsud) ning leidma sobiva "sõnastiku" (morse tähestiku) selle tõlkimiseks. See protsess treenib analüütilist kuulamist, kannatlikkust ja süsteemset lähenemist. See on praktiline sissejuhatus signaalitöötluse ja andmete kodeerimise põhimõtetesse, mis on aluseks paljudele tänapäevastele tehnoloogiatele.
Kuula helifaili ja tuvasta muster. Vajuta lehel olevale nupule, et kuulata helisignaali. Tee seda mitu korda. Pööra tähelepanu signaalide pikkusele. Sa kuuled selgelt kahte tüüpi helisid: lühikesi "piikse" ja pikemaid "poikse". Samuti kuuled nende vahel lühikesi ja pikemaid pause. See muster – lühike, pikk, paus – on väga iseloomulik ühele konkreetsele koodile.
Püstitada hüpotees: see on morsekood. Lühikesed ja pikad signaalid on morsekoodi aluseks, kus lühike on "punkt" (dit) ja pikk on "kriips" (dah). Lühemad pausid eraldavad tähti ja pikemad pausid sõnu.
Kirjuta kood paberile või tekstifaili. Kuula helifaili uuesti, seekord aeglaselt ja hoolikalt, ning pane iga kuuldud signaal kirja. Kasuta lühikese signaali jaoks punkti (.) ja pika signaali jaoks kriipsu (-). Kasuta tühikut, kui kuuled lühikest pausi (tähtede vahel) ja kaldkriipsu (/) või mitut tühikut, kui kuuled pikemat pausi (sõnade vahel). Näiteks, kui kuuled "lühike-pikk-pikk (paus) pikk-lühike", kirjutaksid sa üles .-- -.
Dekodeeri morsekood. Nüüd, kui sul on kood kirjalikul kujul olemas, on aeg see tähestikku tõlkida. Meetod A (Morsekoodi tabel): Otsi internetist "morse code alphabet" või "morse tähestik". Leia tabel, mis näitab iga tähe ja numbri vastet morsekoodis. Meetod B (Online-dekooder): Otsi "morse code translator". Leia veebileht, kuhu saad oma punktidest ja kriipsudest koosneva koodi sisse kleepida, ja see tõlgib selle sinu eest automaatselt ära.
Loe lahendus ja sisesta vastus. Dekodeeritud tekst annabki sulle vastuse. See on tõenäoliselt üks sõna või lühike fraas. Sisesta leitud sõna ülesande vastusekasti.
Selle ülesande puhul on kolm peamist viga. Esiteks, lahendaja ei tunne ära morsekoodi mustrit ja püüab helist leida mingit muud tähendust, mis viib segadusse. Teiseks, koodi üleskirjutamisel tehakse vigu: lühikesed ja pikad signaalid aetakse segamini või ei märgita tähtede ja sõnade vahelisi pause korrektselt, mis rikub kogu sõnumi struktuuri. Kolmandaks, isegi kui kood on õigesti üles kirjutatud, võidakse teha vigu morse tähestiku tabelist tähtede otsimisel, valides vale tähe ja saades tulemuseks vigase sõna.
Analüüsi kodeeritud teksti ja tuvasta muster. Vaata lehel olevat pikka tekstijada. Pane tähele, millistest märkidest see koosneb. Sa näed: Inglise tähestiku suuri tähti (A-Z); inglise tähestiku väikesi tähti (a-z); numbreid (0-9); teksti lõpus on kaks võrdusmärki (==). See spetsiifiline märkide komplekt (eriti võrdusmärgid lõpus, mis toimivad täitemärkidena) on väga tugev vihje, et tegemist on Base64 kodeeringuga.
Püstitada hüpotees: see on Base64 kodeering. Lähtuvalt eelmisest sammust oleta, et tegemist on Base64-ga. Järgmine samm on proovida seda dekodeerida.
Kopeeri kodeeritud tekst. Märgista kogu tekstijada lehel ja kopeeri see oma arvuti lõikepuhvrisse (Ctrl+C või Cmd+C). Veendu, et kopeerid kogu teksti, algusest lõpuni, kaasa arvatud võrdusmärgid.
Leia ja kasuta Base64 dekoodrit. Otsi internetist märksõnadega "Base64 decode" või "Base64 translator". Ava mõni leitud veebipõhine dekooder (näiteks Base64decode.org, CyberChef vms). Need lehed on väga lihtsad: neil on üks aken sisendi ja teine väljundi jaoks.
Dekodeeri tekst. Kleebi kopeeritud tekst dekoodri sisendaknasse. Vajuta "Decode" (või sarnast) nuppu. Mõned lehed teevad seda automaatselt. Väljundaknasse peaks ilmuma selges eesti keeles loetav lause või sõna.
Loe lahendus ja sisesta vastus. Dekodeeritud tekst ongi sinu vastus. Sisesta see lause või sõna ülesande vastusekasti.
Selle ülesande puhul on kolm peamist viga. Esiteks, lahendaja ei tunne ära Base64 kodeeringule iseloomulikku mustrit (A-Z, a-z, 0-9, +, /, = lõpus) ja püüab seda käsitsi dešifreerida nagu lihtsat asendustšifrit. Teiseks, kodeeritud teksti kopeerimisel tehakse viga – kas osa tekstist jääb kopeerimata või kopeeritakse kaasa üleliigseid tühikuid, mis põhjustab dekoodris vea. Kolmandaks, lahendaja võib valida vale dekodeerimismeetodi, näiteks proovib Base64 teksti dekodeerida mõne teise kodeeringu (nt Base32 või URL-encoding) tööriistaga.
"Sõnum 2" on krüptograafiaülesanne, mis keskendub Caesari šifri (tuntud ka kui nihketšiffer) äratundmisele ja murdmisele. Ülesanne esitab lahendajale loetamatu tekstijada, mis koosneb ainult tähestiku tähtedest, säilitades sõnade pikkused ja tühikud. See viitab selgelt asendustšifrile, kus iga täht on asendatud mõne teise tähega kindla reegli alusel. Caesari šifri puhul on selleks reegliks tähtede nihutamine tähestikus kindla arvu positsioonide võrra.
Harjutuse peamine väärtus seisneb klassikalise sümmeetrilise krüptograafia põhimõtete mõistmises ja lihtsa krüptoanalüüsi tehnikate rakendamises. Lahendaja õpib, et šifri murdmiseks ei pea alati teadma võtit (antud juhul nihke suurust), vaid selle saab leida proovimise teel (nn brute-force rünne). Kuna tähestikus on piiratud arv tähti, on ka võimalikke nihkeid vähe (eesti tähestiku puhul alla 30). See ülesanne arendab süsteemset mõtlemist ja probleemilahendusoskust, õpetades lahendajat katsetama kõiki võimalikke võtmeid, kuni leitakse loogiline ja loetav tekst. See on krüptoanalüüsi alustala.
Lahendus samm-sammult:
Analüüsi šifreeritud teksti ja tuvasta muster. Vaata lehel olevat tekstijada. Pane tähele, et see koosneb ainult eesti tähestiku tähtedest ja tühikutest. Sõnade pikkused ja lausestruktuur on säilinud. See viitab tugevalt asendustšifrile, kus iga täht on asendatud mõne teise tähega. Kõige lihtsam ja levinum selline šiffer on Caesari nihe.
Püstitada hüpotees: see on Caesari nihe. Oleta, et iga täht tekstis on nihutatud kindla arvu kohtade võrra tähestikus edasi või tagasi. Sinu ülesanne on leida see nihke suurus.
Kopeeri šifreeritud tekst. Märgista kogu tekst ja kopeeri see oma arvuti lõikepuhvrisse.
Leia ja kasuta Caesari šifri dekoodrit. Otsi internetist märksõnadega "Caesar cipher decoder" või "ROT decoder". Parimad tööriistad (näiteks CyberChef või Boxentriq) pakuvad "brute-force" funktsiooni, mis proovib automaatselt läbi kõik võimalikud nihked (1 kuni 26 või rohkem).
Dekodeeri tekst "brute-force" meetodil. Kleebi kopeeritud tekst dekoodri sisendaknasse. Aktiveeri "brute-force" või "try all shifts" valik. Tööriist genereerib nimekirja kõikidest võimalikest dekodeeritud variantidest, igaühel erinev nihe.
Leia nimekirjast loogiline lause ja sisesta vastus. Keri läbi genereeritud nimekirja. Enamik variante on samasugune arusaamatu "pudi" nagu algne tekst. Üks rida selles nimekirjas on aga selges eesti keeles ja moodustab loogilise lause. See ongi õige lahendus.Kopeeri see lause ja sisesta see ülesande vastusekasti.
Selle ülesande puhul on kolm peamist viga. Esiteks, lahendaja ei tunne ära Caesari šifri mustrit ja püüab seda dekodeerida mõne muu meetodiga, näiteks Base64-ga, mis ei anna tulemust. Teiseks, ta üritab šifrit murda käsitsi, proovides ükshaaval tähti asendada, mis on aeganõudev ja vigaderohke, selle asemel et kasutada automaatset "brute-force" tööriista. Kolmandaks, kui kasutatakse tööriista, mis ei toeta eesti tähestiku täpitähti (Š, Ž, Õ, Ä, Ö, Ü), võib dekodeerimine ebaõnnestuda või anda vigase tulemuse.
"Räsi" on mitmekihiline krüptograafiaülesanne, mis õpetab lahendajale, et üks kodeering võib olla peidetud teise sisse. Ülesanne esitab lahendajale pika arusaamatu tekstijada, mis koosneb ainult numbritest ja tähtedest A-st F-ni. See on väga tugev vihje kuueteistkümnendsüsteemile ehk heksadetsimaalkodeeringule (HEX). Kuid selle esimese kihi lahtikodeerimisel ei ilmugi kohe loetav tekst, vaid uus, teistsuguse mustriga arusaamatu tekstijada. See teine kiht osutub omakorda Base64 kodeeringuks, mille lahendamine viib lõpuks vastuseni.
Harjutuse peamine väärtus seisneb mitmeastmelise probleemilahenduse ja erinevate kodeerimissüsteemide äratundmise oskuse arendamises. See õpetab lahendajale, et krüptoanalüüs on sageli protsess, kus tuleb järjest eemaldada erinevaid kodeeringukihte nagu sibulakoori. Lahendaja peab esmalt tuvastama ja dekodeerima HEX-kodeeringu ning seejärel analüüsima tulemust, et tuvastada ja dekodeerida Base64. See arendab süsteemset mõtlemist, kannatlikkust ja paindlikkust – kui esimene samm ei anna lõplikku vastust, tuleb jätkata analüüsi, mitte alla anda. See on praktiline harjutus, mis jäljendab reaalset olukorda, kus andmed on edastamise käigus läbinud mitu kodeerimisetappi.
Lahendus samm-sammult:
Analüüsi esimest tekstikihti ja tuvasta muster. Vaata lehel olevat pikka tekstijada. See koosneb ainult numbritest (0-9) ja tähtedest A-st F-ni. See on iseloomulik muster kuueteistkümnendsüsteemile ehk HEX-kodeeringule.
Dekodeeri HEX-kodeering. Kopeeri kogu HEX-tekst. Otsi internetist "HEX to text" või "HEX decoder". Kleebi HEX-tekst dekoodrisse ja teisenda see. Tulemuseks ei ole veel loetav lause, vaid uus, teistsuguse mustriga tekstijada.
Analüüsi teist tekstikihti ja tuvasta uus muster. Vaata esimese dekodeerimise tulemust. See uus tekst koosneb suur- ja väiketähtedest, numbritest ja lõpus on tõenäoliselt võrdusmärk (=). See on iseloomulik muster Base64 kodeeringule.
Dekodeeri Base64 kodeering. Kopeeri see uus, Base64-vormingus tekst. Otsi internetist "Base64 decode" või kasuta sama tööriista (nt CyberChef), vahetades dekodeerimismeetodit. Kleebi Base64-tekst dekoodrisse ja teisenda see.
Loe lahendus ja sisesta vastus. Pärast teist dekodeerimist ilmub lõpuks selges eesti keeles loetav lause. See ongi sinu lõplik vastus.Sisesta leitud lause ülesande vastusekasti.
Selle ülesande puhul on kolm peamist viga. Esiteks, lahendaja ei tunne ära esimest, HEX-kodeeringu kihti ja püüab seda murda mõne muu meetodiga. Teiseks, pärast esimese kihi (HEX) edukat dekodeerimist satutakse segadusse, sest tulemuseks ei ole loetav tekst. Siin antakse sageli alla, mõistmata, et tegemist on lihtsalt uue, Base64 kodeeringu kihiga. Kolmandaks, tehakse vigu tekstide kopeerimisel ühest dekoodrist teise, mis rikub andmete terviklikkuse ja põhjustab dekodeerimisprotsessis vea.
"Raamatukrüpteering" on klassikaline krüptograafiaülesanne, mis põhineb raamatukoodil – meetodil, kus salajane sõnum kodeeritakse numbrite jadana, mis viitavad kindlatele sõnadele, tähtedele või lehekülgedele eelnevalt kokkulepitud raamatus. Antud ülesandes on "raamatuks" tuntud Eesti luuletus ning kood koosneb numbripaaridest, mis tähistavad värsirida ja sõna numbrit selles reas. See on elegantne näide šifrist, mille murdmine on ilma võtmeta (antud juhul luuletuseta) praktiliselt võimatu.
Harjutuse peamine väärtus seisneb loogilise mõtlemise, täpsuse ja metoodilise töö arendamises. Lahendaja peab esmalt mõistma kodeerimissüsteemi reegleid: kuidas numbripaarid on seotud tekstiga. Seejärel tuleb tal hakata süstemaatiliselt ja vigadeta seda reeglit rakendama – leidma iga numbripaari jaoks õige sõna ja selle esimese tähe. See protsess treenib kannatlikkust ja tähelepanelikkust, kuna üksainus viga loendamisel võib rikkuda kogu sõnumi. Ülesanne annab praktilise kogemuse, kuidas toimib võtmepõhine krüptograafia, kus nii saatja kui ka vastuvõtja peavad omama ühist salajast informatsiooni (võtit), et sõnumit kodeerida ja dekodeerida.
Lahendus samm-sammult:
Mõista kodeerimissüsteemi. Loe hoolikalt läbi ülesande kirjeldus. See selgitab, et kood koosneb numbripaaridest kujul (X, Y). X tähistab luuletuses värsirea numbrit. Y tähistab sõna numbrit selles reas.Iga numbripaar annab tulemuseks ühe sõna ja sellest sõnast tuleb võtta esimene täht, et moodustada lahendus.
Valmista ette tööriistad.Kopeeri ülesandes antud luuletus tekstiredaktorisse (nt Notepad) või kirjuta see paberile. See teeb ridade ja sõnade loendamise lihtsamaks. Võta kõrvale paber või ava teine tekstifail, kuhu hakkad järjest leitud tähti kirjutama.
Alusta esimese numbripaari dekodeerimisega. Võta esimene numbripaar koodijadast, näiteks (1, 4). See tähendab: mine luuletuse esimesse ritta ja leia sealt neljas sõna. Kirjuta leitud sõna esimene täht oma vastusepaberile.
Jätka süstemaatiliselt järgmiste numbripaaridega. Võta järgmine numbripaar, näiteks (2, 1).See tähendab: mine luuletuse teise ritta ja leia sealt esimene sõna. Võta selle sõna esimene täht ja kirjuta see oma vastuses eelmise tähe järele. Korda seda protsessi hoolikalt ja täpselt iga numbripaariga, mis on koodis antud. Ole tähelepanelik, et sa ei ajaks ridade või sõnade järjekorda segamini.
Loe kokku dešifreeritud sõnum. Kui oled kõik numbripaarid läbi töötanud, peaks sul paberil olema rida tähti. Loe need tähed kokku. Need moodustavad ühe eestikeelse sõna.
Sisesta vastus. Sisesta leitud sõna ülesande vastusekasti.
Selle ülesande puhul on kolm peamist viga. Esiteks, tehakse loendamisvigu: kas loetakse valesti värsirida või sõna number reas, mis viib vale täheni. Teiseks, lahendaja ei loe juhendit piisavalt hoolikalt ja unustab, et võtta tuleb leitud sõna esimene täht, mitte terve sõna. Kolmandaks, numbripaaride (X, Y) tähendus aetakse segamini – näiteks kasutatakse esimest numbrit sõna ja teist rea tähistamiseks, mis on vastupidi reeglitele.
"Isikukoodid" on klassikaline monoalfabeetiline asendustšiffer, kus iga tähestiku täht on järjepidevalt asendatud mõne teise tähe või sümboliga. Antud juhul on asendajateks numbrid ja erimärgid. Erinevalt Caesari nihkest, kus tähtede omavaheline järjestus säilib, on siin seos tähtede ja sümbolite vahel pealtnäha suvaline. Ülesande lahendamise võti peitub keele enda statistilistes omadustes – teatud tähed esinevad eesti keeles palju sagedamini kui teised.
Harjutuse peamine väärtus seisneb sagedusanalüüsi (Frequency Analysis) kui krüptoanalüüsi meetodi õpetamises. Lahendaja peab käituma nagu koodimurdja: esmalt tuleb loendada, millised sümbolid korduvad šifreeritud tekstis kõige tihedamini. Seejärel tuleb võrrelda seda sagedustabelit eesti keele tähtede tüüpilise esinemissagedusega (kus kõige levinumad tähed on A, E, I, S, T, L). Püstitades hüpoteese (nt "kõige sagedasem sümbol on tõenäoliselt 'A'"), saab hakata teksti samm-sammult dešifreerima. See arendab loogilist järeldamisoskust, mustrite äratundmist ja süsteemset katsetamist – see on krüptoanalüüsi üks alustalasid.
Lahendus samm-sammult:
Analüüsi šifreeritud teksti ja valmista ette töölaud. Vaata tekstijada. See koosneb numbritest ja sümbolitest, tühikud on säilinud. See viitab asendustšifrile. Kopeeri kogu šifreeritud tekst tekstiredaktorisse. Loo selle alla tähestik (A-st Ü-ni), mille kõrvale hakkad oletatavaid vasteid kirjutama. A = ?, B = ?, C = ?, jne.
Vii läbi sagedusanalüüs. Loenda, mitu korda iga sümbol (nt '1', '2', '#', '@') šifreeritud tekstis esineb. Kirjuta tulemused üles. Leia 3-4 kõige sagedamini esinevat sümbolit. Tuleta meelde või otsi internetist eesti keele kõige sagedasemad tähed. Need on tavaliselt A, E, I, S, T, L.
Püstitada esimesed hüpoteesid. Oleta, et kõige sagedasem sümbol sinu tekstis vastab kõige sagedasemale tähele eesti keeles (nt 'A' või 'E'). Asenda see sümbol oma tekstiredaktoris oletatava tähega (kasuta "Otsi ja asenda" funktsiooni). Vaata, kas teksti hakkab tekkima mingeid äratuntavaid mustreid või lühikesi sõnu.
Otsi lühikesi ja korduvaid sõnu. Otsi tekstist ühetähelisi sõnu. Eesti keeles on need haruldased, kuid võivad olla vihjeks. Otsi kahetähelisi sõnu. Kui leiad korduva kahest sümbolist koosneva sõna (nt *# *# *#), on see tõenäoliselt mõni levinud kahetäheline sõna nagu "on", "ei", "ja", "ka", "ma", "sa". See annab sulle kohe kaks tähte kätte. Otsi sõnu, kus sama sümbol kordub järjest (nt ##). See viitab topelttähega sõnadele nagu "kuu", "samm", "kell".
Täida lünki ja testi hüpoteese. Iga kord, kui oled mõne tähe ära arvanud, asenda vastav sümbol tekstis selle tähega. See paljastab uusi sõnaosi. Näiteks, kui sul on sõna T#HT, on väga tõenäoline, et # on 'Ä', moodustades sõna "TÄHT". Jätka seda protsessi: leia sümbol -> paku täht -> asenda -> otsi uusi mustreid. Kui mõni oletus viib ummikusse (tekivad ebaloogilised täheühendid), mine samm tagasi ja proovi teist tähte.
Dešifreeri kogu lause ja sisesta vastus. Jätka, kuni oled kogu lause dešifreerinud. See peaks olema tuntud vanasõna või lause.Sisesta dešifreeritud lause ülesande vastusekasti.
Selle ülesande puhul on kolm peamist viga. Esiteks, lahendaja ei kasuta sagedusanalüüsi, vaid püüab sümboleid suvaliselt ära arvata, mis on väga ebaefektiivne. Teiseks, ta ei otsi mustreid, nagu korduvaid lühikesi sõnu (nt "on", "ja") või topelttähti, mis on kõige kiiremad viisid esimeste tähtede leidmiseks. Kolmandaks, lahendaja jääb oma esimese hüpoteesi juurde liiga kauaks kinni – kui oletus (nt "kõige sagedasem sümbol on 'A'") ei vii loogiliste sõnadeni, tuleb see hüljata ja proovida teist sagedast tähte (nt 'E' või 'I').
Lahendus samm-sammult: