JP4961909B2 - 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム - Google Patents
暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4961909B2 JP4961909B2 JP2006238228A JP2006238228A JP4961909B2 JP 4961909 B2 JP4961909 B2 JP 4961909B2 JP 2006238228 A JP2006238228 A JP 2006238228A JP 2006238228 A JP2006238228 A JP 2006238228A JP 4961909 B2 JP4961909 B2 JP 4961909B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- intermediate key
- unit
- round
- 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.)
- 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/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/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
-
- 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
共通鍵ブロック暗号処理を実行する暗号処理装置であり、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理部と、
前記ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有し、
前記鍵スケジュール部は、
前記暗号処理部で利用するラウンド関数を含む暗号化関数に秘密鍵を入力して中間鍵を生成する中間鍵生成部と、
前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する中間鍵拡大部とを有する構成であることを特徴とする暗号処理装置にある。
共通鍵ブロック暗号処理を実行する暗号処理装置における暗号処理方法であり、
鍵スケジュール部において、暗号処理部において実行されるラウンド関数の実行に適用するラウンド鍵を生成する鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を入力して、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理ステップを有し、
前記鍵生成ステップは、
中間鍵生成部において、前記暗号処理部で利用するラウンド関数を含む暗号化関数に秘密鍵を入力して中間鍵を生成する中間鍵生成ステップと、
中間鍵拡大部において、前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する中間鍵拡大ステップと、
を有することを特徴とする暗号処理方法にある。
共通鍵ブロック暗号処理を実行する暗号処理装置において、暗号処理を実行させるコンピュータ・プログラムであり、
鍵スケジュール部において、暗号処理部において実行されるラウンド関数の実行に適用するラウンド鍵を生成させる鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を入力して、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なわせる暗号処理ステップを有し、
前記鍵生成ステップは、
中間鍵生成部において、前記暗号処理部で利用するラウンド関数を含む暗号化関数に秘密鍵を入力して中間鍵を生成させる中間鍵生成ステップと、
中間鍵拡大部において、前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成させる中間鍵拡大ステップと、
を実行させることを特徴とするコンピュータ・プログラムにある。
1.共通鍵ブロック暗号の概要
2.鍵スケジュール部における中間鍵生成構成の概要
(2−1)鍵スケジュール部の詳細構成について
(2−2)各種の中間鍵生成処理構成について
3.本発明に従った中間鍵およびラウンド鍵生成処理および暗号処理構成
(3−1:第1カテゴリ)
ブロック長と同じビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成例
(3−1A)中間鍵生成部に差分攻撃に対する耐性を確保した暗号化関数E'を使用することで、related−key attack に対する安全性の向上を実現する中間鍵生成部の構成例について
(3−1B)上記の(3−1A)に説明する中間鍵生成部において生成した中間鍵に基づいてラウンド鍵を生成する中間鍵拡大部(ラウンド鍵生成部)であり、暗号攻撃に対する耐性向上を実現する構成例について
(3−1C)上記の(3−1A)に説明する中間鍵生成部において生成した中間鍵に基づいてラウンド鍵を生成する中間鍵拡大部(ラウンド鍵生成部)であり、安全性を落とさずに実装効率を高めた構成例について
(3−2:第2カテゴリ)
ブロック長の2倍までのビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成例
(3−2A)上記(3−1A〜C)の長所を備えた鍵スケジュール部の構成について
(3−2B)上記(3−1A〜C)の長所を備え、上記(3−2A)より高速処理可能とした鍵スケジュール部の構成について
4.暗号処理装置の構成例
まず、本発明の適用可能な共通鍵ブロック暗号の概要について説明する。本明細書において、共通鍵ブロック暗号(以下ではブロック暗号)は、以下に定義するものを指すものとする。
平文[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を参照して説明したように、共通鍵ブロック暗号においては、鍵スケジュール部が、入力鍵Kのビット長を拡大して拡大鍵K'(ビット長k')を出力し、拡大鍵に基づいて生成されるラウンド鍵RKiを適用したラウンド関数が実行される。
秘密鍵Kのビット数:k=128の場合、
拡大鍵(ラウンド鍵)K'のビット数:k'=1408(=128x11)、
とした拡大鍵生成処理を実行する。
また、共通鍵ブロック暗号Camelliaにおいては、
秘密鍵Kのビット数:k=128の場合、
拡大鍵(ラウンド鍵)K'のビット数:k'=1664(=128x13)
とした拡大鍵生成処理を実行する。
(a)等価鍵が存在しないこと
(b)関連鍵攻撃(related key attack)に対して十分な耐性を持つこと
E(RK1)=E(RK2)
は、任意の平文Pに対して、異なる秘密鍵K1、K2(K1≠K2)を利用してできた暗号化データが等しくなってしまうことを意味している。
K'=f(K)
を用いて暗号化された暗号文C'との関係を用いて未知の鍵Kを推定する攻撃法である。攻撃者はKとK'の間の関係を攻撃が成立する様に選ぶ。多くの場合、KとK'の間の関係を示す関数fは、なんらかの差分を表す。つまりKとK'との排他的論理和演算:K(EXOR)K'=ΔKとなるK'を入力したときに、Kから生成される拡大鍵RK、K'から生成される拡大鍵RK'との間にも明らかな差分ΔRK(=RK(EXOR)RK')が現れてしまうような場合、攻撃が適用できる可能性が高い。逆に、KとK'にどんな差分を入れたとしてもRK、RK'間に強い相関を持つようなデータを作ることが難しい場合は、攻撃は難しいと言える。なお、A(EXOR)Bは、AとBとの排他的論理和演算を意味するものとする。
(1)実装が容易であること
(2)秘密鍵から拡大鍵を生成するセットアップ時間が短いこと
(3)暗号化鍵スケジュール部、復号鍵スケジュール部ができる限り共有可能であること
(4)データ暗号化部、データ復号部とできる限り共有可能であること
(5)鍵長の変更に容易に対応できること
鍵スケジュール部は安全性、および実装の観点からこれらの特性をバランスよく満たすことが望まれる。
この拡大鍵生成部には、AESで用いられているような繰り返し型方式や、Camelliaで用いられているような中間鍵生成方式などがある。まず、これらの中間鍵生成方式について説明する。
本発明においては、上述した鍵スケジュール部の問題点を解決し、鍵解析の困難性を高めて安全性を高めるとともに、実装上も有利な構成を持つ鍵スケジュール部の構成を持つ暗号処理装置を提案する。
(3−1:第1カテゴリ)
ブロック長と同じビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成例
(3−2:第2カテゴリ)
ブロック長の2倍までのビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成例
(3−1:第1カテゴリ)
ブロック長と同じビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成例
(3−1A)中間鍵生成部に差分攻撃に対する耐性を確保した暗号化関数E'を使用することで、related−key attack に対する安全性の向上を実現する中間鍵生成部の構成例について
(3−1B)上記の(3−1A)に説明する中間鍵生成部において生成した中間鍵に基づいてラウンド鍵を生成する中間鍵拡大部(ラウンド鍵生成部)であり、暗号攻撃に対する耐性向上を実現する構成例について
(3−1C)上記の(3−1A)に説明する中間鍵生成部において生成した中間鍵に基づいてラウンド鍵を生成する中間鍵拡大部(ラウンド鍵生成部)であり、安全性を落とさずに実装効率を高めた構成例について
ブロック長の2倍までのビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成例
(3−2A)上記(3−1A〜C)の長所を備えた鍵スケジュール部の構成について
(3−2B)上記(3−1A〜C)の長所を備え、上記(3−2A)より高速処理可能とした鍵スケジュール部の構成について
(3−1:第1カテゴリ)
ブロック長と同じビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成例
(3−1A)中間鍵生成部に差分攻撃に対する耐性を確保した暗号化関数E'を使用することで、related−key attack に対する安全性の向上を実現する中間鍵生成部の構成例について
MK=E(K、CONST)、
とした中間鍵生成処理を実行して、中間鍵[MK]213を得る。
なお、前述したように、E(A,B)は、Aに対して鍵Bを適用して暗号化関数Eで暗号化する処理を意味する。
次に、上記の(3−1A)に説明する中間鍵生成部において生成した中間鍵に基づいてラウンド鍵を生成する中間鍵拡大部(ラウンド鍵生成部)であり、暗号攻撃に対する耐性向上を実現する構成例について、図16、図17を参照して説明する。
第2番目のラウンド鍵RK2は、中間鍵[MK]に対して全単射関数P2,1を適用した結果と、秘密鍵[K]に対して全単射関数P2,21を適用した結果との排他的論理和演算(EXOR)の結果である。排他的論理和演算(EXOR)処理は、図16に示す排他的論理和演算(EXOR)部223において実行される。
このようにして、nビットの複数のラウンド鍵{RK1,RK2,・・・,RKr}を生成する。
(1)MKにある定められた全単射な関数を施した結果をRK1として格納
(2)MKにある定められた全単射な関数を施した結果とKにある定められた全単射な関数を施した結果を排他的論理和した結果をRK2として格納
(3)MKにある定められた全単射な関数を施した結果をRK3として格納
(4)MKにある定められた全単射な関数を施した結果とKにある全単射な関数を施した結果を排他的論理和した結果をRK4として格納
・・・
(上記の繰り返し)
(1)奇数番目のRKi(iは奇数)はMKを全単射した結果であるため、Kが異なる値に変化すればRKiもまた必ず変化することが保障される。よって、前記で定義した等価鍵は存在しないことが保証できる。
(2)偶数版目のRKi(iは偶数)はMKとKのそれぞれを全単射した値を排他的論理和した結果であるため、その結果からはMKやKの値を復元することは不可能である。よって、万が一、偶数番目の鍵RKiのみが先に攻撃により暴露されてしまっても、もとの秘密鍵Kの値は知られることはない。
MK、
MKとKの合成、
これらの2つのパターンに対応する成分が格納されていることが保証されるため、RKi、RKi+1をあわせた2nビットから任意のnビット以下のmビットの値を推定するためには、必ず2m回の総当り攻撃を行わなければならず、解析コストが増大する。
例えばMKのみを繰り返し用いてラウンド鍵を生成する従来型の構成、例えば、RKi=MK、RKi+1=MKとするような鍵の生成構成では、mビットの推定をするためには、選択ビットが重複すれば計算コストが減少するという事態となるが、本処理例では、必ず2m回の総当り攻撃を行わなければならないことになり、解析のコストが大きくなる。よって攻撃者にとっての鍵解析の困難度が向上する。これは全単射関数が暗号学的にみて弱いものであっても保障することができる。
次に、上記の(3−1A)に説明する中間鍵生成部において生成した中間鍵に基づいてラウンド鍵を生成する中間鍵拡大部(ラウンド鍵生成部)であり、安全性を落とさずに実装効率を高めた中間鍵拡大部(ラウンド鍵生成部)の構成例について説明する。
(1)MKに第一回目の全単射関数を施した結果をMK'としそれをRK1とする。
(2)MK'に第二回目の同じ全単射関数を施した結果をMK''としそれをRK2の生成用データとする。
以降同様の手順を繰り返して、RK3,RK4,・・・の生成用データを作り出す。
(1)秘密鍵[K]に第一回目の全単射関数を施した結果をK'とし、これをRK2の生成用データとする。
(2)K'に第二回目の同じ全単射関数を施した結果をK''とし、これをRK4の生成用データとする。
以降同様の手順を繰り返して、RK6,RK8,・・・の生成用データを作り出す。
すなわち偶数番目のRKi(iは偶数)を生成する場合、秘密鍵[K]をそのまま排他的論理和する構成である。この処理構成は、図19に示す構成のように、図18に示す構成から、第1データ変換処理部221を省略した構成となる。
ブロック長の2倍までのビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成例
次に、ブロック長の2倍までのビット長を持つ秘密鍵を入力して拡大鍵(ラウンド鍵)を生成する鍵スケジュール部の構成例について説明する。
まず、ブロック長の2倍までのビット長を持つ秘密鍵を入力して拡大鍵(ラウンド鍵)を生成する鍵スケジュール部(拡大鍵生成部)の構成例として、上述の(3−1A〜C)の長所を備えた鍵スケジュール部の構成について説明する。
もしくはデータ変換部300において秘密鍵[K]を2回並べたデータ[K|K]を生成し、最初のnビットを第1秘密鍵変換データ[K1]=K、後半nビットを第2秘密鍵変換データ[K2]=Kとする構成としてもよい。
あるいは、データ変換部300において秘密鍵[K]に、Kのビット反転を接続した構成K|K(反転)を生成し、さらに前からnビットずつ分割し、最初のnビットを第1秘密鍵変換データ[K1]=K、後半nビットを第2秘密鍵変換データ[K2]=Kの反転データとする構成としてもよい。
X1=K2(EXOR)(E(K1、CONST1))
MK1=K1(EXOR)(E(X1、CONST2))
MK2=X1(EXOR)(E(MK1、CONST3))
である。
なお、A(EXOR)Bは、AとBの排他的論理和演算、
E(A,B)は、Aに対して鍵Bを適用して暗号化関数Eで暗号化する処理を意味する。
MK1=E[(E(K1,CONST1))(EXOR)K2,CONST2](EXOR)K1
MK2=(E(MK1,CONST3))(EXOR)(E(K1,CONST1))(EXOR)K2
となる。
第2番目のラウンド鍵RK2は、中間鍵[MK1]に対して全単射関数P2,1を適用した結果と、第2秘密鍵変換データ[K2]に対して全単射関数P2,2を適用した結果との排他的論理和演算(EXOR)の結果である。
第3番目のラウンド鍵RK3は、中間鍵[MK2]に対して、全単射関数P3を適用した結果であり、
第4番目のラウンド鍵RK4は、中間鍵[MK2]に対して全単射関数P4,1を適用した結果と、第1秘密鍵変換データ[K1]に対して全単射関数P4,2を適用した結果との排他的論理和演算(EXOR)の結果である。
このようにして、nビットの複数のラウンド鍵{RK1,RK2,・・・,RKr}を生成する。
(1)MK1にある定められた全単射な関数を施した結果をRK1として格納
(2)MK1にある定められた全単射な関数を施した結果とK2にある定められた全単射な関数を施した結果を排他的論理和した結果をRK2として格納
(3)MK2にある定められた全単射な関数を施した結果をRK3として格納
(4)MK2にある定められた全単射な関数を施した結果とK1にある全単射な関数を施した結果を排他的論理和した結果をRK4として格納
(5)MK1にある定められた全単射な関数を施した結果をRK5として格納
(6)MK1にある定められた全単射な関数を施した結果とK2にある定められた全単射な関数を施した結果を排他的論理和した結果をRK6として格納
(7)MK2にある定められた全単射な関数を施した結果をRK7として格納
(8)MK2にある定められた全単射な関数を施した結果とK1にある全単射な関数を施した結果を排他的論理和した結果をRK8として格納
・・・
(上記の繰り返し)
なお、上記シーケンスにおいて、中間鍵[MK1]と[MK2]を入れ替えたり、秘密鍵変換データ[K1]と[K2]を入れ替えた構成でも良い。
(1)奇数番目のRKi(iは奇数)とRKi+2をあわせると、MK1とMK2になっており、これは、K1|K2を全単射した結果であるため、Kが異なる値に変化すればRKi|RKi+2もまた必ず変化することが保障されるため、前記で定義した等価鍵は存在しないことが保証できる。
MK1、
MK2、
MK1とK2の合成、
MK2とK1の合成
これらの4つのパターンに対応する成分が格納されていることが保証されるため、RKi、RKi+1、RKi+2、RKi+3をあわせた4nビットから任意の2nビット以下のmビットの値を推定するためには、必ず2m回の総当り攻撃を行わなければならないことになり、解析のコストが大きくなる。よって攻撃者にとっての鍵解析の困難度が向上する。これは全単射関数が暗号学的にみて弱いものであっても保障することができる。なおこの効果はMK1とMK2を入れ替えたり、K1とK2を入れ替えても存在する。
(1)MK1に第一回目の全単射関数を施した結果をMK1'としそれをRK1とする。
(2)MK1'に第二回目の同じ全単射関数を施した結果をMK1''としそれをRK2の生成用データとする。
以降同様の手順を繰り返して、RK3,RK4,・・・の生成用データを作り出す。
次に、先に(3−1A〜C)の項目において説明した攻勢の持つ長所を備え、さらに、上述の(3−2A)の構成より高速処理可能な鍵スケジュール部の構成について説明する。
もしくはデータ変換部300において秘密鍵[K]を2回並べたデータ[K|K]を生成し、最初のnビットを第1秘密鍵変換データ[K1]=K、後半nビットを第2秘密鍵変換データ[K2]=Kとする構成としてもよい。
あるいは、データ変換部300において秘密鍵[K]に、Kのビット反転を接続した構成K|K(反転)を生成し、さらに前からnビットずつ分割し、最初のnビットを第1秘密鍵変換データ[K1]=K、後半nビットを第2秘密鍵変換データ[K2]=Kの反転データとする構成としてもよい。
MK1=E(K1,CONST1)
MK2=E(K2,CONST2)
上記式は、暗号化関数E411において、第1秘密鍵変換データ[K1]に対して定数[CONST1]を適用した暗号化処理によって中間鍵[MK1]を生成し、暗号化関数E412において、第2秘密鍵変換データ[K2]に対して定数[CONST2]を適用した暗号化処理によって中間鍵[MK2]を生成することを意味する。この処理によって2つのnビット中間鍵[MK1],[MK2]が生成され、これらの中間鍵に基づいてラウンド鍵を生成する。本処理例では、暗号化関数E411と、暗号化関数E412とは並列処理が可能であり、処理時間の短縮が可能となる。
第2番目のラウンド鍵RK2は、中間鍵[MK1]に対して全単射関数P2,1を適用した結果と、第2秘密鍵変換データ[K2]に対して全単射関数P2,21を適用した結果との排他的論理和演算(EXOR)の結果である。
第3番目のラウンド鍵RK3は、中間鍵[MK2]に対して、全単射関数P3を適用した結果であり、
第4番目のラウンド鍵RK4は、中間鍵[MK2]に対して全単射関数P4,1を適用した結果と、第1秘密鍵変換データ[K1]に対して全単射関数P2,21を適用した結果との排他的論理和演算(EXOR)の結果である。
このようにして、nビットの複数のラウンド鍵{RK1,RK2,・・・,RKr}を生成する。
(1)MK1にある定められた全単射な関数を施した結果をRK1として格納
(2)MK1にある定められた全単射な関数を施した結果とK2にある定められた全単射な関数を施した結果を排他的論理和した結果をRK2として格納
(3)MK2にある定められた全単射な関数を施した結果をRK3として格納
(4)MK2にある定められた全単射な関数を施した結果とK1にある全単射な関数を施した結果を排他的論理和した結果をRK4として格納
(5)MK1にある定められた全単射な関数を施した結果をRK5として格納
(6)MK1にある定められた全単射な関数を施した結果とK2にある定められた全単射な関数を施した結果を排他的論理和した結果をRK6として格納
(7)MK2にある定められた全単射な関数を施した結果をRK7として格納
(8)MK2にある定められた全単射な関数を施した結果とK1にある全単射な関数を施した結果を排他的論理和した結果をRK8として格納
・・・
(上記の繰り返し)
なお、上記シーケンスにおいて、中間鍵[MK1]と[MK2]を入れ替えてもよいが、その際は同時に秘密鍵変換データ[K1]と[K2]も必ず入れ替えた構成とする。
(1)奇数番目のRKi(iは奇数)とRKi+2をあわせると、MK1とMK2になっており、これは、K1|K2を全単射した結果であるため、Kが異なる値に変化すればRKi|RKi+2もまた必ず変化することが保障されるため、前記で定義した等価鍵は存在しないことが保証できる。
MK1、
MK2、
MK1とK2の合成、
MK2とK1の合成
これらの4つのパターンに対応する成分が格納されていることが保証されるため、RKi、RKi+1、RKi+2、RKi+3をあわせた4nビットから任意の2nビット以下のmビットの値を推定するためには、必ず2m回の総当り攻撃を行わなければならないことになり、解析のコストが大きくなる。よって攻撃者にとっての鍵解析の困難度が向上する。これは全単射関数が暗号学的にみて弱いものであっても保障することができる。
(1)MK1に第一回目の全単射関数を施した結果をMK1'としそれをRK1とする。
(2)MK1'に第二回目の同じ全単射関数を施した結果をMK1''としそれをRK2の生成用データとする。
以降同様の手順を繰り返して、RK3,RK4,・・・の生成用データを作り出す。
最後に、上述した実施例に従った暗号処理を実行する暗号処理装置としてのICモジュール700の構成例を図28に示す。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図28に示すICモジュール700は、これら様々な機器に構成することが可能である。
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
これらの各構成のいずれかの構造を適用した共通鍵ブロック暗号処理アルゴリズムに従った暗号処理、復号処理を実行する。
(3−1:第1カテゴリ)
ブロック長と同じビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成
(3−1A)中間鍵生成部に差分攻撃に対する耐性を確保した暗号化関数E'を使用することで、related−key attack に対する安全性の向上を実現する中間鍵生成部の構成
(3−1B)上記の(3−1A)に説明する中間鍵生成部において生成した中間鍵に基づいてラウンド鍵を生成する中間鍵拡大部(ラウンド鍵生成部)であり、暗号攻撃に対する耐性向上を実現する構成
(3−1C)上記の(3−1A)に説明する中間鍵生成部において生成した中間鍵に基づいてラウンド鍵を生成する中間鍵拡大部(ラウンド鍵生成部)であり、安全性を落とさずに実装効率を高めた構成
(3−2:第2カテゴリ)
ブロック長の2倍までのビット長を持つ秘密鍵を入力して中間鍵を生成し、生成した中間鍵からラウンド鍵を生成する鍵スケジュール部の構成
(3−2A)上記(3−1A〜C)の長所を備えた鍵スケジュール部の構成
(3−2B)上記(3−1A〜C)の長所を備え、上記(3−2A)より高速処理可能とした鍵スケジュール部の構成
これらの処理構成のいずれかに対応する構成を持つ鍵スケジュール部を持つ。
まず、暗号処理部703内の鍵スケジュール部において、暗号処理部703内の暗号処理実行部のラウンド関数の実行に適用するラウンド鍵を生成する。このラウンド鍵の生成は、中間鍵生成部において、暗号処理実行部で利用するラウンド関数を含む暗号化関数に秘密鍵を入力して中間鍵を生成した後、中間鍵拡大部において、中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する処理として実行される。具体的には、図15〜図27を参照して説明した構成、すなわち上記の(3−1A〜C)、(3−2A,B)のいずれかの構成を適用してラウンド鍵の生成が実行される。次に、暗号処理実行部において、ラウンド鍵を入力して、ラウンド関数を複数ラウンド繰り返すデータ変換処理を実行する。
11 鍵スケジュール部
12 暗号処理部
20 ラウンド関数実行部
21 排他的論理和演算部
22 非線形変換処理部
23 線形変換処理部
30 F関数部
31 排他的論理和演算部
32 非線形変換処理部
33 線形変換処理部
34 排他的論理和演算部
41,42 F関数部
50 非線形変換処理部
51 Sボックス
111 秘密鍵
112 暗号化鍵スケジュール部
113 暗号化拡大鍵
114 データ暗号化部
115 ラウンド鍵
121 秘密鍵
122 復号鍵スケジュール部
123 復号拡大鍵
124 データ復号部
130 鍵スケジュール部(拡大鍵生成部)
131 ラウンド鍵生成部
140 鍵スケジュール部(拡大鍵生成部)
141 中間鍵生成関数
142 中間鍵拡大関数
201 暗号化関数
211 秘密鍵
212 定数
213 中間鍵
220 中間鍵拡大部
221 第1データ変換処理部
222 第2データ変換処理部
223 排他的論理和演算部
231 ラウンド鍵
300 データ変換部
301〜303 暗号化関数
311〜313 排他的論理和演算部
350 中間鍵拡大部
351 第1データ変換処理部
352 第2データ変換処理部
353 排他的論理和演算部
361 ラウンド鍵
401 データ変換部
411,412 暗号化関数
450 中間鍵拡大部
451 第1データ変換処理部
452 第2データ変換処理部
453 排他的論理和演算部
461 ラウンド鍵
700 ICモジュール
701 CPU(Central processing Unit)
702 メモリ
703 暗号処理部
704 乱数発生器
705 送受信部
Claims (17)
- 共通鍵ブロック暗号処理を実行する暗号処理装置であり、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理部と、
前記ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有し、
前記鍵スケジュール部は、
前記暗号処理部で利用するラウンド関数を含む暗号化関数に秘密鍵を入力して中間鍵を生成する中間鍵生成部と、
前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する中間鍵拡大部を有し、
前記中間鍵拡大部は、
前記中間鍵生成部の生成する中間鍵を入力して全単射変換による中間鍵全単射変換データを生成する中間鍵変換処理部と、
前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データのいずれかと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する排他的論理和演算部を有し、
前記中間鍵変換処理部の処理結果である中間鍵全単射変換データ、および前記排他的論理和演算部の処理結果データをラウンド鍵として出力する構成である暗号処理装置。 - 前記中間鍵生成部は、
前記暗号化関数に対して、前記秘密鍵と予め設定された定数を入力して暗号化処理を実行して中間鍵を生成する処理を実行する構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記中間鍵生成部において適用する暗号化関数は、前記ラウンド関数を少なくとも1段以上含む構成であることを特徴とする請求項1に記載の暗号処理装置。
- 前記中間鍵生成部において適用する暗号化関数は、
前記暗号処理部で利用するFeistel構造を持つ複数段のラウンド関数を含む構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記中間鍵生成部は、
前記暗号処理部で利用する暗号化関数を並列に利用して、複数の中間鍵を生成する構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記中間鍵生成部は、
前記暗号処理部で利用する暗号化関数の処理単位であるブロック長と同じビット数の秘密鍵を入力し、同一ビット数の中間鍵を生成する構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記中間鍵生成部は、
前記暗号処理部で利用する暗号化関数の処理単位であるブロック長以上のビット数の秘密鍵を入力し、入力した秘密鍵のデータ変換を実行して、前記ブロック長と同一のビット数を持つ複数の秘密鍵変換データを生成し、該秘密鍵変換データを前記暗号化関数に入力して中間鍵を生成する構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記中間鍵拡大部は、
前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データの少なくともいずれかを入力して全単射変換による秘密鍵全単射変換データを生成する秘密鍵変換処理部を有し、
前記排他的論理和演算部は、前記秘密鍵変換処理部の生成する秘密鍵全単射変換データと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記秘密鍵変換処理部において各ラウンド鍵の生成時に実行する全単射変換に適用する全単射関数の少なくとも一部を共通の全単射関数としたことを特徴とする請求項8に記載の暗号処理装置。
- 前記中間鍵変換処理部において各ラウンド鍵の生成時に実行する全単射変換に適用する全単射関数の少なくとも一部を共通の全単射関数としたことを特徴とする請求項1に記載の暗号処理装置。
- プログラムを記憶するメモリと、
前記プログラムを実行するプロセッサと、
前記プロセッサの制御下で共通鍵ブロック暗号処理を実行する暗号処理実行部を備える情報処理装置であって、
前記暗号処理実行部は、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理部と、
前記ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有し、
前記鍵スケジュール部は、
前記暗号処理部で利用するラウンド関数を含む暗号化関数に秘密鍵を入力して中間鍵を生成する中間鍵生成部と、
前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する中間鍵拡大部を有し、
前記中間鍵拡大部は、
前記中間鍵生成部の生成する中間鍵を入力して全単射変換による中間鍵全単射変換データを生成する中間鍵変換処理部と、
前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データのいずれかと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する排他的論理和演算部を有し、
前記中間鍵変換処理部の処理結果である中間鍵全単射変換データ、および前記排他的論理和演算部の処理結果データをラウンド鍵として出力する構成である情報処理装置。 - 共通鍵ブロック暗号処理を実行する暗号処理装置における暗号処理方法であり、
鍵スケジュール部において、暗号処理部において実行されるラウンド関数の実行に適用するラウンド鍵を生成する鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を入力して、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう暗号処理ステップを有し、
前記鍵生成ステップは、
中間鍵生成部において、前記暗号処理部で利用するラウンド関数を含む暗号化関数に秘密鍵を入力して中間鍵を生成する中間鍵生成ステップと、
中間鍵拡大部において、前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する中間鍵拡大ステップを有し、
前記中間鍵拡大ステップは、
中間鍵変換処理部において、前記中間鍵生成部の生成する中間鍵を入力して全単射変換による中間鍵全単射変換データを生成する中間鍵変換処理ステップと、
排他的論理和演算部において、前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データのいずれかと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する排他的論理和演算ステップを有し、
前記中間鍵変換処理部の処理結果である中間鍵全単射変換データ、および前記排他的論理和演算部の処理結果データをラウンド鍵として出力するステップであることを特徴とする暗号処理方法。 - 共通鍵ブロック暗号処理を実行する暗号処理装置において、暗号処理を実行させるコンピュータ・プログラムであり、
鍵スケジュール部において、暗号処理部において実行されるラウンド関数の実行に適用するラウンド鍵を生成させる鍵生成ステップと、
暗号処理部において、前記ラウンド鍵を入力して、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なわせる暗号処理ステップを有し、
前記鍵生成ステップは、
中間鍵生成部において、前記暗号処理部で利用するラウンド関数を含む暗号化関数に秘密鍵を入力して中間鍵を生成させる中間鍵生成ステップと、
中間鍵拡大部において、前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成させる中間鍵拡大ステップを実行させ、
前記中間鍵拡大ステップにおいては、
中間鍵変換処理部において、前記中間鍵生成部の生成する中間鍵を入力して全単射変換による中間鍵全単射変換データを生成する中間鍵変換処理ステップと、
排他的論理和演算部において、前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データのいずれかと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する排他的論理和演算ステップを実行させて、
前記中間鍵変換処理部の処理結果である中間鍵全単射変換データ、および前記排他的論理和演算部の処理結果データをラウンド鍵として出力させることを特徴とするコンピュータ・プログラム。 - 共通鍵ブロック暗号処理を実行する復号処理装置であり、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう復号処理部と、
前記ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有し、
前記鍵スケジュール部は、
前記復号処理部で利用するラウンド関数を含む復号関数に秘密鍵を入力して中間鍵を生成する中間鍵生成部と、
前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する中間鍵拡大部を有し、
前記中間鍵拡大部は、
前記中間鍵生成部の生成する中間鍵を入力して全単射変換による中間鍵全単射変換データを生成する中間鍵変換処理部と、
前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データのいずれかと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する排他的論理和演算部を有し、
前記中間鍵変換処理部の処理結果である中間鍵全単射変換データ、および前記排他的論理和演算部の処理結果データをラウンド鍵として出力する構成である復号処理装置。 - プログラムを記憶するメモリと、
前記プログラムを実行するプロセッサと、
前記プロセッサの制御下で共通鍵ブロック暗号処理を実行する復号処理実行部を備える情報処理装置であって、
前記復号処理実行部は、
ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう復号処理部と、
前記ラウンド関数の実行に適用するラウンド鍵を生成する鍵スケジュール部を有し、
前記鍵スケジュール部は、
前記復号処理部で利用するラウンド関数を含む復号関数に秘密鍵を入力して中間鍵を生成する中間鍵生成部と、
前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する中間鍵拡大部を有し、
前記中間鍵拡大部は、
前記中間鍵生成部の生成する中間鍵を入力して全単射変換による中間鍵全単射変換データを生成する中間鍵変換処理部と、
前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データのいずれかと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する排他的論理和演算部を有し、
前記中間鍵変換処理部の処理結果である中間鍵全単射変換データ、および前記排他的論理和演算部の処理結果データをラウンド鍵として出力する構成である情報処理装置。 - 共通鍵ブロック暗号処理を実行する復号処理装置における復号処理方法であり、
鍵スケジュール部において、復号処理部において実行されるラウンド関数の実行に適用するラウンド鍵を生成する鍵生成ステップと、
復号処理部において、前記ラウンド鍵を入力して、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なう復号処理ステップを有し、
前記鍵生成ステップは、
中間鍵生成部において、前記復号処理部で利用するラウンド関数を含む復号関数に秘密鍵を入力して中間鍵を生成する中間鍵生成ステップと、
中間鍵拡大部において、前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成する中間鍵拡大ステップを有し、
前記中間鍵拡大ステップは、
中間鍵変換処理部において、前記中間鍵生成部の生成する中間鍵を入力して全単射変換による中間鍵全単射変換データを生成する中間鍵変換処理ステップと、
排他的論理和演算部において、前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データのいずれかと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する排他的論理和演算ステップを有し、
前記中間鍵変換処理部の処理結果である中間鍵全単射変換データ、および前記排他的論理和演算部の処理結果データをラウンド鍵として出力するステップであることを特徴とする復号処理方法。 - 共通鍵ブロック暗号処理を実行する復号処理装置において、復号処理を実行させるコンピュータ・プログラムであり、
鍵スケジュール部において、復号処理部において実行されるラウンド関数の実行に適用するラウンド鍵を生成させる鍵生成ステップと、
復号処理部において、前記ラウンド鍵を入力して、ラウンド関数を複数ラウンド繰り返すデータ変換処理を行なわせる復号処理ステップを有し、
前記鍵生成ステップは、
中間鍵生成部において、前記復号処理部で利用するラウンド関数を含む復号関数に秘密鍵を入力して中間鍵を生成させる中間鍵生成ステップと、
中間鍵拡大部において、前記中間鍵生成部の生成する中間鍵を入力してラウンド鍵を生成させる中間鍵拡大ステップを実行させ、
前記中間鍵拡大ステップにおいては、
中間鍵変換処理部において、前記中間鍵生成部の生成する中間鍵を入力して全単射変換による中間鍵全単射変換データを生成する中間鍵変換処理ステップと、
排他的論理和演算部において、前記秘密鍵または秘密鍵に基づいて生成される秘密鍵変換データのいずれかと、前記中間鍵変換処理部の生成する中間鍵全単射変換データとの排他的論理和演算を実行する排他的論理和演算ステップを実行させて、
前記中間鍵変換処理部の処理結果である中間鍵全単射変換データ、および前記排他的論理和演算部の処理結果データをラウンド鍵として出力させることを特徴とするコンピュータ・プログラム。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006238228A JP4961909B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
TW096130941A TW200828196A (en) | 2006-09-01 | 2007-08-21 | Encryption device, encryption method, and computer program |
EP07806210A EP2058784A1 (en) | 2006-09-01 | 2007-08-29 | Encryption device, encryption method, and computer program |
PCT/JP2007/066733 WO2008026625A1 (fr) | 2006-09-01 | 2007-08-29 | Dispositif de codage, procédé de codage et programme informatique |
CN201110091269.1A CN102158337B (zh) | 2006-09-01 | 2007-08-29 | 信息处理装置 |
US12/439,544 US8369522B2 (en) | 2006-09-01 | 2007-08-29 | Encryption processing apparatus, encryption method, and computer program |
CN200780032112.3A CN101512619B (zh) | 2006-09-01 | 2007-08-29 | 密码处理装置和密码处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006238228A JP4961909B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008058831A JP2008058831A (ja) | 2008-03-13 |
JP4961909B2 true JP4961909B2 (ja) | 2012-06-27 |
Family
ID=39135907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006238228A Expired - Fee Related JP4961909B2 (ja) | 2006-09-01 | 2006-09-01 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US8369522B2 (ja) |
EP (1) | EP2058784A1 (ja) |
JP (1) | JP4961909B2 (ja) |
CN (2) | CN101512619B (ja) |
TW (1) | TW200828196A (ja) |
WO (1) | WO2008026625A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8233554B2 (en) | 2010-03-29 | 2012-07-31 | Eices Research, Inc. | Increased capacity communications for OFDM-based wireless communications systems/methods/devices |
USRE47633E1 (en) | 2005-06-22 | 2019-10-01 | Odyssey Wireless Inc. | Systems/methods of conducting a financial transaction using a smartphone |
US8670493B2 (en) | 2005-06-22 | 2014-03-11 | Eices Research, Inc. | Systems and/or methods of increased privacy wireless communications |
US20080019517A1 (en) * | 2006-04-06 | 2008-01-24 | Peter Munguia | Control work key store for multiple data streams |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
US9374746B1 (en) | 2008-07-07 | 2016-06-21 | Odyssey Wireless, Inc. | Systems/methods of spatial multiplexing |
US20160286532A1 (en) * | 2012-01-24 | 2016-09-29 | Odyssey Wireless, Inc. | Systems/methods of preferentially using a first asset, refraining from using a second asset and providing reduced levels of interference to gps and/or satellites |
US8848904B2 (en) * | 2008-10-24 | 2014-09-30 | University Of Maryland, College Park | Method and implementation for information exchange using Markov models |
US9317286B2 (en) * | 2009-03-31 | 2016-04-19 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the camellia cipher algorithm |
CN102045709B (zh) * | 2009-10-13 | 2013-11-06 | 中兴通讯股份有限公司 | 移动终端应用数据的下载方法、系统及移动终端 |
JP5198526B2 (ja) * | 2010-09-21 | 2013-05-15 | 株式会社東芝 | 暗号化装置および復号装置 |
FR2966953B1 (fr) | 2010-11-02 | 2015-08-28 | St Microelectronics Rousset | Procede de contremesure cryptographique par derivation d'une donnee secrete |
US9281940B2 (en) * | 2012-03-02 | 2016-03-08 | Sony Corporation | Information processing apparatus, information processing method, and program |
US8744078B2 (en) * | 2012-06-05 | 2014-06-03 | Secure Channels Sa | System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths |
JP5871827B2 (ja) * | 2013-01-11 | 2016-03-01 | 日本電信電話株式会社 | 安全性強化システム、安全性強化装置、検証装置、およびプログラム |
US9094191B2 (en) | 2013-03-14 | 2015-07-28 | Qualcomm Incorporated | Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks |
US10148430B1 (en) | 2013-04-17 | 2018-12-04 | Amazon Technologies, Inc | Revocable stream ciphers for upgrading encryption in a shared resource environment |
JP2014240921A (ja) * | 2013-06-12 | 2014-12-25 | 株式会社東芝 | 暗号装置、暗号処理方法及び暗号処理プログラム |
US20150227472A1 (en) * | 2014-02-10 | 2015-08-13 | Kabushiki Kaisha Toshiba | Memory system, controller, and method |
JP2015191107A (ja) * | 2014-03-28 | 2015-11-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
KR101593169B1 (ko) * | 2014-08-20 | 2016-02-15 | 한국전자통신연구원 | 페이스텔 구조의 가변길이 블록암호 장치 및 방법 |
CN104253684B (zh) * | 2014-09-23 | 2018-02-02 | 深圳市汇顶科技股份有限公司 | 加密方法和加密装置 |
GB201505434D0 (en) * | 2015-03-30 | 2015-05-13 | Irdeto Bv | Cryptographic processing |
EP3220305B1 (en) * | 2016-02-22 | 2018-10-31 | Eshard | Method of testing the resistance of a circuit to a side channel analysis of second order or more |
US10742405B2 (en) * | 2016-12-16 | 2020-08-11 | The Boeing Company | Method and system for generation of cipher round keys by bit-mixers |
WO2020186125A1 (en) | 2019-03-13 | 2020-09-17 | The Research Foundation For The State University Of New York | Ultra low power core for lightweight encryption |
CN114640437A (zh) * | 2022-02-11 | 2022-06-17 | 无锡艾立德智能科技有限公司 | 一种通用的密钥扩展快速方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317638A (en) * | 1992-07-17 | 1994-05-31 | International Business Machines Corporation | Performance enhancement for ANSI X3.92 data encryption algorithm standard |
CN1130871C (zh) * | 1996-04-30 | 2003-12-10 | 东芝株式会社 | 加密装置及加密方法 |
JP3505482B2 (ja) * | 2000-07-12 | 2004-03-08 | 株式会社東芝 | 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体 |
WO2002058036A1 (en) * | 2001-01-22 | 2002-07-25 | Fujitsu Limited | Encryption circuit |
JP4128395B2 (ja) * | 2002-05-23 | 2008-07-30 | 三菱電機株式会社 | データ変換装置 |
-
2006
- 2006-09-01 JP JP2006238228A patent/JP4961909B2/ja not_active Expired - Fee Related
-
2007
- 2007-08-21 TW TW096130941A patent/TW200828196A/zh not_active IP Right Cessation
- 2007-08-29 CN CN200780032112.3A patent/CN101512619B/zh not_active Expired - Fee Related
- 2007-08-29 EP EP07806210A patent/EP2058784A1/en not_active Withdrawn
- 2007-08-29 US US12/439,544 patent/US8369522B2/en not_active Expired - Fee Related
- 2007-08-29 CN CN201110091269.1A patent/CN102158337B/zh not_active Expired - Fee Related
- 2007-08-29 WO PCT/JP2007/066733 patent/WO2008026625A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2058784A1 (en) | 2009-05-13 |
CN101512619A (zh) | 2009-08-19 |
CN102158337B (zh) | 2014-06-04 |
CN102158337A (zh) | 2011-08-17 |
JP2008058831A (ja) | 2008-03-13 |
CN101512619B (zh) | 2012-04-18 |
US20100008498A1 (en) | 2010-01-14 |
US8369522B2 (en) | 2013-02-05 |
TW200828196A (en) | 2008-07-01 |
WO2008026625A1 (fr) | 2008-03-06 |
TWI340368B (ja) | 2011-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4961909B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5055993B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4905000B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4967544B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
WO2009087972A1 (ja) | データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム | |
JP5050454B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5023624B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2008058830A (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP5682525B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
WO2012132623A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
JP2007192893A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5680016B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
JP5772934B2 (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP5338945B2 (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 |
|
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: 20120228 |
|
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: 20120312 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4961909 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: 20150406 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 |