NAU Crystals Kyber Capstone
Crypto Bros
Capstone Team
Implementing Facial Recognition using Post Quantum Cryptography
The Problem
Standard cryptography algorithms are susceptible to attacks using Shor's Algorithm (a powerful method of factoring very large integers using quantum computers, which can break most standard encryption). Alternate means of data encryption are needed before largescale quantum computers capable of performing these attacks become widely available. This is particularly problematic for the use case of video teleconferencing, wherein confidential topics may be discussed for business, government, or personal reasons. Additionally, facial images contain especially sensitive biometric information. A fast, secure solution for a common platform is needed to protect this data.
Needs
A fast, secure, parallelcomputing implementation of facial recognition using PostQuantum Cryptography (specifically CrystalsKyber).
Requirements
The following general requirements describe what the software should do:

The application should run on Windows

It should be fast

It should be secure

It should be immune to Shor’s Algorithm

It needs to recognize faces from video
These requirements are more specific criteria for the project:

The software must implement CrystalsKyber encryption and decryption

It should be able to utilize both CPU and GPU calculations (not simultaneously)

It will use computer vision to extract faces from video for encryption
Constraints were stipulated by the client:

The program must be developed using C/C++

It must use the OpenCV library for facial recognition

It must use the CUDA toolkit for the GPU implementation
Bibliography
[1] R. Avazi, J. Bos, L. Ducas, E. Kiltz, T. Lepoint, V. Lyubashevsky, J. M. Schank, P. Schwabe, G. Seiler and D. Stehle, "CRYSTALSKyber Algorithm Specifications and Supporting Documentation, version 3.0," 2020.
The specifications document for the chosen encryption algorithm fully describes the mathematics and processes involved in its use, and we expect it to be our primary reference.
[2] O. Regev, "On Lattices, Learning with Errors, Random Linear Codes, and Cryptography," School of Computer Science, Tel Aviv University, Tel Aviv, 2009.
This paper describes several of the core features of Kyber, which will be useful in gaining an understanding of the underlying concepts.
[3] D. Stebila, "Introduction to postquantum cryptography," in Summer School on RealWorld Crypto and Privacy, Šibenik, Croatia, 2018.
This presentation explains the fundamental concepts of postquantum cryptography, and lists many NIST standards that could be as additional references as needed. Additionally, it gives an introductory description of the LearningWithErrors problems used in Kyber.
[4] D. Balbas, "The Hardness of LWE and RingLWE: A Survey," IMDEA Software Institute, Madrid, 2021.
This is an additional paper covering the LearningWithErrors problem, going into much deeper detail and covering both theory and specific mathematics involved.
About Us
Crypto Bros:
Implementing Facial Recognition with PostQuantum Cryptography