JP2009169287A - Encryption processing device, decryption processing device, and program - Google Patents
Encryption processing device, decryption processing device, and program Download PDFInfo
- Publication number
- JP2009169287A JP2009169287A JP2008009636A JP2008009636A JP2009169287A JP 2009169287 A JP2009169287 A JP 2009169287A JP 2008009636 A JP2008009636 A JP 2008009636A JP 2008009636 A JP2008009636 A JP 2008009636A JP 2009169287 A JP2009169287 A JP 2009169287A
- Authority
- JP
- Japan
- Prior art keywords
- key
- processing
- divided
- input
- input data
- 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
【課題】テーブル参照により暗号処理を行う際に、暗号鍵によるテーブルの再構築を必要とせず、かつ設計者のみが知り得る変換処理を入れ込んで電力差分解析に対して耐性を持たせる方法を実現する。
【解決手段】初期鍵加算処理101〜103又は鍵加算処理110〜112等において、鍵スケジュール部において暗号鍵から生成された拡大鍵及び入力データを入力するとともに、拡大鍵及び入力データに対応させた計算結果が反映されているテーブルを用いることで、拡大鍵と入力データとの加算処理、加算処理後のデータの単射変換処理等を1回のテーブル参照で行うことができ、これにより、暗号鍵ごとのテーブルの再構築を必要とせず、かつ設計者のみが知り得る変換処理を入れ込んで電力差分解析に対して耐性を持たせることができる。
【選択図】図1A method of providing resistance to power difference analysis by incorporating conversion processing that only a designer can know without performing table reconstruction with an encryption key when performing encryption processing by table reference Realize.
In an initial key addition process 101-103 or key addition process 110-112, etc., an extended key and input data generated from an encryption key are input to a key schedule unit, and the expanded key and input data are made to correspond to each other. By using a table that reflects the calculation results, it is possible to perform the addition process between the expanded key and the input data, the injection conversion process of the data after the addition process, etc. by one-time table reference. It is not necessary to reconstruct a table for each key, and it is possible to provide resistance to power difference analysis by incorporating a conversion process that only the designer can know.
[Selection] Figure 1
Description
本発明は、暗号アルゴリズムを処理する装置に関する。 The present invention relates to an apparatus for processing a cryptographic algorithm.
暗号をシステム上で実行する場合、実行中のシステムの消費電力の変化を観測し、暗号処理に使われている秘密情報である暗号鍵を推測する方法がある(例えば非特許文献1)。
この手法は電力解析と呼ばれている。
電力解析に対して、解析を行われても、暗号鍵を推測できないように暗号を実装する必要がある。
When encryption is executed on a system, there is a method of observing a change in power consumption of the system being executed and estimating an encryption key that is secret information used for encryption processing (for example, Non-Patent Document 1).
This method is called power analysis.
For power analysis, it is necessary to implement encryption so that the encryption key cannot be estimated even if analysis is performed.
このような解析への対策法として、いくつかの方法が提案されている(たとえば特許文献1、2)。
また、電力解析に弱い部分をテーブル参照のみで構築するテーブルネットワーク実装がある(例えば非特許文献2)。
テーブルに設計者のみが知り得る変換処理を施すことで従来の電力差分解析に対して耐性を持たせることができる。
In addition, there is a table network implementation in which a portion that is vulnerable to power analysis is constructed only by table reference (for example, Non-Patent Document 2).
By applying a conversion process that only the designer can know to the table, it is possible to provide resistance to the conventional power difference analysis.
しかし、特許文献1や2によれば、あらかじめ複数のスクランブル処理を用意し、暗号処理の過程で、乱数や暗号鍵によって、適用するスクランブル処理を切り替えている。
この場合、用意するスクランブル回路分だけ、冗長なリソースが必要となる。また、解析の困難さは用意するテーブルの種類にのみ依存し、要するリソースの割には、十分な複雑さを得ることはできない。
However, according to
In this case, redundant resources are required for the prepared scramble circuits. The difficulty of analysis depends only on the type of table to be prepared, and sufficient complexity cannot be obtained for the required resources.
一方、テーブルネットワーク実装では、設計者が一定の条件の下で任意にテーブルを設計でき、かつ設計可能なテーブルの種類が十分大きいため、従来の電力解析を困難にできる。
しかし、従来のテーブルネットワーク実装では、拡大鍵の生成処理もテーブルに含まれているため、全拡大鍵に対して異なるテーブルを用意する必要があるため、大量のメモリを消費する。
On the other hand, in the table network implementation, a designer can arbitrarily design a table under a certain condition, and the types of tables that can be designed are sufficiently large, so that conventional power analysis can be made difficult.
However, in the conventional table network implementation, since the extended key generation process is also included in the table, it is necessary to prepare different tables for all the extended keys, which consumes a large amount of memory.
また、異なる秘密鍵が利用されるたびにテーブルを構築しなおす必要があり、演算に多大なコストがかかる。さらに、テーブル構築過程を攻撃することで、秘密鍵や設計者のみが知り得る変換処理が解析される恐れがある。 Further, it is necessary to reconstruct the table every time a different secret key is used, and the calculation is very expensive. Furthermore, by attacking the table construction process, there is a risk that the conversion process that can be known only by the secret key or the designer may be analyzed.
本発明は、上記のような課題を解決することを主な目的の一つとしており、秘密鍵によるテーブルの再構築を必要とせずに、かつ設計者のみが知り得る変換処理を入れ込んで従来の電力差分解析に対して耐性を持たせる方法を実現することを主な目的の一つとする。 One of the main objects of the present invention is to solve the above-described problems, and does not require reconstruction of a table with a secret key and incorporates a conversion process that only a designer can know. One of the main purposes is to realize a method for providing tolerance to the power difference analysis.
本発明に係る暗号処理装置は、
外部において暗号鍵から生成された拡大鍵を入力し、入力データを入力し、
入力した拡大鍵と入力データとの加算処理をテーブル参照により行う鍵加算処理部を有することを特徴とする。
The cryptographic processing apparatus according to the present invention includes:
Enter the extended key generated from the encryption key outside, input the input data,
A key addition processing unit is provided that performs addition processing of the input extended key and input data by referring to a table.
本発明では、外部において暗号鍵から生成された拡大鍵を入力するとともに、拡大鍵に対応させた計算結果が反映されているテーブルを用いることで、拡大鍵と入力データとの加算処理等を1回のテーブル参照で行うことができ、暗号鍵によるテーブルの再構築を必要とせず、かつ設計者のみが知り得る変換処理を入れ込んで電力差分解析に対して耐性を持たせることができる。 In the present invention, an expansion key generated from an encryption key is input externally, and a table reflecting a calculation result corresponding to the expansion key is used to perform an addition process of the expansion key and input data, etc. The table can be referred to once, and it is not necessary to reconstruct the table with the encryption key, and it is possible to provide resistance to power difference analysis by incorporating a conversion process that only the designer can know.
実施の形態1.
図1は、本実施の形態に係る暗号処理の全体の流れを示す。
図1では、SPN(Substitution Permutation Network)構造の暗号の例を示しているが、後述する各処理を組み合わせることで、Feistel構造の暗号を含む、任意の暗号に適用可能である。
FIG. 1 shows the overall flow of cryptographic processing according to the present embodiment.
FIG. 1 shows an example of a cipher with a SPN (Substitution Permutation Network) structure, but it can be applied to any cipher including a cipher with a Feistel structure by combining the processes described below.
図1に示す暗号処理の前提として、鍵スケジュール処理によって、あらかじめ暗号鍵から拡大鍵123〜131が生成される。
As an assumption of the encryption process shown in FIG. 1, the expanded
また、m×nビットの平文データ122(以下、単に平文ともいう)はnビットずつに分解され、各々の平文と拡大鍵123〜125は初期鍵加算処理101〜103に入力される。
初期鍵加算処理101〜103の出力は非線形変換処理104〜106に入力される。
線形変換処理107〜109は複数の非線形変換処理104〜106の出力を入力として、nビットの出力を求める。
線形変換処理107〜109の出力は鍵加算処理110〜112に入力され、拡大鍵126〜128と加算される。
以降、非線形変換処理、線形変換処理、鍵加算処理を繰り返す。最終の鍵加算処理116〜118の出力は最終変換処理119〜121に入力され、その出力を連接したものが暗号文データ132(以下、単に暗号文ともいう)となる。
Further, m × n-bit plaintext data 122 (hereinafter also simply referred to as plaintext) is decomposed into n bits, and each plaintext and expanded
The outputs of the initial
The
The outputs of the
Thereafter, the nonlinear conversion process, the linear conversion process, and the key addition process are repeated. Outputs of the final
図14は、図1に示す各処理を実現する暗号処理装置1の機能ブロックを示す。
FIG. 14 shows functional blocks of the
図14において、鍵スケジュール部11は、暗号鍵から拡大鍵123〜131を生成する。
本実施の形態では、鍵スケジュール部11における拡大鍵123〜131の生成方法は、どのようなものであってもよい。
なお、鍵スケジュール部11が生成する拡大鍵123〜131は、nビットのビット長(分割後の平文と同じビット長)である。
In FIG. 14, the
In the present embodiment, any method may be used for generating the
The
暗号処理部12は、図1に示される暗号処理を実施する。
つまり、暗号処理部12に含まれる各要素が図1の処理順序に従って各処理を繰り返すことで暗号処理が実施される。
The
That is, the cryptographic processing is performed by each element included in the
平文分割部1210は、入力されたm×nビットの平文122をnビットずつに分割する。
The plaintext dividing
初期鍵加算処理部1220は、図1の初期鍵加算処理101〜103を実施する。
初期鍵加算処理部1220は、図1に示すように、鍵スケジュール部11において暗号鍵から生成された拡大鍵123〜125を入力し、分割された平文を入力データとして入力し、入力した拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データ(分割された平文)を拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、分割拡大鍵と分割入力データ(以下、単に分割入力ともいう)との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
初期鍵加算処理部1220の詳細は、図2を参照して後述する。
なお、初期鍵加算処理部1220は、入力データが平文であり、全単射逆変換処理が含まれないが、拡大鍵の分割を行う点、入力データの分割を行う点、加算処理及び単射逆変換処理を1回のテーブル参照で行う点で後述する鍵加算処理部1250と共通しており、初期鍵加算処理部1220は、鍵加算処理部の一例である。
The initial key
As shown in FIG. 1, the initial key
Details of the initial key
The initial key
非線形変換処理部1230は、初期鍵加算処理部1220又は後述する鍵加算処理部1250から出力されたデータを入力し、入力したデータに対する初期鍵加算処理部1220又は鍵加算処理部1250の単射変換処理の逆変換処理と、逆変換処理後のデータに対する非線形変換処理と、非線形変換処理後のデータに対する全単射変換処理とを1回のテーブル参照により行う。
より具体的には、非線形変換処理部1230は、逆変換処理と、非線形変換処理と、非線形変換処理後のデータを初期鍵加算処理部1220又は鍵加算処理部1250における拡大鍵及び入力データの分割位置と同じ分割位置で分割する処理と、分割後の各データに対する全単射変換処理と、全単射逆変換処理後の各データを連接する処理とを1回のテーブル参照により行う。
また、非線形変換処理部1230が行う全単射変換処理は、排他的論理和演算に対して加法性のある全単射変換処理である。
非線形変換処理部1230の詳細は、図3を参照して後述する。
The nonlinear
More specifically, the nonlinear
The bijection conversion process performed by the nonlinear
Details of the nonlinear
線形変換処理部1240は、非線形変換処理部1230から出力されたデータを入力とし、入力データに対して線形変換処理を行って、鍵加算処理部1250に線形変換処理後のデータを出力する。
線形変換処理部1240の詳細は、図4を参照して後述する。
The linear
Details of the linear
鍵加算処理部1250は、線形変換処理部1240から出力されたデータを入力し、また、拡大鍵126〜127等を入力する。
線形変換処理部1240から入力した入力データは、非線形変換処理部1230により全単射変換処理が行われた後のデータである。
そして、鍵加算処理部1250は、入力データに対して非線形変換処理部1230による全単射変換処理の逆変換を行う全単射逆変換処理と、全単射逆変換処理後の入力データと拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
より具体的には、鍵加算処理部1250は、同じビット数の拡大鍵と入力データを入力し、入力した拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、更に、分割入力データに対する全単射逆変換処理と、全単射逆変換処理後の分割入力データと分割拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
鍵加算処理部1250の詳細は、図5を参照して後述する。
The key
The input data input from the linear
Then, the key
More specifically, the key
Details of the key
最終変換処理部1260は、鍵加算処理部1250から出力されたデータを入力し、入力したデータに対して鍵加算処理部1250の単射変換処理の逆変換処理を行い、逆変換処理後のデータを分割された暗号文データ(nビット)として出力する。
最終変換処理部1260の詳細は、図6を参照して後述する。
The final
Details of the final
暗号文連結部1270は、最終変換処理部1260から出力されたnビットの暗号文データを連結してm×nビットの暗号文データとし、m×nビットの暗号文データを出力する。
The
図2は初期鍵加算処理部1220の構成を示す。
図2では、入力205と拡大鍵206との加算を行う(鍵加算)。
加算処理の内容は暗号アルゴリズムにより決定される。加算処理は、例えば、排他論理和演算である。
さらに、出力に対し単射変換処理を行う。
FIG. 2 shows the configuration of the initial key
In FIG. 2, the
The content of the addition process is determined by the encryption algorithm. The addition process is, for example, an exclusive OR operation.
Further, the injection conversion process is performed on the output.
まず、初期鍵加算処理部1220は、nビットの入力205及び拡大鍵206を分割する。
分割する個数及びサイズは、その合計がnビットになるようであれば任意に分割してよい。
但し、対になる分割入力と分割拡大鍵は同じサイズである必要がある。
図2では、n1ビットの分割入力207及び分割拡大鍵209とn2ビットの分割入力208及び分割拡大鍵210に分割した例を示す。
First, the initial key
The number and size of division may be arbitrarily divided as long as the total is n bits.
However, the paired split input and split extended key must be the same size.
FIG. 2 shows an example in which an n1 bit split input 207 and split extended key 209 are split into an n2 bit split input 208 and split extended key 210.
分割入力207及び分割拡大鍵209をテーブル201に入力し、テーブル出力211を得る。
同様に、分割入力208及び分割拡大鍵210をテーブル202に入力し、テーブル出力212を得る。
加算処理215により、テーブル出力211とテーブル出力212とを加算し、出力216を得る。
The divided input 207 and the divided expanded key 209 are input to the table 201, and a table output 211 is obtained.
Similarly, the divided input 208 and the divided expanded key 210 are input to the table 202, and a table output 212 is obtained.
By the
テーブル201の内容について説明する。テーブル202の内容はテーブル201と同様である。
テーブル201について、分割入力207と分割拡大鍵209は加算処理213によって加算され、その出力が単射変換処理203によって、nビットのテーブル出力211となる。
テーブル201及びテーブル202は、分割入力と分割拡大鍵に対応させて事前に計算しておき、初期鍵加算処理部1220に対応付けて記憶領域に格納する。
つまり、分割入力と分割拡大鍵の対の各パターンに対して事前に出力値を計算しておき、計算結果をテーブル201及びテーブル202に記述して、初期鍵加算処理部1220に対応づけて記憶領域に格納する。
例えば、平文データ(m×nビット)が32ビットである場合に、m=4とした場合は、n=8ビットとなり、n1=n2=4ビットとした場合には、4ビットの分割拡大鍵と4ビットの分割入力における全組合せに対する出力値を計算して、テーブル201及びテーブル202に記述するようにする。
なお、単射変換処理203は、n1ビットを入力とし、所定のnビット出力を出す。
The contents of the table 201 will be described. The contents of the table 202 are the same as the table 201.
With respect to the table 201, the divided input 207 and the divided expanded key 209 are added by the
The table 201 and the table 202 are calculated in advance corresponding to the divided input and the divided expanded key, and stored in the storage area in association with the initial key
That is, an output value is calculated in advance for each pattern of the split input and split extended key pair, the calculation result is described in the table 201 and the table 202, and stored in association with the initial key
For example, when the plaintext data (m × n bits) is 32 bits, when m = 4, n = 8 bits, and when n1 = n2 = 4 bits, a 4-bit divided expanded key And output values for all combinations of 4-bit divided inputs are calculated and described in the table 201 and the table 202.
Note that the
単射変換処理203、単射変換処理204、加算処理215の条件について、単射変換処理203の入力をx1、出力をf1(x1)、単射変換処理204の入力をx2、出力をf2(x2)、加算処理215を“+”と表示した場合、x=x1||x2の写像f(x)=f1(x1)+f2(x2)が全単射写像になるように決定する。ただし、“||”はデータの連接を示す。
With respect to the conditions of the
前記単射変換処理203、単射変換処理204、加算処理215の例を以下に示す。
Examples of the
例1:
GF(2)上のn×n正則行列Zを与え、数式1を満たすn1×nの行列Aとn2×nの行列Bを生成する。また、nビットの固定値c1、c2も生成する。
単射変換処理203は数式2により出力yを求め、単射変換処理204は数式3により出力yを求める。
加算処理215はビット単位の排他的論理和とする。
Example 1:
Given an n × n regular matrix Z on GF (2), an n1 × n matrix A and an n2 × n matrix
The
The
例2:
n1×n1の全単射変換Eとn2×n2の全単射変換Fを与える。また、n2ビットの定数c3及びn1ビットの定数c4を与える。
単射変換処理203は数式4により出力yを求め、単射変換処理204は数式5により出力yを求める。
加算処理215はビット単位の排他的論理和とする。
Example 2:
A bijective transformation E of n1 × n1 and a bijective transformation F of n2 × n2 are given. In addition, an n2 bit constant c3 and an n1 bit constant c4 are provided.
The
The
なお、例1と例2を組み合わせてもよい。
例えば、テーブル201の単射変換処理203は、例1の数式2を用いて行い、テーブル202の単射変換処理204は、例2の数式5を用いて行うようにしてもよい。
また、テーブル201の単射変換処理203は、例2の数式4を用いて行い、テーブル202の単射変換処理204は、例1の数式3を用いて行うようにしてもよい。
Note that Example 1 and Example 2 may be combined.
For example, the
In addition, the
このように、初期鍵加算処理部1220では、鍵スケジュール部11で生成された拡大鍵を入力し、入力した拡大鍵を分割した分割拡大鍵と分割入力の組合せに対して予め用意しているテーブルを利用して、加算処理、単射変換処理を行う。
つまり、拡大鍵の生成処理は外部である鍵スケジュール部11で行われ、初期鍵加算処理部1220が参照するテーブルには拡大鍵生成処理が含まれていないので、暗号鍵に対応させてテーブルを更新する必要がない。
As described above, the initial key
That is, the extended key generation process is performed by the external
図3に非線形変換処理部1230の構成を示す。図3は、暗号の非線形変換処理である。
FIG. 3 shows the configuration of the nonlinear
入力306はテーブル301に入力され、出力307を得る。
テーブル301の内容について説明する。
入力データは逆変換処理302により変換される。
逆変換処理302は、初期鍵加算処理部1220の単射変換処理203及び単射変換処理204(又は、鍵加算処理部1250の単射変換処理505及び単射変換処理506)に対応し、図2の出力216(又は図5の出力509)に対する逆変換を求める。以下に前記例1及び例2に対する逆変換を示す。
The contents of the table 301 will be described.
Input data is converted by an
The
例1の逆変換:
逆変換処理302では、数式6を計算する。ただし、Z−1は数式1に示す行列Zの逆行列である。
Inversion of example 1:
In the
例2の逆変換:
逆変換処理302では、数式7を計算する。ただし、E−1,F−1は全単射変換E,F逆行列とする。“>>n2”はn2ビットの左シフト、“・n1”はデータの下位n1ビットの抽出を示す。
Inversion of example 2:
In the
逆変換処理302の出力は非線形変換処理303に入力される。非線形変換処理303は暗号アルゴリズムにより決定される。
The output of the
非線形変換処理303の出力は複数に分割され、各々について全単射変換処理が施される。全単射変換処理f1(x1),f2(x2),・・・,fn(xn)は、図1の線形変換処理107〜109に対して加法性を満たすように選択する。
具体的には、線形変換処理をy=y1‖y2‖・・・‖yn=fL(x1,x2,・・・,xn)とした場合、数式8を満たすように選択する。
ただし、yiは数式9を満たすものとする。数式9で|yi|はyiのビット長を示す。
全単射変換処理されたデータは連結されて出力される。
テーブル301は、事前に計算しておき、非線形変換処理部1230に対応付けて記憶領域に格納する。
つまり、入力データの各パターンに対して事前に出力値を計算しておき、計算結果をテーブル301に記述して、非線形変換処理部1230に対応付けて記憶領域に格納する。
The output of the
Specifically, when the linear transformation process is y = y 1 ‖y 2 ‖... ‖Y n = f L (x 1 , x 2 ,..., X n ), the expression 8 is satisfied. select.
However, y i shall meet Equation 9. In Equation 9, | y i | indicates the bit length of y i .
The data subjected to the bijective transformation process are concatenated and output.
The table 301 is calculated in advance and stored in the storage area in association with the nonlinear
That is, an output value is calculated in advance for each pattern of input data, and the calculation result is described in the table 301 and stored in the storage area in association with the nonlinear
線形変換処理107〜109をビット単位の排他的論理和とした場合の、全単射変換処理304、全単射変換処理305の例を以下に示す。
An example of the
例1:
GF(2)上のn1×n1の正則行列Gとn2×n2の正則行列Hを生成する。また、n1ビットの固定値c1,及びn2ビットの固定値c2も生成する。全単射変換処理304は数式10により出力yを求め、全単射変換処理305は数式11により出力yを求める。
Example 1:
An n1 × n1 regular matrix G and an n2 × n2 regular matrix H on GF (2) are generated. In addition, a fixed value c1 of n1 bits and a fixed value c2 of n2 bits are also generated. The
例2:
ガロア拡大体GF(2n1)の元k,lおよびGF(2n2)の元m,nを与える。全単射変換処理204では数式12により出力yを求め、全単射変換処理205では数式13により出力yを求める。ただし、“・”はガロア拡大体上の乗算を示し、“+”はガロア拡大体上の加算を示す。
Example 2:
Give elements k, l of Galois extension GF (2 n1 ) and elements m, n of GF (2 n2 ). In the
例3:
正整数p(1≦p<n1),q(1≦q<n2)を与える。全単射変換処理204では数式14により出力yを求め、全単射変換処理205では数式15により出力yを求める。
Example 3:
Positive integers p (1 ≦ p <n1) and q (1 ≦ q <n2) are given. In the
なお、例1〜例3を組み合わせてもよい。
次に、図4に線形変換処理部1240の構成を示す。
線形変換処理401の内容は暗号アルゴリズムにより決定される。複数のnビット入力402〜404を得て、nビット出力405を生成する。
線形変換処理401は、例えば、排他論理和演算である。
Examples 1 to 3 may be combined.
Next, FIG. 4 shows a configuration of the linear
The content of the
The
図5に鍵加算処理部1250の構成を示す。
図5では、入力507と拡大鍵508と加算を行う(鍵加算)。加算処理の内容は暗号アルゴリズムにより決定される。加算処理は、例えば、排他論理和演算処理である。
さらに、出力に対し単射変換処理を行う。
FIG. 5 shows the configuration of the key
In FIG. 5, the
Further, the injection conversion process is performed on the output.
まず、nビットの入力507及び拡大鍵508をそれぞれ分割入力509、分割入力510及び分割拡大鍵511、分割拡大鍵512に分割する。
分割法は図3における分割法と同一である。
First, the n-
The division method is the same as the division method in FIG.
分割入力509、分割拡大鍵511をテーブル501に入力し、テーブル出力513を得る。
同様に、分割入力510、分割拡大鍵512をテーブル502に入力し、テーブル出力514を得る。
加算処理517により、テーブル出力513とテーブル出力514とを加算し、出力509を得る。
A divided
Similarly, a divided input 510 and a divided expanded key 512 are input to the table 502, and a table output 514 is obtained.
The
テーブル501の内容について説明する。テーブル502の内容はテーブル501と同様である。
テーブル501について、分割入力509は全単射逆変換処理503に入力される。全単射逆変換処理503は図3の全単射変換処理304の逆変換処理である。
全単射逆変換処理503の出力と分割拡大鍵511は加算処理515によって加算され、その出力が単射変換処理505によって、nビットのテーブル出力513となる。
単射変換処理505は図2の単射変換処理203と同値である。
テーブル501及びテーブル502は、分割入力と分割拡大鍵に対応させて事前に計算しておき、鍵加算処理部1250に対応付けて記憶領域に格納する。
つまり、分割入力と分割拡大鍵の対の各パターンに対して事前に出力値を計算しておき、計算結果をテーブル501及びテーブル502に記述して、鍵加算処理部1250に対応づけて記憶領域に格納する。
The contents of the table 501 will be described. The contents of the table 502 are the same as the table 501.
With respect to the table 501, the
The output of the bijective
The
The table 501 and the table 502 are calculated in advance in association with the divided input and the divided expanded key, and are stored in the storage area in association with the key
That is, the output value is calculated in advance for each pattern of the split input and split extended key pair, the calculation result is described in the table 501 and the table 502, and the storage area is associated with the key
このように、鍵加算処理部1250では、鍵スケジュール部11で生成された拡大鍵を入力し、入力した拡大鍵を分割した分割拡大鍵と分割入力の組合せに対して予め用意しているテーブルを利用して、全単射逆変換処理、加算処理、単射変換処理を行う。
つまり、拡大鍵の生成処理は外部である鍵スケジュール部11で行われ、鍵加算処理部1250が参照するテーブルには拡大鍵生成処理が含まれていないので、暗号鍵に対応させてテーブルを更新する必要がない。
As described above, the key
That is, the extended key generation process is performed by the external
図6に最終変換処理の構成を示す。この処理は暗号文を出力する直前に行う。 FIG. 6 shows the configuration of the final conversion process. This process is performed immediately before the ciphertext is output.
入力603はテーブル601に入力され、出力604を得る。
逆変換処理602は図3の逆変換処理302と同じである。
テーブル601は、事前に計算しておき最終変換処理部1260に対応付けて格納する。
The
The table 601 is calculated in advance and stored in association with the final
復号処理も前記暗号処理と同様に行うことができる。ただし、拡大鍵123〜131(図1)、加算処理213,214(図2)、非線形変換処理303(図3)、線形変換処理401(図4) 加算処理515,516(図5)は、復号アルゴリズムに準拠する。また復号時は、図1において、入力が暗号文となり、平文を出力する。
つまり、本実施の形態で説明した手順及び図1〜図6、図14に示す構成にて、本実施の形態に係る暗号処理装置に対応する復号処理装置も構成することができる。復号処理装置においては入力が暗号文となり、出力が平文となる。また、拡大鍵の生成に用いられる復号鍵は暗号鍵と共通である。
The decryption process can also be performed in the same manner as the encryption process. However, the expanded
That is, the decryption processing device corresponding to the encryption processing device according to the present embodiment can be configured by the procedure described in the present embodiment and the configuration shown in FIGS. 1 to 6 and 14. In the decryption processing apparatus, the input is ciphertext and the output is plaintext. Further, the decryption key used for generating the expanded key is the same as the encryption key.
ここで、本実施の形態に係る効果の一例について説明する。
図2、3、5、6における単射変換処理ならびに全単射変換処理は、所定の条件を満たす範囲で、設計者が任意に選択できる。
よって、攻撃者が暗号アルゴリズムを知っていたとしても、各々のコンポーネントの出力までは予想できない。これにより、従来の電力差分解析に対して耐性を持たせることができる。
Here, an example of the effect according to the present embodiment will be described.
The injection conversion process and the bijection conversion process in FIGS. 2, 3, 5, and 6 can be arbitrarily selected by the designer within a range that satisfies a predetermined condition.
Therefore, even if the attacker knows the cryptographic algorithm, the output of each component cannot be predicted. Thereby, tolerance can be given to the conventional power difference analysis.
また、従来のように、暗号鍵によるテーブルの再計算を必要としないため、その分の演算コストを抑えることができる。
さらに、鍵加算部において、入力を分割することにより、テーブルサイズを抑えることができる。
Further, unlike the prior art, it is not necessary to recalculate the table with the encryption key, so that the calculation cost can be reduced.
Furthermore, the table size can be reduced by dividing the input in the key adding unit.
このように、本実施の形態に係る暗号処理装置によれば、外部において暗号鍵から生成された拡大鍵を入力するとともに、拡大鍵に対応させた計算結果が反映されているテーブルを用いることで、拡大鍵と入力データとの加算処理等を1回のテーブル参照で行うことができ、暗号鍵によるテーブルの再構築を必要とせず、かつ設計者のみが知り得る変換処理を入れ込んで電力差分解析に対して耐性を持たせることができる。 As described above, according to the cryptographic processing apparatus according to the present embodiment, the extended key generated from the cryptographic key is input externally, and the table reflecting the calculation result corresponding to the extended key is used. Addition of extended key and input data, etc. can be performed with a single table reference, and it is not necessary to reconstruct the table with the encryption key. It can be made resistant to analysis.
実施の形態2.
実施の形態1において、鍵加算は分割入力と分割拡大鍵とを連結してテーブル参照を行っているが、本実施の形態では、分割入力と分割拡大鍵とを連結しないでテーブル参照する方法を示す。
Embodiment 2. FIG.
In the first embodiment, the key addition is performed by referring to the table by connecting the divided input and the divided extended key, but in this embodiment, the table reference is performed without connecting the divided input and the divided extended key. Show.
図7は、図2におけるテーブル201における実施例を示す。
テーブル202についても同様に実施できる。
テーブル701はテーブル201と等価なテーブルである。
具体的には、テーブル701において、分割拡大鍵209を上位ビットに、分割入力207を下位ビットに連結してテーブルを作成する。
つまり、本実施の形態に係る初期鍵加算処理部1220が利用するテーブル701は、複数のテーブルアドレスを備え、各テーブルアドレスに対して加算処理及び単射変換処理後の計算結果を示すテーブルである。
なお、単射変換処理702は図2の単射変換処理203と同じである。
また、加算処理708は図2の加算処理213と同じである。
FIG. 7 shows an embodiment in the table 201 in FIG.
The same can be applied to the table 202.
The table 701 is an equivalent table to the table 201.
Specifically, in the table 701, a table is created by concatenating the divided expanded key 209 with the upper bits and the divided input 207 with the lower bits.
That is, the table 701 used by the initial key
Note that the
The
アドレス計算処理703は分割拡大鍵705を入力として、参照テーブルアドレス707(テーブルアドレスの上位ビット)を計算する。具体的には、分割拡大鍵705をn1ビット左シフトし、その結果とテーブル701の先頭アドレスとを加算し、その結果を参照テーブルアドレス707とする。
アドレス計算処理703は鍵スケジュールの段階で計算してもよい。
An
The
また、分割入力704をテーブルアドレスの下位ビットとし、参照テーブルアドレス707を元に、該当するテーブルアドレスのテーブル値を参照し、テーブル出力706を得る。
具体的には参照テーブルアドレス707と分割入力704とを連結し、結果のアドレスのテーブル値を参照する。
Further, the
Specifically, the reference table address 707 and the divided
このように、本実施の形態では、初期鍵加算処理部1220は、分割拡大鍵をテーブルの一部を用いて変換し、変換後の分割拡大鍵と分割入力データからいずれかのテーブルアドレスを示す値を算出し、算出した値と一致するテーブルアドレスに示されている計算結果をテーブルから得て、分割拡大鍵と分割入力データの加算処理と加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
As described above, in the present embodiment, the initial key
図8は図5におけるテーブル501における実施例を示す。
テーブル502についても同様に実施できる。
テーブル801はテーブル501と等価なテーブルである。
具体的には、テーブル801において、分割拡大鍵511を上位ビットに、分割入力509を下位ビットに連結してテーブルを作成する。
つまり、本実施の形態に係る鍵加算処理部1250が利用するテーブル801は、複数のテーブルアドレスを備え、各テーブルアドレスに対して全単射逆変換処理、加算処理及び単射変換処理後の計算結果を示すテーブルである。
なお、全単射逆変換処理802は図5の全単射逆変換処理503と同じである。
また、単射変換処理803は図3の単射変換処理505と同じである。
また、加算処理809は図5の加算処理515と同じである。
FIG. 8 shows an embodiment in the table 501 in FIG.
The same applies to the table 502.
The table 801 is an equivalent table to the table 501.
Specifically, in the table 801, a table is created by concatenating the divided expanded key 511 with the upper bits and the divided
That is, the table 801 used by the key
The bijective
Also, the
The
アドレス計算処理804は分割拡大鍵805を入力として、参照テーブルアドレス807(テーブルアドレスの上位ビット)を計算する。
具体的には、分割拡大鍵805をn1ビット左シフトし、その結果とテーブル801の先頭アドレスとを加算し、その結果を参照テーブルアドレス807とする。
アドレス計算処理804は鍵スケジュールの段階で計算してもよい。
The
Specifically, the divided expanded
The
また、分割入力806をテーブルアドレスの下位ビットとし、参照テーブルアドレス807を元に、該当するテーブルアドレスのテーブル値を参照し、テーブル出力808を得る。
具体的には参照テーブルアドレス807と分割入力806とを連結し、結果のアドレスのテーブル値を参照する。
Further, the division input 806 is used as the lower bits of the table address, and the table value of the corresponding table address is referenced based on the reference table address 807 to obtain a
Specifically, the reference table address 807 and the divided input 806 are concatenated, and the table value of the resulting address is referenced.
このように、本実施の形態では、鍵加算処理部1250は、分割拡大鍵をテーブルの一部を用いて変換し、変換後の分割拡大鍵と分割入力データからいずれかのテーブルアドレスを示す値を算出し、算出した値と一致するテーブルアドレスに示されている計算結果をテーブルから得て、全単射変換処理後の入力データの分割入力データに対する全単射逆変換処理と、全単射逆変換処理後の分割入力データと分割拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
As described above, in this embodiment, the key
復号時の鍵加算処理部も前記暗号時の鍵加算処理部1250と同様に行うことができる。ただし、分割拡大鍵805、加算処理809(図8)は、復号アルゴリズムに準拠する。
つまり、本実施の形態で説明した手順及び図7、図8、図14に示す構成にて、本実施の形態に係る暗号処理装置に対応する復号処理装置も構成することができる。復号処理装置においては入力が暗号文となり、出力が平文となる。また、拡大鍵の生成に用いられる復号鍵は暗号鍵と共通である。
The key addition processing unit at the time of decryption can be performed in the same manner as the key
That is, the decryption processing device corresponding to the cryptographic processing device according to the present embodiment can be configured by the procedure described in the present embodiment and the configuration shown in FIGS. 7, 8, and 14. In the decryption processing apparatus, the input is ciphertext and the output is plaintext. Further, the decryption key used for generating the expanded key is the same as the encryption key.
ここで、本実施の形態に係る効果の一例について説明する。
本実施の形態では、実施の形態1に示した効果を得られるだけでなく、暗号鍵に依存する計算を、鍵スケジュール部に組み込むことができる。
また、暗号演算過程で暗号鍵本体を用いることがないため、より安全な暗号演算を実施できる。
Here, an example of the effect according to the present embodiment will be described.
In the present embodiment, not only the effects shown in the first embodiment can be obtained, but also the calculation depending on the encryption key can be incorporated into the key schedule unit.
In addition, since the encryption key body is not used in the encryption operation process, more secure encryption operation can be performed.
実施の形態3.
実施の形態1および2では、鍵加算処理用に4種類(テーブル201、テーブル202、テーブル501、テーブル502)を用意したが、本実施の形態では3種類のテーブルで済ませる方法を示す。
Embodiment 3 FIG.
In
図9は、本実施の形態に係る暗号処理の全体の流れを示す。
図9では、SPN構造の暗号の例を示しているが、後述する各処理を組み合わせることで、Feistel構造の暗号を含む、任意の暗号に適用可能である。
図9では、図1の初期鍵加算処理101〜103が、初期変換処理933〜935となっている点が、図1との主な相違点である。
他の処理は、図1に示したものと同様である。
FIG. 9 shows the overall flow of the cryptographic processing according to the present embodiment.
FIG. 9 shows an example of the SPN structure cipher, but the present invention can be applied to any cipher including the Feistel structure cipher by combining the processes described below.
9 is different from FIG. 1 in that the initial
Other processes are the same as those shown in FIG.
図9では、あらかじめ鍵スケジュール処理によって、暗号鍵から拡大鍵923〜931を生成させている。
In FIG. 9, the expanded
また、m×nビットの平文122はnビットずつに分解され、各々の平文は初期変換処理933〜935に入力される。
その出力と拡大鍵923〜925は鍵加算処理901〜903に入力される。
鍵加算処理901〜903の出力は非線形変換処理904〜906に入力される。
線形変換処理907〜909は複数の非線形変換処理904〜906の出力を入力として、nビットの出力を求める。
線形変換処理907〜909の出力は鍵加算処理910〜912に入力され、拡大鍵926〜928と加算される。以降、非線形変換処理、線形変換処理、鍵加算処理を繰り返す。
最終の鍵加算処理916〜918の出力は最終変換処理919〜921に入力され、その出力を連接したものが暗号文932となる。
The m × n-
The output and the expanded
Outputs of the
The outputs of the linear transformation processes 907 to 909 are input to the
The output of the final
図15は、本実施の形態に係る暗号処理装置1の構成例を示す、
初期変換処理部1280は、図9に示す初期変換処理933〜935を行う。
初期変換処理部1280の処理の詳細は後述するが、初期変換処理部1280は、平文データを入力し、入力した平文データを分割する処理と、分割後の各データに対する全単射変換処理と、全単射変換処理後の各データを連接する処理とを1回のテーブル参照により行う。
そして、初期変換処理部1280が行う全単射変換処理は、排他的論理和演算に対して加法性のある全単射変換処理である。
図15では、初期鍵加算処理部1220の代わりに初期変換処理部1280が配置されている点以外は、図14に示した構成と同じである。
FIG. 15 shows a configuration example of the
The initial
Details of the processing of the initial
The bijection conversion process performed by the initial
15 is the same as the configuration shown in FIG. 14 except that an initial
図10に初期変換処理部1280の構成例を示す。
図10の初期変換処理部1280は、暗号化の初期処理として平文を変換する。
FIG. 10 shows a configuration example of the initial
The initial
入力1004はテーブル1001によって、出力1009に変換される。
The
テーブル1001の内容について説明する。
入力1004はn1ビットの分割入力1005とn2ビットの分割入力1006に分割される。
分割法は鍵加算処理と同じである。
全単射変換処理1002は分割入力1005よりテーブル出力1007を出力する。全単射変換処理1003は分割入力1006よりテーブル出力1008を出力する。テーブル出力1007とテーブル出力1008は連接されて出力1009となる。
The contents of the table 1001 will be described.
The
The division method is the same as the key addition process.
The
鍵加算処理、非線形変換処理、線形変換処理、最終変換処理は実施の形態1と同じである。 The key addition process, nonlinear conversion process, linear conversion process, and final conversion process are the same as those in the first embodiment.
復号処理も前記暗号処理と同様に行うことができる。ただし、拡大鍵923〜931(図9)、非線形変換処理303(図3)、線形変換処理401(図4)加算処理515,516(図5)は、復号アルゴリズムに準拠する。また復号時は、図9において、入力が暗号文となり、平文を出力する。
つまり、本実施の形態で説明した手順及び図9、図10、図15に示す構成にて、本実施の形態に係る暗号処理装置に対応する復号処理装置も構成することができる。復号処理装置においては入力が暗号文となり、出力が平文となる。また、拡大鍵の生成に用いられる復号鍵は暗号鍵と共通である。
The decryption process can also be performed in the same manner as the encryption process. However, the expanded
That is, the decryption processing device corresponding to the encryption processing device according to the present embodiment can be configured by the procedure described in the present embodiment and the configuration illustrated in FIGS. 9, 10, and 15. In the decryption processing apparatus, the input is ciphertext and the output is plaintext. Further, the decryption key used for generating the expanded key is the same as the encryption key.
ここで、本実施の形態に係る効果の一例について説明する。
図10の初期変換処理を行うことにより、実施の形態1に示す効果を得られるだけでなく、実施の形態1では、初期鍵加算処理と鍵加算処理に合計4つのテーブルを必要としたが、本実施の形態では、初期変換処理と鍵加算処理に合計3つのテーブルで実装可能である。
よって、トータルでテーブルが1つ削減でき、メモリ使用量を削減できる。
Here, an example of the effect according to the present embodiment will be described.
By performing the initial conversion process of FIG. 10, not only the effects shown in the first embodiment can be obtained, but in the first embodiment, a total of four tables are required for the initial key addition process and the key addition process. In this embodiment, the initial conversion process and the key addition process can be implemented with a total of three tables.
Therefore, one table can be reduced in total, and the memory usage can be reduced.
実施の形態4.
実施の形態1〜3では、スケジュール後の拡大鍵には、何の変換処理も施されていないが、本実施の形態では、鍵スケジュール時に拡大鍵に変換を施す手法を示す。
本実施の形態は実施の形態1〜3と組み合わせて用いる。
Embodiment 4 FIG.
In the first to third embodiments, no conversion processing is performed on the expanded key after the schedule, but in this embodiment, a method of converting the expanded key at the time of key scheduling is shown.
This embodiment is used in combination with the first to third embodiments.
図11は本実施の形態における鍵スケジュール部11を示す。
鍵スケジュール処理1101は、暗号鍵1108から拡大鍵1109〜1111を生成する。
鍵スケジュール処理1101は実装する暗号アルゴリズムに準拠する。
各拡大鍵1109〜1111は分割され、各々について、全単射変換処理1102〜1107によって変換される。変換された拡大鍵は結合され、変換拡大鍵1112〜1114となる。
FIG. 11 shows the
The key schedule process 1101 generates expanded keys 1109 to 1111 from the
The key schedule processing 1101 conforms to the encryption algorithm to be implemented.
Each expanded key 1109 to 1111 is divided and converted by
このように、本実施の形態に係る鍵スケジュール部11は、暗号鍵から得られる拡大鍵に対して全単射変換処理を行い、全単射変換処理後の拡大鍵を変換拡大鍵として出力する。
As described above, the
なお、図11では、鍵スケジュール処理と全単射変換処理を分けて記載しているが、同様の効果を有するように、鍵スケジュール処理の中に全単射変換処理を組み込んでもよい。 In FIG. 11, the key schedule process and the bijection conversion process are described separately, but the bijection conversion process may be incorporated in the key schedule process so as to have the same effect.
図12に本実施の形態における初期鍵加算処理部1220を示す。
図12では、全単射逆変換処理1216、1217が付加される以外は図2と同様である。
全単射逆変換処理1216、1217は、本実施の形態の鍵スケジュール部11において、変換拡大鍵1206が生成された際の全単射変換処理に対する逆変換である。
FIG. 12 shows an initial key
FIG. 12 is the same as FIG. 2 except that bijective
The bijection
すなわち、本実施の形態では、初期鍵加算処理部1220は、鍵スケジュール部11から変換拡大鍵1206を入力し、また、平文を入力データ1205として入力する。
また、変換拡大鍵1206を所定の分割位置で分割して2以上の分割拡大鍵とし、入力データ1205を変換拡大鍵と同じ分割位置で分割して2以上の分割入力データとする。
そして、分割拡大鍵に対して鍵スケジュール部11による全単射変換処理の逆変換を行う全単射逆変換処理1216、1217と、全単射逆変換処理後の分割変換拡大鍵と分割入力データとの加算処理1213、1214と単射変換処理1203、1204を1回のテーブル参照により行う。
In other words, in the present embodiment, the initial key
Also, the
Then, the bijection
図13に本実施の形態における鍵加算処理部1250を示す。
図13では、全単射逆変換処理1318、1319が付加される以外は図5と同様である。
全単射逆変換処理1318、1319は、本実施の形態の鍵スケジュール部11において、変換拡大鍵1308が生成された際の全単射変換処理に対する逆変換である。
FIG. 13 shows a key
FIG. 13 is the same as FIG. 5 except that bijective
The bijection
すなわち、本実施の形態では、鍵加算処理部1250は、鍵スケジュール部11から変換拡大鍵1308を入力し、また、入力データ1307を入力する。
また、変換拡大鍵1308を所定の分割位置で分割して2以上の分割拡大鍵とし、入力データ1307を変換拡大鍵と同じ分割位置で分割して2以上の分割入力データとする。
そして、分割拡大鍵に対して鍵スケジュール部11による全単射変換処理の逆変換を行う全単射逆変換処理1318、1319(第1の全単射逆変換処理)と、分割入力データに対して非線形変換処理部1230による全単射変換処理の逆変換を行う全単射逆変換処理1303、1304(第2の全単射逆変換処理)と、全単射逆変換処理1318、1319後の分割拡大鍵と全単射逆変換処理1303、1304後の分割入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
In other words, in the present embodiment, the key
Further, the
Then, the bijection
復号処理時の初期鍵加算処理部及び鍵加算処理部は、前記暗号処理時の初期鍵加算処理部1220及び鍵加算処理部1250と同様に行うことができる。ただし、変換拡大鍵1206(図12)、変換拡大鍵1308(図13)、加算処理1213・1214(図12)、加算処理1315・1316(図13)は、復号アルゴリズムに準拠する。
つまり、本実施の形態で説明した手順及び図11〜図13に示す構成にて、本実施の形態に係る暗号処理装置に対応する復号処理装置も構成することができる。復号処理装置においては入力が暗号文となり、出力が平文となる。また、拡大鍵の生成に用いられる復号鍵は暗号鍵と共通である。
The initial key addition processing unit and the key addition processing unit during the decryption process can be performed in the same manner as the initial key
That is, the decryption processing device corresponding to the cryptographic processing device according to the present embodiment can be configured by the procedure described in the present embodiment and the configuration shown in FIGS. In the decryption processing apparatus, the input is ciphertext and the output is plaintext. Further, the decryption key used for generating the expanded key is the same as the encryption key.
ここで、本実施の形態に係る効果の一例について説明する。
実施の形態1〜3に示す効果に加え、さらに、拡大鍵を推定不可能にできる。
よって、攻撃者が暗号アルゴリズムを知っていたとしても、拡大鍵の値を予想できない。これにより、鍵スケジュール処理に対しても、従来の電力差分解析に対して耐性を持たせることができる。
Here, an example of the effect according to the present embodiment will be described.
In addition to the effects shown in the first to third embodiments, it is possible to make the extended key impossible to estimate.
Therefore, even if the attacker knows the encryption algorithm, the value of the expanded key cannot be predicted. Thereby, it is possible to provide resistance to the conventional power difference analysis even for the key schedule processing.
次に、実施の形態1〜4に示した暗号処理装置及び暗号処理方法の主な特徴を記す。 Next, main features of the cryptographic processing apparatus and the cryptographic processing method described in the first to fourth embodiments will be described.
実施の形態1〜4では、暗号をソフトウェアによって実行する暗号処理装置及び暗号処理方法であって、入力と暗号鍵との加算処理(鍵加算処理)をテーブル参照によって実現するにあたり、入力と暗号鍵を各々同じビット列で分割し、分割された入力と暗号鍵とを入力として、テーブル参照によって加算処理を実現し、分割した各々の入力及び暗号鍵に対するテーブル出力を加算する暗号処理装置及び暗号処理方法を説明した。
また、実施の形態1〜4では、鍵加算処理におけるテーブルについて、以下の処理を1回のテーブル参照によって行う暗号処理装置及び暗号処理方法を説明した。
A)入力と暗号鍵とを本来の暗号の仕様に則り加算する。
B)前記A)の出力を単射変換する。
In the first to fourth embodiments, the encryption processing apparatus and the encryption processing method that perform the following processing by referring to the table once for the table in the key addition processing have been described.
A) The input and the encryption key are added according to the original encryption specification.
B) The output of A) is subjected to injection conversion.
また、実施の形態1〜4では、前記分割された暗号鍵(復号鍵)と、前記テーブル本体とから、参照アドレスを計算し、前記参照アドレスと前記分割された入力とからテーブル出力を求める暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。 In the first to fourth embodiments, a reference address is calculated from the divided encryption key (decryption key) and the table body, and a table output is obtained from the reference address and the divided input. The processing device and the encryption processing method (decryption processing device and decryption processing method) have been described.
また、実施の形態1〜4では、加算処理の後に実行する非線形変換処理において、以下の処理を1回のテーブル参照によって行う暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。
C)前記鍵加算処理において実行した単射変換に対する逆変換処理を行う。
D)前記C)の出力に対し、本来の暗号の仕様に則り非線形処理を行う。
E)前記D)の出力を分割し、分割された各々の出力に対して、全単射変換を行う。
In the first to fourth embodiments, an encryption processing device and an encryption processing method (decryption processing device and decryption processing method) that perform the following processing by referring to a table once in the nonlinear conversion processing executed after the addition processing will be described. did.
C) An inverse transformation process is performed on the injection transformation executed in the key addition process.
D) Non-linear processing is performed on the output of C) according to the original encryption specifications.
E) The output of D) is divided, and bijective transformation is performed on each of the divided outputs.
また、実施の形態1〜4では、非線形変換処理における全単射変換において、排他的論理和演算に対して加法性のある全単射変換を用いる暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。 In the first to fourth embodiments, in the bijection conversion in the non-linear transformation process, the cryptographic processing apparatus and the cryptographic processing method (decryption processing apparatus and the like) using the bijective transformation that is additive to the exclusive OR operation are used. Decoding method has been described.
また、実施の形態1〜4では、非線形変換の後に実行する鍵加算処理において、前記E)と同様に分割し、分割された入力と暗号鍵(復号鍵)とを入力として、テーブル参照によって加算処理を実現し、分割した各々の入力及び暗号鍵(復号鍵)に対するテーブル出力を加算する暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。 In the first to fourth embodiments, in the key addition process executed after the non-linear transformation, the division is performed in the same manner as in the above E), and the divided input and the encryption key (decryption key) are used as inputs and added by referring to the table. The encryption processing device and the encryption processing method (decryption processing device and decryption processing method) for realizing the processing and adding the table output for each divided input and encryption key (decryption key) have been described.
また、実施の形態1〜4では、鍵加算処理におけるテーブルについて、入力を前記E)と同様に分割した上で、以下の処理を1回のテーブル参照によって行う暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。
F)分割された各々の入力に対し、前記E)で行った全単射変換の逆変換を行う。
G)前記F)の出力と暗号鍵(復号鍵)とを本来の暗号の仕様に則り加算する。
H)前記G)の出力を単射変換する。
In
F) For each divided input, the inverse transformation of the bijection transformation performed in E) is performed.
G) The output of F) and the encryption key (decryption key) are added according to the original encryption specifications.
H) Injectively transform the output of G).
また、実施の形態1〜4では、分割された暗号鍵(復号鍵)と、前記テーブル本体とから、アドレスを計算し、前記アドレスと前記分割された入力とからテーブル出力を求める暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。 In the first to fourth embodiments, an encryption processing device that calculates an address from the divided encryption key (decryption key) and the table body and obtains a table output from the address and the divided input; The encryption processing method (decryption processing device and decryption processing method) has been described.
また、実施の形態1〜4では、暗号終了時に前記C)に示す逆変換を行い、その結果を暗号文として出力する暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。 In the first to fourth embodiments, the encryption processing device and the encryption processing method (decryption processing device and decryption processing method) that perform the inverse transformation shown in C) at the end of encryption and output the result as ciphertext have been described .
また、実施の形態1〜4では、暗号(復号)開始時に以下の処理を1回のテーブル参照で行い、その後に鍵加算処理を行う暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。
I)入力を分割し、分割された各々の入力に対し、前記E)で行った全単射変換を行う。
J)前記I)の出力を連接する。
In
I) The input is divided, and the bijective transformation performed in E) is performed on each of the divided inputs.
J) Concatenate the outputs of I) above.
また、実施の形態1〜4では、鍵スケジュールの段階で全単射変換を施し、鍵加算の段階で以下の処理を行う暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。
K)暗号鍵(復号鍵)に対して鍵スケジュールで行った全単射変換に対する逆変換を行う。
L)入力とK)の出力とを本来の暗号の仕様に則り加算する。
M)前記L)の出力を単射変換する。
In the first to fourth embodiments, a cryptographic processing device and a cryptographic processing method (decryption processing device and decryption processing method) that perform bijective transformation at the key schedule stage and perform the following processing at the key addition stage will be described. did.
K) An inverse transformation is performed on the bijection transformation performed in the key schedule for the encryption key (decryption key).
L) The input and the output of K) are added according to the original encryption specifications.
M) The output of the above L) is injectively transformed.
また、実施の形態1〜4では、鍵スケジュールの段階で全単射変換を施し、鍵加算の段階で以下の処理を行う暗号処理装置及び暗号処理方法(復号処理装置及び復号処理方法)を説明した。
N)暗号鍵(復号鍵)に対して鍵スケジュールで行った全単射変換に対する逆変換を行う。
O)分割された各々の入力に対し、前記E)で行った全単射変換の逆変換を行う。
P)前記N)の出力とO)の出力を本来の暗号の仕様に則り加算する。
Q)前記P)の出力を単射変換する。
In the first to fourth embodiments, a cryptographic processing device and a cryptographic processing method (decryption processing device and decryption processing method) that perform bijective transformation at the key schedule stage and perform the following processing at the key addition stage will be described. did.
N) An inverse transformation is performed on the bijection transformation performed in the key schedule for the encryption key (decryption key).
O) The inverse transformation of the bijection transformation performed in E) is performed on each divided input.
P) The output of N) and the output of O) are added according to the original encryption specifications.
Q) The output of P) is subjected to injection conversion.
最後に、実施の形態1〜4に示した暗号処理装置1のハードウェア構成例について説明する。
図16は、実施の形態1〜4に示す暗号処理装置1のハードウェア資源の一例を示す図である。
なお、図16の構成は、あくまでも暗号処理装置1のハードウェア構成の一例を示すものであり、暗号処理装置1のハードウェア構成は図16に記載の構成に限らず、他の構成であってもよい。
また、復号処理装置も、例えば、図16のハードウェア構成により実現可能である。以下の説明において、「暗号処理装置1」を「復号処理装置」と読み替えることが可能である。
Finally, a hardware configuration example of the
FIG. 16 is a diagram illustrating an example of hardware resources of the
Note that the configuration of FIG. 16 is merely an example of the hardware configuration of the
Also, the decoding processing device can be realized by the hardware configuration of FIG. 16, for example. In the following description, “
図16において、暗号処理装置1は、プログラムを実行するCPU1911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU1911は、バス1912を介して、例えば、ROM(Read Only Memory)1913、RAM(Random Access Memory)1914、磁気ディスク装置1920と接続され、これらのハードウェアデバイスを制御する。
また、CPU1911は、通信ボード1915、表示装置1901、キーボード1902、マウス1903と接続されていてもよい。
更に、CPU1911は、FDD1904(Flexible Disk Drive)、コンパクトディスク装置1905(CDD)、プリンタ装置1906、スキャナ装置1907と接続していてもよい。また、磁気ディスク装置1920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM1914は、揮発性メモリの一例である。ROM1913、FDD1904、CDD1905、磁気ディスク装置1920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード1915、キーボード1902、マウス1903、スキャナ装置1907、FDD1904などは、入力装置の一例である。
また、通信ボード1915、表示装置1901、プリンタ装置1906などは、出力装置の一例である。
In FIG. 16, the
The
Further, the
Further, the
The
A
The
通信ボード1915は、ネットワークに接続されている。例えば、通信ボード1915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
The
磁気ディスク装置1920には、オペレーティングシステム1921(OS)、ウィンドウシステム1922、プログラム群1923、ファイル群1924が記憶されている。
プログラム群1923のプログラムは、CPU1911がオペレーティングシステム1921、ウィンドウシステム1922を利用しながら実行する。
例えば、プログラム群1923には、実施の形態1〜4の暗号処理装置1に含まれる各要素(「〜部」として示した要素)の機能を実現するプログラムが格納されている。プログラムは、CPU1911により読み出され実行される。
また、ファイル群1924には、暗号処理装置1に含まれる各要素(「〜部」として示した要素)が参照するテーブルが磁気ディスク装置1920に格納されている。
The
The programs in the
For example, the
In the
また、RAM1914には、CPU1911に実行させるオペレーティングシステム1921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM1914には、CPU1911による処理に必要な各種データが格納される。
例えば、暗号処理装置1に含まれる各要素(「〜部」として示した要素)をプログラムとする場合に、各要素の機能を実現するプログラムがRAM1914にロードされる。
また、暗号処理装置1に含まれる各要素(「〜部」として示した要素)が参照するテーブルがRAM1914にロードされる。
Further, the
The
For example, when each element included in the cryptographic processing apparatus 1 (element indicated as “˜part”) is a program, a program that realizes the function of each element is loaded into the
Further, a table referred to by each element (element indicated as “˜”) included in the
また、ROM1913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置1920にはブートプログラムが格納されている。
暗号処理装置1の起動時には、ROM1913のBIOSプログラム及び磁気ディスク装置1920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム1921が起動される。
The
When the
また、ファイル群1924には、実施の形態1〜4の説明において、「〜処理」の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU1911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜4で説明しているデータフローの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM1914のメモリ、FDD1904のフレキシブルディスク、CDD1905のコンパクトディスク、磁気ディスク装置1920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス1912や信号線やケーブルその他の伝送媒体によりオンライン伝送される場合がある。
In the
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
In addition, the arrow portion of the data flow described in the first to fourth embodiments mainly indicates input / output of data and signals, and the data and signal values are the
また、実施の形態1〜4の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM1913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU1911により読み出され、CPU1911により実行される。すなわち、プログラムは、実施の形態1〜4の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜4の「〜部」の手順や方法をコンピュータに実行させるものである。
In addition, what is described as “to part” in the description of the first to fourth embodiments may be “to circuit”, “to device”, “to device”, and “to step”, It may be “˜procedure” or “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the
このように、実施の形態1〜4に示す暗号処理装置1は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
As described above, the
1 暗号処理装置、11 鍵スケジュール部、12 暗号処理部、1210 平文分割部、1220 初期鍵加算処理部、1230 非線形変換処理部、1240 線形変換処理部、1250 鍵加算処理部、1260 最終変換処理部、1270 暗号文連結部、1280 初期変換処理部。
DESCRIPTION OF
Claims (45)
入力した拡大鍵と入力データとの加算処理をテーブル参照により行う鍵加算処理部を有することを特徴とする暗号処理装置。 Enter the extended key generated from the encryption key outside, input the input data,
An encryption processing apparatus comprising: a key addition processing unit that performs addition processing of an input extended key and input data by referring to a table.
拡大鍵と入力データの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項1に記載の暗号処理装置。 The key addition processing unit
2. The cryptographic processing apparatus according to claim 1, wherein the process of adding the expanded key and the input data and the injection conversion process of the data after the addition process are performed by referring to the table once.
同じビット数の拡大鍵と入力データを入力し、入力した拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、
分割拡大鍵と分割入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項1又は2に記載の暗号処理装置。 The key addition processing unit
An extended key having the same number of bits and input data are input, and the input extended key is divided at a predetermined division position to form two or more divided extended keys, and the input data that has been input is divided at the same division position as the extended key to 2 With the above divided input data,
The encryption processing apparatus according to claim 1 or 2, wherein the addition processing of the divided extended key and the divided input data and the injection conversion processing of the data after the addition processing are performed by referring to the table once.
複数のテーブルアドレスを備え、各テーブルアドレスに対して加算処理及び単射変換処理後の計算結果を示すテーブルを管理し、
分割拡大鍵と分割入力データから前記テーブルのいずれかのテーブルアドレスを示す値を算出し、算出した値と一致するテーブルアドレスに示されている計算結果を前記テーブルから得て、分割拡大鍵と分割入力データの加算処理と加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項3に記載の暗号処理装置。 The key addition processing unit
A plurality of table addresses are provided, and a table indicating calculation results after addition processing and injection conversion processing for each table address is managed,
A value indicating any table address of the table is calculated from the divided extended key and the divided input data, and the calculation result indicated by the table address matching the calculated value is obtained from the table, and the divided extended key and the divided key are divided. 4. The cryptographic processing apparatus according to claim 3, wherein the input data addition processing and the injection conversion processing of the data after the addition processing are performed by referring to the table once.
分割拡大鍵を前記テーブルの一部を用いて変換し、変換後の分割拡大鍵と分割入力データから前記テーブルのいずれかのテーブルアドレスを示す値を算出することを特徴とする請求項4に記載の暗号処理装置。 The key addition processing unit
5. The divided extended key is converted using a part of the table, and a value indicating any one of the table addresses of the table is calculated from the converted divided extended key and the divided input data. Cryptographic processing equipment.
入力データとして平文データを入力することを特徴とする請求項1〜5のいずれかに記載の暗号処理装置。 The key addition processing unit
6. The cryptographic processing apparatus according to claim 1, wherein plain text data is input as input data.
データに対して全単射変換処理を行う非線形変換処理部を有し、
前記鍵加算処理部は、
前記非線形変換処理部により全単射変換処理が行われた後のデータを入力データとして入力し、
入力データに対して前記非線形変換処理部による全単射変換処理の逆変換を行う全単射逆変換処理と、全単射逆変換処理後の入力データと拡大鍵との加算処理とをテーブル参照により行うことを特徴とする請求項1に記載の暗号処理装置。 The cryptographic processing device further includes:
A non-linear transformation processing unit that performs bijective transformation processing on data,
The key addition processing unit
Input the data after bijection conversion processing is performed by the nonlinear conversion processing unit as input data,
Refer to the table for the bijection inverse transformation process that performs the inverse transformation of the bijection transformation process by the nonlinear transformation processing unit on the input data, and the addition process of the input data after the bijective inverse transformation process and the expanded key The cryptographic processing apparatus according to claim 1, wherein:
入力データに対する全単射逆変換処理と、全単射逆変換処理後の入力データと拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項7に記載の暗号処理装置。 The key addition processing unit
Perform a bijection inverse transformation process on input data, an addition process between the input data after the bijection inverse transformation process and the expanded key, and a bijection transformation process of the data after the addition process by referring to the table once. The cryptographic processing apparatus according to claim 7.
同じビット数の拡大鍵と入力データを入力し、入力した拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、
分割入力データに対する全単射逆変換処理と、全単射逆変換処理後の分割入力データと分割拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項7又は8に記載の暗号処理装置。 The key addition processing unit
An extended key having the same number of bits and input data are input, and the input extended key is divided at a predetermined division position to form two or more divided extended keys, and the input data that has been input is divided at the same division position as the extended key to 2 With the above divided input data,
Refer to the table once for the bijection inverse transformation processing for the divided input data, the addition processing of the divided input data after the bijection inverse transformation processing and the divided expanded key, and the injection transformation processing of the data after the addition processing. The cryptographic processing apparatus according to claim 7 or 8, wherein
複数のテーブルアドレスを備え、各テーブルアドレスに対して全単射逆変換処理、加算処理及び単射変換処理後の計算結果を示すテーブルを管理し、
分割拡大鍵と分割入力データから前記テーブルのいずれかのテーブルアドレスを示す値を算出し、算出した値と一致するテーブルアドレスに示されている計算結果を前記テーブルから得て、全単射変換処理後の入力データの分割入力データに対する全単射逆変換処理と、全単射逆変換処理後の分割入力データと分割拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項9に記載の暗号処理装置。 The key addition processing unit
A plurality of table addresses are provided, and a table indicating calculation results after bijection inverse transformation processing, addition processing, and bijection transformation processing is managed for each table address,
A value indicating any table address of the table is calculated from the divided extended key and the divided input data, and the calculation result indicated by the table address matching the calculated value is obtained from the table, and the bijection conversion process A bijection inverse transformation process for the divided input data of the later input data, an addition process of the divided input data after the bijective inverse transformation process and the divided expanded key, and a bijection transformation process of the data after the addition process The cryptographic processing apparatus according to claim 9, wherein the cryptographic processing apparatus is performed by referring to the table once.
分割拡大鍵を前記テーブルの一部を用いて変換し、変換後の分割拡大鍵と分割入力データから前記テーブルのいずれかのテーブルアドレスを示す値を算出することを特徴とする請求項10に記載の暗号処理装置。 The key addition processing unit
The divided extended key is converted by using a part of the table, and a value indicating any table address of the table is calculated from the converted divided extended key and the divided input data. Cryptographic processing equipment.
拡大鍵及び入力データをn(n≧2)個の分割拡大鍵及びn個の分割入力データに分割し、単射変換処理の入力をx1〜xnとし、単射変換処理の出力をf(x1)〜f(xn)とし、x1〜xnの連接をxとした場合に、
xの写像f(x)(f(x)はf(x1)〜f(xn)を加算処理した後の値に相当)が全単射写像となる単射変換処理をテーブル参照により行うことを特徴とする請求項2又は8に記載の暗号処理装置。 The key addition processing unit
The extended key and input data is divided into n (n ≧ 2) pieces of divided expanded key and n pieces of divided input data, the input of the injection conversion and x 1 ~x n, the output of the injection conversion processing f When (x 1 ) to f (x n ) and x 1 to x n are connected to x,
A table conversion is performed by referring to a table, in which a map f (x) of x (f (x) corresponds to a value obtained by adding f (x 1 ) to f (x n )) is a bijection map. The cryptographic processing apparatus according to claim 2 or 8, characterized in that:
テーブル参照によるテーブル出力データを分割数分得て、各テーブル出力データの加算処理を行い、加算処理後のデータを前記非線形変換処理部に出力し、
前記非線形変換処理部は、
前記鍵加算処理部から出力されたデータを入力し、
入力したデータに対する前記鍵加算処理部の単射変換処理の逆変換処理と、逆変換処理後のデータに対する非線形変換処理と、非線形変換処理後のデータに対する全単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項8〜11のいずれかに記載の暗号処理装置。 The key addition processing unit
Obtain table output data by the number of divisions by table reference, perform addition processing of each table output data, output the data after the addition processing to the nonlinear conversion processing unit,
The non-linear transformation processing unit
Input the data output from the key addition processing unit,
One table of inverse transformation processing of the injection transformation processing of the key addition processing unit for the input data, nonlinear transformation processing for the data after the inverse transformation processing, and bijection transformation processing for the data after the nonlinear transformation processing The cryptographic processing apparatus according to claim 8, wherein the cryptographic processing apparatus is performed by reference.
前記逆変換処理と、前記非線形変換処理と、前記非線形変換処理後のデータを前記鍵加算処理部における拡大鍵及び入力データの分割位置と同じ分割位置で分割する処理と、分割後の各データに対する全単射変換処理と、全単射逆変換処理後の各データを連接する処理とを1回のテーブル参照により行うことを特徴とする請求項13に記載の暗号処理装置。 The non-linear transformation processing unit
The inverse transformation process, the nonlinear transformation process, a process of dividing the data after the nonlinear transformation process at the same division position as the division position of the expanded key and the input data in the key addition processing unit, and each divided data 14. The cryptographic processing apparatus according to claim 13, wherein the bijection conversion process and the process of concatenating each piece of data after the bijection inverse conversion process are performed by referring to the table once.
排他的論理和演算に対して加法性のある全単射変換処理を行うことを特徴とする請求項7、13及び14のいずれかに記載の暗号処理装置。 The non-linear transformation processing unit
15. The cryptographic processing apparatus according to claim 7, 13 or 14, wherein an additive bijective conversion process is performed on an exclusive OR operation.
前記鍵加算処理部から出力されたデータを入力し、
入力したデータに対して前記鍵加算処理部の単射変換処理の逆変換処理を行い、前記逆変換処理後のデータを暗号文データとして出力する最終変換処理部を有することを特徴とする請求項8〜11のいずれかに記載の暗号処理装置。 The cryptographic processing device further includes:
Input the data output from the key addition processing unit,
The final conversion processing unit which performs reverse conversion processing of the injection conversion processing of the key addition processing unit on the input data, and outputs the data after the reverse conversion processing as ciphertext data. The cryptographic processing device according to any one of 8 to 11.
平文データを入力し、
入力した平文データを分割する処理、分割後の各データに対する全単射変換処理と、全単射変換処理後の各データを連接する処理とを1回のテーブル参照により行う初期変換処理部を有することを特徴とする請求項1に記載の暗号処理装置。 The cryptographic processing device further includes:
Enter plain text data,
An initial conversion processing unit that performs processing for dividing the input plaintext data, bijection conversion processing for each divided data, and processing for connecting the data after the bijection conversion processing by one table reference The cryptographic processing apparatus according to claim 1.
排他的論理和演算に対して加法性のある全単射変換処理を行うことを特徴とする請求項17に記載の暗号処理装置。 The initial conversion processing unit includes:
18. The cryptographic processing apparatus according to claim 17, wherein an additive bijective conversion process is performed on the exclusive OR operation.
前記鍵スケジュール部から変換拡大鍵を入力し、入力データを入力し、
入力した変換拡大鍵に対して前記鍵スケジュール部による全単射変換処理の逆変換を行う全単射逆変換処理と、全単射逆変換処理後の変換拡大鍵と入力データとの加算処理とをテーブル参照により行う鍵加算処理部を有することを特徴とする請求項19に記載の暗号処理装置。 The cryptographic processing device further includes:
Input the conversion expansion key from the key schedule part, input the input data,
A bijection inverse transformation process for performing an inverse transformation of the bijection transformation process by the key schedule unit on the input transformation extension key, and an addition process of the transformation expansion key after the bijective inverse transformation process and the input data; The encryption processing apparatus according to claim 19, further comprising a key addition processing unit that performs the process by referring to a table.
変換拡大鍵に対する全単射逆変換処理と、全単射逆変換処理後の変換拡大鍵と入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項20に記載の暗号処理装置。 The key addition processing unit
A one-time table reference includes a bijection inverse transformation process for the transformation expansion key, an addition process between the transformation expansion key after the bijection inverse transformation process and the input data, and a bijection transformation process of the data after the addition process. The encryption processing apparatus according to claim 20, wherein the encryption processing apparatus performs the encryption processing.
同じビット数の変換拡大鍵と入力データを入力し、入力した変換拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを変換拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、分割拡大鍵に対する全単射逆変換処理と、全単射逆変換処理後の分割拡大鍵と分割入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項20又は21に記載の暗号処理装置。 The key addition processing unit
Input a conversion expansion key and input data with the same number of bits, divide the input conversion expansion key at a predetermined division position to make two or more division expansion keys, and divide the input data input at the same division position as the conversion expansion key Thus, two or more pieces of divided input data are obtained, and a bijective inverse transformation process for the divided extended key, an addition process of the divided extended key after the bijective inverse transformation process and the divided input data, and a unit of the data after the addition process The cryptographic processing apparatus according to claim 20 or 21, wherein the recursive conversion process is performed by referring to the table once.
全単射変換処理を行う非線形変換処理部と、
前記鍵スケジュール部から変換拡大鍵を入力し、前記非線形変換処理部により全単射変換処理が行われた後のデータを入力データとして入力し、
入力した変換拡大鍵に対して前記鍵スケジュール部による全単射変換処理の逆変換を行う第1の全単射逆変換処理と、入力データに対して前記非線形変換処理部による全単射変換処理の逆変換を行う第2の全単射逆変換処理と、第1の全単射逆変換処理後の変換拡大鍵と第2の全単射逆変換処理後の入力データとの加算処理とをテーブル参照により行うことを特徴とする請求項19に記載の暗号処理装置。 The cryptographic processing device further includes:
A non-linear transformation processing unit that performs bijective transformation processing;
Input a transformation expansion key from the key schedule unit, and input data after bijection transformation processing is performed by the nonlinear transformation processing unit as input data,
A first bijection inverse transformation process for performing an inverse transformation of the bijection transformation process by the key schedule unit on the input conversion expanded key, and a bijection transformation process by the nonlinear transformation processing unit on the input data A second bijective inverse transformation process for performing an inverse transformation of the first bijective inverse transformation process, and an addition process of the transformation expansion key after the first bijective inverse transformation process and the input data after the second bijective inverse transformation process. The cryptographic processing apparatus according to claim 19, wherein the cryptographic processing apparatus is performed by referring to a table.
第1の全単射逆変換処理と、第2の全単射逆変換処理と、第1の全単射逆変換処理後の変換拡大鍵と第2の全単射逆変換処理後の入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項23に記載の暗号処理装置。 The key addition processing unit
The first bijective inverse transform process, the second bijective inverse transform process, the transformation expansion key after the first bijective inverse transform process, and the input data after the second bijective inverse transform process 24. The cryptographic processing apparatus according to claim 23, wherein the addition processing of the data and the injection conversion processing of the data after the addition processing are performed by referring to the table once.
同じビット数の変換拡大鍵と入力データを入力し、入力した変換拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを変換拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、
分割拡大鍵に対する第1の全単射逆変換処理と、分割入力データに対する第2の全単射逆変換処理と、第1の全単射逆変換処理後の分割拡大鍵と第2の全単射逆変換処理後の分割入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項23又は24に記載の暗号処理装置。 The key addition processing unit
Input a conversion expansion key and input data with the same number of bits, divide the input conversion expansion key at a predetermined division position to make two or more division expansion keys, and divide the input data input at the same division position as the conversion expansion key Into two or more divided input data,
A first bijective inverse transform process for the divided extended key, a second bijective inverse transform process for the divided input data, and the divided expanded key and the second bijective after the first bijective inverse transform process. The encryption processing apparatus according to claim 23 or 24, wherein the addition processing with the divided input data after the reciprocal transformation processing and the injection transformation processing of the data after the addition processing are performed by referring to the table once. .
入力した拡大鍵と入力データとの加算処理をテーブル参照により行う鍵加算処理手順をコンピュータに実行させることを特徴とするプログラム。 Enter the extended key generated from the encryption key outside, input the input data,
A program for causing a computer to execute a key addition processing procedure for performing addition processing of an input extended key and input data by referring to a table.
入力した拡大鍵と入力データとの加算処理をテーブル参照により行う鍵加算処理部を有することを特徴とする復号処理装置。 Input the extended key generated from the decryption key outside, input the input data,
A decryption processing apparatus comprising: a key addition processing unit that performs an addition process between an input extended key and input data by referring to a table.
拡大鍵と入力データの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項28に記載の復号処理装置。 The key addition processing unit
29. The decryption processing apparatus according to claim 28, wherein the process of adding the expanded key and the input data and the injection conversion process of the data after the addition process are performed by referring to the table once.
同じビット数の拡大鍵と入力データを入力し、入力した拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、
分割拡大鍵と分割入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項28又は29に記載の復号処理装置。 The key addition processing unit
An extended key having the same number of bits and input data are input, and the input extended key is divided at a predetermined division position to form two or more divided extended keys, and the input data that has been input is divided at the same division position as the extended key to 2 With the above divided input data,
30. The decryption processing apparatus according to claim 28 or 29, wherein the addition processing of the divided extended key and the divided input data and the injection conversion processing of the data after the addition processing are performed by referring to the table once.
複数のテーブルアドレスを備え、各テーブルアドレスに対して加算処理及び単射変換処理後の計算結果を示すテーブルを管理し、
分割拡大鍵と分割入力データから前記テーブルのいずれかのテーブルアドレスを示す値を算出し、算出した値と一致するテーブルアドレスに示されている計算結果を前記テーブルから得て、分割拡大鍵と分割入力データの加算処理と加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項30に記載の復号処理装置。 The key addition processing unit
A plurality of table addresses are provided, and a table indicating calculation results after addition processing and injection conversion processing for each table address is managed,
A value indicating any table address of the table is calculated from the divided extended key and the divided input data, and the calculation result indicated by the table address matching the calculated value is obtained from the table, and the divided extended key and the divided key are divided. 31. The decoding processing apparatus according to claim 30, wherein the input data addition processing and the injection conversion processing of the data after the addition processing are performed by one table reference.
データに対して全単射変換処理を行う非線形変換処理部を有し、
前記鍵加算処理部は、
前記非線形変換処理部により全単射変換処理が行われた後のデータを入力データとして入力し、
入力データに対して前記非線形変換処理部による全単射変換処理の逆変換を行う全単射逆変換処理と、全単射逆変換処理後の入力データと拡大鍵との加算処理とをテーブル参照により行うことを特徴とする請求項28に記載の復号処理装置。 The decoding processing device further includes:
A non-linear transformation processing unit that performs bijective transformation processing on data,
The key addition processing unit
Input the data after bijection conversion processing is performed by the nonlinear conversion processing unit as input data,
Refer to the table for the bijection inverse transformation process that performs the inverse transformation of the bijection transformation process by the nonlinear transformation processing unit on the input data, and the addition process of the input data after the bijective inverse transformation process and the expanded key The decryption processing apparatus according to claim 28, wherein
入力データに対する全単射逆変換処理と、全単射逆変換処理後の入力データと拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項32に記載の復号処理装置。 The key addition processing unit
Perform a bijection inverse transformation process on input data, an addition process between the input data after the bijection inverse transformation process and the expanded key, and a bijection transformation process of the data after the addition process by referring to the table once. 33. The decoding processing apparatus according to claim 32.
同じビット数の拡大鍵と入力データを入力し、入力した拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、
分割入力データに対する全単射逆変換処理と、全単射逆変換処理後の分割入力データと分割拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項32又は33に記載の復号処理装置。 The key addition processing unit
An extended key having the same number of bits and input data are input, and the input extended key is divided at a predetermined division position to form two or more divided extended keys, and the input data that has been input is divided at the same division position as the extended key to 2 With the above divided input data,
Refer to the table once for the bijection inverse transformation processing for the divided input data, the addition processing of the divided input data after the bijection inverse transformation processing and the divided expanded key, and the injection transformation processing of the data after the addition processing. 34. The decoding processing apparatus according to claim 32 or 33, wherein
複数のテーブルアドレスを備え、各テーブルアドレスに対して全単射逆変換処理、加算処理及び単射変換処理後の計算結果を示すテーブルを管理し、
分割拡大鍵と分割入力データから前記テーブルのいずれかのテーブルアドレスを示す値を算出し、算出した値と一致するテーブルアドレスに示されている計算結果を前記テーブルから得て、全単射変換処理後の入力データの分割入力データに対する全単射逆変換処理と、全単射逆変換処理後の分割入力データと分割拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項34に記載の復号処理装置。 The key addition processing unit
A plurality of table addresses are provided, and a table indicating calculation results after bijection inverse transformation processing, addition processing, and bijection transformation processing is managed for each table address,
A value indicating any table address of the table is calculated from the divided extended key and the divided input data, and the calculation result indicated by the table address matching the calculated value is obtained from the table, and the bijection conversion process A bijection inverse transformation process for the divided input data of the later input data, an addition process of the divided input data after the bijective inverse transformation process and the divided expanded key, and a bijection transformation process of the data after the addition process The decryption processing apparatus according to claim 34, wherein the decryption processing apparatus is performed by referring to the table once.
平文データを入力し、
入力した平文データを分割する処理、分割後の各データに対する全単射変換処理と、全単射変換処理後の各データを連接する処理とを1回のテーブル参照により行う初期変換処理部を有することを特徴とする請求項28に記載の復号処理装置。 The decoding processing device further includes:
Enter plain text data,
An initial conversion processing unit that performs processing for dividing the input plaintext data, bijection conversion processing for each divided data, and processing for connecting the data after the bijection conversion processing by one table reference 29. The decoding processing apparatus according to claim 28.
前記鍵スケジュール部から変換拡大鍵を入力し、入力データを入力し、
入力した変換拡大鍵に対して前記鍵スケジュール部による全単射変換処理の逆変換を行う全単射逆変換処理と、全単射逆変換処理後の変換拡大鍵と入力データとの加算処理とをテーブル参照により行う鍵加算処理部を有することを特徴とする請求項37に記載の復号処理装置。 The decoding processing device further includes:
Input the conversion expansion key from the key schedule part, input the input data,
A bijection inverse transformation process for performing an inverse transformation of the bijection transformation process by the key schedule unit on the input transformation extension key, and an addition process of the transformation expansion key after the bijective inverse transformation process and the input data; 38. The decryption processing apparatus according to claim 37, further comprising: a key addition processing unit that performs the process by referring to a table.
変換拡大鍵に対する全単射逆変換処理と、全単射逆変換処理後の変換拡大鍵と入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項38に記載の復号処理装置。 The key addition processing unit
A one-time table reference includes a bijection inverse transformation process for the transformation expansion key, an addition process between the transformation expansion key after the bijection inverse transformation process and the input data, and a bijection transformation process of the data after the addition process. The decoding processing apparatus according to claim 38, wherein the decoding processing apparatus performs the decoding processing.
同じビット数の変換拡大鍵と入力データを入力し、入力した変換拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを変換拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、分割拡大鍵に対する全単射逆変換処理と、全単射逆変換処理後の分割拡大鍵と分割入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項38又は39に記載の復号処理装置。 The key addition processing unit
Input a conversion expansion key and input data with the same number of bits, divide the input conversion expansion key at a predetermined division position to make two or more division expansion keys, and divide the input data input at the same division position as the conversion expansion key Thus, two or more pieces of divided input data are obtained, and a bijective inverse transformation process for the divided extended key, an addition process of the divided extended key after the bijective inverse transformation process and the divided input data, and a unit of the data after the addition process The decoding processing apparatus according to claim 38 or 39, wherein the reflection conversion process is performed by referring to the table once.
全単射変換処理を行う非線形変換処理部と、
前記鍵スケジュール部から変換拡大鍵を入力し、前記非線形変換処理部により全単射変換処理が行われた後のデータを入力データとして入力し、
入力した変換拡大鍵に対して前記鍵スケジュール部による全単射変換処理の逆変換を行う第1の全単射逆変換処理と、入力データに対して前記非線形変換処理部による全単射変換処理の逆変換を行う第2の全単射逆変換処理と、第1の全単射逆変換処理後の変換拡大鍵と第2の全単射逆変換処理後の入力データとの加算処理とをテーブル参照により行うことを特徴とする請求項37に記載の復号処理装置。 The decoding processing device further includes:
A non-linear transformation processing unit that performs bijective transformation processing;
Input a transformation expansion key from the key schedule unit, and input data after bijection transformation processing is performed by the nonlinear transformation processing unit as input data,
A first bijection inverse transformation process for performing an inverse transformation of the bijection transformation process by the key schedule unit on the input conversion expanded key, and a bijection transformation process by the nonlinear transformation processing unit on the input data A second bijective inverse transformation process for performing an inverse transformation of the first bijective inverse transformation process, and an addition process of the transformation expansion key after the first bijective inverse transformation process and the input data after the second bijective inverse transformation process. 38. The decoding processing device according to claim 37, wherein the decoding processing device is performed by referring to a table.
第1の全単射逆変換処理と、第2の全単射逆変換処理と、第1の全単射逆変換処理後の変換拡大鍵と第2の全単射逆変換処理後の入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項41に記載の復号処理装置。 The key addition processing unit
The first bijective inverse transform process, the second bijective inverse transform process, the transformation expansion key after the first bijective inverse transform process, and the input data after the second bijective inverse transform process 42. The decoding processing apparatus according to claim 41, wherein the addition processing of the data and the injection conversion processing of the data after the addition processing are performed by referring to the table once.
同じビット数の変換拡大鍵と入力データを入力し、入力した変換拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを変換拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、
分割拡大鍵に対する第1の全単射逆変換処理と、分割入力データに対する第2の全単射逆変換処理と、第1の全単射逆変換処理後の分割拡大鍵と第2の全単射逆変換処理後の分割入力データとの加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行うことを特徴とする請求項41又は42に記載の復号処理装置。 The key addition processing unit
Input a conversion expansion key and input data with the same number of bits, divide the input conversion expansion key at a predetermined division position to make two or more division expansion keys, and divide the input data input at the same division position as the conversion expansion key Into two or more divided input data,
A first bijective inverse transform process for the divided extended key, a second bijective inverse transform process for the divided input data, and the divided expanded key and the second bijective after the first bijective inverse transform process. 43. The decoding processing apparatus according to claim 41, wherein the addition processing with the divided input data after the reciprocal transformation processing and the injection transformation processing of the data after the addition processing are performed by one table reference. .
入力した拡大鍵と入力データとの加算処理をテーブル参照により行う鍵加算処理手順をコンピュータに実行させることを特徴とするプログラム。 Input the extended key generated from the decryption key outside, input the input data,
A program for causing a computer to execute a key addition processing procedure for performing addition processing of an input extended key and input data by referring to a table.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008009636A JP5354914B2 (en) | 2008-01-18 | 2008-01-18 | Encryption processing device, decryption processing device, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008009636A JP5354914B2 (en) | 2008-01-18 | 2008-01-18 | Encryption processing device, decryption processing device, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009169287A true JP2009169287A (en) | 2009-07-30 |
| JP5354914B2 JP5354914B2 (en) | 2013-11-27 |
Family
ID=40970486
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008009636A Expired - Fee Related JP5354914B2 (en) | 2008-01-18 | 2008-01-18 | Encryption processing device, decryption processing device, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5354914B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012070048A (en) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | Encryption apparatus and decryption apparatus |
| JP2020521392A (en) * | 2017-05-24 | 2020-07-16 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Cryptographic apparatus and method |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000066585A (en) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | Encryption / decryption device, encryption / decryption method, and program storage medium therefor |
| JP2002311826A (en) * | 2001-04-16 | 2002-10-25 | Hitachi Ltd | Encryption / decryption device, encryption / decryption method, data encryption method, and IC card |
| JP2005141198A (en) * | 2003-10-14 | 2005-06-02 | Matsushita Electric Ind Co Ltd | Data conversion apparatus and method |
| JP2007189659A (en) * | 2005-12-15 | 2007-07-26 | Toshiba Corp | ENCRYPTION DEVICE, ENCRYPTION METHOD, AND ENCRYPTION PROGRAM |
| US20080008314A1 (en) * | 2006-07-06 | 2008-01-10 | Accenture Global Services Gmbh | Encryption and decryption on a graphics processing unit |
| WO2008007305A2 (en) * | 2006-07-12 | 2008-01-17 | Koninklijke Philips Electronics N.V. | Method and system for obfuscating a gryptographic function |
-
2008
- 2008-01-18 JP JP2008009636A patent/JP5354914B2/en not_active Expired - Fee Related
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000066585A (en) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | Encryption / decryption device, encryption / decryption method, and program storage medium therefor |
| JP2002311826A (en) * | 2001-04-16 | 2002-10-25 | Hitachi Ltd | Encryption / decryption device, encryption / decryption method, data encryption method, and IC card |
| JP2005141198A (en) * | 2003-10-14 | 2005-06-02 | Matsushita Electric Ind Co Ltd | Data conversion apparatus and method |
| JP2007189659A (en) * | 2005-12-15 | 2007-07-26 | Toshiba Corp | ENCRYPTION DEVICE, ENCRYPTION METHOD, AND ENCRYPTION PROGRAM |
| US20080008314A1 (en) * | 2006-07-06 | 2008-01-10 | Accenture Global Services Gmbh | Encryption and decryption on a graphics processing unit |
| WO2008007305A2 (en) * | 2006-07-12 | 2008-01-17 | Koninklijke Philips Electronics N.V. | Method and system for obfuscating a gryptographic function |
Non-Patent Citations (2)
| Title |
|---|
| JPN6012047559; Chow, S. et al.: 'White-Box Cryptography and an AES Implementation' In Proceedings of the 9th Annual Workshop on Selected Areas in Cryptography (SAC 2002) LNCS 2595, 2003, pp. 250-270 * |
| JPN6013014142; 山口 晃由ほか: 'テーブルネットワーク型AES実装の新手法の提案' 2008年 暗号と情報セキュリティシンポジウム (SCIS 2008) 予稿集 CD-ROM , 20080122, 2A1-1 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012070048A (en) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | Encryption apparatus and decryption apparatus |
| JP2020521392A (en) * | 2017-05-24 | 2020-07-16 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Cryptographic apparatus and method |
| JP7076474B2 (en) | 2017-05-24 | 2022-05-27 | コーニンクレッカ フィリップス エヌ ヴェ | Cryptographic devices and methods |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5354914B2 (en) | 2013-11-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6578150B2 (en) | Block cipher method | |
| KR100435052B1 (en) | Encryption device | |
| JP5229315B2 (en) | Encryption device and built-in device equipped with a common key encryption function | |
| CN101162557B (en) | Encryption processing device and encryption processing method | |
| JP4961909B2 (en) | Cryptographic processing apparatus, cryptographic processing method, and computer program | |
| KR101770874B1 (en) | Cryptographic processing device, cryptographic processing method, computer readable recording medium, and information processing device | |
| JP2001324924A (en) | Encryption device and encryption method, decryption device and decryption method, and arithmetic device | |
| EP2058782A1 (en) | Encryption device, encryption method, and computer program | |
| WO2009087972A1 (en) | Data transmission device, data reception device, methods therefor, recording medium, and data communication system therefor | |
| JP2008145791A (en) | Cryptographic processing apparatus, cryptographic processing method, and computer program | |
| JP5364840B2 (en) | Encryption device | |
| JP5202350B2 (en) | Cryptographic processing apparatus, cryptographic processing method, and cryptographic processing program | |
| CN101371286B (en) | Encryption processing device and method | |
| JP2008209499A (en) | AES decoding apparatus and program | |
| JP5617845B2 (en) | ENCRYPTION DEVICE, ENCRYPTION METHOD, AND PROGRAM | |
| JP6052166B2 (en) | ENCRYPTION METHOD, ENCRYPTION DEVICE, AND ENCRYPTION PROGRAM | |
| JP5188414B2 (en) | Information processing apparatus, information processing method, and program | |
| JP5354914B2 (en) | Encryption processing device, decryption processing device, and program | |
| Zajac et al. | Cryptographic properties of small bijective S-boxes with respect to modular addition | |
| JP5102536B2 (en) | Stream cipher encryption apparatus, decryption apparatus, encryption method, decryption method, and program | |
| Luong | Improving block cipher resilience with dynamically generated XOR matrices using the Fisher-Yates shuffle method | |
| Alarcón-Narváez et al. | Towards a symmetric crypto algorithm: The HAJ | |
| JP2013077034A (en) | Encryption device loaded with common key encryption function and integration device | |
| Keliher | Cryptanalysis of a modified Hill Cipher | |
| JP6876423B2 (en) | Internal state initializer, method and program in stream cipher |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101027 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130312 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130326 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130514 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130708 |
|
| 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: 20130730 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130827 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |