SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Elliptic Curve Cryptography - An Introduction
       Marisa Paryasto
       33207002
       27 October 2011




Friday, October 28, 2011                               1
What is Elliptic Curve Cryptography?

       ‣ Originally	
  proposed	
  by	
  Victor	
  Miller	
  and	
  Neal	
  Koblitz	
  independently	
  from	
  one	
  
         another	
  in	
  1985

       ‣ ECC	
  proposed	
  an	
  alterna@ve	
  to	
  other	
  public-­‐key	
  encryp@on	
  algorithms,	
  such	
  as	
  
         RSA




Friday, October 28, 2011                                                                                                    2
Elliptic Curve

           Called	
  “ellip@c”	
  because	
  of	
  its	
  rela@onship	
  with	
  ellip@c	
  integrals,	
  which	
  are	
  
           natural	
  expressions	
  for	
  the	
  arc	
  length	
  of	
  an	
  ellipse

                                                                y2	
  =	
  x3	
  +	
  ax	
  +	
  b	
  



              Ellip@c	
  curve	
  is	
  not	
  an	
  ellipse!




Friday, October 28, 2011                                                                                                     3
y2 = x3 - x




Friday, October 28, 2011   4
y2 = x3




Friday, October 28, 2011   5
y2 = x3 - 4/3x + 16/27




Friday, October 28, 2011        6
y2 = x3 - 1/2x + 1/2




Friday, October 28, 2011      7
Elliptic Curve Cryptography

       ‣ Point	
  mul@plica@on	
  Q	
  =	
  kP


       ‣ Repeated	
  point	
  addi@on	
  and	
  doubling:
         9P	
  =	
  2(2(2P))	
  +	
  P

       ‣ Public	
  key	
  opera@on:	
  Q(x,y)	
  =	
  kP(x,y)
       	
   	
  Q	
  =	
  public	
  key
            	
  P	
  =	
  base	
  point	
  (curve	
  parameter)
            	
  k	
  =	
  private	
  key
            	
  n	
  =	
  order	
  of	
  P


       ‣ Ellip@c	
  curve	
  discrete	
  logarithm
       	
   	
  Given	
  public	
  key	
  kP,	
  find	
  private	
  key	
  k




Friday, October 28, 2011                                                      8
Elliptic Curve Addition




                                       Q
                                   P



                                           P+Q




Friday, October 28, 2011                         9
Multiplying 3P in Elliptic Curve (1)



                                         P+P = 2P




                              P




Friday, October 28, 2011                            10
Multiplying 3P in Elliptic Curve (2)



                                         P+P = 2P



                                                    Notes: 3P = 2P + P -> draw a line
                                                      that crosses point 2P and P
                                   3P
                               P




