elliptic curve cryptography
play

Elliptic Curve Cryptography Erich Wenger and Mario Werner IAIK Graz - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. ǁ 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. Institute for Applied Information Processing and Communications (IAIK) Results http://www.iaik.tugraz.at TU Graz/Computer Science/IAIK/SEnSE/Erich Wenger CARDIS 21

  22. 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