epl-unscramble
epl-unscramble copied to clipboard
All EPL unscrambling is broken
EPL has changed their scrambling.
Example cipher- and plaintexts: https://www.diffchecker.com/rsiul5zu
Tundub, et nüüd on vähe randomit sisse pandud asjale. Tegin kiire sagedusanalüüsi selle http://www.richkni.co.uk/php/crypta/ tööriistaga. Panin tulemused ka Googlesse, äkki kellegil hakkab midagi silma. Samas võiks teha ka mõnele teisele artiklile samamoodi sagedusanalüüsi ja vaadata, kas on mingeid seoseid. https://docs.google.com/spreadsheets/d/1tO9pj5dIeGaTvTN3Bea63TlOeiO2MgOTuy5AHto75g0/edit?usp=sharing
Kui kõrvutada tähesageduste tulpdiagrammid (originaal ja krüpteeritud) (nagu ma tegin siin), siis on kohe näha, et pole rakendatud mingit asendusšifrit. Kuna tähtede sagedus krüpteeritud tekstis on ühtlasem kui originaalis, siis kipun ka kalduma random-i kasutamise poole. Kui tõepoolest on algoritmi lisatud tõeliselt juhuslik komponent, siis tagurpidi originaalteksti saamine enam eriti võimalik pole, kui just tähtede asendamisel (nt positsioon originaalsõnas vms) mingit konkreetset mustrit ei leidu.
NB! See sagedusanalüsaator on vist välja jätnud täpitähed ning kuidagi imelik on, et n-täheliste täheühendite puhul krüpteerituid on palju vähem summaarselt, kuidas see saab olla?
Ja vaatasin ka ise, et millegi pärast see täpitähi ei lugenud.
Hmmm kummaline jah, et summaarselt on vähem.... pole praegu aega uurida. Peab mõni päev täpsemalt vaatama. Aga tundub, et see jättis välja need juhud, kus sagedus oli alla 4. Tõenäoliselt on hästi palju erinevaid permutatsioone, mis on sagedusega 1-3.
Kui arvestada, et 27 tähte on tähestikus ja valida 6, siis permutatsioone(tähtede järjekord oluline) on 2.131272e+8. Seega viitab ühtlasemale jaotusele(loe: random)
Tuleks vist siiski ära märkida, et varasemalt kui piirduti ainult tähtede ümberjärjestamisega sõnas, siis sama sõna krüpteeriti alati sama moodi. Random-i lisamisega see muster muutunud pole: näiteks "Eesti" → "Rsejj".
Nii enne kui ka praegu oli seejuures veel üks huvitav asjaolu: kui krüpteeriti mingi sõna, siis asendati see kõikjal mujal tekstis ja muudetud sõnades midagi lisaks ei krüpteeritud. See muster on jäänud ikka alles: näiteks "Eestimeelse" → "Rsejjmeelse" (vastavalt eelnevalt asendusele). Olen sellest aspektist olnud juba ammu teadlik, kuid seda tegelikult ei ole süsteemi lõplikult sisse programmeerinud.
Analüüsisin veidike krüpteeritud teksti, mõned tähelepanekud:
- Sõna on tähtedeühend, mis koosneb a-z, 0-9, välja arvatud kirjavahemärgid ja tühikud.
- Kahetähelised ja lühemad sõnad on muutmata kujul.
- Igale sõnale vastab ainult üks tähekombinatsioon, kehtib ühe artikli piires.
- Krüpteeritud sõnas on sama palju tähti kui algses sõnas.
- Krüpteeritud sõnas ei ole tähed vahetatud üks-ühe vastu, nt "saabas" -> "qwerty".
- Erand eelmisele, õ, ä, ö ja ü jäävad ka krüpteeritud sõnas alles, neid ei asendata, aga nende asukoht sõnas võib muutuda, sama toimub ka arvudega.
Natuke rohkem uurides paistab, et mõned pikemad sõnad jäävad krüpteerituna ka samale kujule ja ainult väike osa on neis ära muutunud, nt: "justiitsministeerium" -> "justiitsmiptsteznium". Seejuures on näha, et täheühendid "ini" -> "ipt" ja "eri" -> "zni" on ka teistes sõnades samamoodi asendatud. Näide: http://epl.delfi.ee/news/valismaa/kaljurand-usa-vene-suuria-leppest-miks-jaeti-detailid-lahti-miks-kerkisid-kusimused-alles-hommikul?id=73725077
Siit edasi, algoritm, millega krüpteeritakse tundub olevat järgmine:
- Kogu kokku kõik erinevad sõnad, mis on pikemad kui 2 tähemärki.
- Sorteeri sõnad pikkuse järgi.
- Alusta lühematest sõnadest, asenda esimene sõna krüpteeritud tähemärkidega, tundub random generaator olevat.
- Iga järgneva sõna asendamisel kontrolli, kas sõna sisaldab mingit osa juba eelnevalt asendatud sõnadest, kui jah, siis tee sama asendus selle osa kohal, ühes sõnas võib olla mitu asendust. Seejuures, kui sõna sisaldas mõnda teist sõna, siis ülejäänud asendamata tähemärke ei krüpteeri ja jäävad samale kohale alles nagu algses sõnas.
- Lõpuks, asenda algne tekst krüpteeritud sõnadega.
Näide: Kass hiilis öösel ringi, aga vaga koer magas.
Sorteeritud sõnad ja nende krüpteeritud vasted: aga - qwe vaga - vqwe (sisaldab sõna "aga") koer - rtyu kass - iopa ringi - sdfgh magas - mqwes (sisaldab sõna "aga") öösel - jkölö (sisaldab ö tähti) hiilis - zxcvbn