Besplatni alat za privatnost

Šifriraj datoteku u pregledniku

Odaberi datoteku, odaberi pristupnu frazu i preuzmi šifriranu kopiju. AES-256-GCM, s ključem izvedenim u tvom pregledniku. Ništa se ne prenosi, a radi izvan mreže nakon učitavanja. Format je niže dokumentiran bajt po bajt, pa nam ništa ne moraš vjerovati na riječ.

Radi u cijelosti u ovoj kartici. Ništa se ne prenosi, a radi izvan mreže nakon učitavanja.

Bilo koja datoteka. Velike datoteke traže memoriju. Pogledaj poštena ograničenja niže.

Oporavka nema. Zaboravljena pristupna fraza znači datoteku koju nitko, ni mi, nikad neće moći otvoriti.

Svaki parametar, naveden

Šifra
AES-256-GCM (WebCrypto), 128-bitna oznaka
Izvođenje ključa
PBKDF2-HMAC-SHA-256, 600.000 iteracija
KDF sol
16 bajtova, CSPRNG, nova za svaku datoteku
GCM nonce
12 bajtova, CSPRNG, nov za svaku datoteku
Autenticirani podaci
cijelo zaglavlje od 42 bajta, pa diranje u bilo koji navedeni parametar onemogućuje dešifriranje
Kodiranje pristupne fraze
UTF-8, NFC-normalizirano (pa ista fraza upisana na bilo kojem uređaju daje isti ključ)

Pošteno o ograničenjima

Ovo nije format trezora iz aplikacije Sealby. Aplikacija ključeve izvodi Argon2idom kalibriranim po uređaju, omata ih u Secure Enclaveu i sadržaj sprema u spremnike s mogućnošću poricanja, podijeljene na blokove. Ništa od toga web-stranica ne može. Ova je stranica samostalan alat izgrađen na onome što preglednici nude sami po sebi.

PBKDF2 nije memorijski zahtjevan. To je jedina funkcija za izvođenje ključa koju preglednici izvorno nude, a 600.000 iteracija čini svaki pokušaj sporim, ali ga GPU stroj i dalje napada daleko brže nego Argon2id. Zato teret zaštite leži na tvojoj pristupnoj frazi: četiri nasumične riječi ili više, a ne lozinka.

WebCrypto šifrira u jednom potezu. Nema strujanja, pa cijela datoteka za vrijeme obrade stoji u memoriji dva do tri puta. Stotine megabajta u redu su na većini uređaja. Za arhive od više gigabajta upotrijebi alat na računalu. Šifrirani ispis usto otkriva približnu veličinu datoteke. Naziv je šifriran unutra, ali veličina nije skrivena.

Format, bajt po bajt

Sve što tehnički čitatelj treba da neovisno provjeri ispis ove stranice, ili da ga dešifrira u dvadeset redaka Pythona:

bytesfieldcontents
0–7magicASCII "SBXF0001"
8verzija0x01
9algoritam0x01 = AES-256-GCM + PBKDF2-HMAC-SHA-256
10–13iteracijeuint32, big-endian (600.000)
14–29sol16 bajtova
30–41nonce12 bajtova
42–krajšifratAES-256-GCM korisnog tereta, AAD = bajtovi 0–41; zadnjih 16 bajtova je GCM oznaka

Korisni teret prije šifriranja: [duljina naziva u 2 bajta, big-endian][naziv datoteke, UTF-8][bajtovi datoteke]. Izvorni naziv datoteke putuje šifriran; pri dešifriranju se vraća.

Referentni dešifrator (Python, biblioteka 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)

Ovo je demo. Trezor je proizvod.

Jedna datoteka, jedna pristupna fraza, jedna stranica. To je ono što preglednik može. Sealby to radi kako treba: Argon2id kalibriran za tvoj uređaj, ključevi u Secure Enclaveu i skriveni trezori bez pohranjenog popisa ili broja.

Preuzmi na App Storeu

iPhone i iPad · iOS 17+ · Besplatno