JP2012143011A - 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム - Google Patents
復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム Download PDFInfo
- Publication number
- JP2012143011A JP2012143011A JP2012102624A JP2012102624A JP2012143011A JP 2012143011 A JP2012143011 A JP 2012143011A JP 2012102624 A JP2012102624 A JP 2012102624A JP 2012102624 A JP2012102624 A JP 2012102624A JP 2012143011 A JP2012143011 A JP 2012143011A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- linear
- conversion
- linear conversion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【解決手段】複数の小さなSボックス(S−box)による非線形変換を実行する第1段の非線形変換部と、第1段非線形変換部からの出力をすべて入力して最適拡散変換を行う行列を適用したデータ変換を実行する線形変換部と、線形変換部の出力データを分割した分割データ各々の非線形変換処理を実行する複数の小型非線形変換部からなる第2段非線形変換部を適用したデータ変換を実行する。本構成により、クリティカルパスを過大にすることなく適切なデータ拡散が実現され、実装効率および安全性の高い構成を実現することができる。
【選択図】図13
Description
(1)最大差分確率が十分小さい
(2)最大線形確率が十分小さい
(3)ブール多項式表現を行った際のブール代数次数が十分大きい
(4)入出力を多項式表現した際の項数が十分多い
F関数を複数ラウンド繰り返し実行する拡張Feistel型共通鍵ブロック暗号を適用した復号処理装置であって、
F関数の各ラウンドのラウンド鍵のビット数と同じビット数を有するように暗号文データを分割する第1データ分割部と、
前記第1データ分割部で分割されたデータに前記ラウンド鍵の鍵加算を実行する鍵加算部と、
前記鍵加算部で鍵加算された前記分割データをさらに分割する第2データ分割部と、
前記第2データ分割部で分割されたデータ各々の非線形処理を実行する複数の小型非線形変換部からなる第1非線形変換部と、
前記第1非線形変換部を構成する小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換部と、
前記線形変換部の出力データを分割する第3データ分割部と、
前記第3データ分割部で分割したデータ各々の非線形変換を前記線形変換の直後に実行する複数の小型非線形変換部からなる第2非線形変換部と、
を有する復号処理装置にある。
GF(2)上で定義されるn次の既約多項式p(x)によって定義される拡大体GF(2n)上の行列を適用したデータ変換処理を実行する構成であることを特徴とする。
プログラムを記憶するメモリと、
前記プログラムを実行するプロセッサと、
前記プロセッサの制御下でF関数を複数ラウンド繰り返し実行する拡張Feistel型共通鍵ブロック暗号を適用した復号処理プログラムを実行する復号処理部とを備える情報処理装置であって、
前記復号処理部は、
F関数の各ラウンドのラウンド鍵のビット数と同じビット数を有するように暗号文データを分割する第1データ分割部と、
前記第1データ分割部で分割されたデータに前記ラウンド鍵の鍵加算を実行する鍵加算部と、
前記鍵加算部で鍵加算された前記分割データをさらに分割する第2データ分割部と、
前記第2データ分割部で分割されたデータ各々の非線形処理を実行する複数の小型非線形変換部からなる第1非線形変換部と、
前記第1非線形変換部を構成する小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換部と、
前記線形変換部の出力データを分割する第3データ分割部と、
前記第3データ分割部で分割したデータ各々の非線形変換を前記線形変換の直後に実行する複数の小型非線形変換部からなる第2非線形変換部と、
を有する情報処理装置にある。
F関数を複数ラウンド繰り返し実行する拡張Feistel型共通鍵ブロック暗号を適用した復号処理装置において実行する復号処理方法であって、
第1データ分割部において、F関数の各ラウンドのラウンド鍵のビット数と同じビット数を有するように暗号文データを分割する第1データ分割ステップと、
鍵加算部において、前記第1データ分割部で分割されたデータに前記ラウンド鍵の鍵加算を実行する鍵加算ステップと、
第2データ分割部において、前記鍵加算部で鍵加算された前記分割データをさらに分割する第2データ分割ステップと、
複数の小型非線形変換部からなる第1非線形変換部において、前記第2データ分割部で分割されたデータ各々の非線形処理を実行する第1非線形変換ステップと、
線形変換部において、前記第1非線形変換部を構成する小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換ステップと、
第3データ分割部において、前記線形変換部の出力データを分割する第3データ分割ステップと、
複数の小型非線形変換部からなる第2非線形変換部において、前記第3データ分割部で分割したデータ各々の非線形変換を前記線形変換の直後に実行する第2非線形変換ステップと、
を実行する復号処理方法にある。
F関数を複数ラウンド繰り返し実行する拡張Feistel型共通鍵ブロック暗号を適用した復号処理装置において復号処理を実行させるコンピュータ・プログラムであって、
第1データ分割部において、F関数の各ラウンドのラウンド鍵のビット数と同じビット数を有するように暗号文データを分割する第1データ分割ステップと、
鍵加算部において、前記第1データ分割部で分割されたデータに前記ラウンド鍵の鍵加算を実行する鍵加算ステップと、
第2データ分割部において、前記鍵加算部で鍵加算された前記分割データをさらに分割する第2データ分割ステップと、
複数の小型非線形変換部からなる第1非線形変換部において、前記第2データ分割部で分割されたデータ各々の非線形処理を実行する第1非線形変換ステップと、
線形変換部において、前記第1非線形変換部を構成する小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換ステップと、
第3データ分割部において、前記線形変換部の出力データを分割する第3データ分割ステップと、
複数の小型非線形変換部からなる第2非線形変換部において、前記第3データ分割部で分割したデータ各々の非線形変換を前記線形変換の直後に実行する第2非線形変換ステップと、
を実行させるコンピュータ・プログラムにある。
1.共通鍵ブロック暗号の概要
2.暗号攻撃の概要
3.複数の小型Sボックスの組み合わせからなる非線形変換処理構成
(3−1)複数の小型Sボックスの組み合わせからなる非線形変換処理構成の有効性について
(3−2)従来型の複数の小型Sボックスの組み合わせからなる非線形変換処理構成と問題点
(3−3)本発明に係る複数の小型Sボックスの組み合わせからなる非線形変換処理構成
4.暗号処理装置の構成例
まず、本発明の適用可能な通鍵ブロック暗号の概要について説明する。本明細書において、共通鍵ブロック暗号(以下ではブロック暗号)は、以下に定義するものを指すものとする。
平文[P]、暗号文[C]、鍵[K]の各ビットサイズは、以下のように示される。
平文P:nビット
暗号文C:nビット
鍵K:kビット
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
がある。以下、これらの具体的構成について、図4〜図6を参照して説明する。
まず、図4を参照して、ラウンド関数実行部20の一構成例としてのSPN構造ラウンド関数について説明する。SPN構造ラウンド関数実行部20aは、非線形変換層(S層)と線形変換層(P層)を接続したいわゆるSP型の構成を有する。図4に示すように、nビットの入力データすべてに対して、ラウンド鍵との排他的論理和(XOR)演算を実行する排他的論理和演算部21、排他的論理和演算部21の演算結果を入力し、入力データの非線形変換を実行する非線形変換処理部22、非線形変換処理部22における非線形変換処理結果を入力し、入力データに対する線形変換処理を実行する線形変換処理部23などによって構成される。線形変換処理部23の線形変換処理結果が、次のラウンドに出力される。最終ラウンドでは暗号文となる。なお、図4に示す例では、排他的論理和演算部21、非線形変換処理部22、線形変換処理部23の処理順を示しているが、これらの処理部の順番は、限定されるものではなく、他のシーケンスで処理を行なう構成としてもよい。
次に、図5を参照してラウンド関数実行部20の一構成例としてのFeistel(フェイステル)構造について説明する。Feistel構造は、図5に示すように、前ラウンドからの入力(第1ラウンドでは入力文)であるnビットの入力データをn/2ビットの2つのデータに分割して、各ラウンドにおいて入れ替えながら処理を実行する。
次に、図6を参照してラウンド関数実行部20の一構成例としての拡張Feistel構造について説明する。先に、図5を参照して説明したFeistel構造は、nビットの平文を2つに分割してn/2ビットずつに区分して処理を実行していた。すなわち、分割数:d=2とした処理である。なお、この分割数は、データ系列数とも呼ばれる。
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
これらの構造をとり得る。これらのラウンド関数実行部は、いずれも非線形変換層(S層)と線形変換層(P層)を接続したいわゆるSP型の構成を有する。すなわち、非線形変換処理を実行する非線形変換処理部と、線形変換処理を実行する線形変換処理部とを有する。以下、これらの変換処理構成について説明する。
非線形変換処理部の具体例について、図7を参照して説明する。図7に示すように、非線形変換処理部50は、具体的には、Sボックス(S−box)51と呼ばれるsビット入力sビット出力の非線形変換テーブルがm個並んだものであり、msビットの入力データがsビットずつ分割されてそれぞれ対応するSボックス(S−box)51に入力されデータが変換される。各Sボックス51では、例えば変換テーブルを適用した非線形変換処理が実行される。
線形変換処理部の具体例について、図8を参照して説明する。線形変換処理部は、入力値、例えば、Sボックスからの出力データであるmsビットの出力値を入力値Xとして入力し、この入力に対して線形変換を施しmsビットの結果を出力する。線形変換処理は、例えば、入力ビット位置の入れ替え処理などの線形変換処理を実行して、msビットの出力値Yを出力する。線形変換処理は、例えば、入力に対して、線形変換行列を適用して入力ビット位置の入れ替え処理を行なう。この行列の一例が図8に示す線形変換行列である。
上述した共通鍵ブロック暗号に対する暗号攻撃、すなわち、適用している鍵の解析やアルゴリズムの解析手法として様々な手法が知られている。以下、この暗号攻撃の概要について説明する。以下の各攻撃について、順次説明する。
(2−1)差分攻撃
(2−2)線形攻撃
(2−3)高階差分攻撃
(2−4)補間攻撃
共通鍵暗号の攻撃法の一つとして差分解読法(Differential Cryptanalysis)がある。差分解読法については、例えば、文献「E.Biham,A.Shamir,"Differential Cryptanalysis of DES−like Cryptosystems,"Journal of Cryptology,Vol.4,No.1,pp.3−72,1991.」に記述されている。
さらに、共通鍵暗号の攻撃法の一つとして線形解読法(Linear Cryptanalysis)がある。線形解読法については、例えば、文献「M.Matsui,"Linear Cryptanalysis Method for DES Cipher,"EUROCRYPT'93,LNCS 765,pp.386−397,1994.」に記述されている。
さらに、共通鍵暗号の攻撃法の一つとして高階差分攻撃法(Higher Order Differential Attack)がある。高階差分攻撃法については、例えば、文献「L.R.Knudsen、"Truncated and Higher Order Differentials,"FSE '94、 LNCS 1008,pp.196−211」に記述されている。
さらに、共通鍵暗号の攻撃法の一つとして補間攻撃法(Interpolation Attack)がある。補間攻撃については、例えば、文献「T.Jakobsen and L.R.Knudsen,"The Interpolation Attack on Block Cipher,"FSE'97,LNCS 1267,pp.28−40,1997.」に記述されている。
(3−1)複数の小型Sボックスの組み合わせからなる非線形変換処理構成の有効性について
上述したように、共通鍵ブロック暗号は、ラウンド関数の繰り返しによる暗号処理を行なう構成である。この共通鍵ブロック暗号処理は、ラウンド関数を繰り返し実行する構成であり、ラウンド関数では、線形変換処理、および非線形変換処理が実行される。非線形変換処理においては、例えば、図7を参照して説明したように、S−box(Sボックス)を適用した非線形変換処理が実行される。上述した共通鍵ブロック暗号処理の他にも、例えばハッシュ関数などのデータ変換においても非線形変換処理にSボックスが適用可能である。
(1)最大差分確率が十分小さい
(2)最大線形確率が十分小さい
(3)ブール多項式表現を行った際のブール代数次数が十分大きい
(4)入出力を多項式表現した際の項数が十分多い
(1)最大差分確率が十分小さい
(2)最大線形確率が十分小さい
(3)ブール多項式表現を行った際のブール代数次数が十分大きい
(4)入出力を多項式表現した際の項数が十分多い
これらの特性があるが、このような要求を満たすS−boxを効率よく生成する手法として、拡大体上のべき乗関数を用いる方法がよく知られている。この手法で拡大体の次数とべき乗の乗数を適切に選べば、非常に特性の良いS−boxが生成できる。
AESやCamelliaのS−boxはGF((24)2)上の逆元関数としてS−boxを構成することもできるため、安全性の観点からも特性が非常に良く、さらに非常に高いハードウェア実装性能も持つと言える。
CRYPTON ver.0.5、
CRYPTON ver.1.0、
Whirlpool、
FOX
などのS−boxなどがこのような手法に基づいて生成されたS−boxだと考えることができる。以下、これらの具体的な構成例およびその問題点について説明する。
以下、従来型の複数の小型Sボックスの組み合わせからなる非線形変換処理構成と問題点について、以下の各構成について説明する。
(a)CRYPTON ver.0.5、
(b)CRYPTON ver.1.0、
(c)Whirlpool、
(d)FOX
例えば、CRYPTON ver.0.5のS−boxは、図9に示す構造を持つ。S−box[S40]101、S−box[S41]102、S−box[S42]103は、4ビット入出力のS−boxであり、これらの3つのS−boxと、排他的論理和演算部111〜113が組み合わされて、入力8ビットを非線形変換して、出力8ビットを得る構成を持つ。なお、図に示すS−boxの表記[S4n]において、4は4ビット入出力のSボックスであることを示し、nは、S−boxの識別子である。S−box[S40]101、S−box[S41]102、S−box[S42]103は、すべて4ビット入出力のS−boxであり、それぞれ異なる非線形変換処理を実行する異なるS−boxである。
また、CRYPTON ver.1.0のS−boxは図10に示す構造を持つ。S−box[S40]121、S−box[S41]122と、S−box[S41]122の逆変換を実行するS−box[S41 −1]123、S−box[S40]121の逆変換を実行するS−box[S40 −1]124と、ビット演算による線形変換処理を実行するビット演算部131,132から構成される。
また、WhirlpoolのS−boxは図11のような構造をしている。S−box[S40]141、144,S−box[S40]の逆変換を実行するS−box[S40 −1]142,145と、S−box[S41]143を用い、排他論理和演算部151〜153によって、これらのS−boxを結合した構成を持つ。
さらに、FOXのS−boxは図12に示す構成をしている。3種類の4ビット入出力S−box161〜163と、4ビット入出力OR回路171,172を用い、これらを排他的論理和演算部によって接続した構成を持つ。
次に、本発明に係る複数の小型Sボックスの組み合わせからなる非線形変換処理構成について説明する。上述したように、複数の小型Sボックスの組み合わせからなる非線形変換処理構成については、すでに複数のタイプが提案されているが、それぞれクリティカルパスが長いという問題点や、線形変換行列の設定の困難性等の問題点を有している。
(a)分岐数および最適拡散層
(b)拡大体上の行列演算
まず、分岐数、および最適拡散変換(Optimal Diffusion Mappings)について説明する。
基礎体GF(2)上で定義されるn次の既約多項式p(x)によって作られる拡大体GF(2n)上で行われる行列演算を拡大体上の行列演算と呼ぶ。
例えば、
上記の行列演算において、出力y0,y1はそれぞれ、
y0=a0,0x0+a0,1x1
y1=a1,0x0+a1,1x1
と表現される。
AA−1=A−1A=E、
ただしEは単位行列、
上記式が成立する逆行列A−1を持つ行列Aが正則行列である。
z[0]=w[0](XOR)w[1]×2
z[1]=w[0]×2(XOR)w[1]
4ビット入出力S−box321〜324が、図16(b)に示すテーブルに従った非線形変換を実行すること、
線形変換処理部331が、図17(c)に従った変換処理を行なうこと、
これらの処理が異なっている。
z[0]=w[0](XOR)w[1]
z[1]=w[0](XOR)w[1]×2
入力データを分割した分割データ各々の非線形変換処理を実行する複数の小型非線形変換部(小さなSボックス)からなる第1段非線形変換部と、
第1段非線形変換部を構成する複数の小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換部と、
線形変換部の出力データを分割した分割データ各々の非線形変換処理を実行する複数の小型非線形変換部(小さなSボックス)からなる第2段非線形変換部とを有し、
線形変換部は、入力データのビットサイズと同サイズの要素を持つ行列演算によるデータ変換を実行する構成であり、行列がm×m行列である場合、少なくともm以上の分岐数を有する高分岐数の行列を適用したデータ変換処理を実行する構成である。
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
これらの構造を適用した暗号処理を行なう装置における非線形変換部に適用可能である。なお、本発明の構成は、暗号処理以外にもハッシュ関数など、非線形変換を行う演算装置において適用可能である。
最後に、上述した実施例に従ったデータ変換処理を実行する装置例として暗号処理装置としてのICモジュール700の構成例を図19に示す。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図19に示すICモジュール700は、これら様々な機器に構成することが可能である。
(ア)SPN(Substitution Permutation Network)構造、
(イ)Feistel構造、
(ウ)拡張Feistel構造、
これらの各構成のいずれかの構造を適用した共通鍵ブロック暗号処理アルゴリズムに従った暗号処理、復号処理、さらに、ハッシュ関数を適用した演算処理などを実行する。
11 鍵スケジューリング部
12 暗号処理部
20 ラウンド関数実行部
21 排他的論理和演算部
22 非線形変換処理部
23 線形変換処理部
30 F関数部
31 排他的論理和演算部
32 非線形変換処理部
33 線形変換処理部
34 排他的論理和演算部
41,42 F関数部
50 非線形変換処理部
51 Sボックス
101〜103 Sボックス(S−box)
111〜113 排他的論理和演算部
121〜124 Sボックス(S−box)
131 ビット演算部
141〜145 Sボックス(S−box)
151〜153 排他的論理和演算部
161〜163 Sボックス(S−box)
171,172 OR回路
200 Sボックス(S−box)
201〜204 Sボックス(S−box)
211 線形変換処理部
200 Sボックス(S−box)
301〜304 Sボックス(S−box)
311 線形変換処理部
320 Sボックス(S−box)
321〜324 Sボックス(S−box)
331 線形変換処理部
700 ICモジュール
701 CPU(Central processing Unit)
702 メモリ
703 暗号処理部
704 乱数発生器
705 送受信部
Claims (14)
- F関数を複数ラウンド繰り返し実行する拡張Feistel型共通鍵ブロック暗号を適用した復号処理装置であって、
F関数の各ラウンドのラウンド鍵のビット数と同じビット数を有するように暗号文データを分割する第1データ分割部と、
前記第1データ分割部で分割されたデータに前記ラウンド鍵の鍵加算を実行する鍵加算部と、
前記鍵加算部で鍵加算された前記分割データをさらに分割する第2データ分割部と、
前記第2データ分割部で分割されたデータ各々の非線形処理を実行する複数の小型非線形変換部からなる第1非線形変換部と、
前記第1非線形変換部を構成する小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換部と、
前記線形変換部の出力データを分割する第3データ分割部と、
前記第3データ分割部で分割したデータ各々の非線形変換を前記線形変換の直後に実行する複数の小型非線形変換部からなる第2非線形変換部と、
を有する復号処理装置。 - 前記線形変換部は、
前記第2データ分割部で分割されたデータのビットサイズと同サイズの要素を持つ行列演算によるデータ変換を実行する構成であり、行列がm×mである場合、少なくともm以上の分岐数を有する高分岐数の行列を適用したデータ変換処理を実行する構成である、請求項1に記載の復号処理装置。 - 前記鍵加算部は排他的論理和演算を行う、請求項1または2に記載の復号処理装置。
- 前記入力データがnビットデータである場合、
前記第1非線形変換部は、入力データであるnビットデータの分割データであるn/kビットを各々入力して非線形変換処理結果としてのn/kビットを出力するk個の小型非線形変換部から構成され、
前記線形変換部は、前記k個の小型非線形変換部の出力する総計nビットのデータを入力して、高分岐数の行列を適用したデータ変換処理によりnビットの出力を生成する構成であり、
前記第2非線形変換部は、前記線形変換部から出力されるnビットデータの分割データであるn/kビットを各々入力して非線形変換処理結果としてのn/kビットを出力するk個の小型非線形変換部を有する構成であることを特徴とする請求項1に記載の復号処理装置。 - 前記線形変換部は、最適拡散変換(ODM(Optimal Diffusion Mappings))処理を実行するMDS(Maximum Distance Separable)行列を適用したデータ変換処理を実行する構成であることを特徴とする請求項1に記載の復号処理装置。
- 前記線形変換部は、
前記入力データがnビットデータである場合、
GF(2)上で定義されるn次の既約多項式p(x)によって定義される拡大体GF(2n)上の行列を適用したデータ変換処理を実行する構成であることを特徴とする請求項1に記載の復号処理装置。 - 前記復号処理装置は、
nビット入出力の非線形変換処理を実行するSボックスを有し、
前記Sボックスを構成する前記第1非線形変換部と、前記第2非線形変換部に含まれる複数の小型非線形変換部は、nビットより少ないビット数の非線形変換処理を実行する小型のSボックスによって構成されていることを特徴とする請求項1に記載の復号処理装置。 - 前記復号処理装置は、
非線形変換処理を伴う復号処理を実行する構成であることを特徴とする請求項1〜7いずれかに記載の復号処理装置。 - 前記復号処理は、共通鍵ブロック暗号を適用した復号処理であることを特徴とする請求項8に記載の復号処理装置。
- プログラムを記憶するメモリと、
前記プログラムを実行するプロセッサと、
前記プロセッサの制御下でF関数を複数ラウンド繰り返し実行する拡張Feistel型共通鍵ブロック暗号を適用した復号処理プログラムを実行する復号処理部とを備える情報処理装置であって、
前記復号処理部は、
F関数の各ラウンドのラウンド鍵のビット数と同じビット数を有するように暗号文データを分割する第1データ分割部と、
前記第1データ分割部で分割されたデータに前記ラウンド鍵の鍵加算を実行する鍵加算部と、
前記鍵加算部で鍵加算された前記分割データをさらに分割する第2データ分割部と、
前記第2データ分割部で分割されたデータ各々の非線形処理を実行する複数の小型非線形変換部からなる第1非線形変換部と、
前記第1非線形変換部を構成する小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換部と、
前記線形変換部の出力データを分割する第3データ分割部と、
前記第3データ分割部で分割したデータ各々の非線形変換を前記線形変換の直後に実行する複数の小型非線形変換部からなる第2非線形変換部と、
を有する情報処理装置。 - 前記線形変換部は、
前記第2データ分割部で分割されたデータのビットサイズと同サイズの要素を持つ行列演算によるデータ変換を実行する構成であり、行列がm×mである場合、少なくともm以上の分岐数を有する高分岐数の行列を適用したデータ変換処理を実行する構成である、請求項10に記載の情報処理装置。 - 前記鍵加算部は排他的論理和演算を行う、請求項10または11に記載の情報処理装置。
- F関数を複数ラウンド繰り返し実行する拡張Feistel型共通鍵ブロック暗号を適用した復号処理装置において実行する復号処理方法であって、
第1データ分割部において、F関数の各ラウンドのラウンド鍵のビット数と同じビット数を有するように暗号文データを分割する第1データ分割ステップと、
鍵加算部において、前記第1データ分割部で分割されたデータに前記ラウンド鍵の鍵加算を実行する鍵加算ステップと、
第2データ分割部において、前記鍵加算部で鍵加算された前記分割データをさらに分割する第2データ分割ステップと、
複数の小型非線形変換部からなる第1非線形変換部において、前記第2データ分割部で分割されたデータ各々の非線形処理を実行する第1非線形変換ステップと、
線形変換部において、前記第1非線形変換部を構成する小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換ステップと、
第3データ分割部において、前記線形変換部の出力データを分割する第3データ分割ステップと、
複数の小型非線形変換部からなる第2非線形変換部において、前記第3データ分割部で分割したデータ各々の非線形変換を前記線形変換の直後に実行する第2非線形変換ステップと、
を実行する復号処理方法。 - F関数を複数ラウンド繰り返し実行する拡張Feistel型共通鍵ブロック暗号を適用した復号処理装置において復号処理を実行させるコンピュータ・プログラムであって、
第1データ分割部において、F関数の各ラウンドのラウンド鍵のビット数と同じビット数を有するように暗号文データを分割する第1データ分割ステップと、
鍵加算部において、前記第1データ分割部で分割されたデータに前記ラウンド鍵の鍵加算を実行する鍵加算ステップと、
第2データ分割部において、前記鍵加算部で鍵加算された前記分割データをさらに分割する第2データ分割ステップと、
複数の小型非線形変換部からなる第1非線形変換部において、前記第2データ分割部で分割されたデータ各々の非線形処理を実行する第1非線形変換ステップと、
線形変換部において、前記第1非線形変換部を構成する小型非線形変換部からの出力をすべて入力して線形変換を実行する線形変換ステップと、
第3データ分割部において、前記線形変換部の出力データを分割する第3データ分割ステップと、
複数の小型非線形変換部からなる第2非線形変換部において、前記第3データ分割部で分割したデータ各々の非線形変換を前記線形変換の直後に実行する第2非線形変換ステップと、
を実行させるコンピュータ・プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012102624A JP5680016B2 (ja) | 2012-04-27 | 2012-04-27 | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012102624A JP5680016B2 (ja) | 2012-04-27 | 2012-04-27 | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006238227A Division JP2008058830A (ja) | 2006-09-01 | 2006-09-01 | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013249046A Division JP5772934B2 (ja) | 2013-12-02 | 2013-12-02 | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012143011A true JP2012143011A (ja) | 2012-07-26 |
JP5680016B2 JP5680016B2 (ja) | 2015-03-04 |
Family
ID=46678745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012102624A Expired - Fee Related JP5680016B2 (ja) | 2012-04-27 | 2012-04-27 | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5680016B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039673A (zh) * | 2020-08-06 | 2020-12-04 | 国电南瑞科技股份有限公司 | 一种基于Feistel结构的配电物联网巡检数据动态加密方法及装置 |
CN113691364A (zh) * | 2021-08-31 | 2021-11-23 | 衡阳师范学院 | 一种基于位片技术的动态s盒分组密码的加密及解密方法 |
CN114244496A (zh) * | 2021-12-01 | 2022-03-25 | 华南师范大学 | 基于塔域优化s盒的sm4加解密算法并行化实现方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235098B (zh) * | 2020-09-17 | 2023-02-10 | 成都万江港利科技股份有限公司 | 一种简易快速的通信加解密方法 |
-
2012
- 2012-04-27 JP JP2012102624A patent/JP5680016B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039673A (zh) * | 2020-08-06 | 2020-12-04 | 国电南瑞科技股份有限公司 | 一种基于Feistel结构的配电物联网巡检数据动态加密方法及装置 |
CN113691364A (zh) * | 2021-08-31 | 2021-11-23 | 衡阳师范学院 | 一种基于位片技术的动态s盒分组密码的加密及解密方法 |
CN113691364B (zh) * | 2021-08-31 | 2024-02-09 | 衡阳师范学院 | 一种基于位片技术的动态s盒分组密码的加密及解密方法 |
CN114244496A (zh) * | 2021-12-01 | 2022-03-25 | 华南师范大学 | 基于塔域优化s盒的sm4加解密算法并行化实现方法 |
CN114244496B (zh) * | 2021-12-01 | 2023-07-18 | 华南师范大学 | 基于塔域优化s盒的sm4加解密算法并行化实现方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5680016B2 (ja) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008058830A (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP5055993B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
US9363074B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
JP4967544B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4961909B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4905000B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
JP4622807B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
US8396210B2 (en) | Cryptographic processing apparatus and cryptographic processing method, and computer program | |
JP5682527B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
WO2009122464A1 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
TWI595460B (zh) | Data processing device, information processing device, data processing method and program | |
JP5680016B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
Murtaza et al. | Fortification of aes with dynamic mix-column transformation | |
JP5772934B2 (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
JP5500277B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
JP5338945B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130820 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130910 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131202 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20131209 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20140228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5680016 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |