什么是 AES-256 加密?通俗解释
AES-256 是一种公开的加密标准,用 256 位密钥打乱数据。没有这个密钥,数据在任何现实的时间内都无法被读取。所以对于任何声称“AES-256”的应用,问题不在密码算法本身,而在于谁持有密钥,以及用什么保护它。
我需要知道什么?
- 密码算法不是薄弱环节。 攻击针对的是密钥、密钥背后的密码,或已解锁的设备。
- “256”是密钥长度。 它意味着有 2^256 种可能的密钥,远超任何搜索能力。
- 这个标签本身说明不了多少。 要问清楚加密了什么、密钥在哪里生成、还有谁持有它。
AES-256 到底是什么意思?
AES 是高级加密标准(Advanced Encryption Standard),由美国国家标准与技术研究院(NIST)发布。NIST 的 FIPS 197 定义了三个版本:AES-128、AES-192 和 AES-256。它们都以 128 位的块为单位工作。数字表示密钥的位数。
256 位密钥有 2^256 种可能的取值。这是一个 78 位的数字。逐个尝试不是现实的攻击方式,无论现在,还是用我们已知如何制造的任何计算机。
什么是 AES-256-GCM?
AES 本身只描述一个块如何被打乱。“模式”说明如何处理整个文件。GCM 就是其中一种模式,由 NIST SP 800-38D 规定。
GCM 是认证加密。除了隐藏内容,它还能发现是否有人改动了加密文件。被篡改的文件会无法打开,而不是被当作别的东西打开。
如果 AES-256 无法破解,数据是怎么被偷的?
通过密码算法周围的一切。常见途径有:
- 弱密码或弱代码。 如果密钥由 4 位 PIN 生成,攻击者只需尝试 10,000 个 PIN,而不是 2^256 个密钥。
- 密钥和数据存放在一起。 密钥与数据放在同一个地方的加密,就像把钥匙贴在上锁的盒子上。
- 公司持有密钥。 如果服务器能重置你的密码并把文件还给你,那么你以外的人也能读取它们。
- 已打开、已解锁的设备。 已解密并显示在屏幕上的内容都可能被看到或复制。
- 没有加密的东西。 缩略图、文件名或相簿数据库都可能泄露文件是什么。
如何核实一个应用的“AES-256”说法?
问这五个问题。好的应用会在自己的文档中回答它们。
- 是否每个文件都加密了,包括缩略图和保险库内容的索引?
- 密钥在哪里生成:在你的设备上,还是在公司的服务器上?
- 用什么把你的密码或图案转换成密钥?应该是一种缓慢的标准方法。
- 公司能重置你的密码吗?如果能,它就能接触到你的文件。
- 代码或安全说明是否公开供他人检查?
如果一个应用只说“AES-256”而别无其他,请把它当作未知,而不是安全。
Cryptile 如何使用 AES-256?
Cryptile 保险库中的每个文件、缩略图和索引都用 AES-256-GCM 加密。密钥由你画出的图案在手机上生成。没有账户,没有服务器,开发者从不持有你的密钥。
加密核心公开供审计,并附有威胁模型和测试向量。我们的安全页面提供了链接。文件大小经过填充,所以加密文件的大小透露的信息更少。
它不能保护你免受什么
AES-256 的强度取决于密钥背后的秘密。短图案比口令更弱,所以请使用 8 个或更多格点。如果有人看着你画图案,或者在保险库打开时你的手机上运行着恶意软件,加密就帮不上忙。如果图案和恢复短语都丢了,任何人都打不开保险库,包括我们。
用 Cryptile 实现
Cryptile 用 AES-256-GCM 加密照片、视频、文件和笔记,密钥在你的设备上生成。不同的图案打开不同的保险库,也没有保险库列表。
Cryptile 免费提供最多 2 个保险库、100 张照片和 10 个视频。Plus 取消这些限制,并增加紧急图案和保险库内搜索,每年 $19.99(7 天免费试用)或一次性 $39.99。