code based cryptography for fpgas
play

Code-Based Cryptography for FPGAs Dr. Ruben Niederhagen, February 8, - PowerPoint PPT Presentation

Code-Based Cryptography for FPGAs Dr. Ruben Niederhagen, February 8, 2018 Introduction Global Map public-key cryptography classic post-quantum lattice code multivariate hash isogenies . . . McEliece Niederreiter . . . GRS codes


  1. Code-Based Cryptography for FPGAs Dr. Ruben Niederhagen, February 8, 2018

  2. Introduction Global Map public-key cryptography classic post-quantum lattice code multivariate hash isogenies . . . McEliece Niederreiter . . . GRS codes Goppa codes Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)

  3. Introduction Global Map public-key cryptography classic post-quantum lattice code multivariate hash isogenies . . . McEliece Niederreiter . . . GRS codes Goppa codes Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)

  4. Introduction Global Map public-key cryptography classic post-quantum lattice code multivariate hash isogenies . . . McEliece Niederreiter . . . GRS codes Goppa codes Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)

  5. Introduction Global Map public-key cryptography classic post-quantum lattice code multivariate hash isogenies . . . McEliece Niederreiter . . . GRS codes Goppa codes Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)

  6. Introduction Global Map public-key cryptography classic post-quantum lattice code multivariate hash isogenies . . . McEliece Niederreiter . . . GRS codes Goppa codes Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)

  7. Introduction Global Map public-key cryptography classic post-quantum lattice code multivariate hash isogenies . . . McEliece Niederreiter . . . GRS codes Goppa codes Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)

  8. Introduction Motivation Why code-based schemes in hardware? Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)

  9. Introduction Motivation Why code-based schemes in hardware? � Code-based schemes are well-understood: � Long history of research. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)

  10. Introduction Motivation Why code-based schemes in hardware? � Code-based schemes are well-understood: � Long history of research. � Security parameters widely accepted. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)

  11. Introduction Motivation Why code-based schemes in hardware? � Code-based schemes are well-understood: � Long history of research. � Security parameters widely accepted. � Code-based schemes are expensive: � High-throughput scenario: web server... Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)

  12. Introduction Motivation Why code-based schemes in hardware? � Code-based schemes are well-understood: � Long history of research. � Security parameters widely accepted. � Code-based schemes are expensive: � High-throughput scenario: web server... � Low-energy scenario: embedded devices, SmartCards, ... Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)

  13. Introduction Motivation Why code-based schemes in hardware? � Code-based schemes are well-understood: � Long history of research. � Security parameters widely accepted. � Code-based schemes are expensive: � High-throughput scenario: web server... � Low-energy scenario: embedded devices, SmartCards, ... = ⇒ Hardware implementation as accelerator and for efficiency. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)

  14. Introduction Error-Correcting Codes — McEliece and Niederreiter 01101100 Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  15. Introduction Error-Correcting Codes — McEliece and Niederreiter 01101100 encode 10011001001 Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  16. Introduction Error-Correcting Codes — McEliece and Niederreiter 01101100 encode 10011001001 10010001011 transmitt Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  17. Introduction Error-Correcting Codes — McEliece and Niederreiter 01101100 encode 10011001001 10010001011 10011001001 transmitt error correction Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  18. Introduction Error-Correcting Codes — McEliece and Niederreiter 01101100 01101100 encode decode 10011001001 10010001011 10011001001 transmitt error correction Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  19. Introduction Error-Correcting Codes — McEliece and Niederreiter plaintext plaintext 01101100 01101100 encode decode ciphertext 10011001001 10010001011 10011001001 add errors error correction encryption decryption Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  20. Introduction Error-Correcting Codes — McEliece and Niederreiter 01101100 01101100 encode decode 10011001001 10010001011 10011001001 transmitt error correction Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  21. Introduction Error-Correcting Codes — McEliece and Niederreiter 01101100 01101100 encode decode 10011001001 10010001011 10011001001 transmitt parity check syndrome syndrome 00001000010 decoding Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  22. Introduction Error-Correcting Codes — McEliece and Niederreiter 01101100 01101100 encode decode plaintext 10011001001 00001000010 10011001001 transmitt parity encryption check syndrome syndrome 00001000010 decoding plaintext ciphertext decryption Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)

  23. Niederreiter Cryptosystem Algorithm 1: Key-generation algorithm for the Niederreiter cryptosystem. : System parameters: m , t , and n . Input Output: Private key ( g ( x ) , ( α 0 , α 1 , . . . , α n − 1 )) and public key K . 1 Choose random sequence ( α 0 , α 1 , . . . , α n − 1 ) ∈ F (2 m ) n of distinct elements. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)

  24. Niederreiter Cryptosystem Algorithm 1: Key-generation algorithm for the Niederreiter cryptosystem. : System parameters: m , t , and n . Input Output: Private key ( g ( x ) , ( α 0 , α 1 , . . . , α n − 1 )) and public key K . 1 Choose random sequence ( α 0 , α 1 , . . . , α n − 1 ) ∈ F (2 m ) n of distinct elements. 2 Choose a random irreducible polynomial g ( x ) of degree t . Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)

  25. Niederreiter Cryptosystem Algorithm 1: Key-generation algorithm for the Niederreiter cryptosystem. : System parameters: m , t , and n . Input Output: Private key ( g ( x ) , ( α 0 , α 1 , . . . , α n − 1 )) and public key K . 1 Choose random sequence ( α 0 , α 1 , . . . , α n − 1 ) ∈ F (2 m ) n of distinct elements. 2 Choose a random irreducible polynomial g ( x ) of degree t . 3 Compute the t × n parity check matrix   1 /g ( α 0 ) 1 /g ( α 1 ) · · · 1 /g ( α n − 1 ) α 0 /g ( α 0 ) α 1 /g ( α 1 ) · · · α n − 1 /g ( α n − 1 )   H =  .  . . .  ... . . .   . . .  α t − 1 α t − 1 α t − 1 /g ( α 0 ) /g ( α 1 ) · · · n − 1 /g ( α n − 1 ) 0 1 Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)

  26. Niederreiter Cryptosystem Algorithm 1: Key-generation algorithm for the Niederreiter cryptosystem. : System parameters: m , t , and n . Input Output: Private key ( g ( x ) , ( α 0 , α 1 , . . . , α n − 1 )) and public key K . 1 Choose random sequence ( α 0 , α 1 , . . . , α n − 1 ) ∈ F (2 m ) n of distinct elements. 2 Choose a random irreducible polynomial g ( x ) of degree t . 3 Compute the t × n parity check matrix   1 /g ( α 0 ) 1 /g ( α 1 ) · · · 1 /g ( α n − 1 ) α 0 /g ( α 0 ) α 1 /g ( α 1 ) · · · α n − 1 /g ( α n − 1 )   H =  .  . . .  ... . . .   . . .  α t − 1 α t − 1 α t − 1 /g ( α 0 ) /g ( α 1 ) · · · n − 1 /g ( α n − 1 ) 0 1 4 Transform H to a mt × n binary parity check matrix H ′ . Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)

  27. Niederreiter Cryptosystem Algorithm 1: Key-generation algorithm for the Niederreiter cryptosystem. : System parameters: m , t , and n . Input Output: Private key ( g ( x ) , ( α 0 , α 1 , . . . , α n − 1 )) and public key K . 1 Choose random sequence ( α 0 , α 1 , . . . , α n − 1 ) ∈ F (2 m ) n of distinct elements. 2 Choose a random irreducible polynomial g ( x ) of degree t . 3 Compute the t × n parity check matrix   1 /g ( α 0 ) 1 /g ( α 1 ) · · · 1 /g ( α n − 1 ) α 0 /g ( α 0 ) α 1 /g ( α 1 ) · · · α n − 1 /g ( α n − 1 )   H =  .  . . .  ... . . .   . . .  α t − 1 α t − 1 α t − 1 /g ( α 0 ) /g ( α 1 ) · · · n − 1 /g ( α n − 1 ) 0 1 4 Transform H to a mt × n binary parity check matrix H ′ . 5 Transform H ′ into its systematic form [ I mt | K ] . Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)

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