JP4905000B2 - 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム - Google Patents
暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4905000B2 JP4905000B2 JP2006238224A JP2006238224A JP4905000B2 JP 4905000 B2 JP4905000 B2 JP 4905000B2 JP 2006238224 A JP2006238224 A JP 2006238224A JP 2006238224 A JP2006238224 A JP 2006238224A JP 4905000 B2 JP4905000 B2 JP 4905000B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- round
- data
- intermediate key
- multiplication
- 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
- 238000012545 processing Methods 0.000 title claims description 242
- 238000003672 processing method Methods 0.000 title claims description 20
- 238000004590 computer program Methods 0.000 title claims description 10
- 238000000034 method Methods 0.000 claims description 144
- 230000008569 process Effects 0.000 claims description 134
- 238000006243 chemical reaction Methods 0.000 claims description 95
- 230000009466 transformation Effects 0.000 claims description 30
- 239000000470 constituent Substances 0.000 claims description 4
- 238000013501 data transformation Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 95
- 125000004122 cyclic group Chemical group 0.000 description 26
- 238000004458 analytical method Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000006467 substitution reaction Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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/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
-
- 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/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
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
共通鍵ブロック暗号処理を実行する暗号処理装置であり、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理部と、
前記ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有し、
前記鍵スケジュール部は、
秘密鍵の変換処理によって生成するmビットの中間鍵に対して、GF(2)上で定義されるm次の既約多項式f(x)によって作られる拡大体GF(2m)上のxs倍演算を繰り返し実行して、複数の異なるラウンド鍵の生成用データとなる複数の異なるラウンド中間鍵を生成する構成であることを特徴とする暗号処理装置にある。
MK1=MK
MK2=MKxs
MK3=MKx2×s
・・・
MKq−1=MKx(q−2)×s
MKq=MKx(q−1)×s
上記式に従って生成する構成であることを特徴とする。
MKq=MKx(q−1)×s
に対して、
x−(q−1)×s倍算を実行して、
xs倍演算実行前のオリジナル中間鍵MKに戻す処理を実行する構成であることを特徴とする。
暗号処理装置において共通鍵ブロック暗号処理を実行する暗号処理方法であり、
鍵スケジュール部において、暗号処理部で実行する複数ラウンドのラウンド関数の実行に適用する複数のラウンド鍵を生成するラウンド鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を適用したラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理ステップとを有し、
前記ラウンド鍵生成ステップは、
秘密鍵の変換処理によって生成するmビットの中間鍵に対して、GF(2)上で定義されるm次の既約多項式f(x)によって作られる拡大体GF(2m)上のxs倍演算を繰り返し実行して、複数の異なるラウンド鍵の生成用データとなる複数の異なるラウンド中間鍵を生成するラウンド中間鍵生成ステップと、
前記ラウンド中間鍵からのビット選択によりラウンド鍵を生成するビット選択ステップと、
を有することを特徴とする暗号処理方法にある。
MK1=MK
MK2=MKxs
MK3=MKx2×s
・・・
MKq−1=MKx(q−2)×s
MKq=MKx(q−1)×s
上記式に従って生成するステップであることを特徴とする。
MKq=MKx(q−1)×s
に対して、
x−(q−1)×s倍算を実行して、
xs倍演算実行前のオリジナル中間鍵MKに戻す処理を実行することを特徴とする。
暗号処理装置において共通鍵ブロック暗号処理を実行させるコンピュータ・プログラムであり、
鍵スケジュール部において、暗号処理部で実行する複数ラウンドのラウンド関数の実行に適用する複数のラウンド鍵を生成させるラウンド鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を適用したラウンド関数を複数ラウンド繰り返すデータ変換処理を行なわせる暗号処理ステップとを有し、
前記ラウンド鍵生成ステップは、
秘密鍵の変換処理によって生成するmビットの中間鍵に対して、GF(2)上で定義されるm次の既約多項式f(x)によって作られる拡大体GF(2m)上のxs倍演算を繰り返し実行して、複数の異なるラウンド鍵の生成用データとなる複数の異なるラウンド中間鍵を生成させるラウンド中間鍵生成ステップと、
前記ラウンド中間鍵からのビット選択によりラウンド鍵を生成させるビット選択ステップと、
を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
1.共通鍵ブロック暗号の概要
2.鍵スケジュール部におけるx倍演算による中間鍵データの生成を伴う暗号処理構成
(2−1)鍵スケジュール部の詳細構成について
(2−2)中間鍵データの一般的な生成処理構成について
(2−3)本発明の第1実施例に係る中間鍵データおよびラウンド鍵の生成処理構成について
(2−4)本発明の第2実施例に係る中間鍵データおよびラウンド鍵の生成処理構成について
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に示す線形変換行列である。
上述したように、共通鍵ブロック暗号は、ラウンド関数の繰り返しによる暗号処理を行なう構成である。この共通鍵ブロック暗号処理の問題点として、暗号解析による鍵の漏洩がある。暗号解析による鍵の解析が容易であるということは、その暗号処理の安全性が低いということになり、実用上、大きな問題となる。
(2−1)鍵スケジュール部の詳細構成について
(2−2)中間鍵データの一般的な生成処理構成について
(2−3)本発明の第1実施例に係る中間鍵データおよびラウンド鍵の生成処理構成について
(2−4)本発明の第2実施例に係る中間鍵データおよびラウンド鍵の生成処理構成について
先に、例えば図2を参照して説明したように、共通鍵ブロック暗号においては、鍵スケジュール部が、入力鍵Kのビット長を拡大して拡大鍵K'(ビット長k')を出力し、拡大鍵に基づいて生成されるラウンド鍵RKiを適用したラウンド関数が実行される。
なお、以下では、初期鍵、最終鍵も含めてラウンド鍵と呼ぶ。
(a)ラウンド鍵が分かっても鍵データが復元できないこと
(b)ラウンド鍵同士が独立であること
これらの性質がある。
(a)は、万が一各ラウンドにおいて適用するラウンド鍵が解析された場合でも、そのラウンド鍵から元の秘密鍵を復元不可能とすることで安全性を高められることを意味する。また、(b)は1つのラウンド鍵と他のラウンド鍵とのデータ間に何らかの関係がある場合、1つのラウンド鍵の解析に成功した場合、他のラウンド鍵が推定可能になり、このような関連性を排除することで安全性が高まるということを意味する。
*slide attack(スライド攻撃)に対し十分な耐性をもつこと
*related cipher attack(関連暗号攻撃)に対して十分な耐性をもつことが必要とされる。
上述したように、上述のラウンド鍵を利用する共通鍵ブロック暗号処理を実行する装置を構成する場合、実装のコスト上、ラウンド鍵同士が独立であるようにラウンド鍵を生成することは難しく、実際には、秘密鍵から非線形変換を用いて求められた中間鍵データを循環シフトしたデータから切り出したデータをラウンド鍵として用いる。
図12は、復号処理におけるラウンド鍵生成処理を実行する鍵スケジュール部の構成例、
図13は、暗号化、復号の双方におけるラウンド鍵生成処理を実行する鍵スケジュール部の構成例を示している。
MK1=MK
MK2=MK<<<s
MK3=MK<<<(2×s)
・・・
MKq−1=MK<<<((q−2)×s)
MKq=MK<<<((q−1)×s)
MK1=MKは、シフト量ゼロのデータであり、中間鍵MKに等しく、
MK2=MK<<<sは、中間鍵MKに対して、左にsビットの循環シフトを行なったデータ、
MK3=MK<<<(2×s)は、中間鍵MKに対して、左に2×sビットのシフトを行なったデータ、
・・・をそれぞれ示している。
IK=(MK1)L
RK1=(MK1)R
RK2=(MK2)L
RK3=(MK2)R
・・・
RKr−2=(MKq−1)L
RKr−1=(MKq−1)R
RKr=(MKq)L
FK=(MKq)R
となる。
なお、(x)Lはxの上位l(エル)ビット、(x)Rはxの下位l(エル)ビットを表す。このとき、q=(r+2)/2を満たす。
sビット右循環シフト回路221と、
(q−1)×sビット左循環シフト回路222
によって構成される。
sビット左循環シフト回路231、
sビット右循環シフト回路232、
(q−1)×sビット右循環シフト回路233、
(q−1)×sビット左循環シフト回路234、
であり、図11、図12に構成された循環シフト回路をすべて含む構成であり、
sビット左循環シフト、sビット右循環シフト、(q−1)×sビット右循環シフト、(q−1)×sビット左循環シフトを選択的に実行することが可能な構成を持つ。この構成を適用することで、暗号化および復号処理いずれの場合もラウンド鍵を生成して出力することが可能となる。
MK1=MK
のビット列を
(mkm−1,mkm−2,…,mk1,mk0)
とする。
このとき、ラウンド中間鍵データ
MK2=(MK<<<s)
=(mkm−s−1,mkm−s−2,…,mk1,mk0,mkm−1,mkm−2,…,mkm−s+1,mkm−s)
となる。
MK1(EXOR)MK2を、
MK1(EXOR)MK2=(um−1,um−2,…,u1,u0)とする。なお(EXOR)は排他的論理和演算を示す演算子とする。また、(um−1,um−2,…,u1,u0)は、ラウンド中間鍵データMK1とラウンド中間鍵データMK2の排他的論理和演算の結果データの構成ビットを示す。すると、
um−1=mkm−1(EXOR)mkm−s−1
um−2=mkm−2(EXOR)mkm−s−2
・・・
us+1=mks+1(EXOR)mk1
us=mks(EXOR)mk0
us−1=mks−1(EXOR)mkm−1
・・・
u1=mk1(EXOR)mkm−s+1
u0=mk0(EXOR)mkm−s
と、表すことができる。
u0=um−1(EXOR)um−2(EXOR),・・・(EXOR)u2(EXOR)u1
と表現できる。つまり、中間鍵データMKがランダムであるとしても、2つのラウンド中間鍵データの排他的論理和演算の結果、
MK1(EXOR)MK2
この結果として得られるビットは、上記の性質を満たすことになり、結果として、mビット(um−1,um−2,…,u1,u0)中の1ビット(u0)は、他のビット情報によって記述可能となり、その情報量が1ビット分欠損してしまう。1ビット欠損することは、例えばビット解析を行なう場合に、解析対象とするビット数を削減することが可能となることを意味し、解析、すなわち鍵解析を行なう暗号攻撃に有利な条件となる。
MKi(EXOR)MKj(0≦i,j≦q−1,i≠j)
についても、その情報量が1ビット分欠損してしまう。
MKi(EXOR)MKjの情報量が1ビット分欠損することによる影響に関しては,例えばMKi(EXOR)MKjを全数探索する場合にその情報量が少ないため、全数探索が容易になり、鍵の解析を容易にし、暗号攻撃を行いやすくする弊害を発生させる。
MK1=MK2'
MK2=MK3'
・・・
MKq−2=MKq−1'
MKq−1=MKq'
上記状態が発生する。このように、多くのラウンド中間鍵データが同じになり、ラウンド中間鍵データから生成するラウンド鍵もセレクタ条件が等しい場合には同じになってしまう。このような鍵の出現は、前述のslide attack(スライド攻撃)を可能とするという問題を発生させることになる。
*ラウンド中間鍵データの排他的論理和の情報量が1ビット分欠損する。
*中間鍵データの全てのビットが0になる場合,または全てのビットが1になる場合にはラウンド鍵が全て同じとなる。
*Slide attackに対して十分な耐性がない。
*Related cipher attackに対して十分な耐性がない。
このように、暗号攻撃を容易にする欠点をもつ。
以下、上述した循環シフト処理による中間鍵データの生成処理における問題点を解決し、様々な暗号攻撃に対する耐性の高い、すなわち安全性の高い暗号処理を実行するための中間鍵データおよびラウンド鍵の生成処理構成について説明する。
A=(a127,a126,…,a1,a0),
B=(b127,b126,…,b1,b0)
とする。
拡大体GF(2128)上のx倍演算:B=Axは、以下のように表現される。
(a127,a126,・・・,a1,a0)→(b127,b126,・・・,b1,b0)
ここで、
b127=a126
b126=a125
・・・
b8=a7
b7=a6(EXOR)a127
b6=a5
b5=a4
b4=a3
b3=a2
b2=a1(EXOR)a127
b1=a0(EXOR)a127
b0=a127
となる。
x−1倍演算:B=Ax−1
(a127,a126,…,a1,a0)→(b127,b126,…,b1,b0)
ここで、
b127=a0
b126=a127
b125=a126
・・・
b7=a8
b6=a0(EXOR)a7
b5=a6
b4=a5
b3=a4
b2=a3
b1=a0(EXOR)a2
b0=a0(EXOR)a1
となる。
図14は、暗号化処理におけるラウンド鍵生成処理を実行する鍵スケジュール部の構成例、
図15は、復号処理におけるラウンド鍵生成処理を実行する鍵スケジュール部の構成例、
図16は、暗号化、復号の双方におけるラウンド鍵生成処理を実行する鍵スケジュール部の構成例を示している。
MK1=MK
MK2=MKxs
MK3=MKx2×s
・・・
MKq−1=MKx(q−2)×s
MKq=MKx(q−1)×s
MK1=MK
MK2=MKxs
MK3=MKx2×s
・・・
MKq−1=MKx(q−2)×s
MKq=MKx(q−1)×s
これらの演算を実行して、ラウンド中間鍵データ{MK1,MK2,・・・,MKq−1,MKq}を順次作り出すことができる。
q−1回目の最終的なxs倍演算によって生成されたラウンド中間鍵データ、
MKq=MKx(q−1)×s
に対して、
x−(q−1)×s倍算を実行して、
xs倍演算実行前のオリジナル中間鍵MKに戻す処理を実行する。
x−s倍演算回路321と、
x(q−1)×s倍演算回路322
によって構成される。
xs倍演算回路331、
x−s倍演算回路332、
x−(q−1)×s倍演算回路333、
x(q−1)×s倍演算回路334、
であり、図14、図15に構成された演算回路をすべて含む構成であり、
xs倍演算、x−s倍演算、x−(q−1)×s倍演算、x(q−1)×s倍演算を選択的に実行することが可能な構成を持つ。この構成を適用することで、暗号化および復号処理いずれの場合もラウンド鍵を生成して出力することが可能となる。
MK1(EXOR)MK2は、以下に示すように、
MK1(EXOR)MK2
=MK(EXOR)MKxs
=MK(1(EXOR)xs)
と一意に表せる。
MK1(EXOR)MK2
を適用して、
MK=(MK1(EXOR)MK2)(1(EXOR)xs)−1
として、こちらも一意に表せる。
MK1(EXOR)MK2
とは、一対一の関係にあり、前述した循環シフト処理による中間鍵データの生成構成とは異なり、中間鍵データMKに対してMK1(EXOR)MK2の情報量が欠損することはない。
MKi(EXOR)MKj (0≦i,j≦q−1,i≠j)
についても、中間鍵データMKに対してその情報量が欠損することはない。従って、鍵解析において、解析不要とするビット情報が発生せず、ビット解析の困難性を高めることが可能となる。
MK=(mkm−1,mkm−2,…,mk1,mk0)
とする。
このとき、中間鍵データMKに対してx倍演算を施したMKxは上記の拡大体GF(2128)上のx倍演算で確認できるように、mkm−1の値で排他的論理和をとったMKxのビットが0となることから、MKxの全てのビットが1になることはない。
同様にMKxsも全てのビットが1になることはないため、任意のラウンド中間鍵データMKiも同様に全てのビットが1になることはなく、全てのラウンド鍵が同じになることはない。
従って、例えば前述のslide attack(スライド攻撃)を困難にすることが可能であり、暗号攻撃に対する耐性の高い、すなわち安全性の高い暗号処理が実現される。
次に、本発明の第2実施例に係る中間鍵データおよびラウンド鍵の生成処理構成について、図17〜図19を参照して説明する。以下において説明する実施例は、図14〜図16を参照して説明した構成によって生成するラウンド鍵データに対して、ラウンド毎に異なる定数Ciを排他的論理和(EXOR)し、この結果をラウンド鍵とする構成である。
図17は、暗号化処理におけるラウンド鍵生成処理を実行する鍵スケジュール部の構成例、
図18は、復号処理におけるラウンド鍵生成処理を実行する鍵スケジュール部の構成例、
図19は、暗号化、復号の双方におけるラウンド鍵生成処理を実行する鍵スケジュール部の構成例を示している。
ラウンド数r1のk1ビットの鍵長、
ラウンド数r2のk2ビットの鍵長、
ラウンド数r3のk3ビットの鍵長、
これらの全てをサポートする構成である場合、
合計r1+r2+r3個の異なるl(エル)ビットの定数Ciを用いて排他論理和(EXOR)を実行する構成とすることにより、異なる鍵長において中間鍵データMKが同じ値になった場合にもラウンド鍵を異なる値にすることができる。
Ci=(bi,bi,bi,bi,bi,bi,bi,bi)
このように、ラウンド毎に異なる8ビットのbiを繰り返し用いることにより定数生成回路の規模を小さくすることができる。
Ci=(bi,bi,bi,bi,〜bi,〜bi,〜bi,〜bi)
このような定数Ciを生成する構成、すなわち、biとbiの反転データ〜biを用いる構成としてもよい。
このとき、例えば,w=8でw次の既約多項式をf(x)=x8+x4+x3+x2+1とすると、
bi=(d7,d6,…,d1,d0)はbi−1=(c7,c6,…,c1,c0)を用いて以下のように示される。
d7=c6
d6=c5
d5=c4
d4=c3(EXOR)c7
d3=c2(EXOR)c7
d2=c1(EXOR)c7
d1=c0
d0=c7
上記のように更新することができる。f(x)が原始多項式の場合には、ある初期値から生成されるx倍演算の値の周期は2w−1となるため、2w−1の異なるデータを生成することが可能となる。他に、上記規則を拡大体GF(2w)上のx−1倍演算などとしてもよい。
*ラウンド中間鍵データの排他的論理和の情報量が欠損しない。
*中間鍵データの全てのビットが0になる場合,または全てのビットが1になる場合であってもラウンド鍵が全て同じにはならない。
*Slide attackに対して十分な耐性がある。
*Related cipher attackに対して十分な耐性がある。
これらのすべてを満たす鍵スケジュール部の構成が実現される。
本発明の暗号処理装置は、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理部と、ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有する共通鍵ブロック暗号処理を実行する暗号処理装置であり、鍵スケジュール部は、秘密鍵の構成データに対する非線形変換処理を適用した変換処理によって生成するmビットの中間鍵に対して、GF(2)上で定義されるm次の既約多項式f(x)によって作られる拡大体GF(2m)上のxs倍演算を繰り返し実行して、複数の異なるラウンド鍵の生成用データとなる複数の異なるラウンド中間鍵を生成し、ラウンド中間鍵の構成データのビット選択により、ラウンド鍵を生成する構成を有する。なお、鍵スケジュール部の生成するラウンド鍵は、ラウンド関数の実行に適用するラウンド鍵、およびラウンド関数実行前の初期的データ変換に適用する初期鍵と、ラウンド関数実行後の最終的データ変換に適用する最終鍵とが含まれる。
MK1=MK
MK2=MKxs
MK3=MKx2×s
・・・
MKq−1=MKx(q−2)×s
MKq=MKx(q−1)×s
上記式に従って生成する。
MKq=MKx(q−1)×s
に対して、
x−(q−1)×s倍算を実行して、
xs倍演算実行前のオリジナル中間鍵MKに戻す処理を実行する。
最後に、上述した実施例に従った暗号処理を実行する暗号処理装置としてのICモジュール700の構成例を図20に示す。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図20に示すICモジュール700は、これら様々な機器に構成することが可能である。
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
これらの各構成のいずれかの構造を適用した共通鍵ブロック暗号処理アルゴリズムに従った暗号処理、復号処理を実行する。
(2−3)本発明の第1実施例に係る中間鍵データおよびラウンド鍵の生成処理
(2−4)本発明の第2実施例に係る中間鍵データおよびラウンド鍵の生成処理
これらの処理構成のいずれかに対応する構成を持つ鍵スケジュール部を持つ。
11 鍵スケジュール部
12 暗号処理部
20 ラウンド関数実行部
21 排他的論理和演算部
22 非線形変換処理部
23 線形変換処理部
30 F関数部
31 排他的論理和演算部
32 非線形変換処理部
33 線形変換処理部
34 排他的論理和演算部
41,42 F関数部
50 非線形変換処理部
51 Sボックス
111 秘密鍵
112 暗号化鍵スケジュール部
113 暗号化拡大鍵
114 データ暗号化部
121 秘密鍵
122 復号鍵スケジュール部
123 復号拡大鍵
124 データ復号部
201 非線形変換回路
202 セレクタ
203 レジスタ
204 セレクタ
211 sビット左循環シフト回路
212 (q−1)×sビット右循環シフト回路
221 sビット右循環シフト回路
222 (q−1)×sビット左循環シフト回路
231 sビット左循環シフト回路
232 sビット右循環シフト回路
233 (q−1)×sビット右循環シフト回路
234 (q−1)×sビット左循環シフト回路
301 非線形変換回路
302 セレクタ
303 レジスタ
304 セレクタ
311 xs倍演算回路
312 x−(q−1)×s倍演算回路
321 x−s倍演算回路
322 x(q−1)×s倍演算回路
401 定数Ci生成回路
402 排他的論理和(EXOR)演算部
700 ICモジュール
701 CPU(Central processing Unit)
702 メモリ
703 暗号処理部
704 乱数発生器
705 送受信部
Claims (14)
- 共通鍵ブロック暗号処理を実行する暗号処理装置であり、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理部と、
前記ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有し、
前記鍵スケジュール部は、
秘密鍵をmビットの第1中間鍵に変換する第1中間鍵生成部と、
前記第1中間鍵に対して、GF(2)上で定義されるm次の既約多項式f(x)によって作られる拡大体GF(2m)上のx倍演算をs回(ただしsは1以上の整数)、繰り返す演算であるxs倍演算を繰り返し実行して、複数の異なる第2中間鍵を生成する第2中間鍵生成部を有し、
前記第2中間鍵を前記ラウンド鍵の生成用データとする構成である暗号処理装置。 - 前記鍵スケジュール部の前記第2中間鍵生成部は、
秘密鍵の変換処理によって生成するmビットの第1中間鍵MKに対して、前記xs倍演算を繰り返し実行し、q個の第2中間鍵{MK1,MK2,・・・,MKq−1,MKq}を、
MK1=MK
MK2=MKxs
MK3=MKx2×s
・・・
MKq−1=MKx(q−2)×s
MKq=MKx(q−1)×s
上記式に従って生成する請求項1に記載の暗号処理装置。 - 前記鍵スケジュール部の前記第2中間鍵生成部は、
生成する第2中間鍵数をq個としたとき、前記xs倍演算を繰り返し実行して、q個の異なる第2中間鍵を生成した後、
q−1回目の最終的なxs倍演算によって生成された第2中間鍵データ、
MKq=MKx(q−1)×s
に対して、
x−(q−1)×s倍算を実行して、
xs倍演算実行前の第1中間鍵MKに戻す処理を実行する構成を有する請求項1に記載の暗号処理装置。 - 前記鍵スケジュール部は、
前記xs倍演算を繰り返し実行して生成した第2中間鍵の構成データのビット選択により、前記暗号処理部におけるラウンド関数の実行に適用するラウンド鍵を生成する請求項1に記載の暗号処理装置。 - 前記鍵スケジュール部は、
前記xs倍演算を繰り返し実行して生成する第2中間鍵の構成データのビット選択により、前記暗号処理部におけるラウンド関数の実行に適用するラウンド鍵、およびラウンド関数実行前の初期的データ変換に適用する初期鍵と、ラウンド関数実行後の最終的データ変換に適用する最終鍵とを含む鍵を生成する構成を有する請求項1に記載の暗号処理装置。 - 前記鍵スケジュール部は、
前記xs倍演算を繰り返し実行して生成した第2中間鍵の構成データのビット選択を実行し、さらにビット選択データに対して、前記暗号処理部に対して提供するラウンド鍵毎に異なる定数を適用した排他的論理和演算を実行してラウンド鍵を生成する構成を有する請求項1に記載の暗号処理装置。 - 前記鍵スケジュール部の前記第1中間鍵生成部は、
前記秘密鍵の変換処理による第1中間鍵生成処理を、前記秘密鍵の構成データに対する非線形変換処理によって実行する構成を有する請求項1に記載の暗号処理装置。 - 暗号処理装置において共通鍵ブロック暗号処理を実行する暗号処理方法であり、
鍵スケジュール部において、暗号処理部で実行する複数ラウンドのラウンド関数の実行に適用する複数のラウンド鍵を生成するラウンド鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を適用したラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理ステップを実行し、
前記ラウンド鍵生成ステップにおいては、
秘密鍵をmビットの第1中間鍵に変換する第1中間鍵生成処理と、
前記第1中間鍵に対して、GF(2)上で定義されるm次の既約多項式f(x)によって作られる拡大体GF(2m)上のx倍演算をs回(ただしsは1以上の整数)、繰り返す演算であるxs倍演算を繰り返し実行して、複数の異なる第2中間鍵を生成する第2中間鍵生成処理と、
前記第2中間鍵を前記ラウンド鍵の生成用データとする処理を実行する暗号処理方法。 - 前記第2中間鍵生成処理は、
秘密鍵の変換処理によって生成するmビットの第1中間鍵MKに対して、GF(2)上で定義されるm次の既約多項式f(x)によって作られる拡大体GF(2m)上のxs倍演算を繰り返し実行し、q個の第2中間鍵{MK1,MK2,・・・,MKq−1,MKq}を、
MK1=MK
MK2=MKxs
MK3=MKx2×s
・・・
MKq−1=MKx(q−2)×s
MKq=MKx(q−1)×s
上記式に従って生成するステップである請求項8に記載の暗号処理方法。 - 前記暗号処理方法は、さらに、
前記鍵スケジュール部において、
前記ラウンド鍵生成ステップにおいて前記xs倍演算を繰り返し実行して、q個の異なる第2中間鍵を生成した後、q−1回目の最終的なxs倍演算によって生成された第2中間鍵データ、
MKq=MKx(q−1)×s
に対して、
x−(q−1)×s倍算を実行して、
xs倍演算実行前の第1中間鍵MKに戻す処理を実行する請求項8に記載の暗号処理方法。 - 前記ラウンド鍵生成ステップにおいて、
前記xs倍演算を繰り返し実行して生成する第2中間鍵の構成データのビット選択により、前記暗号処理部におけるラウンド関数の実行に適用するラウンド鍵、およびラウンド関数実行前の初期的データ変換に適用する初期鍵と、ラウンド関数実行後の最終的データ変換に適用する最終鍵とを含む鍵を生成する請求項8に記載の暗号処理方法。 - 前記ラウンド鍵生成ステップにおいて、
前記x s 倍演算を繰り返し実行して生成した第2中間鍵の構成データのビット選択を実行し、さらにビット選択データに対して、前記暗号処理部に対して提供するラウンド鍵毎に異なる定数を適用した排他的論理和演算を実行してラウンド鍵を生成する請求項8に記載の暗号処理方法。 - 前記第1中間鍵生成ステップにおける秘密鍵の変換処理は、
前記秘密鍵の構成データに対する非線形変換処理によって実行する請求項8に記載の暗号処理方法。 - 暗号処理装置において共通鍵ブロック暗号処理を実行させるコンピュータ・プログラムであり、
鍵スケジュール部において、暗号処理部で実行する複数ラウンドのラウンド関数の実行に適用する複数のラウンド鍵を生成させるラウンド鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を適用したラウンド関数を複数ラウンド繰り返すデータ変換処理を行なわせる暗号処理ステップを実行させ、
前記ラウンド鍵生成ステップにおいては、
秘密鍵をmビットの第1中間鍵に変換する第1中間鍵生成処理と、
前記第1中間鍵に対して、GF(2)上で定義されるm次の既約多項式f(x)によって作られる拡大体GF(2m)上のx倍演算をs回(ただしsは1以上の整数)、繰り返す演算であるxs倍演算を繰り返し実行して、複数の異なる第2中間鍵を生成する第2中間鍵生成処理と、
前記第2中間鍵を前記ラウンド鍵の生成用データとする処理を実行させるコンピュータ・プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006238224A JP4905000B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US11/846,853 US8290148B2 (en) | 2006-09-01 | 2007-08-29 | Encryption processing apparatus, encryption processing method, and computer program |
EP07253461A EP1895708A1 (en) | 2006-09-01 | 2007-08-31 | Encryption processing apparatus, encryption processing method and computer program |
CN200710167659.6A CN101162557B (zh) | 2006-09-01 | 2007-08-31 | 密码处理装置和密码处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006238224A JP4905000B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008058827A JP2008058827A (ja) | 2008-03-13 |
JP4905000B2 true JP4905000B2 (ja) | 2012-03-28 |
Family
ID=38669927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006238224A Expired - Fee Related JP4905000B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8290148B2 (ja) |
EP (1) | EP1895708A1 (ja) |
JP (1) | JP4905000B2 (ja) |
CN (1) | CN101162557B (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007192893A (ja) * | 2006-01-17 | 2007-08-02 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007199156A (ja) * | 2006-01-24 | 2007-08-09 | Sony Corp | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
US8175266B2 (en) * | 2008-05-07 | 2012-05-08 | Apple Inc. | System and method of performing authentication |
JP5532560B2 (ja) | 2008-08-25 | 2014-06-25 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
JP5504592B2 (ja) | 2008-08-25 | 2014-05-28 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
US8707042B2 (en) * | 2008-08-28 | 2014-04-22 | Red Hat, Inc. | Sharing keys between cooperating parties |
JP5319209B2 (ja) * | 2008-08-29 | 2013-10-16 | 株式会社東芝 | 暗号化で用いる鍵をスケジュールする装置、方法およびプログラム |
KR100949538B1 (ko) * | 2008-09-09 | 2010-03-25 | 한국전자통신연구원 | Aes 라인달 알고리즘을 이용하는 암호화 및 복호화 장치와 그 방법 |
US9336160B2 (en) * | 2008-10-30 | 2016-05-10 | Qualcomm Incorporated | Low latency block cipher |
US8233620B2 (en) | 2009-02-27 | 2012-07-31 | Inside Secure | Key recovery mechanism for cryptographic systems |
WO2011036745A1 (ja) * | 2009-09-24 | 2011-03-31 | 株式会社東芝 | 鍵スケジュール装置および方法 |
JP5578422B2 (ja) * | 2010-07-21 | 2014-08-27 | 日本電気株式会社 | 暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラム |
JP5481455B2 (ja) * | 2011-09-27 | 2014-04-23 | 株式会社東芝 | 暗号処理装置 |
JP2014240921A (ja) * | 2013-06-12 | 2014-12-25 | 株式会社東芝 | 暗号装置、暗号処理方法及び暗号処理プログラム |
DE102014216392A1 (de) * | 2014-08-19 | 2016-02-25 | Robert Bosch Gmbh | Symmetrisches Iteriertes Blockchiffrierverfahren und entsprechende Vorrichtung |
US11563566B2 (en) * | 2014-10-27 | 2023-01-24 | Micro Focus Llc | Key splitting |
JP6629466B2 (ja) * | 2017-01-20 | 2020-01-15 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム |
US10936759B1 (en) * | 2017-09-01 | 2021-03-02 | Amzetta Technologies, Llc | Systems, methods and computer-readable media for providing enhanced encryption in a storage system |
US10637656B2 (en) * | 2017-11-28 | 2020-04-28 | Blackberry Limited | Method and system for key agreement utilizing semigroups |
EP3776288A4 (en) * | 2018-04-10 | 2022-01-05 | Al Belooshi, Bushra Abbas Mohammed | SECURITY SYSTEM AND METHOD OF CRYPTOGRAPHIC KEYS IN THE CLOUD |
CN108933652B (zh) * | 2018-06-11 | 2021-03-05 | 安徽工程大学 | 一种普通轮变换运算单元、普通轮变换电路及aes解密电路 |
JP7383985B2 (ja) * | 2019-10-30 | 2023-11-21 | 富士電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN113194476B (zh) * | 2020-01-14 | 2022-10-21 | 宁波方太厨具有限公司 | 一种设备激活及鉴权绑定方法 |
US12047485B2 (en) * | 2020-12-23 | 2024-07-23 | Intel Corporation | Time and frequency domain side-channel leakage suppression using integrated voltage regulator cascaded with runtime crypto arithmetic transformations |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69330070T2 (de) * | 1992-12-30 | 2001-11-08 | Telstra Corp. Ltd., Melbourne | Verfahren und einrichtung zur erzeugung einer chiffriersequenz |
JP3017726B2 (ja) * | 1998-01-27 | 2000-03-13 | 日本電信電話株式会社 | データ変換装置 |
US6578143B1 (en) * | 1998-12-18 | 2003-06-10 | Qualcomm Incorporated | Method for negotiating weakened keys in encryption systems |
JP3499810B2 (ja) * | 2000-03-06 | 2004-02-23 | 株式会社東芝 | 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体 |
US7508937B2 (en) * | 2001-12-18 | 2009-03-24 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
JP3818263B2 (ja) * | 2003-01-28 | 2006-09-06 | 日本電気株式会社 | Aes暗号処理装置、aes復号処理装置、aes暗号・復号処理装置、aes暗号処理方法、aes復号処理方法、および、aes暗号・復号処理方法 |
US7421076B2 (en) * | 2003-09-17 | 2008-09-02 | Analog Devices, Inc. | Advanced encryption standard (AES) engine with real time S-box generation |
JP2005218023A (ja) * | 2004-02-02 | 2005-08-11 | Matsushita Electric Ind Co Ltd | 鍵配信システム |
US7421067B2 (en) * | 2006-04-19 | 2008-09-02 | Emotive Communications, Inc. | System and methodology for peer-to-peer voice communication employing a pushed interactive multimedia announcement |
-
2006
- 2006-09-01 JP JP2006238224A patent/JP4905000B2/ja not_active Expired - Fee Related
-
2007
- 2007-08-29 US US11/846,853 patent/US8290148B2/en not_active Expired - Fee Related
- 2007-08-31 EP EP07253461A patent/EP1895708A1/en not_active Withdrawn
- 2007-08-31 CN CN200710167659.6A patent/CN101162557B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8290148B2 (en) | 2012-10-16 |
US20080056490A1 (en) | 2008-03-06 |
JP2008058827A (ja) | 2008-03-13 |
CN101162557B (zh) | 2010-10-13 |
EP1895708A1 (en) | 2008-03-05 |
CN101162557A (zh) | 2008-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4905000B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5055993B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4961909B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5050454B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4967544B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5822970B2 (ja) | 擬似ランダム生成、データ暗号化、およびメッセージ暗号化ハッシングのための暗号化デバイス | |
JP4960044B2 (ja) | 暗号処理回路及びicカード | |
JP2008058830A (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
WO2009087972A1 (ja) | データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム | |
EP2058782A1 (en) | Encryption device, encryption method, and computer program | |
WO2005073842A1 (ja) | 擬似乱数生成装置および擬似乱数生成プログラム | |
JP2007192893A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5680016B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
JP5605197B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
JP5772934B2 (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP5338945B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
JP5223245B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2009303032A (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 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110906 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111107 |
|
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: 20111213 |
|
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: 20111226 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150120 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150120 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |