Here Be Dragons

by Mithrandir

There are two types of encryption:
one that will prevent
your sister from reading your diary
and one that will prevent your government.

Bruce Schneier

Cu adevărat, citatul este foarte real. Dar nu chiar despre cele două tipuri de criptare vreau să vorbesc, e vorba de ceva mai personal. Doar primul tip e interesant acum, în această poveste despre alfabete secrete și coduri.

Totul a început prin clasa a 3-a, a 4-a. Aveam în casă un dicționar rus-român din care am extras câteva litere chirilice. Mai aveam o foaie imprimată de un soft buggy care suprapunea și inversa litere și am mai scos de acolo câte ceva. Mai avea și vara mea o carte veche de istorie cu alfabetul grecesc și reținusem câteva litere. Și mi-am mai imaginat și eu câteva contorsionări ca să ajung la 25-30-31 de litere. Le-am tabelat frumos, am luat cartea pe care o citeam și am transcris câteva paragrafe. Era anunțată Carmen să vină în vizită și vroiam să-i dau să descifreze.

Nu i-am mai dat dar am folosit alfabetul ăla pe parcursul anului până am pierdut tabelul. Nu era nimic important, chestii de rutină, nu a fost nici o problemă când n-am mai putut descifra — și aici încă era simplu.

Până pe la finalul clasei a 4-a terminam de citit toate cărțile lui Jules Verne și aveam câte un alfabet cu fiecare metodă de acolo. Unele imposibil de descifrat odată ce uitai cifrul, altele extrem de banale. Trecusem prin Cezar și Vigenere, four-square și Playfair chiar și Scytale. Aveam momente în care foloseam un meta cifru în care codificam trecerea de la o metodă la alta și/sau schimbarea de cheie.

Cel mai simplu dintre toate presupunea împărțirea alfabetului în 2 după litera M și un fel de fold între cele 2 jumătăți. A devenea Z și invers, M devenea N, etc. Cam izomorf cu xor-ul de azi dar mi-era lene să fac xor atunci. Doar dacă nu-mi numerotam eu literele cum vroiam și le treceam apoi în binar :)

Cel mai complicat era o variantă de four-square în care roteam fiecare inel al pătratelor în momentul în care scriam o literă. Nu roteam cu un delta constant, depindea de un cifru numeric. Pe care-l codificam tot pe baza four-square care era extins și la cifre și câteva semne de punctuație. Și ca să fie totul oarecum ușor de descifrat dacă știai metoda, cifrul făcea parte din mesajul cifrat, cele 2 erau concatenate pe caietul pe care le scriam. Marea problemă era că o greșeală la început te ducea încet încet în bălării și nu mai recuperam niciodată mai mult de jumătate din textul inițial. Plus că dura extrem de mult.

Am luat o pauză de la astea până ce și-a luat Carmen un dicționar Larousse în franceză în care apăreau alfabete arabe, hinduse, linear-A sau B, etc. Pe parcursul clasei a 5-a – a-6-a am avut vreo 5-6 tabele de alea în diverse stiluri. O lună aveam un alfabet sanscrit, o lună arab. Dar erau doar simple substituții și nu-mi prea plăceau în momentele în care vroiam tipul doi de encriptare :P

Cum nu prea a fost nevoie de ea nici nu m-am chinuit să deduc ceva care să rămână. Până în clasa a 11-a din liceu, când am avut nevoie de alt fel de limbaj. Deja trecusem prin clasa a 9-a când trebuia să scriu în viteză la logică și chimie și inventasem un shortcut în care vocalele nu mai apăreau scrise ci litera din față era marcată corespunzător (plus scris cu 2 mâini în care stânga doar punea marcajele de vocale). Trecusem deja de multe ori prin paginile de wiki mai sus linkate și prin alte câteva. Acum vroiam un limbaj cu 3 caracteristici: să fie ușor de criptat și decriptat dacă știai metoda, să fie dificil de înțeles dacă nu știai metoda și să poată fi pronunțabil.

Ultima pentru că deja văzusem&citisem Tolkien de 2-3 ori în perioada claselor 10-11 și chiar mă apucasem să învăț câte puțin din Sindarin și Quenya. Știu mai mult în ele acum decât atunci dar tot nu destul cât să le pot folosi fluent :)

Revenind, în a 11-a am luat puțină matematică, câteva ore de timp liber, un tabel cu tengwar și multă răbdare ca să construiesc un sistem ușor de pronunțat, în care scriam cu caracterele de acolo dar altfel mapate și aveam o groază de excepții ca să nu se simtă formalismul prea mare din spatele gramaticii de la pronunție. Nu știu exact ce am uitat întâi, modul de pronunțare sau maparea între litere și tengwa, cert e că după ce am început să scriu pe blogul de pe 360 nu am mai folosit limbajul ăla și a dispărut.

Și nici n-am avut nevoie de el până în mai 2011 când au început să apară semne pentru viteza pe care o va lua timpul în toamnă, pentru lipsa lui de răbdare. În loc să reacționez atunci, mi-am creat o nouă mapare, de data asta bazată mai mult pe maparea lui Tolkien și pe legături între grupuri de litere.

Acum o țin minte destul de bine, rar mai încurc câte una-doua litere. Nu e pronunțabilă momentan dar nici nu cred că va fi nevoie. Pentru că nu cred că va fi cineva care va învăța limbajul ăsta doar ca să ne înțelegem noi doi/trei/x dintr-un grup mare. Și pentru că nu ăsta e scopul acum.

Acum, folosesc limbajul ăsta destul de rar: când îmi mai vine câte o idee, între momentul apariției ei și momentul în care este destul de cizelată ca să apară pe blog sau în practică. Concursul de programare de anul ăsta — dacă o să-l lansez — este scris în alfabetul ăsta în întregime. E open totul, dacă cineva va vrea să descifreze nu are decât. Chiar ofer aici o imagine cu un A4 scris în întregime în acest limbaj.

IMAG0118

Dacă voi avea nevoie de ceva mai criptat voi inventa pe parcurs. Deși, acum jurnalele nu se mai țin pe hârtie, se țin online și pe blog pot proteja cu parolă sau face private anumite entry-uri (privat nu e decât unul acum, cu parolă sunt mai multe dar am dat share celora care trebuiau să citească).

Până atunci, dacă vedeți ceva scris în tengwar nu vă speriați, nu ascund mare lucru, va fi vizibil ceva mai târziu. Dacă nu aveți răbdare poate fi citit :)

PS: N-am mai vorbit de articolele scrise criptat pe aici pe care le foloseam doar așa ca teste.
PPS: Adrian folosește și el un alfabet inspirat din limbile din jurul Pacificului parcă. Am tentația să-l descifrez din când în când dar articolul ăsta nu a fost scris din acest motiv. Dacă vreți o provocare, dat fiind faptul că el e doar lung și nu și complicat, puteți să încercați să ghiciți motivul/pretextul din spatele acestui articol :P