JP5050454B2 - 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム - Google Patents
暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP5050454B2 JP5050454B2 JP2006238225A JP2006238225A JP5050454B2 JP 5050454 B2 JP5050454 B2 JP 5050454B2 JP 2006238225 A JP2006238225 A JP 2006238225A JP 2006238225 A JP2006238225 A JP 2006238225A JP 5050454 B2 JP5050454 B2 JP 5050454B2
- Authority
- JP
- Japan
- Prior art keywords
- box
- boxes
- cryptographic processing
- type
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Description
K. Nyberg, "Generalized Feistel networks", ASIACRYPT'96, SpringerVerlag, 1996, pp.91--104. Yuliang Zheng, Tsutomu Matsumoto, Hideki Imai: On the Construction of Block Ciphers Provably Secure and Not Relying on Any Unproved Hypotheses. CRYPTO 1989: 461-480
共通鍵ブロック暗号処理を実行する暗号処理装置であり、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理部を有し、
前記暗号処理部は、
各ラウンドにおけるラウンド関数実行処理において、Sボックスを適用した非線形変換処理を行なう構成であり、
非線形変換処理に適用するSボックスとして、少なくとも2種類以上の複数の異なるSボックスを利用した処理を行なう構成であることを特徴とする暗号処理装置にある。
(1)タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1、または、べき乗関数Y=Xpを利用したSボックス、
(2)タイプ2:t−bitの小さなS−boxを複数組み合わせて作り出されたSボックス、ただしt<sとする。
(3)タイプ3:ランダムに選択されたSボックス、
上記(1)〜(3)の3タイプのSボックス中、少なくとも2つ以上の異なるタイプのSボックスを利用した構成であることを特徴とする。
(a)一部をタイプ1のSボックスとし、その他をタイプ2のSボックスとした構成、
(b)一部をタイプ1のSボックスとし、その他をタイプ3のSボックスとした構成、
(c)一部をタイプ2のSボックスとし、その他をタイプ3のSボックスとした構成、
(d)一部をタイプ1のSボックスとし、他の一部をタイプ2のSボックスとし、その他をタイプ3のSボックスとした構成、
上記(a)〜(d)のいずれかの構成を有することを特徴とする。
暗号処理装置において、共通鍵ブロック暗号処理を実行する暗号処理方法であり、
暗号処理部において、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理ステップを有し、
前記暗号処理ステップは、
各ラウンドにおけるラウンド関数実行処理において、Sボックスを適用した非線形変換処理を行ない、該非線形変換処理に適用するSボックスとして、少なくとも2種類以上の複数の異なるSボックスを利用した処理を行なうステップであることを特徴とする暗号処理方法にある。
暗号処理装置において、共通鍵ブロック暗号処理を実行させるコンピュータ・プログラムであり、
暗号処理部において、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なわせる暗号処理ステップを有し、
前記暗号処理ステップは、
各ラウンドにおけるラウンド関数実行処理において、Sボックスを適用した非線形変換処理を行ない、該非線形変換処理に適用するSボックスとして、少なくとも2種類以上の複数の異なるSボックスを利用した処理を行なわせるステップであることを特徴とするコンピュータ・プログラムにある。
1.共通鍵ブロック暗号の概要
2.複数の異なるSボックスの配置により耐性を向上させた構成
(2A)S−boxを用いたFeistelもしくは拡張Feistel型暗号において2種類以上の異なるS−boxを配置することで飽和攻撃に対する耐性を向上させた構成
(2B)S−boxを用いたブロック暗号において、2種類以上の異なるS−boxを混在させることで代数的攻撃(XSL攻撃)に対する耐性を向上させた構成
(2C)S−boxを用いたFeistel暗号もしくは拡張Feistel型暗号において上記(2A),(2B)を同時に実現する構成
3.暗号処理装置の構成例
まず、本発明の適用可能な共通鍵ブロック暗号の概要について説明する。本明細書において、共通鍵ブロック暗号(以下ではブロック暗号)は、以下に定義するものを指すものとする。
平文[P]、暗号文[C]、鍵[K]の各ビットサイズは、以下のように示される。
平文P:nビット
暗号文C:nビット
鍵K:kビット
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
がある。以下、これらの具体的構成について、図4〜図6を参照して説明する。
まず、図4を参照して、ラウンド関数実行部20の一構成例としてのSPN構造ラウンド関数について説明する。SPN構造ラウンド関数実行部20aは、非線形変換層(S層)と線形変換層(P層)を接続したいわゆるSP型の構成を有する。図4に示すように、nビットの入力データすべてに対して、ラウンド鍵との排他的論理和(EXOR)演算を実行する排他的論理和演算部21、排他的論理和演算部21の演算結果を入力し、入力データの非線形変換を実行する非線形変換処理部22、非線形変換処理部22における非線形変換処理結果を入力し、入力データに対する線形変換処理を実行する線形変換処理部23などによって構成される。線形変換処理部23の線形変換処理結果が、次のラウンドに出力される。最終ラウンドでは暗号文となる。なお、図4に示す例では、排他的論理和演算部21、非線形変換処理部22、線形変換処理部23の処理順を示しているが、これらの処理部の順番は、限定されるものではなく、他のシーケンスで処理を行なう構成としてもよい。
次に、図5を参照してラウンド関数実行部20の一構成例としてのFeistel(フェイステル)構造について説明する。Feistel構造は、図5に示すように、前ラウンドからの入力(第1ラウンドでは入力文)であるnビットの入力データをn/2ビットの2つのデータに分割して、各ラウンドにおいて入れ替えながら処理を実行する。
次に、図6を参照してラウンド関数実行部20の一構成例としての拡張Feistel構造について説明する。先に、図5を参照して説明したFeistel構造は、nビットの平文を2つに分割してn/2ビットずつに区分して処理を実行していた。すなわち、分割数:d=2とした処理である。なお、この分割数は、データ系列数とも呼ばれる。
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
これらの構造をとり得る。これらのラウンド関数実行部は、いずれも非線形変換層(S層)と線形変換層(P層)を接続したいわゆるSP型の構成を有する。すなわち、非線形変換処理を実行する非線形変換処理部と、線形変換処理を実行する線形変換処理部とを有する。以下、これらの変換処理構成について説明する。
非線形変換処理部の具体例について、図7を参照して説明する。図7に示すように、非線形変換処理部50は、具体的には、Sボックス(S−box)51と呼ばれるsビット入力sビット出力の非線形変換テーブルがm個並んだものであり、msビットの入力データがsビットずつ分割されてそれぞれ対応するSボックス(S−box)51に入力されデータが変換される。各Sボックス51では、例えば変換テーブルを適用した非線形変換処理が実行される。
線形変換処理部の具体例について、図8を参照して説明する。線形変換処理部は、入力値、例えば、Sボックスからの出力データであるmsビットの出力値を入力値Xとして入力し、この入力に対して線形変換を施しmsビットの結果を出力する。線形変換処理は、例えば、入力ビット位置の入れ替え処理などの線形変換処理を実行して、msビットの出力値Yを出力する。線形変換処理は、例えば、入力に対して、線形変換行列を適用して入力ビット位置の入れ替え処理を行なう。この行列の一例が図8に示す線形変換行列である。
上述したように、共通鍵ブロック暗号は、ラウンド関数の繰り返しによる暗号処理を行なう構成である。この共通鍵ブロック暗号処理の問題点として、暗号解析による鍵の漏洩がある。暗号解析による鍵の解析が容易であるということは、その暗号処理の安全性が低いということになり、実用上、大きな問題となる。以下では、複数の異なるS−box(Sボックス)を配置することで耐性を向上させた暗号処理構成について説明する。
(2A)S−boxを用いたFeistelもしくは拡張Feistel型暗号において2種類以上の異なるS−boxを配置することで飽和攻撃に対する耐性を向上させた構成
(2B)S−boxを用いたブロック暗号において、2種類以上の異なるS−boxを混在させることで代数的攻撃(XSL攻撃)に対する耐性を向上させた構成
(2C)S−boxを用いたFeistel暗号もしくは拡張Feistel型暗号において上記(2A),(2B)を同時に実現する構成
まず、最初にブロック暗号に対する攻撃として知られる飽和攻撃について説明する。飽和攻撃には複数のタイプがある。第1のタイプは、平文の特定のバイト位置について、256種類の値を変化させながら入力した場合、数ラウンド分のラウンド変換処理後に、出力値の特定のバイト位置に256種類の値がすべて現れるという性質を利用した攻撃法である。
また、飽和攻撃の別の形態の攻撃としては、数ラウンド分のラウンド変換後の特定のバイト位置に表れる値の総和を計算すると必ず0になるという性質を利用した攻撃手法である。
P0=(0,0,0,0,0,0,0,0)
P1=(0,0,0,0,0,0,0,1)
: :
P255=(0,0,0,0,0,0,0,255)
これらの平文P0〜P255を、順次入力する。なお、上記表記において、各[0]は1バイトデータの0を示す。
C0=(c0,?,?,?,?,?,?,?)
C1=(c1,?,?,?,?,?,?,?)
: :
C255=(c255,?,?,?,?,?,?,?)
上記出力中[?]は、いかなるビット値でも構わない。
256種類の値c0〜c255がすべて出現する。あるいは、
特定のバイト位置の値:c0〜c255を総和(EXOR)した場合に0となる。
このような規則性のある出力が発生する場合に、これらの規則性に基づいて実行する攻撃(解析)手法である。
次に、Feistel構造、または拡張Feistel構造を適用した暗号処理における問題点について検討する。
A:先行F関数101に対する入力
B:先行F関数101の出力
C:後続F関数102の入力
D:後続F関数102の出力
E:先行F関数101の出力Bに対する排他的論理和演算データ
F:データAに対する排他的論理和演算データ
G:データBとデータEとの排他的論理和演算結果
H:データDとデータGとの排他的論理和演算結果
I:先行F関数101に対して入力するラウンド鍵
J:後続F関数102に対して入力するラウンド鍵
これらの各データを示している。
A=A[0]|A[1]|A[2]|A[3]
上記のように表現する。
P0=(0,0,0,0)
P1=(1,0,0,0)
: :
P255=(255,0,0,0)
これらの平文P0〜P255を、順次入力すると仮定する。なお、上記表記において、各[0],[1]〜[255]は1バイトデータを示す。
I:先行F関数101に対して入力するラウンド鍵
J:後続F関数102に対して入力するラウンド鍵
および、
F:データAに対する排他的論理和演算データ
これらの各データの値の組み合わせによっては、常に以下の式が成立することが発生し得る。すなわち、
A[0](EXOR)I[0]=C[0](EXOR)J[0]
上記式が成立することがありうる。
なお、(EXOR)は排他的論理和演算を示し、
A[0](EXOR)I[0]は、データA[0]とデータI[0]との排他的論理和演算、
C[0](EXOR)J[0]は、データC[0]とデータJ[0]との排他的論理和演算、
を示している。
この式が意味することは2つのF関数101,102における2つのS−boxに入力される値がつねに同じ値となることに他ならない。これらS−boxはすべて同じ非線形変換処理を実行しており、同じ入力値に対しては同じ出力値を出力する。従って、2つのF関数101,102における2つのS−boxの出力が常に同じになる。各F関数101,102では、この同じS−box出力が、線形変換処理部の行列により線形変換されて右側のデータ系列(y)の排他的論理和演算部に出力される。図に示す排他的論理和演算部111,112である。
B(EXOR)Δ=D
となる。
このとき、排他的論理和演算部111では、
G=B(EXOR)E
の演算によりデータGが算出され、
排他的論理和演算部112では、
H=G(EXOR)D
が実行される。
上記式、H=G(EXOR)Dは、G=B(EXOR)E、B(EXOR)Δ=Dであるので、
H=B(EXOR)E(EXOR)B(EXOR)Δ
=E(EXOR)Δとなる。
H=B(EXOR)E(EXOR)B(EXOR)Δ
=Δ(EXOR)E
=E(EXOR)Δ
となる。
S(A[0](EXOR)I[0])(EXOR)S(C[0](EXOR)J[0])
これらの結果として、0から255までの256種類の全ての値が現れるという場合も望ましいとは言えない。本来ならばA[0]とC[0]の両者が256種類の異なる値をそれぞれ出力していてもそれらの演算(EXOR)結果が、かならずしも256種類の出力値をすべて取ることは保証されないが、S−boxによってはそのような状況が発生することはありえる。この予期しないことがらが発生すると攻撃に利用できる情報(値がすべて異なるという情報)が次の段まで保存されてしまうことになり、攻撃者にとって有利な状況を生み出してしまう。
以下、飽和攻撃による鍵推定を困難化するための構成例について説明する。すなわち、上記のような条件が万が一揃ってしまっても、データの打消しによるラウンド関数の実行前のデータと実行後のデータとが等しいデータとならないように、各F関数の非線形変換処理部、すなわちS−boxを構成する。
A:先行F関数201に対する入力
B:先行F関数201の出力
C:後続F関数202の入力
D:後続F関数202の出力
E:先行F関数201の出力Bに対する排他的論理和演算データ
F:データAに対する排他的論理和演算データ
G:データBとデータEとの排他的論理和演算結果
H:データDとデータGとの排他的論理和演算結果
I:先行F関数201に対して入力するラウンド鍵
J:後続F関数202に対して入力するラウンド鍵
これらの各データを示している。
各S−box:S1,S2がnビット入出力の非線形変換処理を実行するS−boxであるとき、
(条件1)
任意のsビットデータcに対して、すべてのsビットデータである2s個のxを、順次、入力した場合、
入力データ[x]に対応する第1のS−box[S1]の出力S1(x)と、
入力データ[x(EXOR)c]に対応するS−box[S2]の出力S2(x(EXOR)c)、
は、最低でもひとつは異なる値を持つ。すなわち、
S1(x)(EXOR)S2(x(EXOR)c)
上記式は固定値にならない。
さらに、
(条件2)
任意のsビットデータcに対して、すべてのsビットデータである2s個のxを、順次、入力した場合、
入力データ[x]に対応する第1のS−box[S1]の出力S1(x)と、
入力データ[x(EXOR)c]に対応するS−box[S2]の出力S2(x(EXOR)c)、
は、最低でもひとつは重複値を持つ。すなわち、
S1(x)(EXOR)S2(x(EXOR)c)
上記式は、2sのすべてが一度ずつ表れる形にならない。
データAを[x]
データFを[c]
と仮定した場合、
先行F関数201のS−box[S1]の出力S1(x)と、
後続F関数202のS−box[S2]の出力S2(x(EXOR)c)と、
これらの2つの出力が全く同一であったり、排他的論理和した結果がすべてことなる値にはならないという条件を示すものである。
すなわち、あるF関数ではS−box[S1]のみを用いた非線形変換処理部として、次のF関数ではS−box[S2]のみを用いた非線形変換処理部とする。それ以降のラウンドがある場合は、同様に、各F関数の非線形変換処理部にS−box[S1],[S2]の順に設定する。
また、上述した(条件2)を満たすS−boxを利用することにより、たとえ2つのS−boxの入力の関係が、固定値の差を持つ場合でも、その出力の排他的論理和は最低でも一回は重複する値を持つため、攻撃に利用可能な性質を損なわれるといえる。従って、2つのS−boxを以上のように配置することで飽和攻撃の攻撃者に対する有利な条件が減少するため、攻撃に対する耐性が向上できることが期待できる。
A[0](EXOR)I[0]=C[0](EXOR)J[0]
となったとしても、
各F関数のS−boxの出力値、すなわち、
S1(A[0](EXOR)I[0])と、
S2(C[0](EXOR)J[0])と、
これらの出力値が、すべての場合において完全に一致することはなく、結果として、各F関数201,202のF関数出力B,Dは完全に一致することがなく、先に図9を参照して説明したような事象、すなわち、
E=H(EXOR)Δ
といった、1つのデータ系列において、ラウンド関数(F関数)の実行前後のデータが固定値のみの差分をもつという可能性をなくすことができる。
図10を参照して説明した上記構成は、2つのF関数の関係にのみ着目し、この2つのF関数に設定するS−boxを異なるものとするという条件を導いたが、3つ以上のF関数においても同様のことがいえる。例えば、図11に示すようにF関数ごとに異なるS−boxを配置することにより飽和攻撃に対する耐性の向上が期待できる。
F関数211の非線形変換処理部にはS−box[S1]が設定され、
F関数212の非線形変換処理部にはS−box[S2]が設定され、
F関数213の非線形変換処理部にはS−box[S3]が設定されており、
S1≠S2≠S3
である。
(条件1)
k個(k>2)のS−boxからなる集合S1,S2,..,Skに対して、互いに相異なる2つのS−boxの組SiとSj(i≠j)に対して、任意のcに対して、すべての可能な2s個のxを入力として与えたとき、
Si(x)と、
Sj(x(EXOR)c)、
これらのSボックス出力は、完全同一にならず、最低でもひとつは異なる値を出力する。すなわち、
Si(x)と、Sj(x(EXOR)c)の排他的論理和の結果は固定値にならない。
さらに、
(条件2)
k個(k>2)のS−boxからなる集合S1,S2,..,Skに対して、互いに相異なる2つのS−boxの組SiとSj(i≠j)に対して、任意のcに対して、すべての可能な2n個のxを入力として与えたとき、
Si(x)と、
Sj(x(EXOR)c)、
これらのSボックス出力は、2n個のすべての値が一度ずつ現れる形にならない。すなわち、最低でも一つの重複値が現れる。
現実的な実装を考慮すると、各F関数に含まれるS−boxの種類が複数になっても、各F関数に含まれるS−boxの組み合わせは、同じになっている方が望ましい場合がある。
なお、S1≠S2
である。
S1→S2、または、
S2→S1、
となり、対応するビットデータ(例えば各バイト単位)の処理としては、図10を参照して説明したと同様の処理となり、結果として、同様の効果、すなわち、出力系列に表れるデータが、ラウンド関数実行前の同一出力系列に出現するデータと一致する可能性を著しく低下させることができ、結果として、飽和攻撃の難易度を大きく向上させ、攻撃に対する耐性が高めることが可能となる。
なお、S1≠S2≠S3≠S4
である。
S1→S2→S3→S4→S1→S2・・・、
の順番となり、対応するビットデータ(例えば各バイト単位)の処理としては、図10や図11を参照して説明したと同様の処理となり、結果として、同様の効果、すなわち、出力系列に表れるデータが、ラウンド関数実行前の同一出力系列に出現するデータと一致する可能性を著しく低下させることができ、結果として、飽和攻撃の難易度を大きく向上させ、攻撃に対する耐性を高めることが可能となる。
次に、S−boxを用いたブロック暗号において、種類の異なるS−boxを混ぜることで代数的攻撃(XSL攻撃)に対する耐性を向上させる構成について説明する。
まず、ブロック暗号に対する攻撃として知られる代数的攻撃(XSL攻撃)について説明する。ブロック暗号に対する代数的攻撃(XSL攻撃)はS−boxの代数表現を利用した攻撃である。S−boxの入出力に関して代数式として表現すると複数の式を導き出すことができるが、その式の最大次数や含まれる項の数によって、攻撃に必要な計算量が変化する。
入力X:(x1,x2,x3,x4,x5,x6,x7,x8)、
出力Y:(y1,y2,y3,y4,y5,y6,y7,y8)、
とすると2次以下のブール式で書き表すことの式の数を評価する。
(1,xi,yi,xixj,yiyj,xiyj)
このような2次以下のいずれかの形で表すことのできる多項式の数を評価する。
また、ブール式のみではならず、拡大体GF(28)などの定義体の上で低い次数での代数表現ができる場合も同様な手法を使って代数的攻撃(XSL攻撃)をすることが容易となり、攻撃耐性が弱いとされる。
次に、S−boxを用いたブロック暗号において、1種類のみのS−boxを利用した構成での、問題点、すなわち、代数的攻撃(XSL攻撃)が行ないやすくなるという問題点について説明する。
タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−box
タイプ2:例えば4−bit入出力等のsビットより小さなS−boxを複数組み合わせて作り出されたS−box
タイプ3:ランダムに選択されたS−box
これらの3タイプが代表的である。
特にタイプ1とタイプ2に関しては、ハードウェア(H/W)実装時に低コストで実装できるためしばしば利用されるS−boxである。
以下、上記タイプ1〜3、各々について、1種類のみのS−boxを利用した構成での、問題点、すなわち、代数的攻撃(XSL攻撃)が行ないやすくなるという問題点について説明する。
タイプ1、すなわち、GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−boxの場合の問題点について説明する。
次に、タイプ2、すなわち、より小さな(例えば4−bit)S−boxを複数組み合わせて作り出されたS−boxの場合の問題点について説明する。
次に、タイプ3、すなわち、ランダムに選択されたS−boxの場合の問題点について説明する。ランダムに選択されたS−boxは上述のような代数的に見て弱い性質があることが望めず、代数的攻撃(XSL攻撃)に対しての高い安全性が期待できるが、H/W実装コストが極めて高いため、すべてのS−boxをランダムに選択されたS−boxにすることは望ましくはないという問題がある。
上記の問題に鑑み、代数的性質の異なる2種類以上のS−boxを利用することでブール多項式を用いた代数的攻撃(XSL攻撃)、およびGF(2s)の体を利用した代数的攻撃(XSL攻撃)の両者に対して耐性を向上さら、さらにすべてのS−boxをランダムに選択されたS−boxにする場合よりハードウェア(H/W)実装効率を高めた構成について、以下説明する。
タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−box
タイプ2:t−bitの小さなS−boxを複数組み合わせて作り出されたS−box(ただしt<sとする)
タイプ3:ランダムに選択されたS−box
これらの3タイプが代表的である。
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
これらのいずれにも適用可能である。
(a)一部をタイプ1のS−boxとし、その他をタイプ2のS−boxとする構成
(b)一部をタイプ1のS−boxとし、その他をタイプ3のS−boxとする構成
(c)一部をタイプ2のS−boxとし、その他をタイプ3のS−boxとする構成
(d)一部をタイプ1のS−boxとし、他の一部をタイプ2のS−boxとし、その他をタイプ3のS−boxと構成
データ変換処理を実行するラウンド関数中に含まれる非線形変換処理部としてのS−box中、半分のS−boxをタイプ1、すなわち、GF(28)上の逆元写像を用いたS−boxとし、それ以外のS−boxを取り除いた架空の暗号を考え、そのもとでブール式を利用した代数的攻撃(XSL攻撃)の計算量の見積もりを行い、十分な計算量が見積もられていれば、残りの半分のS−boxを、タイプ2、すなわち、4−bitの小さなS−boxを複数組み合わせて作り出した8ビットS−boxとする構成にする。
タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−box
このタイプ1のS−box[S1]を配置し、
後続する3ラウンドのラウンド関数実行部301〜303に、
タイプ2:4−bitのような小さなS−boxを複数組み合わせて作り出されたS−box
このタイプ2のS−box[S2]を配置した構成例である。
図15に示す例は、
第1,3,5の奇数ラウンドのラウンド関数実行部321,323,325には、
タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−box
このタイプ1のS−box[S1]を配置し、
第2,4,6の偶数ラウンドのラウンド関数実行部322,324,326には、
タイプ2:4−bitのような小さなS−boxを複数組み合わせて作り出されたS−box
このタイプ2のS−box[S2]を配置した構成例である。
図16に示す例は、
すべてのラウンドのラウンド関数実行部341〜346において、
タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−box
このタイプ1のS−box[S1]と、
タイプ2:4−bitのような小さなS−boxを複数組み合わせて作り出されたS−box
このタイプ2のS−box[S2]を、
半数ずつ、すなわち5個ずつ配置した構成例である。
図17に示す例は、図16に示す例と同様、
すべてのラウンドのラウンド関数実行部361〜366において、
タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−box
このタイプ1のS−box[S1]と、
タイプ2:4−bitのような小さなS−boxを複数組み合わせて作り出されたS−box
このタイプ2のS−box[S2]を、
半数ずつ、すなわち5個ずつ配置した構成例である。
図18に示す例は、
すべてのラウンドのラウンド関数実行部381〜386において、
タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−box
このタイプ1のS−box[S1]と、
タイプ2:4−bitのような小さなS−boxを複数組み合わせて作り出されたS−box
このタイプ2のS−box[S2]を、
半数ずつ、すなわち2個ずつ配置した構成例である。
(a)一部をタイプ1のS−boxとし、その他をタイプ2のS−boxとする構成
(b)一部をタイプ1のS−boxとし、その他をタイプ3のS−boxとする構成
(c)一部をタイプ2のS−boxとし、その他をタイプ3のS−boxとする構成
(d)一部をタイプ1のS−boxとし、他の一部をタイプ2のS−boxとし、その他をタイプ3のS−boxと構成
これらの各種の混在構成が可能であり、いずれの場合においても、代数的攻撃(XSL攻撃)に対する耐性の向上が実現される。
次に、S−boxを用いたFeistel暗号もしくは拡張Feistel型暗号において上記(2A),(2B)、すなわち、
(2A)S−boxを用いたFeistelもしくは拡張Feistel型暗号において2種類以上の異なるS−boxを配置することで飽和攻撃に対する耐性を向上させた構成
(2B)S−boxを用いたブロック暗号において、2種類以上の異なるS−boxを混在させることで代数的攻撃(XSL攻撃)に対する耐性を向上させた構成
これらの構成を同時に実現する構成例について説明する。
(2A)S−boxを用いたFeistelもしくは拡張Feistel型暗号において2種類以上の異なるS−boxを配置することで飽和攻撃に対する耐性を向上させた構成
において説明した図10〜図13の各構成において適用した異なる非線形変換処理を実行するS−box[S1],[S2],[S3],[S4]・・のそれぞれについて、
上述した
(2B)S−boxを用いたブロック暗号において、2種類以上の異なるS−boxを混在させることで代数的攻撃(XSL攻撃)に対する耐性を向上させた構成
において説明した異なるタイプのS−box、すなわち、
タイプ1:拡大体GF(2s)上の逆元写像:Y=X−1や、べき乗関数Y=Xpを利用したS−box
タイプ2:4−bitのような小さなS−boxを複数組み合わせて作り出されたS−box
タイプ3:ランダムに選択されたS−box
これらの3タイプを対応付けて設定する。
S−box[S1]と、S−box[S2]とを、(2B)において説明した異なるタイプのS−boxとして設定することで、
飽和攻撃に対しても、代数的攻撃(XSL攻撃)に対しても耐性の高い構成が実現される。
S−box[S1],[S2]・・を、(2B)において説明した異なるタイプのS−boxとして設定することで、
飽和攻撃に対しても、代数的攻撃(XSL攻撃)に対しても耐性の高い構成が実現される。
最後に、上述した実施例に従った暗号処理を実行する暗号処理装置としてのICモジュール700の構成例を図19に示す。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図19に示すICモジュール700は、これら様々な機器に構成することが可能である。
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
これらの各構成のいずれかの構造を適用した共通鍵ブロック暗号処理アルゴリズムに従った暗号処理、復号処理を実行する。
(2A)S−boxを用いたFeistelもしくは拡張Feistel型暗号において2種類以上の異なるS−boxを配置した構成、
(2B)S−boxを用いたブロック暗号において、2種類以上の異なるタイプのS−boxを混在させた構成、
(2C)S−boxを用いたFeistel暗号もしくは拡張Feistel型暗号において上記(2A),(2B)を同時に実現する構成、
これらの構成のいずれかに対応する構成を持つ非線形変換処理部としてのS−boxを持つ。
(2A)S−boxを用いたFeistelもしくは拡張Feistel型暗号において2種類以上の異なるS−boxを配置することで飽和攻撃に対する耐性を向上させた構成、
(2B)S−boxを用いたブロック暗号において、2種類以上の異なるS−boxを混在させることで代数的攻撃(XSL攻撃)に対する耐性を向上させた構成、
(2C)S−boxを用いたFeistel暗号もしくは拡張Feistel型暗号において上記(2A),(2B)を同時に実現する構成、
これらのいずれかの構成を持ち、飽和攻撃や代数的攻撃(XSL攻撃)に対する耐性が向上した構成を持つ。
11 鍵スケジューリング部
12 暗号処理部
20 ラウンド関数実行部
21 排他的論理和演算部
22 非線形変換処理部
23 線形変換処理部
30 F関数部
31 排他的論理和演算部
32 非線形変換処理部
33 線形変換処理部
34 排他的論理和演算部
41,42 F関数部
50 非線形変換処理部
51 Sボックス
101,102 F関数
201,202 F関数
211〜231 F関数
221,222 F関数
231〜233 F関数
301〜306 ラウンド関数実行部
321〜326 ラウンド関数実行部
341〜346 ラウンド関数実行部
361〜366 ラウンド関数実行部
381〜386 ラウンド関数実行部
700 ICモジュール
701 CPU(Central processing Unit)
702 メモリ
703 暗号処理部
704 乱数発生器
705 送受信部
Claims (12)
- 入力データを2以上の数で分割して得られる各データ系列に対し、Sボックスを含むF関数によるデータ変換処理をラウンド関数として各々実行する暗号処理部を有し、
前記暗号処理部は、入力データの系列と出力データの系列が同一であり、かつ隣り合う位置にあるF関数において対応するビット列に適用されるSボックスが異なる構成であり、
前記暗号処理部は、
sビットの入出力をもつSボックスとして、
(1)タイプ1:拡大体GF(2 s )上の逆元写像:Y=X −1 、または、べき乗関数Y=X q を利用したSボックス、
(2)タイプ2:t−bitの小さなS−boxを複数組み合わせて作り出されたSボックス、ただしt<sとする。
(3)タイプ3:ランダムに選択されたSボックス、
上記(1)〜(3)の3タイプのSボックス中、少なくとも2つ以上の異なるタイプのSボックスを利用した構成である暗号処理装置。 - 前記暗号処理部は、前記Sボックスを、
(a)一部をタイプ1のSボックスとし、その他をタイプ2のSボックスとした構成、
(b)一部をタイプ1のSボックスとし、その他をタイプ3のSボックスとした構成、
(c)一部をタイプ2のSボックスとし、その他をタイプ3のSボックスとした構成、
(d)一部をタイプ1のSボックスとし、他の一部をタイプ2のSボックスとし、その他をタイプ3のSボックスとした構成、
上記(a)〜(d)のいずれかの構成を有することを特徴とする請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
ラウンド関数実行部内に、処理対象データを分割した分割データ各々の非線形変換処理を実行する複数のSボックスを有し、
1つのラウンドでは1種類のタイプのSボックスを利用し、ラウンド単位で異なるタイプのSボックスを利用した処理を実行する構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
ラウンド関数実行部内に、処理対象データを分割した分割データ各々の非線形変換処理を実行する複数のSボックスを有し、
1つのラウンドで、複数のタイプのSボックスを利用した構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記ラウンド関数実行部の各々に含まれるSボックスの種類および各Sボックスの数は、各F関数において同一の設定であることを特徴とする請求項4に記載の暗号処理装置。
- 前記暗号処理部は、
共通鍵暗号方式に従った暗号処理を実行する構成であることを特徴とする請求項1〜5いずれかに記載の暗号処理装置。 - 前記暗号処理部は、
共通鍵ブロック暗号方式に従った暗号処理を実行する構成であることを特徴とする請求項1〜5いずれかに記載の暗号処理装置。 - 入力データを2以上の数で分割して得られる各データ系列に対し、Sボックスを含むF関数によるデータ変換処理をラウンド関数として各々実行する暗号処理部と、
前記暗号処理部における暗号処理の制御を行う制御部と、
前記制御部の実行する暗号処理制御プログラムを格納したメモリを有し、
前記暗号処理部は、入力データの系列と出力データの系列が同一であり、かつ隣り合う位置にあるF関数において対応するビット列に適用されるSボックスが異なる構成であり、
前記暗号処理部は、
sビットの入出力をもつSボックスとして、
(1)タイプ1:拡大体GF(2 s )上の逆元写像:Y=X −1 、または、べき乗関数Y=X q を利用したSボックス、
(2)タイプ2:t−bitの小さなS−boxを複数組み合わせて作り出されたSボックス、ただしt<sとする。
(3)タイプ3:ランダムに選択されたSボックス、
上記(1)〜(3)の3タイプのSボックス中、少なくとも2つ以上の異なるタイプのSボックスを利用した構成である情報処理装置。 - 暗号処理装置において、暗号処理を実行する暗号処理方法であり、
暗号処理部において、入力データを2以上の数で分割して得られる各データ系列に対し、Sボックスを含むF関数によるデータ変換処理をラウンド関数として各々実行する暗号処理ステップを実行し、
前記暗号処理ステップにおいて、入力データの系列と出力データの系列が同一であり、かつ隣り合う位置にあるF関数において対応するビット列に適用するSボックスを異なる設定のSボックスを適用したデータ変換処理を実行し、
前記暗号処理ステップにおいて、
sビットの入出力をもつSボックスとして、
(1)タイプ1:拡大体GF(2 s )上の逆元写像:Y=X −1 、または、べき乗関数Y=X q を利用したSボックス、
(2)タイプ2:t−bitの小さなS−boxを複数組み合わせて作り出されたSボックス、ただしt<sとする。
(3)タイプ3:ランダムに選択されたSボックス、
上記(1)〜(3)の3タイプのSボックス中、少なくとも2つ以上の異なるタイプのSボックスを利用したデータ変換処理を実行する暗号処理方法。 - 前記暗号処理ステップは、
共通鍵暗号方式または共通鍵ブロック暗号方式に従った暗号処理を実行することを特徴とする請求項9に記載の暗号処理方法。 - 暗号処理装置において、暗号処理を実行させるコンピュータ・プログラムであり、
暗号処理部において、入力データを2以上の数で分割して得られる各データ系列に対し、Sボックスを含むF関数によるデータ変換処理をラウンド関数として各々実行する暗号処理ステップを実行させ、
前記暗号処理ステップにおいて、入力データの系列と出力データの系列が同一であり、かつ隣り合う位置にあるF関数において対応するビット列に適用するSボックスを異なる設定のSボックスを適用したデータ変換処理を行なわせ、
前記暗号処理ステップにおいて、
sビットの入出力をもつSボックスとして、
(1)タイプ1:拡大体GF(2 s )上の逆元写像:Y=X −1 、または、べき乗関数Y=X q を利用したSボックス、
(2)タイプ2:t−bitの小さなS−boxを複数組み合わせて作り出されたSボックス、ただしt<sとする。
(3)タイプ3:ランダムに選択されたSボックス、
上記(1)〜(3)の3タイプのSボックス中、少なくとも2つ以上の異なるタイプのSボックスを利用したデータ変換処理を実行させるコンピュータ・プログラム。 - 前記暗号処理ステップは、
共通鍵暗号方式または共通鍵ブロック暗号方式に従った暗号処理を実行させるステップであることを特徴とする請求項11に記載のコンピュータ・プログラム。
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006238225A JP5050454B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
TW099130537A TWI447683B (zh) | 2006-09-01 | 2007-08-15 | Information processing device |
TW096130197A TW200830232A (en) | 2006-09-01 | 2007-08-15 | Encryption processing apparatus, encryption processing method, and computer program |
PCT/JP2007/066730 WO2008026622A1 (en) | 2006-09-01 | 2007-08-29 | Encryption device, encryption method, and computer program |
RU2011149646/08A RU2502201C2 (ru) | 2006-09-01 | 2007-08-29 | Устройство обработки шифрования/дешифрования, способ обработки шифрования/дешифрования, устройство обработки информации и компьютерная программа |
EP07806207.2A EP2058781B1 (en) | 2006-09-01 | 2007-08-29 | Encryption device, encryption method, and computer program |
CN2007800408061A CN101536062B (zh) | 2006-09-01 | 2007-08-29 | 密码处理装置和密码处理方法 |
RU2009107223/08A RU2449482C2 (ru) | 2006-09-01 | 2007-08-29 | Устройство обработки шифрования, способ обработки шифрования и компьютерная программа |
CN201210037340.2A CN102594545B (zh) | 2006-09-01 | 2007-08-29 | 信息处理装置 |
US12/439,464 US8577023B2 (en) | 2006-09-01 | 2007-08-29 | Encryption processing method, apparatus, and computer program utilizing different types of S-boxes |
US14/049,854 US9363074B2 (en) | 2006-09-01 | 2013-10-09 | Encryption processing apparatus, encryption processing method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006238225A JP5050454B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012116685A Division JP5338945B2 (ja) | 2012-05-22 | 2012-05-22 | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008058828A JP2008058828A (ja) | 2008-03-13 |
JP5050454B2 true JP5050454B2 (ja) | 2012-10-17 |
Family
ID=39135904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006238225A Expired - Fee Related JP5050454B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Country Status (7)
Country | Link |
---|---|
US (2) | US8577023B2 (ja) |
EP (1) | EP2058781B1 (ja) |
JP (1) | JP5050454B2 (ja) |
CN (2) | CN102594545B (ja) |
RU (2) | RU2449482C2 (ja) |
TW (2) | TW200830232A (ja) |
WO (1) | WO2008026622A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
US20090245510A1 (en) * | 2008-03-25 | 2009-10-01 | Mathieu Ciet | Block cipher with security intrinsic aspects |
TWI452889B (zh) * | 2009-04-30 | 2014-09-11 | Sumitomo Electric Industries | 加密密鑰產生裝置 |
JP5605197B2 (ja) * | 2010-12-09 | 2014-10-15 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP5652363B2 (ja) * | 2011-03-28 | 2015-01-14 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
RU2618684C2 (ru) * | 2013-04-26 | 2017-05-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ автоматического развертывания системы шифрования для пользователей, ранее работавших на ПК |
JP2014240921A (ja) * | 2013-06-12 | 2014-12-25 | 株式会社東芝 | 暗号装置、暗号処理方法及び暗号処理プログラム |
RU2572423C2 (ru) * | 2014-04-02 | 2016-01-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ формирования s-блоков с минимальным количеством логических элементов |
KR102376506B1 (ko) * | 2014-10-20 | 2022-03-18 | 삼성전자주식회사 | 암복호화기, 암복호화기를 포함하는 전자 장치 및 암복호화기의 동작 방법 |
RU2607613C2 (ru) * | 2015-06-03 | 2017-01-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ формирования S-блока |
CN106712925A (zh) * | 2015-11-13 | 2017-05-24 | 航天信息股份有限公司 | 一种基于Logistic映射的S-box获取方法及获取装置 |
US10128864B2 (en) * | 2016-01-15 | 2018-11-13 | Psemi Corporation | Non-linear converter to linearize the non-linear output of measurement devices |
CN108650072B (zh) * | 2018-03-28 | 2021-04-20 | 杭州朔天科技有限公司 | 一种支持多种对称密码算法的芯片的抗攻击电路实现方法 |
CN112636899B (zh) * | 2020-09-21 | 2022-03-18 | 中国电子科技集团公司第三十研究所 | 一种轻量化s盒设计方法 |
CN112511293B (zh) * | 2020-09-21 | 2022-03-18 | 中国电子科技集团公司第三十研究所 | 基于比特与运算的s盒参数化设计方法及存储介质 |
CN112667994B (zh) * | 2020-12-10 | 2023-01-20 | 山东大学 | 一种面向计算机的对称密码形式化描述方法及系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3962539A (en) * | 1975-02-24 | 1976-06-08 | International Business Machines Corporation | Product block cipher system for data security |
JPS5945269A (ja) | 1982-09-03 | 1984-03-14 | Nissan Motor Co Ltd | フロントピラ−結合構造 |
US4791669A (en) * | 1985-11-30 | 1988-12-13 | Nec Corporation | Encryption/decryption system |
US5003597A (en) * | 1989-12-21 | 1991-03-26 | Xerox Corporation | Method and apparatus for data encryption |
CA2164768C (en) * | 1995-12-08 | 2001-01-23 | Carlisle Michael Adams | Constructing symmetric ciphers using the cast design procedure |
US5745577A (en) * | 1996-07-25 | 1998-04-28 | Northern Telecom Limited | Symmetric cryptographic system for data encryption |
CA2302784A1 (en) * | 1997-09-17 | 1999-03-25 | Frank C. Luyster | Improved block cipher method |
RU2188513C2 (ru) * | 1997-11-28 | 2002-08-27 | Открытое акционерное общество "Московская городская телефонная сеть" | Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки |
JP4317607B2 (ja) * | 1998-12-14 | 2009-08-19 | 株式会社日立製作所 | 情報処理装置、耐タンパ処理装置 |
DK1686722T3 (en) * | 2000-03-09 | 2017-02-20 | Mitsubishi Electric Corp | Block encryption device and block encryption method comprising rotation key programming |
WO2001082524A1 (en) * | 2000-04-20 | 2001-11-01 | Matchett Noel D | Cryptographic system for data encryption standard |
KR100889465B1 (ko) * | 2000-07-04 | 2009-03-20 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 대칭-키 암호들을 위한 치환-박스 |
US20020021801A1 (en) * | 2000-07-13 | 2002-02-21 | Takeshi Shimoyama | Computing apparatus using an SPN structure in an F function and a computation method thereof |
EP1510028A4 (en) * | 2002-05-23 | 2008-01-23 | Atmel Corp | CRYPTOGRAPHIC MOTOR OF TECHNICAL EQUIPMENT BASED ON ADVANCED ENCRYPTION STANDARD (AES) |
WO2006048704A1 (en) * | 2004-11-05 | 2006-05-11 | Synaptic Laboratories Limited | Methods of encoding and decoding data |
WO2006048703A1 (en) * | 2004-11-05 | 2006-05-11 | Synaptic Laboratories Limited | Process of and apparatus for encoding a signal |
TWI290426B (en) * | 2005-02-03 | 2007-11-21 | Sanyo Electric Co | Encryption processing circuit |
-
2006
- 2006-09-01 JP JP2006238225A patent/JP5050454B2/ja not_active Expired - Fee Related
-
2007
- 2007-08-15 TW TW096130197A patent/TW200830232A/zh not_active IP Right Cessation
- 2007-08-15 TW TW099130537A patent/TWI447683B/zh not_active IP Right Cessation
- 2007-08-29 RU RU2009107223/08A patent/RU2449482C2/ru not_active IP Right Cessation
- 2007-08-29 WO PCT/JP2007/066730 patent/WO2008026622A1/ja active Application Filing
- 2007-08-29 CN CN201210037340.2A patent/CN102594545B/zh not_active Expired - Fee Related
- 2007-08-29 RU RU2011149646/08A patent/RU2502201C2/ru not_active IP Right Cessation
- 2007-08-29 CN CN2007800408061A patent/CN101536062B/zh not_active Expired - Fee Related
- 2007-08-29 US US12/439,464 patent/US8577023B2/en active Active
- 2007-08-29 EP EP07806207.2A patent/EP2058781B1/en not_active Not-in-force
-
2013
- 2013-10-09 US US14/049,854 patent/US9363074B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN101536062A (zh) | 2009-09-16 |
US20100104093A1 (en) | 2010-04-29 |
EP2058781A4 (en) | 2017-05-17 |
JP2008058828A (ja) | 2008-03-13 |
RU2449482C2 (ru) | 2012-04-27 |
TWI338872B (ja) | 2011-03-11 |
RU2009107223A (ru) | 2010-09-10 |
US8577023B2 (en) | 2013-11-05 |
US20140192973A1 (en) | 2014-07-10 |
RU2011149646A (ru) | 2013-06-20 |
EP2058781A1 (en) | 2009-05-13 |
CN102594545A (zh) | 2012-07-18 |
US9363074B2 (en) | 2016-06-07 |
TWI447683B (zh) | 2014-08-01 |
WO2008026622A1 (en) | 2008-03-06 |
EP2058781B1 (en) | 2018-05-02 |
RU2502201C2 (ru) | 2013-12-20 |
TW201044334A (en) | 2010-12-16 |
TW200830232A (en) | 2008-07-16 |
CN101536062B (zh) | 2013-09-18 |
CN102594545B (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5050454B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5055993B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4905000B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4967544B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4882598B2 (ja) | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4961909B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4622807B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5023624B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2008058830A (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
WO2009087972A1 (ja) | データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム | |
JP2007192893A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2007199156A (ja) | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム | |
JP2005107078A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5680016B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
JP5338945B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
JP5772934B2 (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP5223245B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090820 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090820 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120210 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120522 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120529 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120626 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120709 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5050454 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150803 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |