Full-stack encrypted messaging application using lattice-based methods in Rust + PHP + SQL.
https://github.com/open-encrypt/open-encrypt-ios
Uses the API in api
to interact with the database.
This app is meant for educational use, or as a demo.
The encryption methods used have not been hardened against timing attacks or other side-channel attacks.
This code has not been audited for security.
Rust binaries are executed directly using shell_exec
. Uses both command line arguments and files as input.
Currently using Rust crates ring-lwe
v0.1.8 and module-lwe
v0.1.5.
- The database and all tables can be initialized with the script
init_open_encrypt_database.sql
. - Passwords are hashed using standard hashing.
- Secure, random tokens stored for user sessions.
- Messages are stored encrypted on the server in a SQL database.
- For both ring-LWE and module-LWE, messages are stored as compressed and encoded base64 strings.
Used to handle basic account creation, login, and SQL insertions/lookups.
© 2025 Jackson Walters · MIT License