Android · Windows · Linux · 无账号 · 无服务器

你的消息从你的手机到对方的手机。别无他处。

PrivChat 是一款点对点加密通讯工具。无需创建账号,无需提供手机号,也没有任何公司保管你的对话——包括我们在内。两部手机通过 Tor 网络直接交谈。这就是全部架构。

✓ 无需创建账号✓ 无需手机号✓ 没有分析统计,没有广告
9:41Tor · 2 跳
M
M.
指纹已核对

你在一台我可以依法传唤的服务器上吗?

没有服务器。在你的手机回应之前,它一直留在我的手机上。

排队中 · 在本机

那就没有什么可以索取的了。

已送达 · 1 小时后消失
如果对方离线,消息就留在这里
深色桌面上的两部手机,中间只有一条笔直的光线,别无他物。

记录才是产品

大多数通讯工具既是加密的,又是中心化的。

你的话语受到保护,但公司仍然能看到你和谁交谈、何时、多频繁。那份记录往往比话语本身更能暴露你。PrivChat 直接移除了那家公司,而不是要求你信任它。

对比项PrivChatWhatsAppTelegramSignalSimpleXToxBriar
无需手机号即可使用是否否 ¹否是是是
所有内容都要经过的服务器没有Meta 的Telegram 的Signal 的不含身份的中继没有没有
谁能知道你和谁说话没有人MetaTelegram ²Signal,极少没有人你的 IP 可能泄露没有人
后量子密钥协商是否否是是否否
后量子签名与信封是否否否否否否
开源否否仅客户端是是是是

¹ Telegram 允许用付费的匿名 +888 号码注册。

² 自 2024 年起,Telegram 会在收到有效法院命令时向当局提供 IP 地址和手机号。

于 2026 年 9 月对照各应用的公开文档核对。这些情况会变:如果你发现有错或过时,请写信告诉我们,我们会更正。

没有哪个正经的通讯应用在这里是因为加密太弱而失分的:它们都加密得很好。差别在于你手机之外留下了什么记录,以及要让这一点继续成立,需要谁一直保持规矩。

一条消息如何传输

手机到手机。中间是别人的中继,而它们读不到内容。

  1. 01

    你的手机

    消息在离开之前就已加密。经过 wifi、基站和你的网络服务商的,没有任何可读的内容。

  2. 02

    Tor

    一条中继链,每个中继只知道上一跳和下一跳。它们由志愿者运行,不属于某家公司。第一个不知道发给谁,最后一个不知道是谁发的。

  3. 03

    对方的手机

    密钥只存在于这两部手机上。如果对方离线,消息就留在你的手机上并稍后重试。任何东西都不会寄存在别人的机器上。

9:41Tor · 2 跳
M
M.
指纹已核对

你在一台我可以依法传唤的服务器上吗?

没有服务器。在你的手机回应之前,它一直留在我的手机上。

排队中 · 在本机

那就没有什么可以索取的了。

已送达 · 1 小时后消失
如果对方离线,消息就留在这里
你入口中间出口对方

每一跳只认识一个邻居。链条上没有人握有密钥。

无需互联网

网络中断时,消息依然能送达。

停电、断网、没有信号的地方。PrivChat 不会干等:它可以不经互联网,直接与你面前的人通信,或者把你的消息装进一个包裹,别人带到哪里就送到哪里,或者把它们留在家里等你回来。同样的加密、同样的密钥,消息进入同一个对话。

本地 Wi-Fi · 蓝牙 · 数十米

面对面

同一个 Wi-Fi(即使无法连接互联网)或蓝牙。没有路由器时,一部手机创建网络,另一部加入。双方都需有意开启,只针对一个联系人并且有时限:应用绝不会自行向任何人广播自己。

U 盘 · 邮件 · 任何渠道 · 不限距离

包裹

你的消息被封进一个只有收件人能打开的文件。存到 U 盘,或通过任何渠道发送:携带者无法读取,一旦被篡改就无法打开。从外面看只是无形的字节:甚至看不出它来自哪个应用。

家庭 Wi-Fi · Tor 可选 · 始终开启

信箱

放在家中树莓派或电脑上的无屏 PrivChat。你不在时,来到你 Wi-Fi 的人会把你的消息留在那里,并取走你留给他们的消息;联网后,即使你的手机关机,别人也能给你写信。它只保管你的东西,而且是密封的:它无法读取。

LoRa 无线电 · Meshtastic 或 MeshCore · 数公里

LoRa 网状网络

一台通过蓝牙连接、放在手机旁的小型无线电。没有互联网和信号时,你的文字消息分块通过无线电发出,其他节点把它们接力转发数公里;你家中带节点的信箱再通过 Tor 送达。仅限文字,每小时只有几条。监听者只能看到某个节点在发射,看不到内容和收件人。

你封好的包裹U 盘可信的人一道边境收件人

它不经陌生人的手机转发,也不搜索任何人——与通过 Tor 时相同的规则。手机和电脑上都可用。

监视者看到什么

每条消息大小相同。而且你不说话时,应用也在说话。

