About PQC Visualization

A JavaScript implementation of NIST's Post-Quantum Cryptography Standards

Project
Major Project for BTech Computer Science
Author
Nithin Ram Kalava
Institution
Vasireddy Venkatadri Institute of Technology

About the Project

This project provides a visualization and exploration of NIST's post-quantum cryptography standards, powered by the pqc JavaScript library. The library implements all three quantum-resistant algorithms standardized by NIST in their Federal Information Processing Standards (FIPS).

This application was developed as a major project for my BTech Computer Science degree at Vasireddy Venkatadri Institute of Technology, India. It aims to help developers understand and visualize post-quantum cryptographic algorithms to prepare for the quantum computing era.

Implemented Algorithms

KEM

ML-KEM

Module-Lattice-based Key Encapsulation Mechanism (FIPS 203)

DSA

ML-DSA

Module-Lattice-based Digital Signature Algorithm (FIPS 204)

SLH

SLH-DSA

Stateless Hash-based Digital Signature Algorithm (FIPS 205)

Author

NRK

Nithin Ram Kalava

Dept. Computer Science, Vasireddy Venkatadri Institute of Technology, India

This project was developed as part of my BTech Computer Science degree. The implementation and research aim to make post-quantum cryptography more accessible to web developers through JavaScript implementation.

Research Paper

Post-Quantum Security for Web Applications

Abstract

The emergence of quantum computing presents an unprecedented threat to current cryptographic systems. With sufficient quantum computing capabilities, Shor's algorithm will efficiently break widely used public-key cryptography like Rivest-Shamir-Adleman (RSA) and Elliptic Curve Cryptography (ECC). To counter this threat, the National Institute of Standards and Technology (NIST) has standardized three quantum-resistant algorithms in their Federal Information Processing Standards (FIPS): Module-Lattice-based Key Encapsulation Mechanism (ML-KEM) for key encapsulation, Module-Lattice-based Digital Signature Algorithm (ML-DSA) for digital signatures, and Stateless Hash-based Digital Signature Algorithm (SLH-DSA) for hash-based signatures. This paper presents 'pqc', a JavaScript implementation of these standards available as a Node Package Manager (npm) package. Our implementation achieves practical performance on modern hardware, with ML-KEM-768 performing 2,305 operations per second for key generation and ML-DSA65 achieving 386 operations per second for signing operations. The library enables developers to integrate post-quantum cryptography into web applications, helping prepare current systems for the quantum computing era.

Key Benchmarks

ML-KEM Performance
OperationML-KEM-512ML-KEM-768ML-KEM-1024
keygen3,784 op/s2,305 op/s1,510 op/s
encrypt3,283 op/s1,993 op/s1,366 op/s
decrypt3,450 op/s2,035 op/s1,343 op/s
ML-DSA Performance
OperationML-DSA44ML-DSA65ML-DSA87
keygen669 op/s386 op/s236 op/s
sign123 op/s120 op/s78 op/s
verify618 op/s367 op/s220 op/s

Implementation Highlights

Quantum Resistance

Implements algorithms specifically designed to resist attacks from quantum computers, including Shor's algorithm which threatens current cryptographic standards.

Performance Optimized

Achieves practical performance for web applications, with thousands of operations per second for key generation and hundreds for signing operations.

Pure JavaScript Implementation

Implemented entirely in JavaScript to ensure wide compatibility across web browsers and Node.js environments without requiring native code extensions.

NIST FIPS Compliant

Strictly adheres to the NIST Federal Information Processing Standards (FIPS) 203, 204, and 205, ensuring compatibility with regulatory requirements.

Research Paper

Research paper preview

Post-Quantum Security for Web Applications

Nithin Ram Kalava, Dept. Computer Science, Vasireddy Venkatadri Institute of Technology

Download Full Paper

Key Findings

Practical Performance

ML-KEM-768 achieves 2,305 operations per second for key generation, making it viable for real-time web applications.

FIPS Standards Implementation

Successfully implemented the three NIST standardized algorithms (ML-KEM, ML-DSA, SLH-DSA) in JavaScript.

Algorithm Tradeoffs

Different security levels and implementation variants offer tradeoffs between performance, key size, and security level.

Contact & Resources

Contact Information

Feel free to reach out with questions about the library implementation, suggestions for improvement, or to discuss post-quantum cryptography applications for your project.

PQC Visualization - Explore Post-Quantum Cryptography Standards

A demonstration of NIST's FIPS 203, 204, and 205 standards