Skip to content

Open-Encrypt/open-encrypt-web

Repository files navigation

open-encrypt-web

License: MIT

Full-stack encrypted messaging application using lattice-based methods in Rust + PHP + SQL.

iOS

https://github.com/open-encrypt/open-encrypt-ios

Uses the API in api to interact with the database.

Disclaimer

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.

Encryption methods (Rust)

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.

Database (SQL)

  • 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.

Backend (PHP)

Used to handle basic account creation, login, and SQL insertions/lookups.

Copyright

© 2025 Jackson Walters · MIT License

About

Basic encrypted messaging webapp using lattice-based methods in Rust + PHP + SQL

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published