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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend