聊天软件负责送,但它读不懂
陈仓自己没有通信通道。它在你的手机上把消息锁好,把密文交给你;你用平时在用的任何软件把它发出去。
在这里加密。钥匙只在你和对方两台手机上。
只看到一个 🔒 加一串乱码。没有内容可读,也没有内容可审。
在这里还原。只有配对过的人能做到。
配对一次
扫对方的二维码,或打开对方发来的邀请链接,然后核对两边屏幕上的 8 个表情是否一样。
写下
像平常一样在陈仓里聊。点发送,你拿到的是一段可以分享的密文,而不是一条被谁替你送出去的消息。
转交
把密文分享或粘贴进任何聊天软件。对方点一下交给陈仓,就看到原文。
8 个表情一样 = 中间没有第三者
配对时公钥就装在二维码或链接里交换,不需要任何服务器牵线。两台手机随后算出同一个秘密,并把它显示成 8 个表情。
把信任交给数学,而不是承诺
陈仓的隐私不靠「我们保证不看」。文字压根不经过我们,我们无处可看。
| 谁 | 能读吗? | 他拿到什么 |
|---|---|---|
| 你和对方 | ✓ 能 | 原文。钥匙只在你们两台手机上。 |
| 聊天软件(微信、短信…) | ✕ 不能 | 🔒 㔲䴎㩛䂇…,以及「你发了点什么」这件事。 |
| 陈仓团队 | ✕ 不能 | 文字:什么都拿不到,它根本不经过我们。媒体:一个打不开的加密文件。 |
| 我们的媒体中转 | ✕ 不能 | 加密的语音、图片、视频文件,约 1–2 天内删除。源码公开。 |
| 和你同一网络的人 | ✕ 不能 | 和聊天软件看到的一样,一串乱码。 |
钥匙从不离开手机
你的身份是在手机上生成的一对密钥,不绑手机号或邮箱,也从不上传。
每条消息一把新钥匙
每把消息钥匙都沿一条链单向派生,用完即弃:同一段密文只能打开一次,也无法倒推回更早的消息。
大文件绕一小段路,全程仍是密文
媒体太大,没法粘贴。它在你手机上加密后,以密文暂存在我们的中转上;聊天里只发一条短链接,解开它的钥匙藏在你的加密消息里。
用一把一次性钥匙加密照片。
只保管一个它打不开的锁着的文件,约 1–2 天内删除。
取回后在本机解密。App 内 24 小时后显示已过期。
中转服务的全部源码公开在 /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 审核。