  Large-degree polynomial multiplication is an integral component of
post-quantum secure lattice-based cryptographic algorithms like CRYSTALS-Kyber
and Dilithium. The computational complexity of large-degree polynomial
multiplication can be reduced significantly through Number Theoretic
Transformation (NTT). In this paper, we aim to develop a unified and shared NTT
architecture that can support polynomial multiplication for both CRYSTALS-Kyber
and Dilithium. More specifically, in this paper, we have proposed three
different unified architectures for NTT multiplication in CRYSTALS-Kyber and
Dilithium with varying numbers of configurable radix-2 butterfly units.
Additionally, the developed implementation is coupled with a conflict-free
memory mapping scheme that allows the architecture to be fully pipelined. We
have validated our implementation on Artix-7, Zynq-7000 and Zynq Ultrascale+
FPGAs. Our standalone implementations for NTT multiplication for CRYSTALS-Kyber
and Dilithium perform better than the existing works, and our unified
architecture shows excellent area and timing performance compared to both
standalone and existing unified implementations. This architecture can
potentially be used for compact and efficient implementation for CRYSTALS-Kyber
and Dilithium.
