...10011101011100110...
 Teszt

 Titkosítandó szöveg:
 Titkosított szöveg:

The crazy bits encryption
...10011101011100110...
Az ötlet

Mindig is szerettem volna egy igazán hatékony, mégis könnyen implementálható titkosítási algoritmust fejleszteni, amely nehezen fejthető vissza.

Az a tény, hogy ezt éppen az interneten valósítottam meg, nem is olyan meglepő, hiszen egyre több háztartásba nyer egyre nagyobb teret a személyi számítógép internettel. Tekintve az interneten elhelyezett dokumentumok mennyiségét, illetve az internetet böngészők számát, nem is olyan meglepő az igényem.

A feladat megfogalmazása viszonylag egyszerű volt. Egy olyan titkosítási módszert kerestem, amely védelmet nyújt a betolakodókkal szemben, azonban nem akadályozza a jogosult felhasználót az adat maradéktalan elérésében.

A feladathoz kizárólag PHP-t és MySQL-t használtam, minden függvény teljesen szabványos, továbbá a kapott kódolt fájl olyan formátumú, hogy a rosszul beállított karakterkódolású gépeken is megfelelő a megjelenítése, bármikor továbbküldhető e-mailben, közzétehető a weben, stb.

Egyetlen hátrányának tudható be, hogy nem nyílt kódú az algoritmus, azon egyszerű oknál fogva, hogy az algoritmus birtokában bárki, bármikor visszafejthet tetszőleges szöveget.

Az egész elképzelés non-profitnak indult, azonban sikerült több támogatót is magam mögé állítanom, és ők bíztattak, hogy tegyem fizetőssé a szoftvert.

Ezen honlap nem titkoltan azzal a céllal jött létre, hogy kedvet csináljon a szoftverhez, és remélhetőleg minél több potenciális vásárlót győzzön meg arról, hogy egy nagyszerű eszközről van szó, amelybe érdemes egy egyszeri beruházást befektetni.

Nyilván mindenki találkozott már azzal a problémával, hogy olyan információt szeretett volna megosztani, amely publikus ugyan, de mégsem tartozik mindenkire. A webfejlesztőknek viszonylag könnyű dolguk van: készíthetnek egy beléptetőrendszert, melyben a nem jogosult felhasználók elől elzárják, míg a jogosultak számára megmutatják a féltett adatot.

Több hiányossága is van az ilyen rendszereknek. Az első és legfontosabb, hogy a nem-webfejlesztőket teljesen kizárja a titkosítási lehetőségekből. Másik hátrányként felróható, hogy amig a titkosítandó dokumentum csak egy .txt fájl lenne, addig egy komplett, hibatűrő, hackerbiztos beléptetőrendszer több száz kilobytera rúghat és nemkevés tudás kell hozzá.

Ezzel szemben a Crazy bits algoritmust akár egy egyszerű felhasználó is alkalmazhatja. Tehát bárki, aki weben publikál akár blogot ír, akár cikket szerkeszt, vagy bármi egyéb tevékenységet folytat, kiválóan használhatja ezt az eszközt arra, hogy ugyan publikus bejegyzéséhez titkos részt csatoljon, vagy akár az egészet titkosítsa

A megvalósítás

Mint említettem, a megvalósításkor erősen törekedtem a szabványok betartására, hiszen senkit sem szeretnék kizárni a böngész vagy szerver függő kódom miatt. Éppen ezért, valamint ennek jegyében az egész projectet áthatja a W3C szelleme.

Ejtenék még pár szót a működésről anélkül, hogy felfednék konkrét részeket:

Az egész algoritmus szövegekre lett kifejlesztve, azonban mivel a szabványokat maximálisan betartottam úgy a tervezés, mint a kivitelezés fázisában, így tetszőleges adatfolyam titkosítható ilyen formában.

A titkosítási algoritmus lényege, hogy egy változó tartalmú szöveggel fésüli össze a titkosítani kívánt adatot, annak módosítása nélkül. Elsőre meglepőnek tűnhet, hogy ennyire egyszerű, mégis vallom, hogy sikerült nagyot alkotnom.

A visszaalakításban rejlik az igazi nehézség, hiszen ki kell szedni a változó szöveget az eredetiből. Csakhogy mivel nem ismerjük az összefésülés előtti szöveget sem, sem a véletlenszerű kiegészítőszöveget sem, sőt, az összefésülésre használt algoritmust sem, ezért nemcsakhogy nem triviális a megoldás, hanem egyszerűen lehetetlen.

Ez a Shanon által leírt tökéletes titkosítás.

A program demoja limitált! Ez azt jelenti, hogy ugyan lehetőség van tetszőleges hosszúságú szövegek titkosítására, azonban csak az első 128 karaktert kaphatjuk vissza. Természetesen a megvásárolt programban nincs ilyen limitáció, sőt, ott a korábban a demo verzióval titkosított hosszú szövegrszek is olvashatóvá válnak.

További limitáció, hogy a demo verzió a titkosított szöveg elejére beszúrja a honlap címét, és a szöveg visszaalakítása során is keresi az így beillesztett szöveget. A teljes verzióban ennek nyoma sincs, a titkosítás eredményeképpen kapott szöveg, nem tartalmaz reklámot, csak magát a titkosított szöveget.

Az egész titkosító ára elsőre borsosnak tűnhet (75000 HUF), de ha belegondolunk, hogy milyen nagyszerű eszközt kaphatunk kézbe ezáltal, akkor nyilvánvalóvá válik, hogy ez az összeg elenyésző a nyereséghez képest.

Példaként álljon itt egy rövidebb és egy hosszabb szövegrész, amellyel tesztelni lehet a titkosítót. A példákat amennyiben bemásoljuk a Titkosított szöveg mezőbe, majd a teszt gombra kattintunk, akkor a titkosítandó szöveg mezőben megjelenik az eredeti szöveg, illetve a hosszabb szövegnél az első 128 karakter.

The best encryption utility: http://crazybits.atw.hu fl85Az8YKZpolnavbxktvinebFcxwGxmKfQo9SnvCAA+f22+Plhs9H1h

A másik szövegrész kicsit hosszabb:

The best encryption utility: http://crazybits.atw.hu K0soUyoJPMtskjaqK0k4qmjObQIwmn0ieWQ7KDhmfkoNBCjwuBc7cD2uaXo8B2phrwtNE1XyUZwA9gTYZXMvjQlFbHN4fi+WSBR4hCm/K1orSiuYLQdsWXkMXQRqG2+Nrig+aDwjOC46DO3Sahp7nA3kCREtAijjaTdo8HihLpIoJjjlDAQ+cSk2Oh5+yDo1LCNooGnQPTY+ISmWDQQ8UlhBemRt1iolaI4p6mtKuOMqZK4LGRUppu+bPMqqPH1x/YZ+T7mTPyQY/UwVJnVp6i4pvAI4SCxILYMNFDnWPLx5aTz+Owg58u1DfUs916sKSER4I0jiOPd8U3jCbOFsDH0mOP1ZRCzKvNMqDTiFaCdrYfp2DBUtByvISQRo6y3hfCR4ViixCBUtQznxbIi4Bn2pHFUucCkSOfC8Un2xbcE4Qy50rlpdAX0zDKd5snlSecY89FwAPVpowi2mLDY8qBysBOdEzEHiAIj38XhwKnn+KXrcOKUoJjt0OmApJnykGslIRDwDTFRxGmoZLUZqmXrGGEUpWCyTaiRrGxwEL3UpZmhDPPJYBQmAIWUoRym8OMMM5EkQM0EsNm5letJsUg2hCEBglmyhaDA8kxjX

Sok sikert!