How Password Managers Actually Protect Your Data
From Caesar cipher to AES-256 — a visual guide to symmetric vs asymmetric encryption, zero-knowledge architecture, and how ByteGuard keeps your data safe.
Published: 2026-04-09 · 8 min read
把 "HELLO" 变成 "KHOOR":加密的 2000 年
密码管理器都声称"连我们也看不到你的数据"。这到底是营销话术,还是数学事实?答案藏在加密这件事本身——从两千年前一直到今天,它一直在回答同一个问题:怎么把一段话变成只有特定人能读懂的东西。
想象你要给朋友传一张秘密纸条。你没有直接写 "HELLO",而是把每个字母往后挪 3 位:H 变 K,E 变 H,L 变 O……纸条上写的就变成了 "KHOOR"。谁截获了都只能看到一串密文——除非知道你用的规则。
这种"移位 3 位"的方法就是凯撒密码。约两千年前,尤利乌斯·凯撒就用它来传递军事情报,这是已知最早的加密手段之一,完美展示了加密的核心思想:用一个秘密规则,把能读的内容变成读不懂的密文。
当然,挪 3 位这种方法太容易破了——总共就 25 种可能。现代加密用的是同样的原理——用秘密规则把数据搅乱——但密钥的可能性不是 25 种,而是一个天文级的数字。
这就是凯撒密码到现代加密之间的巨大跨越:可能的"密钥"数量,从几十个变成了比可观测宇宙中原子总数还多的天文数字。
加密就是用一把秘密密钥,把数据变成密文,没有密钥就还原不了。现代加密的密钥空间有多大?就算把全世界的超级计算机凑到一起穷举,到宇宙终结都试不完。
一把钥匙还是两把?两种加密的分工
加密不止一种玩法。主要分两大类,搞清楚它们的区别,你就能理解密码管理器为什么选了特定的算法。
🔐 对称加密:一把钥匙搞定一切
想象一把挂锁:同一把钥匙能锁也能开。你和朋友各拿一把一样的钥匙,你锁上箱子寄出去,朋友拿同一把钥匙打开。
这就是对称加密——加密和解密用同一把密钥。速度快、效率高,很适合拿来加密大批量数据,比如你的整个密码库。
📬 非对称加密:拥有两把钥匙的信箱
再想象一个街边信箱:任何人都能往里塞信(这就是公钥),但只有你有钥匙能打开信箱取信(这就是私钥)。
这就是非对称加密——两把数学上关联的密钥,一把公开、一把保密,各管各的。它解决了对称加密搞不定的问题:怎么跟一个从没见过面的人安全地交换密钥?
加密解密用同一把密钥,处理大量数据时又快又高效。
示例:AES-256(行业主流)、ChaCha20(手机等低功耗设备常用)
公钥加密、私钥解密;反过来私钥签名、公钥验签,就是数字签名。主要用于安全密钥交换。
示例:RSA(经典方案,名字可能听过)
实际应用中,大多数安全系统两个都用:先用非对称加密安全地交换密钥,再用对称加密干加密数据的苦力活。ByteGuard 等密码管理器用对称加密(AES-256)来保护密码库,看中的就是它的速度和久经考验的强度。
▶ 深入了解:为什么 AES-256 是黄金标准
AES-256 用的是 256 位密钥,也就是 2256 种可能——这个量级(约 1077)已经接近可观测宇宙中的原子总数。就算把每个原子都变成一台每秒能试十亿个密钥的计算机,跑到宇宙终结也穷举不完。
到目前为止,还没人找到能真正用来破 AES-256 的攻击手段。
2001 年,NIST 经过严格的国际公开征选,正式用 AES 取代了已显过时的 DES;此后二十多年,全球银行和政府都在用它。
当 AES 跑在 GCM 模式(伽罗瓦/计数器模式)下,它做的是带认证的加密——不光把数据搅乱,还能发现有没有人动过手脚。密文里哪怕只改了一个字节,解密就直接报废;攻击者想神不知鬼不觉地改加密数据,门都没有。
对称加密(一把密钥)速度快,用来保护密码库;非对称加密(两把密钥)负责安全通信。ByteGuard 用的 AES-256,以目前可预见的计算能力,暴力破解在现实中并不可行。
连服务商自己都解不开:零知识架构
想象你在银行租了个保险箱。银行提供金库、保安和钢铁大门,但他们没有你箱子的钥匙——只有你自己有。银行守着整栋楼,却压根看不到你箱子里放了什么。
这就是零知识架构。服务商帮你存着加密数据,但它自己永远解不开。保险库是它的,钥匙是你的。
- 密钥在服务商手里
- 服务商能看到你的数据
- 政府传唤就能拿到可读数据
- 存的全是 AES-256-GCM 加密的密文
- 就连开发者自己也看不了你的数据
- 没有你的密钥,数学上就不可能解密
虽然名字很像,但零知识架构和零知识证明(ZKP)是两码事。零知识架构说的是服务商完全看不到你的数据;ZKP 是一种密码学协议,能证明你知道某件事,却不必透露是什么。本文不涉及 ZKP,只要知道"名字相近,概念无关"就行。
零知识架构意味着就算是密码管理器的开发者,也看不到你的数据。你的加密密钥始终留在你的设备上。这是目前数据保护的最高标准,也是 ByteGuard 的基石。
ByteGuard 怎么把这些串起来
对称加密、AES-256、零知识架构——ByteGuard 是怎么把它们拼成一条完整的保护链的?
一把锁,两把钥匙
大多数密码管理器只要你记一个 Master Password(主密码)就行。ByteGuard 多了一步——需要两个秘密:你的主密码,加上一个 Secret Key(一串 128 位的随机值,存在设备的系统钥匙串里——iOS 自带的安全存储区)。
为什么要两个?因为只有一个不够安全。钓鱼骗走了你的主密码?没有设备在手,攻击者照样解不开。设备被偷了?没有主密码,也是白搭。两把钥匙缺一不可。
解锁那一瞬间,发生了什么
你输入主密码的那一刻到数据被加密保存为止,中间会经过这样一条链路:
你的主密码和 Secret Key 先合在一起,然后经过一个刻意设计得很慢的运算(这一步叫 Argon2id),让暴力猜测在现实中跑不动。运算结果是一把主密钥——但它不会直接用来加密。它会再派生(通过 HKDF-SHA256)出一组子密钥,密码库里每种类型的数据各有自己的专属密钥,每个字段独立上锁。最后用 AES-256-GCM 完成带认证的加密。
字段级加密:为什么重要
很多密码管理器把整个密码库打包成一个大块来加密——像是把所有东西塞进一个大保险箱。ByteGuard 的做法不一样:每个敏感字段(密码、卡号、安全笔记)都用各自专属的密钥单独加密。
- 按需解密:看列表时不用解密敏感字段
- 同步高效:iCloud 只传改动过的字段
- 暴露面小:解密一个字段不会把其他字段也加载到内存里
- 实现简单:一把锁锁住所有东西
- 全有或全无:看任何一条都得把整个库解开
- 同步吃力:改一个字段就得重新上传整个库
字段级加密让 ByteGuard 可以直接展示账户列表(网站名、用户名),而不用把真正的密码也解密到内存里。敏感数据只在你点开查看时才会解密,而且只解你要看的那个字段。
▶ 深入了解:Argon2id 为什么让暴力破解跑不动
Argon2id 是 2015 年密码哈希竞赛的冠军算法,设计目标只有一个:让暴力猜密码变得尽可能贵。
ByteGuard 用的参数:每次运算吃 64 MB 内存、迭代 3 次,输出 32 字节(256 位)的主密钥,盐值 16 字节。
为什么每次猜都要吃 64 MB 内存?老一代算法(比如 PBKDF2)几乎不占内存,攻击者用一块 GPU 就能同时跑几百万次。Argon2id 每猜一次都要独占 64 MB;一块 24 GB 显存的 GPU,最多也就能同时跑 375 次左右——和 PBKDF2 的几百万次相比,完全不是一个量级。
定制芯片也没辙。ASIC 之所以快,是因为只保留计算电路,其他一概不要。但 Argon2id 每次运算都要大量内存,而内存在芯片上非常贵——想并行跑几千个 Argon2id?光片上内存的成本就让攻击者吃不消。
再叠加 3 次迭代——每次猜测都要把 64 MB 的重度运算完整跑三遍。配合一个强主密码,想暴力破解 ByteGuard 的密钥派生,在现实中基本不可能。
所有数字身份,一处统一管理
- 8 类条目:密码、银行卡、TOTP、通行密钥、API Key、证件、许可、笔记
- AES-256-GCM 字段级加密,每条独立 IV,OWASP 推荐参数
- 本地优先,iCloud 同步可选(只传密文,连 Apple 都看不懂)
两个秘密(主密码 + Secret Key)→ Argon2id 强化 → HKDF-SHA256 派生专属子密钥 → AES-256-GCM 逐字段加密。你的数据从不以明文形式离开设备——端到端加密 + 零知识架构,就是这么实现的。
钥匙在你手里
主密码、Secret Key、设备——三样东西都在你自己手里,我们既拿不到密钥,也看不到你的数据。数学如此,不是营销。
想看这套加密管线在代码里长什么样?下一篇我们会拆开 ByteGuard 的安全架构——Argon2id 参数、HKDF 派生、字段级加密的实际实现,一段段给你看。
把钥匙握在自己手里,从今晚开始。免费下载 ByteGuard,亲手体验端到端加密。