JP4622222B2 - 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム - Google Patents
暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4622222B2 JP4622222B2 JP2003339364A JP2003339364A JP4622222B2 JP 4622222 B2 JP4622222 B2 JP 4622222B2 JP 2003339364 A JP2003339364 A JP 2003339364A JP 2003339364 A JP2003339364 A JP 2003339364A JP 4622222 B2 JP4622222 B2 JP 4622222B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- linear
- linear transformation
- cryptographic processing
- rounds
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
入力情報を非線形変換し、第1非線形変換情報を出力する第1非線形変換部と、当該第1非線形変換情報を線形変換して第1線形変換情報を出力する第1線形変換部とを有する第1暗号処理部と、
入力情報を非線形変換し、第2非線形変換情報を出力する第2非線形変換部と、当該第2非線形変換情報を線形変換して第2線形変換情報を出力する第2線形変換部とを有する第2暗号処理部と、
前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とが入力される排他的論理和部を備え、
前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列と、
前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列とは、
互いに異なる行列であることを特徴とする暗号処理装置にある。
さらに、本発明の暗号処理装置の一実施態様において、前記第1行列から選択した第1列ベクトルと、前記第2行列から選択した第2列ベクトルとは、いずれの列ベクトルを選択した場合であっても、互いに線形独立であることを特徴とする。
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理装置は、前記排他論理和部における排他論理和結果を前記前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理部および前記第2暗号処理部における暗号処理を繰り返し実行する構成であることを特徴とする。
さらに、本発明の暗号処理装置の一実施態様において、前記第1線形変換部および前記第2線形変換部は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を実行する構成であり、前記第1線形変換部および前記第2線形変換部において線形変換に適用する前記第1行列と前記第2行列は、行列を構成する列ベクトルから任意に選択したm個の列ベクトルが互いに線形独立となるm次行列であることを特徴とする。
さらに、本発明の第2の側面は、
Feistel型共通鍵ブロック暗号処理を実行する暗号処理装置であり、
非線形変換部および線形変換部を有するSPN型のF関数を、複数ラウンド繰り返し実行する構成を有し、
前記複数ラウンド各々に対応するF関数の線形変換部は、
正方行列を適用した線形変換処理を実行する構成であり、少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行する構成であることを特徴とする暗号処理装置にある。
暗号処理装置において暗号処理を実行する暗号処理方法であり、
第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行列と第2線形変換処理実行ステップにおいて適用する前記第2行列とは互いに異なる行列であることを特徴とする暗号処理方法にある。
さらに、本発明の暗号処理方法の一実施態様において、前記第1行列から選択した第1列ベクトルと、前記第2行列から選択した第2列ベクトルとは、いずれの列ベクトルを選択した場合であっても、互いに線形独立であることを特徴とする。
さらに、本発明の暗号処理方法の一実施態様において、前記暗号処理方法は、前記排他論理和ステップにおける排他論理和結果を前記前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理ステップおよび前記第2暗号処理ステップの暗号処理を繰り返し実行することを特徴とする。
さらに、本発明の暗号処理方法の一実施態様において、前記第1線形変換部および前記第2線形変換部における線形変換処理は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を実行するステップであり、前記第1線形変換部および前記第2線形変換部において線形変換に適用する前記第1行列と前記第2行列は、行列を構成する列ベクトルから任意に選択したm個の列ベクトルが互いに線形独立さなるm次行列であることを特徴とする。
さらに、本発明の第4の側面は、
暗号処理装置においてFeistel型共通鍵ブロック暗号処理を実行する暗号処理方法であり、
データ変換部が、非線形変換処理および線形変換処理を実行するSPN型のF関数を、複数ラウンド繰り返し実行し、
前記複数ラウンド各々に対応するF関数の線形変換処理は、
正方行列を適用した線形変換処理を実行するとともに、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行することを特徴とする暗号処理方法にある。
暗号処理装置において暗号処理を実行させるコンピュータ・プログラムであり、
第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行列と第2線形変換処理実行ステップにおいて適用する前記第2行列とは互いに異なる行列として設定したことを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第6の側面は、
暗号処理装置においてFeistel型共通鍵ブロック暗号処理を実行させるコンピュータ・プログラムであり、
データ変換部に、非線形変換処理および線形変換処理を実行するSPN型のF関数を、複数ラウンド繰り返し実行させ、
前記複数ラウンド各々に対応するF関数の線形変換処理は、
正方行列を適用した線形変換処理を実行させる処理であり、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行させることを特徴とするコンピュータ・プログラムにある。
1.共通鍵ブロック暗号アルゴリズムにおける差分解析処理
2.本発明に基づく暗号処理アルゴリズム
まず、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))になった場合を"同時差分キャンセル"と呼ぶ。
以下、少ないアクティブSボックスに基づく同時差分キャンセルが起こらない、または、起こりにくい構造を実現して、差分攻撃に対する耐性を向上させた、すなわち、鍵解析の困難性を高め、安全性を向上させた本発明に係る共通鍵ブロック暗号処理アルゴリズムについて説明する。
(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)
線形変換行列MLTj設定例1は、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成に対応して、r個のMDS行列を生成して、偶数ラウンドのF関数のr個の線形変換部において適用する正方行列をすべて異なるMDS行列として設定するとともに、奇数ラウンドのF関数のr個の線形変換部において適用する正方行列もすべて異なるMDS行列として設定するものである。
r個のGF(2n)上のm次MDS行列L1,L2,...,Lrを生成する。
[ステップS101]
入力:必要なMDSの個数x,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、x個のm次MDS行列L1,L2,...,Lxをランダムに生成する。
[ステップS102]
x個のm次MDS行列L1,L2,...,Lxに含まれるxm個の列の任意のm個を取り出したときに、線形独立になっているかどうかをチェックする。チェックに通過したらステップS103に進む、そうでない場合はステップS101にもどる。
[ステップS103]
x個のm次MDS行列L1,L2,...,Lxを、ラウンド数2xのFeistel型共通鍵ブロック暗号に適用するMDS行列として出力
[ステップS12]
2i−1(1≦i≦r)段目の線形変換行列MLT2i−1にLiを設定する。
[ステップS13]
2i(1≦i≦r)段目の線形変換行列にMLT2iにMLT2r−2i+1を設定する。
MLT1=L1, MLT2=L6
MLT3=L2, MLT4=L5
MLT5=L3, MLT6=L4
MLT7=L4, MLT8=L3
MLT9=L5, MLT10=L2
MLT11=L6, MLT12=L1
の設定となる。
(a)各F関数の線形変換行列はMDSであること、
(b)暗号化関数内の奇数ラウンド内に含まれる線形変換行列の任意のm個の列ベクトルは独立であること、
(c)偶数ラウンド内に含まれる線形変換行列の任意のm個の列ベクトルは独立であること、
これら(a)〜(c)が保証されるため、m個以下のアクティブSボックスの寄与による同時差分キャンセルは発生しないことが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
線形変換行列MLTj設定例2は、線形変換行列MLTj設定例1と同様、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成に対応して、r個のMDS行列を生成して、偶数ラウンドのF関数のr個の線形変換部において適用する正方行列をすべて異なるMDS行列として設定するとともに、奇数ラウンドのF関数のr個の線形変換部において適用する正方行列もすべて異なるMDS行列として設定するものであり、結果としては、線形変換行列MLTj設定例1と同様、図9に示すようなMDS行列(L1,L2・・・L6)設定構成となる。
[ステップS201]
入力:必要なMDSの個数x,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、x個のm次MDS行列L1,L2,...,Lxをランダムに生成する。
[ステップS202]
x個のm次MDS行列L1,L2,...,Lxに含まれるxm個の列の任意のm個を取り出したときに、MDS行列になっているかどうかをチェックする。チェックに通過したらステップS203に進む、そうでない場合はステップS201にもどる。
なお、MDS行列とは、前述したように以下の性質を満たす行列をいう。
(a)正方行列である
(b)行列に含まれるすべての部分行列(submatrix)の行列式(determinant)が0でない、すなわち、det(submatrix)≠0
[ステップS203]
x個のm次MDS行列L1,L2,...,Lxを、ラウンド数2xのFeistel型共通鍵ブロック暗号に適用するMDS行列として出力
2i−1(1≦i≦r)段目の線形変換行列MLT2i−1にLiを設定、
2i(1≦i≦r)段目の線形変換行列にMLT2iにMLT2r−2i+1を設定
して、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成が構築される。
MLT1=L1, MLT2=L6
MLT3=L2, MLT4=L5
MLT5=L3, MLT6=L4
MLT7=L4, MLT8=L3
MLT9=L5, MLT10=L2
MLT11=L6, MLT12=L1
の設定となる。
(a)各F関数の線形変換行列はMDSであること、
(b)暗号化関数内の奇数ラウンド内に含まれる線形変換行列の任意のm個の列ベクトルはMDS行列であること、
(c)偶数ラウンド内に含まれる線形変換行列の任意のm個の列ベクトルはMDS行列であること、
これら(a)〜(c)が保証されるため、m個以下のアクティブSボックスの寄与による同時差分キャンセルは発生しないことが保証される。
さらに、
(d)MDSの性質から、a個(a≦m)のアクティブSボックスの寄与によって得られる差分値における非ゼロの要素数はm+1−a個以上になることが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
線形変換行列MLTj設定例3は、線形変換行列MLTj設定例1,2と同様、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成に対応して、r個のMDS行列を生成して、偶数ラウンドのF関数のr個の線形変換部において適用する正方行列をすべて異なるMDS行列として設定するとともに、奇数ラウンドのF関数のr個の線形変換部において適用する正方行列もすべて異なるMDS行列として設定するものであり結果としては、線形変換行列MLTj設定例1と同様、図9に示すようなMDS行列(L1,L2・・・L6)設定構成となる。
[ステップS301]
入力:必要なMDSの個数x,拡大次数:n,行列のサイズ:mとして、
GF(2n)上で、1個のxm次MDS行列Mを生成する。
[ステップS302]
1個のxm次MDS行列Mからm本の行を任意に選択抽出し、m行,xm列の行列M'を構成する。
[ステップS303]
m行,xm列の行列M'に含まれるxm本の列ベクトルを重複することなくm本の列ベクトルからなるx個のグループに任意に分割し、それぞれのグループに含まれる列ベクトルからm次の正方行列L1,L2,...,Lxを、ラウンド数2xのFeistel型共通鍵ブロック暗号に適用するMDS行列として出力
[ステップS301]
GF(2n)上で、1個のxm次MDS行列Mを生成する。図14に示すように、xm×xmのMDS行列Mを生成する。なお、このステップS301において生成する行列Mの次数はxm次より大きいものでもよい。
[ステップS302]
図14に示すように、xm次MDS行列Mからm本の行を任意に選択抽出し、m行,xm列の行列M'を構成する。なお、図に示す例では、連続するm本の行を選択抽出した例として示してあるが、m次MDS行列Mを構成する任意の離間した行をm本選択抽出して、m行,xm列の行列M'を構成してもよい。
[ステップS303]
m行,xm列の行列M'に含まれるxm本の列ベクトルを重複することなくm本の列ベクトルからなるx個のグループに任意に分割し、それぞれのグループに含まれる列ベクトルからm次の正方行列L1,L2,...,Lxを生成する。
2i−1(1≦i≦r)段目の線形変換行列MLT2i−1にLiを設定、
2i(1≦i≦r)段目の線形変換行列にMLT2iにMLT2r−2i+1を設定
して、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成が構築される。
MLT1=L1, MLT2=L6
MLT3=L2, MLT4=L5
MLT5=L3, MLT6=L4
MLT7=L4, MLT8=L3
MLT9=L5, MLT10=L2
MLT11=L6, MLT12=L1
の設定となる。
(a)各F関数の線形変換行列はMDSであること、
(b)暗号化関数内の奇数ラウンド内に含まれる線形変換行列の任意のm個の列ベクトルは独立であること、
(c)偶数ラウンド内に含まれる線形変換行列の任意のm個の列ベクトルは独立であること、
これら(a)〜(c)が保証されるため、m個以下のアクティブSボックスの寄与による同時差分キャンセルは発生しないことが保証される。
さらに、
(d)MDSの性質から、a個(a≦m)のアクティブSボックスの寄与によって得られる差分値における非ゼロの要素数はm+1−a個以上になることが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
上述した線形変換行列MLTj設定例1〜3においては、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成に対応して、r個のMDS行列を生成して、偶数ラウンドのF関数のr個の線形変換部において適用する正方行列をすべて異なるMDS行列として設定するとともに、奇数ラウンドのF関数のr個の線形変換部において適用する正方行列もすべて異なるMDS行列として設定したものであった。以下、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成に対応して、r個より少ないq個のMDS行列を生成して、上述した線形変換行列MLTj設定例1と同様の効果、すなわち、暗号化関数全体でのアクティブSボックスの最少数を大きくすることを実現した構成例について説明する。
ラウンド数2rの半数rに対してrより小さい数q、すなわち、
q<rとなる数qを選択する。ただし、qは2以上の整数である。
[ステップS22]
q個のGF(2n)上のm次MDS行列L1,L2,...,Lqを生成する
[ステップS23]
2i−1(1≦i≦r)段目の線形変換行列MLT2i−1にL(i−1modq)+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
の設定となる。
(a)各F関数の線形変換行列はMDSであること、
が保証され、さらに、
(b)暗号化関数内の奇数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが独立であること、
(c)偶数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが独立であること、
これら(a)〜(c)が保証されるため、複数段のラウンド数を持つFeistel型共通鍵ブロック暗号処理構成において、連続する2q−1ラウンドにおいて、前述した線形変換行列MLTj設定例1に対応する効果が得られる。
線形変換行列MLTj設定例5は、上述した線形変換行列MLTj設定例4と同様、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成に対応して、r個より少ないq個のMDS行列を生成して、上述した線形変換行列MLTj設定例2と同様の効果、すなわち、暗号化関数全体でのアクティブSボックスの最少数を大きくすることを実現した構成例について説明する。
2i−1(1≦i≦r)段目の線形変換行列MLT2i−1にL(i−1modq)+1を設定し、
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
の設定となる。
(a)各F関数の線形変換行列はMDSであること、
が保証され、さらに、
(b)暗号化関数内の奇数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルがMDS行列であること、
(c)偶数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルがMDS行列であること、
これら(a)〜(c)が保証されるため、複数段のラウンド数を持つFeistel型共通鍵ブロック暗号処理構成において、連続する2q−1ラウンドにおいて、前述した線形変換行列MLTj設定例2に対応する効果が得られる。
(d)MDSの性質から、連続する2q−1ラウンドにおいて、a個(a≦m)のアクティブSボックスの寄与によって得られる差分値における非ゼロの要素数はm+1−a個以上になることが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
線形変換行列MLTj設定例6は、上述した線形変換行列MLTj設定例4、5と同様、段数(ラウンド数)が2rのFeistel型共通鍵ブロック暗号処理構成に対応して、r個より少ないq個のMDS行列を生成して、上述した線形変換行列MLTj設定例3と同様の効果、すなわち、暗号化関数全体でのアクティブSボックスの最少数を大きくすることを実現した構成例について説明する。
2i−1(1≦i≦r)段目の線形変換行列MLT2i−1にL(i−1modq)+1を設定し、
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
の設定となる。
(a)各F関数の線形変換行列はMDSであること、
が保証され、さらに、
(b)暗号化関数内の奇数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが独立であること、
(c)偶数ラウンド内の少なくとも連続するq個のF関数に含まれる線形変換行列の任意のm個の列ベクトルが独立であること、
これら(a)〜(c)が保証されるため、複数段のラウンド数を持つFeistel型共通鍵ブロック暗号処理構成において、連続する2q−1ラウンドにおいて、前述した線形変換行列MLTj設定例3に対応する効果が得られる。
すなわち、連続する2q−1ラウンドにおいて、m個以下のアクティブSボックスの寄与による同時差分キャンセルは発生しないことが保証され、さらに、
(d)MDSの性質から、連続する2q−1ラウンドにおいて、a個(a≦m)のアクティブSボックスの寄与によって得られる差分値における非ゼロの要素数はm+1−a個以上になることが保証される。よって暗号化関数全体のアクティブSボックス数の最小値が増大する。
102 入力データPR(Plain-Right)
103 ラウンド鍵
104 排他的論理和部
120 F関数
121 Sボックス(S−box)
122 線形変換部
125 正方行列
131,133 排他的論理和部
141〜145 排他的論理和部
301 F関数
302 MDS行列
401 F関数
402 MDS行列
600 ICモジュール
601 CPU(Central processing Unit)
602 メモリ
603 暗号処理部
604 乱数発生器
605 送受信部
Claims (26)
- 入力情報を非線形変換し、第1非線形変換情報を出力する第1非線形変換部と、当該第1非線形変換情報を線形変換して第1線形変換情報を出力する第1線形変換部とを有する第1暗号処理部と、
入力情報を非線形変換し、第2非線形変換情報を出力する第2非線形変換部と、当該第2非線形変換情報を線形変換して第2線形変換情報を出力する第2線形変換部とを有する第2暗号処理部と、
前記第2暗号処理部からの出力と、前記第1暗号処理部からの出力とが入力される排他的論理和部を備え、
前記第1非線形変換情報を第1列ベクトルで示すと共に前記第1線形変換情報を第2列ベクトルで示した場合に、当該第1列ベクトルを当該第2列ベクトルに変換する第1行列と、
前記第2非線形変換情報を第3列ベクトルで示すと共に前記第2線形変換情報を第4列ベクトルで示した場合に、当該第3列ベクトルを当該第4列ベクトルに変換する第2行列とは、
互いに異なる行列であることを特徴とする暗号処理装置。 - 前記第1行列から選択した第1列ベクトルと、
前記第2行列から選択した第2列ベクトルとは、
いずれの列ベクトルを選択した場合であっても、互いに線形独立であることを特徴とする請求項1に記載の暗号処理装置。 - 前記暗号処理装置は、
前記排他論理和部における排他論理和結果を前記前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理部および前記第2暗号処理部における暗号処理を繰り返し実行する構成であることを特徴とする請求項1に記載の暗号処理装置。 - 前記第1線形変換部および前記第2線形変換部は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を実行する構成であり、
前記第1線形変換部および前記第2線形変換部において線形変換に適用する前記第1行列と前記第2行列は、行列を構成する列ベクトルから任意に選択したm個の列ベクトルが互いに線形独立となるm次行列であることを特徴とする請求項1に記載の暗号処理装置。 - Feistel型共通鍵ブロック暗号処理を実行する暗号処理装置であり、
非線形変換部および線形変換部を有するSPN型のF関数を、複数ラウンド繰り返し実行する構成を有し、
前記複数ラウンド各々に対応するF関数の線形変換部は、
正方行列を適用した線形変換処理を実行する構成であり、少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行する構成であることを特徴とする暗号処理装置。 - 前記F関数の線形変換部は、
全ての偶数ラウンドおよび全ての奇数ラウンドにおいて異なる正方行列をそれぞれ適用した線形変換処理を実行する構成であることを特徴とする請求項5に記載の暗号処理装置。 - 前記Feistel型共通鍵ブロック暗号処理のアルゴリズムは、ラウンド数Rの暗号処理アルゴリズムであり、
前記F関数の線形変換部は、
r個の全ての偶数ラウンドおよびr個の全ての奇数ラウンドにおいてr種類の異なる正方行列を順次適用した線形変換処理を実行する構成であることを特徴とする請求項5に記載の暗号処理装置。 - 前記Feistel型共通鍵ブロック暗号処理のアルゴリズムは、ラウンド数Rの暗号処理アルゴリズムであり、
前記F関数の線形変換部は、
r個の全ての偶数ラウンドおよびr個の全ての奇数ラウンドにおいて2≦q<rのq種類の異なる正方行列を順次繰り返し適用した線形変換処理を実行する構成であることを特徴とする請求項5に記載の暗号処理装置。 - 前記F関数の線形変換部は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を実行する構成であり、
前記F関数の線形変換部において適用する異なる複数の正方行列の各々は、
前記複数の正方行列を構成する列ベクトルから任意に選択したm個の列ベクトルによって構成する行列が線形独立である正方行列として設定したことを特徴とする請求項5に記載の暗号処理装置。 - 前記F関数の線形変換部は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を実行する構成であり、
前記F関数の線形変換部において適用する異なる複数の正方行列の各々は、
前記複数の正方行列を構成する列ベクトルから任意に選択したm個の列ベクトルによって構成する行列も正方行列となる正方行列として設定したことを特徴とする請求項5に記載の暗号処理装置。 - 前記F関数の線形変換部において適用する異なる複数の正方行列の各々は、
前記異なる正方行列を構成する要素を全て含む正方行列Mから選択された行ベクトルによって構成される行列M'から抽出された列ベクトルによって構成される行列によって構成されていることを特徴とする請求項5に記載の暗号処理装置。 - 前記F関数の線形変換部において適用する異なる複数の正方行列の各々は、
リードソロモン符号生成行列に基づいて生成された正方行列であることを特徴とする請求項5に記載の暗号処理装置。 - 暗号処理装置において暗号処理を実行する暗号処理方法であり、
第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行列と第2線形変換処理実行ステップにおいて適用する前記第2行列とは互いに異なる行列であることを特徴とする暗号処理方法。 - 前記第1行列から選択した第1列ベクトルと、
前記第2行列から選択した第2列ベクトルとは、
いずれの列ベクトルを選択した場合であっても、互いに線形独立であることを特徴とする請求項13に記載の暗号処理方法。 - 前記暗号処理方法は、
前記排他論理和ステップにおける排他論理和結果を前記前記第1暗号処理部または前記第2暗号処理部に再度入力し、前記第1暗号処理ステップおよび前記第2暗号処理ステップの暗号処理を繰り返し実行することを特徴とする請求項13に記載の暗号処理方法。 - 前記第1線形変換部および前記第2線形変換部における線形変換処理は、m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理を実行するステップであり、
前記第1線形変換部および前記第2線形変換部において線形変換に適用する前記第1行列と前記第2行列は、行列を構成する列ベクトルから任意に選択したm個の列ベクトルが互いに線形独立さなるm次行列であることを特徴とする請求項13に記載の暗号処理方法。 - 暗号処理装置においてFeistel型共通鍵ブロック暗号処理を実行する暗号処理方法であり、
データ変換部が、非線形変換処理および線形変換処理を実行するSPN型のF関数を、複数ラウンド繰り返し実行し、
前記複数ラウンド各々に対応するF関数の線形変換処理は、
正方行列を適用した線形変換処理を実行するとともに、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行することを特徴とする暗号処理方法。 - 前記データ変換部が、前記複数ラウンド各々に対応するF関数の線形変換処理は、
全ての偶数ラウンドおよび全ての奇数ラウンドにおいて異なる正方行列をそれぞれ適用した線形変換処理を実行することを特徴とする請求項17に記載の暗号処理方法。 - 前記暗号処理方法は、
前記データ変換部が、ラウンド数RのFeistel型共通鍵ブロック暗号処理を実行し、
前記複数ラウンド各々に対応するF関数の線形変換処理は、
r個の全ての偶数ラウンドおよびr個の全ての奇数ラウンドにおいてr種類の異なる正方行列を順次適用した線形変換処理を実行することを特徴とする請求項17に記載の暗号処理方法。 - 前記暗号処理方法は、
前記データ変換部が、ラウンド数RのFeistel型共通鍵ブロック暗号処理を実行し、
前記複数ラウンド各々に対応するF関数の線形変換処理は、
r個の全ての偶数ラウンドおよびr個の全ての奇数ラウンドにおいて2≦q<rのq種類の異なる正方行列を順次繰り返し適用した線形変換処理を実行することを特徴とする請求項17に記載の暗号処理方法。 - 前記データ変換部が実行する前記複数ラウンド各々に対応するF関数の線形変換処理は、
m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理であり、
前記複数ラウンド各々に対応するF関数の線形変換処理において適用する異なる複数の正方行列の各々は、該複数の正方行列を構成する列ベクトルから任意に選択したm個の列ベクトルによって構成する行列が線形独立である正方行列であることを特徴とする請求項17に記載の暗号処理方法。 - 前記データ変換部が実行する前記複数ラウンド各々に対応するF関数の線形変換処理は、
m個の非線形変換部各々の出力するnビット、総計mnビットの入力に対する線形変換処理であり、
前記複数ラウンド各々に対応するF関数の線形変換処理において適用する異なる複数の正方行列の各々は、前記複数の正方行列を構成する列ベクトルから任意に選択したm個の列ベクトルによって構成する行列も正方行列となる正方行列であることを特徴とする請求項17に記載の暗号処理方法。 - 前記データ変換部が実行する前記複数ラウンド各々に対応するF関数の線形変換処理において適用する異なる複数の正方行列の各々は、前記複数の正方行列を構成する要素を全て含む正方行列Mから選択された行ベクトルによって構成される行列M'から抽出された列ベクトルによって構成される行列によって構成されていることを特徴とする請求項17に記載の暗号処理方法。
- 前記データ変換部が、前記F関数の線形変換処理において適用する異なる複数の正方行列の各々は、
リードソロモン符号生成行列に基づいて生成された正方行列であることを特徴とする請求項17に記載の暗号処理方法。 - 暗号処理装置において暗号処理を実行させるコンピュータ・プログラムであり、
第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行列と第2線形変換処理実行ステップにおいて適用する前記第2行列とは互いに異なる行列として設定したことを特徴とするコンピュータ・プログラム。 - 暗号処理装置においてFeistel型共通鍵ブロック暗号処理を実行させるコンピュータ・プログラムであり、
データ変換部に、非線形変換処理および線形変換処理を実行するSPN型のF関数を、複数ラウンド繰り返し実行させ、
前記複数ラウンド各々に対応するF関数の線形変換処理は、
正方行列を適用した線形変換処理を実行させる処理であり、
少なくとも連続する偶数ラウンドおよび連続する奇数ラウンドの各々において異なる正方行列を適用した線形変換処理を実行させることを特徴とするコンピュータ・プログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003339364A JP4622222B2 (ja) | 2003-09-30 | 2003-09-30 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US10/951,371 US7433470B2 (en) | 2003-09-30 | 2004-09-28 | Cryptographic processing apparatus, cryptographic processing method, and computer program |
US12/232,352 US8031866B2 (en) | 2003-09-30 | 2008-09-16 | Cryptographic processing apparatus and cryptographic processing method, and computer program |
US13/206,803 US8306217B2 (en) | 2003-09-30 | 2011-08-10 | Cryptographic processing apparatus and cryptographic processing method, and computer program |
US13/605,470 US8666069B2 (en) | 2003-09-30 | 2012-09-06 | Cryptographic processing apparatus and cryptographic processing method, and computer program |
US14/143,739 US9083506B2 (en) | 2003-09-30 | 2013-12-30 | Cryptographic processing apparatus and cryptographic processing method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003339364A JP4622222B2 (ja) | 2003-09-30 | 2003-09-30 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005107078A JP2005107078A (ja) | 2005-04-21 |
JP2005107078A5 JP2005107078A5 (ja) | 2007-06-14 |
JP4622222B2 true JP4622222B2 (ja) | 2011-02-02 |
Family
ID=34534567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003339364A Expired - Lifetime JP4622222B2 (ja) | 2003-09-30 | 2003-09-30 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
Country Status (2)
Country | Link |
---|---|
US (5) | US7433470B2 (ja) |
JP (1) | JP4622222B2 (ja) |
Families Citing this family (26)
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 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007192893A (ja) | 2006-01-17 | 2007-08-02 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007199156A (ja) * | 2006-01-24 | 2007-08-09 | Sony Corp | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム |
DE102006011223A1 (de) * | 2006-03-10 | 2007-09-13 | Micronas Gmbh | Datenverarbeitungsverfahren mit einem Verschlüsselungsalgorithmus |
JP4882598B2 (ja) | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP5023624B2 (ja) * | 2006-09-01 | 2012-09-12 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2008058830A (ja) * | 2006-09-01 | 2008-03-13 | Sony Corp | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
JP4967544B2 (ja) * | 2006-09-01 | 2012-07-04 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
DE102007012726A1 (de) | 2007-03-16 | 2008-09-18 | Micronas Gmbh | Verschlüsselungsvorrichtung mit einem mehrstufigen Verschlüsselungsblock |
JP5272417B2 (ja) | 2008-01-21 | 2013-08-28 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
US8565431B2 (en) * | 2008-03-17 | 2013-10-22 | Sony Corporation | System and method for scrambling wireless signals using a secure time value |
WO2011036745A1 (ja) * | 2009-09-24 | 2011-03-31 | 株式会社東芝 | 鍵スケジュール装置および方法 |
JP5578422B2 (ja) * | 2010-07-21 | 2014-08-27 | 日本電気株式会社 | 暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラム |
JP5605197B2 (ja) * | 2010-12-09 | 2014-10-15 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP2015191106A (ja) * | 2014-03-28 | 2015-11-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP2015191107A (ja) * | 2014-03-28 | 2015-11-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
US11303436B2 (en) * | 2016-06-23 | 2022-04-12 | Cryptography Research, Inc. | Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks |
US10771235B2 (en) * | 2016-09-01 | 2020-09-08 | Cryptography Research Inc. | Protecting block cipher computation operations from external monitoring attacks |
RU173234U1 (ru) * | 2017-03-06 | 2017-08-17 | Общество с ограниченной ответственностью "КАСКАД" | Устройство раунда шифрования данных по алгоритму "магма" и стандарту гост р 34.12-2015 |
RU2654078C1 (ru) * | 2017-03-06 | 2018-05-16 | Общество с ограниченной ответственностью "КАСКАД" | Устройство раунда шифрования данных по алгоритму "магма" и стандарту гост р 34.12-2015 |
WO2019102888A1 (ja) * | 2017-11-24 | 2019-05-31 | ソニー株式会社 | 画像処理装置および方法 |
US10911215B2 (en) * | 2018-02-12 | 2021-02-02 | Gideon Samid | BitMap lattice: a cyber tool comprised of geometric construction |
CN113572594B (zh) * | 2021-07-26 | 2024-12-27 | 晋商博创(北京)科技有限公司 | Cpk密钥生成方法、装置、实体及密钥中心 |
US11930074B2 (en) * | 2021-10-26 | 2024-03-12 | King Fahd University Of Petroleum And Minerals | Content distribution over a network |
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構造を用いた演算装置および演算方法 |
JP2002091295A (ja) * | 2000-07-13 | 2002-03-27 | Fujitsu Ltd | Feistel構造とSPN構造とを組み合わせた演算装置および演算方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4078152A (en) * | 1976-04-26 | 1978-03-07 | International Business Machines Corporation | Block-cipher cryptographic system with chaining |
BE1003932A6 (fr) * | 1989-04-28 | 1992-07-22 | Musyck Emile | Systeme cryptographique par bloc de donnees binaires. |
US5214704A (en) * | 1989-10-04 | 1993-05-25 | Teledyne Industries, Inc. | Nonlinear dynamic substitution devices and methods for block substitutions |
US5295188A (en) * | 1991-04-04 | 1994-03-15 | Wilson William J | Public key encryption and decryption circuitry and method |
US5949884A (en) * | 1996-11-07 | 1999-09-07 | Entrust Technologies, Ltd. | Design principles of the shade cipher |
US6560727B1 (en) * | 1999-10-21 | 2003-05-06 | Sandia Corporation | Bit error rate tester using fast parallel generation of linear recurring sequences |
US7120696B1 (en) * | 2000-05-19 | 2006-10-10 | Stealthkey, Inc. | Cryptographic communications using pseudo-randomly generated cryptography keys |
JP3505482B2 (ja) * | 2000-07-12 | 2004-03-08 | 株式会社東芝 | 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体 |
IL145245A0 (en) * | 2001-09-03 | 2002-06-30 | Jtc 2000 Dev Delaware Inc | System and method including vector-matrix multiplication |
JP4622222B2 (ja) * | 2003-09-30 | 2011-02-02 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4561252B2 (ja) * | 2004-09-03 | 2010-10-13 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US8565435B2 (en) * | 2010-08-16 | 2013-10-22 | International Business Machines Corporation | Efficient implementation of fully homomorphic encryption |
-
2003
- 2003-09-30 JP JP2003339364A patent/JP4622222B2/ja not_active Expired - Lifetime
-
2004
- 2004-09-28 US US10/951,371 patent/US7433470B2/en active Active
-
2008
- 2008-09-16 US US12/232,352 patent/US8031866B2/en not_active Expired - Fee Related
-
2011
- 2011-08-10 US US13/206,803 patent/US8306217B2/en not_active Expired - Fee Related
-
2012
- 2012-09-06 US US13/605,470 patent/US8666069B2/en not_active Expired - Lifetime
-
2013
- 2013-12-30 US US14/143,739 patent/US9083506B2/en not_active Expired - Lifetime
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構造を用いた演算装置および演算方法 |
JP2002091295A (ja) * | 2000-07-13 | 2002-03-27 | Fujitsu Ltd | Feistel構造とSPN構造とを組み合わせた演算装置および演算方法 |
Also Published As
Publication number | Publication date |
---|---|
US20050111659A1 (en) | 2005-05-26 |
US20130016829A1 (en) | 2013-01-17 |
US8031866B2 (en) | 2011-10-04 |
US9083506B2 (en) | 2015-07-14 |
US7433470B2 (en) | 2008-10-07 |
US20140233729A1 (en) | 2014-08-21 |
US8666069B2 (en) | 2014-03-04 |
US20110293089A1 (en) | 2011-12-01 |
US20090103719A1 (en) | 2009-04-23 |
JP2005107078A (ja) | 2005-04-21 |
US8306217B2 (en) | 2012-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4622222B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4561252B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
CN101834719B (zh) | 加密处理装置用矩阵生成方法 | |
US8737603B2 (en) | Cryptographic processing apparatus, cryptographic processing method, and computer program | |
JP5050454B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2007192893A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP2007199156A (ja) | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム | |
JP5338945B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060927 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100421 |
|
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: 20101005 |
|
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: 20101018 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4622222 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: 20131112 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 |
|
EXPY | Cancellation because of completion of term |