US2012275593A1PendingUtilityA1

Apparatus for performing a fault detection operation and method thereof

Assignee: VASYLTSOV IHORPriority: Aug 4, 2006Filed: Jun 5, 2012Published: Nov 1, 2012
Est. expiryAug 4, 2026(~0 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.

Join the waitlist — get patent alerts

Track US2012275593A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.