{"id":22984899,"url":"https://github.com/saviornt/pqems","last_synced_at":"2025-04-02T10:45:31.901Z","repository":{"id":257474944,"uuid":"858287340","full_name":"saviornt/PQEMS","owner":"saviornt","description":"A post-quantum encryption and quantum compression management system project.","archived":false,"fork":false,"pushed_at":"2024-09-17T21:21:59.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T01:52:39.665Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saviornt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-16T16:30:42.000Z","updated_at":"2024-09-17T21:22:02.000Z","dependencies_parsed_at":"2024-09-17T01:28:30.823Z","dependency_job_id":null,"html_url":"https://github.com/saviornt/PQEMS","commit_stats":null,"previous_names":["saviornt/pqems"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saviornt%2FPQEMS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saviornt%2FPQEMS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saviornt%2FPQEMS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saviornt%2FPQEMS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saviornt","download_url":"https://codeload.github.com/saviornt/PQEMS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246802612,"owners_count":20836369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T03:18:21.867Z","updated_at":"2025-04-02T10:45:31.877Z","avatar_url":"https://github.com/saviornt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Post-Quantum Encryption Management System\n---\n## Project Goals\n  \nThe goals of this project are simple in theory, yet difficult in practice: To provide an all-inclusive management system for data \nsecurity based around the NIST Post-Quantum Cryptography Standards, whether it be for entries in a database or for files themselves. \n  \nTo do this, we use old ideas, but with a new twist. For example, the old idea is that one should use a key-pair (public key, private key) \nto \"lock\" the encryption so that one needs the keys in order to decrypt the data.  \n  \n- Key-pair generation: Rather than using the classical RSA or Diffie-Hellman for key generation, we will instead use Kyber.\n- Key storage: Storage of the keys should use TPM2.0 modules or failing that,  either Windows DPAPI, Linux LibSecret, or Apple Keychain.\n- Encryption/Decryption: Encryption of the data will use RLWE, Ring Learning with Errors.\n  \n---\n  \n## Windows Installation (via WSL2)\n\n### Prerequisites\n\nThis project requires the NVIDIA CUDA Tookkit and **WSL2** (Windows Subsystem for Linux 2.0) to run Linux-based packages and to build tpm2-tss.\n\n### Steps to Install CUDA Toolkit\n\n1. Visit NVIDIA's website at: https://developer.nvidia.com/cuda-downloads\n\n2. Download and install the CUDA Toolkit for your system (Linux or Windows)\n\n### Steps to Install `tpm2-tss`\n\n1. Launch PowerShell with admin priviledges and install pkgconfiglite using the following:\n    ```bash\n    choco install pkgconfiglite\n\n1. **Enable the Universe Repository in WSL**\n\n    Open your WSL Ubuntu terminal and run the following command to enable the Universe repository, which is necessary for some of the dependencies:\n\n    ```bash\n    sudo add-apt-repository universe\n    sudo apt-get update\n\n2. **Install Required Dependencies**\n\n    Install all the required dependencies by running:\n    ```bash\n    sudo apt-get install autoconf-archive autoconf automake libtool pkg-config gcc libssl-dev libjson-c-dev libcurl4-openssl-dev uuid-dev pkgconf\n\n3. **Clone the TPM2-TSS Repository**\n\n    Clone the tpm2-tss GitHub repository to your local machine:\n    ```bash\n    git clone https://github.com/tpm2-software/tpm2-tss.git\n    cd tpm2-tss\n\n4. **Build and Install tpm2-tss**\n\n    Run the following commands to build and install tpm2-tss:\n    ```bash\n    ./bootstrap\n    ./configure\n    make -j$(nproc)\n    sudo make install\n    sudo ldconfig\n    ```\n\n    The sudo ldconfig command refreshes the shared library cache to ensure that your system recognizes the newly installed library.\n\n\n### Notes:\n\n- It's important to emphasize that **WSL2** must be installed on Windows before running these commands.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaviornt%2Fpqems","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaviornt%2Fpqems","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaviornt%2Fpqems/lists"}