一个字母的回复和一大段文字,离开手机时是一模一样的信封。诱饵数据包以随机间隔发出,与真实的无从区分。试着把对话关掉:线路讲的故事不会改变。

监视你连接的人根本无法判断你是否正在进行一场对话。

没有诱饵时,成串的数据包会跟着你的输入走。内容仍然隐藏,但「你在说话」这件事藏不住。

线路安静了,而这本身就是一个信号——所以掩护流量默认是开着的。

捕获的数据包 len=512 · 已密封
  • env24EAC785 · 587CAE42512 B
  • env9F10B3D6 · 6D3B01F9512 B
  • envC4772AE1 · 1EA27744512 B
  • env0B8E5C37 · 73C5E8B0512 B
  • envA6D209F4 · 4F902D6A512 B
  • env3E51CB88 · 88BC15E3512 B
  • envD72F604B · B406F27D512 B
  • env57A3E9C0 · 0C9E3A75512 B
  • 没有数据包

可读字段:一把随机的一次性密钥。路由头是加密的。发送者的身份不在信封上。

是什么在保护它

一层一层,每一层解决一个不同的问题。

每条消息都用一把新密钥

密钥不会重复使用。每条消息都用它自己的密钥加密,即时派生、立即丢弃。即便某一把密钥被攻破,它也只能打开一条消息——而不是整段对话。一旦两部手机再次互发消息,链条便自我修复。

数据包不会透露是谁在说话

把话语加密是容易的部分,泄露的是围绕它们的一切。每条消息都被包进一个密封的信封,其中唯一可读的部分是一把随机的一次性密钥。从 2.2 起,这个信封源自对话本身,而不是你的身份。

每条消息大小相同

一个字母的回复和一大段文字产生的数据包大小完全相同。应用还会以随机间隔发送诱饵,与真实数据包无从区分。观察者无法判断是否正在进行对话。

为什么二十年后它仍然安全

有一种攻击是你事后无法防御的。

对手可以在今天记录下你的加密流量,直接把它存起来。如果多年以后,量子计算机能够攻破 2026 年所用的密钥交换,那么他们存下的一切都会变得可读——而且是追溯性的,届时你对此无能为力,因为记录早已发生。PrivChat 的密钥协商把 X25519 与 ML-KEM-768(NIST 于 2024 年标准化的后量子算法)结合起来。两个秘密被混合在一起,因此攻击者必须同时攻破两者。

  • 2.0 — 身份带有 Ed25519 和 ML-DSA-65。邀请、群组成员名单和频道发布都带有这两个签名,而且两个都必须通过验证。
  • 2.1 — 对话会一直保持后量子:在棘轮的每一个纪元,都有一个新的 ML-KEM 秘密散布在普通消息的填充中传递。
  • 2.2 — 信封本身——说明是谁在给你写信的部分——也随对话变化。他人用来与你建立联系的密钥每周更新,且只使用一次。

你今天所说的话,在十五年后仍然值得保护。

在你的手机上

设备是唯一的保险箱。请把它当保险箱对待。

静态加密

消息、联系人、附件以及密钥本身,全都用一把保存在 Android 密钥库中、并与设备硬件绑定的密钥加密。

PIN 码与胁迫 PIN 码

设了 PIN 码,密钥就需要两半:你的和手机的。胁迫 PIN 码会清除身份,而且看起来和一次正常解锁毫无区别。

阅后即焚,然后什么都不剩

消息可以在一小时、一天或一周后自我删除。「清除身份」销毁的是密钥,而不只是文件:在那之后,即便手机在手,旧数据也无法恢复。

没有云,连你自己的也没有

应用把自己排除在 Android 备份之外。对话绝不会被上传到任何地方,照片也会重新压缩,使 GPS、机型和日期不会跟着一起走。

群组

两百个人。没有协调者。

发到群组的消息会从你的手机按成员逐一发出,走的是同样的端到端加密一对一会话。成员名单由群管理员签名,没人能被悄悄塞进来。没有任何服务器保管这份名单。最多两百人;加入之前应用会先告诉你流量成本。

频道

一个发布者。读者保持匿名。

频道拥有自己的 Tor 地址和自己的签名密钥,与发布者的通讯身份毫无关联。读者经匿名链路拉取内容,因此发布者无法得知谁在阅读。内容经签名并彼此相连,历史无法被悄悄改写。

开始交谈

三个动作。之后就只是两部手机的事。

  1. 1

    安装并打开它。

    首次启动会在设备上生成一个加密的身份。什么都不会被发送到任何地方。不要姓名,不要号码,不要邮箱。

  2. 2

    邀请一次。

    每一份邀请都是一个只对一个人有效、并且会过期的二维码。只把它给那个人;对方的应用会通过 Tor 取回密钥。

  3. 3

    核对指纹。

    把数字读出来。如果一致,你交谈的就是你以为的那个人——而不是拦截了这次介绍的某个人。

完整流程、消息状态与第一次添加联系人: 如何使用 PrivChat.

把话说清楚

中间什么都没有,代价是什么。

支持 Android、Windows、Linux 和 Mac。iPhone 暂时还没有:正在测试,即将推出。

双方都需要这个应用:它不与其他通讯工具或短信互通。

如果对方不在线,消息会在你的手机上等待,除非你们就在附近(“面对面”)、用包裹手动带过去,或者你们双方都有 LoRa 节点。

没有语音通话和视频通话:Tor 的延迟做不到。但有语音留言和视频消息。

掩护流量会消耗流量——一直开着的话,每月大约 1 GB。

Tor 比一家公司的数据中心慢。这正是代价,也正是重点。

底层原理

移除服务器并不是加装在加密之上的一个功能,而是让加密值得拥有的那个东西。

这里没有任何东西是自制的。每一块都是公开标准,链接指向规范本身,而不是指向我们。当前版本:Android 为 2.15.0,桌面版为 1.7.1。

架构

点对点:每部手机都是它自己的 Tor v3 洋葱服务,中间没有服务器。

规范
密钥协商

PQXDH —— X25519 与 ML-KEM-768(FIPS 203)结合。

规范
密钥更新

Double Ratchet,头部加密,每个纪元使用 ML-KEM-768。预密钥每周更新。

规范
消息加密

ChaCha20-Poly1305(RFC 8439)。

规范
签名

Ed25519 与 ML-DSA-65(FIPS 204),两者缺一不可。

规范
密钥派生

HKDF-SHA256(RFC 5869)。

规范
PIN 码派生

Argon2id(RFC 9106)。

规范
本地数据库

SQLCipher,AES-256(FIPS 197)。

规范
传输

Tor,通过 arti 实现。

规范

问题

安装之前。

需要手机号吗?

不需要。第一次打开应用时,它会生成一个身份并加密保存在设备上。什么都不会发送到任何地方。没有账号需要创建。

如果对方离线怎么办?

消息会留在你的手机上,稍后重试。显示「排队中」不是故障:它表示对方暂时联系不上。在此期间没有任何云端收件箱替你保管它。 有 LoRa 节点时,文字消息通过无线电发出:需要几分钟,而不是几秒。

真的没有服务器吗?

每部手机都运行自己的 Tor 洋葱服务,并与另一部直接交谈。PrivChat 没有中继、没有队列、没有账号数据库。Tor 中继传递的是密封的数据包,它们不保管你的对话。

监视我网络的人能看出我在聊天吗?

他们能看到你连接到 Tor,但读不到内容。而在掩护流量开启时(默认如此),无论你是否在写字,都会发出大小相同的数据包,因此他们也无法判断是否正在进行对话。

为什么现在就要后量子?

被记录下来的密文可以保存很多年。如果未来的机器攻破了今天的密钥交换,那些记录就会被追溯性地打开。把 X25519 与 ML-KEM-768 混合,意味着两者都必须被攻破。签名、信封和联系密钥在 2.0–2.2 中陆续跟上,因此整段对话都保持关闭。

是免费的吗?有广告吗?

免费,没有广告,也不收集任何可供出售的东西。捐赠是自愿的,使用门罗币和比特币静默支付,这样公开链就不会变成一份「谁支持加密通讯应用」的名单。

有 iPhone 或 Mac 版吗?

Mac 有:PrivChat 支持 Android、Windows、Linux 和搭载 Apple 芯片的 Mac。iPhone 暂时没有:正在测试,即将推出。双方都需要这个应用;它不与 WhatsApp、Signal 或短信互通。

获取它

两部手机。中间什么都没有。

在 Android、Windows 和 Linux 上免费。没有账号,没有广告,也没有哪家公司需要你把人生的关系网托付给它。

一个火漆封缄的信封:消息就像一个沿途无人能打开的封闭包裹。

支持它

免费,没有广告,也没有任何可供出售的东西。

这里只有以下两个地址。发送任何东西之前,请把应用里显示的指纹与本页的指纹核对一遍:用一个不同的地址重新构建应用,正是经典的欺诈手法。同样的指纹也以签名声明的形式发布。

门罗币

XMR
45hRduLUQD5Ek4qGgHTuWAZnncwroMET1WsLUDC9AF6DNSt5qMP1Fk7WUsN4EwzJdA1ypfL7TtJQQ8uqutAJWwJy5jzp8Pa

指纹 1D63 68D5 7653 1887

比特币静默支付

BIP-352
sp1qqf2jvtz0k7rsy7f0cka9ejz6e4lmakz6v9zgae02ks0qpck3a6dxzqn73fp9gj6y632q8th2nfv2lv7rua49s5unzjpau3ahp29ssw689vwu9ksy

指纹 63BB FA03 F806 BC55

这里没有普通的比特币地址。在公开链上,每个捐赠者都会付到同一个地方,并且永远可见:那会成为一份支持加密通讯应用的人的名单。静默支付会为每一笔付款派生出一个全新的目标地址,因此链上不会拼出那份名单。

PGP BC8D E53F D8D1 6F63 AD8A 33EA 10EC 8069 37D6 8502 · donations.txt · 公钥