A 1st year's lab work (project) of the Ph.D. degree of Information Security made in Técnico Lisboa of University of Lisbon), in the subject of Advanced Topics in Information Security. This project was built using Jupyter Notebook, SoS (Script of Script) Notebook, Java, Python, Bouncy Castle library, and TeX. The goal of the project was the study and analysis of the CRYSTALS (CRYptographic SuiTe for Algebraic LatticeS) public-key (asymmetric) cryptographic suite from (Classical) Post-Quantum Cryptography, regarding Lattice-based Cryptography, namely in the form of LWE (Learning With Errors) Cryptography. Most specifically, CRYSTALS (CRYptographic SuiTe for Algebraic LatticeS) encompasses two crypotographic primitives, both based on the computational hardness from the mathematical problem of MLWE (Module-Learning With Errors):
- CRYSTALS-Kyber: Lattice-based KEM (Key Encapsulation Mechanism/Method) and Public-Key (Asymmetric) Encryption algorithm, which is secure (and has) IND-CCA2 (INDistinguishability under adaptive Chosen Ciphertext Attack);
- CRYSTALS-Dilithium: Lattice-based Digital Signature algorithm, which is strongly secure against CMA (Chosen-Message Attack).
Code Demonstration written in Jupyter Notebook, using SoS (Script of Script) (Java + Python) and Bouncy Castle (English version):
Report written in TeX (English version):
To install and run this application, you will need:
The Git feature and/or a third-party Git Client based GUI, like:
To install this application, you will only need to download or clone this repository and run the application locally:
You can do it downloading the .zip file in download section of this repository.
Or instead, by cloning this repository by a Git Client based GUI, using HTTPS or SSH, by one of the following link:
https://github.com/rubenandrebarreiro/crystals-kyber-and-dilithium-study-and-analysis.git
- SSH:
git@github.com:rubenandrebarreiro/crystals-kyber-and-dilithium-study-and-analysis.git
Or even, by running one of the following commands in a Git Bash Console:
git clone https://github.com/rubenandrebarreiro/crystals-kyber-and-dilithium-study-and-analysis.git
- SSH:
git clone git@github.com:rubenandrebarreiro/crystals-kyber-and-dilithium-study-and-analysis.git
- ruben.andre.letra.barreiro@tecnico.ulisboa.pt
- ruben.andre.letra.barreiro@gmail.com
- ruben.andre.letra.barreiro@yahoo.com
- https://github.com/rubenandrebarreiro/
- https://gitlab.com/rubenandrebarreiro/
- https://bitbucket.org/rubenandrebarreiro/
- https://dev.azure.com/rubenandrebarreiro/
- N/A