Agecord ์ ์์: Sensei
End-to-end post-quantum age encryption for Discord.
ํ์ฅ ๋ฉํ ๋ฐ์ดํฐ
์ ๋ณด
A MV3 browser extension that adds end-to-end post-quantum age encryption to Discord.
Messages are encrypted on your device before being sent โ Discord's servers only see ciphertext.
Features
Cryptography
Encryption uses age (ML-KEM-768รX25519 hybrid key agreement + ChaCha20-Poly1305), a modern and well-audited encryption format. Each message is also signed with an ML-DSA-87 signature, which guarantees that a message could only have been sent by the person who owns that keypair โ any tampering or forgery is flagged immediately.
Your data is stored encrypted at rest on your device using Argon2id + XChaCha20-Poly1305. It is never uploaded anywhere.
Message format
Encrypted messages are sent as Discord file attachments (
Key fingerprints
Each contact's public key is displayed as a SHAKE256 (64-byte output) fingerprint. You can verify a contact's key out-of-band by comparing fingerprints with them directly if you wish.
Limitations
Usage
See
Troubleshooting
See
Third-Party Notices
See
Not affiliated with Discord Inc. Research project, use at your own risk.
Messages are encrypted on your device before being sent โ Discord's servers only see ciphertext.
Features
- End-to-end encryption โ Messages are encrypted on the senderโs device and decrypted only on recipientsโ devices.
- Digital signatures โ Messages are signed using public-key cryptography, providing authenticity and non-repudiation.
- Passphrase protection โ Encryption keys are unlocked with your passphrase for each session.
- Post-quantum cryptography โ Uses ML-KEM-768รX25519 hybrid key encapsulation for quantum-resistant key exchange.
- Memory-safe algorithms โ Rust-based implementations of ML-DSA-87, Argon2id, XChaCha20-Poly1305, and SHAKE256 compiled to WebAssembly via rustcrypto-wasm.
Cryptography
Encryption uses age (ML-KEM-768รX25519 hybrid key agreement + ChaCha20-Poly1305), a modern and well-audited encryption format. Each message is also signed with an ML-DSA-87 signature, which guarantees that a message could only have been sent by the person who owns that keypair โ any tampering or forgery is flagged immediately.
Your data is stored encrypted at rest on your device using Argon2id + XChaCha20-Poly1305. It is never uploaded anywhere.
Message format
Encrypted messages are sent as Discord file attachments (
.age files). Each file begins with a version byte, followed by an ML-DSA-87 signature, a sender public-key hint, and the age ciphertext. The signature input binds a channelId (and serverId for servers) to prevent cross-channel replay. Messages are encrypted to all recipients and the sender, so the relevant parties can read the conversation.Key fingerprints
Each contact's public key is displayed as a SHAKE256 (64-byte output) fingerprint. You can verify a contact's key out-of-band by comparing fingerprints with them directly if you wish.
Limitations
- No forward secrecy. If your private key is ever compromised, past messages encrypted to it could be read. Keep your passphrase strong and your private key safe.
- No age compatibility. Agecord uses a custom message format to provide additional security properties within a instant messaging platform, making its encrypted files incompatible with standard age tooling.
Usage
See
USAGE.md.Troubleshooting
See
TROUBLESHOOTING.md.Third-Party Notices
See
NOTICES.md for the third-party notices.Not affiliated with Discord Inc. Research project, use at your own risk.
๋ฆฌ๋ทฐ์ด 0๋ช
์ด 0์ ์ผ๋ก ํ๊ฐํจ
๊ถํ ๋ฐ ๋ฐ์ดํฐ
ํ์ ๊ถํ:
- ๋ธ๋ผ์ฐ์ ํญ์ ์ ๊ทผ
- discord.com์์ ์ฌ์ฉ์์ ๋ฐ์ดํฐ์ ์ ๊ทผ
์ ํ์ ๊ถํ:
- discord.com์์ ์ฌ์ฉ์์ ๋ฐ์ดํฐ์ ์ ๊ทผ
- cdn.discordapp.com์์ ์ฌ์ฉ์์ ๋ฐ์ดํฐ์ ์ ๊ทผ
๋ฐ์ดํฐ ์์ง:
- ๊ฐ๋ฐ์๋ ์ด ํ์ฅ ๊ธฐ๋ฅ์ด ๋ฐ์ดํฐ ์์ง์ ์๊ตฌํ์ง ์๋๋ค๊ณ ๋ฐํ๊ณ ์์ต๋๋ค.
์ถ๊ฐ ์ ๋ณด
- ๋ถ๊ฐ ๊ธฐ๋ฅ ๋งํฌ
- ๋ฒ์
- 0.8.1
- ํฌ๊ธฐ
- 271.2 KB
- ๋ง์ง๋ง ์ ๋ฐ์ดํธ
- 3์ผ ์ (2026๋ 7์ 31์ผ)
- ๊ด๋ จ ์นดํ ๊ณ ๋ฆฌ
- ๋ผ์ด์ ์ค
- GNU General Public License v3.0 ์ ์ฉ
- ๋ฒ์ ๋ชฉ๋ก
- ๋ชจ์์ง์ ์ถ๊ฐ