top of page

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 large-scale 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.


A fast, secure, parallel-computing implementation of facial recognition using Post-Quantum Cryptography (specifically Crystals-Kyber).  


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 Crystals-Kyber 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


[1] R. Avazi, J. Bos, L. Ducas, E. Kiltz, T. Lepoint, V. Lyubashevsky, J. M. Schank, P. Schwabe, G. Seiler and D. Stehle, "CRYSTALS-Kyber 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 post-quantum cryptography," in Summer School on Real-World Crypto and Privacy, Šibenik, Croatia, 2018.

     This presentation explains the fundamental concepts of post-quantum cryptography, and lists many NIST standards that could be as additional references as needed.  Additionally, it gives an introductory description of the Learning-With-Errors problems used in Kyber.

[4] D. Balbas, "The Hardness of LWE and Ring-LWE: A Survey," IMDEA Software Institute, Madrid, 2021.

     This is an additional paper covering the Learning-With-Errors problem, going into much deeper detail and covering both theory and specific mathematics involved.

About Us

 Crypto Bros:

Implementing Facial Recognition with Post-Quantum Cryptography 

Kelly Marriott:

Charlie Herman:

Steven Perry:

bottom of page