Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 1.5 KB

README.md

File metadata and controls

35 lines (23 loc) · 1.5 KB

open-encrypt

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

NOTE: This is a demo for educational purposes only. It is not meant for real-world use.

ENCRYPTION METHODS: ring-LWE, module-LWE

RESOURCES:


SQL:

  • Three tables are required to store login_info, messages, and public_keys.
  • Passwords are hashed using standard hashing.
  • Secure, random tokens stored for user sessions.
  • Messages are stored encrypted. The inflation ratio is ~13.7 for ring-LWE.
  • For ring-LWE, public keys are a string representing two (cyclotomic, modular) polynomials as int arrays.
  • For module-LWE, public keys are a string representing a matrix A and vector t with (cyclotomic, modular) polynomial coefficients.

PHP:

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

Python:

Python scripts are executed directly using shell_exec. Output is printed and passed back as a string.