Skip to content

The NTRU cryptosystem is a lattice-based public-key cryptographic algorithm designed to be secure against both classical and quantum attacks

Notifications You must be signed in to change notification settings

AtypicalAsian/NTRU-cryptosystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NTRU Cryptosystem

The NTRU (N-th degree truncated polynomial ring) cryptosystem is a lattice-based public-key cryptographic algorithm designed to be secure against both classical and quantum attacks. Unlike traditional cryptographic methods like RSA and ECC, which are vulnerable to quantum computers, NTRU leverages the hardness of lattice problems, specifically the Shortest Vector Problem (SVP), which are believed to be resistant to quantum attacks because no efficient quantum algorithms have been discovered to solve them.

NTRU's efficiency in key generation, encryption, and decryption processes makes it particularly well-suited for applications requiring high-speed and low-latency operations, such as IoT devices and real-time communication systems. As quantum computing technology continues to evolve, the need for robust post-quantum cryptographic solutions becomes increasingly critical. NTRU stands out as a promising candidate due to its strong security foundations and operational efficiency, positioning it as a key player in the future landscape of secure digital communications.

This project's implementation is based on the research presented by Hoffstein, Pipher, and Silverman in their 1996 paper on NTRU cryptography.

Project Organization


├── README.md          <- The top-level README for developers using this project.
├── ntru.py            <- NTRU class implementation with encryption/decryption methods
├── helper.py          <- Contains utility functions for ntru.py. Within this module, some methods are adapted from external sources (detailed in the comments).
├── main.py            <- Parses input file and instantiates the NTRU class
├── input1.txt         <- Input parameters
├── input2.txt         <- Input parameters

Dependencies

$ pip3 install -r requirements.txt

Clone this Repository

$ git clone https://github.com/AtypicalAsian/NTRU-cryptosystem.git

Usage

To run the program against a specific file, use the following command:

$ python main.py <filename>

Demo Output Log

DEMO OUTPUT!

About

The NTRU cryptosystem is a lattice-based public-key cryptographic algorithm designed to be secure against both classical and quantum attacks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages