P
USRE44594EExpiredUtilityPatentIndex 45

Method and circuit for data encryption/decryption

Assignee: MACCHETTI MARCOPriority: Oct 10, 2001Filed: May 29, 2012Granted: Nov 12, 2013
Est. expiryOct 10, 2021(expired)· nominal 20-yr term from priority
Inventors:MACCHETTI MARCOMARCHESIN STEFANOBONDI UMBERTOBREVEGLIERI LUCABERTONI GUIDOFRAGNETO PASQUALINA
H04L 9/0631H04L 2209/24H04L 2209/12
45
PatentIndex Score
0
Cited by
12
References
45
Claims

Abstract

Data are converted between an unencrypted and an encrypted format according to the Rijndael algorithm, including a plurality of rounds. Each round is comprised of a fixed set of transformations applied to a two-dimensional array, designating states, of rows and columns of bit words. At least a part of the transformations are applied on a transposed version of the state, wherein rows and columns are transposed for the columns and rows, respectively.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A method of converting data between an unencrypted format and an encrypted format, the data being organized in bit words and being stored in at least one register, the method comprising:
 using a circuit cooperating with the at least one register to convert the data by at least performing a plurality of transformation rounds, each transformation round having a respective round key and comprising applying at least one transformation to a two-dimensional array of rows and columns of bit words defining a state array, 
 exchanging each of the rows with a respective column of the state array to form a transposed state array for at least one of the transformation rounds so that the at least one transformation is applied to the transposed state array, 
 transposing the respective round key, and 
 applying the respective transposed round key to the state array in at least one of the transformation rounds; and 
 using the circuit to transpose an output of a final round from the plurality of transformation rounds. 
 
     
     
       2. A method according to  claim 1  wherein the bit words are 8-bit words. 
     
     
       3. A method according to  claim 1  wherein the state array is a 4×4 matrix of bit words. 
     
     
       4. A method according to  claim 1  wherein the plurality of transformation rounds comprises at least 10 transformation rounds. 
     
     
       5. A method according to  claim 1  wherein performing further comprises performing at least one transformation round on a non-transposed state array. 
     
     
       6. A method according to  claim 1  further comprising adding code to transpose the respective round key for each of the plurality of transformation rounds. 
     
     
       7. A method according to  claim 1  wherein each respective round key is applied according to a round key schedule. 
     
     
       8. A method according to  claim 7  wherein the round key schedule comprises a transposed round key schedule. 
     
     
       9. A device for converting data between an unencrypted format and an encrypted format, the device comprising:
 at least one register configured to store the data in the form of bit words; and 
 a circuit configured to convert the data by at least
 performing a plurality of transformation rounds, each transformation round having a respective round key and comprising
 applying at least one transformation to a two-dimensional array of rows and columns of bit words defining a state array, 
 exchanging each of the rows with a respective column of the state array to form a transposed state array for at least one of the transformation rounds so that at least one transformation is applied to the transposed state array, 
 transposing the respective round key, and 
 applying the respective transposed round key to the state array in at least one of the transformation rounds, and 
 
 transposing an output of a final round from the plurality of transformation rounds. 
 
 
     
     
       10. A device according to  claim 9  wherein said at least one register is configured to store bit words as 8-bit words. 
     
     
       11. A device according to  claim 9  wherein said circuit is a decoder for converting data from an encrypted data format to an unencrypted data format. 
     
     
       12. A device according to  claim 9  wherein said circuit is configured to operate on a state array comprising a 4×4 matrix of bit words. 
     
     
       13. A device according to  claim 9  wherein said circuit is configured to perform a plurality of transformation rounds performs at least 10 transformation rounds. 
     
     
       14. A device according to  claim 9  wherein said circuit comprises at least one S-box processing module, said at least one S-box processing module being configured to operate on a group of bit words defining a cell of a column of the state array. 
     
     
       15. A device according to  claim 14  wherein the at least one S-box processing module comprises a plurality of S-box modules, each of the plurality of S-box modules being configured to operate on a corresponding cell of a column of the state array. 
     
     
       16. A device according to  claim 15  wherein the colunm of the state array comprises four cells. 
     
     
       17. A device according to  claim 9  wherein the circuit further comprises a plurality of shift column modules, each of said plurality of shift column modules being configured to perform a column shift operation on a column of the state array. 
     
     
       18. A device according to  claim 17  wherein a column shift operation performed by each of said plurality of shift column modules generates shift column data, and wherein said circuit further comprises a single mix column module to perform column mix operations on shift column data. 
     
     
       19. A device according to  claim 9  wherein said circuit is an encoder for converting data from an unencrypted data format to an encrypted data format. 
     
     
       20. A device according to  claim 19  wherein said circuit is an embedded system for use in a smart card. 
     
     
       21. A device according to  claim 11  wherein said circuit is an embedded system for use in a smart card. 
     
     
       22. A method of converting data between an unencrypted format and an encrypted format, the data being organized in 8-bit words and being stored in at least one register, the method comprising:
 using a circuit cooperating with the at least one register to convert the data by at least performing a plurality of transformation rounds for converting the data, each transformation round having a respective round key and comprising
 applying at least one transformation to a two-dimensional array of rows and columns of 8-bit words defining a state array comprising a 4×4 matrix of 8-bit words, 
 exchanging each of the rows with a respective column of the state array to form a transposed state array for at least one of the transformation rounds so that the at least one transformation is applied to the transposed state array, 
 transposing the respective round key, and 
 applying the respective transposed round key to the state array in at least one of the transformation rounds; and 
 using the circuit to transpose an output of a final round from the plurality of transformation rounds. 
 
 
     
     
       23. A method according to  claim 22  further comprising adding code to transpose the respective round key for each of the plurality of transformation rounds. 
     
     
       24. A method according to  claim 22  wherein each respective round key is applied according to a round key schedule. 
     
     
       25. A method of converting data between an unencrypted format and an encrypted format, the data being organized in bit words and being stored in at least one storage element, the method comprising:
 using a circuit cooperating with the at least one storage element to convert the data by at least performing a plurality of transformation rounds, each transformation round having a respective round key and comprising
 applying at least one transformation to a two-dimensional array of rows and columns of bit words defining a state array, 
 exchanging each of the rows with a respective column of the state array to form a transposed state array for at least one of the transformation rounds so that the at least one transformation is applied to the transposed state array, 
 transposing the respective round key, and 
 applying the respective transposed round key to the state array in at least one of the transformation rounds; and 
   using the circuit to transpose an output of a final round from the plurality of transformation rounds.    
     
     
       26. A method according to claim 25 wherein the bit words are 8-bit words.  
     
     
       27. A method according to claim 25 wherein the state array is a 4×4 matrix of bit words.  
     
     
       28. A method according to claim 25 wherein the plurality of transformation rounds comprises at least 10 transformation rounds.  
     
     
       29. A method according to claim 25 wherein performing further comprises performing at least one transformation round on a non-transposed state array.  
     
     
       30. A method according to claim 25 further comprising adding code to transpose the respective round key for each of the plurality of transformation rounds.  
     
     
       31. A method according to claim 25 wherein each respective round key is applied according to a round key schedule.  
     
     
       32. A method according to claim 31 wherein the round key schedule comprises a transposed round key schedule.  
     
     
       33. A device for converting data between an unencrypted format and an encrypted format, the device comprising:
 at least one storage element configured to store the data in the form of bit words; and   a circuit configured to convert the data by at least
 performing a plurality of transformation rounds, each transformation round having a respective round key and comprising
 applying at least one transformation to a two-dimensional array of rows and columns of bit words defining a state array, 
 exchanging each of the rows with a respective column of the state array to form a transposed state array for at least one of the transformation rounds so that at least one transformation is applied to the transposed state array, 
 transposing the respective round key, and 
 applying the respective transposed round key to the state array in at least one of the transformation rounds, and 
 
 transposing an output of a final round from the plurality of transformation rounds.  
   
     
     
       34. A device according to claim 33 wherein said at least one storage element is configured to store bit words as 8-bit words.  
     
     
       35. A device according to claim 33 wherein said circuit is configured to operate on a state array comprising a 4×4 matrix of bit words.  
     
     
       36. A device according to claim 33 wherein said circuit is configured to perform a plurality of transformation rounds performs at least 10 transformation rounds.  
     
     
       37. A device according to claim 33 wherein said circuit comprises at least one S-box processing module, said at least one S-box processing module being configured to operate on a group of bit words defining a cell of a column of the state array.  
     
     
       38. A device according to claim 37 wherein the at least one S-box processing module comprises a plurality of S-box modules, each of the plurality of S-box modules being configured to operate on a corresponding cell of a column of the state array.  
     
     
       39. A device according to claim 38 wherein the column of the state array comprises four cells.  
     
     
       40. A device according to claim 33 wherein the circuit further comprises a plurality of shift column modules, each of said plurality of shift column modules being configured to perform a column shift operation on a column of the state array.  
     
     
       41. A device according to claim 40 wherein a column shift operation performed by each of said plurality of shift column modules generates shift column data, and wherein said circuit further comprises a single mix column module to perform column mix operations on shift column data.  
     
     
       42. A device according to claim 33 wherein said circuit is an encoder for converting data from an unencrypted data format to an encrypted data format.  
     
     
       43. A device according to claim 42 wherein said circuit is an embedded system for use in a smart card.  
     
     
       44. A device according to claim 33 wherein said circuit is a decoder for converting data from an encrypted data format to an unencrypted data format.  
     
     
       45. A device according to claim 44 wherein said circuit is an embedded system for use in a smart card.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.