Please use this identifier to cite or link to this item: http://inaoe.repositorioinstitucional.mx/jspui/handle/1009/2471
Hardware Architecture Design for Modular Arithmetic Acceleration in Post-Quantum Lattice-Based Cryptography Algorithms
José Juan Hernández-Morales
RENE ARMANDO CUMPLIDO PARRA
Acceso Abierto
Atribución-NoComercial-SinDerivadas
FPGA
cryptography
post-quantum
RISC-V
instruction set extension
finite field
arithmetic
arithmetic
En esta tesis, se presenta el diseño de un módulo de hardware para su integración dentro de las etapas de un procesador RISC-V, el cual es capaz de calcular operaciones aritméticas modulares para los esquemas de criptógrafa post-cuántica CRYSTALS-Kyber (método de encapsulación de llaves) y CRYSTALS-Dilithium (esquema de firma digital). Estos esquemas usan criptografía basada en retículas, para la cual la multiplicación de polinomios toma un porcentaje significativo del tiempo total de ejecución. La arquitectura de hardware propuesta utiliza las configuraciones de mariposa Gentleman-Sande y Cooley-Tukey necesarias en la Transformada Numérico- Teorica (NTT por sus siglas en inglés) empleada para calcular las multiplicaciones de polinomios. La arquitectura también se aprovecha para operaciones de multiplicación acumulación, suma y resta. Todas las salidas están completamente reducidas módulo q (con q = 3329 para CRYSTALS-Kyber y q = 8380417 para CRYSTALS-Dilithium). El diseño se implementó dentro de los procesadores de código abierto RISC-V de 32 bits STEEL y ORCA, se verifico usando scripts de Octave y código en SystemVerilog, y se validó modificando el código C de referencia de los esquemas para hacer uso del hardware diseñado, el cual se sintetizó para FPGAs Artix-7. Se alcanzó un factor de aceleración de al menos 2.09 para el algoritmo NTT en comparación con el tiempo de ejecución del código de referencia en los procesadores no modificados. También logra una mejor eficiencia considerando un producto LUTs*tiempo de ejecución en comparación con la implementación estrechamente acoplada del estado del arte para CRYSTALS-Dilithium en un procesador RISC-V de 64 bits y una eficiencia competitiva en comparación a implementaciones equivalentes de CRYSTALS-Kyber.
In this thesis, we present a hardware module design to be embedded within a RISC-V processor pipeline, capable of computing modular arithmetic operations for the postquantum cryptography schemes CRYSTALS-Kyber (key encapsulation method) and CRYSTALS-Dilithium (digital signature scheme). These schemes use lattice-based cryptography for which the polynomial multiplication takes a significant percentage of the total run time. The proposed hardware architecture uses the Gentleman-Sande and Cooley-Tukey butterfly configurations needed in the Number Theoretic Transform (NTT) employed for computing the polynomial multiplications. The architecture is also exploited for multiply-accumulate, addition, and subtraction operations. All outputs are completely reduced modulo q (with q = 3329 for CRYSTALS-Kyber and q = 8380417 for CRYSTALS-Dilithium). The design was implemented within the open-source RISC-V 32-bit processors STEEL and ORCA, verified using Octave scripts and SystemVerilog code, and validated by modifying the schemes’ reference C code to make use of the designed hardware synthesized for Artix-7 FPGAs. It reaches a speedup factor of at least 2.09 for the NTT algorithm compared to unmodified processors’ reference code run time. It also achieves a better efficiency considering a LUTs*time product when compared to the tightly coupled state-of-the-art implementation for CRYSTALS-Dilithium in a 64-bit RISC-V processor and a competitive efficiency when compared to CRYSTALS-Kyber equivalent implementations.
Instituto Nacional de Astrofísica, Óptica y Electrónica
2023-09
Tesis de maestría
Inglés
Estudiantes
Investigadores
Público en general
Hernández Morales, J. J., (2023), Hardware Architecture Design for Modular Arithmetic Acceleration in Post-Quantum Lattice-Based Cryptography Algorithms, Tesis de Maestría, Instituto Nacional de Astrofísica, Óptica y Electrónica.
OTRAS ESPECIALIDADES TECNOLÓGICAS
Versión aceptada
acceptedVersion - Versión aceptada
Appears in Collections:Maestría en Ciencias Computacionales

Upload archives


File SizeFormat 
HERNANDEZMJJ_MCC.pdf7.06 MBAdobe PDFView/Open