JP2005534973A - Method and apparatus for manipulating data within a finite body - Google Patents

Method and apparatus for manipulating data within a finite body Download PDF

Info

Publication number
JP2005534973A
JP2005534973A JP2004525729A JP2004525729A JP2005534973A JP 2005534973 A JP2005534973 A JP 2005534973A JP 2004525729 A JP2004525729 A JP 2004525729A JP 2004525729 A JP2004525729 A JP 2004525729A JP 2005534973 A JP2005534973 A JP 2005534973A
Authority
JP
Japan
Prior art keywords
representation
data
transformation
processed
conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004525729A
Other languages
Japanese (ja)
Inventor
ギュエロン,シャイ
ズク,オール
Original Assignee
ディスクレティックス・テクノロジーズ・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ディスクレティックス・テクノロジーズ・リミテッド filed Critical ディスクレティックス・テクノロジーズ・リミテッド
Publication of JP2005534973A publication Critical patent/JP2005534973A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7209Calculation via subfield, i.e. the subfield being GF(q) with q a prime power, e.g. GF ((2**m)**n) via GF(2**m)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Abstract

本発明の実施形態は、GF(22s)をGF((2)表現に変換し(102)、GF((2)表現においてGF(22s)の場合と等価な演算を実行する(104)ことによって、GF(22s)表現で与えられるデータを操作するための、例えば、GF(22s)表現で与えられるデータに対して少なくともいくつかのAES暗号化および/または復号化演算を実行するための方法および装置を提供する。The embodiment of the present invention converts GF (2 2s ) into a GF ((2 s ) 2 ) expression (102), and performs an operation equivalent to the case of GF (2 2s ) in the GF ((2 s ) 2 ) expression. the run by (104), GF (2 2s ) for manipulating the data given by the expression, for example, GF (2 2s) at least some of the AES encryption for data given by the expression and / or A method and apparatus for performing a decoding operation is provided.

Description

本発明は、有限体内での計算、および有限体の表現間の変換に関する。   The present invention relates to calculations within a finite body and conversion between representations of a finite field.

高度暗号標準(AES)は、ラインダール(Rijndael)ブロック暗号アルゴリズム(「ラインダールアルゴリズム」)を提供し、このアルゴリズムは、入力バイトxに関するバイトサブ(ByteSub)ビットレベルの演算を含む。バイトサブ演算は、暗号化モードと復号化モードを含む。暗号化モードは、逆演算とアフィン変換の組み合わせを含み、例えば、Aおよびbを所定のパラメータとした場合、xは、Ax−1+bに変換される。復号化モードは、アフィン変換とそれに続く逆演算の組み合わせを含み、例えば、xは、(A−1(x+b))−1に変換される。AESによれば、逆変換は、ガロア体GF(2)上で前もって形成される。体は、簡約多項式p(t)=t+t+t+t+1を使用して、多項式で表現される。 The Advanced Encryption Standard (AES) provides a Rijndael block cipher algorithm (“Rijndahl algorithm”), which includes byte sub (ByteSub) bit-level operations on the input byte x. The byte sub-operation includes an encryption mode and a decryption mode. The encryption mode includes a combination of inverse operation and affine transformation. For example, when A and b are predetermined parameters, x is converted to Ax −1 + b. The decoding mode includes a combination of affine transformation and subsequent inverse operation. For example, x is converted to (A −1 (x + b)) −1 . According to AES, the inverse transform is pre-formed on the Galois field GF (2 8 ). The field is represented in polynomial form using the reduction polynomial p (t) = t 8 + t 4 + t 3 + t + 1.

他にも、GF(2)において逆演算を実行する周知のブロック暗号アルゴリズムが存在する。それらのアルゴリズムには、例えば、K.Aoki他により「Specification of Camellia−a 128−bit Block Cipher」、http://info.isl.ntt.co.jp/camellia/で説明されている、カメリア(Camellia)暗号アルゴリズムや、H.Leeにより「Zodiac Block Cipher Proposal」、http://www.safedigm.com/productpds/download/Safedigm_Zodiac.pdfで説明されている、ゾディアック(Zodiac)暗号アルゴリズムが含まれる。 In addition, there is a known block cipher algorithm that performs an inverse operation on GF (2 8 ). For example, K.K. "Specification of Camellia-a 128-bit Block Cipher" by Aoki et al., Http: // info. isl. ntt. co. the Camellia encryption algorithm described in jp / cameria / Lee, “Zodiac Block Cipher Proposal”, http: // www. safedigm. com / productpds / download / Safedigm_Zodiac. The Zodiac cryptographic algorithm described in pdf is included.

AESの一方法は、Sボックス(S−Box)と呼ばれる、2つの参照用テーブルを実装し、GF(2)を使用する場合、各テーブルは、xが取り得る256個の値に相当する256個の値を含む。暗号用Sボックスは、Ax−1+bの256個の値を含み、復号用Sボックスは、(A−1(x+b))−1の256個の値を含む。AESの別の方法は、xの逆元、すなわち、x−1の256個の値を含む、F(x)で示される1つのテーブルを実装する。この方法は、256個の値を含むテーブルを1つ格納する必要があるだけでなく、xにAまたはA−1を乗算し、bを加算することによって、暗号化/復号化アフィン変換を実行するための追加の回路も必要とする。したがって、ラインダールアルゴリズムによって定義される1組の計算を伴う、AES Sボックスの従来の実装は、全体として十分に効率的とはいえない。 One method of AES implements two lookup tables called S-boxes, and when using GF (2 8 ), each table corresponds to 256 possible values of x. Contains 256 values. The encryption S box includes 256 values of Ax −1 + b, and the decryption S box includes 256 values of (A −1 (x + b)) −1 . Another method of AES is, x the inverse element, i.e., containing 256 values of x -1, implement one of the tables represented by F (x). This method not only needs to store one table containing 256 values, but also performs encryption / decryption affine transformation by multiplying x by A or A -1 and adding b Requires additional circuitry to do that. Thus, conventional implementations of AESS boxes with a set of calculations defined by the Rheindahl algorithm are not fully efficient overall.

AESの従来のハードウェアによる実施では、複数個の、例えば、16個のSボックスを必要とするので、より効率的なSボックスを設計すれば、AES実施の複雑さを著しく緩和することができるであろう。   Since the conventional hardware implementation of AES requires multiple, for example, 16 S-boxes, the complexity of AES implementation can be significantly reduced if a more efficient S-box is designed. Will.

V.Rijmenによる「Efficient implementation of the Rijndael S−Box」、http://www.esat.kuleuven.ac.be/〜rijmen/rijndael/sbox.pdf(「ライメン文献」)に、GF(2)の拡大としてのGF(2)の表現に基づく1組の計算を使用することによって、AES Sボックスの効率を改善できることが示唆されている。しかし、ライメン文献では、どのようにすればそのような表現を実現できるかについて、開示も、示唆も、または暗示もされていない。さらに、ライメン文献では、拡大GF(2)に基づくAES Sボックスが実装できたとしても、優れたVHDLコンパイラが使用されるなら、そのような実装は実用的には用をなさないと結論づけられている。したがって、ライメン文献は、拡大GF(2)に基づいてAES Sボックスを実装する方法の探求については教示していない。 V. “Efficient implementation of the Rijndael S-Box” by Rijmen, http: // www. esat. kuleuven. ac. be / ~ rijmen / rijndael / sbox. It has been suggested in pdf (“Limen literature”) that the efficiency of the AES S box can be improved by using a set of calculations based on the representation of GF (2 8 ) as an extension of GF (2 4 ). . However, the Leimen literature does not disclose, suggest or suggest how such an expression can be realized. Furthermore, in the Limen literature, even if an AES S box based on the extended GF (2 4 ) could be implemented, it would be concluded that such an implementation would not be practical if a good VHDL compiler was used. ing. Thus, the Leimen document does not teach the search for a way to implement an AES S box based on the expanded GF (2 4 ).

本発明の実施形態は、GF(22s)データをGF((2)表現に変換し、GF((2)表現においてGF(22s)の場合と等価な演算を実行することによって、GF(22s)表現で与えられるデータを効率的に操作するための、例えば、GF(22s)表現で与えられるデータに関して少なくともいくつかのAES暗号化および/または復号化演算を実行するための方法および装置を提供する。 The embodiment of the present invention converts GF (2 2s ) data into a GF ((2 s ) 2 ) expression, and performs an operation equivalent to the case of GF (2 2s ) in the GF ((2 s ) 2 ) expression. For efficiently manipulating data given in GF (2 2s ) representation, for example, at least some AES encryption and / or decryption operations on data given in GF (2 2s ) representation Methods and apparatus for performing are provided.

本発明の例示的な実施形態は、拡大GF(2)に基づいてAES Sボックスを実装する際の根本的な問題、例えば、変換および演算の全体的手順が従来の実装よりも効率的になるように、GF(2)表現のデータをGF((2)表現に効率的に変換しようとする際に特有の問題を解決することができる。 The exemplary embodiment of the present invention is more fundamental in implementing AES S boxes based on the extended GF (2 4 ), for example, the overall procedure of transformation and computation is more efficient than conventional implementations. Thus, it is possible to solve a specific problem when attempting to efficiently convert GF (2 8 ) representation data into GF ((2 4 ) 2 ) representation.

本発明の実施形態によるデータを操作する方法は、GF(22s)データをGF((2)表現の対応するデータに変換するステップを含むことができる。これは、GF(22s)データに、GF(22s)表現からGF((2)表現への所定の表現変換に関連する変換演算子を作用させることによって達成することができる。例えば、変換演算子は、線形変換と所定の表現変換の組み合わせを含むことができる。いくつかの実施形態では、変換演算子は、表現変換だけに関連することができる。変換演算子は、所望の変換に対応する表現変換行列を含むことができる。表現変換行列は、例えば、回路実装面積の最小化など、所望の基準に照らして可能性のある表現変換行列の集合から選択することができる。この行列の集合に属する各行列は、2つの体生成元、すなわち、GF(22s)表現上の既約多項式の根と、GF((2)表現の体生成元によって定義することができる。GF((2)表現は、GF(2)上の既約簡約多項式と、GF(2)上の拡大多項式、例えば、GF(2)上の2次の既約多項式とによって定義することができる。 A method for manipulating data according to an embodiment of the present invention may include converting GF (2 2s ) data to corresponding data in a GF ((2 s ) 2 ) representation. This can be accomplished by acting on the GF (2 2s ) data with a conversion operator associated with a given expression conversion from the GF (2 2s ) representation to the GF ((2 s ) 2 ) representation. For example, the transformation operator can include a combination of linear transformation and a predetermined expression transformation. In some embodiments, the conversion operator can be associated with representation conversion only. The transformation operator can include a representation transformation matrix corresponding to the desired transformation. The expression conversion matrix can be selected from a set of possible expression conversion matrices in light of a desired criterion, for example, minimization of circuit mounting area. Each matrix belonging to the set of matrices is defined by two field generators, that is, a root of an irreducible polynomial in the GF (2 2s ) representation and a field generator of the GF ((2 s ) 2 ) representation. Can do. GF ((2 s) 2) representation, and irreducible reduction polynomial over GF (2 s), expanded polynomial over GF (2 s), for example, a second-order irreducible polynomial over GF (2 s) Can be defined by

いくつかの実施形態によれば、上記の方法はまた、GF((2)データ上で、GF(22s)表現での少なくとも1つの所望の演算と等価な少なくとも1つの演算を実行して、処理されたGF((2)データを取得するステップも含む。この方法はまた、処理されたGF((2)データを、GF(22s)表現に変換し直すステップも含む。これは、処理されたGF((2)データに、所定の表現変換に関連する逆変換演算子を作用させることによって達成することができる。例えば、逆変換演算子は、線形変換と所定の表現変換の逆変換の組み合わせを含むことができる。 According to some embodiments, the above method also performs at least one operation on the GF ((2 s ) 2 ) data equivalent to at least one desired operation in the GF (2 2s ) representation. And obtaining the processed GF ((2 s ) 2 ) data. The method also includes translating the processed GF ((2 s ) 2 ) data into a GF (2 2s ) representation. This can be achieved by applying an inverse transformation operator associated with a given expression transformation to the processed GF ((2 s ) 2 ) data. For example, the inverse transformation operator can include a combination of linear transformation and inverse transformation of a predetermined expression transformation.

本発明のいくつかの実施形態によれば、表現変換行列を決定するための方法が提供される。この方法は、組み立ておよび/またはシミュレートによって、複数の回路を合成するステップを含むことができ、各回路は、GF(22s)表現からGF((2)表現への表現変換行列、および/またはその表現変換行列の逆行列に対応する。上記の方法はまた、例えば、最小回路面積など、所定の最適化基準に照らして、行列の集合の中から1つを選択するステップも含む。 According to some embodiments of the invention, a method for determining a representation transformation matrix is provided. The method may include synthesizing and / or simulating a plurality of circuits, each circuit representing an expression transformation matrix from a GF (2 2s ) representation to a GF ((2 s ) 2 ) representation. , And / or the inverse of its representation transformation matrix. The method also includes selecting one of the set of matrices in light of a predetermined optimization criterion, such as a minimum circuit area.

本発明のいくつかの例示的な実施形態によれば、少なくともいくつかのAES Sボックス暗号化演算および/または復号化演算を実行するための方法、システム、および装置が提供される。本発明のいくつかの例示的な実施形態によれば、AES装置によって暗号化および/または復号化されるGF(2)入力データは、GF(2)表現からGF((2)表現のデータに変換することができる。いくつかの実施形態によれば、変換は、線形変換、および/またはGF(2)表現からGF((2)表現への所定の表現変換を含むことができる。GF(2)AES暗号化演算および/または復号化演算と等価のGF(2)演算をGF((2)上で実行して、処理されたGF((2)データを取得することができる。処理されたGF((2)データは、後でGF(2)表現に変換し直すことができる。これらの実施形態によれば、例えば、データをGF((2)表現に変換し、等価な暗号化演算/復号化演算を実行し、処理されたデータをGF(2)表現に変換し直すといった、処理全体のハードウェアによる実施を、AES Sボックスの従来のハードウェア実施よりも著しく効率的にすることができる。 In accordance with some exemplary embodiments of the present invention, methods, systems, and apparatus are provided for performing at least some AES S box encryption and / or decryption operations. According to some exemplary embodiments of the present invention, GF (2 8 ) input data that is encrypted and / or decrypted by an AES device is derived from a GF (2 8 ) representation to GF ((2 4 ) 2 ) Can be converted into representation data. According to some embodiments, the transformation can include a linear transformation and / or a predetermined representation transformation from a GF (2 8 ) representation to a GF ((2 4 ) 2 ) representation. A GF (2 4 ) operation equivalent to a GF (2 8 ) AES encryption and / or decryption operation is performed on GF ((2 4 ) 2 ) and processed GF ((2 4 ) 2 ) Data can be acquired. The processed GF ((2 4 ) 2 ) data can later be converted back to a GF (2 8 ) representation. According to these embodiments, for example, data is converted into a GF ((2 4 ) 2 ) representation, an equivalent encryption / decryption operation is performed, and the processed data is converted into a GF (2 8 ) representation. The hardware implementation of the entire process, such as re-conversion, can be significantly more efficient than the conventional hardware implementation of the AESS box.

本発明のさらなる例示的な実施形態によれば、AES Sボックスを実施するのに適した安全なメモリ記憶装置が提供される。記憶装置は、記憶されたGF(2)データをGF((2)表現に変換するように適合される入力変換モジュールを含むことができる。入力変換モジュールは、復号変換回路と暗号変換回路を含むことができる。記憶装置はさらに、GF((2)データ上で演算を実行し、処理されたGF((2)データを提供するように適合される演算モジュールを含むことができる。演算モジュールによって実行される演算は、GF(2)AES暗号化演算/復号化演算と等価なものとすることができる。記憶装置はさらに、処理されたGF((2)データをGF(2)表現に変換し直すように適合される出力逆変換モジュールを含むことができる。出力逆変換モジュールは、復号逆変換回路と暗号逆変換回路を含むことができる。 In accordance with a further exemplary embodiment of the present invention, a secure memory storage device suitable for implementing an AES S box is provided. The storage device can include an input conversion module adapted to convert the stored GF (2 8 ) data into a GF ((2 4 ) 2 ) representation. The input conversion module can include a decryption conversion circuit and a cryptographic conversion circuit. Memory device further, GF ((2 4) 2) performs operations on the data, the treated GF ((2 4) 2) data may include an operational module is adapted to provide. The operations performed by the operation module can be equivalent to GF (2 8 ) AES encryption / decryption operations. The storage device can further include an output inverse transform module adapted to transform the processed GF ((2 4 ) 2 ) data back into a GF (2 8 ) representation. The output reverse conversion module can include a decryption reverse conversion circuit and a cryptographic reverse conversion circuit.

本発明と見なされる主題は、本明細書の結びの部分において詳細に指摘され、明確に特許請求される。しかし、本発明は、その構造および演算方法に関して、さらにその目的、特徴、および利点に関して、以下の詳細な説明を添付の図面と併せて読むことによって、最もよく理解することができるであろう。   The subject matter which is regarded as the invention is pointed out with particularity and clearly claimed in the concluding portion of the specification. However, the present invention may be best understood by referring to the following detailed description in conjunction with the accompanying drawings in terms of its structure and method of operation, as well as its objects, features, and advantages.

簡潔かつ明瞭に図示するため、図に示された要素は、必ずしも正確にまたは実寸比で描かれてはいないことを理解されたい。例えば、明瞭にするため、いくつかの要素の大きさが、その他の要素、または1つの要素に含まれる複数の物理的構成要素に比べて誇張されることがある。さらに、適当と考えられる場合には、同じ参照番号を複数の図で重複して使用して、対応する要素または類似する要素であることを示す。これらの図は、本発明の実施形態の例を提示するものであって、本発明の範囲を限定することを意図したものではないことを理解されたい。   It should be understood that the elements shown in the figures are not necessarily drawn to scale or scale for the sake of simplicity and clarity. For example, for the sake of clarity, the size of some elements may be exaggerated compared to other elements or multiple physical components contained in one element. In addition, where considered appropriate, the same reference numbers are used in multiple figures to indicate corresponding or similar elements. It should be understood that these figures present examples of embodiments of the invention and are not intended to limit the scope of the invention.

以下の詳細な説明では、本発明を完全に理解できるように、多くの特定の細部について説明する。しかし、それらの特定の細部がなくても本発明を実施できる場合があることは、当業者であれば理解されるであろう。また、本発明が際立たなくなることがないように、よく知られている方法、手順、構成要素については詳しく説明しない。   In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, those skilled in the art will appreciate that the invention may be practiced without these specific details. In other instances, well known methods, procedures, and components have not been described in detail so that the present invention does not stand out.

以下の詳細な説明では、GF(22s)という表記は、p(t)を法とするGF(2)上の複数の多項式からなる、GF(2)の拡大体である位数22sのガロア体(GF)の表現とする。ただし、p(t)は、GF(2)上の次数2sの既約多項式である。GF(22s)表現の多項式は、2s個のビットの列によって表すことができる。GF(22s)表現の要素xは、2s桁の2進数x=[x2s−l2s−2...x]によって定義することができる。ただし、xは、対応する多項式、例えば、x2s−12s−1+x2s−22s−2+...+xt+xにおけるtの係数である。 In the following detailed description, the notation GF (2 2s) is, p (t) is composed of a plurality of polynomials over GF (2) modulo, GF of order 2 2s of an enlarged body (2) It is expressed as a Galois field (GF). However, p (t) is an irreducible polynomial of degree 2s on GF (2). A polynomial in GF (2 2s ) representation can be represented by a sequence of 2s bits. The element x of the GF (2 2s ) representation is a 2s-digit binary number x = [x 2s-1 x 2s-2 . . . x 1 x 0 ]. Where x i is a corresponding polynomial, such as x 2s-1 t 2s-1 + x 2s-2 t 2s-2 +. . . It is a coefficient of t i in + x 1 t + x 0.

GF((2)という表記は、r(t)を法とするGF(2)上の複数の多項式からなる、GF(2)の拡大体である位数22sのGFの表現とする。ただし、r(t)は、GF(2)上の次数2の既約多項式であり、すなわち、αとβをGF(2)の要素とした場合、r(t)=t+αt+βとなる。GF(2)は、q(t)を法とするGF(2)上の複数の多項式からなる、GF(2)の拡大体として表現される。ただし、q(t)は、GF(2)上の次数sの既約多項式である。GF((2)表現の要素zは、線形多項式z<m>t+z<l>を表す、2s桁の2進数z=[z2s−l2s−2...z]によって定義することができ、z<m>=[z2s−l...zs+1]およびz<l>=[zs−l...z]は、q(t)を法とする多項式によって表されるGF(2)の要素である。 GF notation ((2 s) 2) is, r (t) is composed of a plurality of polynomials over GF (2 s) modulo, GF (2 s) of order 2 2s of GF of an enlarged body Let it be an expression. However, r (t) is an irreducible polynomial of degree 2 on GF (2 s ), that is, when α and β are elements of GF (2 s ), r (t) = t 2 + αt + β Become. GF (2 s ) is expressed as an extension field of GF (2) composed of a plurality of polynomials on GF (2) modulo q (t). Where q (t) is an irreducible polynomial of degree s on GF (2). The element z of the GF ((2 s ) 2 ) expression represents a linear polynomial z <m> t + z <l> , a 2s-digit binary number z = [z 2s−l z 2s− 2 . . . z 1 z 0 ], z <m> = [z 2s−1 . . . z s + 1 z s ] and z <l> = [z s−1 . . . z 1 z 0 ] is an element of GF (2 s ) represented by a polynomial modulo q (t).

本発明の実施形態による、データを操作する方法のフローチャートを概略的に示した図1を参照する。
ブロック102に示すように、この方法は、以下で詳しく説明するように、GF(22s)データに変換演算子を作用させることによって、GF(22s)表現のデータを、GF(22s)の拡大に相当するGF((2)表現の対応するデータに変換するステップを含む。
Reference is made to FIG. 1, which schematically illustrates a flowchart of a method for manipulating data, according to an embodiment of the present invention.
As shown in block 102, the method converts GF (2 2s ) representation data to GF (2 2s ) by applying a transformation operator to the GF (2 2s ) data, as described in detail below. Converting to corresponding data in the GF ((2 s ) 2 ) representation corresponding to the expansion of.

ブロック104に示すように、この方法はまた、以下で詳しく説明するように、GF((2)データ上で、GF(22s)表現での少なくとも1つの所望の演算と等価な少なくとも1つの演算を実行して、処理されたGF((2)データを取得するステップを含む。 As shown in block 104, the method also includes at least equivalent to at least one desired operation in the GF (2 2s ) representation on the GF ((2 s ) 2 ) data, as described in detail below. Performing one operation to obtain processed GF ((2 s ) 2 ) data.

ブロック106に示すように、この方法はさらに、以下で詳しく説明するように、処理されたGF((2)データを、GF(22s)表現に変換し直すステップを含む。
本発明のいくつかの実施形態によれば、GF(22s)データは、2以上のデータブロックを含むことができる。これらの実施形態によれば、上記の方法は、2以上のデータブロックで、GF(22s)表現での少なくとも1つの所望の演算と等価なGF((2)表現での少なくとも1つの演算を実行するように実施することができる。
As indicated at block 106, the method further includes converting the processed GF ((2 s ) 2 ) data into a GF (2 2s ) representation, as will be described in detail below.
According to some embodiments of the invention, the GF (2 2s ) data may include two or more data blocks. According to these embodiments, the above method comprises at least 1 in a GF ((2 s ) 2 ) representation equivalent to at least one desired operation in GF (2 2s ) representation with two or more data blocks. It can be implemented to perform one operation.

本発明のいくつかの例示的な実施形態によれば、上記の方法は、以下で説明するように、例えば、少なくともいくつかのAES Sボックス暗号化演算/復号化演算を実行することによって、入力データの暗号化および/または復号化の一部として使用することができる。   According to some exemplary embodiments of the present invention, the above method can be implemented by performing at least some AES S box encryption / decryption operations, for example, as described below. It can be used as part of data encryption and / or decryption.

本発明の範囲は上記の点に関して限定されるものではないが、説明を分かりやすくするため、本発明のいくつかの実施形態の説明の一部として、データを暗号化する装置および/または方法に言及することがある。さらに、本発明の実施形態は、データを復号化する装置および/または方法に関しても説明される。しかし、以下で説明される装置および/または方法を、暗号化と復号化の両方、またはそれらの組み合わせ向けにどのように変更できるかは、別段の説明がない限り、当業者には明らかであろう。   The scope of the present invention is not limited in terms of the above, but for ease of explanation, as part of the description of some embodiments of the present invention, an apparatus and / or method for encrypting data is provided. May be mentioned. Furthermore, embodiments of the present invention are also described with respect to an apparatus and / or method for decoding data. However, it will be clear to those skilled in the art, unless otherwise stated, how the apparatus and / or method described below can be modified for both encryption and decryption, or a combination thereof. Let's go.

本発明のいくつかの例示的な実施形態によれば、sは4に等しい。これらの実施形態は、GF(2)表現のデータを、GF((2)表現の対応するデータに変換するのに役立つ。 According to some exemplary embodiments of the invention, s is equal to 4. These embodiments are useful for converting GF (2 8 ) representation data into corresponding data in the GF ((2 4 ) 2 ) representation.

本発明の範囲は上記の点に関して限定されるものではないが、説明を分かりやすくするため、本発明のいくつかの例示的な実施形態の説明は、sが4に等しい、すなわち、GF(2)表現のデータをGF((2)表現に変換するための方法および/または装置に関する。しかし、sがその他の適切な値の場合に、それに合わせて、以下で説明される方法および/または装置をどのように変更したらよいかは、当業者には明らかであろう。本発明のいくつかの実施形態によれば、sがある値の場合、GF(22s)表現からGF((2)表現への変換は、以下で説明するように、1つまたは複数の中間変換演算子を利用することによって、段階的にまたは再帰的に実行することができる。 Although the scope of the present invention is not limited in terms of the above, for ease of explanation, the description of some exemplary embodiments of the present invention is that s is equal to 4, ie, GF (2 8 ) relates to a method and / or apparatus for converting representation data into a GF ((2 4 ) 2 ) representation. However, it will be apparent to those skilled in the art how to modify the methods and / or apparatus described below for other suitable values of s. According to some embodiments of the invention, if s is a value, the conversion from the GF (2 2s ) representation to the GF ((2 s ) 2 ) representation is one or more, as described below. It can be executed stepwise or recursively by using multiple intermediate conversion operators.

本発明のいくつかの例示的な実施形態によれば、上記の方法は、sが4に等しい、少なくともいくつかのAES Sボックス暗号化演算を実行するのに使用することができる。これらの実施形態では、暗号化される入力データは、以下で説明するように、拡大GF表現、例えば、GF(2)から、新しい表現、例えば、GF(2)の拡大に相当するGF((2)に変換することができる。これらの実施形態によれば、GF(2)での対応するAES演算と実質上等価とすることができるGF(2)演算を、GF((2)データ上で実行して、計算の複雑さのレベルを著しく低下させることができる。処理されたデータは、以下で説明するように、後でAES GF(2)表現に変換し直すことができる。 According to some exemplary embodiments of the present invention, the above method can be used to perform at least some AES S box encryption operations where s equals 4. In these embodiments, the input data to be encrypted is, as described below, from an expanded GF representation, eg, GF (2 8 ), to a new representation, eg, GF corresponding to an extension of GF (2 4 ). ((2 4 ) 2 ). According to these embodiments, a GF (2 4 ) operation that can be substantially equivalent to the corresponding AES operation on GF (2 8 ) is performed on the GF ((2 4 ) 2 ) data. , The level of computational complexity can be significantly reduced. The processed data can later be converted back to the AES GF (2 8 ) representation as described below.

本発明のいくつかの実施形態のいくつかの説明は、入力データxを、GF(22s)表現からGF((2)表現に変換するための、例えば、特定の電気回路を使用する、変換演算子の実装について行われるが、本発明はこの点に関して限定されるものではないことを理解されたい。むしろ、本発明のいくつかの実施形態の一部として、以下で説明される変換演算子、その他の演算、および処理は、例えば、適切なハードウェアおよび/またはソフトウェア実装など、現在知られている実装または将来考案されるであろう実装を含む、その他の様々な実装によっても実施することができる。 Some descriptions of some embodiments of the invention use, for example, specific electrical circuits to convert input data x from a GF (2 2s ) representation to a GF ((2 s ) 2 ) representation. However, it should be understood that the present invention is not limited in this regard, although it is done with the implementation of the transformation operator. Rather, as part of some embodiments of the present invention, the conversion operators, other operations, and processes described below are now known, such as suitable hardware and / or software implementations, for example. It can also be implemented by various other implementations, including implementations or implementations that will be devised in the future.

本発明のいくつかの実施形態の一部として、上記の方法は、様々な組み合わせおよび適合によって実施することができる。本発明の例示的な実施形態によれば、暗号化を実行する暗号化ブロックおよび/または復号化を実行する復号化ブロックは、例えば、スマートカードで使用できるようなタイプの組み込み電気回路によって実装することができる。データをAES GF(2)表現からGF((2)表現に変換するのに、またその逆に変換するのに使用できる変換演算子は、スマートカードに事前にプログラムしておくことができる。追加的または代替的に、その他の構成を使用することもできる。 As part of some embodiments of the present invention, the above methods can be implemented in various combinations and adaptations. According to exemplary embodiments of the present invention, the encryption block that performs encryption and / or the decryption block that performs decryption is implemented by, for example, a built-in electrical circuit of a type that can be used in a smart card. be able to. A conversion operator that can be used to convert data from AES GF (2 8 ) representation to GF ((2 4 ) 2 ) representation and vice versa must be pre-programmed into the smart card. Can do. Additionally or alternatively, other configurations can be used.

本発明のいくつかの例示的な実施形態によれば、変換演算子は、GF(22s)表現からGF((2)表現への表現変換に関するものとすることができる。変換演算子は、表現変換に対応する表現変換行列に関するものとすることができる。表現変換行列は、以下で説明するように、回路実装面積の最小化など、所望の基準に照らして可能性のある表現変換行列の集合から選択することができる。この行列の集合に属する各行列は、GF(2)などGF(22s)表現上の既約多項式の根と、GF((2)などGF((2)表現の体拡大の生成元によって定義することができる。 According to some exemplary embodiments of the invention, the conversion operator may relate to a representation conversion from a GF (2 2s ) representation to a GF ((2 s ) 2 ) representation. The conversion operator may be related to an expression conversion matrix corresponding to the expression conversion. The representation transformation matrix can be selected from a set of possible representation transformation matrices in light of desired criteria, such as minimizing circuit mounting area, as described below. Each matrix belonging to the set of matrices has a root of an irreducible polynomial in GF (2 2s ) representation such as GF (2 8 ) and GF ((2 s ) 2 ) representation such as GF ((2 4 ) 2 ). It can be defined by the source of body enlargement.

GF(2)上のGF(2)の多項式表現は、GF(2)上の3つの既約簡約多項式、例えば、1+t+t、1+t+t、1+t+t+t+tの各々によって定義することができる。 Polynomial representation in GF on GF (2) (2 4) is defined, GF (2 4) 3 single irreducible simplification polynomial over, for example, by each of the 1 + t + t 4, 1 + t 3 + t 4, 1 + t + t 2 + t 3 + t 4 can do.

本発明の実施形態によれば、GF(2)における、GF(2)の1つまたは複数の多項式表現の体拡大は、以下で説明するように、既約拡大多項式、例えば、βとαをGF(2)の要素とした場合、t+αt+βがGF(2)上で既約となるような、t+αt+βタイプの多項式を使用して計算することができる。 According to embodiments of the present invention, the field expansion of one or more polynomial representations of GF (2 4 ) in GF (2 8 ) is an irreducible expansion polynomial, eg, β and when the α an element of GF (2 4), can be calculated using t 2 + αt + β is such that about a previously over GF (2 4), t 2 + αt + β type polynomials.

本発明のいくつかの例示的な実施形態によれば、t+αt+β形式の120個の可能な既約拡大多項式を与える、15個の異なるβと、8個の異なるαが存在し得る。3個の異なる簡約多項式と120個の既約拡大多項式とから、GF(2)の拡大であるGF(2)の360個のGF((2)表現が得られる。 According to some exemplary embodiments of the present invention, there may be 15 different βs and 8 different αs that give 120 possible irreducible polynomials of the form t 2 + αt + β. From three different reduction polynomials and 120 irreducible expansion polynomials, 360 GF ((2 4 ) 2 ) representations of GF (2 8 ), which is an extension of GF (2), are obtained.

本発明のいくつかの例示的な実施形態によれば、t+αt+βタイプの既約拡大多項式の数を削減することができる。この削減は、以下で説明するように、例えば、α=1であるようなt+αt+βタイプの既約拡大多項式だけを使用することによって実現することができる。したがって、関連するGF((2)表現の総数を、360個から24個に削減することができる。しかし、本発明はこの点に関して限定されるものではないことに留意されたい。さらに、本発明のいくつかの実施形態の説明は、α=1であるようなt+αt+βタイプの既約拡大多項式を使用するコンテキストに限定されるが、t+αt+βタイプの任意の拡大多項式を使用する場合に、そのような方法をどのように適合させたらよいかは当業者には明らかであろう。 According to some exemplary embodiments of the present invention, the number of irreducible expansion polynomials of type t 2 + αt + β can be reduced. This reduction can be achieved, for example, by using only irreducible expansion polynomials of type t 2 + αt + β where α = 1, as will be explained below. Therefore, the total number of related GF ((2 4 ) 2 ) expressions can be reduced from 360 to 24. However, it should be noted that the present invention is not limited in this respect. Furthermore, the description of some embodiments of the present invention is limited to the context of using an irreducible expansion polynomial of type t 2 + αt + β where α = 1, but any expansion polynomial of type t 2 + αt + β It will be apparent to those skilled in the art how to adapt such methods when used.

したがって、本発明のいくつかの例示的な実施形態の一部として、標準AES表現のデータをGF((2)表現に変換するために、全部で24個のGF((2)表現を計算することができる。24個のGF((2)表現は各々、GF(2)上の簡約多項式の1つと、例えば、α=1であるようなt+αt+βタイプの拡大多項式の1つによって定義することができる。 Thus, as part of some exemplary embodiments of the present invention, a total of 24 GF ((2 4 ) to convert standard AES representation data to GF ((2 4 ) 2 ) representation. 2 ) The expression can be calculated. Each of the 24 GF ((2 4 ) 2 ) representations is defined by one of the reduction polynomials on GF (2 4 ) and one of the extension polynomials of type t 2 + αt + β such that α = 1, for example. be able to.

当技術分野で知られているように、同じサイズの任意の2つの有限体は同型であるので、それぞれRep、Repと表記される2つのGF(2)表現(n=2s)の間には、同型写像が存在することができる。2つの表現は各々、GF(2)上のn次元線形空間とすることができ、各同型写像は、表現間での線形変換とすることができる。したがって、本発明のいくつかの実施形態の一部として、例えば、行列の乗算によって、Repの要素を対応するRepの要素に変換するために、n×n型の2進表現変換行列Mを計算することができる。2つの体表現の間の変換は逆変換も可能なので、表現変換毎に逆表現変換行列M−1が存在することができる。n個の根をもつ既約多項式pで、Repを表すことができる。pの各根は、GF(2)の生成元であり、体の同型写像の下で不変である。したがって、体拡大毎にn個の対応する表現変換行列が存在する。GF(2)の乗法群は巡回的であるので、表現RepとRepの対応する生成元の対は、RepとRepの間の同型写像を一意に決定することができる。したがって、Repの生成元をrとし、Repの生成元をrとした場合、対応する表現変換行列Mは、Mr=rを満たさなければならない。2つの体表現は同型であり、rとrはGF(2)の生成元であるので、任意のk(k=1...2)について、以下の連立式がMによって満たされなければならない。 As is known in the art, any two finite fields of the same size are isomorphic, so that two GF (2 n ) representations (n = 2s) denoted Rep 1 and Rep 2 respectively. There can be isomorphisms in between. Each of the two representations can be an n-dimensional linear space over GF (2), and each isomorphism can be a linear transformation between the representations. Thus, as part of some embodiments of the present invention, an n × n type binary representation transformation matrix M to transform Rep 1 elements into corresponding Rep 2 elements, eg, by matrix multiplication. Can be calculated. Since the transformation between the two body representations can be reversed, there can be an inverse representation transformation matrix M −1 for each representation transformation. Rep 1 can be expressed by an irreducible polynomial p 0 having n roots. Each root of p 0 is a generator of GF (2 n ) and is invariant under the field isomorphism. Therefore, there are n corresponding representation conversion matrices for each body extension. Because multiplicative group of GF (2 n) is cyclic, the generator of corresponding pair of representations Rep 1 and Rep 2, it is possible to uniquely determine the isomorphism between Rep 1 and Rep 2. Accordingly, when the generation source of Rep 1 is r 1 and the generation source of Rep 2 is r 2 , the corresponding expression conversion matrix M must satisfy Mr 1 = r 2 . Since the two body representations are isomorphic and r 1 and r 2 are generators of GF (2 n ), for any k (k = 1... 2 n ), the following simultaneous equations satisfy M It must be.

M(r=(r (1)
ただし、(rは、表現Repの要素(rを生成するために、表現Repにおいてk乗された体生成元rを示し、表現Repの体要素(rは、GF(2)上のn次元線形空間のベクトルとして扱うことができ、表現変換行列Mを乗じて、M(rを得ることができる。
M (r 1 ) k = (r 2 ) k (1)
However, (r i) k, in order to produce an element (r 1) k representation Rep i, indicates k-th power somatic origin r i in the expression Rep i, expressed Rep 1 body element (r 1 ) K can be treated as a vector in an n-dimensional linear space on GF (2), and M (r 1 ) k can be obtained by multiplying the expression transformation matrix M.

連立式1は、2個の線形式を含み、それらを解くことによって、生成元rとrの対に対応する表現変換行列Mを決定することができる。連立式1は、冗長な式を含ことがあり、それらを除外することによって、計算の回数を減らすことができる。例えば、1つの表現変換行列を得るのに、最初のn個の式だけを使用することができる。別の表現変換行列は、生成元rとrの異なる対を使用して連立式1を解くことによって得ることができる。したがって、rの像であるRepのn個の異なる生成元に対応し、RepからRepへのn個の異なる表現変換行列を与える、n組の異なる連立式が存在することができる。 The simultaneous equation 1 includes 2 n linear forms, and by solving them, the expression conversion matrix M corresponding to the pair of generators r 1 and r 2 can be determined. The simultaneous equation 1 may include redundant equations, and the number of calculations can be reduced by excluding them. For example, only the first n equations can be used to obtain one representation transformation matrix. Another representation transformation matrix can be obtained by solving simultaneous equations 1 using different pairs of generators r 1 and r 2 . Thus, there can be n different simultaneous equations that correspond to n different generators of Rep 2 that are images of r 1 and give n different representation transformation matrices from Rep 1 to Rep 2 . .

本発明の例示的な実施形態では、GF(2)上の既約多項式、例えば、p(t)=t+t+t+t+1の各根は、GF(2)体の生成元となることができる。したがって、既約多項式の8個の根に対応する8個の可能な表現変換行列を、GF(2)の体拡大毎にそれぞれ計算することができる。したがって、これらの例示的な実施形態によれば、α=1である場合、24個の体拡大に対応する192個の可能な表現変換行列からなる集合が存在することができる。本発明のいくつかの実施形態によれば、可能な表現変換行列の各々は、標準AES表現から、GF(2)の異なる拡大に対応する、GF(2)の異なるGF((2)表現への変換を可能にすることができる。 In an exemplary embodiment of the invention, each irreducible polynomial over GF (2 8 ), eg, each root of p (t) = t 8 + t 4 + t 3 + t + 1, is the origin of the GF (2 8 ) field. Can be. Accordingly, eight possible representation transformation matrices corresponding to the eight roots of the irreducible polynomial can be calculated for each GF (2 8 ) field expansion. Thus, according to these exemplary embodiments, if α = 1, there can be a set of 192 possible representation transformation matrices corresponding to 24 body expansions. According to some embodiments of the present invention, each of the possible representation transformation matrices is derived from a standard AES representation, with a different GF ((2 8 ) of GF (2 8 ) corresponding to a different extension of GF (2 4 ) ((2 4 2 ) Conversion to expression can be made possible.

これらの例示的な実施形態によれば、AES表現の入力データxは、表現変換、例えば、表現変換行列Mを作用させることによって、GF((2)表現に変換することができる。T(x)で表される、GF((2)表現での演算x>x−1は、変換データ、例えば、M x上で実行することができる。GF(2)への変換F(x)は、表現変換の逆変換、例えば、M−1を行うことによって得ることができる。したがって、本発明の例示的な実施形態によれば、F(x)およびT(M x)は、以下の非線形式によって与えることができる。 According to these exemplary embodiments, the input data x of the AES expression can be converted into a GF ((2 4 ) 2 ) expression by applying an expression conversion, for example, an expression conversion matrix M. The operation x> x −1 in the GF ((2 4 ) 2 ) representation represented by T (x) can be performed on the transformation data, for example M x. The transformation F (x) to GF (2 8 ) can be obtained by performing an inverse transformation of the expression transformation, for example, M- 1 . Thus, according to an exemplary embodiment of the present invention, F (x) and T (M x) can be given by the following nonlinear equations:

F(x)=M−1 T(M x) (2)
式2は、次のように書き換えることができる。
M T(x)=F(M x) (3)
これらの実施形態によれば、式3は、2つの表現、例えば、AES GF(2)表現と対応するGF((2)表現の間の8個の可能な同型写像を表す、8個の解をもつことができる。2つの表現の間の同型写像は、以下で説明するように、一方の表現から、他方の表現の特定の生成元に写像される生成元を選択することによって決定することができる。
F (x) = M −1 T (M x) (2)
Equation 2 can be rewritten as follows.
MT (x) = F (Mx) (3)
According to these embodiments, Equation 3 represents eight possible isomorphisms between two representations, eg, an AES GF (2 8 ) representation and a corresponding GF ((2 4 ) 2 ) representation: Can have 8 solutions. An isomorphism between two representations can be determined by selecting a generator that maps from one representation to a specific origin of the other representation, as described below.

以下に、16進形式で示された、192(24×8)個の可能な表現変換行列に対応する行列ストリング(matrix string)の例示的なリストを示す。これらは、上で説明したようにして計算することができる。
簡約多項式:t+t+1
(a)拡大多項式:t+t+8
01 e1 5c 0c af 1b e3 85, 01 e1 5c 0c ae fa bf 89, 01 5c e0 50 a2 02 b8 db, 01 5c e0 50 a3 5e 58 8b, 01 e0 5d b0 f2 04 ad 6f, 01 e0 5d b0 f3 e4 f0 df, 01 5d e1 ed 42 10 a7 92, 01 5d e1 ed 43 4d 46 7f
(b)拡大多項式:t+t+9
01 e1 5c 0c 12 4b 0f d8, 01 e1 5c 0c 13 aa 53 d4, 01 5c e0 50 1e b2 b5 3a, 01 5c e0 50 1f ee 55 6a, 01 e0 5d b0 4e 09 a1 83, 01 e0 5d b0 4f e9 fc 33, 01 5d e1 ed fe 1c 16 72, 01 5d e1 ed ff 41 f7 9f
(c)拡大多項式:t+t+10
01 e1 5c 0c 43 46 0e 39, 01 e1 5c 0c 42 a7 52 35, 01 5c e0 50 ae bf 54 36, 01 5c e0 50 af e3 b4 66, 01 e0 5d b0 a3 58 fd d3, 01 e0 5d b0 a2 b8 a0 63, 01 5d e1 ed f2 ad f6 c2, 01 5d e1 ed f3 f0 17 2f
(d)拡大多項式:t+t+11
01 e1 5c 0c fe 16 e2 64, 01 e1 5c 0c ff f7 be 68, 01 5c e0 50 12 0f 59 d7, 01 5c e0 50 13 53 b9 87, 01 e0 5d b0 1f 55 f1 3f, 01 e0 5d b0 1e b5 ac 8f, 01 5d e1 ed 4e a1 47 22, 01 5d e1 ed 4f fc a6 cf
(e)拡大多項式:t+t+12
01 e1 5c 0c a2 1a 02 d9, 01 e1 5c 0c a3 fb 5e d5, 01 5c e0 50 f3 03 e4 3b, 01 5c e0 50 f2 5f 04 6b, 01 e0 5d b0 43 05 4d 32, 01 e0 5d b0 42 e5 10 82, 01 5d e1 ed ae 11 fa 73, 01 5d e1 ed af 4c 1b 9e
(f)拡大多項式:t+t+13
01 e1 5c 0c 1f 4a ee 84, 01 e1 5c 0c 1e ab b2 88, 01 5c e0 50 4f b3 e9 da, 01 5c e0 50 4e ef 09 8a, 01 e0 5d b0 ff 08 41 de, 01 e0 5d b0 fe e8 1c 6e, 01 5d e1 ed 12 1d 4b 93, 01 5d e1 ed 13 40 aa 7e
(g)拡大多項式:t+t+14
01 e1 5c 0c 4e 47 ef 65, 01 e1 5c 0c 4f a6 b3 69, 01 5c e0 50 ff be 08 d6, 01 5c e0 50 fe e2 e8 86, 01 e0 5d b0 12 59 1d 8e, 01 e0 5d b0 13 b9 40 3e, 01 5d e1 ed 1e ac ab 23, 01 5d e1 ed 1f f1 4a ce
(h)拡大多項式:t+t+15
01 e1 5c 0c f3 17 03 38, 01 e1 5c 0c f2 f6 5f 34, 01 5c e0 50 43 0e 05 37, 01 5c e0 50 42 52 e5 67, 01 e0 5d b0 ae 54 11 62, 01 e0 5d b0 af b4 4c d2, 01 5d e1 ed a2 a0 1a c3, 01 5d e1 ed a3 fd fb 2e
簡約多項式:t+t+1
(a)拡大多項式:t+t+2
01 b1 ec 0c 4f 7c 80 69, 01 b1 ec 0c 4e cd 6c 65, 01 ec 0d 50 ff 60 97 d6, 01 ec 0d 50 fe 8c 9a 86, 01 0d 51 b0 13 c7 94 3e, 01 0d 51 b0 12 ca c5 8e, 01 51 b1 ed 1e 24 91 23, 01 51 b1 ed 1f 75 20 ce
(b)拡大多項式:t+t+3
01 b1 ec 0c f3 2c dc 38, 01 b1 ec 0c f2 9d 30 34, 01 ec 0d 50 43 3c 7a 37, 01 ec 0d 50 42 d0 77 67, 01 0d 51 b0 ae 27 98 62, 01 0d 51 b0 af 2a c9 d2, 01 51 b1 ed a3 28 70 2e, 01 51 b1 ed a2 79 c1 c3
(c)拡大多項式:t+t+4
01 b1 ec 0c ff 21 60 68, 01 b1 ec 0c fe 90 8c 64, 01 ec 0d 50 13 6d c7 87, 01 ec 0d 50 12 81 ca d7, 01 0d 51 b0 1e 96 24 8f, 01 0d 51 b0 1f 9b 75 3f, 01 51 b1 ed 4f 95 7c cf, 01 51 b1 ed 4e c4 cd 22
(d)拡大多項式:t+t+5
01 b1 ec 0c 43 71 3c 39, 01 b1 ec 0c 42 c0 d0 35, 01 ec 0d 50 af 31 2a 66, 01 ec 0d 50 ae dd 27 36, 01 0d 51 b0 a3 76 28 d3, 01 0d 51 b0 a2 7b 79 63, 01 51 b1 ed f2 99 9d c2, 01 51 b1 ed f3 c8 2c 2f
(e)拡大多項式:t+t+8
01 b1 ec 0c af 7d 31 85, 01 b1 ec 0c ae cc dd 89, 01 ec 0d 50 a2 61 7b db, 01 ec 0d 50 a3 8d 76 8b, 01 0d 51 b0 f2 c6 99 6f, 01 0d 51 b0 f3 cb c8 df, 01 51 b1 ed 42 25 c0 92, 01 51 b1 ed 43 74 71 7f
(f)拡大多項式:t+t+9
01 b1 ec 0c 13 2d 6d d4, 01 b1 ec 0c 12 9c 81 d8, 01 ec 0d 50 1e 3d 96 3a, 01 ec 0d 50 1f d1 9b 6a, 01 0d 51 b0 4f 26 95 33, 01 0d 51 b0 4e 2b c4 83, 01 51 b1 ed ff 29 21 9f, 01 51 b1 ed fe 78 90 72
(g)拡大多項式:t+t+14
01 b1 ec 0c 1f 20 d1 84, 01 b1 ec 0c 1e 91 3d 88, 01 ec 0d 50 4e 6c 2b 8a, 01 ec 0d 50 4f 80 26 da, 01 0d 51 b0 ff 97 29 de, 01 0d 51 b0 fe 9a 78 6e, 01 51 b1 ed 13 94 2d 7e, 01 51 b1 ed 12 c5 9c 93
(h)拡大多項式:t+t+15
01 b1 ec 0c a3 70 8d d5, 01 b1 ec 0c a2 c1 61 d9, 01 ec 0d 50 f2 30 c6 6b, 01 ec 0d 50 f3 dc cb 3b, 01 0d 51 b0 42 77 25 82, 01 0d 51 b0 43 7a 74 32, 01 51 b1 ed ae 98 cc 73, 01 51 b1 ed af c9 7d 9e
簡約多項式:t+t+t+t+1
(a)拡大多項式:t+t+2
01 50 b0 0c a3 8b d3 d5, 01 50 b0 0c a2 db 63 d9, 01 b0 ed 50 f2 6f c2 6b, 01 b0 ed 50 f3 df 2f 3b, 01 ed 0c b0 43 7f 39 32, 01 ed 0c b0 42 92 35 82, 01 0c 50 ed af 85 66 9e, 01 0c 50 ed ae 89 36 73
(b)拡大多項式:t+t+3
01 50 b0 0c 1e 3a 8f 88, 01 50 b0 0c 1f 6a 3f 84, 01 b0 ed 50 4f 33 cf da, 01 b0 ed 50 4e 83 22 8a, 01 ed 0c b0 fe 72 64 6e, 01 ed 0c b0 ff 9f 68 de, 01 0c 50 ed 13 d4 87 7e, 01 0c 50 ed 12 d8 d7 93
(c)拡大多項式:t+t+4
01 50 b0 0c f3 3b df 38, 01 50 b0 0c f2 6b 6f 34, 01 b0 ed 50 43 32 7f 37, 01 b0 ed 50 42 82 92 67, 01 ed 0c b0 ae 73 89 62, 01 ed 0c b0 af 9e 85 d2, 01 0c 50 ed a3 d5 8b 2e, 01 0c 50 ed a2 d9 db c3
(d)拡大多項式:t+t+5
01 50 b0 0c 4e 8a 83 65, 01 50 b0 0c 4f da 33 69, 01 b0 ed 50 fe 6e 72 86, 01 b0 ed 50 ff de 9f d6, 01 ed 0c b0 13 7e d4 3e, 01 ed 0c b0 12 93 d8 8e, 01 0c 50 ed 1f 84 6a ce, 01 0c 50 ed 1e 88 3a 23
(e)拡大多項式:t+t+8
01 50 b0 0c ae 36 62 89, 01 50 b0 0c af 66 d2 85, 01 b0 ed 50 a2 63 c3 db, 01 b0 ed 50 a3 d3 2e 8b, 01 ed 0c b0 f3 2f 38 df, 01 ed 0c b0 f2 c2 34 6f, 01 0c 50 ed 42 35 67 92, 01 0c 50 ed 43 39 37 7f
(f)拡大多項式:t+t+9
01 50 b0 0c 13 87 3e d4, 01 50 b0 0c 12 d7 8e d8, 01 b0 ed 50 1f 3f ce 6a, 01 b0 ed 50 1e 8f 23 3a, 01 ed 0c b0 4e 22 65 83, 01 ed 0c b0 4f cf 69 33, 01 0c 50 ed fe 64 86 72, 01 0c 50 ed ff 68 d6 9f
(g)拡大多項式:t+t+14
01 50 b0 0c fe 86 6e 64, 01 50 b0 0c ff d6 de 68, 01 b0 ed 50 13 3e 7e 87, 01 b0 ed 50 12 8e 93 d7, 01 ed 0c b0 1e 23 88 8f, 01 ed 0c b0 1f ce 84 3f, 01 0c 50 ed 4e 65 8a 22, 01 0c 50 ed 4f 69 da cf
(h)拡大多項式:t+t+15
01 50 b0 0c 43 37 32 39, 01 50 b0 0c 42 67 82 35, 01 b0 ed 50 ae 62 73 36, 01 b0 ed 50 af d2 9e 66, 01 ed 0c b0 a3 2e d5 d3, 01 ed 0c b0 a2 c3 d9 63, 01 0c 50 ed f2 34 6b c2, 01 0c 50 ed f3 38 3b 2f
上記のリストは、8個の行列ストリング値からなる各グループが、上で説明したように、t+αt+βタイプの拡大多項式の1つと、GF(2)上の3つの既約簡約多項式の1つとに関連づけられるように構成される。行列ストリング値は、16進形式の8対の値の形で列挙され、8×8型の2進行列を表す。i番目(1≦i≦192)の表現変換行列Mに対応する値をリスト中から見つけるため、以下の連立式を解くことができる。
The following is an exemplary list of matrix strings corresponding to 192 (24 × 8) possible representation transformation matrices, shown in hexadecimal format. These can be calculated as described above.
Reduction polynomial: t 4 + t + 1
(A) Expansion polynomial: t 2 + t + 8
01 e1 5c 0c af 1b e3 85, 01 e1 5c 0c ae fa bf 89, 01 5c e0 50 a2 02 b8 db, 01 5c e0 50 a3 5e 58 8b, 01 e0 5 d 0 e4 f0 df, 01 5d e1 ed 42 10 a7 92, 01 5d e1 ed 43 4d 46 7f
(B) Expanded polynomial: t 2 + t + 9
01 e1 5c 0c 12 4b 0f d8, 01 e1 5c 0c 13 aa 53 d4, 01 5c e0 50 1e b2 b5 3a, 01 5c e0 50 1f ee 55 6a, 01 e0 5d 0 e9 fc 33, 01 5d e1 ed fe 1c 16 72, 01 5d e1 ed ff 41 f7 9f
(C) Extended polynomial: t 2 + t + 10
01 e1 5c 0c 43 46 0e 39, 01 e1 5c 0c 42 a7 52 35, 01 5c e0 50 ae bf 54 36, 01 5c e0 50 af e3 b4 66, 01 e0 5d b0 0d 3e b8 a0 63, 01 5d e1 ed f2 ad f6 c2, 01 5d e1 ed f3 f0 17 2f
(D) Extended polynomial: t 2 + t + 11
01 e1 5c 0c fe 16 e2 64, 01 e1 5c 0c ff f7 be 68, 01 5c e0 50 12 0f 59 d7, 01 5c e0 50 13 53 b9 87, 01 e0 5d b0 87 b5 ac 8f, 01 5d e1 ed 4e a1 47 22, 01 5d e1 ed 4f fc a6 cf
(E) Extended polynomial: t 2 + t + 1 2
01 e1 5c 0c a2 1a 02 d9, 01 e1 5c 0c a3 fb 5e d5, 01 5c e0 50 f3 03 e4 3b, 01 5c e0 50 f2 5f 04 6b, 01 e0 5 d 0 4 d e5 10 82, 01 5d e1 ed ae 11 fa 73, 01 5d e1 ed af 4c 1b 9e
(F) Expanded polynomial: t 2 + t + 13
01 e1 5c 0c 1f 4a ee 84, 01 e1 5c 0c 1e ab b2 88, 01 5c e0 50 4f b3 e9 da, 01 5c e0 50 4e ef 09 8a, 01 e0 e8 1c 6e, 01 5d e1 ed 12 1d 4b 93, 01 5d e1 ed 13 40 aa 7e
(G) Expanded polynomial: t 2 + t + 14
01 e1 5c 0c 4e 47 ef 65, 01 e1 5c 0c 4f a6 b3 69, 01 5c e0 50 ff be 08 d6, 01 5c e0 50 fe e 2 e8 86, 01 e0 5d 0e b9 40 3e, 01 5d e1 ed 1e ac ab 23, 01 5d e1 ed 1f f1 4a ce
(H) Extended polynomial: t 2 + t + 15
01 e1 5c 0c f3 17 03 38, 01 e1 5c 0c f2 f6 5f 34, 01 5c e0 50 43 0e 05 37, 01 5c e0 50 42 52 e5 67, 01 e0 5d b11 e 54 d b4 4c d2, 01 5d e1 ed a2 a0 1a c3, 01 5d e1 ed a3 fd fb 2e
Reduction polynomial: t 4 + t 3 +1
(A) Expansion polynomial: t 2 + t + 2
01 b1 ec 0c 4f 7c 80 69, 01 b1 ec 0c 4e cd 6c 65, 01 ec 0d 50 ff 60 97 d6, 01 ec 0d 50 fe 8c 9a 86, 01 0d 51 c94 ca c5 8e, 01 51 b1 ed 1e 24 91 23, 01 51 b1 ed 1f 75 20 ce
(B) Expanded polynomial: t 2 + t + 3
01 b1 ec 0c f3 2c dc 38, 01 b1 ec 0c f2 9d 30 34, 01 ec 0d 50 43 3c 7a 37, 01 ec 0d 50 42 d0 77 67, 01 0d 51 b0 0 51 51 b0 2a c9 d2, 01 51 b1 ed a3 28 70 2e, 01 51 b1 ed a2 79 c1 c3
(C) Extended polynomial: t 2 + t + 4
01 b1 ec 0c ff 21 60 68, 01 b1 ec 0c fe 90 8c 64, 01 ec 0d 50 13 6d c7 87, 01 ec 0d 50 12 81 ca d7, 01 0d 51 f0 1e 0d 51 0 0 51 51 0 9b 75 3f, 01 51 b1 ed 4f 95 7c cf, 01 51 b1 ed 4e c4 cd 22
(D) Expanded polynomial: t 2 + t + 5
01 b1 ec 0c 43 71 3c 39, 01 b1 ec 0c 42 c0 d0 35, 01 ec 0d 50 af 31 2a 66, 01 ec 0d 50 ae dd 27 36, 01 0d 51 b0 a3 d 7b 79 63, 01 51 b1 ed f2 99 9d c2, 01 51 b1 ed f3 c8 2c 2f
(E) Expansion polynomial: t 2 + t + 8
01 b1 ec 0c af 7d 31 85, 01 b1 ec 0c ae cc dd 89, 01 ec 0d 50 a2 61 7b db, 01 ec 0d 50 a3 8d 76 8b, 01 0d 51c 0 cb c8 df, 01 51 b1 ed 42 25 c0 92, 01 51 b1 ed 43 74 71 7f
(F) Expanded polynomial: t 2 + t + 9
01 b1 ec 0c 13 2d 6d d4, 01 b1 ec 0c 12 9c 81 d8, 01 ec 0d 50 1e 3d 96 3a, 01 ec 0d 50 1f d1 9b 6a, 01 0d 51 b 0a 2b c4 83, 01 51 b1 ed ff 29 21 9f, 01 51 b1 ed fe 78 90 72
(G) Expanded polynomial: t 2 + t + 14
01 b1 ec 0c 1f 20 d1 84, 01 b1 ec 0c 1e 91 3d 88, 01 ec 0d 50 4e 6c 2b 8a, 01 ec 0d 50 4f 80 26 da, 01 0d 51 b0 9a 78 6e, 01 51 b1 ed 13 94 2d 7e, 01 51 b1 ed 12 c5 9c 93
(H) Extended polynomial: t 2 + t + 15
01 b1 ec 0c a3 70 8d d5, 01 b1 ec 0c a2 c1 61 d9, 01 ec 0d 50 f2 30 c6 6b, 01 ec 0d 50 f3 dc cb 3b, 01 0d 42 7a 74 32, 01 51 b1 ed ae 98 cc 73, 01 51 b1 ed af c9 7d 9e
Reduction polynomial: t 4 + t 3 + t 2 + t + 1
(A) Expansion polynomial: t 2 + t + 2
01 50 b0 0c a3 8b d3 d5, 01 50 b0 0c a2 db 63 d9, 01 b0 ed 50 f2 6f c2 6b, 01 b0 ed 50 f3 df 2f 3b, 01 ed 0c b0 92 35 82, 01 0c 50 ed af 85 66 9e, 01 0c 50 ed ae 89 36 73
(B) Expanded polynomial: t 2 + t + 3
01 50 b0 0c 1e 3a 8f 88, 01 50 b0 0c 1f 6a 3f 84, 01 b0 ed 50 4f 33 cf da, 01 b0 ed 50 4e 83 222 8a, 01 ed 0c 72 f0 9f 68 de, 01 0c 50 ed 13 d4 87 7e, 01 0c 50 ed 12 d8 d7 93
(C) Extended polynomial: t 2 + t + 4
01 50 b0 0c f3 3b df 38, 01 50 b0 0c f2 6b 6f 34, 01 b0 ed 50 43 32 7f 37, 01 b0 ed 50 42 82 9267, 01 ed 0c b0 ae 73 9e 85 d2, 01 0c 50 ed a3 d5 8b 2e, 01 0c 50 ed a2 d9 db c3
(D) Expanded polynomial: t 2 + t + 5
01 50 b0 0c 4e 8a 83 65, 01 50 b0 0c 4f da 33 69, 01 b0 ed 50 fe 6e 72 86, 01 b0 ed 50 ff de 9f d6, 01 ed 0c b0 13 7e 0c b01 13e 93 d8 8e, 01 0c 50 ed 1f 84 6a ce, 01 0c 50 ed 1e 88 3a 23
(E) Expansion polynomial: t 2 + t + 8
01 50 b0 0c ae 36 62 89, 01 50 b0 0c af 66 d2 85, 01 b0 ed 50 a2 63 c3 db, 01 b0 ed 50 a3 d3 2e 8b, 01 ed 0c b0 f3 f 0 c2 34 6f, 01 0c 50 ed 42 35 67 92, 01 0c 50 ed 43 39 37 7f
(F) Expanded polynomial: t 2 + t + 9
01 50 b0 0c 13 87 3e d4, 01 50 b0 0c 12 d7 8e d8, 01 b0 ed 50 1f 3 fce 6a, 01 b0 ed 50 1e 8f 23 3a, 01 ed 0c b65 4e 0 cf 69 33, 01 0c 50 ed fe 64 86 72, 01 0c 50 ed ff 68 d6 9f
(G) Expanded polynomial: t 2 + t + 14
01 50 b0 0c fe 86 6e 64, 01 50 b0 0c ff d6 de 68, 01 b0 ed 50 13 3e 7e 87, 01 b0 ed 50 12 8e 93 d7, 01 ed 0c b0 1e 23 88 ce 84 3f, 01 0c 50 ed 4e 65 8a 22, 01 0c 50 ed 4f 69 da cf
(H) Extended polynomial: t 2 + t + 15
01 50 b0 0c 43 37 32 39, 01 50 b0 0c 42 67 82 35, 01 b0 ed 50 ae 62 73 36, 01 b0 ed 50 af d2 9e 66, 01 ed 0c b0 a3 2e d0 d3 c3 d9 63, 01 0c 50 ed f2 34 6b c2, 01 0c 50 ed f3 38 3b 2f
The above list shows that each group of 8 matrix string values is one of the extended polynomials of type t 2 + αt + β and 3 of the irreducible reduced polynomials on GF (2 4 ), as described above. Configured to be associated with each other. Matrix string values are enumerated in the form of 8 pairs of values in hexadecimal format, representing an 8 × 8 type bi-advanced sequence. In order to find a value corresponding to the i-th (1 ≦ i ≦ 192) expression conversion matrix M from the list, the following simultaneous equations can be solved.

i−1=Q1×64+R1 (4)
R1=Q2×8+R2
ただし、
0≦R1≦64 (5)
0≦R2<8
連立式(5)の境界条件をもつ連立式(4)から、所望のi番目の表現変換行列に対応する値Q1、Q2、R1、R2の組を得ることができる。所望の表現変換行列、例えば、i番目の行列の上記のリスト中の位置は、Q1+1番目の簡約多項式の中の、Q2+1番目の拡大多項式の中の、R2+1番目の行列ストリングとして求めることができる。行列ストリング値は、行列ストリングを16進形式の数の対に分割することによって、変換行列表現に変換することができる。その場合、変換行列の各列は、対応する16進対の2進表現、例えば、8桁の2進数を使用して表すことができる。
i-1 = Q1 * 64 + R1 (4)
R1 = Q2 × 8 + R2
However,
0 ≦ R1 ≦ 64 (5)
0 ≦ R2 <8
A set of values Q1, Q2, R1, and R2 corresponding to a desired i-th expression conversion matrix can be obtained from the simultaneous expression (4) having the boundary condition of the simultaneous expression (5). The position in the above list of the desired expression transformation matrix, for example, the i-th matrix can be determined as the R2 + 1-th matrix string in the Q2 + 1-th expanded polynomial in the Q1 + 1-th reduced polynomial. Matrix string values can be converted to a transformed matrix representation by dividing the matrix string into pairs of numbers in hexadecimal format. In that case, each column of the transformation matrix can be represented using a corresponding hexadecimal pair of binary representations, for example, an 8-digit binary number.

本発明のいくつかの実施形態は、AES互換Sボックスを含む。AES互換Sボックスは、AES Sボックスと等価な演算、例えば、GF((2)上の暗号化演算および/または復号化演算を実行するように構成することができる。AES互換Sボックスは、上で説明したように、例えば、標準AES Sボックス上の表現からGF((2)表現へのデータ変換を可能にする変換回路を含むことができる。AES互換Sボックスはまた、演算モジュールを含むことができ、演算モジュールは、例えば、変換データ上でAES等価な演算を実行するなど、変換データを処理するための演算回路および/またはソフトウェアを含むことができる。AES互換Sボックスはまた、処理されたデータをAES表現に変換し直すための逆変換回路を含むことができる。 Some embodiments of the invention include an AES compatible S box. The AES compatible S box can be configured to perform operations equivalent to the AES S box, for example, encryption operations and / or decryption operations on GF ((2 s ) 2 ). The AES compatible S box may include a conversion circuit that allows data conversion from, for example, a representation on a standard AES S box to a GF ((2 s ) 2 ) representation as described above. An AES compatible S box can also include a computation module, which includes a computation circuit and / or software for processing the conversion data, eg, performing AES equivalent operations on the conversion data. Can do. The AES compatible S box can also include an inverse transform circuit to convert the processed data back to an AES representation.

従来のAES Sボックスは、以下の式に基づいたアフィン変換を実行することができる。   A conventional AESS box can perform an affine transformation based on the following equation:

Figure 2005534973
Figure 2005534973

ただし、Aおよびbは、当技術分野で知られているAES Sボックスパラメータ行列である。 Where A and b are AES S box parameter matrices known in the art.

したがって、本発明の実施形態によれば、式3を式6および7にそれぞれ代入することによって、xをGF((2)表現に変換し、GF((2)表現で演算を実行し、その結果のデータをAES表現の対応するデータに変換し直すための以下の式を得ることができる。 Therefore, according to the embodiment of the present invention, by substituting each equation 3 into equation 6 and 7, to convert the x in GF ((2 s) 2) representation, GF ((2 s) 2) by the expression The following equation can be obtained for performing the operation and converting the resulting data back to the corresponding data in the AES representation.

Figure 2005534973
Figure 2005534973

本発明のいくつかの実施形態によれば、変換回路またはソフトウェアは、表現変換行列Mを実装する回路を含むことができる。これらの実施形態のいくつかによれば、表現変換行列Mを実装する回路またはソフトウェアは、例えば、AなどのAES Sボックスパラメータなど、線形変換を実行する回路またはソフトウェアと合成することができる。本発明のさらなる実施形態によれば、変換回路またはソフトウェアは、例えば、以下で説明するような、M、AM、M−1、(AM−1)によるそれぞれの乗算用に4つの乗算モジュールを含むことができる。したがって、変換回路は、線形変換と所定の表現変換を組み合わせて用いることによって構成することができる。例えば、変換回路は、AES Sボックスパラメータbの加算を、例えば、XOR回路によって実行して、和x+bを得ることができ、それにさらにAMの逆行列を乗じることができる。変換回路は、例えば、本明細書で説明する特定の実装など、線形変換と表現変換行列のその他の組み合わせを実装することもできる。そのような演算モジュールを使用することによって変換回路の効率を高めることができる。 According to some embodiments of the invention, the transformation circuit or software may include circuitry that implements the representation transformation matrix M. According to some of these embodiments, the circuit or software that implements the representation transformation matrix M can be combined with a circuit or software that performs a linear transformation, eg, an AES S box parameter such as A. According to a further embodiment of the invention, the conversion circuit or software includes four multiplication modules for each multiplication by M, AM, M −1 , (AM −1 ), for example as described below. be able to. Therefore, the conversion circuit can be configured by using a combination of linear conversion and predetermined expression conversion. For example, the conversion circuit can perform the addition of the AES S box parameter b by, for example, an XOR circuit to obtain a sum x + b, which can be further multiplied by an inverse matrix of AM. The transformation circuit may also implement other combinations of linear transformations and representation transformation matrices, such as the specific implementations described herein. By using such an arithmetic module, the efficiency of the conversion circuit can be increased.

行列の乗算のハードウェアによる実施は、当技術分野で知られている行列の乗算のどのようなハードウェアによる実施でも含むことができる。例えば、i=1...8とし、Dを固定の8×8型の2進行列とした場合、y=Dxで定義されるブロックyの値yは、以下の式を使用して計算することができる。 Matrix multiplication hardware implementations can include any hardware implementation of matrix multiplication known in the art. For example, i = 1. . . Assuming 8 and D is a fixed 8 × 8 type bi-advanced sequence, the value y i of the block y defined by y = Dx can be calculated using the following equation:

Figure 2005534973
Figure 2005534973

したがって、yの値は、式10を使用して計算することができる。これは、行Di,jのどの要素が非0であるかを決定し、xの対応する値とXOR演算を実行することによって達成することができる。 Thus, the value of y can be calculated using Equation 10. This can be achieved by determining which elements of row D i, j are non-zero and performing an XOR operation with the corresponding value of x j .

本発明の例示的な実施形態によれば、以下で説明するように、AES演算と等価な、例えば、逆演算、加算、および/または乗算などの演算を、新しい表現において定義することができる。   In accordance with exemplary embodiments of the present invention, operations that are equivalent to AES operations, such as inverse operations, additions, and / or multiplications, can be defined in a new representation, as described below.

GF(2)の要素xは、8桁の2進数x=[x]によって定義することができ、GF(2)の要素zは、4桁の2進数z=[z]によって定義することができる。 The element x of GF (2 8 ) can be defined by an 8-digit binary number x = [x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 ], and the element z of GF (2 4 ) Can be defined by a 4-digit binary number z = [z 3 z 2 z 1 z 0 ].

当技術分野で知られているように、GF(2)は、GF(2)上の簡約多項式によって定義される多項式表現をもち、例えば、z=[z]は、多項式z+zt+z+zによって表すことができる。GFの要素の乗算は、要素を表す多項式を掛け合わせ、その結果を簡約多項式を法として簡約することによって定義することができる。以下の説明では、AES GF(2)でのxの逆演算x−1をF=F(x)と表記し、新しい表現でのzの逆演算z−1をT=T(z)と表記することができる。 As is known in the art, GF (2 4 ) has a polynomial representation defined by a reduced polynomial over GF (2), for example, z = [z 3 z 2 z 1 z 0 ] is , The polynomial z 0 + z 1 t + z 2 t 2 + z 3 t 3 . The multiplication of the elements of GF can be defined by multiplying the polynomials representing the elements and reducing the result modulo the reduction polynomial. In the following description, the inverse operation x −1 of x in AES GF (2 8 ) is expressed as F = F (x), and the inverse operation z −1 of z in the new expression is expressed as T = T (z). Can be written.

本発明の実施形態によれば、GF(2)のビットオクテットz=[z]は、z<m>=[z]およびz<l>=[z]をGF(2)の要素とした場合、線形多項式z<m>t+z<l>と類似することができる。したがって、新しい表現は、GF(2)の要素z<m>とz<l>を含むことができる。 According to an embodiment of the present invention, the bit octet z = [z 7 z 6 z 5 z 4 z 3 z 2 z 1 z 0 ] of GF (2 8 ) is z <m> = [z 7 z 6 z If 5 z 4 ] and z <l> = [z 3 z 2 z 1 z 0 ] are elements of GF (2 4 ), they can be similar to the linear polynomial z <m> t + z <l> . Thus, the new representation can include the elements z <m> and z <l> of GF (2 4 ).

本発明のいくつかの実施形態の一部として、新しい表現での乗算および加算は、GF(2)上の演算によって定義することができる。以下に、新しい表現での乗算および加算のGF(2)上の演算による1つの可能な定義を提供する。本発明のいくつかの実施形態の一部として、その他の定義も使用できることは理解されよう。 As part of some embodiments of the invention, multiplication and addition in the new representation can be defined by operations on GF (2 4 ). The following provides one possible definition of multiplication and addition in the new representation with operations on GF (2 4 ). It will be appreciated that other definitions may be used as part of some embodiments of the present invention.

2つの要素、例えば、a,d∈GF(2)の新しい表現での加算および減算は、当技術分野で知られているように、2つの要素のビット毎のXORとして定義することができる。2つの要素aとdの積は、(t+αt+β)を法とする多項式の積(a<m>t+a<l>)×(d<m>t+d<l>)によって定義することができる。ただし、多項式の係数の乗算および加算は、与えられた表現を使用するGF(2)上の演算によって定義することができる。したがって、要素aとdの積は、以下の式を使用して計算することができる。 Addition and subtraction with a new representation of two elements, eg, a, dεGF (2 8 ), can be defined as a bitwise XOR of the two elements, as is known in the art. . The product of the two elements a and d can be defined by a product of polynomials modulo (t 2 + αt + β) (a <m> t + a <l> ) × (d <m> t + d <l> ). However, multiplication and addition of polynomial coefficients can be defined by operations on GF (2 4 ) using a given representation. Thus, the product of elements a and d can be calculated using the following equation:

Figure 2005534973
Figure 2005534973

ただし、 However,

Figure 2005534973
Figure 2005534973

したがって、AES GF(2)の要素aとdの積は、r=[r]として定義することができる。 Therefore, the product of elements a and d of AES GF (2 8 ) can be defined as r = [r 7 r 6 r 5 r 4 r 3 r 2 r 1 r 0 ].

データ要素x=(a<m>t+a<l>)の逆元x−1=(c<m>t+c<l>)を決定するには、(x<m>x+x<l>)が以下の式を満たす必要がある。 To determine the inverse element x −1 = (c <m> t + c <l> ) of the data element x = (a <m> t + a <l> ), (x <m> x + x <l> ) is It is necessary to satisfy the formula.

Figure 2005534973
Figure 2005534973

式13は、GF(2)上の以下の連立線形式に変換することができる。   Equation 13 can be converted to the following simultaneous line format on GF (2).

Figure 2005534973
Figure 2005534973

したがって、データ要素xの逆元x−1を計算するには、上で説明したように、C<m>およびC<l>を計算すればよい。 Therefore, in order to calculate the inverse element x −1 of the data element x, as described above, it is only necessary to calculate C <m> and C <l> .

本発明の実施形態によれば、連立式14を直接計算するには、2つの平方計算、例えば、a <m>およびa <l>、5つの乗算、1つの逆演算、および3つの加算を、すべてGF(2)上で行う必要がある。しかし、本発明のいくつかの実施形態の一部として、これらの計算の回数は、以下で説明するように、減らすことができる。 According to an embodiment of the present invention, to calculate the simultaneous equations 14 directly, two square calculations, for example, a 2 <m> and a 2 <l> , five multiplications, one inverse operation, and three All additions need to be done on GF (2 4 ). However, as part of some embodiments of the present invention, the number of these calculations can be reduced as described below.

本発明の実施形態によれば、GF(2)上の加算は、当技術分野で知られているように、XOR回路として実装することができる。本発明の他の実施形態によれば、GF(2)上の乗算は、以下で説明するように、複数のGF(2)乗算器を定義し、場合毎に適切な乗算器を選択することによって、より効率的に実行することができる。 According to embodiments of the present invention, the addition on GF (2 4 ) can be implemented as an XOR circuit, as is known in the art. According to another embodiment of the present invention, multiplication on GF (2 4), as described below, to define a plurality of GF (2 4) multipliers, select the appropriate multipliers for each case By doing so, it can be executed more efficiently.

これらの例示的な実施形態によれば、GF(2)の2つの要素、例えば、a=[a,a,a,a]とd=[d,d,d,d]の、GF(2)上の乗算a×d=[a,a,a,a]×[d,d,d,d]は、例えば、上で説明したように、与えられた簡約多項式別に、例えば、加算(XOR)および乗算(AND)など、一連のビット毎の演算として定義することができる。したがって、2つの要素の乗算の計算法は、以下のようになる。
簡約多項式:t+t+1
[a,a,a,a]×[d,d,d,d]=
[a+a+a+a+a,a+a+a+a+a+d,a+d+a+a+a+a+a,a+a+a+a
簡約多項式:t+t+1
[a,a,a,a]×[d,d,d,d]=
[a+a+a+a+a+a+a+a+a+a,a+a+a+a,a+a+a+a+a,a+a+a+a+a+a+a
簡約多項式:t+t+t+t+1
[a,a,a,a]×[d,d,d,d]=
[a+a+a+a+a+a+a,a+a+a+a+a+a,a+a+a+a+a+a,a+a+a+a+a+a
上記の各計算法において、要素の乗算の一部は、2以上の出力ビットで同じであることに留意されたい。例えば、a+a+aという式は、上に挙げた計算法の中で2回出現しているので、例えば、XORゲートとANDゲートを使用するハードウェア要件を最小化するため、1回だけ計算すればよい。上で説明した3つの2次簡約多項式の各々を使用するGF(2)の2つの要素の乗算の計算法を利用して、各々の2次簡約多項式用のGF(2)乗算器を構成できることは、当業者であれば理解されよう。そのような乗算器は、当技術分野で知られているように、ハードウェアおよび/またはソフトウェアで実施することができる。与えられた表現変換行列用に、適切なGF(2)乗算器を構成することができる。各表現変換行列は、上で説明したように、GF(2)上の3つの既約簡約多項式の1つと、拡大多項式とを組み合わせて定義することができるので、GF(2)乗算器は、事前に決定することができる。本発明の例示的な実施形態によれば、GF(2)乗算器のその他の適切な実施を、追加的または代替的に使用することもできることは、当業者であれば理解されよう。
According to these exemplary embodiments, two elements of GF (2 4 ), eg, a = [a 3 , a 2 , a 1 , a 0 ] and d = [d 3 , d 2 , d 1 , D 0 ] on GF (2 4 ) a × d = [a 3 , a 2 , a 1 , a 0 ] × [d 3 , d 2 , d 1 , d 0 ] As described above, for each given reduction polynomial, for example, it can be defined as a series of bitwise operations such as addition (XOR) and multiplication (AND). Therefore, the calculation method of multiplication of two elements is as follows.
Reduction polynomial: t 4 + t + 1
[A 3 , a 2 , a 1 , a 0 ] × [d 3 , d 2 , d 1 , d 0 ] =
[A 1 d 2 + a 3 d 3 + a 3 d 0 + a 2 d 1 + a 0 d 3, a 2 d 3 + a 0 d 2 + a 3 d 3 + a 2 d 0 + a 1 d 1 + d 2 a 3, a 1 d 3 + d 2 a 3 + a 0 d 1 + a 2 d 2 + a 2 d 3 + a 1 d 0 + a 3 d 1 , a 0 d 0 + a 1 d 3 + a 2 d 2 + a 3 d 1 ]
Reduction polynomial: t 4 + t 3 +1
[A 3 , a 2 , a 1 , a 0 ] × [d 3 , d 2 , d 1 , d 0 ] =
[A 0 d 3 + a 1 d 3 + a 3 d 2 + a 2 d 3 + a 3 d 1 + a 2 d 1 + a 1 d 2 + a 3 d 3 + a 3 d 0 + a 2 d 2, a 0 d 2 + a 3 d 3 + a 1 d 1 + a 2 d 0, a 0 d 1 + a 3 d 2 + a 3 d 3 + a 1 d 0 + a 2 d 3, a 1 d 3 + a 0 d 0 + a 2 d 3 + a 3 d 2 + a 2 d 2 + A 3 d 1 + a 3 d 3 ]
Reduction polynomial: t 4 + t 3 + t 2 + t + 1
[A 3 , a 2 , a 1 , a 0 ] × [d 3 , d 2 , d 1 , d 0 ] =
[A 2 d 1 + a 3 d 0 + a 3 d 1 + a 1 d 2 + a 1 d 3 + a 2 d 2 + a 0 d 3, a 3 d 1 + a 2 d 2 + a 1 d 1 + a 2 d 0 + a 0 d 2 + a 1 d 3, a 0 d 1 + a 1 d 3 + a 1 d 0 + a 3 d 1 + a 3 d 3 + a 2 d 2, a 3 d 2 + a 1 d 3 + a 0 d 0 + a 2 d 3 + a 2 d 2 + A 3 d 1 ]
Note that in each of the above calculations, some of the element multiplications are the same for more than one output bit. For example, the expression a 1 d 3 + a 2 d 2 + a 3 d 1 appears twice in the calculation method listed above, thus minimizing hardware requirements using, for example, XOR gates and AND gates. Only one calculation is required. The GF (2 4 ) multiplier for each second reduction polynomial is calculated using the two-element multiplication calculation of GF (2 4 ) using each of the three second order reduction polynomials described above. Those skilled in the art will appreciate that they can be configured. Such a multiplier can be implemented in hardware and / or software, as is known in the art. An appropriate GF (2 4 ) multiplier can be constructed for a given representation transformation matrix. Each representation transformation matrix can be defined by combining one of the three irreducible reduction polynomials on GF (2 4 ) and the expansion polynomial as described above, so that the GF (2 4 ) multiplier Can be determined in advance. One skilled in the art will appreciate that other suitable implementations of the GF (2 4 ) multiplier may be used in addition or alternatively in accordance with exemplary embodiments of the present invention.

GF(2)でのINVと表記される逆演算、およびSQRと表記される平方演算は、サイズがそれぞれ8バイト、すなわち、16ニブルの2つの別個の比較的小さな参照用テーブル(LUT)によって実施することができる。本発明のいくつかの実施形態によれば、係数βは事前に決定することができる。したがって、要素g∈GF(2)に対応する値β×g(βSQRと表記)も、8バイトのLUTに記憶しておくことができ、そのため、連立式14を計算するのに必要な1組の計算から乗算を1つ取り除くことができる。代替の実施形態によれば、GF(2)でのSQR、INV、および/またはβSQRは、当技術分野で知られている任意の適切な回路によって実施することができる。例えば、SQR回路は、上で説明したような2つの要素の乗算のための計算法において、a=dと置くことによって実施することができる。したがって、SQR回路は、以下の計算法によって実施することができる。
簡約多項式:t+t+1
[a,a,a,a=[a,a+a,a,a+a
簡約多項式:t+t+1
[a,a,a,a=[a+a,a+a,a,a+a+a
簡約多項式:t+t+t+t+1
[a,a,a,a=[a,a+a,a+a,a+a
本発明の実施形態の回路実装は、対応するLUT実装よりもコンパクトにすることができることに留意されたい。しかし、いくつかのSボックス実装では、LUTのほうがより効率的なデータ処理を行うことができる。
The inverse operation denoted INV and the square operation denoted SQR in GF (2 4 ) is performed by two separate relatively small look-up tables (LUTs) of size 8 bytes each, ie 16 nibbles. Can be implemented. According to some embodiments of the invention, the coefficient β can be determined in advance. Therefore, the value β × g 2 (denoted as βSQR) corresponding to the element gεGF (2 4 ) can also be stored in the 8-byte LUT, so that it is necessary to calculate the simultaneous equation 14 One multiplication can be removed from a set of calculations. According to alternative embodiments, SQR, INV, and / or βSQR at GF (2 4 ) can be implemented by any suitable circuit known in the art. For example, the SQR circuit can be implemented by setting a = d in the calculation method for multiplication of two elements as described above. Therefore, the SQR circuit can be implemented by the following calculation method.
Reduction polynomial: t 4 + t + 1
[A 3 , a 2 , a 1 , a 0 ] 2 = [a 3 , a 3 + a 1 , a 2 , a 0 + a 2 ]
Reduction polynomial: t 4 + t 3 +1
[A 3 , a 2 , a 1 , a 0 ] 2 = [a 2 + a 3 , a 1 + a 3 , a 3 , a 0 + a 2 + a 3 ]
Reduction polynomial: t 4 + t 3 + t 2 + t + 1
[A 3 , a 2 , a 1 , a 0 ] 2 = [a 2 , a 1 + a 2 , a 2 + a 3 , a 0 + a 2 ]
It should be noted that the circuit implementation of embodiments of the present invention can be more compact than the corresponding LUT implementation. However, in some S-box implementations, the LUT can perform more efficient data processing.

本発明の例示的な実施形態によれば、129番目の表現変換行列、すなわち、16進表記でM=01,50,b0,0c,a3,8b,d3,d5と表される行列は、上に挙げた192個の表現変換行列から選択することができる。したがって、対応する拡大簡約多項式は、p(t)=t+t+t+t+1、r(t)=t+t+2、すなわち、β=2である。この例示的な実施形態によれば、乗算回路は、[a,a,a,a]×[d,d,d,d]=[a+a+a+a+a+a+a,a+a+a+a+a+a,a+a+a+a+a+a,a+a+a+a+a+a]となる。 According to an exemplary embodiment of the present invention, the 129th representation conversion matrix, that is, the matrix represented as M = 01, 50, b0, 0c, a3, 8b, d3, d5 in hexadecimal notation is It is possible to select from the 192 expression conversion matrices listed in the above. Thus, the corresponding expanded reduction polynomial is p (t) = t 4 + t 3 + t 2 + t + 1, r (t) = t 2 + t + 2, ie β = 2. According to this exemplary embodiment, the multiplier circuit is [a 3 , a 2 , a 1 , a 0 ] × [d 3 , d 2 , d 1 , d 0 ] = [a 2 d 1 + a 3 d 0 + a 3 d 1 + a 1 d 2 + a 1 d 3 + a 2 d 2 + a 0 d 3, a 3 d 1 + a 2 d 2 + a 1 d 1 + a 2 d 0 + a 0 d 2 + a 1 d 3, a 0 d 1 + a 1 d 3 + a 1 d 0 + a 3 d 1 + a 3 d 3 + a 2 d 2 , a 3 d 2 + a 1 d 3 + a 0 d 0 + a 2 d 3 + a 2 d 2 + a 3 d 1 ].

本発明のこの例示的な実施形態によれば、16進表記で示された以下のLUTを使用して、0以上15以下の入力された数lに対応するSQR、βSQR、および/またはINVの個々の値を計算することができる。
SQR=0,1,4,5,f,e,b,a,2,3,6,7,d,c,9,8
βSQR=0,2,8,a,1,3,9,b,4,6,c,e,5,7,d,f
INV=0,1,f,a,8,6,5,9,4,7,3,e,d,c,b,2
ただし、各テーブルの出力は、テーブルのl番目のエントリとすることができる。代替として、SQR、βSQR、および/またはINVは、上で説明したように、回路実装を使用して計算することもでき、例えば、SQR回路は、[a,a,a,a=[a,a+a,a+a,a+a]によって与えられる。
According to this exemplary embodiment of the present invention, using the following LUT shown in hexadecimal notation, SQR, βSQR, and / or INV corresponding to an input number l between 0 and 15: Individual values can be calculated.
SQR = 0, 1, 4, 5, f, e, b, a, 2, 3, 6, 7, d, c, 9, 8
βSQR = 0, 2, 8, a, 1, 3, 9, b, 4, 6, c, e, 5, 7, d, f
INV = 0, 1, f, a, 8, 6, 5, 9, 4, 7, 3, e, d, c, b, 2
However, the output of each table can be the l-th entry of the table. Alternatively, SQR, βSQR, and / or INV can be calculated using a circuit implementation, as described above, eg, the SQR circuit can be [a 3 , a 2 , a 1 , a 0 ] 2 = [a 2 , a 1 + a 2 , a 2 + a 3 , a 0 + a 2 ].

図2を参照すると、本発明のいくつかの例示的な実施形態による、データを暗号化/復号化するためのAES互換Sボックス200の回路実装が示されている。
Sボックス200は、以下で説明するように、式8および9に基づいて、ブロックデータxに対応する出力sbox[x]またはsbox−1[x]を提供するように実施することができる。
Referring to FIG. 2, a circuit implementation of an AES compatible S-box 200 for encrypting / decrypting data is shown according to some exemplary embodiments of the present invention.
The S box 200 may be implemented to provide an output sbox [x] or sbox −1 [x] corresponding to the block data x based on equations 8 and 9, as described below.

Sボックス200は、AES表現の入力データx、例えば、x=[x](x∈GF(2))と表記される8ビットデータなどを受信し、上で説明したように、変換演算子を用いて、このデータをGF((2)表現のデータに変換する、入力変換モジュール221を含むことができる。復号化モードの演算の場合、変換モジュール221はまた、以下で説明するように、xに復号化アフィン変換を施すことができる。Sボックス200は、以下で説明するように、例えば、GF(2)等価の暗号化演算/復号化演算を実行することによって、変換されたデータを処理し、処理されたGF((2)データを提供する、演算モジュール230も含むことができる。Sボックス200は、以下で説明するように、処理されたデータをAES表現に変換し直す、出力逆変換モジュール223も含むことができる。モジュール223はまた、以下で説明するように、モジュール230の出力に暗号化アフィン変換を施すことができる。 The S box 200 is input data x in AES representation, for example, 8-bit data expressed as x = [x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 ] (x∈GF (2 8 )). And the like, and as described above, an input conversion module 221 may be included that converts this data into GF ((2 4 ) 2 ) representation data using a conversion operator. For decoding mode operations, the transform module 221 can also perform a decrypted affine transform on x, as described below. The S box 200 processes the converted data and executes the processed GF ((2 4 4 ), for example, by executing an encryption / decryption operation equivalent to GF (2 8 ) as described below. 2 ) An arithmetic module 230 that provides data may also be included. The S box 200 can also include an output inverse transform module 223 that transforms the processed data back into an AES representation, as described below. Module 223 can also perform encrypted affine transformations on the output of module 230, as described below.

これらの例示的な実施形態によれば、モジュール221は、暗号化モードの演算に対応する、すなわち、上で説明したような変換sbox[x]を実行する、第1のデータ入力パス202を含むことができる。モジュール221は、復号化モードの演算に対応する、すなわち、変換sbox−1[x]を実行する、第2のデータ入力パス204も含むことができる。 According to these exemplary embodiments, the module 221 includes a first data input path 202 corresponding to the operation of the encryption mode, i.e. performing the transformation sbox [x] as described above. be able to. The module 221 may also include a second data input path 204 corresponding to the decoding mode operation, ie, performing the transformation sbox −1 [x].

本発明の例示的な実施形態によれば、モジュール221は、暗号変換回路214と、復号変換回路210を含むことができる。回路214は、xに変換演算子を作用させるように、例えば、xにM−1を乗じる乗算を実行するように適合されるM−1乗算器を含むことができる。回路210は、xに変換演算子を作用させるように適合させることができ、例えば、回路210は、xとbとのXOR演算を実行するためのXORモジュール216と、モジュール216の出力に(AM)−1を乗じる乗算を実行する(AM)−1乗算器とを含むことができる。したがって、回路214の出力は、式8の括弧内の式に対応するM−1xとなることができる。回路210の出力は、式9の括弧内の式に対応する According to an exemplary embodiment of the present invention, the module 221 can include a cryptographic conversion circuit 214 and a decryption conversion circuit 210. Circuit 214, so to apply a conversion operator in x, for example, can include M -1 multiplier is adapted to perform a multiplication that multiplies a M -1 to x. The circuit 210 can be adapted to operate a transformation operator on x, for example, the circuit 210 performs an XOR operation on x and b and outputs (AM) to the output of the module 216. ) multiplied by -1 performs multiplication (AM) may include a -1 multiplier. Thus, the output of circuit 214 can be M −1 x corresponding to the expression in parentheses in Equation 8. The output of circuit 210 corresponds to the expression in parentheses in equation 9.

Figure 2005534973
Figure 2005534973

となることができる。
本発明の例示的な実施形態によれば、モジュール221は、マルチプレクサ220も含み、マルチプレクサは、回路214および210の出力にそれぞれ関連づけられた2つの入力を有することができる。マルチプレクサ220は、これらの2つの入力を選択するのに使用することができ、マルチプレクサ220の出力が、選択された入力に対応する変換データ231の1つの出力を含むようにすることができる。マルチプレクサ220は、2つの入力を選択するための、当技術分野で知られている任意の適切な回路を含むことができる。例えば、マルチプレクサ220は、制御レジスタ(図示せず)を含むことができる。制御レジスタは、要求された演算モードを指示するための指示ビットを格納することができ、例えば、暗号化演算モードの場合は指示ビットを0に、復号化演算モードの場合は指示ビットを1に等しくすることができる。マルチプレクサ220の出力は、当技術分野で知られているように、指示ビットの値に基づいて選択することができる。指示ビットの値は、複数のデータブロックに対して暗号化演算または復号化演算を実行する前に設定することができる。変換GF((2)データ231は、当技術分野で知られているように、例えば、8ビット並列電線(図示せず)によって受け渡される8ビットを含むことができる。8本の電線は、それぞれ4本ずつの電線からなる2つの組に分割することができる。したがって、変換データ231の8ビットは、上で説明したように、変換データ231の8ビット値に対応する2つの4ビットデータ値、すなわち、235で示されるz<m>=[z]と、231で示されるz<l>=[z](z<m>,z<l>∈GF((2))に分割することができる。
Can be.
According to an exemplary embodiment of the present invention, module 221 also includes a multiplexer 220, which can have two inputs associated with the outputs of circuits 214 and 210, respectively. Multiplexer 220 can be used to select these two inputs, and the output of multiplexer 220 can include one output of conversion data 231 corresponding to the selected input. Multiplexer 220 can include any suitable circuit known in the art for selecting two inputs. For example, the multiplexer 220 can include a control register (not shown). The control register can store an instruction bit for indicating the requested operation mode. For example, the instruction bit is set to 0 in the encryption operation mode, and the instruction bit is set to 1 in the decryption operation mode. Can be equal. The output of the multiplexer 220 can be selected based on the value of the indicator bit, as is known in the art. The value of the instruction bit can be set before performing an encryption operation or a decryption operation on a plurality of data blocks. The transformed GF ((2 4 ) 2 ) data 231 can include, for example, 8 bits passed by an 8-bit parallel wire (not shown) as is known in the art. The eight electric wires can be divided into two sets each consisting of four electric wires. Therefore, as described above, the 8 bits of the conversion data 231 are two 4-bit data values corresponding to the 8-bit value of the conversion data 231, that is, z <m> = [z 7 z 6 indicated by 235. z 5 z 4 ] and z <l> = [z 3 z 2 z 1 z 0 ] (z <m> , z <l> ∈GF ((2 4 ) 2 )) indicated by 231 Can do.

モジュール230は、以下で説明するように、データ値z<m>とz<l>を処理し、上で説明したT(x)=c<m>t+c<l>によって表される処理されたデータを提供する回路を含むことができる。c<m>およびc<l>の値は、連立式14で与えることができるが、その場合、a<m>およびa<l>は、z<m>およびz<l>で置き換えられ、α=1とする。 Module 230 processes the data values z <m> and z <l> , as described below, and processed by T (x) = c <m> t + c <l> described above. Circuitry for providing data can be included. The values of c <m> and c <l> can be given by simultaneous equations 14, in which case a <m> and a <l> are replaced by z <m> and z <l> , α = 1.

本発明の例示的な実施形態によれば、演算モジュール230は、上で説明したように、変換データ231に対してAES等価な演算を実行するための演算回路を含むことができる。演算回路は、第1の8ビットのビット単位XORボックス232と、第2の8ビットのビット単位XORボックス234を含むことができる。演算回路は、上で説明したような、3つの同じGF(2)乗算器236、238、240も含むことができる。演算回路は、上で説明したような、INV242、SQR244、βSQR246をそれぞれ実行する、3つの回路/8バイトテーブルを含むことができる。回路/テーブル242、244、246および乗算器236、238、240は、上で説明したように、選択された簡約多項式に基づいて、事前に決定することができる。したがって、乗算器240の出力c<l>および乗算器238の出力c<m>はそれぞれ、(z<l>+z<m>)(z <m>β+z <l>+z<l><m>−1、z<m>(z <m>β+z <l>+z<l><m>−1に等しくなることができる。 According to an exemplary embodiment of the present invention, the arithmetic module 230 may include an arithmetic circuit for performing an AES equivalent operation on the conversion data 231 as described above. The arithmetic circuit can include a first 8-bit bitwise XOR box 232 and a second 8-bit bitwise XOR box 234. The arithmetic circuit may also include three identical GF (2 4 ) multipliers 236, 238, 240 as described above. The arithmetic circuit may include three circuits / 8 byte tables that respectively execute INV242, SQR244, and βSQR246 as described above. Circuits / tables 242, 244, 246 and multipliers 236, 238, 240 can be pre-determined based on the selected reduction polynomial, as described above. Accordingly, the output c <m> are each output c <l> and multiplier 238 of the multiplier 240, (z <l> + z <m>) (z 2 <m> β + z 2 <l> + z <l> z < M > ) −1 , z <m> (z 2 <m> β + z 2 <l> + z <l> z <m> ) −1 .

乗算器240の4ビット出力と乗算器238の4ビット出力は、出力230で再合成されて、変換データ231に対して実行された演算Tに対応する1つの8ビットデータ出力を形成することができる。したがって、暗号化モードの演算の場合、モジュール230の出力は、式8に基づく値T[M−1×x]を含むことができる。復号化モードの演算の場合、モジュール230の出力は、式9に基づく値 The 4-bit output of multiplier 240 and the 4-bit output of multiplier 238 may be recombined at output 230 to form one 8-bit data output corresponding to operation T performed on transformed data 231. it can. Thus, for cryptographic mode operations, the output of module 230 can include a value T [M −1 × x] based on Equation 8. For decoding mode operations, the output of module 230 is a value based on Equation 9

Figure 2005534973
Figure 2005534973

を含むことができる。モジュール230の出力は、モジュール223によって受信されることができる。 Can be included. The output of module 230 can be received by module 223.

モジュール223は、暗号化モードの演算に対応する第1のデータパス272と、復号化モードの演算に対応する第2のデータパス274を含むことができる。モジュール223は、暗号逆変換回路285と、復号逆変換回路282を含むことができる。回路282は、パス272に関連づけられたM乗算器を含むことができる。回路282は、復号化モードにおいて、処理されたGF((2)データをAES表現に変換し直すため、例えば、式9に基づく The module 223 may include a first data path 272 corresponding to the encryption mode operation and a second data path 274 corresponding to the decryption mode operation. The module 223 can include an encryption reverse conversion circuit 285 and a decryption reverse conversion circuit 282. Circuit 282 may include an M multiplier associated with path 272. The circuit 282 converts the processed GF ((2 4 ) 2 ) data back into the AES representation in decoding mode, for example, based on Equation 9

Figure 2005534973
Figure 2005534973

を得るために使用することができる。回路285は、パス274に関連づけられたAM乗算器284と、乗算器284の出力に関連づけられたXORブロック286を含むことができる。乗算器284は、演算の暗号化モードにおいて、XORブロック286と組み合わせて、処理されたGF((2)データをAES表現に変換し直すため、例えば、式8に基づく Can be used to obtain. Circuit 285 can include an AM multiplier 284 associated with path 274 and an XOR block 286 associated with the output of multiplier 284. Multiplier 284 is combined with XOR block 286 in operation encryption mode to convert the processed GF ((2 4 ) 2 ) data back to AES representation, for example, based on Equation 8:

Figure 2005534973
Figure 2005534973

を得るために使用することができる。本発明の例示的な実施形態によれば、モジュール223は、マルチプレクサ290も含み、マルチプレクサは、XORブロック286および乗算器282の出力にそれぞれ関連づけられた2つの入力を有することができる。マルチプレクサ290は、これらの2つの入力を選択するのに使用することができ、マルチプレクサ290の出力が、演算モードに対応する1つの出力を含むようにすることができる。マルチプレクサ290は、2つの入力を選択するための、当技術分野で知られている任意の適切な回路を含むことができる。例えば、マルチプレクサ290は、上で説明したようなマルチプレクサ220の回路と同様の回路を含むことができる。 Can be used to obtain. According to an exemplary embodiment of the present invention, module 223 also includes a multiplexer 290, which may have two inputs associated with the output of XOR block 286 and multiplier 282, respectively. Multiplexer 290 can be used to select these two inputs, and the output of multiplexer 290 can include one output corresponding to the operational mode. Multiplexer 290 can include any suitable circuit known in the art for selecting two inputs. For example, multiplexer 290 can include circuitry similar to that of multiplexer 220 as described above.

Sボックス200の演算の例を以下に提示する。第1の例は、本発明の実施形態による、AES互換Sボックスを使用してデータを暗号化するステップを具体的に示している。第2の例は、別の実施形態によるデータの復号化を具体的に示している。提示される例では、上に列挙した行列の集合のうちの129番目の表現変換行列が使用され、入力データxには値67をもつデータが選択されている。これらの例における表現変換行列および入力データは、例示のためだけに無作為に選択されたものであり、本発明の範囲を特定の選択された表現変換行列または特定の入力データ値に限定する意図はないことに留意されたい。   An example of the operation of the S box 200 is presented below. The first example specifically illustrates the step of encrypting data using an AES compatible S-box according to an embodiment of the present invention. The second example specifically illustrates data decoding according to another embodiment. In the example presented, the 129th representation conversion matrix of the set of matrices listed above is used, and data having the value 67 is selected as the input data x. The representation transformation matrix and input data in these examples are chosen randomly for illustration only and are intended to limit the scope of the invention to a particular selected representation transformation matrix or a particular input data value. Note that there is no.

最初に、この例示的な実施形態では16進値67(T1)で表される入力データが、入力パス202を介してロードされる。入力データは、乗算器214でM−1を乗じられ、2e(T3)が算出される。次に、T3が、暗号化モードに設定されたマルチプレクサ220に入力される。したがって、T3は、2つの4ビット値、すなわち、T7=2とT6=eに分割される。次に、XORボックス232で、2つの4ビット値のXORが計算され、 Initially, input data, represented in this exemplary embodiment by a hexadecimal value 67 (T1), is loaded via the input path 202. The input data is multiplied by M− 1 by the multiplier 214 to calculate 2e (T3). Next, T3 is input to the multiplexer 220 set to the encryption mode. Thus, T3 is divided into two 4-bit values: T7 = 2 and T6 = e. Next, in the XOR box 232, the XOR of the two 4-bit values is calculated,

Figure 2005534973
Figure 2005534973

が算出される。T7は、βSQR回路/テーブル246に入力され、T10=2・2=8が算出される。上で説明した乗算器によって、T9=T7・T6=2・e=3を生成するため、乗算器236が使用される。T6は、SQR回路/テーブル244に入力され、T8=e=9が算出される。XORボックス234で、値T8、T9、T10のXORが計算され、 Is calculated. T7 is input to the βSQR circuit / table 246, and T10 = 2 · 2 2 = 8 is calculated. The multiplier 236 is used to generate T9 = T7 · T6 = 2 · e = 3 by the multiplier described above. T6 is input to the SQR circuit / table 244, and T8 = e 2 = 9 is calculated. In the XOR box 234, the XOR of the values T8, T9, T10 is calculated,

Figure 2005534973
Figure 2005534973

が生成される。次に、T12は、INV回路/テーブル242に入力され、T13=T12−1=fが算出される。乗算器238は、入力T11およびT13を受信し、T14=T11・T13=6が算出され、乗算器240は、入力T7およびT13を受信し、T15=T7・T13=1が算出される。次に、T15とT14が合成されて、単一の8ビットデータ値、すなわち、T16=16が生成される。単一の8ビットデータ値は、乗算器284に入力され、T18=(AM)・16=e6が算出される。最後に、XORボックス286で、T18とbのXORが計算され、 Is generated. Next, T12 is input to the INV circuit / table 242, and T13 = T12 −1 = f is calculated. The multiplier 238 receives the inputs T11 and T13, T14 = T11 · T13 = 6 is calculated, and the multiplier 240 receives the inputs T7 and T13, and T15 = T7 · T13 = 1 is calculated. T15 and T14 are then combined to produce a single 8-bit data value, ie T16 = 16. The single 8-bit data value is input to the multiplier 284, and T18 = (AM) · 16 = e6 is calculated. Finally, in the XOR box 286, the XOR of T18 and b is calculated,

Figure 2005534973
Figure 2005534973

が生成される。マルチプレクサ258は、T20=T19=85を出力として選択する。したがって、Sボックスの出力sbox[x]は85である。 Is generated. The multiplexer 258 selects T20 = T19 = 85 as an output. Therefore, the output sbox [x] of the S box is 85.

上記の例で説明したSボックスの(暗号化)出力を復号化するため、Sボックスを利用する例を以下に提示する。Sボックスには最初、データ値T1=85が入力される。ボックス216で、T1とbのXORが計算され、   An example of using the S box to decrypt the (encrypted) output of the S box described in the above example is given below. First, a data value T1 = 85 is input to the S box. In box 216, the XOR of T1 and b is calculated,

Figure 2005534973
Figure 2005534973

が算出される。T2は、乗算器218で(AM)−1を乗じられ、T4=(AM)−1・e6=16が算出される。次に、T4は、(復号化モードに設定された)マルチプレクサ220によって選択され、T5が得られる。T5は、T6=6とT7=1に分割される。次に、ボックス232で、2つの4ビット値のXORが計算され、 Is calculated. T2 is multiplied by (AM) −1 by the multiplier 218 to calculate T4 = (AM) −1 · e6 = 16. T4 is then selected by multiplexer 220 (set to decoding mode) to obtain T5. T5 is divided into T6 = 6 and T7 = 1. Next, in box 232, an XOR of the two 4-bit values is calculated,

Figure 2005534973
Figure 2005534973

が算出される。次に、回路/テーブルβSQR246、SQR244、および乗算器236を使用して、値T10=β・T7=2、T9=T6・T7=6、およびT8=T6=bが計算される。ボックス234で、出力T10、T9、T8のXORが計算され、 Is calculated. Next, using the circuit / table βSQR246, SQR244, and multiplier 236, the values T10 = β · T7 2 = 2; T9 = T6 · T7 = 6 and T8 = T6 2 = b are calculated. In box 234, the XOR of outputs T10, T9, T8 is calculated,

Figure 2005534973
Figure 2005534973

が算出される。次に、T12は、INVテーブル242に入力され、T13=T12−1=2が算出される。乗算器238は、入力T11およびT13を受け取り、乗算器240は、入力T7およびT13を受け取る。乗算器240および乗算器238の出力結果はそれぞれ、T14=T11・T13=e、T15=T7・T13=2となる。次に、T15とT14が合成されて、単一の8ビットデータ値T16=2eが生成される。T16は、乗算器582で、Mを乗じられ、T17=M・2e=67が生成される。最後に、マルチプレクサ290は、T20=T17=67を出力として選択する。 Is calculated. Next, T12 is input to the INV table 242, and T13 = T12 −1 = 2 is calculated. Multiplier 238 receives inputs T11 and T13, and multiplier 240 receives inputs T7 and T13. The output results of the multiplier 240 and the multiplier 238 are T14 = T11 · T13 = e and T15 = T7 · T13 = 2, respectively. T15 and T14 are then combined to produce a single 8-bit data value T16 = 2e. T16 is multiplied by M in the multiplier 582, and T17 = M · 2e = 67 is generated. Finally, the multiplexer 290 selects T20 = T17 = 67 as an output.

図3を参照すると、本発明のさらなる例示的な実施形態による、演算モジュール330が概略的に示されている。
本発明のいくつかの例示的な実施形態によれば、Sボックス(図2)のモジュール230(図2)は、α≠1とするAES等価な演算を実行できるように、モジュール330で置き換えることができる。モジュール330は、値235にαを乗じるためのアルファ乗算器332を含むことができる。乗算器332の出力は、XORブロック232および乗算器236の入力にそれぞれ供給することができる。したがって、乗算器238の出力c<m>および乗算器240の出力c<l>は、上で説明したように、連立式14に基づいて提供することができる。
Referring to FIG. 3, an arithmetic module 330 is schematically shown according to a further exemplary embodiment of the present invention.
According to some exemplary embodiments of the present invention, module 230 (FIG. 2) of the S box (FIG. 2) is replaced with module 330 so that an AES equivalent operation with α ≠ 1 can be performed. Can do. Module 330 may include an alpha multiplier 332 for multiplying the value 235 by α. The output of multiplier 332 can be provided to the inputs of XOR block 232 and multiplier 236, respectively. Thus, the output c <m> of multiplier 238 and the output c <l> of multiplier 240 can be provided based on simultaneous equations 14 as described above.

本発明のいくつかの実施形態によれば、表現変換の組から表現変換行列を決定するための方法が提供される。この方法は、組み立ておよび/またはシミュレートによって、複数の回路を合成するステップを含むことができ、各回路は、上で説明したように、GF(22s)表現からGF((2)表現への表現変換行列に対応する。上記の方法はまた、以下で説明するように、例えば、最小回路面積など、所定の最適化基準に照らして、行列の集合の中から1つを選択するステップも含む。 According to some embodiments of the invention, a method is provided for determining a representation transformation matrix from a set of representation transformations. The method may include synthesizing and / or simulating a plurality of circuits, each circuit having a GF ((2 s ) 2 from a GF (2 2s ) representation, as described above. ) Corresponds to the expression conversion matrix to expression. The method also includes selecting one of the set of matrices in the light of a predetermined optimization criterion, such as a minimum circuit area, as described below.

本発明の例示的な実施形態によれば、可能な表現変換行列、例えば、上で説明した192個の表現変換行列の集合の各表現変換行列Mは、上で説明したように、AES表現からGF((2)表現への変換を可能とするように実装することができる。各表現変換行列は、例えば、上で説明したような適切な電気回路、および/または適切なソフトウェアによって実装することができ、以下で説明するように、異なる性能特性をもつことができる。したがって、本発明の実施形態によれば、表現変換行列は、以下で説明するように、何らかの所望の基準に照らして、行列の集合から選択することができる。 According to an exemplary embodiment of the present invention, possible representation transformation matrices, eg, each representation transformation matrix M of the set of 192 representation transformation matrices described above are derived from an AES representation as described above. It can be implemented to allow conversion to the GF ((2 4 ) 2 ) representation. Each representation transformation matrix can be implemented, for example, by appropriate electrical circuitry as described above, and / or appropriate software, and can have different performance characteristics, as described below. Thus, according to embodiments of the present invention, the representation transformation matrix can be selected from a set of matrices in the light of some desired criteria, as described below.

本発明の実施形態によれば、回路試験の条件となる動作パラメータは、回路の関連する結果に影響を及ぼすことができる。したがって、回路またはプロセスの最適性は、以下で説明するように、使用する動作パラメータに依存することができる。さらに、回路またはプロセスが最適であるかどうかの判断は、回路/プロセスを評価するのに使用される基準によって変ることができる。したがって、動作パラメータおよび/または基準が異なれば、異なる回路/プロセスが、最適であると決定されることがある。   According to embodiments of the present invention, operating parameters that are conditions for circuit testing can affect the associated results of the circuit. Thus, the optimality of the circuit or process can depend on the operating parameters used, as will be explained below. Further, the determination of whether a circuit or process is optimal can vary depending on the criteria used to evaluate the circuit / process. Thus, different operating parameters and / or criteria may determine that different circuits / processes are optimal.

本発明のいくつかの例示的な実施形態によれば、比較基準には、サンプルデータを変換し、上で説明したようなAES等価な演算を実行するため、回路/プロセスの各々が必要とするゲート数および/または消費電力が含まれることができる。本発明のその他の実施形態によれば、その他の任意の所望の最適化基準を利用することができる。   According to some exemplary embodiments of the present invention, the comparison criteria require each of the circuits / processes to transform sample data and perform AES equivalent operations as described above. The number of gates and / or power consumption can be included. According to other embodiments of the invention, any other desired optimization criterion may be utilized.

本発明の例示的な実施形態によれば、回路の組、例えば、192個の可能な変換行列にそれぞれ対応する192個の回路は、例えば、上で説明したSボックス200(図2)に対応するように作成することができる。これらの例示的な実施形態によれば、個々の回路は、Synopsis社が販売するDC Shell 2001.08−sp1(DC Expert)を使用して合成することができる。目標ライブラリTSMC 0.18μ(SAAG−X Artisane)を使用することができる。合成は、様々なタイミング、例えば、伝播遅延時間が、例えば、12ナノ秒から6ナノ秒の範囲のいずれかの時間となるように実行することができる。これらのパラメータは、マージン、例えば、3ナノ秒のマージンを追加することによって、例えば、66.7MHzから111MHzの範囲の異なる別個の周波数を使用できるようにすることができる。これらの例示的な実施形態によれば、上で説明した方法の結果を、以下の表によって要約することができる。   According to an exemplary embodiment of the present invention, a set of circuits, eg, 192 circuits each corresponding to 192 possible transformation matrices, corresponds to, for example, the S box 200 (FIG. 2) described above. Can be created to do. According to these exemplary embodiments, the individual circuits can be synthesized using DC Shell 2001.08-sp1 (DC Expert) sold by Synopsis. The target library TSMC 0.18μ (SAAG-X Artisane) can be used. The synthesis can be performed at various timings, eg, the propagation delay time is any time in the range of, for example, 12 nanoseconds to 6 nanoseconds. These parameters can be enabled to use different discrete frequencies, for example in the range of 66.7 MHz to 111 MHz, by adding a margin, eg, a 3 nanosecond margin. According to these exemplary embodiments, the results of the method described above can be summarized by the following table.

Figure 2005534973
Figure 2005534973

ただし、括弧内の数字は、その数字をインデックス番号とする上で説明したような表現変換行列に対応する回路を表す。したがって、例えば、タイミング=12の場合、No.82の行列を使用したとき、最小面積の回路が得られ、No.45の行列を使用したとき、最大面積の回路が得られる。 However, the numbers in parentheses represent circuits corresponding to the expression conversion matrix as described above using the numbers as index numbers. Therefore, for example, when the timing = 12, No. When the matrix of 82 is used, a circuit with the smallest area is obtained. When 45 matrices are used, the largest area circuit is obtained.

表1から分かるように、実装に必要な最小面積および他の基準に関して、および/またはある動作パラメータの下で、いくつかの回路は、その他の回路よりも望ましいようである。さらに分かるように、各回路の性能は、回路の動作パラメータに依存することができる。ある動作パラメータを変更することで、個々の回路にほぼ同様の方法で影響を及ぼすことができる。しかし、いくつかの回路は、ある動作パラメータの下で動作したときに最適な結果を生みだすことができ、動作パラメータが変化すると、最適とは掛け離れた結果が生じることがあることを理解されたい。例えば、回路面積は、選択された表現変換行列に関係なく、周波数とともに大きくなることができるが、異なる周波数では、異なる回路が、最適な結果、例えば、回路を実装するのに必要な異なる最適面積を提供することができる。性能の違いは、少なくとも部分的に、AES Sボックス等価なLUTが、複雑さのレベルを異にする原因となり、またGF(2)のGF((2)表現での計算が、異なる回路および様々な動作パラメータで異なる原因となることができる。 As can be seen from Table 1, some circuits appear to be more desirable than others with respect to the minimum area required for implementation and other criteria and / or under certain operating parameters. As can be further seen, the performance of each circuit can depend on the operating parameters of the circuit. By changing certain operating parameters, individual circuits can be affected in a similar manner. However, it should be understood that some circuits can produce optimal results when operated under certain operating parameters, and that changing operating parameters may produce results that are far from optimal. For example, the circuit area can increase with frequency, regardless of the selected representation transformation matrix, but at different frequencies, different circuits may produce optimal results, for example, different optimal areas required to implement the circuit. Can be provided. The difference in performance, at least in part, caused the AES S box equivalent LUT to have different levels of complexity, and the calculation of GF (2 8 ) in the GF ((2 4 ) 2 ) representation is It can be caused differently by different circuits and various operating parameters.

本発明のいくつかの実施形態によれば、回路のいくつかは、周波数の変化にあまり影響を受けず、様々な動作パラメータの下で動作したときに、ほぼ一定の良好な結果を示すことができる。例えば、上で説明したような等価な表現変換行列に別々に対応する回路82、105、124、128は、様々な動作パラメータの下で望ましい結果を示すことができる。様々な回路の性能の違い、および非常に多くのケースでのいくつかの回路の望ましさは、上で説明したような、それぞれ代替を有するINV回路/テーブル、SQR回路/テーブル、およびGF(2)乗算器の3つの使い分けに関係することができる。さらに、異なる回路は、異なるβSQR回路/テーブルを必要とすることができ、M、AM、M−1、(AM)−1による乗算は、上で説明したように、異なることができる。 According to some embodiments of the present invention, some of the circuits are less sensitive to changes in frequency and may exhibit nearly constant good results when operated under various operating parameters. it can. For example, circuits 82, 105, 124, 128 that separately correspond to equivalent representation transformation matrices as described above can exhibit desirable results under various operating parameters. The differences in performance of the various circuits, and the desirability of some circuits in very many cases, are the INV circuit / table, SQR circuit / table, and GF (2 4 ) It can be related to three types of multipliers. Further, different circuits may require different βSQR circuits / tables, and multiplication by M, AM, M −1 , (AM) −1 may be different as described above.

本発明のさらなる例示的な実施形態によれば、GF(22s)表現からGF((2)表現への変換は、1つまたは複数の中間変換演算子を利用することによって、段階的または再帰的に実行することができる。例えば、s=2uの場合、GF(2)表現での演算は、GF(22u)での演算に類似することができる。GF(22u)での演算は、GF((2)表現で実行することができる。したがって、中間変換演算子を利用して、GF((2)表現のデータをGF((2)表現の対応するデータに変換することができる。必要に応じて、第2の中間変換演算子を利用して、GF(2)表現のデータをGF((2)表現(u=2v)の対応するデータに変換するなど、このような操作をさらに続けることができる。したがって、 According to a further exemplary embodiment of the present invention, the conversion from a GF (2 2s ) representation to a GF ((2 s ) 2 ) representation is performed by utilizing one or more intermediate conversion operators. Can be executed automatically or recursively. For example, when s = 2u, the operation in GF (2 s ) representation can be similar to the operation in GF (2 2u ). An operation on GF (2 2u ) can be executed with a GF ((2 u ) 2 ) expression. Therefore, the data in the GF ((2 s ) 2 ) expression can be converted into the corresponding data in the GF ((2 u ) 2 ) expression using an intermediate conversion operator. If necessary, the second intermediate conversion operator is used to convert the data of the GF (2 u ) expression into the corresponding data of the GF ((2 v ) 2 ) expression (u = 2v), etc. Such operation can be further continued. Therefore,

Figure 2005534973
Figure 2005534973

表現(qは奇数)での演算は、GF(2)表現での演算を使用することによって、GF((..(((2)..))表現での演算を使用して実行することができる。GF表現から、例えば、サイズが半分の別のGF表現への変換は、例えば、回路効率および/または電力効率など、特定の実施の効率性基準に照らして設計することができる。 The operation in the expression (q is an odd number) is performed in the GF ((.. (((2 q ) 2 ) 2 ).) 2 ) expression by using the operation in the GF (2 q ) expression. Can be performed using. The transformation from a GF representation to another GF representation, for example half the size, can be designed in light of specific implementation efficiency criteria such as, for example, circuit efficiency and / or power efficiency.

本発明が、本明細書で提示され、添付の図面を参照しながら説明された本発明の例示的な実施形態に限定されるものではないことは、当業者であれば理解されよう。本発明のいくつかの特徴を例示し、説明してきたが、当業者であれば、多くの修正、置換、変更、および均等物を思い浮かべることができるであろう。したがって、添付の特許請求の範囲は、本発明の真の主旨に包含されるそのようなすべての修正および変更を含むことを意図したものであることを理解されたい。   Those skilled in the art will appreciate that the present invention is not limited to the exemplary embodiments of the invention presented herein and described with reference to the accompanying drawings. While several features of the invention have been illustrated and described, many modifications, substitutions, changes, and equivalents will occur to those skilled in the art. Accordingly, it is to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

本発明の実施形態による、データを操作する方法のフローチャートである。4 is a flowchart of a method for manipulating data according to an embodiment of the present invention. 本発明のいくつかの例示的な実施形態による、データを暗号化および/または復号化するためのAES Sボックスを実施する回路の概略図である。FIG. 6 is a schematic diagram of a circuit implementing an AESS box for encrypting and / or decrypting data according to some exemplary embodiments of the present invention. 本発明のさらなる例示的な実施形態による、演算モジュールの概略図である。FIG. 6 is a schematic diagram of a computing module, according to a further exemplary embodiment of the present invention.

Claims (29)

GF(22s)表現のデータを、前記GF(22s)表現のデータに所定の変換に関連する変換演算子を作用させることによって、対応するGF((2)表現のデータに変換するステップを含むデータ操作方法。 Converting the data of GF (2 2s) representation, by the action of conversion operator associated with predetermined conversion on the data of the GF (2 2s) representation, corresponding GF ((2 s) 2) the data representation A data manipulation method including a step of performing. 前記変換演算子が、前記変換に対応する表現変換行列に関連する、請求項1に記載の方法。   The method of claim 1, wherein the transformation operator is associated with an expression transformation matrix corresponding to the transformation. 前記変換演算子が、前記表現変換行列の逆行列である、請求項2に記載の方法。   The method of claim 2, wherein the transformation operator is an inverse matrix of the representation transformation matrix. 前記変換演算子が、線形変換と前記表現変換行列の組み合わせを含む、請求項2に記載の方法。   The method of claim 2, wherein the transformation operator comprises a combination of a linear transformation and the representation transformation matrix. 前記変換演算子が、前記表現変換行列とAES Sボックスパラメータ行列の行列積の逆行列を含む、請求項4に記載の方法。   The method of claim 4, wherein the transformation operator comprises an inverse matrix of a matrix product of the representation transformation matrix and an AES S box parameter matrix. 前記GF((2)表現が、GF(2)上の既約簡約多項式とGF(2)上の拡大多項式とによって定義される、請求項1から5のいずれかに記載の方法。 The GF ((2 s) 2) representation is defined by the expansion polynomial over GF (2 s) on irreducible reduction polynomial and GF (2 s), according to any one of claims 1 to 5 Method. GF(2)上の前記拡大多項式が、GF(2)上の2次既約多項式を含む、請求項6に記載の方法。 The expansion polynomial over GF (2 s) comprises 2 order irreducible polynomial over GF (2 s), The method of claim 6. 前記表現変換行列が、所定の基準に照らして可能な表現変換行列の集合から選択される、請求項2から7のいずれかに記載の方法。   The method according to any of claims 2 to 7, wherein the representation transformation matrix is selected from a set of possible representation transformation matrices in light of predetermined criteria. 前記行列の集合の各行列が、前記GF(22s)表現上の既約多項式の根と前記GF((2)表現の体生成元とによって定義される、請求項8に記載の方法。 9. Each matrix of the set of matrices is defined by a root of an irreducible polynomial on the GF (2 2s ) representation and a field generator of the GF ((2 s ) 2 ) representation. Method. 前記GF((2)表現のデータを、前記GF(22s)表現での少なくとも1つの所望の演算と等価な少なくとも1つの演算を実行することによって処理して、処理されたGF((2)データを取得するステップを含む、請求項1から9のいずれかに記載の方法。 The GF ((2 s ) 2 ) representation data is processed by performing at least one operation equivalent to at least one desired operation in the GF (2 2s ) representation, and processed GF ( The method according to claim 1, comprising the step of obtaining (2 s ) 2 ) data. 前記GF(22s)表現のデータが、2以上のデータブロックを含み、前記方法が、前記GF((2)表現のデータを、前記GF(22s)表現での少なくとも1つの所望の演算と等価な前記GF((2)表現での少なくとも1つの演算を前記2以上のデータブロックに対して実行することによって処理して、処理されたGF((2)データを取得するステップを含む、請求項1から9のいずれかに記載の方法。 The data of the GF (2 2s ) representation includes two or more data blocks, and the method converts the data of the GF ((2 s ) 2 ) representation into at least one desired in the GF (2 2s ) representation. computing equivalent the GF ((2 s) 2) at least one operation in the expression and processing by executing with respect to the two or more data blocks were processed GF ((2 s) 2) 10. A method according to any preceding claim, comprising obtaining data. 前記処理されたGF((2)データを、前記処理されたGF((2)データに前記所定の変換に関連する逆変換演算子を作用させることによって、前記GF(22s)表現に変換し直すステップを含む、請求項10または11に記載の方法。 The treated GF a ((2 s) 2) data, by the action of the inverse transform operator associated with said predetermined conversion the treated GF in ((2 s) 2) data, the GF (2 12. The method according to claim 10 or 11, comprising the step of converting back to 2s ) representation. sが4に等しい、請求項1から12のいずれかに記載の方法。   13. A method according to any preceding claim, wherein s is equal to 4. AES Sボックスを実施するのに適した安全なメモリ記憶装置であって、
GF(22s)表現のデータを対応するGF((2)表現のデータに変換する入力変換モジュールと、
前記GF(22s)表現での少なくとも1つの所望の演算と等価な少なくとも1つの演算を実行して、処理されたGF((2)データを取得する演算モジュールと、
前記処理されたGF((2)データを前記GF(22s)表現に変換し直す出力変換モジュールとを含む装置。
A secure memory storage device suitable for implementing an AES S box,
An input conversion module that converts GF (2 2 s ) representation data into corresponding GF ((2 s ) 2 ) representation data;
An arithmetic module that performs at least one operation equivalent to at least one desired operation in the GF (2 2s ) representation to obtain processed GF ((2 s ) 2 ) data;
An output conversion module that converts the processed GF ((2 s ) 2 ) data back into the GF (2 2s ) representation.
前記入力変換モジュールが、前記GF(22s)データの線形変換に表現変換行列に関連する行列を乗じるための乗算器を含む、請求項14に記載の装置。 The apparatus of claim 14, wherein the input transformation module includes a multiplier for multiplying a linear transformation of the GF (2 2s ) data by a matrix associated with an expression transformation matrix. 前記少なくとも1つの所望の演算が、逆演算を含む、請求項14または15に記載の装置。   The apparatus of claim 14 or 15, wherein the at least one desired operation comprises an inverse operation. 前記出力変換モジュールが、前記処理されたGF((2)データの線形変換に表現変換行列に関連する行列を乗じるための乗算器を含む、請求項14から16のいずれかに記載の装置。 The output transform module includes a multiplier for multiplying a linear transformation of the processed GF ((2 s ) 2 ) data by a matrix associated with an expression transformation matrix. apparatus. sが4に等しい、請求項14から17のいずれかに記載の方法。   18. A method according to any of claims 14 to 17, wherein s is equal to 4. 表現変換を決定するための方法であって、
GF(22s)表現からGF((2)表現への複数の表現変換にそれぞれ対応する複数の回路を合成するステップと、
少なくとも1つの最適化基準に照らして前記複数の表現変換から1つを選択するステップとを含む方法。
A method for determining a representation transformation,
Synthesizing a plurality of circuits respectively corresponding to a plurality of expression conversions from a GF (2 2s ) expression to a GF ((2 s ) 2 ) expression;
Selecting one of the plurality of representation transformations against at least one optimization criterion.
前記複数の回路を合成するステップが、前記複数の回路を組み立てるステップを含む、請求項19に記載の方法。   The method of claim 19, wherein combining the plurality of circuits includes assembling the plurality of circuits. 前記複数の回路を合成するステップが、前記複数の回路をシミュレートするステップを含む、請求項19または20に記載の方法。   21. A method according to claim 19 or 20, wherein the step of synthesizing the plurality of circuits comprises simulating the plurality of circuits. sが4に等しい、請求項19から21のいずれかに記載の方法。   The method according to any of claims 19 to 21, wherein s is equal to 4. 前記複数の表現行列が、192個の行列を含む、請求項19から22のいずれかに記載の方法。   23. A method according to any of claims 19 to 22, wherein the plurality of representation matrices comprises 192 matrices. 前記少なくとも1つの基準が、回路面積を含む、請求項19から23のいずれかに記載の方法。   24. A method according to any of claims 19 to 23, wherein the at least one criterion comprises circuit area. 前記少なくとも1つの基準が、電力消費を含む、請求項19から23のいずれかに記載の方法。   24. A method according to any of claims 19 to 23, wherein the at least one criterion comprises power consumption. GF(22s)表現のデータを、前記GF(22s)表現のデータに所定の変換に関連する復号変換演算子を作用させることによって、対応するGF((2)表現のデータに変換するステップと、
前記GF((2)表現のデータを、前記GF(22s)表現での所望の復号化演算と等価な少なくとも1つの演算を実行することによって処理して、処理されたGF((2)データを取得するステップと、
前記処理されたGF((2)データを前記GF(22s)表現に変換し直すステップとを含むデータを復号化するための方法。
The GF (2 2s ) representation data is converted into the corresponding GF ((2 s ) 2 ) data by applying a decoding transformation operator related to a predetermined transformation to the GF (2 2s ) representation data. Converting, and
The GF ((2 s ) 2 ) representation data is processed by performing at least one operation equivalent to a desired decoding operation in the GF (2 2s ) representation, and processed GF (( 2 s ) 2 ) acquiring data;
Transforming the processed GF ((2 s ) 2 ) data into the GF (2 2s ) representation.
GF(22s)表現のデータを、前記GF(22s)表現のデータに所定の変換を作用させることによって、対応するGF((2)表現のデータに変換するステップと、
前記GF((2)表現のデータを、前記GF(22s)表現での所望の暗号化演算と等価な少なくとも1つの演算を実行することによって処理して、処理されたGF((2)データを取得するステップと、
前記処理されたGF((2)データを、前記処理されたGF((2)データに前記所定の変換に関連する暗号変換演算子を作用させることによって、前記GF(22s)表現に変換し直すステップとを含むデータを暗号化するための方法。
The data of GF (2 2s) representation, and converting by applying a predetermined conversion to the data of the GF (2 2s) representation, corresponding GF ((2 s) 2) the data representation,
The GF ((2 s ) 2 ) representation data is processed by performing at least one operation equivalent to a desired encryption operation on the GF (2 2s ) representation, and processed GF ((( 2 s ) 2 ) acquiring data;
The processed GF ((2 s ) 2 ) data is processed by applying a cryptographic conversion operator related to the predetermined conversion to the processed GF ((2 s ) 2 ) data. 2s ) a method for encrypting the data comprising the step of converting it back into a representation.
前記変換演算子を作用させるステップが、1つまたは複数の中間変換演算子を作用させて、前記GF(22s)表現のデータを前記GF((2)表現のデータに再帰的に変換するステップを含む、請求項1から13のいずれかに記載の方法。 The step of applying the conversion operator applies one or more intermediate conversion operators to recursively convert the data of the GF (2 2s ) expression into the data of the GF ((2 s ) 2 ) expression. 14. A method according to any preceding claim, comprising the step of converting. 復号変換回路と暗号変換回路とを含み、GF(22s)表現のデータをGF((2)表現の対応するデータに変換する入力変換モジュールと、
前記GF(22s)表現での所望の暗号化/復号化演算と等価な少なくとも1つの演算を実行して、処理されたGF((2)データを取得する演算モジュールと、
復号逆変換回路と暗号逆変換回路とを含み、前記処理されたGF((2)データを前記GF(22s)表現に変換し直す出力変換モジュールとを含む暗号化/復号化装置。
An input conversion module that includes a decryption conversion circuit and a cryptographic conversion circuit, and converts data in a GF (2 2s ) representation into corresponding data in a GF ((2 s ) 2 ) representation;
An operation module that performs at least one operation equivalent to a desired encryption / decryption operation in the GF (2 2s ) representation to obtain processed GF ((2 s ) 2 ) data;
An encryption / decryption device including a decryption inverse conversion circuit and a cryptographic inverse conversion circuit, and including an output conversion module that converts the processed GF ((2 s ) 2 ) data back into the GF (2 2s ) representation .
JP2004525729A 2002-08-06 2003-08-06 Method and apparatus for manipulating data within a finite body Pending JP2005534973A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40105102P 2002-08-06 2002-08-06
PCT/IL2003/000647 WO2004014016A1 (en) 2002-08-06 2003-08-06 Method and device of manipulating data in finite fields

Publications (1)

Publication Number Publication Date
JP2005534973A true JP2005534973A (en) 2005-11-17

Family

ID=31495918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004525729A Pending JP2005534973A (en) 2002-08-06 2003-08-06 Method and apparatus for manipulating data within a finite body

Country Status (4)

Country Link
EP (1) EP1547301A1 (en)
JP (1) JP2005534973A (en)
AU (1) AU2003249548A1 (en)
WO (1) WO2004014016A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502931A (en) * 2004-06-18 2008-01-31 サジェム・デュフェンス・セキュリート Method and apparatus for performing cryptographic calculations
JP2008299330A (en) * 2007-05-31 2008-12-11 Harris Corp Closed galois field combination

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100594265B1 (en) 2004-03-16 2006-06-30 삼성전자주식회사 A cipher processing unit, an advanced encryption standard cipher system and an advanced encryption standard cipher method with masking method
US8923510B2 (en) * 2007-12-28 2014-12-30 Intel Corporation Method and apparatus for efficiently implementing the advanced encryption standard
US8316338B2 (en) 2009-02-09 2012-11-20 The United States Of America, As Represented By The Secretary Of Commerce, The National Institute Of Standards & Technology Method of optimizing combinational circuits
GB2574261B (en) 2018-06-01 2020-06-03 Advanced Risc Mach Ltd Efficient unified hardware implementation of multiple ciphers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE7714587L (en) * 1977-12-21 1979-06-22 Brendstrom Hugo COMMUNICATION SYSTEM
US4975867A (en) * 1987-06-26 1990-12-04 Digital Equipment Corporation Apparatus for dividing elements of a Galois Field GF (2QM)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502931A (en) * 2004-06-18 2008-01-31 サジェム・デュフェンス・セキュリート Method and apparatus for performing cryptographic calculations
JP4828526B2 (en) * 2004-06-18 2011-11-30 モルフォ Method and apparatus for performing cryptographic calculations
JP2008299330A (en) * 2007-05-31 2008-12-11 Harris Corp Closed galois field combination

Also Published As

Publication number Publication date
EP1547301A1 (en) 2005-06-29
WO2004014016A1 (en) 2004-02-12
AU2003249548A1 (en) 2004-02-23

Similar Documents

Publication Publication Date Title
Satoh et al. A compact Rijndael hardware architecture with S-box optimization
Lim CRYPTON: A new 128-bit block cipher
JP3992742B2 (en) Encryption method and apparatus for nonlinearly combining data blocks and keys
US7532721B2 (en) Implementation of a switch-box using a subfield method
EP2058781B1 (en) Encryption device, encryption method, and computer program
TWI416347B (en) Method and processing circuit for dealing with galois field computation
JP2001324924A (en) Device and method for ciphering, device and method for deciphering, and arithmetic operation device
JP2007192893A (en) Encryption processing device, encryption processing method, and computer program
US20090010425A1 (en) Encryption/decryption device, encryption/decryption device manufacturing device, and method, and computer program
Güneysu Utilizing hard cores of modern FPGA devices for high-performance cryptography
KR20050078271A (en) Hardware cryptographic engine and method improving power consumption and operation speed
JP4098719B2 (en) Programmable data encryption engine for AES algorithm
CN112564890B (en) Method, device, processor and electronic equipment for accelerating SM4 algorithm
JP2005534973A (en) Method and apparatus for manipulating data within a finite body
Li et al. A reconfigurable and compact subpipelined architecture for AES encryption and decryption
Arrag et al. Design and Implementation A different Architectures of mixcolumn in FPGA
JP2005513541A6 (en) Programmable data encryption engine for AES algorithm
CN108418687B (en) Rapid modular reduction method and medium suitable for SM2 algorithm
JP2006510067A (en) Realization of small hardware for line doll sub-byte functions
JP2006517036A (en) Apparatus and method for manipulating masked data
KR20020087331A (en) AES Rijndael Encryption and Decryption Circuit with Subround-Level Pipeline Scheme
KR100954843B1 (en) Method and Apparatus of elliptic curve cryptographic operation based on block indexing on sensor mote and Recording medium using by the same
WO2008013154A1 (en) Extension filed multiplication program and extension filed multiplication device
Abebe Lightweight and Efficient Architecture for AES Algorithm based on FPGA
JP2006502437A (en) Encryption circuit apparatus and method