免費隱私工具
在瀏覽器裡加密檔案
選一個檔案、取一組密碼短語,然後下載加密副本。AES-256-GCM,金鑰就在你的瀏覽器裡推導。不上傳任何內容,載入後可離線使用。格式在下方逐位元組記載,你不必聽信我們的任何一句話。
完全在這個分頁內執行。不上傳任何內容,載入後可離線使用。
任何檔案都可以。大檔案需要記憶體。見下方的誠實限制。
沒有任何復原機制。忘記密碼短語,就意味著一個沒有人(包括我們)能再打開的檔案。
每個參數,公開陳述
- 加密演算法
- AES-256-GCM(WebCrypto),128 位元標籤
- 金鑰推導
- PBKDF2-HMAC-SHA-256,600,000 次迭代
- KDF 鹽值
- 16 位元組,CSPRNG,每個檔案皆新產生
- GCM 臨時亂數
- 12 位元組,CSPRNG,每個檔案皆新產生
- 認證資料
- 整個 42 位元組標頭,因此竄改任何一個聲明的參數都會使解密失敗
- 密碼短語編碼
- UTF-8,NFC 正規化(同一句短語在任何裝置上輸入,推導出的金鑰相同)
誠實的限制
這不是 Sealby App 的保險庫格式。App 用依裝置校準的 Argon2id 推導金鑰、以安全隔離區包裹金鑰,並把內容存放在可否認的分塊容器中。這些網頁全都做不到。這個頁面是建立在瀏覽器原生能力上的獨立工具。
PBKDF2 不具記憶體硬化性。它是瀏覽器唯一原生提供的 KDF,600,000 次迭代讓每次猜測變慢,但 GPU 破解設備攻擊它的速度仍遠快於 Argon2id。因此,保護的本錢在你的密碼短語身上:四個以上的隨機單字,而不是一組密碼。
WebCrypto 一次完成加密。沒有串流,所以處理期間整個檔案會在記憶體中存放兩到三份。幾百 MB 在大多數裝置上沒問題。數 GB 的壓縮檔請用桌面工具。加密輸出也會透露檔案的大致大小。檔名加密在內部,但大小沒有被隱藏。
格式,逐位元組
技術讀者獨立驗證這個頁面輸出所需的一切,或用二十行 Python 解密它:
| bytes | field | contents |
|---|---|---|
| 0–7 | magic | ASCII "SBXF0001" |
| 8 | version | 0x01 |
| 9 | algorithm | 0x01 = AES-256-GCM + PBKDF2-HMAC-SHA-256 |
| 10–13 | iterations | uint32,big-endian(600,000) |
| 14–29 | salt | 16 位元組 |
| 30–41 | nonce | 12 位元組 |
| 42–end | ciphertext | 酬載的 AES-256-GCM,AAD = 位元組 0–41;最後 16 位元組為 GCM 標籤 |
加密前的酬載:[2 位元組檔名長度,big-endian][檔名,UTF-8][檔案位元組]。原始檔名以加密形式隨行;解密時會還原。
參考解密器(Python,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)這是示範。保險庫才是產品。
一個檔案、一組密碼短語、一個頁面。這是瀏覽器做得到的。Sealby 把它做到位:依你裝置校準的 Argon2id、存於安全隔離區的金鑰,以及沒有清單、也沒有數量記錄的隱藏保險庫。
在 App Store 下載
iPhone 與 iPad · iOS 17+ · 免費