可以亲自验证的安全
这里不会出现「军用级加密」或「100% 安全」之类的说法。你会看到 Cryptnook Vault 用了什么、为什么用,以及它不能保护你免受什么。
成熟工具,不搞自创
本项目的第一条规则:不自己实现任何算法。一切都来自一个经过审查、被广泛使用的库。
libsodium
在电脑和手机上负责全部加密的库。经过审计,使用广泛,而且很难被用错。
内容使用 XChaCha20-Poly1305
每个文件的每个数据块都用各自的随机头加密,并与所属文件及其位置绑定。有人修改、挪动或截掉一块,都会被发现。
密码使用 Argon2id
密钥通过 Argon2id 从你的密码派生,每一次猜测都要耗费内存和时间。你的密码并不直接加密文件,而是包裹一把随保险库生成的随机主密钥。所以改密码只需一秒,不必重新加密所有内容。
文件名和文件夹同样加密
文件名、文件夹、日期和标签都存放在加密索引中。U 盘上的数据块,名字看不出任何信息。
直接拔掉 U 盘,保险库也不会损坏
U 盘会被匆忙拔下,线会被碰松,电池会耗尽。保险库正是为此设计的:已保存的内容都还在,最多丢失正在保存的最后一项,重新添加即可。
文件头,存两份
用你的密码包裹的主密钥就存在这里,没有它什么都打不开。它存了两份,写入中途被拔出也绝不会让保险库打不开。
索引,存两份
文件名、文件夹、日期和标签同样存两份,理由相同:一次中断不会让你不知道里面有什么。
每个数据块都有校验
每个数据块都带有自己的校验,损坏的块会被发现,而不是被错误地打开。在 Windows 上,「检查完整性」会检查整个保险库,并清理中断写入留下的残余。
任何东西都不会离开你的设备
两个应用都不会建立任何网络连接。没有账号,没有统计分析,没有许可证验证,也没有任何东西发往服务器:根本没有服务器。更新来自应用商店,而不是应用本身。
本网站也是如此:不用 Cookie,没有统计分析,不从其他网站加载任何内容。

多次输错后销毁,由你决定是否开启
你可以设定:密码输错达到一定次数后,保险库自行销毁。达到上限时,密钥会被覆盖,内容将永远无法读取,对你也一样。
此功能默认关闭,因为匆忙间的手误也算一次尝试。防范暴力猜测的主要手段不是次数上限,而是 Argon2id 的计算成本和一个足够长的密码。
托付任何东西之前,你应该知道的
一个过度承诺的隐私产品,比什么都不承诺的还糟。以下是它的局限,原原本本地说出来。
- 这不是备份。无法承受丢失的东西,请另外再存一份。
- 拿到 U 盘的人会知道里面有一个保险库,以及它有多大。但不会知道里面是什么。
- 如果你的电脑或手机已经中毒,它保护不了你。
- 把照片放进保险库,并不会把它从原来的位置删除。
- 如果开启了输错销毁,销毁不可逆转,没有回头路。
- 只改密码,挡不住知道旧密码又复制过 U 盘的人。如果你怀疑有人两者兼得,请同时更换主密钥:应用会用新密钥重新加密所有文件,保险库越大,耗时越长。
- 没有隐藏卷,也没有诱饵密码:无法否认保险库的存在。
- 在 Android 上,某些视频格式播放时可能需要用到应用的内部缓存;锁定和启动时会清除。在 Windows 上,解密内容从不写入硬盘。
