JP4561252B2 - 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム - Google Patents
暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4561252B2 JP4561252B2 JP2004256465A JP2004256465A JP4561252B2 JP 4561252 B2 JP4561252 B2 JP 4561252B2 JP 2004256465 A JP2004256465 A JP 2004256465A JP 2004256465 A JP2004256465 A JP 2004256465A JP 4561252 B2 JP4561252 B2 JP 4561252B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- cryptographic processing
- unit
- linear
- linear transformation
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
- Mobile Radio Communication Systems (AREA)
- Error Detection And Correction (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Lock And Its Accessories (AREA)
Description
入力情報を非線形変換し、第1非線形変換情報を出力する第1非線形変換部と、当該第1非線形変換情報を線形変換して第1線形変換情報を出力する第1線形変換部とを有する第1暗号処理部と、
入力情報を非線形変換し、第2非線形変換情報を出力する第2非線形変換部と、当該第2非線形変換情報を線形変換して第2線形変換情報を出力する第2線形変換部とを有する第2暗号処理部と、
前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とが入力される排他的論理和部を備え、
前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列の逆行列から選択した第1行ベクトルと、
前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列の逆行列から選択した第2行ベクトルとが、
いずれの行ベクトルを選択した場合でも互いに線形独立であることを特徴とする暗号処理装置にある。
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理装置は、
前記排他的論理和部における排他的論理和結果を前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理部および前記第2暗号処理部における暗号処理を繰り返し実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
Feistel型共通鍵ブロック暗号処理を実行する暗号処理装置であり、
非線形変換部および線形変換部を有するSPN型のF関数を、複数ラウンド繰り返し実行する構成を有し、
前記複数ラウンド各々に対応するF関数の線形変換部は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を、正方MDS(Maximum Distance Separable)行列を適用した線形変換処理として実行する構成であり、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々においては、異なる正方MDS行列:La,Lbが適用され、かつ該正方MDS行列の逆行列:La−1,Lb−1を構成する行ベクトルから任意に選択したm個の行ベクトルが線形独立であることを特徴とする暗号処理装置にある。
暗号処理装置において暗号処理を実行する暗号処理方法であり、
前記暗号処理装置の第1暗号処理部の第1非線形変換部において入力情報を非線形変換して第1非線形変換情報を出力し、第1暗号処理部の第1線形変換部において当該第1非線形変換情報を線形変換して第1線形変換情報を出力する第1暗号処理ステップと、
前記暗号処理装置の第2暗号処理部の第2非線形変換部において入力情報を非線形変換して第2非線形変換情報を出力し、第2暗号処理部の第2線形変換部において当該第2非線形変換情報を線形変換して第2線形変換情報を出力する第2暗号処理ステップと、
前記暗号処理装置の排他的論理和部が、前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とを入力して排他的論理和処理を実行する排他的論理和ステップとを有し、
前記第1暗号処理ステップの第1線形変換処理は、前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列を適用した第1線形変換処理実行ステップであり、
前記第2暗号処理ステップの第2線形変換処理は、前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列を適用した第2線形変換処理実行ステップであり、
前記第1線形変換処理実行ステップにおいて適用する前記第1行列の逆行列から選択した第1行ベクトルと、第2線形変換処理実行ステップにおいて適用する前記第2行列の逆行列から選択した第2行ベクトルとは互いに線形独立であることを特徴とする暗号処理方法にある。
さらに、本発明の暗号処理方法の一実施態様において、前記暗号処理方法は、前記排他的論理和ステップにおける排他的論理和結果を前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理ステップおよび前記第2暗号処理ステップの暗号処理を繰り返し実行することを特徴とする。
さらに、本発明の第4の側面は、
暗号処理装置において、Feistel型共通鍵ブロック暗号処理を実行する暗号処理方法であり、
前記暗号処理装置の非線形変換部および線形変換部において、非線形変換処理および線形変換処理を実行するSPN型のF関数を、複数ラウンド繰り返し実行し、
前記複数ラウンド各々に対応するF関数の線形変換処理は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を、正方MDS(Maximum Distance Separable)行列を適用した線形変換処理として実行し、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々においては、異なる正方MDS行列:La,Lbが適用され、かつ該正方MDS行列の逆行列:La−1,Lb−1を構成する行ベクトルから任意に選択したm個の行ベクトルが線形独立であることを特徴とする暗号処理方法にある。
暗号処理装置において暗号処理を実行させるコンピュータ・プログラムであり、
前記暗号処理装置の第1暗号処理部の第1非線形変換部に入力情報を非線形変換させて第1非線形変換情報を出力させ、第1暗号処理部の第1線形変換部に当該第1非線形変換情報を線形変換させて第1線形変換情報を出力させる第1暗号処理ステップと、
前記暗号処理装置の第2暗号処理部の第2非線形変換部に入力情報を非線形変換させて第2非線形変換情報を出力させ、第2暗号処理部の第2線形変換部に当該第2非線形変換情報を線形変換させて第2線形変換情報を出力させる第2暗号処理ステップと、
前記暗号処理装置の排他的論理和部に、前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とを入力して排他的論理和処理を実行させる排他的論理和ステップとを有し、
前記第1暗号処理ステップの第1線形変換処理は、前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列を適用した第1線形変換処理実行ステップであり、
前記第2暗号処理ステップの第2線形変換処理は、前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列を適用した第2線形変換処理実行ステップであり、
前記第1線形変換処理実行ステップにおいて適用する前記第1行列の逆行列から選択した第1行ベクトルと、第2線形変換処理実行ステップにおいて適用する前記第2行列の逆行列から選択した第2行ベクトルとは互いに線形独立であることを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第6の側面は、
暗号処理装置において、Feistel型共通鍵ブロック暗号処理を実行させるコンピュータ・プログラムであり、
前記暗号処理装置の非線形変換部および線形変換部に、非線形変換処理および線形変換処理を実行するSPN型のF関数を、複数ラウンド繰り返し実行させるステップを有し、
前記複数ラウンド各々に対応するF関数の線形変換処理は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を、正方MDS(Maximum Distance Separable)行列を適用した線形変換処理として実行する線形変換ステップであり、
前記線形変換ステップにおいて、少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々では、異なる正方MDS行列:La,Lbが適用され、かつ該正方MDS行列の逆行列:La−1,Lb−1を構成する行ベクトルから任意に選択したm個の行ベクトルが線形独立であることを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第7の側面は、
暗号処理に使用する鍵を格納するメモリと、暗号処理プログラムを実行するプロセッサとを備える暗号処理装置であって、
前記プロセッサは、入力情報を非線形変換し、第1非線形変換情報を出力する第1非線形変換部と、当該第1非線形変換情報を線形変換して第1線形変換情報を出力する第1線形変換部とを有する第1暗号処理部と、入力情報を非線形変換し、第2非線形変換情報を出力する第2非線形変換部と、当該第2非線形変換情報を線形変換して第2線形変換情報を出力する第2線形変換部とを有する第2暗号処理部と、前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とが入力される排他的論理和部を備え、
前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列の逆行列から選択した第1行ベクトルと、前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列の逆行列から選択した第2行ベクトルとが、いずれの行ベクトルを選択した場合でも互いに線形独立である、
暗号処理装置にある。
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理装置は、前記排他的論理和部における排他的論理和結果を前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理部および前記第2暗号処理部における暗号処理を繰り返し実行する構成であることを特徴とする。
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理装置は、さらに外部機器とのデータ通信を行う送受信部を備えることを特徴とする。
1.共通鍵ブロック暗号アルゴリズムにおける差分解析処理
2.共通鍵ブロック暗号アルゴリズムにおける線形解析処理
3.本発明に基づく暗号処理アルゴリズム
(3−a)差分攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例
(3−b)線形攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例
(3−c)差分攻撃および線形攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例
まず、DES(Data Encryption Standard)暗号処理に代表される共通鍵ブロック暗号アルゴリズムにおける差分解析処理の概要について、一般化した共通鍵ブロック暗号モデルを用いて説明する。
iラウンドへの入力差分の左半分は、すべてゼロである入力差分(ΔXi−1=(00,00,00,00,00,00,00,00))であり、右半分の入力差分がただひとつのS−boxへの入力を除いてゼロである入力差分(ΔXi=(34,00,00,00,00,00,00,00))であるとする。このデータ状態は、多数の差分入力データを設定することで、iラウンドにおいて、このようなデータ状態を得ることができるということである。
iラウンドへの非ゼロの入力差分(図4の例では差分:34)を持つSボックス(以下、アクティブSボックス(Active S−box)と呼ぶ)からの出力差分は線形変換層で拡散されたのちF関数から出力(出力値=ΔYi)され、そのまま次のラウンドへの入力差分ΔXi+1となる。
i+1ラウンドのF関数からの出力差分ΔYi+1が、iラウンドでのActive S−boxの位置にのみ非ゼロ値をもつ。このデータ状態は、多数の差分入力データを設定することで、このようなデータ状態を得ることができるということである。
i+2ラウンドのアクティブSボックス(Active S−box)(S1)の出力差分がiラウンドでのアクティブSボックス(Active S−box)(S1)の出力差分と一致した場合、すなわち、図4に示すようにi+2ラウンドのアクティブSボックス((S1)の出力差分がb7となり、iラウンドでのアクティブSボックス(S1)の出力差分(b7)と一致する。このデータ状態は、多数の差分入力データを設定することで、このようなデータ状態を得ることができるということである。
ΔXi+1=ΔYi=(98,c4,b4,d3,ac,72,0f,32)と、
ΔYi+2=(98,c4,b4,d3,ac,72,0f,32)と、
の同一の値同士の排他的論理和演算が実行されることになり、排他的論理和演算結果としてオール0の値を出力する。
iラウンドへの入力差分の左半分は、すべてゼロである入力差分(ΔXi−1=(00,00,00,00,00,00,00,00))であり、右半分の入力差分がただひとつのS−boxへの入力を除いてゼロである入力差分(ΔXi=(34,00,00,00,00,00,00,00))であるとする。このデータ状態は、多数の差分入力データを設定することで、iラウンドにおいて、このようなデータ状態を得ることができるということである。
iラウンドへの非ゼロの入力差分(図4の例では差分:34)を持つSボックス(以下、アクティブSボックス(Active S−box)と呼ぶ)からの出力差分は線形変換層で拡散されたのちF関数から出力(出力値=ΔYi)され、そのまま次のラウンドへの入力差分ΔXi+1となる。
i+1ラウンドのF関数からの出力差分ΔYi+1が、iラウンドでのActive S−boxの位置にのみ非ゼロ値をもつ。このデータ状態は、多数の差分入力データを設定することで、このようなデータ状態を得ることができるということである。
i+2ラウンドのF関数に対する入力は、ΔXi=(34,00,00,00,00,00,00,00)と、ΔYi+1=(34,00,00,00,00,00,00,00)との排他的論理和部142における排他的論理和結果、すなわち、同一データ同士の排他的論理和であり、オールゼロの入力、ΔXi+2=(00,00,00,00,00,00,00,00)となり、その結果、i+2ラウンドのF関数からの出力差分も、オールゼロの出力差分、ΔYi+2=(00,00,00,00,00,00,00,00)となる。
i+3ラウンドのF関数に対する入力は、ΔXi+1=(98,c4,b4,d3,ac,72,0f,32)と、オールゼロのi+2ラウンドのF関数出力差分ΔYi+2=(00,00,00,00,00,00,00,00)との排他的論理和部143における排他的論理和結果であり、i+3ラウンドのF関数に対する入力ΔXi+3=ΔXi+1=(98,c4,b4,d3,ac,72,0f,32)となる。
i+3ラウンドのF関数出力差分が、ΔYi+3=(43,00,00,00,00,00,00,00)となり、オールゼロのΔXi+2=(00,00,00,00,00,00,00,00)との排他的論理和部144における排他的論理和の結果としてのΔXi+4=ΔYi+3=(43,00,00,00,00,00,00,00)がi+4ラウンドのF関数入力差分となる。
i+4ラウンドのアクティブSボックス(Active S−box)(S1)の出力差分がiラウンドでのアクティブSボックス(Active S−box)(S1)の出力差分と一致した場合、すなわち、図6に示すようにi+4ラウンドのアクティブSボックス((S1)の出力差分がb7となり、iラウンドでのアクティブSボックス(S1)の出力差分(b7)と一致する。このデータ状態は、多数の差分入力データを設定することで、このようなデータ状態を得ることができるということである。
ΔXi+3=(98,c4,b4,d3,ac,72,0f,32)と、
ΔYi+4=(98,c4,b4,d3,ac,72,0f,32)と、
の同一の値同士の排他的論理和演算が実行されることになり、排他的論理和演算結果としてオール0の値を出力する。
フェイステル(Feistel)構造のラウンドiでの入力差分の半分(PLまたはPR)が0(図7において、ΔXi=(00,00,00,00,00,00,00,00))であり、そこにi+2jラウンド(j=0,1,2,...)のF関数の出力差分が排他的論理和部で演算されていく過程において、あるラウンドi+2kにおいて、排他的論理和の結果が0(図7において、ΔXi+2j+1=(00,00,00,00,00,00,00,00))になった場合を"同時差分キャンセル"と呼ぶ。
差分解析処理は、上述したように、解析の実行者が一定の差分を持つ入力データ(平文)を容易し、その対応する出力データ(暗号文)を解析することが必要となる。線形解析処理は、一定の差分を持つ入力データ(平文)を準備する必要はなく、所定量以上の入力データ(平文)と対応する出力データ(暗号文)とに基づいて解析を行う。
以下、本発明の暗号処理アルゴリズムについて説明する。本発明の暗号処理アルゴリズムは、上述した線形解析、差分解析等の攻撃に対する耐性を向上させた構成、すなわち、鍵解析の困難性を高め、安全性を向上させた構成を持つ。
(a)正方行列である
(b)行列に含まれるすべての部分行列(submatrix)の行列式(determinant)が0でない、すなわち、det(submatrix)≠0
共通鍵ブロック暗号の各ラウンドで実行するF関数に対する入出力ビット長がm×n(m,n:整数)ビットであり、F関数内に構成される非線形変換部がnビットの入出力を持つm個のSボックスにより構成され、線形変換部がn次の既約多項式で定義される2の拡大体GF(2n)上の元を要素として持つm次の正方行列に基づく線形変換処理を実行する場合の、正方MDS行列の一例を図8に示す。図8に示す正方MDS行列の例は、n=8,m=8の正方MDS行列の例である。
hw(x)+hw(Mx)≧m+1‥‥‥‥‥‥(式1)
ラウンド数2rの半数rに対してr以下の数q、すなわち、
q≦rとなる数qを選択する。ただし、qは2以上の整数である。
[ステップS22]
q個のGF(2n)上のm次正方MDS行列L1,L2,...,Lqを生成する。q個のGF(2n)上のm次正方MDS行列L1,L2,...,Lqの生成処理手法についての詳細は、後段で説明する。
[ステップS23]
2i−1(1≦i≦r)段目の線形変換行列MLT2i−1にL((i−1)modq)+1を設定する。
[ステップS24]
2i(1≦i≦r)段目の線形変換行列にMLT2iにMLT2r−2i+1を設定する。
MLT1=L1, MLT2=L3
MLT3=L2, MLT4=L2
MLT5=L3, MLT6=L1
MLT7=L1, MLT8=L3
MLT9=L2, MLT10=L2
MLT11=L3, MLT12=L1
の設定となる。
(3−a)差分攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例
(3−b)線形攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例
(3−c)差分攻撃および線形攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例
まず、差分攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例として、3つの処理例a1,a2,a3について説明する。
差分攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例の第1の例について説明する。まず、図11に示すフローチャートを参照して正方MDS行列の生成処理について説明する。
入力:必要な正方MDSの個数q,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、q個のm次正方MDS行列L1,L2,...,Lqをランダムに生成する。なお、図11に示すフローでは、MDSの個数q=6,拡大次数:n=8,行列のサイズ:m=8の場合の処理例として示してある。
q個のm次正方MDS行列L1,L2,...,Lqに含まれるqm個の列の任意のm個を取り出したときに、線形独立になっているかどうかをチェックする。チェックに通過したらステップS103に進む、そうでない場合はステップS101にもどる。
[ステップS103]
q個のm次正方MDS行列L1,L2,...,Lqを、ラウンド数2rのFeistel型共通鍵ブロック暗号に適用する正方MDS行列として出力する。
(a)各F関数の線形変換行列は正方MDSであること、
(b)暗号化関数内の奇数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが独立であること、
(c)偶数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが独立であること、
これら(a)〜(c)が保証されるため、複数段のラウンド数を持つFeistel型共通鍵ブロック暗号処理構成において、連続する2q−1ラウンドにおいて、m個以下のアクティブSボックスの寄与による同時差分キャンセルは発生しないことが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
差分攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例の第2の例について説明する。図12のフローチャートを参照して正方MDS行列の生成処理について説明する。
入力:必要なMDSの個数q,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、q個のm次正方MDS行列L1,L2,...,Lqをランダムに生成する。なお、図12に示すフローでは、MDSの個数q=6,拡大次数:n=8,行列のサイズ:m=8の場合の処理例として示してある。
q個のm次正方MDS行列L1,L2,...,Lqに含まれるqm個の列の任意のm個を取り出したときに、正方MDS行列になっているかどうかをチェックする。チェックに通過したらステップS203に進む、そうでない場合はステップS201にもどる。
なお、正方MDS行列とは、前述したように以下の性質を満たす行列をいう。
(a)正方行列である
(b)行列に含まれるすべての部分行列(submatrix)の行列式(determinant)が0でない、すなわち、det(submatrix)≠0
[ステップS203]
q個のm次正方MDS行列L1,L2,...,Lqを、ラウンド数2rのFeistel型共通鍵ブロック暗号に適用する正方MDS行列として出力する。
(a)各F関数の線形変換行列は正方MDSであること、
(b)暗号化関数内の奇数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが正方MDS行列であること、
(c)偶数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが正方MDS行列であること、
これら(a)〜(c)が保証されるため、複数段のラウンド数を持つFeistel型共通鍵ブロック暗号処理構成において、連続する2q−1ラウンドにおいて、m個以下のアクティブSボックスの寄与による同時差分キャンセルは発生しないことが保証される。
さらに、
(d)正方MDSの性質から、a個(a≦m)のアクティブSボックスの寄与によって得られる差分値における非ゼロの要素数はm+1−a個以上になることが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
差分攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例の第3の例について説明する。図13のフローチャートを参照して正方MDS行列の生成処理について説明する。
入力:必要なMDSの個数q,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、1個のqm次正方MDS行列Mを生成する。なお、図13に示すフローでは、MDSの個数q=6,拡大次数:n=8,行列のサイズ:m=8の場合の処理例として示してある。
1個のqm次正方MDS行列Mからm本の行を任意に選択抽出し、m行,qm列の行列M'を構成する。
[ステップS303]
m行,qm列の行列M'に含まれるqm本の列ベクトルを重複することなくm本の列ベクトルからなるq個のグループに任意に分割し、それぞれのグループに含まれる列ベクトルからm次の正方行列L1,L2,...,Lqを、ラウンド数2rのFeistel型共通鍵ブロック暗号に適用する正方MDS行列として出力する。
[ステップS301]
GF(2n)上で、1個のqm次正方MDS行列Mを生成する。図14に示すように、qm×qmの正方MDS行列Mを生成する。なお、このステップS301において生成する行列Mの次数はqm次より大きいものでもよい。
[ステップS302]
図14に示すように、qm次正方MDS行列Mからm本の行を任意に選択抽出し、m行,qm列の行列M'を構成する。なお、図に示す例では、連続するm本の行を選択抽出した例として示してあるが、m次正方MDS行列Mを構成する任意の離間した行をm本選択抽出して、m行,qm列の行列M'を構成してもよい。
[ステップS303]
m行,qm列の行列M'に含まれるqm本の列ベクトルを重複することなくm本の列ベクトルからなるx個のグループに任意に分割し、それぞれのグループに含まれる列ベクトルからm次の正方行列L1,L2,...,Lxを生成する。
(a)各F関数の線形変換行列は正方MDSであること、
(b)暗号化関数内の奇数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが独立であること、
(c)偶数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが独立であること、
これら(a)〜(c)が保証されるため、複数段のラウンド数を持つFeistel型共通鍵ブロック暗号処理構成において、連続する2q−1ラウンドにおいて、m個以下のアクティブSボックスの寄与による同時差分キャンセルは発生しないことが保証される。
さらに、
(d)正方MDSの性質から、a個(a≦m)のアクティブSボックスの寄与によって得られる差分値における非ゼロの要素数はm+1−a個以上になることが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
次に、線形攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例として、2つの処理例b1,b2について説明する。
線形攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例の第1の例について、説明する。図15に示すフローチャートを参照して正方MDS行列の生成処理について説明する。
入力:必要な正方MDSの個数q,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、q個のm次正方MDS行列M1,M2,...,Mqをランダムに生成する。なお、図14に示すフローでは、正方MDSの個数q=6,拡大次数:n=8,行列のサイズ:m=8の場合の処理例として示してある。
q個のm次正方MDS行列M1,M2,...,Mqの逆行列M1−1,M2−1,...,Mq−1を算出し、隣り合う2つの逆行列に含まれる2mの行ベクトルから任意のm本の行ベクトルを取り出したときに、線形独立になっているかどうかをチェックする。図15中、tRは、行ベクトルの転置ベクトルを示すものである。チェックに通過したらステップS403に進む、そうでない場合はステップS401にもどる。ただし、M1−1とMq−1は、隣り合う行列とする。
[ステップS403]
q個のm次正方MDS行列L1,L2,...,Lqを、ラウンド数2rのFeistel型共通鍵ブロック暗号に適用する正方MDS行列として出力する。
(a)各F関数の線形変換行列は正方MDSであること、
(b)暗号化関数内の奇数ラウンド内に連続して含まれる線形変換行列、および偶数ラウンド内に連続して含まれる線形変換行列の逆行列の任意のm個の列ベクトルは独立であること、
が保証される。このことにより、線形攻撃における線形近似による解析困難性を高めることが可能となり、解析の困難性、すなわち鍵の解析の困難な安全性の高い暗号処理が実現される。
線形攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例の第2の例について、説明する。図16に示すフローチャートを参照して正方MDS行列の生成処理について説明する。
入力:必要な正方MDSの個数q,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、q個のm次正方MDS行列M1,M2,...,Mqをランダムに生成する。なお、図16に示すフローでは、正方MDSの個数q=6,拡大次数:n=8,行列のサイズ:m=8の場合の処理例として示してある。
q個のm次正方MDS行列M1,M2,...,Mqの逆行列M1−1,M2−1,...,Mq−1を算出し、隣り合う2つの逆行列に含まれる2mの行ベクトルから任意のm本の行ベクトルを取り出したときに、正方MDS行列になっているかどうかをチェックする。図16中、tRは、行ベクトルの転置ベクトルを示すものである。チェックに通過したらステップS503に進む、そうでない場合はステップS401にもどる。ただし、M1−1とMq−1は、隣り合う行列とする。
なお、正方MDS行列とは、前述したように以下の性質を満たす行列をいう。
(a)正方行列である
(b)行列に含まれるすべての部分行列(submatrix)の行列式(determinant)が0でない、すなわち、det(submatrix)≠0
q個のm次正方MDS行列L1,L2,...,Lqを、ラウンド数2rのFeistel型共通鍵ブロック暗号に適用する正方MDS行列として出力する。
(a)各F関数の線形変換行列は正方MDSであること、
(b)暗号化関数内の奇数ラウンド内に連続して含まれる線形変換行列、および偶数ラウンド内に連続して含まれる線形変換行列の逆行列の任意のm個の列ベクトルが正方MDS行列となること、
が保証される。このことにより、線形攻撃における線形近似による解析困難性を高めることが可能となり、解析の困難性、すなわち鍵の解析の困難な安全性の高い暗号処理が実現される。
次に、差分攻撃および線形攻撃に対する耐性向上を実現した正方MDS行列の生成およびF関数への設定例について説明する。
処理例a1(図11)〜a3(図13)のいずれかの処理と、
処理例b1(図14)、b2(図15)のいずれかの処理とを、
併せて実行して生成した正方MDS行列を、図10において説明した[ステップS23]、[ステップS24]の処理に従って、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成の各段のF関数部の線形変換部の線形変換処理に適用する行列として設定することで実現される。
処理例a1と処理例b1、
処理例a1と処理例b2、
処理例a2と処理例b1、
処理例a2と処理例b2、
処理例a3と処理例b1、
処理例a3と処理例b2、
のいずれかの組み合わせによって、q個の正方MDS行列を生成し、2rのFeistel型共通鍵ブロック暗号処理構成の各段のF関数部の線形変換部の線形変換処理に適用する行列として設定する。奇数段目については上位段から順にL1,L2,・・,Lq,L1,L2・・としてq個の正方MDS行列を繰り返し設定し、偶数段のF関数については、下位段のF関数から順に、L1,L2,・・,Lq,L1,L2・・として、q個の正方MDS行列を繰り返し設定する。この設定により、差分攻撃および線形攻撃に対する耐性向上を実現した暗号処理が可能となる。
入力:必要な正方MDSの個数q,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、q個のm次正方MDS行列M1,M2,...,Mqをランダムに生成する。なお、図17に示すフローでは、正方MDSの個数q=6,拡大次数:n=8,行列のサイズ:m=8の場合の処理例として示してある。
q個のm次正方MDS行列M1,M2,...,Mqに含まれるqm個の列の任意のm個を取り出したときに、正方MDS行列になっているかどうかをチェックする。チェックに通過したらステップS603に進む、そうでない場合はステップS601にもどる。
なお、正方MDS行列とは、前述したように以下の性質を満たす行列をいう。
(a)正方行列である
(b)行列に含まれるすべての部分行列(submatrix)の行列式(determinant)が0でない、すなわち、det(submatrix)≠0
q個のm次正方MDS行列M1,M2,...,Mqの逆行列M1−1,M2−1,...,Mq−1を算出し、隣り合う2つの逆行列に含まれる2mの行ベクトルから任意のm本の行ベクトルを取り出したときに、正方MDS行列になっているかどうかをチェックする。図17中、tRは、行ベクトルの転置ベクトルを示すものである。チェックに通過したらステップS604に進む、そうでない場合はステップS601にもどる。ただし、M1−1とMq−1は、隣り合う行列とする。
q個のm次正方MDS行列L1,L2,...,Lqを、ラウンド数2rのFeistel型共通鍵ブロック暗号に適用する正方MDS行列として出力する。
(a)各F関数の線形変換行列は正方MDSであること、
(b)暗号化関数内の奇数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが正方MDS行列であること、
(c)偶数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが正方MDS行列であること、
これら(a)〜(c)が保証されるため、複数段のラウンド数を持つFeistel型共通鍵ブロック暗号処理構成において、連続する2q−1ラウンドにおいて、m個以下のアクティブSボックスの寄与による同時差分キャンセルは発生しないことが保証される。
さらに、
(d)正方MDSの性質から、a個(a≦m)のアクティブSボックスの寄与によって得られる差分値における非ゼロの要素数はm+1−a個以上になることが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
さらに、
(e)暗号化関数内の奇数ラウンド内に連続して含まれる線形変換行列、および偶数ラウンド内に連続して含まれる線形変換行列の逆行列の任意のm個の列ベクトルが正方MDS行列となることが保証される。このことにより、線形攻撃における線形近似による解析困難性を高めることが可能となり、解析の困難性、すなわち鍵の解析の困難な安全性の高い暗号処理が実現される。
102 入力データPR(Plain-Right)
103 ラウンド鍵
104 排他的論理和部
120 F関数
121 Sボックス(S−box)
122 線形変換部
125 正方行列
131,133 排他的論理和部
141〜145 排他的論理和部
401 F関数
402 正方MDS行列
600 ICモジュール
601 CPU(Central processing Unit)
602 メモリ
603 暗号処理部
604 乱数発生器
605 送受信部
Claims (21)
- 入力情報を非線形変換し、第1非線形変換情報を出力する第1非線形変換部と、当該第1非線形変換情報を線形変換して第1線形変換情報を出力する第1線形変換部とを有する第1暗号処理部と、
入力情報を非線形変換し、第2非線形変換情報を出力する第2非線形変換部と、当該第2非線形変換情報を線形変換して第2線形変換情報を出力する第2線形変換部とを有する第2暗号処理部と、
前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とが入力される排他的論理和部を備え、
前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列の逆行列から選択した第1行ベクトルと、
前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列の逆行列から選択した第2行ベクトルとが、
いずれの行ベクトルを選択した場合でも互いに線形独立であることを特徴とする暗号処理装置。 - 前記暗号処理装置は、
前記排他的論理和部における排他的論理和結果を前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理部および前記第2暗号処理部における暗号処理を繰り返し実行する構成であることを特徴とする請求項1に記載の暗号処理装置。 - Feistel型共通鍵ブロック暗号処理を実行する暗号処理装置であり、
非線形変換部および線形変換部を有するSPN型のF関数を、複数ラウンド繰り返し実行する構成を有し、
前記複数ラウンド各々に対応するF関数の線形変換部は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を、正方MDS(Maximum Distance Separable)行列を適用した線形変換処理として実行する構成であり、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々においては、異なる正方MDS行列:La,Lbが適用され、かつ該正方MDS行列の逆行列:La−1,Lb−1を構成する行ベクトルから任意に選択したm個の行ベクトルが線形独立であることを特徴とする暗号処理装置。 - 前記暗号処理装置において、さらに、
前記逆行列:La−1,Lb−1を構成する行ベクトルから任意に選択したm個の行ベクトルによって構成する行列が正方MDS行列であることを特徴とする請求項3に記載の暗号処理装置。 - 前記Feistel型共通鍵ブロック暗号処理のアルゴリズムは、ラウンド数2rの暗号処理アルゴリズムであり、
前記F関数の線形変換部は、
r個の全ての偶数ラウンドおよびr個の全ての奇数ラウンドにおいて2≦q≦rのq種類の異なる正方MDS行列を順次繰り返し適用した線形変換処理を実行する構成であることを特徴とする請求項3に記載の暗号処理装置。 - 前記F関数の線形変換部において適用する異なる複数の正方MDS行列の各々は、該複数の正方MDS行列の逆行列を構成する行ベクトルから任意に選択したm個の行ベクトルが線形独立であることを特徴とする請求項3に記載の暗号処理装置。
- 前記F関数の線形変換部において適用する異なる複数の正方MDS行列の各々は、該複数の正方MDS行列の逆行列を構成する行ベクトルから任意に選択したm個の行ベクトルによって構成する行列も正方MDS行列となることを特徴とする請求項3に記載の暗号処理装置。
- 前記F関数の線形変換部において適用する異なる複数の行列の各々の逆行列は、該複数の正方MDS行列を構成する要素を全て含むMDS行列Mから選択された列ベクトルによって構成される行列M'から抽出された行ベクトルによって構成される行列によって構成されていることを特徴とする請求項3に記載の暗号処理装置。
- 暗号処理装置において暗号処理を実行する暗号処理方法であり、
前記暗号処理装置の第1暗号処理部の第1非線形変換部において入力情報を非線形変換して第1非線形変換情報を出力し、第1暗号処理部の第1線形変換部において当該第1非線形変換情報を線形変換して第1線形変換情報を出力する第1暗号処理ステップと、
前記暗号処理装置の第2暗号処理部の第2非線形変換部において入力情報を非線形変換して第2非線形変換情報を出力し、第2暗号処理部の第2線形変換部において当該第2非線形変換情報を線形変換して第2線形変換情報を出力する第2暗号処理ステップと、
前記暗号処理装置の排他的論理和部が、前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とを入力して排他的論理和処理を実行する排他的論理和ステップとを有し、
前記第1暗号処理ステップの第1線形変換処理は、前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列を適用した第1線形変換処理実行ステップであり、
前記第2暗号処理ステップの第2線形変換処理は、前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列を適用した第2線形変換処理実行ステップであり、
前記第1線形変換処理実行ステップにおいて適用する前記第1行列の逆行列から選択した第1行ベクトルと、第2線形変換処理実行ステップにおいて適用する前記第2行列の逆行列から選択した第2行ベクトルとは互いに線形独立であることを特徴とする暗号処理方法。 - 前記暗号処理方法は、
前記排他的論理和ステップにおける排他的論理和結果を前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理ステップおよび前記第2暗号処理ステップの暗号処理を繰り返し実行することを特徴とする請求項9に記載の暗号処理方法。 - 暗号処理装置において、Feistel型共通鍵ブロック暗号処理を実行する暗号処理方法であり、
前記暗号処理装置の非線形変換部および線形変換部において、非線形変換処理および線形変換処理を実行するSPN型のF関数を、複数ラウンド繰り返し実行し、
前記複数ラウンド各々に対応するF関数の線形変換処理は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を、正方MDS(Maximum Distance Separable)行列を適用した線形変換処理として実行し、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々においては、異なる正方MDS行列:La,Lbが適用され、かつ該正方MDS行列の逆行列:La−1,Lb−1を構成する行ベクトルから任意に選択したm個の行ベクトルが線形独立であることを特徴とする暗号処理方法。 - 前記暗号処理方法において、さらに、
前記逆行列:La−1,Lb−1を構成する行ベクトルから任意に選択したm個の行ベクトルによって構成する行列が正方MDS行列であることを特徴とする請求項11に記載の暗号処理方法。 - 前記Feistel型共通鍵ブロック暗号処理のアルゴリズムは、ラウンド数2rの暗号処理アルゴリズムであり、
前記F関数の線形変換処理は、
r個の全ての偶数ラウンドおよびr個の全ての奇数ラウンドにおいて2≦q≦rのq種類の異なる正方MDS行列を順次繰り返し適用した線形変換処理を実行することを特徴とする請求項11に記載の暗号処理方法。 - 前記F関数の線形変換処理において適用する異なる複数の正方MDS行列の各々は、該複数の正方MDS行列の逆行列を構成する行ベクトルから任意に選択したm個の行ベクトルによって構成する行列が線形独立であることを特徴とする請求項11に記載の暗号処理方法。
- 前記F関数の線形変換処理において適用する異なる複数の正方MDS行列の各々は、該複数の正方MDS行列の逆行列を構成する行ベクトルから任意に選択したm個の行ベクトルによって構成する行列も正方MDS行列となることを特徴とする請求項11に記載の暗号処理方法。
- 前記F関数の線形変換処理において適用する異なる複数の行列の各々の逆行列は、該複数の正方MDS行列を構成する要素を全て含むMDS行列Mから選択された列ベクトルによって構成される行列M'から抽出された行ベクトルによって構成される行列によって構成されていることを特徴とする請求項11に記載の暗号処理方法。
- 暗号処理装置において暗号処理を実行させるコンピュータ・プログラムであり、
前記暗号処理装置の第1暗号処理部の第1非線形変換部に入力情報を非線形変換させて第1非線形変換情報を出力させ、第1暗号処理部の第1線形変換部に当該第1非線形変換情報を線形変換させて第1線形変換情報を出力させる第1暗号処理ステップと、
前記暗号処理装置の第2暗号処理部の第2非線形変換部に入力情報を非線形変換させて第2非線形変換情報を出力させ、第2暗号処理部の第2線形変換部に当該第2非線形変換情報を線形変換させて第2線形変換情報を出力させる第2暗号処理ステップと、
前記暗号処理装置の排他的論理和部に、前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とを入力して排他的論理和処理を実行させる排他的論理和ステップとを有し、
前記第1暗号処理ステップの第1線形変換処理は、前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列を適用した第1線形変換処理実行ステップであり、
前記第2暗号処理ステップの第2線形変換処理は、前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列を適用した第2線形変換処理実行ステップであり、
前記第1線形変換処理実行ステップにおいて適用する前記第1行列の逆行列から選択した第1行ベクトルと、第2線形変換処理実行ステップにおいて適用する前記第2行列の逆行列から選択した第2行ベクトルとは互いに線形独立であることを特徴とするコンピュータ・プログラム。 - 暗号処理装置において、Feistel型共通鍵ブロック暗号処理を実行させるコンピュータ・プログラムであり、
前記暗号処理装置の非線形変換部および線形変換部に、非線形変換処理および線形変換処理を実行するSPN型のF関数を、複数ラウンド繰り返し実行させるステップを有し、
前記複数ラウンド各々に対応するF関数の線形変換処理は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を、正方MDS(Maximum Distance Separable)行列を適用した線形変換処理として実行する線形変換ステップであり、
前記線形変換ステップにおいて、少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々では、異なる正方MDS行列:La,Lbが適用され、かつ該正方MDS行列の逆行列:La−1,Lb−1を構成する行ベクトルから任意に選択したm個の行ベクトルが線形独立であることを特徴とするコンピュータ・プログラム。 - 暗号処理に使用する鍵を格納するメモリと、暗号処理プログラムを実行するプロセッサとを備える暗号処理装置であって、
前記プロセッサは、入力情報を非線形変換し、第1非線形変換情報を出力する第1非線形変換部と、当該第1非線形変換情報を線形変換して第1線形変換情報を出力する第1線形変換部とを有する第1暗号処理部と、入力情報を非線形変換し、第2非線形変換情報を出力する第2非線形変換部と、当該第2非線形変換情報を線形変換して第2線形変換情報を出力する第2線形変換部とを有する第2暗号処理部と、前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とが入力される排他的論理和部を備え、
前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列の逆行列から選択した第1行ベクトルと、前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列の逆行列から選択した第2行ベクトルとが、いずれの行ベクトルを選択した場合でも互いに線形独立である、
暗号処理装置。 - 前記暗号処理装置は、
前記排他的論理和部における排他的論理和結果を前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理部および前記第2暗号処理部における暗号処理を繰り返し実行する構成であることを特徴とする請求項19に記載の暗号処理装置。 - 前記暗号処理装置は、さらに外部機器とのデータ通信を行う送受信部を備える、請求項19または20に記載の暗号処理装置。
Priority Applications (17)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004256465A JP4561252B2 (ja) | 2004-09-03 | 2004-09-03 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
EP05781289A EP1788542B1 (en) | 2004-09-03 | 2005-08-30 | Encryption device, encryption method, and computer program |
CNB2005800012597A CN100511331C (zh) | 2004-09-03 | 2005-08-30 | 密码处理装置、密码处理方法及其计算机程序 |
BRPI0506365A BRPI0506365B1 (pt) | 2004-09-03 | 2005-08-30 | aparelho e método de processamento criptográfico, e, meio de armazenamento legível por computador para realizar o referido método |
ES10011884T ES2860689T3 (es) | 2004-09-03 | 2005-08-30 | Sobre el cifrado de Feistel mediante el uso de mapeos de difusión óptimos a lo largo de múltiples rondas |
ES10011885T ES2879845T3 (es) | 2004-09-03 | 2005-08-30 | Sobre el cifrado de Feistel mediante el uso de mapeos de difusión óptimos a lo largo de múltiples rondas |
PCT/JP2005/015815 WO2006025416A1 (ja) | 2004-09-03 | 2005-08-30 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
EP10011884.3A EP2375624B1 (en) | 2004-09-03 | 2005-08-30 | On Feistel ciphers using optimal diffusion mappings across multiple rounds |
ES05781289T ES2391639T3 (es) | 2004-09-03 | 2005-08-30 | Dispositivo de cifrado, método de cifrado, y programa de ordenador |
US10/577,955 US7747011B2 (en) | 2004-09-03 | 2005-08-30 | Encryption device, encryption method, and computer program |
EP10011885.0A EP2375625B1 (en) | 2004-09-03 | 2005-08-30 | On Feistel ciphers using optimal diffusion mappings across multiple rounds |
RU2006114754/12A RU2383934C2 (ru) | 2004-09-03 | 2005-08-30 | Устройство криптографической обработки, способ криптографической обработки |
KR1020067006887A KR101091749B1 (ko) | 2004-09-03 | 2006-04-10 | 암호 처리 장치, 암호 처리 방법 및 기록매체 |
HK07101567.4A HK1096758A1 (en) | 2004-09-03 | 2007-02-09 | Encryption device, encryption method, and computer program |
US12/780,512 US8275127B2 (en) | 2004-09-03 | 2010-05-14 | Cryptographic processing apparatus, cryptographic processing method, and computer program therefor |
US13/594,444 US8767956B2 (en) | 2004-09-03 | 2012-08-24 | Cryptographic processing apparatus, cryptographic processing method, and computer program therefor |
US14/278,632 US9240885B2 (en) | 2004-09-03 | 2014-05-15 | Cryptographic processing apparatus, cryptographic processing method, and computer program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004256465A JP4561252B2 (ja) | 2004-09-03 | 2004-09-03 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006072054A JP2006072054A (ja) | 2006-03-16 |
JP2006072054A5 JP2006072054A5 (ja) | 2007-06-28 |
JP4561252B2 true JP4561252B2 (ja) | 2010-10-13 |
Family
ID=36000066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004256465A Expired - Fee Related JP4561252B2 (ja) | 2004-09-03 | 2004-09-03 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Country Status (10)
Country | Link |
---|---|
US (4) | US7747011B2 (ja) |
EP (3) | EP1788542B1 (ja) |
JP (1) | JP4561252B2 (ja) |
KR (1) | KR101091749B1 (ja) |
CN (1) | CN100511331C (ja) |
BR (1) | BRPI0506365B1 (ja) |
ES (3) | ES2879845T3 (ja) |
HK (1) | HK1096758A1 (ja) |
RU (1) | RU2383934C2 (ja) |
WO (1) | WO2006025416A1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4622222B2 (ja) * | 2003-09-30 | 2011-02-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4561252B2 (ja) | 2004-09-03 | 2010-10-13 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4622807B2 (ja) | 2005-03-25 | 2011-02-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US7970133B2 (en) * | 2006-01-19 | 2011-06-28 | Rockwell Collins, Inc. | System and method for secure and flexible key schedule generation |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP4967544B2 (ja) * | 2006-09-01 | 2012-07-04 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2008058830A (ja) | 2006-09-01 | 2008-03-13 | Sony Corp | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
JP5023624B2 (ja) | 2006-09-01 | 2012-09-12 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2010044251A (ja) * | 2008-08-13 | 2010-02-25 | Hitachi Ltd | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 |
WO2011075902A1 (zh) * | 2009-12-24 | 2011-06-30 | 华南理工大学 | 一种基于线性几何的群组密钥管理方法 |
JP5578422B2 (ja) * | 2010-07-21 | 2014-08-27 | 日本電気株式会社 | 暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラム |
US20120079462A1 (en) * | 2010-09-24 | 2012-03-29 | SoftKrypt LLC | Systems and methods of source software code obfuscation |
MY150357A (en) * | 2010-11-04 | 2013-12-31 | Mimos Berhad | A method for linear transformation in substitution-permutation networks symmetric-key block cipher |
JP5682527B2 (ja) * | 2011-03-28 | 2015-03-11 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP6519473B2 (ja) | 2013-08-02 | 2019-06-05 | 日本電気株式会社 | 認証暗号装置、認証暗号方法および認証暗号用プログラム |
CN103427986B (zh) * | 2013-08-22 | 2016-08-24 | 中国科学院信息工程研究所 | 获取分组密码活跃s盒个数下界的方法 |
JP5772934B2 (ja) * | 2013-12-02 | 2015-09-02 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
CN103701584B (zh) * | 2013-12-10 | 2017-01-18 | 中国船舶重工集团公司第七0九研究所 | 一种对称密码中二进制线性扩散结构的设计方法 |
US10608814B2 (en) * | 2015-05-17 | 2020-03-31 | Gideon Samid | Equivoe-T: Transposition equivocation cryptography |
US11038668B2 (en) * | 2015-05-17 | 2021-06-15 | Gideon Samid | Transposition encryption alphabet method (TEAM) |
CN105912938B (zh) * | 2016-04-01 | 2019-02-12 | 青岛大学 | 一种求多元素逆元的计算方法及计算系统 |
KR20190037980A (ko) | 2017-09-29 | 2019-04-08 | 한밭대학교 산학협력단 | 퍼베이시브 컴퓨팅을 위한 효과적인 초경량 블록 암호 시스템 |
JP7244060B2 (ja) * | 2019-02-20 | 2023-03-22 | Necソリューションイノベータ株式会社 | ブロック暗号装置、ブロック暗号方法およびプログラム |
US11615025B2 (en) * | 2020-02-10 | 2023-03-28 | SK Hynix Inc. | Encoding and decoding device for system data of storage device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002023623A (ja) * | 2000-07-13 | 2002-01-23 | Toshiba Corp | パラメータ決定装置、パラメータ決定方法、暗号化装置、および復号装置 |
JP2002091297A (ja) * | 2000-07-13 | 2002-03-27 | Fujitsu Ltd | F関数内部にspn構造を用いた演算装置および演算方法 |
JP2005107078A (ja) * | 2003-09-30 | 2005-04-21 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3499810B2 (ja) * | 2000-03-06 | 2004-02-23 | 株式会社東芝 | 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体 |
US7305085B2 (en) * | 2000-06-30 | 2007-12-04 | Kabushiki Kaisha Toshiba | Encryption apparatus and method, and decryption apparatus and method based on block encryption |
JP3505482B2 (ja) * | 2000-07-12 | 2004-03-08 | 株式会社東芝 | 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体 |
US20020021801A1 (en) * | 2000-07-13 | 2002-02-21 | Takeshi Shimoyama | Computing apparatus using an SPN structure in an F function and a computation method thereof |
JP3901959B2 (ja) * | 2000-07-13 | 2007-04-04 | 富士通株式会社 | Feistel構造とSPN構造とを組み合わせた演算装置および演算方法 |
JP2003098959A (ja) * | 2001-09-21 | 2003-04-04 | Toshiba Corp | 暗号処理装置 |
US20030233557A1 (en) * | 2002-06-13 | 2003-12-18 | Zimmerman Thomas Guthrie | Electronic signature verification method and apparatus |
US20040088588A1 (en) * | 2002-10-31 | 2004-05-06 | International Business Machines Corporation | Limited resource access while power-on-password is active |
JP2004245988A (ja) | 2003-02-13 | 2004-09-02 | Sony Corp | データ処理装置、その方法およびそのプログラムと線形変換回路および暗号化回路 |
JP4466108B2 (ja) * | 2004-02-13 | 2010-05-26 | 株式会社日立製作所 | 証明書発行方法および証明書検証方法 |
JP4561252B2 (ja) * | 2004-09-03 | 2010-10-13 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4622807B2 (ja) * | 2005-03-25 | 2011-02-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007199156A (ja) * | 2006-01-24 | 2007-08-09 | Sony Corp | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム |
US8146139B2 (en) * | 2006-06-30 | 2012-03-27 | Samsung Electronics Co., Ltd. | System and method of user authentication using handwritten signatures for an MFP |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP2008058830A (ja) * | 2006-09-01 | 2008-03-13 | Sony Corp | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
JP5682526B2 (ja) | 2011-03-28 | 2015-03-11 | ソニー株式会社 | データ処理装置、およびデータ処理方法、並びにプログラム |
JP5652363B2 (ja) | 2011-03-28 | 2015-01-14 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP5682525B2 (ja) | 2011-03-28 | 2015-03-11 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
-
2004
- 2004-09-03 JP JP2004256465A patent/JP4561252B2/ja not_active Expired - Fee Related
-
2005
- 2005-08-30 CN CNB2005800012597A patent/CN100511331C/zh not_active Expired - Fee Related
- 2005-08-30 US US10/577,955 patent/US7747011B2/en active Active
- 2005-08-30 ES ES10011885T patent/ES2879845T3/es active Active
- 2005-08-30 ES ES05781289T patent/ES2391639T3/es active Active
- 2005-08-30 EP EP05781289A patent/EP1788542B1/en not_active Not-in-force
- 2005-08-30 WO PCT/JP2005/015815 patent/WO2006025416A1/ja active Application Filing
- 2005-08-30 ES ES10011884T patent/ES2860689T3/es active Active
- 2005-08-30 BR BRPI0506365A patent/BRPI0506365B1/pt not_active IP Right Cessation
- 2005-08-30 RU RU2006114754/12A patent/RU2383934C2/ru active
- 2005-08-30 EP EP10011885.0A patent/EP2375625B1/en active Active
- 2005-08-30 EP EP10011884.3A patent/EP2375624B1/en active Active
-
2006
- 2006-04-10 KR KR1020067006887A patent/KR101091749B1/ko active IP Right Grant
-
2007
- 2007-02-09 HK HK07101567.4A patent/HK1096758A1/xx not_active IP Right Cessation
-
2010
- 2010-05-14 US US12/780,512 patent/US8275127B2/en not_active Expired - Fee Related
-
2012
- 2012-08-24 US US13/594,444 patent/US8767956B2/en active Active
-
2014
- 2014-05-15 US US14/278,632 patent/US9240885B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002023623A (ja) * | 2000-07-13 | 2002-01-23 | Toshiba Corp | パラメータ決定装置、パラメータ決定方法、暗号化装置、および復号装置 |
JP2002091297A (ja) * | 2000-07-13 | 2002-03-27 | Fujitsu Ltd | F関数内部にspn構造を用いた演算装置および演算方法 |
JP2005107078A (ja) * | 2003-09-30 | 2005-04-21 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1788542A1 (en) | 2007-05-23 |
BRPI0506365B1 (pt) | 2019-01-15 |
EP1788542B1 (en) | 2012-07-18 |
EP1788542A4 (en) | 2008-01-16 |
EP2375624B1 (en) | 2021-03-17 |
CN1879138A (zh) | 2006-12-13 |
EP2375625A3 (en) | 2015-05-06 |
JP2006072054A (ja) | 2006-03-16 |
EP2375624A3 (en) | 2015-05-06 |
KR101091749B1 (ko) | 2011-12-08 |
RU2006114754A (ru) | 2007-11-10 |
KR20070058370A (ko) | 2007-06-08 |
BRPI0506365A (pt) | 2006-10-31 |
EP2375625A2 (en) | 2011-10-12 |
EP2375624A2 (en) | 2011-10-12 |
US20120324243A1 (en) | 2012-12-20 |
US20140247937A1 (en) | 2014-09-04 |
ES2879845T3 (es) | 2021-11-23 |
EP2375625B1 (en) | 2021-06-16 |
US7747011B2 (en) | 2010-06-29 |
HK1096758A1 (en) | 2007-06-08 |
US9240885B2 (en) | 2016-01-19 |
US8767956B2 (en) | 2014-07-01 |
CN100511331C (zh) | 2009-07-08 |
US20090103714A1 (en) | 2009-04-23 |
WO2006025416A1 (ja) | 2006-03-09 |
ES2860689T3 (es) | 2021-10-05 |
US20110026706A1 (en) | 2011-02-03 |
ES2391639T3 (es) | 2012-11-28 |
RU2383934C2 (ru) | 2010-03-10 |
US8275127B2 (en) | 2012-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4561252B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4622222B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
CN101834719B (zh) | 加密处理装置用矩阵生成方法 | |
US8737603B2 (en) | Cryptographic processing apparatus, cryptographic processing method, and computer program | |
JP5050454B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2008058830A (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP2007192893A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2007199156A (ja) | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム | |
Dawood et al. | The new block cipher design (Tigris Cipher) | |
JP5338945B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
Sakalli | How to teach undergraduate students a real cipher design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100616 |
|
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: 20100706 |
|
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: 20100719 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4561252 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: 20130806 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |