JP4882598B2 - 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム - Google Patents
暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4882598B2 JP4882598B2 JP2006224674A JP2006224674A JP4882598B2 JP 4882598 B2 JP4882598 B2 JP 4882598B2 JP 2006224674 A JP2006224674 A JP 2006224674A JP 2006224674 A JP2006224674 A JP 2006224674A JP 4882598 B2 JP4882598 B2 JP 4882598B2
- Authority
- JP
- Japan
- Prior art keywords
- data series
- function
- cryptographic processing
- feistel structure
- extended feistel
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (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
暗号処理装置であり、
非線形変換処理および線形変換処理を含むデータ変換処理を実行するSP型F関数を複数ラウンド繰り返すFeistel型共通鍵ブロック暗号処理を実行する暗号処理部を有し、
前記暗号処理部は、
データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理を実行する構成であり、各ラウンドにおけるF関数において実行する線形変換処理に、少なくとも2以上の複数の異なる行列を選択的に適用する構成を有し、
前記2以上の複数の異なる行列は、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列であり、
前記複数の異なる行列を、拡張Feistel構造の各データ系列に入力するF関数に繰り返し配置した構成を有することを特徴とする暗号処理装置にある。
a≧2の任意の整数、x≧1の任意の整数としたとき、前記複数の異なる行列による異なる線形変換処理を実行するa種類のF関数を利用したデータ系列数:d=2axの拡張Fesitel構造を適用した暗号処理を実行する構成であり、
1つのラウンドにおいて、全種類(a種類)のF関数を均等にx個ずつ実行する構成であることを特徴とする。
(a)データ系列数d=2としたFeistel構造による暗号処理、または、
(b1)データ系列数d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて1つのF関数の実行のみを許容した暗号処理、または、
(b2)データ系列数d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて複数のF関数の並列実行を許容した暗号処理、
上記(a),(b1),(b2)のいずれかの暗号処理を選択的に実行する構成であることを特徴とする。
暗号処理装置において、暗号処理を実行する暗号処理方法であり、
暗号処理部において、非線形変換処理および線形変換処理を含むデータ変換処理を実行するSP型F関数を複数ラウンド繰り返すFeistel型共通鍵ブロック暗号処理を実行する暗号処理ステップを有し、
前記暗号処理ステップは、
データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理を実行するステップであり、各ラウンドにおけるF関数において実行する線形変換処理に、少なくとも2以上の複数の異なる行列を選択的に適用した演算を実行する演算ステップを有し、
前記演算ステップにおいて適用する複数の異なる行列は、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列であり、
前記演算ステップは、
拡張Feistel構造の各データ系列に入力するF関数において、前記複数の異なる行列に基づく線形変換演算を実行するステップであることを特徴とする暗号処理方法にある。
情報処理装置において暗号処理アルゴリズムを構築する暗号処理アルゴリズム構築方法であり、
情報処理装置における制御部が、データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理アルゴリズムの構成において、各ラウンドにおけるF関数において実行する線形変換処理に適用する少なくとも2以上の複数の異なる行列を決定する行列決定ステップと、
前記制御部が、前記行列決定ステップにおいて決定した複数の異なる行列を、拡張Feistel構造の各データ系列に入力するF関数に繰り返し配置する行列設定ステップを有し、
前記行列決定ステップは、
前記2以上の複数の異なる行列として、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列を適用行列として決定する処理を実行するステップであることを特徴とする暗号処理アルゴリズム構築方法にある。
暗号処理装置において、暗号処理を実行させるコンピュータ・プログラムであり、
暗号処理部において、非線形変換処理および線形変換処理を含むデータ変換処理を実行するSP型F関数を複数ラウンド繰り返すFeistel型共通鍵ブロック暗号処理を実行させる暗号処理ステップを有し、
前記暗号処理ステップは、
データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理を実行させるステップであり、各ラウンドにおけるF関数において実行する線形変換処理に、少なくとも2以上の複数の異なる行列を選択的に適用した演算を実行する演算ステップを含み、
前記演算ステップにおいて適用する複数の異なる行列は、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列であり、
前記演算ステップは、
拡張Feistel構造の各データ系列に入力するF関数において、前記複数の異なる行列に基づく線形変換演算を実行するステップであることを特徴とするコンピュータ・プログラムにある。
情報処理装置において暗号処理アルゴリズムを構築させるコンピュータ・プログラムであり、
情報処理装置における制御部に、データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理アルゴリズムの構成において、各ラウンドにおけるF関数において実行する線形変換処理に適用する少なくとも2以上の複数の異なる行列を決定させる行列決定ステップと、
前記制御部に、前記行列決定ステップにおいて決定した複数の異なる行列を、拡張Feistel構造の各データ系列に入力するF関数に繰り返し配置させる行列設定ステップを有し、
前記行列決定ステップは、
前記2以上の複数の異なる行列として、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列を適用行列として決定する処理を実行するステップであることを特徴とするコンピュータ・プログラムにある。
(a)データ系列数d=2としたFeistel構造による暗号処理、または、
(b1)データ系列数d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて1つのF関数の実行のみを許容した暗号処理、または、
(b2)データ系列数d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて複数のF関数の並列実行を許容した暗号処理、
上記(a),(b1),(b2)のいずれかの暗号処理を選択的に実行することを可能とした暗号処理装置が実現される。
1.SP型F関数を持つFeistel構造
2.分岐数演算関数と耐性評価関数
2−1.分岐数演算関数:Branch()
2−2.差分攻撃に対する耐性評価指標
2−3.線形攻撃に対する耐性評価指標
3.2つのデータ系列を持つFeistel構造に対するDSMの設定法
4.拡張Feistel構造におけるDSMの設定
4−1.拡張Feistel構造について
4−2.拡張Feistel構造において差分攻撃に対する耐性を向上させるための構成
4−2−1.最小分岐数B2 Dの値を3以上とするF関数中の行列選択構成
4−2−2.最小分岐数Bk Dの値を3以上とするF関数中の行列選択構成
4−3.拡張Feistel構造において線形攻撃に対する耐性を向上させるための構成
4−3−1.最小分岐数B2 Lの値を3以上とするF関数中の行列選択構成
5.特定の形を持つ拡張Feistel構造に対するDSMの利用構成
5−1.拡張Feistel構造のタイプ1に対するDSMの適用
5−2.拡張Feistel構造のタイプ2に対するDSMの適用
6.拡張Feistel構造各タイプのアクティブS−box数と、F関数中の線形変換行列に基づく最小分岐数との関係式の証明
6−1.拡張Feistel構造のタイプ1のアクティブS−box数と、F関数中の線形変換行列に基づく最小分岐数との関係式の証明
6−2.拡張Feistel構造のタイプ2のアクティブS−box数と、F関数中の線形変換行列に基づく最小分岐数との関係式の証明
7.F関数の設定および利用処理の工夫に基づく実装における改良構成
7−1.拡張Feistelのタイプ2の効率的なF関数配置方法
7−2.Feistel構造と拡張Feistel構造における部品の共通化
8.本発明の暗号処理および暗号アルゴリズム構築処理のまとめ
9.暗号処理装置の構成例
まず、SP型F関数を持つFeistel構造について説明する。共通鍵ブロック暗号のデザインとして、Feistel構造が知られている。Feistel構造はラウンド関数と呼ばれる基本処理単位の繰り返しにより、平文を暗号文に変換する構造を持つ。
次に、本発明を理解するために必要となる分岐数演算関数と耐性評価関数について説明する。
(2−1.分岐数演算関数:Branch())
上述したF関数内の線形変換層(P層)としての線形変換部122において実行される線形変換の例としての最適拡散変換(Optimal Diffusion Mappings)の分岐数演算関数:Branch()を以下のように定義する。
θ:{0,1}na→{0,1}nb
に対して分岐数:Branchn(θ)を次のように定義する。
Branchn(θ)=minα≠0{hwn(α)+hwn(θ(α))}
ただし、minα≠0{Xα}は、α≠0を満たすすべてのXαのうちの最小値を表すものとし、hwn(Y)はビット列Yをnビットごとに区切って表したときに、nビットのデータすべてが0ではない(非ゼロ)要素の数を返す関数とする。
なお、このとき、Branchn(θ)がb+1であるような写像θを最適拡散変換と定義する。
Feistel構造を適用する共通鍵暗号処理においては、暗号解析による鍵の漏洩が問題となる。暗号解析または攻撃手法の代表的な手法として、ある差分(ΔX)を持つ入力データ(平文)とその出力データ(暗号文)を多数解析することにより各ラウンド関数における適用鍵を解析する差分解析(差分解読法または差分攻撃とも呼ばれる)や、平文と対応暗号文に基づく解析を行う線形解析(線形解読法または線形攻撃とも呼ばれる)が知られている。
差分パスとは、暗号化関数中の鍵データを除くすべてのデータ部分に対して特定の差分値を指定したものである。差分値は自由に決められるものではなく変換処理の前後の差分値は互いに関連しあっている。線形変換処理の前後では、入力差分と出力差分の関係は一対一に決定される。非線形変換の前後では、入力差分と出力差分の関係は一対一にはきまらないが、確率という概念が導入される。ある入力差分と出力差分に対する確率は事前に計算することができるものとする。すべての出力に対する確率をすべて足し合わせると1となっている。
さらに、線形攻撃に対する耐性を図る指標として、線形マスクの接続関係を表現した線形パス(線形近似と呼ばれることが多いが、差分と対応させるためここではパスという言葉を用いる)に含まれる線形アクティブS−boxの最小数が適用可能である。
先に説明したように、Feistel構造を適用した暗号処理において、上述した差分攻撃や線形攻撃に対する耐性を高める構成として、拡散行列切り替え機構(DSM:Diffusion Switching Mechanism,以下DSM)を適用した構成が提案されている。DSMは、Feistel構造のラウンド関数(F関数)部の線形変換部に2つ以上の異なる行列を配置する構成である。このDSMにより、最小線形アクティブS−box数を大きく保証することが可能となり、差分攻撃や線形攻撃に対する耐性を向上させることが可能となる。
適用行列中の分岐数の最小値:B1 Dと、
適用する複数の行列の結合行列に対応する分岐数の最小値:B2 D,B3 D,B2 L
を以下のように定義する。
Miは、Feistel構造における第iラウンドの線形変換処理に適用する線形変換行列を示し、
[Mi|Mi+2|・・]は、Mi|Mi+2|・・各行列の連結により得られる結合行列を示し、
tMは、行列Mの転値行列、M−1は、行列Mの逆行列を示す。
B2 D≧3, B3 D≧3, B2 L≧3、
上記条件を満足させるように各行列を設定することで、Feistel構造において、差分攻撃や線形攻撃に対する耐性を向上させることが出来ることが知られている。
なお、B1 D,B2 D,B3 D,B2 Lにおける各添え字は以下の意味を持つものである。
Bn Dのnは結合する行列数、Bn DのDは差分攻撃(Differential Attack)に対する耐性を持つための条件であることを示し、Bn LのLは線形攻撃(Linear Attack)に対する耐性を持つための条件であることを示している。
本発明では、2つのデータ系列を持つFeistel構造ではなく、例えば3系列や、4系列など2以上の任意のデータ系列を持つFeistel構造に対して拡散行列切り替え機構(DSM)を実現する構成を提案する。以下、この構成について、詳細に説明する。
以下、本発明の具体的構成および処理例について説明する。
以下、拡張Feistel構造の定義について、図5を参照して説明する。本明細書では拡張Feistel構造を以下のように定義する。
1.d本(dは2以上)のデータ系列をもち、各データ系列のサイズはmnビット。
2.F関数の入出力サイズはmnビット。
3.ラウンドという処理単位をもち、ラウンド内では一つまたは複数のデータ系列に対してF関数による変換処理が施され、その結果は別のデータ系列に排他的論理和がなされる。ただし、2つ以上のF関数が1ラウンド内に含まれる場合はすべてのF関数の入出力となるデータ系列には重複する系列が存在しないものとする。
上記定義1.d本(dは2以上)のデータ系列をもち、各データ系列のサイズはmnビット。
この定義について図5を参照して説明する。図5において、データ系列1〜dの各々の各データ系列の入出力サイズがmnビットであり、入出力の総ビット数はdmnビットであることを意味している。
この定義について図5を参照して説明する。例えばF関数202にはデータ系列2から上段の排他的論理和(XOR)演算部201から演算結果としてのmnビットが入力され、さらに、ラウンド鍵Kが入力されて演算処理が実行される。この演算処理は、図2(b)を参照して説明した処理であり、Sボックスにおける非線形変換と、線形変換部における線形変換行列Miを適用した線形変換処理が含まれる。F関数202の出力はmnビットであり、データ系列4の排他的論理和(XOR)演算部203に入力される。
この定義について図5を参照して説明する。図5にはrラウンドの構成を持つ拡張Feistel構造を示している。各ラウントには1つ以上のF関数が含まれ、その結果は別のデータ系列に排他的論理和がなされる。図5に示すラウンドnは、複数のF関数が1ラウンド内に含まれる。図5に示すF関数211とF関数212である。
図5に示すF関数211の入力データ系列はデータ系列1、出力データ系列はデータ系列2であり、
F関数212の入力データ系列はデータ系列5以上のいずれか、出力データ系列はデータ系列3であり、
いずれの入出力データ系列も重複しない設定とされる。
Fi n、Ki nのiはラウンドを示し、nは、同一ラウンドにおけるF関数またはラウンド鍵の識別番号を示す。
なお、図には示していないが、以下の説明において、各ラウンドにおけるF関数の線形変換部において適用される線形変換行列は[M]として示し、Mに設定する添え字も上記と同様、
Mi nのiはラウンドを示し、nは、同一ラウンドに設定された複数のF関数各々に対応する線形変換行列の識別番号を示すものとする。
d:d≧2の任意の整数
とした拡張Feistel構造において、DSMを実現する構成の説明の前に、以下の説明において使用する拡張Feistel構造の各構成部および各構成部の入出力データの定義について、図7を参照して説明する。
図7は、例えば図6に示すような拡張Feistel構造を構成する1つのデータ系列のみを抽出して示す図である。図7に示すように、ある1つのデータ系列への入力データは1回以上のF関数の出力が排他的論理和(XOR)されて出力に至っていることがわかる。このことは拡張Feistel構造に含まれる任意のデータ系列にあてはまる。
なお、拡張Feistel構造中のd本あるデータ系列を、それぞれs(i)(1≦i≦d)とし、データ系列s(i)に入力するF関数を、データ系列s(i)の入力に近い方からFs(i),1,Fs(i),2,...と名づけることとする。
またデータ系列s(i)の入力データをWs(i),0とし、
F関数Fs(i),jの出力が排他的論理和された後のデータをWs(i),jとする。
また、F関数Fs(i),jへの入力データをXs(i),jとする。
各Xs(i),jは、データ系列s(i)以外の別の系列に属するデータであるが、ここではそれらがどこの系列に属しているかは問わないものとする。
このとき、拡張Feistel構造は、このようなd本のデータ系列が相互に接続されて構成されるものと考えることができる。
以下、d:d≧2の任意の整数
とした拡張Feistel構造において、DSMを実現するための構成について説明する。説明は、
(4−2)拡張Feistel構造において差分攻撃に対する耐性を向上させるための構成
(4−3)拡張Feistel構造において線形攻撃に対する耐性を向上させるための構成
これらの各構成について、順次、説明する。
まず、拡張Feistel構造において差分攻撃に対する耐性を向上させるための構成について説明する。
前述したように、差分攻撃は、ある差分(ΔX)を持つ入力データ(平文)とその出力データ(暗号文)を多数解析することにより各ラウンド関数における適用鍵を解析する攻撃であり、差分攻撃に対する耐性を図る指標として、差分の接続関係を表現した差分パスに含まれる差分アクティブS−boxの最小数が適用される。差分パスは、暗号化関数中の鍵データを除くデータ部分における差分値である。線形変換処理の前後では、入力差分と出力差分の関係は一対一に決定され、非線形変換処理の前後では、一対一とはならないが、ある入力差分に対する出力差分の出現確率が算出される。すべての出力に対する確率をすべて足し合わせると1となる。
データ系列s(i)に入力する2つのF関数[Fs(i),j+1],[Fs(i),j+2]のデータ系列s(i)に対する入力部を挟むデータ系列s(i)上の入出力データ[Ws(i),j]と、[Ws(i),j+2]について、
Ws(i),j=0,
Ws(i),j+2=0である場合を考える。
データ系列s(i)に入力するF関数中、隣り合うF関数[Fs(i),j+1]と[Fs(i),j+2]への各々の入力差分値[ΔXs(i),j+1]と、[ΔXs(i),j+2]との間に、
しかしながら、データ系列s(i)に入力する2つの隣り合うF関数[Fs(i),j,Fs(i),j+1]中で用いられる2つの線形変換行列[Ms(i),j]、[Ms(i),j+1]とが、同一の行列であると、前述の分岐数演算関数:Branch()を適用した分岐数の算出式、すなわち、
B2 D(s(i))
は必ず最低の値である2となってしまう。このため耐性向上の効果は見込めない。
前述の分岐数算出式によって定義されるB2 D(s(i))をより大きな分岐数とすることが、局所的な最小差分アクティブS−box数を大きく保証することになり、差分攻撃に対する耐性を向上させることが可能となる。従って、例えば、B2 D(s(i))が3以上となるように行列を選択することで、差分攻撃に対する耐性を向上させることが可能となる。
まず、拡張Feistel構造のすべてのデータ系列における最小分岐数[B2 D(s(i))]中、最小の分岐数[B2 D]を3以上とするためには、最低2種類の行列があれば実現できることを以下に説明する。
Branchn([A0|A1])≧3
を満たす2つの異なる行列[A0]と[A1]を用意する。
最初のF関数Fs(i),1の線形変換部に設定する線形変換行列をA0、
第2番目のF関数Fs(i),2の線形変換部に設定する線形変換行列をA1、
第3番目のF関数Fs(i),3の線形変換部に設定する線形変換行列をA0、
:
というように2つの異なる行列[A0]と[A1]をデータ系列s(i)に入力する複数のF関数に対して、上から順に交互に配置していく。
を満たす2つの異なる行列[A0]と[A1]を用意して、これらの各行列を、拡張Feistel構造の各データ系列s(i)に入力するF関数に交互に配置する設定とすることで、最小分岐数B2 Dの値を3以上にすることが可能となり、拡散行列切り替え機構(DSM)による差分攻撃に対する耐性の向上が実現される。
次に、異なる行列を2以上の任意の数[k]として一般化した例について、以下、説明する。
データ系列s(i)に入力するk個のF関数[Fs(i),j+1]・・・[Fs(i),j+k]のデータ系列s(i)に対する入力部を挟むデータ系列s(i)上の入出力データ[Ws(i),j]と、[Ws(i),j+k]について、
Ws(i),j=0,
Ws(i),j+k=0である場合を考える。
データ系列s(i)に入力するF関数中、隣り合うk個のF関数[Fs(i),j+1]・・・[Fs(i),j+k]への各々の入力差分値[ΔXs(i),j+1]・・・[ΔXs(i),j+k]との間に、
Bk D(s(i))
は必ず最低の値である2となってしまう。このため耐性向上の効果は見込めない。
拡張Feistel構造のすべてのデータ系列における最小分岐数[Bk D(s(i))]中、最小の分岐数[Bk D]を3以上とするためには、最低k種類の行列があれば実現できることを以下に説明する。
Branchn([A0|A1|・・・|Ak−1])≧3
を満たすk個の異なる行列[A0],[A1],[A2],・・・[Ak−1]を用意する。
最初のF関数Fs(i),1の線形変換部に設定する線形変換行列をA0、
第2番目のF関数Fs(i),2の線形変換部に設定する線形変換行列をA1、
第3番目のF関数Fs(i),3の線形変換部に設定する線形変換行列をA2、
:
第k番目のF関数Fs(i),kの線形変換部に設定する線形変換行列をAk−1、
第k+1番目のF関数Fs(i),k+1の線形変換部に設定する線形変換行列をA0、
第k+2番目のF関数Fs(i),k+2の線形変換部に設定する線形変換行列をA1、
:
というようにk個の異なる行列[A0],[A1],[A2],・・・[Ak−1]をデータ系列s(i)に入力する複数のF関数に対して、上から順に、繰り返し配置していく。
Branchn([A0|A1|・・・|Ak−1])≧3
を満たすk個の異なる行列[A0],[A1],[A2],・・・[Ak−1]を用意して、これらの各行列を、拡張Feistel構造の各データ系列s(i)に入力するF関数に順番に繰り返し配置する設定とすることで、最小分岐数Bk Dの値を3以上にすることが可能となり、拡散行列切り替え機構(DSM)による差分攻撃に対する耐性の向上が実現される。
次に、拡張Feistel構造において線形攻撃に対する耐性を向上させる構成について説明する。
先に、説明したように、線形攻撃に対する耐性を図る指標としては、線形マスクの接続関係を表現した線形パス(線形近似と呼ばれることが多いが、差分と対応させるためここではパスという言葉を用いる)に含まれる線形アクティブS−boxの最小数が適用可能である。線形パスは、暗号化関数中の鍵データを除くすべてのデータ部分に対して特定の線形マスク値を指定したものである。線形変換処理の前後では、入力線形マスク値と出力線形マスク値の関係は一対一に決定され、非線形変換処理の前後では、一対一とはならないが、ある入力線形マスクに対する出力線形マスクの出現確率が算出される。すべての出力に対する確率をすべて足し合わせると1となる。
j番目のF関数に対する入力:Xs(i),j、
j番目のF関数の出力と、データ系列s(i)上のデータとの排他的論理和(XOR)結果:Ws(i),j、
j+1番目のF関数に対する入力:Xs(i),j+1、
これらの各データの線形マスクをそれぞれ、
ΓXs(i),j、
ΓWs(i),j、
ΓXs(i),j+1、
とすると、それらのうちどれかひとつでも0でないものがあれば、以下の式を満たす。すなわち、
B2 L(s(i))
は必ず最低の値である2となってしまう。このため耐性向上の効果は見込めない。B2 L(s(i))をより大きな分岐数とすることが、最小線形アクティブS−box数を大きく保証することになり、線形攻撃に対する耐性を向上させることが可能となる。従って、例えば、B2 L(s(i))が3以上となるように行列を選択することで、線形攻撃に対する耐性を向上させることが可能となる。
拡張Feistel構造のすべてのデータ系列における最小分岐数[B2 L(s(i))]中、最小の分岐数[B2 L]を3以上とするためには、最低2種類の行列があれば実現できることを以下に説明する。
Branchn([tA0 −1|tA1 −1])≧3
を満たす2つの異なる行列[A0]と[A1]を用意する。
最初のF関数Fs(i),1の線形変換部に設定する線形変換行列をA0、
第2番目のF関数Fs(i),2の線形変換部に設定する線形変換行列をA1、
第3番目のF関数Fs(i),3の線形変換部に設定する線形変換行列をA0、
:
というように2つの異なる行列[A0]と[A1]をデータ系列s(i)に入力する複数のF関数に対して、上から順に交互に配置していく。
を満たす2つの異なる行列[A0]と[A1]を用意して、これらの各行列を、拡張Feistel構造の各データ系列s(i)に入力するF関数に交互に配置する設定とすることで、最小分岐数B2 Lの値を3以上にすることが可能となり、拡散行列切り替え機構(DSM)による線形攻撃に対する耐性の向上が実現される。
上述したように、データ系列数dをd≧2の任意整数とした拡張Feistel構造においてDSM技術を適用することで、差分攻撃や線形攻撃に対する耐性を向上させることが可能である。以下、差分攻撃や線形攻撃についての安全性指標を高いレベルで保証できる具体的な拡張Feistel構造について説明する。
まず、拡張Feistel構造のタイプ1に対するDSMの適用について、図8を参照して説明する。
拡張Feistel構造のタイプ1は、以下のパラメータを持つものとする。
パラメータ
(a)データ分割数:d(dは3以上)
(b)入出力データ長:dmnビット
(c)分割データ長:mnビット
(d)1ラウンドあたりのF関数の数:1
さらに、先に説明した(4−3.拡張Feistel構造において線形攻撃に対する耐性を向上させるための構成)において、拡張Feistel構造のすべてのデータ系列に対してB2 L(s(i))を計算し、それらの中で最小の値のものをB2 Lとし、このB2 Lを3以上とするように、F関数中の行列を選択することで、線形攻撃に対する耐性が高められることを説明した。
B1 Dを、図8に示すようなタイプ1の拡張Feistel構造中に含まれるF関数中の線形変換行列の分岐数中の最小の分岐数とする。
ActD(3d)≧B1 D+B2 D
ActL(3d)≧2B2 L
上記式において、
ActD(3d)は、連続する3dラウンドに含まれる差分アクティブS−box数、
ActL(3d)は、連続する3dラウンドに含まれる線形アクティブS−box数、
を示している。
これらの関係式が成立することの証明は後述する。
なお、これらB1 D,B2 D,B2 Lの理論上の最大値はm+1になることが知られている。
ActD(3d)≧B1 D+B2 D
ActL(3d)≧2B2 L
これらの式の右辺には、先に説明した最小分岐数B2 DまたはB2 Lが含まれており、これらの最小分岐数の値を大きくすることが、アクティブS−box数を多く確保することに貢献することになり、差分攻撃および線形攻撃に対する耐性を向上させるために有効となる。したがって、図8に示すような拡張Feistel構造のタイプ1の構成においては、先に説明した最小分岐数B2 DまたはB2 Lを3以上とする構成が、有効であることになり、この構成とすることで、差分攻撃と線形攻撃に対する耐性をこれまでよりも高く保証することが可能となる。
次に、拡張Feistel構造のタイプ2に対するDSMの適用について、図9を参照して説明する。
拡張Feistel構造のタイプ2は、以下のパラメータを持つものとする。
パラメータ
(a)データ分割数:d(ただしdは4以上の偶数)
(b)入出力データ長:dmnビット
(c)分割データ長:mnビット
(d)1ラウンドあたりのF関数の数:d/2
さらに、先に説明した(4−3.拡張Feistel構造において線形攻撃に対する耐性を向上させるための構成)において、拡張Feistel構造のすべてのデータ系列に対してB2 L(s(i))を計算し、それらの中で最小の値のものをB2 Lとし、このB2 Lを3以上とするように、F関数中の行列を選択することで、線形攻撃に対する耐性が高められることを説明した。
B1 Dを、図9に示すようなタイプ2の拡張Feistel構造中に含まれるF関数中の線形変換行列の分岐数中の最小の分岐数とする。
ActD(6)≧B1 D+B2 D
ActL(6)≧2B2 L
上記式において、
ActD(6)は、連続する6ラウンドに含まれる差分アクティブS−box数、
ActL(6)は、連続する6ラウンドに含まれる線形アクティブS−box数、
を示している。
これらの関係式が成立することの証明は後述する。
なお、これらB1 D,B2 D,B2 Lの理論上の最大値はm+1になることが知られている。
ActD(6)≧B1 D+B2 D
ActL(6)≧2B2 L
これらの式の右辺には、先に説明した最小分岐数B2 DまたはB2 Lが含まれており、これらの最小分岐数の値を大きくすることが、アクティブS−box数を多く確保することに貢献することになり、差分攻撃および線形攻撃に対する耐性を向上させるために有効となる。したがって、図9に示すような拡張Feistel構造のタイプ2の構成においては、先に説明した最小分岐数B2 DまたはB2 Lを3以上とする構成が、有効であることになり、この構成とすることで、差分攻撃と線形攻撃に対する耐性をこれまでよりも高く保証することが可能となる。
次に、上述した
(5−1.拡張Feistel構造のタイプ1に対するDSMの適用)
(5−2.拡張Feistel構造のタイプ2に対するDSMの適用)
において説明したアクティブS−box数と、F関数中の線形変換行列に基づく最小分岐数との関係式の証明について説明する。
まず、先に図8を参照して説明した拡張Feistel構造のタイプ1のアクティブS−box数と、F関数中の線形変換行列に基づく最小分岐数との関係式の証明について説明する。
ActD(3d)≧B1 D+B2 D
ActL(3d)≧2B2 L
この関係式が成立することを証明する。
ActD(3d)≧B1 D+B2 D
ActL(3d)≧2B2 L
が成立することを証明する。
上記式において、
ActD(3d)、ActL(3d)は、図8または図10に示すタイプ1の拡張Feistel構造における連続する3dラウンドに含まれる差分アクティブS−box数と、線形アクティブS−box数を意味する。
B1 Dは、タイプ1の拡張Feistel構造中に含まれるF関数中の線形変換行列の分岐数中の最小の分岐数、
B2 D,B2 Lは、先に(4−2),(4−3)において説明した拡張Feistel構造中に含まれる1つのデータ系列に入力する連続するF関数中の線形変換行列の結合行列の最小分岐数、および逆行列の転置行列の結合行列の最小分岐数である。
B1 D≧B2 D
の関係が成立している。
また、図8または図10に示すタイプ1の拡張Feistel構造における第k番目のF関数に含まれる差分アクティブS―boxの数をDkで表し、線形アクティブS―boxの数をLkで表すものとする。
まず、ActD(3d)≧B1 D+B2 Dの証明を行なう。
すなわち、図8、図10に示すタイプ1の拡張Feistel構造において、連続する3dラウンドに含まれる差分アクティブS−boxの個数はB1 D+B2 D以上であることを証明する。
(性質1)連続するdラウンドの中に最低ひとつのラウンドでは差分アクティブS−boxが0ではないものが存在する
(性質2)Dk=0ならば、Dk−d+1=Dk+1
(性質3)Dk≠0ならば、Dk−d+1+Dk+Dk+1≧B1 D
(性質4)Dk+Dk+d≠0ならば、Dk−d+1+Dk+Dk+d+Dk+d+1≧B2 D
ActD(3d)≧B1 D+B2 D
の証明、すなわち、
「連続する3dラウンドに含まれる差分アクティブS−boxの個数はB1 D+B2 D以上である」
ことを証明する。
場合1:もしも、i+d+2ラウンド目からi+2d−1ラウンド目までに0でないアクティブS−boxが存在する場合。
0でないアクティブS−boxが存在するラウンドをkとするとDk≠0と表せる。
性質2からDk=Dk+d≠0
性質3からDk+Dk+1+Dk−d+1≧B1 D
性質3からDk+d+Dk+d+1+Dk+1≧B2 D
Dk+1=0であるため、
性質1から、Di+d+1≠0、またはDi+2d≠0である。
性質2からDi+d+1=Di+2d+1≠0
性質3からDi+d+1+Di+d+2+Di+2≧B1 D
性質3からDi+2d+1+Di+2d+2+Di+d+2≧B1 D
Di+d+2=0であるため、
性質2からDi+2d=Di+d≠0
性質3からDi+d+Di+d+1+Di+1≧B1 D
性質3からDi+2d+Di+2d+1+Di+d+1≧B1 D
Di+d+1=0であるため、
性質3からDi+d+1+Di+d+2+Di+2≧B1 D
性質3からDi+2d+Di+2d+1+Di+d+Di+1≧B2 D
であるため、
ActD(3d)≧B1 D+B2 D
が成立し、図8、図10に示すタイプ1の拡張Feistel構造において、連続する3dラウンドに含まれる差分アクティブS−boxの個数はB1 D+B2 D以上であることが証明される。
次に、ActL(3d)≧2B2 Lの証明を行なう。
すなわち、図8、図10に示すタイプ1の拡張Feistel構造において、連続する3dラウンドに含まれる線形アクティブS−boxの個数は2B2 L以上であることを証明する。
なお、B2 Lは、前述したように、
またk番目のF関数に含まれる線形アクティブS−boxの数をLkで表すものとする。
(性質5)連続するdラウンドの中の最低ひとつのラウンドでは線形アクティブS−boxが0ではないものが存在する
(性質6)Lk+Lk+1+Lk+d≧B2 L、または、Lk+Lk+1+Lk+d=0である。なお、Lk+Lk+1+Lk+d≧B2 Lの場合は左辺に含まれる2つ以上の項が同時に0となることはない。
以上の2つの性質を利用して、
ActL(3d)≧2B2 L
の証明、すなわち、
「連続する3dラウンドに含まれる線形アクティブS−boxの個数は2B2 L以上である」
ことを証明する。
場合1:もしも、i+d+2ラウンド目からi+2dラウンド目までに0でないアクティブS−boxが存在する場合。
0でないアクティブS−boxが存在するラウンドをkとするとLk≠0である。
性質6からLk−d+1≠0
性質6からLk+Lk−1+Lk+d−1≧B2 L
性質6からLk−d+1+Lk+1+Lk−d+2≧B2 L
性質1から、Li+d+1≠0となる。
性質6からLi+d≠0
性質6からLi+d+1+Li+d+2+Li+2d+1≧B2 L
性質6からLi+d+Li+d−1+Li+2d−1≧B2 L
ActL(3d)≧2B2 L
が成立し、図8、図10に示すタイプ1の拡張Feistel構造において、連続する3dラウンドに含まれる線形アクティブS−boxの個数は2B2 L以上であることが証明される。
次に、図9を参照して説明した拡張Feistel構造のタイプ2のアクティブS−box数と、F関数中の線形変換行列に基づく最小分岐数との関係式の証明について説明する。
ActD(6)≧B1 D+B2 D
ActL(6)≧2B2 L
この関係式が成立することを証明する。
Fi,jのiは、ラウンド数(1=1,2ラウンド、2=3,4ラウンド・・)を示し、jは、2つのラウンドにおけるF関数の位置を示している。なお、jが0,2,4,の偶数であれば、先行ラウンドにおけるF関数であり、jが1,3,5,の奇数であれば、後続ラウンドにおけるF関数である。なお、F関数Fi,jに含まれる線形変換行列を[Mi,j]と呼ぶものとする。
ActD(6)≧B1 D+B2 D
ActL(6)≧2B2 L
が成立することを証明する。
上記式において、
ActD(6)、ActL(6)は、図9または図11に示すタイプ2の拡張Feistel構造における連続する6ラウンドに含まれる差分アクティブS−box数と、線形アクティブS−box数を意味する。
B1 Dは、タイプ2の拡張Feistel構造中に含まれるF関数中の線形変換行列の分岐数中の最小の分岐数、
B2 D,B2 Lは、先に(4−2),(4−3)において説明した拡張Feistel構造中に含まれる1つのデータ系列に入力する連続するF関数中の線形変換行列の結合行列の最小分岐数、および逆行列の転置行列の結合行列の最小分岐数である。
B1 D≧B2 D
の関係が成立している。
また、Fp,qに含まれるアクティブS−boxの数をDp,qで表すものとする。なお以降で、添え字qの部分が負の値やd以上の値を持つ場合には、dによる剰余演算(q mod d)を行い常に0≦q<dとなるように補正するものとする。
まず、ActD(6)≧B1 D+B2 Dの証明を行なう。
すなわち、図9、図11に示すタイプ2の拡張Feistel構造において、連続する6ラウンドに含まれる差分アクティブS−boxの個数はB1 D+B2 D以上であることを証明する。
(性質1)あるiに対して、Fp,q(p=i,q∈{0,..d−1})の中には差分アクティブS−boxが0ではないものが存在する
(性質2)Dp,q=0ならば、
Dp−1,q+1=Dp,q+1 (qが偶数のとき)
Dp,q+1=Dp+1,q+1 (qが奇数のとき)
(性質3)Dp,q≠0ならば、
Dp,q+Dp−1,q+1+Dp,q+1≧B1 D (qが偶数のとき)
Dp,q+Dp,q+1+Dp+1,q+1≧B1 D (qが奇数のとき)
(性質4)Dp,q+Dp+1,q≠0ならば、
Dp,q+Dp+1,q+Dp−1,q+1+Dp+1,q+1≧B2 D (qが偶数のとき)
Dp,q+Dp+1,q+Dp,q+1+Dp+2,q+1≧B2 D (qが奇数のとき)
ActD(6)≧B1 D+B2 D
の証明、すなわち、
「1以上の任意の整数iに対して、p∈{i,i+1,i+2},q∈{0,1,..d−1}を満たす3d個のF関数Fp,qに含まれる差分アクティブS−boxの総数はB1 D+B2 D以上である」
ことを証明する。
性質3から
Dj,k+Dj−1,k+1+Dj,k+1≧B1 D (kが偶数のとき)
Dj,k+Dj,k+1+Dj+1,k+1≧B1 D (kが奇数のとき)
性質4から
Dj−1,k−1 +Dj,k−1+Dj−1,k+Dj+1,k≧B2 D (kが偶数のとき)
Dj,k−1+Dj+1,k−1+Dj−1,k+Dj+1,k≧B2 D (kが奇数のとき)
であるから、
性質3から
Dj,k+1+Dj,k+2+Dj+1,k+2≧B1 D (kが偶数のとき)
Dj,k+1+Dj−1,k+2+Dj,k+2≧B1 D (kが奇数のとき)
性質4から
Dj,k +Dj+1,k+Dj−1,k+1+Dj+1,k+1≧B2 D (kが偶数のとき)
Dj−1,k+Dj,k+Dj−1,k+1+Dj+1,k+1≧B2 D (kが奇数のとき)
であるから、
性質2から、Dj,k−1=0であるので
Dj+1,k=Dj,k≠0 (kが偶数のとき)
Dj−1,k=Dj,k≠0 (kが奇数のとき)
性質3から、
Dj,k+Dj−1,k+1+Dj,k+1≧B1 D (kが偶数のとき)
Dj,k+Dj,k+1+Dj+1,k+1≧B1 D (kが奇数のとき)
さらに性質3から
Dj+1,k+Dj,k+1+Dj+1,k+1≧B1 D (kが偶数のとき)
Dj−1,k+Dj−1,k+1+Dj,k+1≧B1 D (kが奇数のとき)
Dj,k+1=0であるから、
ActD(6)≧B1 D+B2 D
が成立し、図9、図11に示すタイプ2の拡張Feistel構造において、連続する6ラウンドに含まれる差分アクティブS−boxの個数はB1 D+B2 D以上であることが証明される。
次に、ActL(6)≧2B2 Lの証明を行なう。
すなわち、図9、図11に示すタイプ2の拡張Feistel構造において、連続する6ラウンドに含まれる線形アクティブS−boxの個数は2B2 L以上であることを証明する。
なお、B2 Lは、前述したように、
またFp,q番目のF関数に含まれる線形アクティブS−boxの数をLp,qで表すものとする。
(性質5)あるiに対して、Fp,q (p=i,q∈{0,..d−1})の中には線形アクティブS−boxが0ではないものが存在する
(性質6)
Lj,k+Lj+1,k+Lj,k+1≧B2 L または、Lj,k+Lj+1,k+Lj,k+1=0 (kが偶数のとき)
Lj,k+Lj+1,k+Lj+1,k+1≧B2 L または、Lj,k+Lj+1,k+Lj+1,k+1=0 (kが奇数のとき)
以上の2つの性質を利用して、
ActL(6)≧2B2 L
の証明、すなわち、
「1以上の任意の整数iに対して、p∈{i,i+1,i+2},q∈{0,1,..d−1}を満たす3d個のF関数Fp,qに含まれる線形アクティブS−boxの総数は2B2 L以上である」
ことを証明する。
Lj−1,k+Lj,k+Lj−1,k+1≧B2 L (kが偶数のとき)
Lj,k+Lj+1,k+Lj+1,k+1≧B2 L (kが奇数のとき)
性質6から
Lj,k−1+Lj+1,k−1+Lj+1,k≧B2 L (kが偶数のとき)
Lj−1,k−1+Lj,k−1+Lj−1,k≧B2 L (kが奇数のとき)
従って、この場合、
性質6から
Lj−1,k−1≠0 (kが偶数のとき)
Lj+1,k−1≠0 (kが奇数のとき)
であるので、
Lj−1,k−2+Lj,k−2+Lj−1,k−1≧B2 L (kが偶数のとき)
Lj,k−2+Lj+1,k−2+Lj+1,k−1≧B2 L (kが奇数のとき)
このときd≧4であるので、この場合、
ActL(6)≧2B2 L
が成立し、図9、図11に示すタイプ2の拡張Feistel構造において、連続する6ラウンドに含まれる線形アクティブS−boxの個数は2B2 L以上であることが証明される。
上述したように、本発明では、データ系列数:dをd≧2の整数とした拡張Feistel構造において、各ラウンドのF関数の線形変換処理として、少なくとも2以上の異なる行列を選択的に適用する、いわゆる拡散行列切り替え機構(DSM)を適用することで、線形解析や差分解析に対する耐性を向上させた構成を実現している。
まず、先に、図9、図11を参照して説明した拡張Feistelのタイプ2の効率的なF関数配置構成について説明する。タイプ2の拡張Feistel構造は、先に説明した項目(5−2.拡張Feistel構造のタイプ2に対するDSMの適用)において述べたように、以下のパラメータを持つ。
パラメータ
(a)データ分割数:d(ただしdは4以上の偶数)
(b)入出力データ長:dmnビット
(c)分割データ長:mnビット
(d)1ラウンドあたりのF関数の数:d/2
(a)データ分割数:4
(b)入出力データ長:4mnビット
(c)分割データ長:mnビット
(d)1ラウンドあたりのF関数の数:4/2=2
を持つ構成である。
(a)1つのラウンドに設定する複数のF関数を同一のF関数とする設定、
(b)1つのラウンドに設定する複数のF関数を異なるF関数とする設定、
上記2つの態様が可能となる。
(1)a種類のF関数を利用したType2の拡張Fesitel構造を構成する場合、データ系列数(分割数)d=2ax、ただしaは2以上の整数,xは1以上の整数、としたとき、1つのラウンド内に設定されるax個のF関数として、全種類のF関数が均等にx個ずつ設定する構成とすることで実装効率を向上させることが可能となる。
前述したように、これまで説明してきたFeistel構造、拡張Feistelのタイプ1、拡張Feistelのタイプ2のいずれに対してもDSMメカニズムを利用することにより、攻撃に対する耐性を向上させるメリットがある。
(a)データ系列数(分割数)d=2としたFeistel構造
(b)データ系列数(分割数)d≧2の任意数とした拡張Feistel構造
に分類され、さらに、拡張Feistel構造は、
(b1)各ラウンドにおいて1つのF関数の実行のみを許容したタイプ1、
(b2)各ラウンドにおいて複数のF関数の並列実行を許容したタイプ2、
これら(a),(b1),(b2)の3種類に分類できる。
これらの3種類のFeistel構造のいずれにおいても、DSMメカニズムの適用による耐性向上が実現される。
(a)データ系列数(分割数)d=2としたFeistel構造
(b1)データ系列数(分割数)d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて1つのF関数の実行のみを許容したタイプ1、
(b2)データ系列数(分割数)d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて複数のF関数の並列実行を許容したタイプ2、
これらのいずれの構造に基づく暗号処理を実行するかを選択する。なお、設定情報は、例えば外部から入力する。あるいは暗号化または復号処理の対象となるデータのビット長に応じて実行する処理形態を選択する構成としてもよい。制御回路273は、選択に応じて、各F関数専用回路の適用シーケンスを変更し、各Feistel構造に従ったラウンド関数を実行させる制御を行う。
(a)データ系列数(分割数)d=2としたFeistel構造
(b1)データ系列数(分割数)d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて1つのF関数の実行のみを許容したタイプ1、
(b2)データ系列数(分割数)d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて複数のF関数の並列実行を許容したタイプ2、
これらのいずれの構造に基づく暗号処理を実行するかを選択する。なお、設定情報は、例えば外部から入力する。制御回路284は、設定に応じて、各F関数専用回路の適用シーケンスを変更し、各Feistel構造に従ったラウンド関数を実行させる制御を行う。
(a)データ系列数(分割数)d=2としたFeistel構造
(b1)データ系列数(分割数)d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて1つのF関数の実行のみを許容したタイプ1、
(b2)データ系列数(分割数)d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて複数のF関数の並列実行を許容したタイプ2、
これらのいずれかの構造に基づく暗号処理を選択的に実行する構成が実現され、暗号化処理または復号処理における処理ビット数を変更可能な装置が実現される。
最後に、上述した本発明の暗号処理および暗号アルゴリズム構築処理についてまとめて説明する。
あるいは、拡張Feistel構造の各データ系列s(i)に入力する連続する2個のF関数に含まれる線形変換行列に基づいて算出されるデータ系列対応の最小分岐数[B2 L(s(i))]中から選択される全データ系列中の最小分岐数[B2 L]が3以上となる条件を満足する複数の異なる行列である。
データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理アルゴリズムの構成において、各ラウンドにおけるF関数において実行する線形変換処理に適用する少なくとも2以上の複数の異なる行列を決定する行列決定ステップと、
行列決定ステップにおいて決定した複数の異なる行列を、拡張Feistel構造の各データ系列に入力するF関数に繰り返し配置する行列設定ステップである。
最後に、上述した実施例に従った暗号処理を実行する暗号処理装置としてのICモジュール300の構成例を図20に示す。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図20に示すICモジュール300は、これら様々な機器に構成することが可能である。
(a)データ系列数d=2としたFeistel構造による暗号処理、または、
(b1)データ系列数d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて1つのF関数の実行のみを許容した暗号処理、または、
(b2)データ系列数d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて複数のF関数の並列実行を許容した暗号処理、
上記(a),(b1),(b2)のいずれかの暗号処理を選択的に実行することを可能とした暗号処理装置が実現される。
102 入力データPR(Plain-Right)
103 ラウンド鍵
104 排他的論理和部
120 F関数
121 Sボックス(S−box)
122 線形変換部
250 暗号処理装置
251 第1F関数専用処理回路
252 第2F関数専用処理回路
253 制御回路
254 補助回路
271 第1F関数専用処理回路
272 第2F関数専用処理回路
273 制御回路
274 補助回路
281 第1F関数専用処理回路
282 第2F関数専用処理回路
283 第3F関数専用処理回路
284 制御回路
285 補助回路
300 ICモジュール
301 CPU(Central processing Unit)
302 メモリ
303 暗号処理部
304 乱数発生器
305 送受信部
Claims (20)
- 暗号処理装置であり、
非線形変換処理および線形変換処理を含むデータ変換処理を実行するSP型F関数を複数ラウンド繰り返すFeistel型共通鍵ブロック暗号処理を実行する暗号処理部を有し、
前記暗号処理部は、
データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理を実行する構成であり、各ラウンドにおけるF関数において実行する線形変換処理に、少なくとも2以上の複数の異なる行列を選択的に適用する構成を有し、
前記2以上の複数の異なる行列は、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列であり、
前記複数の異なる行列を、拡張Feistel構造の各データ系列に入力するF関数に繰り返し配置した構成を有することを特徴とする暗号処理装置。 - 前記暗号処理部において利用される前記複数の異なる行列は、
拡張Feistel構造の各データ系列s(i)に入力する連続するk個(ただし、kは2以上の整数)のF関数に含まれる線形変換行列に基づいて算出されるデータ系列対応の最小分岐数[Bk D(s(i))]中から選択される全データ系列中の最小分岐数[Bk D]が3以上となる条件を満足する複数の異なる行列であることを特徴とする請求項1に記載の暗号処理装置。 - 前記暗号処理部において利用される前記複数の異なる行列は、
拡張Feistel構造の各データ系列s(i)に入力する連続する2個のF関数に含まれる線形変換行列に基づいて算出されるデータ系列対応の最小分岐数[B2 D(s(i))]中から選択される全データ系列中の最小分岐数[B2 D]が3以上となる条件を満足する複数の異なる行列であることを特徴とする請求項1に記載の暗号処理装置。 - 前記暗号処理部において利用される前記複数の異なる行列は、
拡張Feistel構造の各データ系列s(i)に入力する連続する2個のF関数に含まれる線形変換行列に基づいて算出されるデータ系列対応の最小分岐数[B2 L(s(i))]中から選択される全データ系列中の最小分岐数[B2 L]が3以上となる条件を満足する複数の異なる行列であることを特徴とする請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
前記複数の異なる行列を、n個(ただし、nは2以上の整数)の異なる行列、
M0,M1,・・Mn−1としたとき、
これらの異なる行列M0,M1,・・Mn−1を、拡張Feistel構造の各データ系列に入力するF関数に順番に繰り返し配置した構成を有することを特徴とする請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
1つのラウンドに1つのF関数のみを実行する拡張Feistel構造を適用した暗号処理を実行する構成であることを特徴とする請求項1〜5いずれかに記載の暗号処理装置。 - 前記暗号処理部は、
1つのラウンドに複数のF関数を並列に実行する拡張Feistel構造を適用した暗号処理を実行する構成であることを特徴とする請求項1〜5いずれかに記載の暗号処理装置。 - 前記暗号処理部は、
a≧2の任意の整数、x≧1の任意の整数としたとき、前記複数の異なる行列による異なる線形変換処理を実行するa種類のF関数を利用したデータ系列数:d=2axの拡張Fesitel構造を適用した暗号処理を実行する構成であり、
1つのラウンドにおいて、全種類(a種類)のF関数を均等にx個ずつ実行する構成であることを特徴とする請求項1〜5いずれかに記載の暗号処理装置。 - 前記暗号処理部は、
1つのラウンドにおいて並列に実行するax個のF関数を実行するF関数実行部と、
前記F関数実行部に対するデータ入出力制御を実行する制御部とを備えた構成であることを特徴とする請求項8に記載の暗号処理装置。 - 前記暗号処理部は、
前記複数の異なる行列による異なる線形変換処理を実行する複数のF関数実行部と、
前記複数のF関数実行部の利用シーケンスを設定に応じて変更する制御部とを備え、
前記制御部は、
(a)データ系列数d=2としたFeistel構造による暗号処理、または、
(b1)データ系列数d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて1つのF関数の実行のみを許容した暗号処理、または、
(b2)データ系列数d≧2の任意数とした拡張Feistel構造であり、各ラウンドにおいて複数のF関数の並列実行を許容した暗号処理、
上記(a),(b1),(b2)のいずれかの暗号処理を選択的に実行する構成であることを特徴とする請求項1〜5いずれかに記載の暗号処理装置。 - 前記制御部は、
暗号化または復号処理の対象となるデータのビット長に応じて、実行する処理形態を選択する構成であることを特徴とする請求項10に記載の暗号処理装置。 - 暗号処理装置において、暗号処理を実行する暗号処理方法であり、
暗号処理部において、非線形変換処理および線形変換処理を含むデータ変換処理を実行するSP型F関数を複数ラウンド繰り返すFeistel型共通鍵ブロック暗号処理を実行する暗号処理ステップを有し、
前記暗号処理ステップは、
データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理を実行するステップであり、各ラウンドにおけるF関数において実行する線形変換処理に、少なくとも2以上の複数の異なる行列を選択的に適用した演算を実行する演算ステップを有し、
前記演算ステップにおいて適用する複数の異なる行列は、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列であり、
前記演算ステップは、
拡張Feistel構造の各データ系列に入力するF関数において、前記複数の異なる行列に基づく線形変換演算を実行するステップであることを特徴とする暗号処理方法。 - 前記複数の異なる行列は、
拡張Feistel構造の各データ系列s(i)に入力する連続するk個(ただし、kは2以上の整数)のF関数に含まれる線形変換行列に基づいて算出されるデータ系列対応の最小分岐数[Bk D(s(i))]中から選択される全データ系列中の最小分岐数[Bk D]が3以上となる条件を満足する複数の異なる行列であることを特徴とする請求項12に記載の暗号処理方法。 - 前記複数の異なる行列は、
拡張Feistel構造の各データ系列s(i)に入力する連続する2個のF関数に含まれる線形変換行列に基づいて算出されるデータ系列対応の最小分岐数[B2 D(s(i))]中から選択される全データ系列中の最小分岐数[B2 D]が3以上となる条件を満足する複数の異なる行列であることを特徴とする請求項12に記載の暗号処理方法。 - 前記複数の異なる行列は、
拡張Feistel構造の各データ系列s(i)に入力する連続する2個のF関数に含まれる線形変換行列に基づいて算出されるデータ系列対応の最小分岐数[B2 L(s(i))]中から選択される全データ系列中の最小分岐数[B2 L]が3以上となる条件を満足する複数の異なる行列であることを特徴とする請求項12に記載の暗号処理方法。 - 前記複数の異なる行列を、n個(ただし、nは2以上の整数)の異なる行列、
M0,M1,・・Mn−1としたとき、
前記演算ステップは、
拡張Feistel構造の各データ系列に入力するF関数において、これらの異なる行列M0,M1,・・Mn−1を順番に繰り返し実行するステップであることを特徴とする請求項12に記載の暗号処理方法。 - 前記暗号処理ステップは、
1つのラウンドに1つのF関数のみを実行する拡張Feistel構造を適用した暗号処理を実行するステップであることを特徴とする請求項12〜16いずれかに記載の暗号処理方法。 - 情報処理装置において暗号処理アルゴリズムを構築する暗号処理アルゴリズム構築方法であり、
情報処理装置における制御部が、データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理アルゴリズムの構成において、各ラウンドにおけるF関数において実行する線形変換処理に適用する少なくとも2以上の複数の異なる行列を決定する行列決定ステップと、
前記制御部が、前記行列決定ステップにおいて決定した複数の異なる行列を、拡張Feistel構造の各データ系列に入力するF関数に繰り返し配置する行列設定ステップを有し、
前記行列決定ステップは、
前記2以上の複数の異なる行列として、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列を適用行列として決定する処理を実行するステップであることを特徴とする暗号処理アルゴリズム構築方法。 - 暗号処理装置において、暗号処理を実行させるコンピュータ・プログラムであり、
暗号処理部において、非線形変換処理および線形変換処理を含むデータ変換処理を実行するSP型F関数を複数ラウンド繰り返すFeistel型共通鍵ブロック暗号処理を実行させる暗号処理ステップを有し、
前記暗号処理ステップは、
データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理を実行させるステップであり、各ラウンドにおけるF関数において実行する線形変換処理に、少なくとも2以上の複数の異なる行列を選択的に適用した演算を実行する演算ステップを含み、
前記演算ステップにおいて適用する複数の異なる行列は、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列であり、
前記演算ステップは、
拡張Feistel構造の各データ系列に入力するF関数において、前記複数の異なる行列に基づく線形変換演算を実行するステップであることを特徴とするコンピュータ・プログラム。 - 情報処理装置において暗号処理アルゴリズムを構築させるコンピュータ・プログラムであり、
情報処理装置における制御部に、データ系列数:dをd≧2の整数とした拡張Feistel構造を適用した暗号処理アルゴリズムの構成において、各ラウンドにおけるF関数において実行する線形変換処理に適用する少なくとも2以上の複数の異なる行列を決定させる行列決定ステップと、
前記制御部に、前記行列決定ステップにおいて決定した複数の異なる行列を、拡張Feistel構造の各データ系列に入力するF関数に繰り返し配置させる行列設定ステップを有し、
前記行列決定ステップは、
前記2以上の複数の異なる行列として、拡張Feistel構造の各データ系列に入力するF関数に含まれる線形変換行列に基づくデータ系列対応の最小分岐数中から選択される全データ系列中の最小分岐数が予め定めた値以上となる条件を満足する複数の異なる行列を適用行列として決定する処理を実行するステップであることを特徴とするコンピュータ・プログラム。
Priority Applications (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006224674A JP4882598B2 (ja) | 2006-07-28 | 2006-08-21 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
US12/375,410 US8295478B2 (en) | 2006-07-28 | 2007-07-17 | Cryptographic processing apparatus, algorithm constructing method, processing method, and computer program applying an extended feistel structure |
MYPI20090165 MY151698A (en) | 2006-07-28 | 2007-07-17 | Cryptographic processing apparatus, algorithm constructing method, processing method, and computer program applying an extended feistel structure |
CN201010219870.XA CN101908958B (zh) | 2006-07-28 | 2007-07-17 | 密码处理装置、方法、算法构建方法和信息处理装置 |
RU2009102664/09A RU2409902C2 (ru) | 2006-07-28 | 2007-07-17 | Устройство криптографической обработки, способ построения алгоритма криптографической обработки, способ криптографической обработки и компьютерная программа |
CN201310020891.2A CN103078734B (zh) | 2006-07-28 | 2007-07-17 | 解密处理装置、方法和信息处理装置 |
EP07790851.5A EP2048641B1 (en) | 2006-07-28 | 2007-07-17 | Encryption processing device, method for building encryption process algorithm, encryption processing method, and computer program |
CN2007800280570A CN101496080B (zh) | 2006-07-28 | 2007-07-17 | 密码处理装置、密码处理算法构建方法和密码处理方法 |
KR1020097001363A KR101364192B1 (ko) | 2006-07-28 | 2007-07-17 | 암호처리장치, 암호처리 알고리즘 구축방법 및 암호처리방법과 컴퓨터·프로그램 |
BRPI0715646-4A BRPI0715646A2 (pt) | 2006-07-28 | 2007-07-17 | aparelho e mÉtodo de processamento por criptografia, mÉtodo de construÇço de algoritmo de processamento por criptografia, e, programa de computador |
PCT/JP2007/064089 WO2008013076A1 (fr) | 2006-07-28 | 2007-07-17 | Dispositif de traitement par cryptage, procédé d'établissement d'un algorithme de traitement par cryptage, procédé de traitement par cryptage et programme informatique |
TW096126283A TW200821999A (en) | 2006-07-28 | 2007-07-19 | Encryption processing device, method for building encryption process algorithm, encryption processing method, and computer program |
HK09111002.4A HK1131252A1 (en) | 2006-07-28 | 2009-11-25 | Cryptographic processing apparatus, cryptographic-processing-algorithm constructing method, and cryptographic processing method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006206376 | 2006-07-28 | ||
JP2006206376 | 2006-07-28 | ||
JP2006224674A JP4882598B2 (ja) | 2006-07-28 | 2006-08-21 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008051829A JP2008051829A (ja) | 2008-03-06 |
JP2008051829A5 JP2008051829A5 (ja) | 2009-08-27 |
JP4882598B2 true JP4882598B2 (ja) | 2012-02-22 |
Family
ID=38981389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006224674A Expired - Fee Related JP4882598B2 (ja) | 2006-07-28 | 2006-08-21 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
Country Status (11)
Country | Link |
---|---|
US (1) | US8295478B2 (ja) |
EP (1) | EP2048641B1 (ja) |
JP (1) | JP4882598B2 (ja) |
KR (1) | KR101364192B1 (ja) |
CN (3) | CN101908958B (ja) |
BR (1) | BRPI0715646A2 (ja) |
HK (1) | HK1131252A1 (ja) |
MY (1) | MY151698A (ja) |
RU (1) | RU2409902C2 (ja) |
TW (1) | TW200821999A (ja) |
WO (1) | WO2008013076A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4561252B2 (ja) * | 2004-09-03 | 2010-10-13 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP4687775B2 (ja) * | 2008-11-20 | 2011-05-25 | ソニー株式会社 | 暗号処理装置 |
CN102713994B (zh) * | 2009-10-27 | 2015-07-01 | 日本电气株式会社 | 加密装置 |
US8369515B2 (en) * | 2010-03-18 | 2013-02-05 | Chiou-Haun Lee | Cryptographic method of multilayer diffusion in multidimension |
JP5424974B2 (ja) * | 2010-04-27 | 2014-02-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
US20120079462A1 (en) * | 2010-09-24 | 2012-03-29 | SoftKrypt LLC | Systems and methods of source software code obfuscation |
FR2966953B1 (fr) | 2010-11-02 | 2015-08-28 | St Microelectronics Rousset | Procede de contremesure cryptographique par derivation d'une donnee secrete |
WO2012067052A1 (ja) * | 2010-11-15 | 2012-05-24 | 日本電気株式会社 | 暗号処理装置および暗号処理方法 |
JP5605197B2 (ja) * | 2010-12-09 | 2014-10-15 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP5682525B2 (ja) * | 2011-03-28 | 2015-03-11 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP5682527B2 (ja) | 2011-03-28 | 2015-03-11 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP5652363B2 (ja) * | 2011-03-28 | 2015-01-14 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP5682526B2 (ja) * | 2011-03-28 | 2015-03-11 | ソニー株式会社 | データ処理装置、およびデータ処理方法、並びにプログラム |
JP5813380B2 (ja) | 2011-06-03 | 2015-11-17 | 株式会社東芝 | 半導体記憶装置 |
TWI451741B (zh) * | 2012-03-19 | 2014-09-01 | Chiou Haun Lee | 以xor運算於三方通訊之加解密方法 |
KR101330664B1 (ko) | 2012-06-15 | 2013-11-15 | 한국전자통신연구원 | 저전력 암호화 장치 및 방법 |
KR101989813B1 (ko) * | 2012-06-29 | 2019-06-18 | 펜타시큐리티시스템 주식회사 | 특정 포맷을 가지는 대체 데이터의 생성 및 검증 |
US10142099B2 (en) * | 2013-01-11 | 2018-11-27 | Qualcomm Incorporated | Method and apparatus for a computable, large, variable and secure substitution box |
TWI510046B (zh) * | 2013-07-04 | 2015-11-21 | Univ Nat Cheng Kung | 認證式加解密方法 |
JP2015191106A (ja) * | 2014-03-28 | 2015-11-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
US10341090B2 (en) * | 2014-10-14 | 2019-07-02 | Sony Corporation | Cipher processing apparatus and cipher processing method |
JP6292107B2 (ja) * | 2014-12-01 | 2018-03-14 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
CN105763316A (zh) * | 2016-02-01 | 2016-07-13 | 苏州中科启慧软件技术有限公司 | 基于分组密码vhf和ctr模式的轻量级流密码技术cvhf |
JP6877889B2 (ja) * | 2016-04-08 | 2021-05-26 | ソニーグループ株式会社 | 暗号化装置、暗号化方法、復号化装置、及び復号化方法 |
CN112487410A (zh) * | 2020-12-02 | 2021-03-12 | 中国电子科技集团公司第三十研究所 | 基于循环移位和异或运算构造密码结构模型的方法 |
CN114024663B (zh) * | 2021-11-24 | 2023-06-02 | 中国电子科技集团公司第三十研究所 | 基于smt的线性扩散层分支数测评方法、设备及介质 |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4195200A (en) * | 1976-06-30 | 1980-03-25 | International Business Machines Corporation | Key controlled block-cipher cryptographic system employing a multidirectional shift matrix |
US4316055A (en) * | 1976-12-30 | 1982-02-16 | International Business Machines Corporation | Stream/block cipher crytographic system |
JP2927079B2 (ja) * | 1991-10-02 | 1999-07-28 | 松下電器産業株式会社 | データ暗号化方法およびデータ暗号化装置 |
DE69635651T2 (de) * | 1995-09-05 | 2006-09-07 | Mitsubishi Denki K.K. | Vorrichtung und Verfahren zur Datenumwandlung |
CA2173688C (en) * | 1996-04-09 | 2000-01-18 | Hideo Shimizu | Encryption apparatus and method capable of controlling encryption process in accordance with an internal state |
US6182216B1 (en) * | 1997-09-17 | 2001-01-30 | Frank C. Luyster | Block cipher method |
CA2319135C (en) * | 1998-01-27 | 2003-06-17 | Nippon Telegraph And Telephone Corporation | Data transformation device and recording medium having recorded thereon a program for implementing the same |
US6185679B1 (en) * | 1998-02-23 | 2001-02-06 | International Business Machines Corporation | Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks |
ES2184430T3 (es) | 1998-04-17 | 2003-04-01 | Matsushita Electric Ind Co Ltd | Dispositivo de comunicacion por radio y procedimiento que permite ajustar la velocidad de transmision. |
EP1001569A4 (en) * | 1998-06-02 | 2002-03-13 | Nippon Telegraph & Telephone | DEVICE AND METHOD FOR EVALUATING THE RANDOM OF A FUNCTION, DEVICE AND METHOD FOR PRODUCING A RANDOM FUNCTION AND RECORDED MEDIUM ON WHICH IMPLEMENTATION PROGRAMS THEREOF ARE RECORDED |
US6189095B1 (en) * | 1998-06-05 | 2001-02-13 | International Business Machines Corporation | Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks |
US6269163B1 (en) * | 1998-06-15 | 2001-07-31 | Rsa Security Inc. | Enhanced block ciphers with data-dependent rotations |
US7346161B2 (en) * | 2000-01-26 | 2008-03-18 | Fujitsu Limited | Method and apparatus for designing cipher logic, and a computer product |
JP3499810B2 (ja) * | 2000-03-06 | 2004-02-23 | 株式会社東芝 | 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体 |
CN100583192C (zh) * | 2000-03-09 | 2010-01-20 | 三菱电机株式会社 | 数据变换装置和数据变换方法 |
US7305085B2 (en) | 2000-06-30 | 2007-12-04 | Kabushiki Kaisha Toshiba | Encryption apparatus and method, and decryption apparatus and method based on block encryption |
DE60111746T2 (de) * | 2000-08-03 | 2006-05-18 | Koninklijke Philips Electronics N.V. | Lineartransformation für symmetrische verschlüsselungssysteme |
JP4596686B2 (ja) * | 2001-06-13 | 2010-12-08 | 富士通株式会社 | Dpaに対して安全な暗号化 |
JP2003098959A (ja) * | 2001-09-21 | 2003-04-04 | Toshiba Corp | 暗号処理装置 |
US7236592B2 (en) * | 2002-02-01 | 2007-06-26 | International Business Machines Corporation | Efficient stream cipher system and method |
WO2004034184A2 (en) * | 2002-08-23 | 2004-04-22 | Exit-Cube, Inc. | Encrypting operating system |
JP4357815B2 (ja) * | 2002-09-11 | 2009-11-04 | 株式会社東芝 | 暗号演算回路 |
FR2851862B1 (fr) * | 2003-02-27 | 2006-12-29 | Radiotelephone Sfr | Procede de generation d'une permutation pseudo-aleatoire d'un mot comportant n digits |
AU2004201807A1 (en) * | 2003-05-09 | 2004-11-25 | Nor Azman Bin Abu | Method and apparatus for the generation of public key based on a user-defined ID in a cryptosystem |
JP4622222B2 (ja) * | 2003-09-30 | 2011-02-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US7415616B2 (en) * | 2004-01-21 | 2008-08-19 | National Institute Of Information And Communications Technology | Cipher strength evaluation apparatus |
US7460665B2 (en) * | 2004-01-21 | 2008-12-02 | National Institute Of Information And Communications Technology | Cipher strength evaluation apparatus |
US7289629B2 (en) * | 2004-02-09 | 2007-10-30 | Microsoft Corporation | Primitives for fast secure hash functions and stream ciphers |
JP4561252B2 (ja) * | 2004-09-03 | 2010-10-13 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
EP1646174A1 (en) * | 2004-10-07 | 2006-04-12 | Axalto SA | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
KR101226167B1 (ko) * | 2004-10-28 | 2013-01-24 | 이르데토 코포레이트 비.브이. | 암호 함수 모호화 방법 및 시스템 |
KR100855958B1 (ko) * | 2004-11-24 | 2008-09-02 | 삼성전자주식회사 | 해밍거리를 이용한 부가 채널 공격에 안전한 암호화시스템 및 방법 |
JP4622807B2 (ja) * | 2005-03-25 | 2011-02-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007192893A (ja) * | 2006-01-17 | 2007-08-02 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007199156A (ja) * | 2006-01-24 | 2007-08-09 | Sony Corp | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム |
IL174784A0 (en) * | 2006-04-04 | 2006-12-31 | Nds Ltd | Robust cipher design |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP5050454B2 (ja) * | 2006-09-01 | 2012-10-17 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2008058830A (ja) * | 2006-09-01 | 2008-03-13 | Sony Corp | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
JP4905000B2 (ja) * | 2006-09-01 | 2012-03-28 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP5023624B2 (ja) * | 2006-09-01 | 2012-09-12 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4967544B2 (ja) * | 2006-09-01 | 2012-07-04 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4961909B2 (ja) * | 2006-09-01 | 2012-06-27 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP5055993B2 (ja) * | 2006-12-11 | 2012-10-24 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US8619976B2 (en) * | 2007-12-13 | 2013-12-31 | Nec Corporation | Encryption method, decryption method, device, and program |
JPWO2009087972A1 (ja) * | 2008-01-09 | 2011-05-26 | 日本電気株式会社 | データ送信装置、データ受信装置、これらの方法、コンピュータプログラム、そのデータ通信システム |
JP5532560B2 (ja) * | 2008-08-25 | 2014-06-25 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
-
2006
- 2006-08-21 JP JP2006224674A patent/JP4882598B2/ja not_active Expired - Fee Related
-
2007
- 2007-07-17 BR BRPI0715646-4A patent/BRPI0715646A2/pt not_active IP Right Cessation
- 2007-07-17 MY MYPI20090165 patent/MY151698A/en unknown
- 2007-07-17 EP EP07790851.5A patent/EP2048641B1/en not_active Not-in-force
- 2007-07-17 KR KR1020097001363A patent/KR101364192B1/ko not_active Expired - Fee Related
- 2007-07-17 CN CN201010219870.XA patent/CN101908958B/zh not_active Expired - Fee Related
- 2007-07-17 US US12/375,410 patent/US8295478B2/en not_active Expired - Fee Related
- 2007-07-17 RU RU2009102664/09A patent/RU2409902C2/ru not_active IP Right Cessation
- 2007-07-17 WO PCT/JP2007/064089 patent/WO2008013076A1/ja active Application Filing
- 2007-07-17 CN CN2007800280570A patent/CN101496080B/zh not_active Expired - Fee Related
- 2007-07-17 CN CN201310020891.2A patent/CN103078734B/zh not_active Expired - Fee Related
- 2007-07-19 TW TW096126283A patent/TW200821999A/zh not_active IP Right Cessation
-
2009
- 2009-11-25 HK HK09111002.4A patent/HK1131252A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN103078734A (zh) | 2013-05-01 |
US8295478B2 (en) | 2012-10-23 |
TW200821999A (en) | 2008-05-16 |
RU2009102664A (ru) | 2010-10-27 |
MY151698A (en) | 2014-06-30 |
KR101364192B1 (ko) | 2014-02-19 |
JP2008051829A (ja) | 2008-03-06 |
CN101496080A (zh) | 2009-07-29 |
BRPI0715646A2 (pt) | 2013-03-26 |
WO2008013076A1 (fr) | 2008-01-31 |
US20100061548A1 (en) | 2010-03-11 |
RU2409902C2 (ru) | 2011-01-20 |
EP2048641B1 (en) | 2019-05-22 |
TWI340367B (ja) | 2011-04-11 |
HK1131252A1 (en) | 2010-01-15 |
CN103078734B (zh) | 2016-03-09 |
EP2048641A1 (en) | 2009-04-15 |
CN101908958A (zh) | 2010-12-08 |
CN101908958B (zh) | 2014-01-29 |
KR20090052850A (ko) | 2009-05-26 |
EP2048641A4 (en) | 2017-04-19 |
CN101496080B (zh) | 2010-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4882598B2 (ja) | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4967544B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5023624B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5050454B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5055993B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
CN101834719B (zh) | 加密处理装置用矩阵生成方法 | |
KR101770874B1 (ko) | 암호 처리 장치, 암호 처리 방법, 컴퓨터로 판독가능한 기록 매체, 및 정보 처리 장치 | |
JP2008058830A (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP2007199156A (ja) | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム | |
WO2008026625A1 (fr) | Dispositif de codage, procédé de codage et programme informatique | |
TWI595460B (zh) | Data processing device, information processing device, data processing method and program | |
JP2007192893A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2006072054A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5680016B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
JP5772934B2 (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP5223245B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP5338945B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
JP2010134247A (ja) | 共通鍵ブロック暗号評価装置、共通鍵ブロック暗号評価方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090710 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090710 |
|
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: 20111108 |
|
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: 20111121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141216 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4882598 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: 20141216 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |