Skip to content

HarshRaoD/Learning-With-Errors-Cryptosystems

Repository files navigation

Learning with Errors based cryptosystems

This project was created as a part of the Applied Cryptography (CZ4010) course at Nanyang Technological University, Singapore. Through this project we have aimed to cover the following:

  1. The Learning With Errors Problem (LWE) and its use in Public Key Cryptography (PKC)
  2. The Ring Learning With Errors Problem (RLWE) and its use in Public Key Cryptography (PKC)
  3. Appropriate Parameters for LWE & RLWE cryptosystems
  4. The Arora Ge Algebric Attack
  5. Additional Applications of LWE/RLWE PKCs

This repo contains:

.
├── Learning_with_Errors.pdf           # Final Presentation
├── LWE_PKC                 
│   ├── LWE_PKC.py                     # Module with PKC Implementation using LWE
│   ├── Slide_Example_LWE.ipynb        # Step by Step implementation of LWE
│   └── LWE_Arora_Ge_Attack.ipynb      # Step by Step implementation of Arora Ge Algebric Attack
├── RLWE_PKC
│   ├── RLWE_PKC.py                    # Module with PKC Implementation using RLWE
│   └── Slide_Example.ipynb            # Step by Step implementation of RLWE
├── utils.py                           # Extra Modules to convert regular text into bitstreams
├── requirements.txt                   # Prerequisite packages used
├── environment.yml
├── .gitignore
└── README.md

Presentation Link

The presentation can be viewed:

  1. PDF -> (here)
  2. PowerPoint Presentation -> (here)

Authors

  1. Harsh Rao Dhanyamraju (HarshRaoD)
  2. Rahul George (RahulG1309)

Setup

  1. Create a new virtual environment
  2. Enter the same virtual environment
  3. pip install -r requirements.txt
  4. You can then run python RLWE_PKC/RLWE_PKC.py

Bibliography

  1. Intro to post quantum cryptography & learning with errors by Douglas Stebila
  2. Fully Homomorphic Encryption without Bootstrapping by Zvika Brakerski et al
  3. Key Recovery for LWE in Polynomial Time by Kim Laine et al
  4. The Learning with Errors Problem by Oded Regev
  5. Crypto Attacks by Joachim Vandersmissen
  6. The Learning with Errors Problem: Algorithms
  7. New Algorithms for Learning in Presence of Errors by Sanjeev Arora & Rong Ge

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published