Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 1.5 KB

README.md

File metadata and controls

31 lines (25 loc) · 1.5 KB

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