Institute for Applied Information Processing and Communications (IAIK) Evaluating 16-bit Processors for Elliptic Curve Cryptography Erich Wenger and Mario Werner IAIK – Graz University of Technology Erich.Wenger@iaik.tugraz.at www.iaik.tugraz.at http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS CARDIS 1 1
Institute for Applied Information Processing and Communications (IAIK) Overview • Motivation • Algorithms • Processors • Results http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 2
Institute for Applied Information Processing and Communications (IAIK) Motivation We want to: • Investigate current CPUs for ECC • Find their limitations • Save energy • Improve performance http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 3
Institute for Applied Information Processing and Communications (IAIK) Point Multiplication Algorithm • Montgomery Ladder [Hutter] • 7 registers • Point Verification [Ebeid] • Randomized Projective Coordinates [Coron] http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 4
Institute for Applied Information Processing and Communications (IAIK) Multi-Precision Multiplication • Operand Scanning http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 5
Institute for Applied Information Processing and Communications (IAIK) MSP430 • Manufacturer: Texas Instruments • Low-Power RISC Processor • 16 Registers (12 useable) • 27 Instructions • Memory Mapped Multiplier http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 6
Institute for Applied Information Processing and Communications (IAIK) MSP430 – Operand Scanning outer_loop: MOV.W @R12+, & MPY inner_loop: MOV.W @R13+, & OP2 ADD.W & RESLO , R6 ADDC.W & RESHI , R7 http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 7
Institute for Applied Information Processing and Communications (IAIK) MSP430 – Product Scanning inner_loop: MOV.W @R12+, & MAC MOV.W @R13 , & OP2 DECD R13 ADD.W & SUMEXT , R11 http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 8
Institute for Applied Information Processing and Communications (IAIK) PIC24 vs. dsPIC Both Processors: dsPIC: • • 16-bit RISC Digital Signal Processing Engine • 24-bit Instruction • Multiply-Accumulate Word • Two Address • 16 registers (14 Generation Units useable) • Loop Instructions • Used for: • DO • Motor Control • REPEAT • Signal Processing http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 9
Institute for Applied Information Processing and Communications (IAIK) dsPIC – Product Scanning • 16-bit Multiplication • 32-bit Addition (plus Overflow) 𝐵𝐷𝐷 ← 𝐵𝐷𝐷 + 𝐵 𝑗 ∙ 𝐶 𝑘 • Load A[i] and B[j] Memory Addressing ( 𝑗 ← 𝑗 + 1 , 𝑘 ← 𝑘 − 1 ) • REPEAT W4 MAC W5*W6, A, [W8]+=2, W5, [W10]-=2, W6 http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 10
Institute for Applied Information Processing and Communications (IAIK) dsPIC – Unrolled Product Scanning MAC W5*W6, A, [W9]+=2, W5, [W11]-=2, W6 MAC W5*W6, A, [W9]-=2, W5, [W11]+=2, W6 MAC W5*W6, A, [W9]+=2, W5, [W11]-=2, W6 MAC W5*W6, A, [W9], W5, [W11]+=2, W6 MAC W5*W6, A, [W9]+=2, W5, [W11], W6 MAC W5*W6, A, [W9]+=2, W5, [W11]-=2, W6 MAC W5*W6, A, [W9]-=2, W5, [W11]+=2, W6 MOV [W7],[W2++] MOV [W7],[W2++] SFTAC A, #16 SFTAC A, #16 http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 11
ǁ Institute for Applied Information Processing and Communications (IAIK) dsPIC – Montgomery Multiplication 𝑆 = 2 𝑋𝑂 > 𝑞 NIST Reduction … 𝑏 ≡ 𝑏𝑆 (𝑛𝑝𝑒 𝑞) ෨ 𝑐 ≡ 𝑐𝑆 𝑛𝑝𝑒 𝑞 𝑏෨ 𝑑 ≡ 𝑁𝑝𝑜𝑢 𝑐 𝑐𝑆 𝑆 −1 ≡ 𝑏𝑆 ≡ 𝑏𝑐𝑆 ≡ 𝑑𝑆 𝑛𝑝𝑒 𝑞 𝑏 ≡ 𝑁𝑝𝑜𝑢 𝑏, 𝑆 2 ≡ 𝑏𝑆 2 𝑆 −1 ≡ 𝑏𝑆 𝑑 ≡ 𝑁𝑝𝑜𝑢( ǁ 𝑑, 1) ≡ (𝑑𝑆)𝑆 −1 http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 12
Institute for Applied Information Processing and Communications (IAIK) Results • SECG: • secp160r1 removed in 2010 • NIST: • P-192 • P-224 • P-256 • IAR Embedded Workbench 5.20 • Microchip MPLAB C30 v3.25 http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 13
Institute for Applied Information Processing and Communications (IAIK) Results: MSP430 3,50 3,00 2,50 Speedup 2,00 1,50 Multiplication Field Multiplication 1,00 Point Multiplication 0,50 0,00 http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 14
Institute for Applied Information Processing and Communications (IAIK) Results: PIC24, dsPIC 10 9 8 7 6 Speedup 5 4 Multiplication 3 Field Multiplication 2 Point Multiplication 1 0 http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 15
Institute for Applied Information Processing and Communications (IAIK) Results: Point Multiplication 3,5 3 2,5 2 Speedup secp160r1 1,5 P-192 P-224 1 P-256 0,5 0 op. sc. hybrid op. sc. op. sc. pr. sc. Mont. C ASM C ASM ASM + DSP ASM + DSP MSP430 MSP430 PIC24 PIC24 dsPIC dsPIC http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 16
Institute for Applied Information Processing and Communications (IAIK) Results: Point Multiplication 15 10 Speedup secp160r1 P-192 P-224 5 P-256 0 op. sc. hybrid op. sc. op. sc. pr. sc. Mont. C ASM C ASM ASM + DSP ASM + DSP MSP430 MSP430 PIC24 PIC24 dsPIC dsPIC http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 17
Institute for Applied Information Processing and Communications (IAIK) Results: Point Multiplication 6 5 4 Speedup 3 secp160r1 P-192 P-224 2 P-256 1 0 op. sc. hybrid op. sc. op. sc. pr. sc. Mont. C ASM C ASM ASM + DSP ASM + DSP MSP430 MSP430 PIC24 PIC24 dsPIC dsPIC http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 18
Institute for Applied Information Processing and Communications (IAIK) Results: Related Work 3000 2500 2000 Runtime [kCycles] secp160r1 1500 P-192 P-224 1000 500 0 ASM + DSP Yan 2009 Kern 2010 Wenger 2010 Hutter 2010 dsPIC C6416 ASIC ASIC ASIC http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 19
Institute for Applied Information Processing and Communications (IAIK) Thank you … This work has been supported by the Austrian Government through the research program FIT-IT Trust in IT Systems under the project number 825743 (project PIT). http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 20
Institute for Applied Information Processing and Communications (IAIK) Results http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 21
Institute for Applied Information Processing and Communications (IAIK) Results http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 22
Recommend
More recommend