Skip to content

Hardware implementation of polynomial multiplication operation of CRYSTALS-KYBER PQC scheme

Notifications You must be signed in to change notification settings

acmert/kyber-polmul-hw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polynomial Multiplier Hardware for CRYSTALS-KYBER

Hardware implementation of polynomial multiplication operation of CRYSTALS-KYBER PQC scheme (the implementations are for academic research only and does not come with any support or any responsibility.)

Paper: https://ieeexplore.ieee.org/abstract/document/9474139

Files

The repo includes the following files:

  • pe1 - Hardware implementation with 1 butterfly unit
    • KyberHPM1PE.v - top module
    • KyberHPM1PE_test_ALL_FULL.v - testbench for full polynomial multiplication
    • KyberHPM1PE_test_ALL_HALF.v - testbench for half polynomial multiplication
    • KyberHPM1PE_test_FNTT.v - testbench for forward NTT operation
    • KyberHPM1PE_test_INTT.v - testbench for inverse NTT operation
    • KyberHPM1PE_test_PWM2.v - testbench for coefficient-wise multiplication operation
  • pe4 - Hardware implementation with 4 butterfly units
  • pe16 - Hardware implementation with 16 butterfly units
  • test_generator - Generates test vectors for hardware impelementations
    • test_generator.py - Python code for generating test vectors
    • test_pe1 - test vectors for implementation with 1 butterfly unit
    • test_pe4 - test vectors for implementation with 4 butterfly units
    • test_pe16 - test vectors for implementation with 16 butterfly units

About

Hardware implementation of polynomial multiplication operation of CRYSTALS-KYBER PQC scheme

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published