diff --git a/.github/workflows/main.yml b/.github/workflows/commits.yml similarity index 100% rename from .github/workflows/main.yml rename to .github/workflows/commits.yml diff --git a/README.md b/README.md index 4c5c163..270ce3a 100644 --- a/README.md +++ b/README.md @@ -1 +1,36 @@ -# private-data-lookup \ No newline at end of file +# Private Data Lookup + +[![Conventional Commits](https://github.com/csirianni/private-data-lookup/actions/workflows/commits.yml/badge.svg)](https://github.com/csirianni/private-data-lookup/actions/workflows/commits.yml) + +## Overview + +Private Data Lookup (PDL) is a web application that allows users to privately query a server-side data set of breached passwords during account creation. PDL is based on a secure multiparty computation mechanism called Private Set Intersection where two parties holdings sets (of credentials) can compute the intersection of the two sets without revealing their sets to the counterpart. The result is better application security by encouraging the use of stronger passwords and better user privacy by minimizing the information revealed to the server in the password precheck process. + +> This project is inspired by some excellent work at Meta and Google: +> +> - [How Meta is improving password security and preserving privacy](https://engineering.fb.com/2023/08/08/security/how-meta-is-improving-password-security-and-preserving-privacy/) +> - [Data Breaches, Phishing, or Malware?: Understanding the Risks of Stolen Credentials](https://dl.acm.org/doi/10.1145/3133956.3134067) + +## Instructions + +It's necessary to configure the `/frontend` and `/backend` folders initially. See the respective `README.md`s for more information. After configuration, you can run the application using the following commands. + +To run the frontend, `cd` into `/frontend` and run + +```console +yarn dev +``` + +To run the backend, `cd` into the `/backend` and compile the program: + +```console +mkdir build && cd build +cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release +cmake --build . +``` + +Then, you can simply run + +```console +./backend +``` diff --git a/backend/README.md b/backend/README.md index 159cd9a..e5164dc 100644 --- a/backend/README.md +++ b/backend/README.md @@ -9,7 +9,7 @@ brew install conan cmake conan install . --output-folder=build --build=missing ``` -Set up the `/build/` folder: +Set up the `/build` folder: ```bash mkdir build && cd build