Criptografie
As putea scrie tomuri pe tema, dar ma abtin. Totusi, cateva elemente fundamentale sunt esentiale, cred eu, oricarei persoane adulte, cetatean de incredere. Limba i-a fost data omului ca sa-si ascunda gandurile, zice un vechi proverb (persan, chiar daca ungurii l-au auzit inainte de navala si au acum impresia ca-i al lor - ba chiar mai mult, au dezvoltat o usoara psihoza lexicala pe baza lui).
Odata cu progresul tehnicii, care este, sa nu uitam, un produs numeric si nu lingvistic, ambiguitatea limbii, cea care ne ascunde gandurile, sufera un asalt destul de bine organizat, si cu rezultate pe alocuri remarcabile. Asaltul se bazeaza pe clasificare numerica, masoara abaterile de la standard si face predictii. Aplicatiile lui practice, de la marketingul de masa pana la spionaj au impins cativa pasi inapoi mantia ambiguitatii, expunand parti mai degraba delicate din structura individului mediului ostil pe care-l constituie spatiul public.
Sigur, dihotomia dintre cei ce numara si cei ce vorbesc nu va putea fi niciodata definitiv rezolvata, oricat s-ar chinui unii sau ceilalti sa-i elimine pe unii sau pe ceilalti. Pendula oscileaza continuu, acum 500 de ani era o crima sa numeri, si o legiune de apucati pandeau fiecare vorbulita pentru comparatie cu parerile canoanelor congregatiei doctrinelor credintei. Astazi e o crima sa vorbesti, si o legiune de cutiute bazaitoare numara fiecare bucatica din fiecare cuvintel, pentru a-l compara cu "expresia medie". Care, exact precum sexul mediu al unei populatii, e cu necesitate transcendent.
Dar sa ne intoarcem la elemente. Elementul dintai este sa va atrag atentia ca-i iresponsabil sa crezi ca "nu citeste nimeni" ce scrii tu pe internet. Mai aproape de adevar e sa crezi ca "citeste toata lumea". Sigur, toata lumea nu citeste niciodata nimic, dar pentru ca nu vrea, nu pentru ca nu poate. Exista functionari ai statului, si exista manageri de top prin companii care folosesc servicii de comunicare publice ca si cum ar fi private. Aceste persoane sunt iresponsabile (si in cazul functionarilor, se fac probabil vinovati si de tradare, dupa legea romana). Un email trimis dintr-o casuta de mail yahoo intr-o casuta de gmail nu este privat. El va fi citit de doua ISP-uri, de cel putin 2-3 PEERs, de oricine intre si printre ele, de sistemul de supraveghere al semnalelor implementat de Departamentul Apararii din Statele Unite, si de inca oricati terti doresc.
Al doilea element este ca orice produs software care ofera servicii criptografice va fi permis la export din Statele Unite (si din inca un bun numar de alte tari) doar daca produsul este astfel implementat incat serviciile lor sa aiba acces la orice mesaj ar fi encriptat el vre-odata. Punct. Cam toate lacatele de vanzare au master key, in mana diversilor auto-proclamati tatici, care tre' ei neaparat sa stie ce scrii tu acolo in jurnal. In caz de nevoie, cine stie.
Situatia nu-i cu totul violeta, pentru ca mai am elemente in tolba. Al treilea element : fie o imagine, asa mai maricica, sa zicem 1024 pe 768 de pixeli. Cate litere are alfabetul ? 27. Cate niveluri de culoare intra in imagine ? Pai sa zicem ca-i True Color, pe 32 de biti deci. 2 miliarde si ceva. Bun. Daca s-ar scrie un programel care sa ia un text, sa zicem asa, de fo 10,000 de semne, adica cat 20 de PA-uri, si sa-l piteasca prin poza ? 1024x768 = 786432, deci ar veni cam un pixel din 78 trebuie modificat. Si anume, cu cel mult 27 de nivele, din 2 miliarde. 0.00000001%, gen. Ce sanse are lupul cel rau sa se prinda ca un pixel din 50 a variat cu 0.00000001% ? Depinde daca are imaginea originala. Dar daca n-o are, pentru ca v-o generati singur si n-o mai dati la nimeni pe lume (decat receptorului intentionat al mesajului) s-a terminat cu smecheria. Pot masinutele bazaitoare sa bazaie pana isi dau duhul, asa ceva e nedecriptabil. Tot punct. (Si nu, nu depinde de "tehnica". E matematic nedecriptabila).
Ultimul si cel de-al patrulea element e o amintire. Va amintiti vremea filmelor cu spioni dinainte de masinile numerice, cand carau astia cartoaie de telefon dupa ei, avand tiparite pe toate paginile ksdjvngkjehriu rgherhg erergh iuer iuerhyi ue ? Noa. Aia-i o carte de coduri. Ea functioneaza in urmatorul mod : Se ia fiecare caracter din mesajul de criptat, se face OR logic cu caracterul din cartea de coduri, si rezulta un mesaj criptat. Care mesaj este absolut nedecriptabil, in lipsa cartii de coduri, pentru ca... pai, pentru ca poate fi decriptat in orice doriti dumneavoastra. Dati-m un mesaj criptat, si un mesaj clar, care doriti dumneavoastra sa iasa din el, si eu va pot spune ce-ar trebui sa contina cartea de coduri ca sa iasa fix aia. Pe scurt, ii reduce pe baietii cu ochi albastri la situatia politiei romane batand iepurele sa recunoasca ca-i urs.
Inainte de masinile numerice, care fac chestia asta automat (si deci decriptabil), chestia se facea cu mana. Lua mai mult timp, si dadea rezultate mai bune. Cam ca si gatitul, sexul, sau orice activitate fundamental umana. Pentru ca vorbitul este, ca si socotitul de altfel, o ocupatie fundamental umana. Sigur, din cand in cand alegem una si ne apucam sa exageram cu ea. Ceea ce este pana la urma principala ocupatie fundamental umana.
Saturday, 30 January 2010
wow, ce subiect de weekenmd... :) :)
s[per sa il regasesc si miine seara sau luni' as avea cite ceva de scrijelit...
acum o fac in graba, pe genun chi
un sfirsit de sapt asa cum ti-l doresti, Mircea
Saturday, 30 January 2010
Old Crows welcome ;)
Saturday, 30 January 2010
Dumnezeule, @mp tu ai trecut pe la scoala vreodata?
Saturday, 30 January 2010
@Radu Boncea Cred ca ai identificat corect sursa dificultatii pe care o intampini in a intelege mesajul, ca fiind diferenta de calificare intre emitator si receptor, chiar daca dintr-un motiv inexplicabil o vezi cu sens invers realitatii.
Este un inceput bun, totusi.
Saturday, 30 January 2010
Deci s-o iau de buna, niciuna din multiplele tale personalitati nu a trecut de ciclul primar.
@mp mai tii minte cat fac 1+1? Incearca sa iti aduci aminte fara ajutorul lui wolfram.
Saturday, 30 January 2010
Asta are probleme cu vreo, presupun.
Saturday, 30 January 2010
Are vreo probleme. De exemplu ca lucreaza la rotld. http://trilema.com/2009/domeniiro-o-analiza/
Saturday, 30 January 2010
Io-s d-asta mai fara scoli multe si nu pricep ce poate greu digerabil la textul de sus. Care ar putea fi ilogica?
Saturday, 30 January 2010
Anonimo, ştiu. Nu pricepeam în ce fel e ontopic aici.
Saturday, 30 January 2010
Ah, m-ai prins cu ciorba potrivită.
1.Treaba cu criptarea într-o imagine (sau în orice alt format alterabil în felul ăsta) este într-adevăr super faină, dar doar dacă imaginea o transmiți destinatarului în format necompresat. Dacă iei un bitmap oarecare, introduci mesajul în el și îl faci .jpg, cum e standard în zilele noastre, e probabilitatea destul de mare să se altereze conținutul original. Pe de altă parte, dacă transmiți bitmap-ul original, o să ai un overhead prea mare de date, asta în cazul în care transmiți peste rețea. Eu zic că nu-i deloc eficient dacă vrei să comunici date în felul ăsta în mod curent, iar în cazul ăsta să stai să codezi de mână pixelii de fiecare dată când scrii ceva e nebunie curată, ești de acord? Na, știu și eu, pentru cine știe ce secret care ține de securitatea națională, mondială sau galactică merge, dar altfel e mai mare deranjul. Și chiar și așa, există o probabilitate (deloc mică) să moară cei câțiva oameni care știu în care pixeli e codat mesajul, caz în care mesajul devine inutil. Sau dacă informația despre pixeli (imaginea originală sau sub altă formă) e stocată undeva, nu e deloc improbabil ca cineva să o compromită șamd.
2.Referitor la codarea folosind cheie secretă, sunt o serie de cazuri în care ea e utilă, dar o serie la fel de mare de cazuri în care nu merge. Un exemplu if I may, și anume WEP-ul din rețelele wireless, pe care l-am spart cu mânuța mea în sub 10 minute. Sigur, o să îmi zici că e standardizat și făcut de americani, deci trebuia să fie spart la un moment dat. Na, ce zic eu e că și algoritmul secret și cheia secretă pot fi reverse engineered/sparte, de la cele mai simple până la cele ale naibii de complicate. Poate SRI-ul/STS-ul n-o să își bată capul, dar alte servicii secrete o să găsească lejer cheia care să spargă mesajul ăla criptat de mână cu or/xor, automat sau manual, asta în cazul în care ei consideră că tu transmiți ceva important (în sensul în care, fii sigur că o grupare teroristă care comunică prin astfel de metode non-standard reușesc să fie compromiși mai devreme sau mai târziu). Dacă în WWII cu Enigma se putea, cu puterea de calcul de acum e muuult mai ușor să faci asta. Mai rămân algoritmii cu chei publice, care sunt sensibil mai greu, dar nu imposibil de spart, mai ales cu unele implementări care lasă de dorit.
Na, și cu toate astea, departe de orice om normal gândul de a fi paranoic. Nu mi s-a părut niciodată o problemă așa de mare faptul că yahoo își transmite mesajele în clar. La urma urmei nu mă deranjează dacă băieții află că la 5 minute după ora x m-am dus la budă, măcar așa o să se apere și ei de teroarea ce îi va paște dacă au de gând să intre în baie înainte să trag apa.
Deci să fim liniștiți, Big Brother veghează, el să fie sănătos.
Saturday, 30 January 2010
Pai eu am inteles ca poza se hand over in original, nu transmis prin retea. Prin retea se transmit doar mesajele pentru ca neavand originalul decriptorul nu are de unde sa stie ca este alterat ceva la o fotografie banala.
Insa teroristii astia nu prea comunica prin sisteme electronice. Ei scriu scrisori cu triger sau dau mesaje care declanseaza un "cue".
De exemplu daca tu decriptezi mesajul si in el scrie ca "mariana are 14 kile" poti sa te stergi la cur cu el.
Si nu mai da idei mah la omini sa imi puna mie boambe!
Saturday, 30 January 2010
@dAImon, Anonimosu Mda.
@Radu Ciocan Probabil se pregateste ceva training la baietii. Mergem acolo, platim banu' si aflam notiuni fulminante precum de exemplu ca exista name servers, care-s niste servere speciale, ca un fel de calculatoare legate la retea. Gen.
@spyked Chiar 100%, pentru ca .jpg foloseste compresie lossy. Exista algoritme de compresie imagini lossless (lzw de ex) care nu ridica problema.
Pe de alta parte, decizia despre cat e deranjul si cat e beneficiul trebuie sa apartina utilizatorului. Sigur, nu-i intotdeauna practic sa implementezi ideea asta total, dar in principiu intre doua implementari functionale, cea mai larga e si cea mai buna.
La 2, daca te uiti, si eu zic acelasi lucru, " care fac chestia asta automat (si deci decriptabil)". Sau, altfel, sa-ti citez din Neuman ("...is ofcourse living in a state of sin").
In rest, oricine doreste oricat de mult sa-l sparga, pot sta si plange cu el. Nu este o problema rezolvabila (de fapt, nu este o problema, e o chestie de aceeasi natura cu a raspunde la intrebarea "ce numar adunat cu alt numar da 7 ?"
Si-n rest, asa cum zici. Problema mare e sa fim constienti de ce facem, nu sa ne criptam mesajele despre mersul la buda.
@cipslim In mod remarcabil, daca studiem istoria descoperim ca statele sustin in general teoria dupa care cunostiintele sunt aducatoare de riscuri si instabilitate, in timp ce faptele sustin in general teoria ca dimpotriva, sunt aducatoare de stabilitate. Acu, depinde si pe cine vrei sa crezi.
Saturday, 30 January 2010
Poza originală ar putea fi comunicată (prin rețea sau altfel) de un third party credibil, sau stabilită de cei doi într-un mod așa-zis sigur (iar aici e o discuție lungă; faza asta poate fi compromisă în multe feluri). Problema e că și dacă alegi modul ăsta de comunicație, după un șir lung de poze identice alterate la nivel de câțiva octeți, un Trudy ce-și bagă nasul pe fir tot ar putea să-și dea seama că e ceva necurat la mijloc (o întrebare de genul „ce deștept tot aruncă cu o imagine într-o parte și alta?”). Nu o să reușească neapărat să și spargă criptarea, decât după poate prea multe mesaje (ceea ce într-un caz real, în care banda și viteza de transfer sunt totuși o problemă, nu-i eficient pentru atacator). O soluție ar fi schimbarea pozei o dată la câteva mesaje; în cazul ăsta, poza e cheia de criptare și un pic mai mult de atât, fiindcă ascunde informație utilă folosind tot informație utilă, nu ceea ce în mod normal la mesajele criptate e garbage. De fapt, soluția e chiar eficientă în situația în care imaginile transmise sunt cu adevărat utile (dar nu necesită criptare) pentru cei ce comunică, și nu doar măști pentru alte mesaje.
Treaba devine cu atât mai interesantă când se ascund astfel de informații în fișiere video sau de sunet, unde densitatea informației e chiar mai mare decât la imaginile statice. Pentru sunete, o idee ar fi convertirea textului în semnal așa-zis analogic (dar codificat tot digital - aici e un challenge reprezentarea exactă a sample-urilor) la frecvențe foarte mari sau foarte mici, sau ca armonice pe care urechea umană nu le percepe prin căști sau boxe. Rămâne temă de gândire.
Saturday, 30 January 2010
Solutia pe care-o propui cu armonicele e contra-criptografica, pentru ca introduce un punct de vulnerabilitate (un inginer de sunet poate usor recunoaste armonicele "care nu-si au locul").
Cheile se folosesc o singura data. Refolosirea unei chei compromite semnificativ calitatea criptarii.
Solutia practica e simpla, trimiti omului prin posta un stick de 8gb, pe care iti incap deci cateva mii de poze, dupa care de cate ori ai nevoie sa trimiti un mesaj folosesti cate una. Din cand in cand expediezi cate-un stick nou.
Saturday, 30 January 2010
Inginerii de sunet sunt sensibil mai puțini decât cei care prelucrează imagini (specialiști sau nu). În sensul că destul puțini indivizi o să stea să analizeze o bucată de sunet să observe asta. Dar fiindcă argumentul ăsta s-ar putea să nu te convingă: mergând pe ideea conform căreia densitatea informației e mult mai mare la sunete (44.1 kHz 16 bit => 1/44100 secunde pentru 2 octeți deci pentru două caractere ASCII în cazul ideal - în realitate, pentru a compune conținutul cu o undă greu perceptibilă e nevoie de ceva mai mult de atât, hai să zicem ceva de ordinul câtorva milisecunde) decât la imagini, introducerea unui text în cadrul unui fișier .wav de câteva minute, cu șanse foarte mici de a fi găsit chiar în cazul analizei cu un program de editare, ar trebui să fie lipsită de riscuri.
Sau chiar alterarea directă a câtorva sample-uri, la fel ca și la imagini; un fel de Stairway to Heaven, fiindcă putem să punem textul și în ordine inversă, asta dacă are chef cineva să asculte mesaje ascunse, de data asta pe bune.
Saturday, 30 January 2010
Nu conteaza "densitatea de informatie" asa cum o definesti tu, tot asa cum nu-i relevant daca bmp-ul respectiv va fi afisat pe un monitor de 24 de inch sau pe un ecran de iphone. Tot ce conteaza e numarul de octeti in fisier si numarul de octeti in mesajul din el, pentru a calcula adevarata proportie filler/message.
Teoria cu cine-i mai sensibil, ingineru' de sunet sau prelucratoru' de imagini e inutila, pentru ca toti pixelii descriu ceva vizibil, in timp ce nu toata informatia de sunet descrie ceva audibil. Ca rezultat, exista parti mai relevante si parti mai putin relevante intr-o inregistrare, dar nu intr-o fotografie. Daca tu ascunzi informatia doar in partile mai putin relevante din inregistrare, slabesti de fapt calitatea encriptarii.
Saturday, 30 January 2010
Na, păi exact în sensul ăsta densitatea aia de informație contează. Doar că tu ai luat o imagine de 1024x768 ca punct de reper, iar eu o melodie de câteva minute, să zicem 3, cam cât au multe melodii în ziua de azi. 3*60*44100*2 caractere (cam 15MB), ăsta-i filler-ul cu tot cu mesajul util. Acum câți octeți poți să bagi fără să distrugi semnalul audibil, dacă folosești modulare în amplitudine sau în fază sau dacă codezi direct mesajul în octeți, asta-i deja o cu totul altă discuție.
Problema aici e că e destul de greu de ascuns informația în părțile relevante ale înregistrării (aici deja nu mă mai refer la fișierul în sine, ci la sunet) fără să o faci praf. Dar asta depinde mult de caracteristicile înregistrării în cauză: nivelul mediu al volumului din fișier, banda de frecvență acoperită și așa mai departe. De asemenea, ar trebui luat în calcul dacă s-ar putea face asta într-un mod destul de eficient într-o transmisie în timp real, de exemplu (mă refer la Skype & co.), factorii de mai sus (tipuri de codificare: cam care-i probabilitatea să își dea seama cineva că e folosit Manchester diferențial, de exemplu), și foarte important, cât de tare îmi doresc eu să fie criptarea în cauză (la fel de bine pot să consider că e de ajuns pentru mine să folosesc tehnica cu armonicele, în ideea că sunt destul de slabe șansele să bage careva un FFT tocmai unde m-am hotărât eu să fac prostii).
Totuși, ceva îmi spune că e ceva și de capul criptografiei analogice (chit că mă depășește în momentul ăsta) și probabil există ceva mai avansat decât decodoarele HBO în domeniu. Până acolo, ideea în sine mi se pare interesantă.
Saturday, 30 January 2010
Nu stiu ce sa zic. Sexul cu mana nui mai bun decat alalalt. Parerea mea.
Sunday, 31 January 2010
E mult mai avantajoasa incriptarea pe imagine, cea de sunet daca o modifici prea mult se poate detecta tehnologic ca anomalie in momentul transmisiei. Si ce tot ziceti acolo ca mai mult de 20KHz nu se pot pune deoarece omul nu aude peste 18 k decat cand e sub 10 ani. Cea cu pozele este mult mai avantajoasa, datorita numarului masiv de imagini care circula in toate directiile.