Friday, October 28, 2011                                                           11
Encryption Process




                                                 '1)'7+                                            '%3,/!&'7+
                    30%4',6$0%+                    &0+                                                7#&#+
                        &0+                       32,4' *+&,-,.,/,/&,01*22,0&                        8!0$%&9 *+&2/-;#.,6&.<-467<2&
       !"#$$%&       %21)', *+,-,.,/,/&,01*22,0&         21,/,3**&4******5&                                  7-21##6*&6*7<-;665&
       '%($)!                  21,/,3**&4******&&        *+&,6,1,7,3&212.,6,1&       89:                    *+&-7327-16&<3*;))37&
                                                          ,.,7,3,1&2127,.,2                                  -7;3-73*&1;1;7-71

                                   )$*+$%&'*',                 (-.+/-
      !"#$%&'(&                                                                      !0$%&+                        (5.+/5
                                                                                 12"&$!"$3#&$0%+
                                                                                  0%+32,4'




Friday, October 28, 2011                                                                                                             12
Decryption Process




    *+&2/-:#.,6&.;-467;2&   5'3,/!&$0%+
                                                        *+&,-,.,/,/&,01*22,0&
     7-21##6*&6*7;-:665&     !,03'66                     21,/,3**&4******5&     *+,-,.,/,/&,01*22,0&     !"#$$%&
    *+&-7327-16&;3*:))37&                  )&8&9       *+&,6,1,7,3&212.,6,1&     21,/,3**&4******&&
                                                                                                         '%($)!
     -7:3-73*&1:1:7-71                                  ,.,7,3,1&2127,.,2


           7+8+9(:.+/:;                  !0$%&+                (-.+/-               )$*+$%&'*',        !"#$%&'(&
                                     12"&$!"$3#&$0%+
                                      0%+32,4'




Friday, October 28, 2011                                                                                           13
Elliptic Curve y2 = x3 + x + 6 is defined over Z11

                                            Z11
                           10


                            9


                            8


                           7


                            6


                            5


                           4


                            3


                            2


                            1


                            0
                                0   2   4    6    8   10   12




Friday, October 28, 2011                                        14
An elliptic curve E:   y2   =   x 3   + x + 6 is defined over
       Z11




Friday, October 28, 2011                                              15
Calculating Quadratic Residue




Friday, October 28, 2011               16
Points on Curve




Friday, October 28, 2011   17
‣ There	
  are	
  12	
  points	
  lying	
  on	
  the	
  ellip@c	
  curve.	
  Together	
  with	
  the	
  point	
  O	
  at	
  
         infinity,	
  the	
  points	
  on	
  the	
  ellip@c	
  curve	
  form	
  a	
  group	
  with	
  n	
  =	
  13	
  elements.

       ‣ n	
  is	
  called	
  the	
  order	
  of	
  the	
  ellip@c	
  curve	
  group	
  and	
  depends	
  on	
  the	
  choice	
  of	
  
         the	
  curve	
  parameters	
  a	
  and	
  b.




Friday, October 28, 2011                                                                                                                  18
Point Addition

            P1 = (2, 4)         P2 = (5, 9)

            P1 + P2 = P3 = (x3 , y3 )

              y2 − y 1   9−4  5
           m=          =     = = 5 · 4 = 20 = 9
              x2 − x1    5−2  3
           x3 = m2 − x1 − x2 = (9)2 − 2 − 5 = 81 − 7 = 74 = 8
            y3 = m(x1 − x3 ) − y1 = 9(2 − 8) − 4 = 9(−6) − 4 = −54 − 4 = −58 = 8
            P3 = (x3 , y3 ) = (8, 8)




Friday, October 28, 2011                                                       19
Point Doubling

       ‣ Iterate the point (7, 2) lying on y_2 = x_3 + x + 6 mod 11


       ‣ Compute P2 = P * P by doubling the point P


           dy   x1 2 + b   3(7)2 + 1   147 + 1   148              ˙
        m=    =          =           =         =     = 148 · 3 = 53 = 15 = 4
           dx     2y1        2(2)         4       4

            x2 = m2 − 2x1 = (4)2 − 2(7) = 16 − 14 = 2
            y2 = m(x1 − x2 ) − y1 = 4(7 − 2) − 2 = 4(5) − 2 = 20 − 2 = 18 = 7
            P 2 = P ∗ P = (x2 , y2 ) = (2, 7)




Friday, October 28, 2011                                                        20
More point doubling

           Compute P3 = P2 * P
           P 2 = (2, 7)
            P = (7, 2)
                y2 − y 1   2−7   −5  6
             m=          =     =    = = 6 · 9 = 54 = 10
                x2 − x1    7−2    5  5
            x3 = m2 − x1 − x2 = (10)2 − 2 − 7 = 100 − 9 = 91 = 3
             y3 = m(x1 − x3 ) − y1 = 10(2 − 3) − 7 = 10(−1) − 7 = −10 − 7 = −17 =

             P 2 = P ∗ P = (x3 , y3 ) = (3, 5)




Friday, October 28, 2011                                                       21
Representing plaintext

       ‣ Let          E : y 2 ≡ x3 + bx + c(mod p)

       ‣ Message m (representated as a number) will be embedded in the x-
         coordinate of a point


       ‣ Adjoin a few bits at the end of m and adjust until we get a number x such that
         x3 + bx + c is square mod p




Friday, October 28, 2011                                                                  22
Representing plaintext (example)

         ‣ Let p = 179 and E : y 2 = x3 + 2x + 7

                              1
         ‣ If failure rate of 10   then we may take K = 10
                             2

         ‣ We need m.K + K < 179           , we need 0 ≤ m ≤ 16


         ‣ Suppose our message is m = 5. We consider x of the form
                               m.K + j = 50 + j
         ‣     The possible choices for x are 50, 51, .., 59. For x = 51 we get
                       x3 + 2x + 7 ≡ 121(mod 179)         112 = 121(mod 179)
         ‣ Thus, we represent the message m = 5 by the point (insert encryption process)
                                       Pm = (51, 11)
                                                             51 
         ‣ The message m can be recovered by          m=      10     =5




Friday, October 28, 2011                                                                   23
Basic ElGamal

           ElGamal Encryption                ElGamal Decryption


           INPUT: Elliptic curve domain      INPUT: Domain parameters,(p, E, P, n)
           parameters (p, E, P, n) ,public   private key d , ciphertext (C1 , C2 )
           key Q , plaintext m
                                             OUTPUT: Plaintext m
           OUTPUT: Ciphertext (C1 , C2 )
                                             1. Compute M = C2 − dC1 , and
           1.Represent the message m as a      extract m from M
             point M in E(Fp )               2. Return( m)
           2.Select k ∈R [1, n − 1]
           3.Compute C1 = kP
           4.Compute C2 = M + kQ
           5.Return (C1 , C2 )




Friday, October 28, 2011                                                             24
poly_prime =                                        Time of execution: 0.013889 seconds
           80000000       3                                    =====IN send_elgamal=====
           NUMBITS = 63                                        data (in send_gamal function) :
           NUMWORD = 1                                              0    123
           setting up curve                                    Base point
                                                               x: 2e7cf965 63323eab
           the curve after setting up:                         y: 730a0498 5b456f7d
           form: 1                                             Base curve
           a2: 0 2                                             form: 1
           a6: 0 1                                             a2: 0 2
                                                               a6: 0 1
           counter = 0
           inc = 1                                             random value:
           Base point                                          52d518f2 9979dd24
           x: 2e7cf965 63323eab                                Random point C1
           y: 730a0498 5b456f7d                                x: 5458cfc 12efc03c
                                                               y: 52d6eb3 a6af454b
           create side 2's private key                         counter = 0
                                                               inc = 0
           Side 2 secret:                                      raw point M (after poly_embed)
           10fc68f8 254d4d11                                   x:     0    123
                                                               y: 628f64a8 105671e3
           Generate side 2's public key                        Their_public:
                                                               x: 47a20fe7 9afa870f
           Side 2 public key                                   y: 3c871ef9 9f291729
           x: 47a20fe7 9afa870f                                hidden point (after poly_elptic_mul)
           y: 3c871ef9 9f291729                                x: 3e2ca01d e1b52870
           data =                                              y: 523fa9bd ab463883
                0   123                                        Hidden data (C2):
                                                               x: 23f5fe99 de42125d
           Hide data on curve and send from side 1 to side 2   y: 68420248 dfab3f44
                                                               Random point (C1):
           curve before send_elgamal:                          x: 5458cfc 12efc03c
           form: 1                                             y: 52d6eb3 a6af454b
           a2: 0 2                                             =====OUT send_elgamal
           a6: 0 1

           Their_public before send_elgamal:
           x: 47a20fe7 9afa870f
           y: 3c871ef9 9f291729


Friday, October 28, 2011                                                                              25
x:      0     123
                                                y: 628f64a8 105671e3
                                                raw_point.x
           AFTER send_elgamal                        0     123
           curve after send_elgamal:            raw_data (point):
           form: 1                              x: bffff5ac bffff5e8
           a2: 0 2                              y: 8fe018b1        0
           a6: 0 1                              raw_data (point):
                                                x:      0     123
           Hidden data (C2)                     y:      0     123
           x: 23f5fe99 de42125d                 raw_data (field):
           y: 68420248 dfab3f44                 bffff5ac bffff5e8
           Random point (C1)                    raw_data (field):
           x: 5458cfc 12efc03c                       0     123
           y: 52d6eb3 a6af454b                  =====OUT receive elgamal

           Recover transmitted message          sent data
                                                    0     123
           IN receive_elgamal                   received data (field)
           Base curve in receive_elgamal            0     123
           form: 1
           a2: 0 2
           a6: 0 1

           Hidden_data (in receive_elgamal) :
           x: 23f5fe99 de42125d
           y: 68420248 dfab3f44
           Random point
           x: 5458cfc 12efc03c
           y: 52d6eb3 a6af454b
           hidden_point (d*C1):
           x: 3e2ca01d e1b52870
           y: 523fa9bd ab463883
           raw_point:
Friday, October 28, 2011                                                   26

Weitere ähnliche Inhalte

Was ist angesagt?

Quasistatic Fracture using Nonliner-Nonlocal Elastostatics with an Analytic T...
Quasistatic Fracture using Nonliner-Nonlocal Elastostatics with an Analytic T...Quasistatic Fracture using Nonliner-Nonlocal Elastostatics with an Analytic T...
Quasistatic Fracture using Nonliner-Nonlocal Elastostatics with an Analytic T...Patrick Diehl
 
Java Puzzle
Java PuzzleJava Puzzle
Java PuzzleSFilipp
 
Lesson32 Second Order Difference Equations Slides
Lesson32   Second Order Difference Equations SlidesLesson32   Second Order Difference Equations Slides
Lesson32 Second Order Difference Equations SlidesMatthew Leingang
 
The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)theijes
 
