Skip to content

7enTropy7/NTRU_cryptography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python3

DOI:10.5120/ijca2020920320 License: GPL v3 GitHub followers GitHub stars

Linkedin Linkedin

NTRU_cryptography

A Post-Quantum Encryption Algorithm

This repository contains all codes related to my research paper titled "Enhancing the NTRU Cryptosystem". The paper is available here: https://www.ijcaonline.org/archives/volume176/number29/31388-31388-2020920320

NTRU is an open-source public key cryptosystem that uses lattice-based cryptography to encrypt and decrypt data. Unlike other popular public-key cryptosystems, it is resistant to attacks using Shor's Algorithm and its performance has been shown to be significantly greater.

This paper talks about how Koblitz encoding from Elliptic Curve Cryptography (ECC) can be used to convert each character in a dataset to a point on an elliptic curve. A sum of squares analogy is pitted against the cantor pairing function to turn the point to a single number, which is converted to a sequence of coefficients in Z. A polynomial is then generated for each of these characters. Then the polynomial is reduced, and then shown that choosing appropriate parameters for the cryptosystem can make it highly secure and that the decryption algorithm turns out taking linear time. Since each character is represented by its own polynomial, it increases obscurity thereby increasing the complexity for decryption and thus the security level.

A form of data compression has also been implemented and it has been tested whether data compression and expansion during the encryption-decryption process results in original data with no or minimal loss.

Cloning

$ git clone https://github.com/7enTropy7/NTRU_cryptography.git

Dependencies

$ pip3 install -r requirements.txt

Demonstration

ntru_gif

Output

Screenshot from 2020-02-06 12-43-24

Authors

LinkedIn-profile LinkedIn-profile

License

License: GPL v3

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details

Citation

If you find this code useful in your research, please consider citing (BibTex):

@article{10.5120/ijca2020920320,
	author = {Awnon Bhowmik and Unnikrishnan Menon},
	title = {Enhancing the NTRU Cryptosystem},
	journal = {International Journal of Computer Applications},
	issue_date = {June 2020},
	volume = {176},
	number = {29},
	month = {Jun},
	year = {2020},
	issn = {0975-8887},
	pages = {46-53},
	numpages = {8},
	url = {http://www.ijcaonline.org/archives/volume176/number29/31388-2020920320},
	doi = {10.5120/ijca2020920320},
	publisher = {Foundation of Computer Science (FCS), NY, USA},
	address = {New York, USA}
}