camochat

在任何聊天软件里说,
只有对方读得懂。

陈仓在你的手机上把消息变成密文。把它贴进微信、短信或任何聊天软件,只有配对过的那个人能还原。文字不经过任何服务器,包括我们的。

  • 开源 · AGPL-3.0
  • 文字不联网
  • 无账号,不要手机号
任何聊天软件
🔒 㔲䴎㩛䂇㷨䍂㙶䬑㽘䁫㛓䎽
🔒 䧹㢭䁸㮩䳲㞊㸖䠋
🔒 㾅䃪㫨䕱㛬䰘㲴
陈仓
今晚七点还见吗?
见,老城门口。
好,不见不散 👍
同样三条消息:左边是聊天软件看到的,右边是你们俩读到的。
怎么工作

聊天软件负责送,但它读不懂

陈仓自己没有通信通道。它在你的手机上把消息锁好,把密文交给你;你用平时在用的任何软件把它发出去。

整条路上没有任何陈仓服务器。文字全程不联网。
  1. 配对一次

    扫对方的二维码,或打开对方发来的邀请链接,然后核对两边屏幕上的 8 个表情是否一样。

  2. 写下

    像平常一样在陈仓里聊。点发送,你拿到的是一段可以分享的密文,而不是一条被谁替你送出去的消息。

  3. 转交

    把密文分享或粘贴进任何聊天软件。对方点一下交给陈仓,就看到原文。

配对

8 个表情一样 = 中间没有第三者

配对时公钥就装在二维码或链接里交换,不需要任何服务器牵线。两台手机随后算出同一个秘密,并把它显示成 8 个表情。

你的屏幕
🦊🍉🚲🌙🎈🐢🔔🌵
✓ 一致
对方的屏幕
🦊🍉🚲🌙🎈🐢🔔🌵
✓ 一致
当面或打电话对一下表情直接由双方共有的秘密算出。一致,就说明你手里的钥匙和对方手里的是同一套。
不一致就停下邀请可能在路上被人调包了。删掉这次配对,换一个你信得过的渠道重新配对。
安全

把信任交给数学,而不是承诺

陈仓的隐私不靠「我们保证不看」。文字压根不经过我们,我们无处可看。

谁能读吗?他拿到什么
你和对方✓ 能原文。钥匙只在你们两台手机上。
聊天软件(微信、短信…)✕ 不能🔒 㔲䴎㩛䂇…,以及「你发了点什么」这件事。
陈仓团队✕ 不能文字:什么都拿不到,它根本不经过我们。媒体:一个打不开的加密文件。
我们的媒体中转✕ 不能加密的语音、图片、视频文件,约 1–2 天内删除。源码公开。
和你同一网络的人✕ 不能和聊天软件看到的一样,一串乱码。

钥匙从不离开手机

你的钥匙 对方的钥匙 🔒 㔲䴎㩛䂇 两边之间只有密文

你的身份是在手机上生成的一对密钥,不绑手机号或邮箱,也从不上传。

每条消息一把新钥匙

链 1链 2链 3链 4 单向单向单向 消息 1消息 2消息 3 用过 → 删掉 下一条消息

每把消息钥匙都沿一条链单向派生,用完即弃:同一段密文只能打开一次,也无法倒推回更早的消息。

密钥协商X25519(X3DH 方式)+ 密钥确认
消息加密XChaCha20-Poly1305
密钥派生基于 BLAKE2b 的 HKDF,对称棘轮
身份核对8 个表情的指纹
后量子ML-KEM-768 + ML-DSA-65 套件已实现,尚未启用
自己审协议说明 · 源码
陈仓藏不住的东西 聊天软件仍然知道你在和谁、什么时候聊,被加密的只是内容。拿到你已解锁手机的人,能看到陈仓里的聊天记录。钥匙链只会往前走,但手机一旦被攻破,目前还不能自动恢复安全。
语音 · 图片 · 视频

大文件绕一小段路,全程仍是密文

媒体太大,没法粘贴。它在你手机上加密后,以密文暂存在我们的中转上;聊天里只发一条短链接,解开它的钥匙藏在你的加密消息里。

中转服务的全部源码公开在 /source。文字从不走这条路。

开源

每一行都能读,每个安装包都能验

App、加密核心和中转服务全部以 AGPL-3.0 公开。安装包有正式签名,你可以自己核对。

全部源码

Rust 加密核心、iOS 与 Android App、中转服务和本站:github.com/kaitu-io/camochat。

验证你手里的版本

每个 APK 都用同一张证书签名。装之前核对一下指纹。

写明白的协议

握手、棘轮、密文格式和表情指纹都写在 docs/protocol 里,附测试向量。

陈仓由 开途 Kaitu 团队开发和维护。

常见问题

你可能想问

大家最先问的几件事。

对方也要装陈仓吗?

要。端到端加密的两头都得有能解密的程序。但你们都不用换掉平时用的聊天软件。

陈仓自己会传消息吗?

文字不会。陈仓没有消息服务器,文字全程不联网,密文怎么送由你决定。语音、图片、视频例外:它们在手机上加密后以密文存到我们的中转,聊天里只发一条短链接;App 内 24 小时后显示已过期,中转约 1–2 天内自动删除。

你们能看到我的消息吗?

不能,而且不是靠承诺。文字从不经过任何服务器,包括我们的。媒体到达中转时只是密文,钥匙只在你和对方的手机上。

需要注册账号吗?

不需要。你的身份是手机上的一对密钥,不要手机号、不要邮箱、不上传通讯录。联系人由你自己命名。

密文为什么看起来像汉字?

聊天软件会弄乱长串的随机字符、链接和生僻符号。陈仓把密文压成一串能安然穿过常见聊天软件复制粘贴的字符,前面加一个 🔒,方便你认出来。

手机丢了怎么办?

钥匙从不离开设备,所以没有云端备份可以恢复。提前在 App 里导出恢复短语,就能在新手机上恢复身份;否则需要和联系人重新配对。

下载

开始使用陈仓

免费,无需注册。Android 安装包现在就能下载;iOS 版正在 App Store 审核。

Android

已用正式证书签名。支持 Android 10 及以上。

始终是最新版 · 核对签名

iOS

正在 App Store 审核。上架后这里会直接链到 App Store。

需要 iOS 16 及以上 · 含「陈仓解密」动作扩展

关于直接安装 APK:Android 对所有非应用商店的安装包都会提示「未知来源」,这不代表安装包有问题。直装版有新版本时会在 App 内提示,你同意后才会下载。