Lesson31 Higher Dimensional First Order Difference Equations Slides
Lesson31   Higher Dimensional First Order Difference Equations SlidesLesson31   Higher Dimensional First Order Difference Equations Slides
Lesson31 Higher Dimensional First Order Difference Equations SlidesMatthew Leingang
 
Lesson29 Intro To Difference Equations Slides
Lesson29   Intro To Difference Equations SlidesLesson29   Intro To Difference Equations Slides
Lesson29 Intro To Difference Equations SlidesMatthew Leingang
 
Jacob's and Vlad's D.E.V. Project - 2012
Jacob's and Vlad's D.E.V. Project - 2012Jacob's and Vlad's D.E.V. Project - 2012
Jacob's and Vlad's D.E.V. Project - 2012Jacob_Evenson
 
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」Ken'ichi Matsui
 
関数型プログラミングの世界
関数型プログラミングの世界関数型プログラミングの世界
関数型プログラミングの世界Kenta Murata
 
Computer Aided Assessment (CAA) for mathematics
Computer Aided Assessment (CAA) for mathematicsComputer Aided Assessment (CAA) for mathematics
Computer Aided Assessment (CAA) for mathematicstelss09
 

Was ist angesagt? (13)

Quasistatic Fracture using Nonliner-Nonlocal Elastostatics with an Analytic T...
Quasistatic Fracture using Nonliner-Nonlocal Elastostatics with an Analytic T...Quasistatic Fracture using Nonliner-Nonlocal Elastostatics with an Analytic T...
Quasistatic Fracture using Nonliner-Nonlocal Elastostatics with an Analytic T...
 
