Abstrakt. I detta dokument föreslår vi en effektiv och kompakt processor för ett ring-LWE-baserat krypteringssystem. Vi presenterar tre optimeringar för Number Theoretic Transform (NTT) som används för polynomisk multiplikation: vi undviker förbearbetning i den negativa inlindade konvolutionen genom att slå ihop den med huvudalgoritmen, vi minskar den fasta beräkningskostnaden för twiddlefaktorerna och föreslår ett avancerat system för minnesåtkomst. Dessa optimeringsmetoder minskar både cykel- och minneskraven. Slutligen föreslår vi också en optimering av ring-LWE-krypteringssystemet som minskar antalet NTT-operationer från fem till fyra vilket resulterar i en 20-procentig hastighetsökning. Vi använder dessa beräkningsoptimeringar tillsammans med flera arkitektoniska optimeringar för att designa en instruktionsuppsättning ring-LWE kryptoprocessor. För dimension 256 utför vår processor kryptering/dekryptering i 20/9 μs på en Virtex 6 FPGA och kräver endast 1349 LUT, 860 FF, 1 DSP-MULT och 2 BRAM. På samma sätt för dimension 512 tar processorn 48/21 μs för kryptering/dekryptering och kräver endast 1536 LUT, 953 FF, 1 DSP-MULT och 3 BRAM. Våra processorer är därför mer än tre gånger mindre än dagens toppmoderna maskinvaruimplementeringar, samtidigt som de körs något snabbare.
Sujoy m.fl. REF föreslog en komplett ring-LWE-baserad krypteringsprocessor som använder algoritmen Number Theoretic Transform (NTT) för polynomisk multiplikation.
Compact Ring-LWE Cryptoprocessor
{'venue': 'CHES', 'journal': None, 'mag_field_of_study': ['Computer Science']}