公開驗證

親手解開你的備份

把應用裡「備份與帶走」匯出的加密備份檔貼進下面的框,輸入那個密語。如果你的備份因此顯出原文,就證明了:這串東西的鑰匙由密語決定,而整個過程不需要我們。

本頁發出的網路請求:0 個。全部運算在你的瀏覽器裡完成。

驗證的是什麼

這頁重放應用本身的解密程序(PBKDF2 60 萬次迭代派生金鑰、AES-GCM 解開包裹與內文),程式碼就在本頁原始碼與下方說明裡,你可以檢視後再使用。解開成功表示兩件事:

  1. 你的密語確實是唯一能解開這份資料的鑰匙,而且它在你的裝置上運作,不需要伺服器。
  2. 伺服器儲存層裡那串以 jr1. 開頭的內文,離開你的密語就只是雜訊。

零網路的證明

本頁的計數器攔下所有由瀏覽器發出的請求。沒有密語上傳、沒有遙測、沒有外部腳本;你可以開發者工具的網路面板自行複核,或離線開啟本頁後執行,結果不變。

格式說明

加密備份檔(tacet-enc-v1)內含:每則內文的密文(jr1. 前綴,AES-GCM,AAD 綁定篇章編號)、鹽、以密語包裹的金鑰(jr1w. 前綴)。解開順序:密語+鹽經 PBKDF2(600,000 次,SHA-256)派生金鑰包裹鑰匙(KEK)→ 解開 noteKey → 以 noteKey 解開每則內文。前綴是版本契約:未來 KDF 參數升級時會換新前綴,舊檔仍以舊版規則可解。

同一份程式碼運行在應用本體(React)與本頁(純 JavaScript);驗證環境與應用環境的行為一致,正是這頁的目的。

這個方法的界限

它驗證的是「密文與包裹在密語正確時可解、在密語錯誤時不可解」,也就是儲存層的不可讀性。它不能證明伺服器不會送出竄改過的程式碼(見〈威脅模型〉的誠實界限),也不會替你記住密語。若輸入錯誤密語,這裡會顯示「解不開」,不會有第四次機會之外的重試提示。