Java puzzles
Java puzzlesJava puzzles
Java puzzles
 
Java Puzzle
Java PuzzleJava Puzzle
Java Puzzle
 
Lesson32 Second Order Difference Equations Slides
Lesson32   Second Order Difference Equations SlidesLesson32   Second Order Difference Equations Slides
Lesson32 Second Order Difference Equations Slides
 
The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)
 
Lesson31 Higher Dimensional First Order Difference Equations Slides
Lesson31   Higher Dimensional First Order Difference Equations SlidesLesson31   Higher Dimensional First Order Difference Equations Slides
Lesson31 Higher Dimensional First Order Difference Equations Slides
 
Chapter 15
Chapter 15Chapter 15
Chapter 15
 
Lesson29 Intro To Difference Equations Slides
Lesson29   Intro To Difference Equations SlidesLesson29   Intro To Difference Equations Slides
Lesson29 Intro To Difference Equations Slides
 
Jacob's and Vlad's D.E.V. Project - 2012
Jacob's and Vlad's D.E.V. Project - 2012Jacob's and Vlad's D.E.V. Project - 2012
Jacob's and Vlad's D.E.V. Project - 2012
 
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
第13回数学カフェ「素数!!」二次会 LT資料「乱数!!」
 
関数型プログラミングの世界
関数型プログラミングの世界関数型プログラミングの世界
関数型プログラミングの世界
 
Java Puzzlers
Java PuzzlersJava Puzzlers
Java Puzzlers
 
Computer Aided Assessment (CAA) for mathematics
Computer Aided Assessment (CAA) for mathematicsComputer Aided Assessment (CAA) for mathematics
Computer Aided Assessment (CAA) for mathematics
 

Ähnlich wie Ecc intro oct 2011

Ip 5 discrete mathematics
Ip 5 discrete mathematicsIp 5 discrete mathematics
Ip 5 discrete mathematicsMark Simon
 
Design and Analysis of Algorithms - Divide and Conquer
Design and Analysis of Algorithms - Divide and ConquerDesign and Analysis of Algorithms - Divide and Conquer
Design and Analysis of Algorithms - Divide and ConquerSeshu Chakravarthy
 
Discrete Math IP4 - Automata Theory
Discrete Math IP4 - Automata TheoryDiscrete Math IP4 - Automata Theory
Discrete Math IP4 - Automata TheoryMark Simon
 
Oct 22 Integers
Oct 22 IntegersOct 22 Integers
Oct 22 Integersspmath
 
Data Science for Folks Without (or With!) a Ph.D.
Data Science for Folks Without (or With!) a Ph.D.Data Science for Folks Without (or With!) a Ph.D.
Data Science for Folks Without (or With!) a Ph.D.Douglas Starnes
 
Application of parallel hierarchical matrices and low-rank tensors in spatial...
Application of parallel hierarchical matrices and low-rank tensors in spatial...Application of parallel hierarchical matrices and low-rank tensors in spatial...
Application of parallel hierarchical matrices and low-rank tensors in spatial...Alexander Litvinenko
 
Question bank unit ii engineering mathematics ii
Question bank unit ii engineering mathematics iiQuestion bank unit ii engineering mathematics ii
Question bank unit ii engineering mathematics iiShubham Vini
 
Circles Lecture - Part 1
Circles Lecture - Part 1Circles Lecture - Part 1
Circles Lecture - Part 1Leo Crisologo
 
Daa divide-n-conquer
Daa divide-n-conquerDaa divide-n-conquer
Daa divide-n-conquersankara_rao
 
Master method
Master method Master method
Master method Rajendran
 
CS330-Lectures Statistics And Probability
CS330-Lectures Statistics And ProbabilityCS330-Lectures Statistics And Probability
CS330-Lectures Statistics And Probabilitybryan111472
 
Datastructure tree
Datastructure treeDatastructure tree
Datastructure treerantd
 
InSTEDD Google Techtalk 2010
InSTEDD Google Techtalk 2010InSTEDD Google Techtalk 2010
InSTEDD Google Techtalk 2010Eduardo Jezierski
 
Google Tech Talk - Agile Development with Lives At Stake
Google Tech Talk - Agile Development with Lives At StakeGoogle Tech Talk - Agile Development with Lives At Stake
Google Tech Talk - Agile Development with Lives At StakeInSTEDD
 

Ähnlich wie Ecc intro oct 2011 (20)

Ip 5 discrete mathematics
Ip 5 discrete mathematicsIp 5 discrete mathematics
Ip 5 discrete mathematics
 
Design and Analysis of Algorithms - Divide and Conquer
Design and Analysis of Algorithms - Divide and ConquerDesign and Analysis of Algorithms - Divide and Conquer
Design and Analysis of Algorithms - Divide and Conquer
 
