JP2012215813A - 暗号処理装置、および暗号処理方法、並びにプログラム - Google Patents
暗号処理装置、および暗号処理方法、並びにプログラム Download PDFInfo
- Publication number
- JP2012215813A JP2012215813A JP2011207702A JP2011207702A JP2012215813A JP 2012215813 A JP2012215813 A JP 2012215813A JP 2011207702 A JP2011207702 A JP 2011207702A JP 2011207702 A JP2011207702 A JP 2011207702A JP 2012215813 A JP2012215813 A JP 2012215813A
- Authority
- JP
- Japan
- Prior art keywords
- data
- round
- input
- function
- cryptographic processing
- 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.)
- Granted
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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Facsimile Transmission Control (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【解決手段】データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理部を有し、暗号処理部において、入力データであるnビットデータを分割数dで分割したn/dビットデータを各ラインに入力して、ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行する。ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に分割し、該分割データを組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして処理を実行する。本構成により拡散特性を向上させた安全性の高い暗号処理が実現される。
【選択図】図20
Description
データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理部を有し、
前記暗号処理部は、
入力データであるnビットデータを分割数dで分割したn/dビットデータを前記各ラインに入力して、前記ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行する構成であり、
ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に再分割し、該再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行する暗号処理装置にある。
(1)F関数入力側データ系列は必ず次のラウンド関数の排他的論理和側データ系列に分配する、
(2)排他的論理和側データ系列は必ず次のラウンド関数のF関数入力側データ系列に分配する、
(3)各d/2個に分割されたデータ系列はd/2箇所の次のラウンド関数のデータ系列にそれぞれ重複なく分配する、
上記(1)〜(3)の分配条件を満たす処理によって前段のラウンド演算の演算結果を次段のラウンド演算の入力として設定する。
(条件1)全入力ビットが関係式に含まれる
(条件2)全入力ビットが少なくとも1度は前記ラウンド関数を通過している
上記2つの条件を満足する全拡散(full diffusion)状態を実現する構成である。
暗号処理装置において実行する暗号処理方法であり、
暗号処理部が、データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理ステップを実行し、
前記暗号処理ステップは、
入力データであるnビットデータを分割数dで分割したn/dビットデータを前記各ラインに入力して、前記ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行し、
ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に再分割し、該再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行する暗号処理方法にある。
暗号処理装置において暗号処理を実行させるプログラムであり、
暗号処理部に、データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理ステップを実行させ、
前記暗号処理ステップにおいて、
入力データであるnビットデータを分割数dで分割したn/dビットデータを前記各ラインに入力して、前記ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行させ、
ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に再分割し、該再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行させるプログラムにある。
具体的には、データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理部を有し、暗号処理部において、入力データであるnビットデータを分割数dで分割したn/dビットデータを各ラインに入力して、ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行する。ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に分割し、該分割データを組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして処理を実行する。この構成によって、拡散(diffusion)特性を向上させた安全性の高い暗号処理が実現される。
1.共通鍵ブロック暗号の概要
2.拡散(diffusion)特性の概要について
(2−1)拡散(diffusion)特性についての説明
(2−2)拡散(diffusion)特性を考慮したこれまでの構成例について
3.本開示に従った拡散(diffusion)特性を向上させた構成例について
4.より効率的なデータ分配法を持つ構成例について
5.インボリューション(involution)性を備えた構成例について
6.暗号処理装置の構成例について
7.本開示の構成のまとめ
まず、共通鍵ブロック暗号の概要について説明する。
(1−1.共通鍵ブロック暗号)
ここでは共通鍵ブロック暗号(以下ではブロック暗号)としては以下に定義するものを指すものとする。
ブロック暗号は入力として平文Pと鍵Kを取り、暗号文Cを出力する。平文と暗号文のビット長をブロックサイズと呼びここではnで著す。nは任意の整数値を取りうるが、通常、ブロック暗号アルゴリズムごとに、あらかじめひとつに決められている値である。ブロック長がnのブロック暗号のことをnビットブロック暗号と呼ぶこともある。
平文P:nビット
暗号文C:nビット
鍵K:kビット
暗号化アルゴリズムEに対応する復号アルゴリズムDは暗号化アルゴリズムEの逆関数E−1と定義でき、入力として暗号文Cと鍵Kを受け取り,平文Pを出力する。図2に図1に示した暗号アルゴリズムEに対応する復号アルゴリズムDの図を示す。
ブロック暗号は2つの部分に分けて考えることができる。ひとつは鍵Kを入力とし、
ある定められたステップによりビット長を拡大してできた拡大鍵K'(ビット長k')を出力する「鍵スケジュール部」と、もうひとつは平文Pと鍵スケジュール部から拡大された鍵K'を受け取ってデータの変換を行い暗号文Cを出力する「データ暗号化部」である。
2つの部分の関係は図3に示される。
以下の実施例において用いるデータ暗号化部はラウンド関数という処理単位に分割できるものとする。ラウンド関数は入力としての2つのデータを受け取り、内部で処理を施したのち、1つのデータを出力する。入力データの一方は暗号化途中のnビットデータであり、あるラウンドにおけるラウンド関数の出力が次のラウンドの入力として供給される構成となる。もう1つの入力データは鍵スケジュールから出力された拡大鍵の一部のデータが用いられ、この鍵データのことをラウンド鍵と呼ぶものとする。またラウンド関数の総数は総ラウンド数と呼ばれ、暗号アルゴリズムごとにあらかじめ定められている値である。ここでは総ラウンド数をRで表す。
ブロック暗号アルゴリズムによってラウンド関数はさまざまな形態をとりうる。ラウンド関数はその暗号アルゴリズムが採用する構造(structure)によって分類できる。代表的な構造としてここではSPN構造、Feistel構造、拡張Feistel構造を例示する。
nビットの入力データすべてに対して、ラウンド鍵との排他的論理和演算、非線形変換、線形変換処理などが適用される構成。各演算の順番は特に決まっていない。図5にSPN構造のラウンド関数の例を示す。
nビットの入力データはn/2ビットの2つのデータに分割される。うち片方のデータとラウンド鍵を入力として持つ関数(F関数)が適用され、出力がもう片方のデータに排他的論理和される。そののちデータの左右を入れ替えたものを出力データとする。F関数の内部構成にもさまざまなタイプのものがあるが、基本的にはSPN構造同様にラウンド鍵データとの排他的論理和演算、非線形演算、線形変換の組み合わせで実現される。図6にFeistel構造のラウンド関数の一例を示す。
拡張Feistel構造はFeistel構造ではデータ分割数が2であったものを,3以上に分割する形に拡張したものである。分割数をdとすると、dによってさまざまな拡張Feistel構造を定義することができる。F関数の入出力のサイズが相対的に小さくなるため、小型実装に向いているとされる。図7にd=4でかつ、ひとつのラウンド内に2つのF関数が並列に適用される場合の拡張Feistel構造の一例を示す。また,図8にd=8でかつ,ひとつのラウンド内に1つのF関数が適用される場合の拡張Feistel構造の一例を示す。
非線形変換処理部は、入力されるデータのサイズが大きくなると実装上のコストが高くなる傾向がある。それを回避するために対象データを複数の単位に分割し、それぞれに対して非線形変換を施す構成がとられることが多い。例えば入力サイズをmsビットとして、それらをsビットずつのm個のデータに分割して、それぞれに対してsビット入出力を持つ非線形変換を行う構成である。それらのsビット単位の非線形変換をS−boxと呼ぶものとする。図9に例を示す。
線形変換処理部はその性質上、行列として定義することが可能である。行列の要素はGF(28)の体の要素やGF(2)の要素など、一般的にはさまざまな表現ができる。図10にmsビット入出力をもち、GF(2s)の上で定義されるm×mの行列により定義される線形変換処理部の例を示す。
本開示の暗号処理の説明の前に拡散(diffusion)特性の概要について説明する。
先に簡単に説明したように、ブロック暗号の安全性を評価する指標のひとつとしてdiffusion(拡散)特性と呼ばれるものがある。この特性は入力データの変化を出力データに波及させる(拡散させる)特性と考えることができ、安全なブロック暗号にはこのような入力データの変化の影響をできるだけ速く出力データに伝えることが求められる。
ある出力ビットを入力ビットの関係式として記述して以下の条件を満たす場合,その出力ビットは「diffusion状態」になっていると定義する。
(条件1)全入力ビットが関係式に含まれる。
(条件2)全入力ビットが少なくとも1度はラウンド関数(F関数)を通過している。
全出力ビットが拡散(diffusion)状態になっていることを「全拡散(full diffusion)状態」と定義する。
この全拡散(full diffusion)状態を満たすために最低限必要なラウンド数(繰り返し数)を「全拡散(full diffusion)ラウンド数」と定義する。
Xi+2 1=F(RKi+1 1,Xi+1 1)(+)Xi+1 2=F(RKi+1 1,F(RKi 1,Xi 1)(+)Xi 2)(+)Xi 1
Xi+3 1=F(RKi+2 1,Xi+2 1)(+)Xi+2 2=F(RKi+2 1,F(RKi+1 1,Xi+1 1)(+)Xi+1 2)(+)Xi+2 2
=F(RKi+2 1,F(RKi+1 1,F(RKi 1,Xi 1)(+)Xi 2 )(+)Xi 1)(+)F(RKi 1,Xi 1)(+)Xi 2
Xi+2 2=Xi+1 1=F(RKi 1,Xi 1)(+)Xi 2
Xi+3 2=Xi+2 1=F(RKi+1 1,Xi+1 1)(+)Xi+1 2=F(RKi+1 1,F(RKi 1,Xi 1)(+)Xi 2 )(+)Xi 1
F(K,X)はデータXをパラメータKを用いてF関数で変換したデータを表し、
(+)はビット毎の排他的論理和を表す。
図15に第iラウンド目のn−bit入力Xiをn/4−bitずつ4つに分割し、その4番目のn/4−bitデータ(Xi 4と表記)の一部のみに変化を与えた場合のその影響の波及を示す。
次に、これまでに提案されている拡散(diffusion)特性を考慮した処理構成についての概要を説明する。
この構成で達成している全拡散(full diffusion)ラウンド数はd=6,8,10,12,14,16の場合にそれぞれ5,6,7,8,8,8ラウンドとなっており、通常の構成のd+1ラウンドより良い拡散(diffusion)特性が得られていることが分かる。しかしながら、この構成ではd=4の場合には効果がなく、またこれ以上全拡散(full diffusion)ラウンド数を削減することはできない。
以上のような問題を鑑み、本開示では、一般化Feistel構造において,実装コストを増大させずにより高い拡散(diffusion)特性を得られるような構成法を提案する。
F関数に入力されるデータ系列をF関数入力側データ系列,
排他的論理和されるデータ系列を排他的論理和側データ系列、
と呼ぶ。
その後、各系列(各ライン)において転送されるn/dビットデータ各々について、さらにd/2個に再分割する(この際の分割は等分割でなくても良い)。
各系列(各ライン)各々でd/2個に再分割されたデータを次のルールにしたがって分配する(図20:ステップ2)。
(2)排他的論理和側データ系列は必ず次のラウンド関数のF関数入力側データ系列に分配する
(3)各d/2個に分割されたデータ系列はd/2箇所の次のラウンド関数のデータ系列にそれぞれ重複なく分配する
これを必要回数繰り返す。
このように構成した場合、データの分割数dによらず全拡散(full diffusion)ラウンド数4を実現することが可能になる。
(1)第iラウンドのあらゆる入力データの変化は第i+1ラウンド目の少なくとも1つのF関数に影響を与える。
(2)第i+1ラウンド目の排他的論理和側データ系列のうち少なくとも1つはdiffusion状態となっている。
(3)第i+1ラウンド目の排他的論理和側データ系列で拡散(diffusion)状態となっているデータはさらにd/2個に分割され,第i+2ラウンド目のd/2個の全F関数に影響を与える。そのため第i+2ラウンド目の全ての排他的論理和側データ系列は拡散(diffusion)状態になる。
(4)第i+2ラウンド目の排他的論理和側データ系列は第i+3ラウンド目のF関数入力側データ系列となるため、第i+3ラウンド目のF関数入力側データ系列は全て拡散(diffusion)状態となる。また、これら拡散(diffusion)状態であるデータは第i+3ラウンド目の全てのF関数に入力されるため,その出力と排他的論理和される排他的論理和側データ系列も全て拡散(diffusion)状態となる。
第iラウンド入力Xi 1に対応する第iラウンド出力の2分割データをそれぞれYi 1L,Yi 1Rとし,同様にXi 2,Xi 3,Xi 4についても対応する各分割データをYi 2L,Yi 2R,Yi 3L,Yi 3R,Yi 4L,Yi 4Rとする。これら分割データのサイズは等分割した際はn/8ビットとなる。
各ラインのビット数は、n/d=256/4=64ビットとなり、この再分割データは等分割すれば32ビットとなり、2つの32ビットデータが生成される。
しかし、等分割することは必須ではなく、64ビットのデータから生成する再分割データを20ビットと44ビット等、任意の組み合わせに分割してもよい。
ただし、次のラウンド演算部に入力する際には、異なるラインにおいて分割された20ビットと44ビットとの組み合わせによって分割数であるd=4個の64ビット単位のデータを再構成して各分割ラインに入力する。
このラウンド演算の繰り返し処理に際して、ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に再分割し、該再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行する。
(1)F関数入力側データ系列は必ず次のラウンド関数の排他的論理和側データ系列に分配する
(2)排他的論理和側データ系列は必ず次のラウンド関数のF関数入力側データ系列に分配する
(3)各d/2個に分割されたデータ系列はd/2箇所の次のラウンド関数のデータ系列にそれぞれ重複なく分配する
(条件1)全入力ビットが関係式に含まれる。
(条件2)全入力ビットが少なくとも1度はラウンド関数(F関数)を通過している。
さらに、全出力ビットが拡散(diffusion)状態になっている場合が「全拡散(full diffusion)状態」である。
これは、全拡散(full diffusion)を実現するための最小ラウンド数=4を実現するための設定である。
図25に分割数d:d=6の場合に各ラインで転送されるn/dビットデータ(n/6ビットデータ)を2分割、すなわちd/12ビットに分割してラウンド間の転送を行う構成例を示す。
入力nビットの分割数:dと、
各ライン各々の分割数:pと、
全拡散(full diffusion)を実現するためのラウント数、
これらの対応関係を示す図を図26に示す。
適切にデータ系列を分配すれば、全拡散(full diffusion)ラウンド数は、以下の式で算出できる。
ラウンド数=3+[logp(d/2)]
ただし、[x]はx以上の最小の整数とする。
図27に示す構成は、
分割数d:d=6の場合に、
(d/2)=3本のF関数入力側データ系列ラインについては、2分割、
(d/2)=3本の排他的論理和側系列ラインについては、3分割した例である。
このような構成としても、適切にデータ系列を分配すれば、全拡散(full diffusion)ラウンド数は4とすることが可能である。
図21においては、拡大鍵(ラウンド鍵)を各F関数に挿入して適用している。
これに対して、図28に示す構成では、拡大鍵(ラウンド鍵)をF関数出力と排他的論理和側データ系列との排他的論理和演算な部に挿入している。
このような構成においても、前述の各ラウント間のデータの再分割処理による転送構成によって、全拡散(full diffusion)ラウンド数の削減が実現される。
上記の項目[3.本開示に従った拡散(diffusion)特性を向上させた構成例について]では、一般化Feistel構造において,実装コストを増大させずにより高い拡散(diffusion)特性を得られるような構成法について説明した。
まず、図29を参照して本実施例の基本的な構成例について説明する。
本構成では、まず前述した上記項目[3]において説明した実施例と同様、d−lineの一般化Feistel構造において、nビット入力データを分割数dに従って、n/dビット毎のd個に分割し、それぞれ、ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行する。
i段目のラウンド演算後の、各ライン(系列)各々のd/2個に分割された出力データのデータ中、j番目のデータをYi[j]と表す(ただし、jは1以上d2/2以下の整数)。
ただしsは0以上(d−1)以下、tは1以上d/2以下の整数である。
YYi[1]=Yi[1]||Yi[1×d/2+1]||Yi[2×d/2+1]||…||Yi[(d−1)×d/2+1]、
YYi[2]=Yi[2]||Yi[1×d/2+2]||Yi[2×d/2+2]||…||Yi[(d−1)×d/2+2]、
…
YYi[d/2]=Yi[d/2]||Yi[1×d/2+d/2]||Yi[2×d/2+d/2]||…||Yi[(d−1)×d/2+d/2]
となる。
ただし、
Xi[j]は、i段目の入力データをn/dビット毎d個に分割したものをそれぞれd/2個に分割したデータのj番目のデータ、
sは0以上(d−1)以下、tは1以上d/2以下の整数である。
(1)F関数入力側データ系列は必ず次のラウンド関数の排他的論理和側データ系列に分配する
(2)排他的論理和側データ系列は必ず次のラウンド関数のF関数入力側データ系列に分配する
(3)各d/2個に分割されたデータ系列はd/2箇所の次のラウンド関数のデータ系列にそれぞれ重複なく分配する
ZZi+1[t]
とする。
ZZi+1[1]=XXi+1[1]<<<1となるので、
ZZi+1[1]=XXi+1[1]<<<1
=(Xi+1[1]||Xi+1[1×d/2+1]||Xi+1[2×d/2+1]||・・・||Xi+1[(d−1)×d/2+1])<<<1
=Xi+1[1×d/2+1]||Xi+1[2×d/2+1]||…||Xi+1[(d−1)×d/2+1]||Xi+1[1]
となる。
入力データの分割数d:d=6とした場合を図30に例示する。
図30での各中間変数は以下のように定義される。
YYi[t]:i段目のd/2個に分割された出力データのうちj番目のデータYi[j](ただし、jは1以上d2/2以下の整数)のうち、j=(d/2)s+t(ただし、sは0以上(d−1)以下、tは1以上d/2以下の整数)を満たすものを順に連結したデータ。
XXi+1[t]:i+1段目の入力データをn/dビット毎d個に分割したものをそれぞれd/2個に分割したデータのj番目のデータXi+1[j]のうち、j=(d/2)s+t(ただし、sは0以上(d−1)以下、tは1以上d/2以下の整数)を満たすものを順に連結したデータ。
ZZi+1[t]:XXi+1[t]のデータ系列を2t−1データ分だけ左に巡回シフトさせたデータ系列。
これらの中間変数である。
tは1以上d/2以下の整数であり、t=1,2,3の各値が設定され、
中間変数として、
i段目出力データ対応の中間変数YYi[t]:YYi[1]、YYi[2]、YYi[3]、
i+1段目のシフト前入力データ対応の中間変数XXi+1[t]:XXi+1[1]、XXi+1[2]、XXi+1[3]
i+1段目のシフト後入力データ対応の中間変数ZZi+1[t]: ZZi+1[1]、ZZi+1[2]、ZZi+1[3]
これらが以下のように算出される。
YYi[1]=Yi[1]||Yi[4]||Yi[7]||Yi[10]||Yi[13]||Yi[16]、
YYi[2]=Yi[2]||Yi[5]||Yi[8]||Yi[11]||Yi[14]||Yi[17]、
YYi[3]=Yi[3]||Yi[6]||Yi[9]||Yi[12]||Yi[15]||Yi[18]、
XXi+1[1]=Xi+1[1]||Xi+1[4]||Xi+1[7]||Xi+1[10]||Xi+1[13]||Xi+1[16]、
XXi+1[2]=Xi+1[2]||Xi+1[5]||Xi+1[8]||Xi+1[11]||Xi+1[14]||Xi+1[17]、
XXi+1[3]=Xi+1[3]||Xi+1[6]||Xi+1[9]||Xi+1[12]||Xi+1[15]||Xi+1[18]、
ZZi+1[1]=Xi+1[4]||Xi+1[7]||Xi+1[10]||Xi+1[13]||Xi+1[16]||Xi+1[1]、
ZZi+1[2]=Xi+1[11]||Xi+1[14]||Xi+1[17]|| Xi+1[2]||Xi+1[5]||Xi+1[8]、
ZZi+1[3]=Xi+1[18]||Xi+1[3]||Xi+1[6]||Xi+1[9]||Xi+1[12]||Xi+1[15]。
(1)F関数入力側データ系列は必ず次のラウンド関数の排他的論理和側データ系列に分配する
(2)排他的論理和側データ系列は必ず次のラウンド関数のF関数入力側データ系列に分配する
(3)各d/2個に分割されたデータ系列はd/2箇所の次のラウンド関数のデータ系列にそれぞれ重複なく分配する
この条件(1)〜(3)を満足する。
したがって、拡散(diffusion)特性の改善が可能となる。
通常のFeistel構造における暗号化関数は図32のように表現することができる。また、通常のFeistel構造における復号関数は図33のように表現することができる。
また、暗号化関数と復号関数で同じ関数を用いられることは、検証コストが半減できる(検証は暗号化関数、復号関数のどちらかで検証できればよい)、コードサイズが半減できる、などのメリットもある。
先に説明した図14に示すような4−line一般化Feistel構造では、処理ラウンド数が奇数であれば、インボリューション性を持つことが知られている。例えば3ラウンドで構成された4−line一般化Feistel構造はインボリューション性を持つ(5ラウンド構成も同様)。しかしながら処理ラウンド数が偶数の場合は、インボリューション性を持たない。
1、もしくは、
(d/2)+1
である場合のみインボリューション性を持つ。
1、もしくは、
(d/2)+1=(4/2)+1=3
である場合のみインボリューション性を持つ。
具体的には、
構成ラウンド数=1,3,5,7,9・・・、
つまり構成ラウンド数が奇数である場合のみインボリューション性を持つ。
1、もしくは、
(d/2)+1=(6/2)+1=4
である場合のみインボリューション性を持つ。
具体的には、
構成ラウンド数=1,4,7,10,13・・・、
構成ラウンド数がこれらの数である場合のみインボリューション性を持つ。
この方式では、構成ラウンド数が1+3n(ただしnは0以上の整数)の場合のみインボリューション性を満たす。
以下において説明する方式は、前記の項目[3.本開示に従った拡散(diffusion)特性を向上させた構成例について]において説明した高い拡散(diffusion)特性を得られる構成に、さらにインボリューション性を持たせる方式となる。
(ステップ1)
まず通常の構成と同様に分割数dのd−lineの一般化Feistel構造において、nビット入力データを分割数dに応じて、n/dビット毎、d個に分割し、各n/dビットを各分割ラインに入力して、それぞれF関数処理、排他的論理和処理を行う。
このとき、F関数に入力されるデータ系列をF関数入力側データ系列、排他的論理和されるデータ系列を排他的論理和側データ系列と呼ぶ。
同様に排他的論理和側データ系列を例えば左側から順にR(0)、…、R((d/2)−1)と表す。
その後、各系列(ライン)の転送データであるn/dビットデータをさらにd/2個に再分割する。この再分割は、等分割でなくてもよい。
この再分割されたデータを、F関数入力側データ系列、排他的論理和側データ系列各々について、それぞれL(i)j、R(i)jと表現する。
iは、各系列(ライン)の識別子(番号)、
jは、1つの系列(ライン)の再分割データ各々識別子(番号)、
である。
例えば、最も左側のF関数入力データ系列をd/2個に再分割した最も左側のデータをL(0)0とし、順にL(0)1、…、L(0)d/2−1と表現する。
ル−ル(2−1)
最も左側のF関数入力データ系列、すなわちi=0のL(0)のデータを分配する。
L(0)0を次のラウンド関数のR(0)0に分配、
L(0)1を次のラウンド関数のR(1)1に分配、
同様にi=(d/2)−1までL(0)iをR(i)iに分配する。
すなわち、
L(0)0=R(0)0,
L(0)1=R(1)1,
L(0)2=R(2)2,
・・・
となる。
次にL(1)のデータを分配する。
L(1)0を次のラウンド関数のR(1)0に分配、
L(1)1を次のラウンド関数のR(2)1に分配、
同様にi=(d/2)−1までL(1)iをR((i+1)mod d/2)iに分配する。
以下、L((d/2)−1)のデータまで、上記2と同様の処理を繰り返す。つまり、L(i)jを次のラウンドのR((i+j)mod d/2)jに分配する(ただし、i、jはそれぞれ0以上(d/2)−1以下)。
排他的論理和側データ系列についても同様の処理を繰り返す。つまり、R(i)jを次のラウンド関数のL(((d/2)+i−j)mod d/2)jに分配する。ただし、i、jはそれぞれ0以上(d/2)−1以下である。
このように分配した後、各d/2個に分割されたデータをそれぞれ1つのデータに結合する。
以上の処理を、ラウント演算の実行回数に応じて必要回数繰り返す。
図37に6−line(d=6)の場合に上記処理を実行する構成の一構成例を示す。
これら、図36、図37に示す構成では、各系列(ライン)においてd/2個に再分割されたデータを上記ステップ2に示すルール(2−1)〜(2−4)に従って月のラウンドに対して再分配する構成を有する。このデータの再分割と再分配構成によって、これらの方式は構成ラウンド数に関わらずインボリューション性を持つ。
最後に、上述した実施例に従った暗号処理を実行する暗号処理装置の実相例について説明する。
上述した実施例に従った暗号処理を実行する暗号処理装置は、暗号処理を実行する様々な情報処理装置に搭載可能である。具体的には、PC、TV、レコーダ、プレーヤ、通信機器、さらに、RFID、スマートカード、センサネットワーク機器、デンチ/バッテリー認証モジュール、健康、医療機器、自立型ネットワーク機器等、例えばデータ処理や通信処理に伴う暗号処理を実行する様々な危機において利用可能である。
暗号化処理、復号処理、双方の処理において、上述した実施例において説明した構成を適用することが可能である。
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
(1) データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理部を有し、
前記暗号処理部は、
入力データであるnビットデータを分割数dで分割したn/dビットデータを前記各ラインに入力して、前記ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行する構成であり、
ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に再分割し、該再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行する暗号処理装置。
(1)F関数入力側データ系列は必ず次のラウンド関数の排他的論理和側データ系列に分配する、
(2)排他的論理和側データ系列は必ず次のラウンド関数のF関数入力側データ系列に分配する、
(3)各d/2個に分割されたデータ系列はd/2箇所の次のラウンド関数のデータ系列にそれぞれ重複なく分配する、
上記(1)〜(3)の分配条件を満たす処理によって前段のラウンド演算の演算結果を次段のラウンド演算の入力として設定する前記(1)または(2)に記載の暗号処理装置。
(5)前記暗号処理部は、ラウンド演算の出力データを有するd個のライン各々のn/dビットデータをd/2個に再分割して、d×(n/d)個の再分割データを生成し、分割数dに応じたd本のラインの異なるラインから選択したd/2個の再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行する前記(1)〜(4)いずれかに記載の暗号処理装置。
(条件1)全入力ビットが関係式に含まれる
(条件2)全入力ビットが少なくとも1度は前記ラウンド関数を通過している
上記2つの条件を満足する全拡散(full diffusion)状態を実現する構成である前記(1)〜(5)いずれかに記載の暗号処理装置。
(7)前記暗号処理部は、前記全拡散(full diffusion)状態を4ラウンドのラウンド演算によって実現する前記(1)〜(6)いずれかに記載の暗号処理装置。
(10)前記暗号処理部の各ラウンド演算の再分割データの再構成処理は、前段のラウンド関数入力側系列の再分割データを、予め決定した規則に従って次段の排他的論理和側系列に分配し、前段の排他的論理和側系列の再分割データを、予め決定した規則に従って次段のラウンド関数入力側系列に分配する構成である前記(1)〜(9)いずれかに記載の暗号処理装置。
(11)前記暗号処理部は、入力データとしての平文を暗号文に変換する暗号化処理、または、入力データとしての暗号文を平文に変換する復号処理を実行する前記(1)〜(10)いずれかに記載の暗号処理装置。
具体的には、データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理部を有し、暗号処理部において、入力データであるnビットデータを分割数dで分割したn/dビットデータを各ラインに入力して、ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行する。ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に分割し、該分割データを組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして処理を実行する。この構成によって、拡散(diffusion)特性を向上させた安全性の高い暗号処理が実現される。
701 CPU(Central processing Unit)
702 メモリ
703 暗号処理部
704 乱数生成部
705 送受信部
Claims (13)
- データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理部を有し、
前記暗号処理部は、
入力データであるnビットデータを分割数dで分割したn/dビットデータを前記各ラインに入力して、前記ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行する構成であり、
ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に再分割し、該再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行する暗号処理装置。 - 前記ラウンド関数は、
ラウンド鍵を適用した演算と、非線形変換処理と、線形変換処理を含むF関数、およびF関数の出力または入力に対する他ラインのデータとの排他的論理和演算を含む請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
(1)F関数入力側データ系列は必ず次のラウンド関数の排他的論理和側データ系列に分配する、
(2)排他的論理和側データ系列は必ず次のラウンド関数のF関数入力側データ系列に分配する、
(3)各d/2個に分割されたデータ系列はd/2箇所の次のラウンド関数のデータ系列にそれぞれ重複なく分配する、
上記(1)〜(3)の分配条件を満たす処理によって前段のラウンド演算の演算結果を次段のラウンド演算の入力として設定する請求項2に記載の暗号処理装置。 - 前記暗号処理部は、
入力データの分割数dを4以上とした一般化Feistel構造を有する請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
ラウンド演算の出力データを有するd個のライン各々のn/dビットデータをd/2個に再分割して、d×(n/d)個の再分割データを生成し、分割数dに応じたd本のラインの異なるラインから選択したd/2個の再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行する請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
全出力ビットが以下に示す2つの条件を満足する拡散(diffusion)状態、すなわち、出力ビットを入力ビットの関係式として記述した場合に、
(条件1)全入力ビットが関係式に含まれる
(条件2)全入力ビットが少なくとも1度は前記ラウンド関数を通過している
上記2つの条件を満足する全拡散(full diffusion)状態を実現する構成である請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
前記全拡散(full diffusion)状態を4ラウンドのラウンド演算によって実現する請求項6に記載の暗号処理装置。 - 前記暗号処理部の前段のラウンド演算の出力データと次段のラウンド演算の再分割データの入出力関係を決定する接続構成は、
ラウンド演算の出力データを有するラインのn/dビットデータの再分割処理によって生成されるd×(n/d)個の再分割データの組み合わせデータである(d/2)個の2n/dビットのデータセットを単位とした接続構成から選択される接続構成である請求項1に記載の暗号処理装置。 - 前記暗号処理部は、
暗号化処理と復号処理の双方に適用可能なインボリーション性を有する請求項1に記載の暗号処理装置。 - 前記暗号処理部の各ラウンド演算の再分割データの再構成処理は、
前段のラウンド関数入力側系列の再分割データを、予め決定した規則に従って次段の排他的論理和側系列に分配し、
前段の排他的論理和側系列の再分割データを、予め決定した規則に従って次段のラウンド関数入力側系列に分配する構成である請求項9に記載の暗号処理装置。 - 前記暗号処理部は、
入力データとしての平文を暗号文に変換する暗号化処理、または、
入力データとしての暗号文を平文に変換する復号処理を実行する請求項1に記載の暗号処理装置。 - 暗号処理装置において実行する暗号処理方法であり、
暗号処理部が、データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理ステップを実行し、
前記暗号処理ステップは、
入力データであるnビットデータを分割数dで分割したn/dビットデータを前記各ラインに入力して、前記ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行し、
ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に再分割し、該再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行する暗号処理方法。 - 暗号処理装置において暗号処理を実行させるプログラムであり、
暗号処理部に、データ処理対象となるデータの構成ビットを複数のラインに分割して入力し、各ラインのデータに対してラウンド関数を適用したデータ変換処理を繰り返して実行する暗号処理ステップを実行させ、
前記暗号処理ステップにおいて、
入力データであるnビットデータを分割数dで分割したn/dビットデータを前記各ラインに入力して、前記ラウンド関数を適用したデータ変換処理を含む演算をラウンド演算として繰り返し実行させ、
ラウンド演算の出力データを有するラインのn/dビットデータをd/2個に再分割し、該再分割データを再度組み合わせて、前段のラウンド演算の出力データと異なるd個のn/dビットデータを再構成して、次段のラウンド演算の入力データとして設定する処理を実行させるプログラム。
Priority Applications (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011207702A JP5682525B2 (ja) | 2011-03-28 | 2011-09-22 | 暗号処理装置、および暗号処理方法、並びにプログラム |
EP12763711.4A EP2693681A4 (en) | 2011-03-28 | 2012-02-20 | ENCRYPTION PROCESSING DEVICE, ENCRYPTION PROCESSING METHOD AND PROGRAM THEREFOR |
RU2013142989/08A RU2598327C2 (ru) | 2011-03-28 | 2012-02-20 | Утройство для криптографической обработки данных, способ криптографической обработки данных и программа |
CN201280014164.9A CN103444124B (zh) | 2011-03-28 | 2012-02-20 | 加密处理装置、加密处理方法 |
US14/005,663 US8983062B2 (en) | 2011-03-28 | 2012-02-20 | Encryption processing device, encryption processing method, and programme |
MYPI2013003197A MY163144A (en) | 2011-03-28 | 2012-02-20 | Cryptographic processing device, cryptographic processing method, and program |
PCT/JP2012/053930 WO2012132620A1 (ja) | 2011-03-28 | 2012-02-20 | 暗号処理装置、および暗号処理方法、並びにプログラム |
CA2827761A CA2827761C (en) | 2011-03-28 | 2012-02-20 | Cryptographic processing device, cryptographic processing method, and program |
BR112013024250A BR112013024250A2 (pt) | 2011-03-28 | 2012-02-20 | método e dispositivo de processamento criptográfico, programa, e, dispositivo de processamento de informação. |
KR1020137024805A KR101770874B1 (ko) | 2011-03-28 | 2012-02-20 | 암호 처리 장치, 암호 처리 방법, 컴퓨터로 판독가능한 기록 매체, 및 정보 처리 장치 |
SG2013070586A SG193544A1 (en) | 2011-03-28 | 2012-02-20 | Cyrptographic processing device, cryptographic processing method, and program |
AU2012235129A AU2012235129B2 (en) | 2011-03-28 | 2012-02-20 | Encryption processing device, encryption processing method, and programme |
TW101105911A TWI552121B (zh) | 2011-03-28 | 2012-02-22 | A cryptographic processing device, a cryptographic processing method and a program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011069182 | 2011-03-28 | ||
JP2011069182 | 2011-03-28 | ||
JP2011207702A JP5682525B2 (ja) | 2011-03-28 | 2011-09-22 | 暗号処理装置、および暗号処理方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012215813A true JP2012215813A (ja) | 2012-11-08 |
JP5682525B2 JP5682525B2 (ja) | 2015-03-11 |
Family
ID=46930381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011207702A Expired - Fee Related JP5682525B2 (ja) | 2011-03-28 | 2011-09-22 | 暗号処理装置、および暗号処理方法、並びにプログラム |
Country Status (13)
Country | Link |
---|---|
US (1) | US8983062B2 (ja) |
EP (1) | EP2693681A4 (ja) |
JP (1) | JP5682525B2 (ja) |
KR (1) | KR101770874B1 (ja) |
CN (1) | CN103444124B (ja) |
AU (1) | AU2012235129B2 (ja) |
BR (1) | BR112013024250A2 (ja) |
CA (1) | CA2827761C (ja) |
MY (1) | MY163144A (ja) |
RU (1) | RU2598327C2 (ja) |
SG (1) | SG193544A1 (ja) |
TW (1) | TWI552121B (ja) |
WO (1) | WO2012132620A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015145964A1 (en) | 2014-03-28 | 2015-10-01 | Sony Corporation | Encryption processing device, encryption processing method, and program |
JP2016105123A (ja) * | 2014-12-01 | 2016-06-09 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
US10425226B2 (en) | 2014-03-28 | 2019-09-24 | Sony Corporation | Encryption processing device and encryption processing method |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4561252B2 (ja) | 2004-09-03 | 2010-10-13 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
CN103259656B (zh) * | 2012-11-07 | 2016-08-31 | 鹤山世达光电科技有限公司 | 作品传输方法和系统 |
CN106027236B (zh) * | 2016-05-20 | 2019-01-15 | 武汉天喻信息产业股份有限公司 | 一种抗侧信道分析的大数相减方法 |
US10797722B2 (en) | 2016-06-10 | 2020-10-06 | The Boeing Company | System and method for providing hardware based fast and secure expansion and compression functions |
US11539623B2 (en) | 2020-08-31 | 2022-12-27 | Micron Technology, Inc. | Single field for encoding multiple elements |
US11296995B2 (en) | 2020-08-31 | 2022-04-05 | Micron Technology, Inc. | Reduced sized encoding of packet length field |
US11418455B2 (en) | 2020-08-31 | 2022-08-16 | Micron Technology, Inc. | Transparent packet splitting and recombining |
US11360920B2 (en) | 2020-08-31 | 2022-06-14 | Micron Technology, Inc. | Mapping high-speed, point-to-point interface channels to packet virtual channels |
US11412075B2 (en) | 2020-08-31 | 2022-08-09 | Micron Technology, Inc. | Multiple protocol header processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06118872A (ja) * | 1992-10-09 | 1994-04-28 | Matsushita Electric Ind Co Ltd | データ撹乱装置 |
JP2002518713A (ja) * | 1998-06-15 | 2002-06-25 | アールエスエイ セキュリティ インコーポレイテッド | データ依存性ローテーションを用いる強化型ブロック暗号 |
WO2009075337A1 (ja) * | 2007-12-13 | 2009-06-18 | Nec Corporation | 暗号化方法及び復号化方法、装置並びにプログラム |
WO2011052585A1 (ja) * | 2009-10-27 | 2011-05-05 | 日本電気株式会社 | 暗号化装置、暗号化方法及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5351299A (en) | 1992-06-05 | 1994-09-27 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for data encryption with block selection keys and data encryption keys |
BR0318492A (pt) | 2003-09-05 | 2006-09-12 | Telecom Italia Spa | rede dependente de chave combinatória para criptografia/decifração de dados digitais de entrada, bloco para ser usado para funções criptográficas controladas por chave secreta, método para criptografia/decifração de dados digitais de entrada, dispositivo de processamento de dados, e, dispositivo de multimìdia para armazenar e reproduzir dados digitais |
JP2007192893A (ja) | 2006-01-17 | 2007-08-02 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2007199156A (ja) | 2006-01-24 | 2007-08-09 | Sony Corp | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP4967544B2 (ja) * | 2006-09-01 | 2012-07-04 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP2008058830A (ja) * | 2006-09-01 | 2008-03-13 | Sony Corp | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
JP5532560B2 (ja) * | 2008-08-25 | 2014-06-25 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
-
2011
- 2011-09-22 JP JP2011207702A patent/JP5682525B2/ja not_active Expired - Fee Related
-
2012
- 2012-02-20 CA CA2827761A patent/CA2827761C/en active Active
- 2012-02-20 RU RU2013142989/08A patent/RU2598327C2/ru active
- 2012-02-20 SG SG2013070586A patent/SG193544A1/en unknown
- 2012-02-20 EP EP12763711.4A patent/EP2693681A4/en not_active Ceased
- 2012-02-20 CN CN201280014164.9A patent/CN103444124B/zh active Active
- 2012-02-20 AU AU2012235129A patent/AU2012235129B2/en not_active Ceased
- 2012-02-20 MY MYPI2013003197A patent/MY163144A/en unknown
- 2012-02-20 KR KR1020137024805A patent/KR101770874B1/ko active IP Right Grant
- 2012-02-20 BR BR112013024250A patent/BR112013024250A2/pt not_active Application Discontinuation
- 2012-02-20 US US14/005,663 patent/US8983062B2/en not_active Expired - Fee Related
- 2012-02-20 WO PCT/JP2012/053930 patent/WO2012132620A1/ja active Application Filing
- 2012-02-22 TW TW101105911A patent/TWI552121B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06118872A (ja) * | 1992-10-09 | 1994-04-28 | Matsushita Electric Ind Co Ltd | データ撹乱装置 |
JP2002518713A (ja) * | 1998-06-15 | 2002-06-25 | アールエスエイ セキュリティ インコーポレイテッド | データ依存性ローテーションを用いる強化型ブロック暗号 |
WO2009075337A1 (ja) * | 2007-12-13 | 2009-06-18 | Nec Corporation | 暗号化方法及び復号化方法、装置並びにプログラム |
WO2011052585A1 (ja) * | 2009-10-27 | 2011-05-05 | 日本電気株式会社 | 暗号化装置、暗号化方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
JPN6014043925; Suzaki, T. and Minematsu, K.: 'Improving the Generalized Feistel' Lecture Notes in Computer Science Vol.6147, 2010, p.19-39 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015145964A1 (en) | 2014-03-28 | 2015-10-01 | Sony Corporation | Encryption processing device, encryption processing method, and program |
US10425226B2 (en) | 2014-03-28 | 2019-09-24 | Sony Corporation | Encryption processing device and encryption processing method |
JP2016105123A (ja) * | 2014-12-01 | 2016-06-09 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
Also Published As
Publication number | Publication date |
---|---|
RU2598327C2 (ru) | 2016-09-20 |
WO2012132620A1 (ja) | 2012-10-04 |
TW201239831A (en) | 2012-10-01 |
MY163144A (en) | 2017-08-15 |
CA2827761C (en) | 2019-01-08 |
EP2693681A1 (en) | 2014-02-05 |
SG193544A1 (en) | 2013-10-30 |
AU2012235129A1 (en) | 2013-09-05 |
JP5682525B2 (ja) | 2015-03-11 |
CA2827761A1 (en) | 2012-10-04 |
CN103444124B (zh) | 2016-03-16 |
KR101770874B1 (ko) | 2017-08-23 |
RU2013142989A (ru) | 2015-03-27 |
CN103444124A (zh) | 2013-12-11 |
KR20140006961A (ko) | 2014-01-16 |
AU2012235129B2 (en) | 2015-12-24 |
TWI552121B (zh) | 2016-10-01 |
EP2693681A4 (en) | 2014-11-05 |
US8983062B2 (en) | 2015-03-17 |
BR112013024250A2 (pt) | 2018-06-19 |
US20140010364A1 (en) | 2014-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5682525B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
US8731188B2 (en) | Cryptographic processing apparatus and cryptographic processing method, and computer program | |
JP4961909B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
KR101364192B1 (ko) | 암호처리장치, 암호처리 알고리즘 구축방법 및 암호처리방법과 컴퓨터·프로그램 | |
JP5682527B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
US8396210B2 (en) | Cryptographic processing apparatus and cryptographic processing method, and computer program | |
TWI447683B (zh) | Information processing device | |
JP5682526B2 (ja) | データ処理装置、およびデータ処理方法、並びにプログラム | |
WO2009087972A1 (ja) | データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム | |
JP2008058830A (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP5680016B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
JP5772934B2 (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
KR102157219B1 (ko) | 경량 블록 암호화에 대한 고차 부채널 공격에 대응하는 방법 및 이를 이용한 장치 | |
JP6292107B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141021 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141125 |
|
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: 20141216 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141229 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5682525 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
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 |