„Karinio lygio“ šifravimo komedija ir korporacinės pasakos
Kiekvienas komercinis programinės įrangos produktas, bandantis parduoti privatumo iliuziją, dievina frazę „karinio lygio šifravimas“ (military-grade encryption). Ši klišė skamba galingai, autoritetingai ir brangiai – tobulas masalas rizikos kapitalo fondams bei verslo klientams, pasirengusiems mokėti tūkstantines korporacines licencijas už paprastą rinkodaros fasadą. Tačiau po šiais blizgiais interfeisais ir saugumo sertifikatų ženkliukais dažniausiai slepiasi nyki realybė: centralizuotos debesų duomenų bazės, vartotojo pelės judesius sekantys telemetrijos skriptai ir programuotojai, testavimo serveriuose ramiai skaitantys nešifruotas JSON užklausas.
Kriptografijoje kariuomenė nenaudoja jokios magijos – jie naudoja tą pačią viešąją matematiką, kuri yra prieinama bet kuriam universiteto studentui: AES standartą, SHA maišos funkcijas ir modulinę aritmetiką. Tikrasis skirtumas tarp realaus privatumo įrankio ir korporacinio „gyvačių aliejaus“ slypi nulinio žinojimo (Zero-Knowledge) architektūroje: ar jūsų šifravimo raktai kada nors palieka jūsų įrenginį, ar visam laikui lieka įkalinti tik jūsų kompiuterio operatyviojoje atmintyje (RAM).
Claude Shannon 1949: Vienintelė teorema, nuginkluojanti dievišką visažinystę
1917 metais Gilbertas Vernamas užpatentavo elektromechaninį teletaipo šifrą, naudodamas perforuotą popierinę juostą. Praėjus trims dešimtmečiams, 1949 m., informacijos teorijos tėvas Claude Shannonas publikavo fundamentalų darbą „Communication Theory of Secrecy Systems“, kuriame matematiškai įrodė vienintelį istorijoje egzistuojantį algoritmą su tobula informacine paslaptimi (Information-Theoretic Perfect Secrecy).
Shannonas įrodė: jeigu raktas yra sugeneruotas iš tikros fizinės entropijos, yra bent jau tokio paties ilgio kaip pranešimas ir yra panaudojamas griežtai tik vieną kartą, sąlyginė pranešimo entropija, žinant šifrotekstą, yra identiška pradinei pranešimo entropijai: H(M|C) = H(M). Žmogiška kalba: šifroteksto stebėjimas nesuteikia užpuolikui absoliučiai jokios informacijos apie originalų tekstą.
Mūsų šifruoklis naudoja fiksuotą 10 000 bitų (1 250 baitų) aparatinio lygio triukšmo buferį. Kai šifruojate net trumpą frazę (pvz., „Slaptas susitikimas 12:00“), paketas suformuojamas su 4 baitų Big-Endian ilgio antrašte, jūsų UTF-8 tekstu ir likusia CSPRNG atsitiktinio triukšmo dalimi iki 1 250 baitų, prieš atliekant baitų lygio XOR operaciją. Užpuolikas, turintis net begalinę skaičiavimo galią ir bandantis visus įmanomus 10 000 bitų raktus, su lygiai tokia pačia tikimybe iššifruos visas įmanomas pasaulio knygas, manifestus, receptus ir meilės laiškus. Matematika nepalieka jokio statistinio pėdsako.
VENONA projektas ir mirtina nuodėmė: Šventasis pado neperpanaudojamumas
Kriptografijos istorijoje yra viena taisyklė, kurios pažeidimas kainuoja imperijų žlugimą: niekada, jokiomis aplinkybėmis nenaudok to paties vienkartinio pado du kartus. Šaltojo karo metais KGB kriptografai pritrūko laiko ir atspausdino kelis tūkstančius identiškų OTP puslapių lapelių. Rezultatas? JAV ir britų žvalgyba (projektas VENONA) per kelis dešimtmečius iššifravo šimtus griežtai slaptų sovietų šnipų telegramų. Jei du skirtingi pranešimai M₁ ir M₂ užšifruojami tuo pačiu padu K, šifrotekstų XOR operacija C₁ ⊕ C₂ akimirksniu pašalina raktą ir palieka gryną atvirų tekstų persidengimą M₁ ⊕ M₂. Mūsų įrankis iš principo neleidžia kartoti senų raktų – kiekvienam veiksmui generuojamas šviežias, aparatinio lygio entropijos pliūpsnis.
Nuo Cezario diskų iki kvantinės paranojos: 2000 metų komedija
Prieš du tūkstančius metų Julijus Cezaris manė, kad raidžių pastūmimas per 3 pozicijas yra neįveikiamas valstybės paslapties garantas. Škotijos karalienė Marija Stiuart tiesiogine prasme prarado galvą ant ešafoto, nes jos „slaptas“ pakeitimo šifras anglų dešifruotojams tebuvo savaitgalio kryžiažodis. Šiandien civilizacija nuėjo į kitą kraštutinumą: mes šifruojame kačių nuotraukas su AES-256, galinčiu atlaikyti visatos šiluminę mirtį, tačiau banko prisijungimui naudojame Slaptazodis123! ir stebimės, kodėl nuteka duomenys. TOOL GIGA šifruoklis sujungia abi pasaulio puses: matematinę Šenono ramybę ir kvantinį AES-256 atsparumą, kad jūsų duomenys būtų saugūs net tada, kai ateities ateiviai su kvantiniais procesoriais bandys perskaityti jūsų užrašus.
Groverio kvantinis algoritmas prieš termodinamikos dėsnius
Ateities kvantiniams superkompiuteriams pasiekus milijonus klaidoms atsparių kubitų, Shor algoritmas akimirksniu sunaikins asimetrinę kriptografiją (RSA ir elipsines kreives ECC). Tačiau simetriniai šifrai susiduria su kitu iššūkiu – Groverio paieškos algoritmu, kuris suteikia kvadratinį pagreitėjimą O(√N) netvarkytose duomenų aibėse.
Groverio algoritmas sumažina AES-128 saugumą iki 2^64 operacijų – o tai jau yra pavojingai arti didžiųjų valstybių žvalgybų pajėgumų ribos. Tuo tarpu AES-256 atsparumas sumažėja nuo 2^256 iki 2^128 kvantinių operacijų. Kodėl 2^128 riba išliks amžinai neįveikiama? Atsakymą pateikia Landauerio principas iš nepusiausvirosios termodinamikos:
Vieno informacijos bito pakeitimas ar ištrynimas reikalauja minimalių energijos sąnaudų: E = kT ln(2), kur k yra Boltzmanno konstanta (1.38 × 10^-23 J/K), o T – absoliučioji temperatūra Kelvinais (apie 300 K kambario temperatūroje). Norint atlikti 2^128 skaičiavimo operacijų net esant 100% teoriniam Karno naudingumo koeficientui, reikėtų sunaudoti apie 1.18 × 10^17 džaulių energijos. Norint brutalia jėga perrinkti 256 bitų raktų erdvę, tektų išgarinti visus Žemės vandenynus arba sudeginti visą Saulės spinduliuojamą šilumą. Prieš termodinamikos dėsnius bejėgiai net kvantiniai kompiuteriai.
Kodėl 600 000 PBKDF2 iteracijų verčia GPU fermas beverčiais šildytuvais
AES-256-GCM algoritmas matematiškai yra nepralaužiamas, tačiau žmonės neįsimena 256 atsitiktinių bitų sekų – jie naudoja slaptažodžius. Prasta raktų kildinimo funkcija (KDF) leistų užpuolikams su moderniomis vaizdo plokštėmis (GPU) ar specializuotais ASIC lustais tikrinti milijardus slaptažodžių variantų per sekundę.
Šis įrankis griežtai vadovaujasi naujausiomis OWASP rekomendacijomis ir taiko 600 000 PBKDF2 iteracijų su SHA-512 bei unikalia 16 baitų kriptografine druska (Salt). Šis algoritminis stabdys kiekvieną slaptažodžio atspėjimo bandymą paverčia pragarišku, šimtų tūkstančių nuoseklių SHA-512 ciklų maratonu, priverčiančiu galingiausias vaizdo plokštes kaisti ir vartoti kilovatus elektros, tikrinant vos kelis slaptažodžius per sekundę.
Tikroji skaitmeninė vienatvė sekimo kapitalizmo epochoje
Šiuolaikiniame internete net išmanusis virdulys reikalauja susikurti paskyrą, sutikti su 40 puslapių privatumo politika ir siųsti telemetriją į penkis serverius Silicio slėnyje. Mūsų šifruoklio filosofija yra radikaliai priešinga: jokių paskyrų, jokių „debesų sinchronizavimų“, jokių dirbtinio intelekto modelių, skenuojančių jūsų tekstą, kad vėliau pasiūlytų tikslinę šampūno reklamą. Viskas įvyksta jūsų įrenginio RAM atmintyje ir akimirksniu išgaruoja uždarius naršyklės langą – jokių pėdsakų, jokių serverio žurnalų, tik gryna, kompromisų nepripažįstanti matematika.
Nulinio žinojimo ir Air-Gap filosofija: Nepasitikėk niekuo
Pagrindinis kibernetinio saugumo postulatas skelbia: niekada nepasitikėk serveriu, kurio fiziškai nekontroliuoji. Šis įrankis veikia išimtinai jūsų naršyklėje, naudodamas natyvias WebCrypto API bibliotekas (crypto.subtle ir crypto.getRandomValues). Kai paspaudžiate šifruoti arba dešifruoti, visa matematinė logika vyksta lokaliai jūsų įrenginyje.
Galite tuo įsitikinti patys: atidarykite naršyklės kūrėjo įrankius (F12) ir patikrinkite „Network“ skirtuką arba tiesiog išjunkite Wi-Fi bei ištraukite interneto kabelį. Šifravimas ir dešifravimas veiks nepriekaištingai be jokio interneto ryšio. Tai ir yra tikrasis nulinis žinojimas.