Discrete Math IP4 - Automata Theory
Discrete Math IP4 - Automata TheoryDiscrete Math IP4 - Automata Theory
Discrete Math IP4 - Automata Theory
 
Oct 22 Integers
Oct 22 IntegersOct 22 Integers
Oct 22 Integers
 
Data Science for Folks Without (or With!) a Ph.D.
Data Science for Folks Without (or With!) a Ph.D.Data Science for Folks Without (or With!) a Ph.D.
Data Science for Folks Without (or With!) a Ph.D.
 
Application of parallel hierarchical matrices and low-rank tensors in spatial...
Application of parallel hierarchical matrices and low-rank tensors in spatial...Application of parallel hierarchical matrices and low-rank tensors in spatial...
Application of parallel hierarchical matrices and low-rank tensors in spatial...
 
08 - Complexity
08 - Complexity08 - Complexity
08 - Complexity
 
Question bank unit ii engineering mathematics ii
Question bank unit ii engineering mathematics iiQuestion bank unit ii engineering mathematics ii
Question bank unit ii engineering mathematics ii
 
Circles Lecture - Part 1
Circles Lecture - Part 1Circles Lecture - Part 1
Circles Lecture - Part 1
 
Main
MainMain
Main
 
4th Semeste Electronics and Communication Engineering (Dec-2015; Jan-2016) Qu...
4th Semeste Electronics and Communication Engineering (Dec-2015; Jan-2016) Qu...4th Semeste Electronics and Communication Engineering (Dec-2015; Jan-2016) Qu...
4th Semeste Electronics and Communication Engineering (Dec-2015; Jan-2016) Qu...
 
Lesson 15: The Chain Rule
Lesson 15: The Chain RuleLesson 15: The Chain Rule
Lesson 15: The Chain Rule
 
Daa divide-n-conquer
Daa divide-n-conquerDaa divide-n-conquer
Daa divide-n-conquer
 
Master method
Master method Master method
Master method
 
CS330-Lectures Statistics And Probability
CS330-Lectures Statistics And ProbabilityCS330-Lectures Statistics And Probability
CS330-Lectures Statistics And Probability
 
Olympus E P1
Olympus E P1Olympus E P1
Olympus E P1
 
Datastructure tree
Datastructure treeDatastructure tree
Datastructure tree
 
Integral
IntegralIntegral
Integral
 
InSTEDD Google Techtalk 2010
InSTEDD Google Techtalk 2010InSTEDD Google Techtalk 2010
InSTEDD Google Techtalk 2010
 
Google Tech Talk - Agile Development with Lives At Stake
Google Tech Talk - Agile Development with Lives At StakeGoogle Tech Talk - Agile Development with Lives At Stake
Google Tech Talk - Agile Development with Lives At Stake
 

Mehr von Marisa Paryasto

Marisa - Coding and IoT for Kids - RIoT 2017
Marisa - Coding and IoT for Kids - RIoT 2017Marisa - Coding and IoT for Kids - RIoT 2017
Marisa - Coding and IoT for Kids - RIoT 2017Marisa Paryasto
 
Why i need to learn so much math for my phd research
Why i need to learn so much math for my phd researchWhy i need to learn so much math for my phd research
Why i need to learn so much math for my phd researchMarisa Paryasto
 
Marisa e-learning history and success story
Marisa   e-learning history and success storyMarisa   e-learning history and success story
Marisa e-learning history and success storyMarisa Paryasto
 
Chika -java_tutorial_general_ver_3.7
Chika  -java_tutorial_general_ver_3.7Chika  -java_tutorial_general_ver_3.7
Chika -java_tutorial_general_ver_3.7Marisa Paryasto
 
Chika tutorial c++ - ver 3 2009 2
Chika   tutorial c++ - ver 3 2009 2Chika   tutorial c++ - ver 3 2009 2
Chika tutorial c++ - ver 3 2009 2Marisa Paryasto
 
Composite Field Multiplier based on Look-Up Table for Elliptic Curve Cryptogr...
Composite Field Multiplier based on Look-Up Table for Elliptic Curve Cryptogr...Composite Field Multiplier based on Look-Up Table for Elliptic Curve Cryptogr...
Composite Field Multiplier based on Look-Up Table for Elliptic Curve Cryptogr...Marisa Paryasto
 
Iceei2011 marisa br_fajar_intan_kuspriyanto revision 1
Iceei2011 marisa br_fajar_intan_kuspriyanto revision 1Iceei2011 marisa br_fajar_intan_kuspriyanto revision 1
Iceei2011 marisa br_fajar_intan_kuspriyanto revision 1Marisa Paryasto
 
Marisa paryasto rancangan unit aritmetika finite field berbasis composite fie...
Marisa paryasto rancangan unit aritmetika finite field berbasis composite fie...Marisa paryasto rancangan unit aritmetika finite field berbasis composite fie...
Marisa paryasto rancangan unit aritmetika finite field berbasis composite fie...Marisa Paryasto
 
Implementation of Polynomial – ONB I Basis Conversion - Jurnal Ilmiah Teknik ...
Implementation of Polynomial – ONB I Basis Conversion - Jurnal Ilmiah Teknik ...Implementation of Polynomial – ONB I Basis Conversion - Jurnal Ilmiah Teknik ...
Implementation of Polynomial – ONB I Basis Conversion - Jurnal Ilmiah Teknik ...Marisa Paryasto
 
Issues in Elliptic Curve Cryptography Implementation - Internetworking Indone...
Issues in Elliptic Curve Cryptography Implementation - Internetworking Indone...Issues in Elliptic Curve Cryptography Implementation - Internetworking Indone...
Issues in Elliptic Curve Cryptography Implementation - Internetworking Indone...Marisa Paryasto
 
Marisa sidang terbuka ver 0.3
Marisa   sidang terbuka ver 0.3Marisa   sidang terbuka ver 0.3
Marisa sidang terbuka ver 0.3Marisa Paryasto
 

Mehr von Marisa Paryasto (12)

Marisa - Coding and IoT for Kids - RIoT 2017
Marisa - Coding and IoT for Kids - RIoT 2017Marisa - Coding and IoT for Kids - RIoT 2017
Marisa - Coding and IoT for Kids - RIoT 2017
 
Why i need to learn so much math for my phd research
Why i need to learn so much math for my phd researchWhy i need to learn so much math for my phd research
Why i need to learn so much math for my phd research
 
Marisa e-learning history and success story
Marisa   e-learning history and success storyMarisa   e-learning history and success story
Marisa e-learning history and success story
 
Chika -java_tutorial_general_ver_3.7
Chika  -java_tutorial_general_ver_3.7Chika  -java_tutorial_general_ver_3.7
Chika -java_tutorial_general_ver_3.7
 
Chika tutorial c++ - ver 3 2009 2
Chika   tutorial c++ - ver 3 2009 2Chika   tutorial c++ - ver 3 2009 2
Chika tutorial c++ - ver 3 2009 2
 
Programming language
Programming languageProgramming language
Programming language
 
Composite Field Multiplier based on Look-Up Table for Elliptic Curve Cryptogr...
Composite Field Multiplier based on Look-Up Table for Elliptic Curve Cryptogr...Composite Field Multiplier based on Look-Up Table for Elliptic Curve Cryptogr...
Composite Field Multiplier based on Look-Up Table for Elliptic Curve Cryptogr...
 
Iceei2011 marisa br_fajar_intan_kuspriyanto revision 1
Iceei2011 marisa br_fajar_intan_kuspriyanto revision 1Iceei2011 marisa br_fajar_intan_kuspriyanto revision 1
Iceei2011 marisa br_fajar_intan_kuspriyanto revision 1
 
Marisa paryasto rancangan unit aritmetika finite field berbasis composite fie...
Marisa paryasto rancangan unit aritmetika finite field berbasis composite fie...Marisa paryasto rancangan unit aritmetika finite field berbasis composite fie...
Marisa paryasto rancangan unit aritmetika finite field berbasis composite fie...
 
Implementation of Polynomial – ONB I Basis Conversion - Jurnal Ilmiah Teknik ...
Implementation of Polynomial – ONB I Basis Conversion - Jurnal Ilmiah Teknik ...Implementation of Polynomial – ONB I Basis Conversion - Jurnal Ilmiah Teknik ...
Implementation of Polynomial – ONB I Basis Conversion - Jurnal Ilmiah Teknik ...
 
Issues in Elliptic Curve Cryptography Implementation - Internetworking Indone...
Issues in Elliptic Curve Cryptography Implementation - Internetworking Indone...Issues in Elliptic Curve Cryptography Implementation - Internetworking Indone...
Issues in Elliptic Curve Cryptography Implementation - Internetworking Indone...
 
Marisa sidang terbuka ver 0.3
Marisa   sidang terbuka ver 0.3Marisa   sidang terbuka ver 0.3
Marisa sidang terbuka ver 0.3
 

Kürzlich hochgeladen

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 

Kürzlich hochgeladen (20)

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 

