design of an asip idea crypto processor
play

Design of an ASIP IDEA Crypto Processor Reza Faghih Mirzaee 1 and - PowerPoint PPT Presentation

Design of an ASIP IDEA Crypto Processor Reza Faghih Mirzaee 1 and Mohammad Eshghi 2 1 Department of Computer Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran. 2 Faculty of Electrical and Computer Engineering, Shahid


  1. Design of an ASIP IDEA Crypto Processor Reza Faghih Mirzaee 1 and Mohammad Eshghi 2 1 Department of Computer Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran. 2 Faculty of Electrical and Computer Engineering, Shahid Beheshti University, G.C., Tehran, Iran.

  2. ASIP vs. ASIC and General-Purpose Processor IDEA Crypto Algorithm Implementing Specific Instructions Testing Process and Results Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 2 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  3. Application Specific Application Specific General-Purpose Integrated Circuit Instruction-set Programmable (ASIC) Processor (ASIP) Processor v Software Dominant v Hardware Dominant Hardware / Software Advantages : Advantages : Advantages : Ø High Throughput Ø Software Ø Programmability Ø Energy Efficiency Programmability Ø Simple Designing and Ø Fast Debugging Flexibility Ø Short Time to Market Ø Efficiency Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 3 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  4. International Data Encryption Algorithm (IDEA) v Lai & Massey (1991) v 64-bit Plaintext v 128-bit Initial Key v 64-bit Ciphertext v 8 Identical Rounds + 1 Final Round Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 4 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  5. Instruction-Set General-Purpose Specific Instructions Instructions CODER × 8 FINAL CODER × 1 Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 5 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  6. Stage 1 Stage 2 CODER Stage 3 Specific Instruction Stage 4 Stage 5 v Only One ALU Stage 6 Stage 7 Ø 14 Stages : Stage 8 Stage 9 Ø Modulo 2 16 Adder : Stage 10 Ø Modulo 2 16 +1 Multiplier Stage 11 Stage 12 : Ø Bitwise Exclusive-OR Stage 13 Stage 14 Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 6 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  7. Proposed Register and ALSU Configuration v RTL Ø #Clock Cycles Specifications : Ø Address Bus : AR/PC Ø ACH / ACL Ø Specific X i Registers Ø Specific K i Registers Ø 17-bit Subtractor Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 7 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  8. Bitwise Modulo 2 16 +1 Modulo 2 16 Exclusive-OR Multiplication Addition A A A B B B 16-bit Result Carry / 16-bit Sum 16-bit Result v Meier and Zimmermann unit16 mulmod(unit16 x, unit16 y) { F 21 D 0 T i : ACH/ACL ß ß DR × ACL , TR1 ß ß ACL x = (x - 1) & 0xFFFF; F 21 D 0 T i+1 : ACL ß ß DR+ACL , DR ß ß TR1 y = (y - 1) & 0xFFFF; F 21 D 0 CT i+2 : ACH ß ß ACH+1 unit32 t = (x × y) + x + y + 1; F 21 D 0 T i+2 : ACL ß ß DR+ACL x = t & 0xFFFF; F 21 D 0 CT i+3 : ACH ß ß ACH+1 y = t >> 16; F 21 D 0 T i+3 : ACL ß ß ACL+1 x = (x – y) + (1 if x ≤ y); F 21 D 0 CT i+4 : ACH ß ß ACH+1 return x; } Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 8 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  9. ALSU Opcode Unit Operation Function 0 0 0 0 0 ADD A+B 0 0 0 0 1 SUB A-B Arithmetic Logic 0 0 0 1 0 DEC A-1 Shift Unit AU (ALSU) 0 0 0 1 1 INC A+1 0 0 1 × × MUL A × B Ø Carry Flag = C out when 0 1 0 0 0 AND A ˄ B ADD|SUB|DEC|INC|SHL|SHR 0 1 0 0 1 OR A ˅ B 0 1 0 1 0 NAND (A ˄ B)’ Ø Overflow Flag = ‘1’ when 0 1 0 1 1 NOR (A ˅ B)’ (ADD|INC|SHL & C out = ‘1’) | LU 0 1 1 0 0 XOR A ⊕ B (SUB|DEC & C out = ‘0’) | 0 1 1 0 1 XNOR (A ⊕ B)’ (MUL & ACH ≠ 0) 0 1 1 1 0 NOT B’ Ø Zero Flag = ‘1’ when ACL=0 0 1 1 1 1 PASS A Ø Sign Flag = ‘1’ when 1 × × 0 0 SHL SHL(B) (SUB|DEC & C out = ‘0’) 1 × × 0 1 SHR SHR(B) SU Ø Even Flag = ACL[0]’ 1 × × 1 0 ROL ROL(B) Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 1 × × 1 1 ROR ROR(B) 9 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  10. D i I 1 I 0 Instruction Instruction Addressing Type Reference Mode Instruction Types D 0 0 0 2 Reg. | I/O - D 1 1 0 1 Memory Immediate D 2 0 1 1 Memory Direct D 3 1 1 1 Memory Indirect 15 14 13 9 8 0 I1 I0 Opcode No. of Iterations / Unused Type 1 : Address / Data 15 14 13 9 8 0 Type 2 : I1 I0 Opcode Unused Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 10 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  11. Generating v 6 Subkeys per Round + 4 Subkeys for Final Round Encryption à à 8 × 6 + 4 = 52 Subkeys Subkeys Rotate Left 25 bits 128-bit Initial Private Key SK0 SK1 SK2 SK3 SK4 SK5 SK6 SK7 15-7 6-0 15-7 6-0 15-7 6-0 15-7 6-0 15-7 6-0 15-7 6-0 15-7 6-0 15-7 6-0 SK8 SK9 SK10 SK11 SK12 SK13 SK14 SK15 Ø K i [8-0] ß ß K (i+2) mod 8 [15-7] Ø K i [15-9] ß ß K (i+1) mod 8 [6-0] Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 11 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  12. Round r r = 1 2 ≤ r ≤ 8 r = 9 Generating K’ 1 (r) (K 1 (10-r) ) -1 (K 1 (10-r) ) -1 (K 1 (10-r) ) -1 Decryption K’ 2 (r) -K 2 (10-r) -K 3 (10-r) -K 2 (10-r) Subkeys K’ 3 (r) -K 3 (10-r) -K 2 (10-r) -K 3 (10-r) K’ 4 (r) (K 4 (10-r) ) -1 (K 4 (10-r) ) -1 (K 4 (10-r) ) -1 v IDEA : Symmetric (r) (9-r) (9-r) K’ 5 K 5 K 5 - K’ 6 (r) K 6 (9-r) K 6 (9-r) - v K’ : Decryption Subkey v -K : 2 16 Additive Inversion Ø - K i = (2 16 – K i ) & 0xFFFF v Devider v K -1 : 2 16 +1 Multiplicative Inversion Ø Low Frequency & High Chip Area v Extended Euclidean Algorithm v Binary Extended GCD Algorithm Ø ax + by = GCD(a, b) , a ≥ b ≥ 0 Ø a = 2 16 +1 , b = K i , y = K i -1 Ø K -1 = y Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 12 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  13. 1 if (b = 0) then : y ß ß 0 , return y Simplified Version of 2 u ß ß a , v ß ß b , B ß ß 0 , D ß ß 1 Binary Extended 3 while (u is even) do : u ß ß u/2 GCD Algorithm if (B is even) then : B ß ß B/2 for IDEA else : B ß ß (B-a)/2 4 while (v is even) do : v u , v , B , D v ß ß v/2 if (D is even) then : D ß ß D/2 Ø X i Specific Registers else : D ß ß (D-a)/2 Ø B , D : Negative Values 5 if (u ≥ v) then : u ß ß u-v , B ß ß B-D else : v ß ß v-u , D ß ß D-B Ø Sign Bits 6 if (u = 0) then : Ø 17bit Subtractor if (D < 0 ) then : D ß ß D+2 16 +1 y ß ß D , return y F 19 (D 2 +D 3 )X 2 [0]’X 0 [0]’T i : else : goto step 3 X 0 ß ß SHR[X 0 ] , Selector Operation Function X 2 ß ß SHR[X 2 ] , 0 SUB A-B X 0 S ß ß 0 , SC ß ß i 1 SUB+SHR (A-B)/2 Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 13 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

  14. 100 GEK Addr1 101 CLA Testing & 102 LDD Addr2,0 Synthesis Results 103 QLA 8 104 STA Addr4 105 LDK Addr1,8 106 COD v Structural VHDL Code 107 DSZ Addr4 v FPGA Family : Virtex5 108 JMP 105 109 LDK Addr1,8 v Max. Frequency = 110.713MHz 110 FCD v Throughput ≈ 9.4Mbps 111 CLA 112 STD Addr3,0 - #Slice Registers #Slice LUTs #Fully used Bit Slices #Bonded IOBs Used 346 1348 312 66 Utilization 1% 7% 22% 16% Design ¡of ¡an ¡ASIP ¡IDEA ¡Crypto ¡Processor, ¡ 14 ¡ R. ¡Faghih ¡Mirzaee ¡and ¡M. ¡Eshghi ¡

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