US2012275593A1PendingUtilityA1

Apparatus for performing a fault detection operation and method thereof

42
Assignee: VASYLTSOV IHORPriority: Aug 4, 2006Filed: Jun 5, 2012Published: Nov 1, 2012
Est. expiryAug 4, 2026(~0.1 yrs left)· nominal 20-yr term from priority
H04L 9/3066G06F 2207/7271G06F 7/725G06F 2207/7261G06F 7/49G06F 7/42
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An apparatus for performing a fault detection operation may include a first-coordinate computing unit receiving a first point and a second point in a binary finite field, the first and second points established based on a basic point within a given elliptic curve, each of the first and second points including a first coordinate value and a second coordinate value, the first-coordinate computing unit performing a first addition operation on the first point and the second point to compute a third coordinate value and a second-coordinate computing unit performing a second addition operation on the first and second points to compute a fourth coordinate value, the first and second addition operations computed based on at least one of a difference between the first coordinate values of the first and second points and a difference between the second coordinate values of the first and second points.

Claims

exact text as granted — not AI-modified
1 . A method of performing a fault detection operation, comprising:
 determining a first point and a second point in a binary finite field, the first and second points established based on a basic point within a given elliptic curve, each of the first and second points including a first coordinate value and a second coordinate value;   performing a first addition operation on the first point and the second point to compute a third coordinate value; and   performing a second addition operation on the first and second points to compute a fourth coordinate value, the first and second addition operations computed based on at least one of a difference between the first coordinate values of the first and second points and a difference between the second coordinate values of the first and second points.   
     
     
         2 . The method of  claim 1 , wherein the fault detecting operation is performed within an elliptic curve cryptography system employing a fast Montgomery power ladder algorithm (FMPLA). 
     
     
         3 . The method of  claim 1 , wherein the first coordinate values and the third coordinate value correspond to X-axis coordinates and the second coordinate values and the fourth coordinate value correspond to Z-axis coordinates. 
     
     
         4 . The method of  claim 3 , wherein, if the first point is denoted as P 1 (X 1 , Z 1 ), the second point is denoted as P 2 (X 2 , Z 2 ), a difference point between P 1  and P 2  is denoted as P D (X D ,Z D ), the third coordinate value is denoted as X 3 , the fourth coordinate value is denoted as Z 3 , and a resultant point is denoted as P 3 (X 3 , Z 3 ), the first and second additional operations are respectively represented as follows: 
       
         
           
             
                 
               
                 { 
                 
                   
                     
                       
                         
                           Z 
                           3 
                         
                         = 
                         
                           
                             Z 
                             D 
                           
                           · 
                           
                             
                               ( 
                               
                                 
                                   
                                     X 
                                     1 
                                   
                                   · 
                                   
                                     Z 
                                     2 
                                   
                                 
                                 + 
                                 
                                   
                                     X 
                                     2 
                                   
                                   · 
                                   
                                     Z 
                                     1 
                                   
                                 
                               
                               ) 
                             
                             2 
                           
                         
                       
                     
                   
                   
                     
                       
                         
                           X 
                           3 
                         
                         = 
                         
                           
                             
                               X 
                               D 
                             
                             · 
                             
                               
                                 ( 
                                 
                                   
                                     
                                       X 
                                       1 
                                     
                                     · 
                                     
                                       Z 
                                       2 
                                     
                                   
                                   + 
                                   
                                     
                                       X 
                                       2 
                                     
                                     · 
                                     
                                       Z 
                                       1 
                                     
                                   
                                 
                                 ) 
                               
                               2 
                             
                           
                           + 
                           
                             
                               Z 
                               D 
                             
                             · 
                             
                               ( 
                               
                                 
                                   X 
                                   1 
                                 
                                 · 
                                 
                                   Z 
                                   2 
                                 
                               
                               ) 
                             
                             · 
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     2 
                                   
                                   · 
                                   
                                     Z 
                                     1 
                                   
                                 
                                 ) 
                               
                               . 
                             
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
     
         5 . The method of  claim 4 , wherein the second coordinate value of the second point (Z 2 ) is equal to 1. 
     
     
         6 . The method of  claim 1 , wherein the second coordinate value of the second point has a fixed value. 
     
     
         7 . The method of  claim 6 , wherein the fault detecting operation is performed within an elliptic curve cryptography system employing a fast Montgomery power ladder algorithm (FMPLA). 
     
     
         8 . The method of  claim 6 , wherein the first coordinate values and the third coordinate value correspond to X-axis coordinates and the second coordinate values and the fourth coordinate value correspond to Z-axis coordinates. 
     
     
         9 . The method of  claim 8 , wherein the second coordinate value of the second point is equal to 1. 
     
     
         10 . The method of  claim 9 , wherein, if the first point is denoted as P 1 (X 1 , Z 1 ), the second point is denoted as P 2 (X 2 , 1), a difference point between P 1  and P 2  is denoted as P D (X D ,Z D ), the third coordinate value is denoted as X 3 , the fourth coordinate value is denoted as Z 3 , and a resultant point is denoted as P 3 (X 3 , Z 3 ), the first and second additional operations are respectively represented as follows: 
       
         
           
             
                 
               
                 { 
                 
                   
                     
                       
                         
                           Z 
                           3 
                         
                         = 
                         
                           
                             Z 
                             D 
                           
                           · 
                           
                             
                               ( 
                               
                                 
                                   X 
                                   1 
                                 
                                 + 
                                 
                                   
                                     X 
                                     2 
                                   
                                   · 
                                   
                                     Z 
                                     1 
                                   
                                 
                               
                               ) 
                             
                             2 
                           
                         
                       
                     
                   
                   
                     
                       
                         
                           X 
                           3 
                         
                         = 
                         
                           
                             
                               X 
                               D 
                             
                             · 
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     1 
                                   
                                   + 
                                   
                                     
                                       X 
                                       2 
                                     
                                     · 
                                     
                                       Z 
                                       1 
                                     
                                   
                                 
                                 ) 
                               
                               2 
                             
                           
                           + 
                           
                             
                               Z 
                               D 
                             
                             · 
                             
                               X 
                               1 
                             
                             · 
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     2 
                                   
                                   · 
                                   
                                     Z 
                                     1 
                                   
                                 
                                 ) 
                               
                               . 
                             
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
     
         11 . An apparatus for performing a fault detection operation, comprising:
 a first-coordinate computing unit receiving a first point and a second point in a binary finite field, the first and second points established based on a basic point within a given elliptic curve, each of the first and second points including a first coordinate value and a second coordinate value, the first-coordinate computing unit performing a first addition operation on the first point and the second point to compute a third coordinate value; and   a second-coordinate computing unit performing a second addition operation on the first and second points to compute a fourth coordinate value, the first and second addition operations computed based on at least one of a difference between the first coordinate values of the first and second points and a difference between the second coordinate values of the first and second points.   
     
     
         12 . The apparatus of  claim 11 , wherein the first and second coordinate computing units are included within an elliptic curve cryptography system employing a fast Montgomery power ladder algorithm (FMPLA). 
     
     
         13 . The method of  claim 11 , wherein the first coordinate values and the third coordinate value correspond to X-axis coordinates and the second coordinate values and the fourth coordinate value correspond to Z-axis coordinates. 
     
     
         14 . The apparatus of  claim 13 , wherein, if the first point is denoted as P 1 (X 1 , Z 1 ), the second point is denoted as P 2 (X 2 , Z 2 ), a difference point between P 1  and P 2  is denoted as P D (X D ,Z D ), the third coordinate value is denoted as X 3 , the fourth coordinate value is denoted as Z 3 , and a resultant point is denoted as P 3 (X 3 , Z 3 ), the first and second additional operations are respectively represented as follows: 
       
         
           
             
                 
               
                 { 
                 
                   
                     
                       
                         
                           Z 
                           3 
                         
                         = 
                         
                           
                             Z 
                             D 
                           
                           · 
                           
                             
                               ( 
                               
                                 
                                   
                                     X 
                                     1 
                                   
                                   · 
                                   
                                     Z 
                                     2 
                                   
                                 
                                 + 
                                 
                                   
                                     X 
                                     2 
                                   
                                   · 
                                   
                                     Z 
                                     1 
                                   
                                 
                               
                               ) 
                             
                             2 
                           
                         
                       
                     
                   
                   
                     
                       
                         
                           X 
                           3 
                         
                         = 
                         
                           
                             
                               X 
                               D 
                             
                             · 
                             
                               
                                 ( 
                                 
                                   
                                     
                                       X 
                                       1 
                                     
                                     · 
                                     
                                       Z 
                                       2 
                                     
                                   
                                   + 
                                   
                                     
                                       X 
                                       2 
                                     
                                     · 
                                     
                                       Z 
                                       1 
                                     
                                   
                                 
                                 ) 
                               
                               2 
                             
                           
                           + 
                           
                             
                               Z 
                               D 
                             
                             · 
                             
                               ( 
                               
                                 
                                   X 
                                   1 
                                 
                                 · 
                                 
                                   Z 
                                   2 
                                 
                               
                               ) 
                             
                             · 
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     2 
                                   
                                   · 
                                   
                                     Z 
                                     1 
                                   
                                 
                                 ) 
                               
                               . 
                             
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
     
         15 . The apparatus of  claim 14 , wherein the first-coordinate computing unit includes:
 a first multiplier computing a first multiplication value (X 1 ×Z 2 ) by multiplying X 1  by Z 2 ,   a second multiplier computing a second multiplication value (X 2 ×Z 1 ) by multiplying X 2  by Z 1 ;   a first adder computing a first addition value (X 1 ×Z 2 +X 2 ×Z 1 ) by adding the first multiplication value and the second multiplication value;   a squaring unit computing a square (X 1 ×Z 2 +X 2 ×Z 1 ) 2  by squaring the first addition value;   a third multiplier computing a third multiplication value (X D ×(X 1 ×Z 2 )+X 2 ×Z 1 ) 2  by multiplying the first square by X D ;   a fourth multiplier computing a fourth multiplication value ((X 1 ×Z 2 )×X 2 ×Z 1 )) by multiplying the first multiplication value by the second multiplication value;   a fifth multiplier computing a fifth multiplication value (Z D ×(X 1 ×<Z 2 )+X 2 ×Z 1 )) by multiplying the fourth multiplication value by Z D ; and   a second adder computing the third coordinate value (X 3 ) by adding the third multiplication value and the fifth multiplication value.   
     
     
         16 . The apparatus of  claim 15 , wherein the squaring unit multiplies the first addition value by the first addition value 
     
     
         17 . The apparatus of  claim 14 , wherein the second computing unit includes:
 a first multiplier computing a first multiplication value (X 1 ×Z 2 ) by multiplying X 1  by Z 2 ;   a second multiplier computing a second multiplication value (X 2 ×Z 1 ) by multiplying X 2  by Z 1 ;   a first adder computing a first addition value (X 1 ×Z 2 +X 2 ×Z 1 ) by adding the first multiplication value and the second multiplication value;   a squaring unit computing a square ((X 1 ×Z 2 +X 2 ×Z 1 ) 2 ) by squaring the first addition value; and   a -third multiplier computing the fourth coordinate value (Z 3 ) by multiplying the first multiplication by Z D .   
     
     
         18 . The apparatus of  claim 17 , wherein the squaring unit multiplies the first addition value by the first addition value. 
     
     
         19 . The apparatus of  claim 11 , wherein the second coordinate of the second point has a fixed value. 
     
     
         20 . The apparatus of  claim 19 , wherein the first and second coordinate computing units are included within an elliptic curve cryptography system employing a fast Montgomery power ladder algorithm (FMPLA). 
     
     
         21 . The method of  claim 20 , wherein the first coordinate values and the third coordinate value correspond to X-axis coordinates and the second coordinate values and the fourth coordinate value correspond to Z-axis coordinates. 
     
     
         22 . The apparatus of  claim 21 , wherein the second coordinate of the second point is equal to “1”. 
     
     
         23 . The apparatus of  claim 22 , wherein, if the first point is denoted as P 1 (X 1 , Z 1 ), the second point is denoted as P 2 (X 2 , 1), a difference point between P 1  and P 2  is denoted as P D (X D ,Z D ), the third coordinate value is denoted as X 3 , the fourth coordinate value is denoted as Z 3 , and a resultant point is denoted as P 3 (X 3 , Z 3 ), the first and second additional operations are respectively represented as follows: 
       
         
           
             
                 
               
                 { 
                 
                   
                     
                       
                         
                           Z 
                           3 
                         
                         = 
                         
                           
                             Z 
                             D 
                           
                           · 
                           
                             
                               ( 
                               
                                 
                                   X 
                                   1 
                                 
                                 + 
                                 
                                   
                                     X 
                                     2 
                                   
                                   · 
                                   
                                     Z 
                                     1 
                                   
                                 
                               
                               ) 
                             
                             2 
                           
                         
                       
                     
                   
                   
                     
                       
                         
                           X 
                           3 
                         
                         = 
                         
                           
                             
                               X 
                               D 
                             
                             · 
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     1 
                                   
                                   + 
                                   
                                     
                                       X 
                                       2 
                                     
                                     · 
                                     
                                       Z 
                                       1 
                                     
                                   
                                 
                                 ) 
                               
                               2 
                             
                           
                           + 
                           
                             
                               Z 
                               D 
                             
                             · 
                             
                               X 
                               1 
                             
                             · 
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     2 
                                   
                                   · 
                                   
                                     Z 
                                     1 
                                   
                                 
                                 ) 
                               
                               . 
                             
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
     
         24 . The apparatus of  claim 23 , wherein the first-coordinate computing unit includes:
 a first multiplier computing a first multiplication value (X 2 ×Z 1 ) by multiplying X 2  by Z 1 ;   a first adder computing a first addition value (X 1 +X 2 ×Z 1 ) by adding the first multiplication value and X 1 ;   a squaring unit computing a square ((X 1 ×Z 2 +X 2 ×Z 1 ) 2 ) by squaring the first addition value;   a second multiplier computing a second multiplication value (X D ×(X 1 ×Z 2 +X 2 ×Z 1 ) 2 ) by multiplying the first square by X D ;   a third multiplier computing a third multiplication value (X 1 ×(X 2 ×Z 1 )) by multiplying the first multiplication value by X 1 ;   a fourth multiplier computing a fourth multiplication value (Z D ×X 1 ×(X 2 ×Z 1 )) by multiplying the third multiplication value by Z D ; and   a second adder computing an the third coordinate value (X 3 ), by adding the second multiplication value and the fourth multiplication value.   
     
     
         25 . The apparatus of  claim 24 , wherein the squaring unit multiplies the first addition value by the first addition value. 
     
     
         26 . The apparatus of  claim 23 , wherein the second computing unit includes:
 a first multiplier computing a first multiplication value (X 2 ×Z 1 ) by multiplying X 2  by Z 1 ;   a first adder computing a first addition value (X 1 +X 2 ×Z 1 ) by adding the first multiplication value and X 1 ;   a squaring unit computing a first square ((X 1 +X 2 ×Z 1 ) 2 ) by squaring the first addition value; and   a third multiplier computing the fourth coordinate value (Z 3 ) by multiplying the first square by Z D .   
     
     
         27 . The apparatus of  claim 26 , wherein the first squaring unit multiplies the first addition value by the first addition value.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.