AES-256 fájltitkosító
Jelszóval védhet bármilyen fájlt egy hordozható AES-256-GCM titkosított csomagba, és dekódolja vissza később ugyanazzal a jelszóval, teljesen offline állapotban.
Eredmény
Ez az eszköz bármilyen fájlt – fényképet, PDF-et, zip-archívumot, bármit – jelszóval védett, hordozható, titkosított csomaggá alakít, amelyet USB-meghajtón tárolhat, feltölthet saját felhőtárhelyére, vagy elküldheti valaki másnak, majd később újra visszafejtheti, csak jelszóval. A munka minden bájtja a böngésző lapján történik a natív Web Crypto API használatával; a fájl és a jelszó soha nem hagyja el a gépet.
A konstrukció egy szabványos hitelesített titkosítási (AEAD) séma, nem egy játékrejtjel: minden egyes titkosításnál egy friss, véletlenszerű 16 bájtos só és egy friss, véletlenszerű 12 bájtos IV jön létre, így ugyanazon fájl kétszeri titkosítása ugyanazzal a jelszóval két teljesen különböző, egymástól független kimenetet eredményez. A jelszót a PBKDF2-HMAC-SHA256 250 000 iterációval 256 bites kulccsal feszítik ki – ez valódi, szándékosan drága számítás, nem azonnali áthaladás –, mielőtt az AES-256-GCM titkosítja a fájlt és hozzáfűzi a saját hitelesítési címkéjét.
Ez a feladat különálló a webhely titkosított jegyzettömb eszközétől, amely az oldalon belül tárolt rövid beillesztett szövegekhez készült. Itt a bemenet és a kimenet tetszőleges bináris fájlok: a só, az IV és a titkosított szöveg egyetlen kis önálló .enc fájlba van összefűzve, rövid fejléccel, így a köteg mindent magában foglal, amit bárhol vissza kell fejteni, bárkinek, akinek van jelszó – nincs külső kulcsfájl, nincs szerveroldali keresés, nem szivárogtak ki metaadatok a fejléc által használt algoritmuson vagy paramétereken túl.
A visszafejtés újra levezeti a kulcsot a jelszóból és a fájl saját fejlécében tárolt sóból, majd hagyja, hogy az AES-GCM hitelesítési címkéje elvégezze a dolgát: ha hibás a jelszó, vagy a fájlt akár egyetlen bájttal is megváltoztatták, a visszafejtés tiszta hibával meghiúsul, ahelyett, hogy csendben visszaadná a szemetet. Nincs helyreállítási útvonal és nincs hátsó ajtó – ha a jelszó elveszik, a fájl eltűnik, ami a valódi titkosítás lényege.