Ecc intro oct 2011

  • 1. Elliptic Curve Cryptography - An Introduction Marisa Paryasto 33207002 27 October 2011 Friday, October 28, 2011 1
  • 2. What is Elliptic Curve Cryptography? ‣ Originally  proposed  by  Victor  Miller  and  Neal  Koblitz  independently  from  one   another  in  1985 ‣ ECC  proposed  an  alterna@ve  to  other  public-­‐key  encryp@on  algorithms,  such  as   RSA Friday, October 28, 2011 2
  • 3. Elliptic Curve Called  “ellip@c”  because  of  its  rela@onship  with  ellip@c  integrals,  which  are   natural  expressions  for  the  arc  length  of  an  ellipse y2  =  x3  +  ax  +  b   Ellip@c  curve  is  not  an  ellipse! Friday, October 28, 2011 3
  • 4. y2 = x3 - x Friday, October 28, 2011 4
  • 5. y2 = x3 Friday, October 28, 2011 5
  • 6. y2 = x3 - 4/3x + 16/27 Friday, October 28, 2011 6
  • 7. y2 = x3 - 1/2x + 1/2 Friday, October 28, 2011 7
  • 8. Elliptic Curve Cryptography ‣ Point  mul@plica@on  Q  =  kP ‣ Repeated  point  addi@on  and  doubling: 9P  =  2(2(2P))  +  P ‣ Public  key  opera@on:  Q(x,y)  =  kP(x,y)    Q  =  public  key  P  =  base  point  (curve  parameter)  k  =  private  key  n  =  order  of  P ‣ Ellip@c  curve  discrete  logarithm    Given  public  key  kP,  find  private  key  k Friday, October 28, 2011 8
  • 9. Elliptic Curve Addition Q P P+Q Friday, October 28, 2011 9
  • 10. Multiplying 3P in Elliptic Curve (1) P+P = 2P P Friday, October 28, 2011 10
  • 11. Multiplying 3P in Elliptic Curve (2) P+P = 2P Notes: 3P = 2P + P -> draw a line that crosses point 2P and P 3P P Friday, October 28, 2011 11
  • 12. Encryption Process '1)'7+ '%3,/!&'7+ 30%4',6$0%+ &0+ 7#&#+ &0+ 32,4' *+&,-,.,/,/&,01*22,0& 8!0$%&9 *+&2/-;#.,6&.<-467<2& !"#$$%& %21)', *+,-,.,/,/&,01*22,0& 21,/,3**&4******5& 7-21##6*&6*7<-;665& '%($)! 21,/,3**&4******&& *+&,6,1,7,3&212.,6,1& 89: *+&-7327-16&<3*;))37& ,.,7,3,1&2127,.,2 -7;3-73*&1;1;7-71 )$*+$%&'*', (-.+/- !"#$%&'(& !0$%&+ (5.+/5 12"&$!"$3#&$0%+ 0%+32,4' Friday, October 28, 2011 12
  • 13. Decryption Process *+&2/-:#.,6&.;-467;2& 5'3,/!&$0%+ *+&,-,.,/,/&,01*22,0& 7-21##6*&6*7;-:665& !,03'66 21,/,3**&4******5& *+,-,.,/,/&,01*22,0& !"#$$%& *+&-7327-16&;3*:))37& )&8&9 *+&,6,1,7,3&212.,6,1& 21,/,3**&4******&& '%($)! -7:3-73*&1:1:7-71 ,.,7,3,1&2127,.,2 7+8+9(:.+/:; !0$%&+ (-.+/- )$*+$%&'*', !"#$%&'(& 12"&$!"$3#&$0%+ 0%+32,4' Friday, October 28, 2011 13
  • 14. Elliptic Curve y2 = x3 + x + 6 is defined over Z11 Z11 10 9 8 7 6 5 4 3 2 1 0 0 2 4 6 8 10 12 Friday, October 28, 2011 14
  • 15. An elliptic curve E: y2 = x 3 + x + 6 is defined over Z11 Friday, October 28, 2011 15
  • 17. Points on Curve Friday, October 28, 2011 17
  • 18. ‣ There  are  12  points  lying  on  the  ellip@c  curve.  Together  with  the  point  O  at   infinity,  the  points  on  the  ellip@c  curve  form  a  group  with  n  =  13  elements. ‣ n  is  called  the  order  of  the  ellip@c  curve  group  and  depends  on  the  choice  of   the  curve  parameters  a  and  b. Friday, October 28, 2011 18
  • 19. Point Addition P1 = (2, 4) P2 = (5, 9) P1 + P2 = P3 = (x3 , y3 ) y2 − y 1 9−4 5 m= = = = 5 · 4 = 20 = 9 x2 − x1 5−2 3 x3 = m2 − x1 − x2 = (9)2 − 2 − 5 = 81 − 7 = 74 = 8 y3 = m(x1 − x3 ) − y1 = 9(2 − 8) − 4 = 9(−6) − 4 = −54 − 4 = −58 = 8 P3 = (x3 , y3 ) = (8, 8) Friday, October 28, 2011 19
  • 20. Point Doubling ‣ Iterate the point (7, 2) lying on y_2 = x_3 + x + 6 mod 11 ‣ Compute P2 = P * P by doubling the point P dy x1 2 + b 3(7)2 + 1 147 + 1 148 ˙ m= = = = = = 148 · 3 = 53 = 15 = 4 dx 2y1 2(2) 4 4 x2 = m2 − 2x1 = (4)2 − 2(7) = 16 − 14 = 2 y2 = m(x1 − x2 ) − y1 = 4(7 − 2) − 2 = 4(5) − 2 = 20 − 2 = 18 = 7 P 2 = P ∗ P = (x2 , y2 ) = (2, 7) Friday, October 28, 2011 20
  • 21. More point doubling Compute P3 = P2 * P P 2 = (2, 7) P = (7, 2) y2 − y 1 2−7 −5 6 m= = = = = 6 · 9 = 54 = 10 x2 − x1 7−2 5 5 x3 = m2 − x1 − x2 = (10)2 − 2 − 7 = 100 − 9 = 91 = 3 y3 = m(x1 − x3 ) − y1 = 10(2 − 3) − 7 = 10(−1) − 7 = −10 − 7 = −17 = P 2 = P ∗ P = (x3 , y3 ) = (3, 5) Friday, October 28, 2011 21
  • 22. Representing plaintext ‣ Let E : y 2 ≡ x3 + bx + c(mod p) ‣ Message m (representated as a number) will be embedded in the x- coordinate of a point ‣ Adjoin a few bits at the end of m and adjust until we get a number x such that x3 + bx + c is square mod p Friday, October 28, 2011 22
  • 23. Representing plaintext (example) ‣ Let p = 179 and E : y 2 = x3 + 2x + 7 1 ‣ If failure rate of 10 then we may take K = 10 2 ‣ We need m.K + K < 179 , we need 0 ≤ m ≤ 16 ‣ Suppose our message is m = 5. We consider x of the form m.K + j = 50 + j ‣ The possible choices for x are 50, 51, .., 59. For x = 51 we get x3 + 2x + 7 ≡ 121(mod 179) 112 = 121(mod 179) ‣ Thus, we represent the message m = 5 by the point (insert encryption process) Pm = (51, 11) 51 ‣ The message m can be recovered by m= 10 =5 Friday, October 28, 2011 23
  • 24. Basic ElGamal ElGamal Encryption ElGamal Decryption INPUT: Elliptic curve domain INPUT: Domain parameters,(p, E, P, n) parameters (p, E, P, n) ,public private key d , ciphertext (C1 , C2 ) key Q , plaintext m OUTPUT: Plaintext m OUTPUT: Ciphertext (C1 , C2 ) 1. Compute M = C2 − dC1 , and 1.Represent the message m as a extract m from M point M in E(Fp ) 2. Return( m) 2.Select k ∈R [1, n − 1] 3.Compute C1 = kP 4.Compute C2 = M + kQ 5.Return (C1 , C2 ) Friday, October 28, 2011 24
  • 25. poly_prime = Time of execution: 0.013889 seconds 80000000 3 =====IN send_elgamal===== NUMBITS = 63 data (in send_gamal function) : NUMWORD = 1 0 123 setting up curve Base point x: 2e7cf965 63323eab the curve after setting up: y: 730a0498 5b456f7d form: 1 Base curve a2: 0 2 form: 1 a6: 0 1 a2: 0 2 a6: 0 1 counter = 0 inc = 1 random value: Base point 52d518f2 9979dd24 x: 2e7cf965 63323eab Random point C1 y: 730a0498 5b456f7d x: 5458cfc 12efc03c y: 52d6eb3 a6af454b create side 2's private key counter = 0 inc = 0 Side 2 secret: raw point M (after poly_embed) 10fc68f8 254d4d11 x: 0 123 y: 628f64a8 105671e3 Generate side 2's public key Their_public: x: 47a20fe7 9afa870f Side 2 public key y: 3c871ef9 9f291729 x: 47a20fe7 9afa870f hidden point (after poly_elptic_mul) y: 3c871ef9 9f291729 x: 3e2ca01d e1b52870 data = y: 523fa9bd ab463883 0 123 Hidden data (C2): x: 23f5fe99 de42125d Hide data on curve and send from side 1 to side 2 y: 68420248 dfab3f44 Random point (C1): curve before send_elgamal: x: 5458cfc 12efc03c form: 1 y: 52d6eb3 a6af454b a2: 0 2 =====OUT send_elgamal a6: 0 1 Their_public before send_elgamal: x: 47a20fe7 9afa870f y: 3c871ef9 9f291729 Friday, October 28, 2011 25
  • 26. x: 0 123 y: 628f64a8 105671e3 raw_point.x AFTER send_elgamal 0 123 curve after send_elgamal: raw_data (point): form: 1 x: bffff5ac bffff5e8 a2: 0 2 y: 8fe018b1 0 a6: 0 1 raw_data (point): x: 0 123 Hidden data (C2) y: 0 123 x: 23f5fe99 de42125d raw_data (field): y: 68420248 dfab3f44 bffff5ac bffff5e8 Random point (C1) raw_data (field): x: 5458cfc 12efc03c 0 123 y: 52d6eb3 a6af454b =====OUT receive elgamal Recover transmitted message sent data 0 123 IN receive_elgamal received data (field) Base curve in receive_elgamal 0 123 form: 1 a2: 0 2 a6: 0 1 Hidden_data (in receive_elgamal) : x: 23f5fe99 de42125d y: 68420248 dfab3f44 Random point x: 5458cfc 12efc03c y: 52d6eb3 a6af454b hidden_point (d*C1): x: 3e2ca01d e1b52870 y: 523fa9bd ab463883 raw_point: Friday, October 28, 2011 26