FPGA accelerator and embedded-software integration for the post-quantum signature scheme NCC-Sign on a Xilinx Zynq platform.
The design accelerates the polynomial and hashing operations that dominate lattice-based cryptography while retaining signature-scheme control in software.
- Parameterizable NTT/INTT datapath
- Point-wise polynomial multiplication
- Keccak/SHA-3 hardware module
- Memory-mapped software interface for accelerator control and data transfer
- Separate trinomial-cyclic and non-cyclic NCC-Sign software configurations
- On-board cycle measurements for key generation, signing, and verification
- Xilinx ZedBoard / Zynq-7000
- Vivado 2020.2
- Vitis 2020.2
- Serial terminal for benchmark output
rtl_verilog/— synthesizable accelerator RTL and Xilinx IP configuration filessim_verilog/— module-level Verilog testbenchesSWCODE_TC/— trinomial-cyclic NCC-Sign software and hardware-access layerSWCODE_NC/— non-cyclic NCC-Sign software and hardware-access layerHW_vivado_made/— packaged IP metadata, exported hardware platform, bitstream, boot image, and board notes
- Add the packaged accelerator IP (
HW_vivado_made/component.xml) to a Vivado 2020.2 project. - Integrate the accelerator with the Zynq processing system and export the hardware platform.
- Build either
SWCODE_TCorSWCODE_NCas a Vitis application against the matching hardware design. - Program the board or create a QSPI boot image.
- Capture the UART output to compare key-generation, signing, and verification cycle counts.
Prebuilt ZedBoard artifacts are included for reproducibility. See HW_vivado_made/flash_README.md for the QSPI boot procedure.
The repository is an FPGA research prototype tied to a specific tool and board flow; it is not a portable software package. The cryptographic implementation and generated hardware artifacts should be independently reviewed before any production use.