Tasuta privaatsustööriist

Krüptige fail brauseris

Valige fail ja paroolifraas ning laadige alla krüptitud koopia. AES-256-GCM, võti tuletatakse brauseris. Midagi ei laadita üles ning pärast laadimist töötab tööriist võrguühenduseta. Vorming on allpool bait-baidilt dokumenteeritud, nii et midagi ei tule pelgalt meie sõna põhjal uskuda.

Töötab täielikult sellel vahekaardil. Midagi ei laadita üles ning pärast laadimist töötab see võrguühenduseta.

Vali fail

Mis tahes fail. Suured failid vajavad mälu. Vaadake allpool ausalt kirjeldatud piiranguid.

Taastamisvõimalust pole. Unustatud paroolifraas tähendab faili, mida ei saa enam kunagi avada mitte keegi, ka meie.

Kõik parameetrid avalikult välja toodud

Šiffer
AES-256-GCM (WebCrypto), 128-bitine märgend
Võtmetuletus
PBKDF2-HMAC-SHA-256, 600,000 iteratsiooni
KDF-sool
16 baiti, CSPRNG, iga faili jaoks uus
GCM-i nonce
12 baiti, CSPRNG, iga faili jaoks uus
Autenditud andmed
kogu 42-baidine päis, mistõttu mis tahes avaldatud parameetri muutmine rikub dekrüptimise
Paroolifraasi kodeering
UTF-8, normaliseeritud NFC-ga (et eri seadmetes sisestatud sama fraas tuletaks sama võtme)

Ausad piirangud

See ei ole Sealby rakenduse seifivorming. Rakendus tuletab võtmed seadme järgi kalibreeritud Argon2id-ga, pakendab need Secure Enclave’i abil ja talletab sisu eitatavates tükeldatud konteinerites. Veebileht ei saa midagi sellist teha. See leht on eraldiseisev utiliit, mis kasutab brauserite kohalikke võimalusi.

PBKDF2 ei ole mälumahukas. See on ainus brauseritesse sisseehitatud võtmetuletusfunktsioon ning 600,000 iteratsiooni muudab iga katse aeglaseks, kuid GPU-seadmed ründavad seda siiski palju kiiremini kui Argon2id-d. Seetõttu sõltub kaitse paroolifraasist: vähemalt neli juhuslikku sõna, mitte parool.

WebCrypto krüptib ühe korraga. Voogtöötlust pole, mistõttu kogu fail asub töötlemise ajal mälus kahe- kuni kolmekordselt. Enamik seadmeid saab sadade megabaitidega hakkama. Mitmegigabaidiste arhiivide jaoks kasutage töölauarakendust. Krüptitud väljund paljastab ka faili ligikaudse mahu. Nimi on sees krüptitud, kuid maht pole varjatud.

Vorming bait baidi haaval

Kõik, mida tehniline lugeja vajab lehe väljundi sõltumatuks kontrollimiseks või selle dekrüptimiseks kahekümne Pythoni koodirea abil:

bytesfieldcontents
0–7tunnusASCII "SBXF0001"
8versioon0x01
9algoritm0x01 = AES-256-GCM + PBKDF2-HMAC-SHA-256
10–13iteratsiooniduint32, big-endian (600,000)
14–29sool16 baiti
30–41nonce12 baiti
42–lõppšifreeritud tekstKasuliku koormuse AES-256-GCM, AAD = baidid 0–41; viimased 16 baiti on GCM-i märgend

Kasulik koormus enne krüptimist: [2-baidine nime pikkus, big-endian][failinimi, UTF-8][faili baidid]. Algne failinimi liigub krüptituna ning taastatakse dekrüptimisel.

Näidisdekrüptor (Python, teek cryptography)
import sys, hashlib, struct, unicodedata
from cryptography.hazmat.primitives.ciphers.aead import AESGCM

raw = open(sys.argv[1], "rb").read()
assert raw[:8] == b"SBXF0001" and raw[8] == 1 and raw[9] == 1
iters = struct.unpack(">I", raw[10:14])[0]          # 600000
salt, nonce, ct = raw[14:30], raw[30:42], raw[42:]
phrase = unicodedata.normalize("NFC", sys.argv[2]).encode()
key = hashlib.pbkdf2_hmac("sha256", phrase, salt, iters, 32)
plain = AESGCM(key).decrypt(nonce, ct, raw[:42])     # AAD = header
name_len = struct.unpack(">H", plain[:2])[0]
name = plain[2 : 2 + name_len].decode()
open(name, "wb").write(plain[2 + name_len :])
print("decrypted ->", name)

See on näidis. Seif on toode.

Üks fail, üks paroolifraas, üks leht. Seda suudab brauser. Sealby teeb asja korralikult: seadme järgi kalibreeritud Argon2id, võtmed Secure Enclave’is ja peidetud seifid, mille loendit ega arvu ei salvestata.

Laadi alla App Store’ist

iPhone ja iPad · iOS 17+ · tasuta