Skip to content

walters-labs/open-encrypt-web

Repository files navigation

open-encrypt-web

License: MIT CI

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

Disclaimer

This app is meant for educational use.

The encryption methods used have not been hardened against timing attacks or other side-channel attacks.

This code has not been audited for security.

iOS

iOS frontend written in Swift: https://github.com/open-encrypt/open-encrypt-ios

Public API

A public API is available for performing key generation, encryption, and decryption.

The public API key is open-encrypt-public-api-key. It is currently rate limited to 60 requests / min.

Encryption methods

Currently using Rust binaries ring-lwe v0.1.8 and module-lwe v0.1.5.

Database

  • The pgSQL database and all tables can be initialized with the script open_encrypt_schema_pg.sql.
  • Passwords are hashed using standard hashing.
  • Secure, random tokens stored for user sessions.
  • Messages are stored encrypted on the server in a pgSQL table.
  • For both ring-LWE and module-LWE, messages are stored as compressed and encoded base64 strings.

Backend

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

Copyright

© 2025 Jackson Walters · MIT License

About

Basic encrypted messaging webapp and API using post-quantum, lattice-based methods.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published