[go: up one dir, main page]

JP2009169287A - Encryption processing device, decryption processing device, and program - Google Patents

Encryption processing device, decryption processing device, and program Download PDF

Info

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
Application number
JP2008009636A
Other languages
Japanese (ja)
Other versions
JP5354914B2 (en
Inventor
Akiyoshi Yamaguchi
晃由 山口
Tsuneo Sato
恒夫 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008009636A priority Critical patent/JP5354914B2/en
Publication of JP2009169287A publication Critical patent/JP2009169287A/en
Application granted granted Critical
Publication of JP5354914B2 publication Critical patent/JP5354914B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】テーブル参照により暗号処理を行う際に、暗号鍵によるテーブルの再構築を必要とせず、かつ設計者のみが知り得る変換処理を入れ込んで電力差分解析に対して耐性を持たせる方法を実現する。
【解決手段】初期鍵加算処理101〜103又は鍵加算処理110〜112等において、鍵スケジュール部において暗号鍵から生成された拡大鍵及び入力データを入力するとともに、拡大鍵及び入力データに対応させた計算結果が反映されているテーブルを用いることで、拡大鍵と入力データとの加算処理、加算処理後のデータの単射変換処理等を1回のテーブル参照で行うことができ、これにより、暗号鍵ごとのテーブルの再構築を必要とせず、かつ設計者のみが知り得る変換処理を入れ込んで電力差分解析に対して耐性を持たせることができる。
【選択図】図1
A 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)。
テーブルに設計者のみが知り得る変換処理を施すことで従来の電力差分解析に対して耐性を持たせることができる。
特開2005−134477号公報 特開2002−311826号公報 P. Kocher, J. Jaffe, B. Jun, ”Differential Power Analysis”, Advances in Cryptology: Proceedings of CRYPTO’99 Springer−Verlag, pp.388−397, 1999 S.Chow, P. Eisen, H. Johnson, P.C. Oorschot, ”White−Box Cryptography and an AES Implementation”, Advances in Cryptology: Proceedings of SAC 2002 Springer−Verlag, 2002
Several methods have been proposed as countermeasures against such analysis (for example, Patent Documents 1 and 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.
JP 2005-134477 A JP 2002-31826 A P. Kocher, J. et al. Jaffe, B.J. Jun, “Differential Power Analysis”, Advances in Cryptology: Proceedings of CRYPTO'99 Springer-Verlag, pp. 388-397, 1999 S. Chow, P.A. Eisen, H.M. Johnson, P.M. C. Oorschot, “White-Box Cryptography and an AES Implementation”, Advances in Cryptology: Proceedings of SAC 2002 Springer-Verlag, 2002

しかし、特許文献1や2によれば、あらかじめ複数のスクランブル処理を用意し、暗号処理の過程で、乱数や暗号鍵によって、適用するスクランブル処理を切り替えている。
この場合、用意するスクランブル回路分だけ、冗長なリソースが必要となる。また、解析の困難さは用意するテーブルの種類にのみ依存し、要するリソースの割には、十分な複雑さを得ることはできない。
However, according to Patent Documents 1 and 2, a plurality of scramble processes are prepared in advance, and the scramble process to be applied is switched by a random number or an encryption key in the course of the encryption process.
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構造の暗号を含む、任意の暗号に適用可能である。
Embodiment 1 FIG.
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 keys 123 to 131 are generated from the encryption key in advance by the key schedule process.

また、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 keys 123 to 125 are input to initial key addition processes 101 to 103.
The outputs of the initial key addition processes 101 to 103 are input to the nonlinear conversion processes 104 to 106.
The linear conversion processes 107 to 109 receive the outputs of the plurality of nonlinear conversion processes 104 to 106 and obtain an n-bit output.
The outputs of the linear transformation processes 107 to 109 are input to the key addition processes 110 to 112 and added with the expanded keys 126 to 128.
Thereafter, the nonlinear conversion process, the linear conversion process, and the key addition process are repeated. Outputs of the final key addition processing 116 to 118 are input to final conversion processing 119 to 121, and the concatenation of the outputs becomes ciphertext data 132 (hereinafter also simply referred to as ciphertext).

図14は、図1に示す各処理を実現する暗号処理装置1の機能ブロックを示す。   FIG. 14 shows functional blocks of the cryptographic processing apparatus 1 that implements the processes shown in FIG.

図14において、鍵スケジュール部11は、暗号鍵から拡大鍵123〜131を生成する。
本実施の形態では、鍵スケジュール部11における拡大鍵123〜131の生成方法は、どのようなものであってもよい。
なお、鍵スケジュール部11が生成する拡大鍵123〜131は、nビットのビット長(分割後の平文と同じビット長)である。
In FIG. 14, the key schedule unit 11 generates expanded keys 123 to 131 from the encryption key.
In the present embodiment, any method may be used for generating the extended keys 123 to 131 in the key schedule unit 11.
The extended keys 123 to 131 generated by the key schedule unit 11 have an n-bit bit length (the same bit length as that of the divided plaintext).

暗号処理部12は、図1に示される暗号処理を実施する。
つまり、暗号処理部12に含まれる各要素が図1の処理順序に従って各処理を繰り返すことで暗号処理が実施される。
The cryptographic processing unit 12 performs the cryptographic processing shown in FIG.
That is, the cryptographic processing is performed by each element included in the cryptographic processing unit 12 repeating the processing according to the processing order of FIG.

平文分割部1210は、入力されたm×nビットの平文122をnビットずつに分割する。   The plaintext dividing unit 1210 divides the input m × n-bit plaintext 122 into n bits.

初期鍵加算処理部1220は、図1の初期鍵加算処理101〜103を実施する。
初期鍵加算処理部1220は、図1に示すように、鍵スケジュール部11において暗号鍵から生成された拡大鍵123〜125を入力し、分割された平文を入力データとして入力し、入力した拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データ(分割された平文)を拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、分割拡大鍵と分割入力データ(以下、単に分割入力ともいう)との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
初期鍵加算処理部1220の詳細は、図2を参照して後述する。
なお、初期鍵加算処理部1220は、入力データが平文であり、全単射逆変換処理が含まれないが、拡大鍵の分割を行う点、入力データの分割を行う点、加算処理及び単射逆変換処理を1回のテーブル参照で行う点で後述する鍵加算処理部1250と共通しており、初期鍵加算処理部1220は、鍵加算処理部の一例である。
The initial key addition processing unit 1220 performs the initial key addition processing 101 to 103 in FIG.
As shown in FIG. 1, the initial key addition processing unit 1220 receives the expanded keys 123 to 125 generated from the encryption key in the key schedule unit 11 and inputs the divided plaintext as input data. Is divided at a predetermined division position to be two or more divided expanded keys, and the input data (divided plaintext) is divided at the same division position as the expanded key to be two or more divided input data, Addition processing with divided input data (hereinafter, also simply referred to as divided input) and injection conversion processing of data after the addition processing are performed by one table reference.
Details of the initial key addition processing unit 1220 will be described later with reference to FIG.
The initial key addition processing unit 1220 does not include the bijection inverse transformation process, but the input data is plaintext, but the division of the extended key, the division of the input data, the addition process, and the injection The initial key addition processing unit 1220 is an example of the key addition processing unit in common with a key addition processing unit 1250 described later in that the inverse conversion process is performed by referring to the table once.

非線形変換処理部1230は、初期鍵加算処理部1220又は後述する鍵加算処理部1250から出力されたデータを入力し、入力したデータに対する初期鍵加算処理部1220又は鍵加算処理部1250の単射変換処理の逆変換処理と、逆変換処理後のデータに対する非線形変換処理と、非線形変換処理後のデータに対する全単射変換処理とを1回のテーブル参照により行う。
より具体的には、非線形変換処理部1230は、逆変換処理と、非線形変換処理と、非線形変換処理後のデータを初期鍵加算処理部1220又は鍵加算処理部1250における拡大鍵及び入力データの分割位置と同じ分割位置で分割する処理と、分割後の各データに対する全単射変換処理と、全単射逆変換処理後の各データを連接する処理とを1回のテーブル参照により行う。
また、非線形変換処理部1230が行う全単射変換処理は、排他的論理和演算に対して加法性のある全単射変換処理である。
非線形変換処理部1230の詳細は、図3を参照して後述する。
The nonlinear transformation processing unit 1230 receives data output from the initial key addition processing unit 1220 or a key addition processing unit 1250 described later, and the injective transformation of the initial key addition processing unit 1220 or the key addition processing unit 1250 for the input data. The process inverse transform process, the nonlinear transform process for the data after the inverse transform process, and the bijective transform process for the data after the nonlinear transform process are performed by one table reference.
More specifically, the nonlinear transformation processing unit 1230 divides the expanded key and input data in the initial key addition processing unit 1220 or the key addition processing unit 1250 from the inverse transformation processing, the nonlinear transformation processing, and the data after the nonlinear transformation processing. The process of dividing at the same division position as the position, the bijection transformation process for each divided data, and the process of connecting the data after the bijection inverse transformation process are performed by referring to the table once.
The bijection conversion process performed by the nonlinear conversion processing unit 1230 is a bijection conversion process that is additive to the exclusive OR operation.
Details of the nonlinear conversion processing unit 1230 will be described later with reference to FIG.

線形変換処理部1240は、非線形変換処理部1230から出力されたデータを入力とし、入力データに対して線形変換処理を行って、鍵加算処理部1250に線形変換処理後のデータを出力する。
線形変換処理部1240の詳細は、図4を参照して後述する。
The linear transformation processing unit 1240 receives the data output from the nonlinear transformation processing unit 1230, performs linear transformation processing on the input data, and outputs the data after the linear transformation processing to the key addition processing unit 1250.
Details of the linear transformation processing unit 1240 will be described later with reference to FIG.

鍵加算処理部1250は、線形変換処理部1240から出力されたデータを入力し、また、拡大鍵126〜127等を入力する。
線形変換処理部1240から入力した入力データは、非線形変換処理部1230により全単射変換処理が行われた後のデータである。
そして、鍵加算処理部1250は、入力データに対して非線形変換処理部1230による全単射変換処理の逆変換を行う全単射逆変換処理と、全単射逆変換処理後の入力データと拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
より具体的には、鍵加算処理部1250は、同じビット数の拡大鍵と入力データを入力し、入力した拡大鍵を所定の分割位置で分割して2以上の分割拡大鍵とし、入力した入力データを拡大鍵と同じ分割位置で分割して2以上の分割入力データとし、更に、分割入力データに対する全単射逆変換処理と、全単射逆変換処理後の分割入力データと分割拡大鍵との加算処理と、加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。
鍵加算処理部1250の詳細は、図5を参照して後述する。
The key addition processing unit 1250 receives the data output from the linear conversion processing unit 1240, and inputs the expanded keys 126 to 127 and the like.
The input data input from the linear conversion processing unit 1240 is data after the bijection conversion processing is performed by the nonlinear conversion processing unit 1230.
Then, the key addition processing unit 1250 enlarges the input data after the bijection inverse transformation processing for performing the inverse transformation of the bijection transformation processing by the nonlinear transformation processing unit 1230 on the input data and the input data after the bijection inverse transformation processing. The addition process with the key and the injection conversion process of the data after the addition process are performed by referring to the table once.
More specifically, the key addition processing unit 1250 inputs the extended key having the same number of bits and the input data, divides the input extended key at a predetermined division position to obtain two or more divided extended keys, and the input input The data is divided into two or more pieces of divided input data by dividing the data at the same division position as the extended key, and further, a bijection inverse transform process for the divided input data, a divided input data after the bijective inverse transform process, and a divided expanded key And the injection conversion process of the data after the addition process are performed by referring to the table once.
Details of the key addition processing unit 1250 will be described later with reference to FIG.

最終変換処理部1260は、鍵加算処理部1250から出力されたデータを入力し、入力したデータに対して鍵加算処理部1250の単射変換処理の逆変換処理を行い、逆変換処理後のデータを分割された暗号文データ(nビット)として出力する。
最終変換処理部1260の詳細は、図6を参照して後述する。
The final conversion processing unit 1260 receives the data output from the key addition processing unit 1250, performs the inverse conversion processing of the injection conversion processing of the key addition processing unit 1250 on the input data, and the data after the inverse conversion processing Are output as divided ciphertext data (n bits).
Details of the final conversion processing unit 1260 will be described later with reference to FIG.

暗号文連結部1270は、最終変換処理部1260から出力されたnビットの暗号文データを連結してm×nビットの暗号文データとし、m×nビットの暗号文データを出力する。   The ciphertext concatenation unit 1270 concatenates the n-bit ciphertext data output from the final conversion processing unit 1260 into m × n-bit ciphertext data, and outputs m × n-bit ciphertext data.

図2は初期鍵加算処理部1220の構成を示す。
図2では、入力205と拡大鍵206との加算を行う(鍵加算)。
加算処理の内容は暗号アルゴリズムにより決定される。加算処理は、例えば、排他論理和演算である。
さらに、出力に対し単射変換処理を行う。
FIG. 2 shows the configuration of the initial key addition processing unit 1220.
In FIG. 2, the input 205 and the expanded key 206 are added (key addition).
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 addition processing unit 1220 divides the n-bit input 205 and the extended key 206.
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 addition process 215, the table output 211 and the table output 212 are added to obtain an output 216.

テーブル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 addition process 213, and the output is converted into an n-bit table output 211 by the injection conversion process 203.
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 addition processing unit 1220.
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 addition processing unit 1220. Store in the area.
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 injection conversion processing 203 receives n1 bits and outputs a predetermined n-bit output.

単射変換処理203、単射変換処理204、加算処理215の条件について、単射変換処理203の入力をx1、出力をf(x1)、単射変換処理204の入力をx2、出力をf(x2)、加算処理215を“+”と表示した場合、x=x1||x2の写像f(x)=f(x1)+f(x2)が全単射写像になるように決定する。ただし、“||”はデータの連接を示す。 With respect to the conditions of the injection conversion processing 203, the injection conversion processing 204, and the addition processing 215, the input of the injection conversion processing 203 is x1, the output is f 1 (x1), the input of the injection conversion processing 204 is x2, and the output is f 2 (x2), when the addition process 215 is displayed as “+”, the map f (x) = f 1 (x1) + f 2 (x2) of x = x1 || x2 is determined to be a bijective map. To do. However, “||” indicates data connection.

前記単射変換処理203、単射変換処理204、加算処理215の例を以下に示す。   Examples of the injection conversion process 203, the injection conversion process 204, and the addition process 215 will be described below.

例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 B satisfying Equation 1 are generated. In addition, n-bit fixed values c1 and c2 are also generated.
The injection conversion process 203 obtains the output y by Expression 2, and the injection conversion process 204 obtains the output y by Expression 3.
The addition process 215 is a bitwise exclusive OR.

Figure 2009169287
Figure 2009169287

例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 injection conversion process 203 obtains the output y by Expression 4, and the injection conversion process 204 obtains the output y by Expression 5.
The addition process 215 is a bitwise exclusive OR.

Figure 2009169287
Figure 2009169287

なお、例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 injection conversion process 203 of the table 201 may be performed using Expression 2 of Example 1, and the injection conversion process 204 of the table 202 may be performed using Expression 5 of Example 2.
In addition, the injection conversion process 203 of the table 201 may be performed using Expression 4 of Example 2, and the injection conversion process 204 of the table 202 may be performed using Expression 3 of Example 1.

このように、初期鍵加算処理部1220では、鍵スケジュール部11で生成された拡大鍵を入力し、入力した拡大鍵を分割した分割拡大鍵と分割入力の組合せに対して予め用意しているテーブルを利用して、加算処理、単射変換処理を行う。
つまり、拡大鍵の生成処理は外部である鍵スケジュール部11で行われ、初期鍵加算処理部1220が参照するテーブルには拡大鍵生成処理が含まれていないので、暗号鍵に対応させてテーブルを更新する必要がない。
As described above, the initial key addition processing unit 1220 inputs the extended key generated by the key schedule unit 11 and prepares a table prepared in advance for the combination of the divided extended key and the divided input obtained by dividing the input extended key. Is used to perform addition processing and injective transformation processing.
That is, the extended key generation process is performed by the external key schedule unit 11, and the table referred to by the initial key addition processing unit 1220 does not include the extended key generation process. There is no need to update.

図3に非線形変換処理部1230の構成を示す。図3は、暗号の非線形変換処理である。   FIG. 3 shows the configuration of the nonlinear conversion processing unit 1230. FIG. 3 shows cryptographic non-linear conversion processing.

入力306はテーブル301に入力され、出力307を得る。   Input 306 is input to table 301 to obtain output 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 inverse conversion process 302.
The inverse conversion process 302 corresponds to the injection conversion process 203 and the injection conversion process 204 of the initial key addition processing unit 1220 (or the injection conversion process 505 and the injection conversion process 506 of the key addition processing unit 1250). 2 to obtain the inverse transformation for the output 216 of 2 (or the output 509 of FIG. 5). The inverse transformation for Examples 1 and 2 is shown below.

例1の逆変換:
逆変換処理302では、数式6を計算する。ただし、Z−1は数式1に示す行列Zの逆行列である。
Inversion of example 1:
In the inverse transformation process 302, Formula 6 is calculated. However, Z −1 is an inverse matrix of the matrix Z shown in Equation 1.

Figure 2009169287
Figure 2009169287

例2の逆変換:
逆変換処理302では、数式7を計算する。ただし、E−1,F−1は全単射変換E,F逆行列とする。“>>n2”はn2ビットの左シフト、“・n1”はデータの下位n1ビットの抽出を示す。
Inversion of example 2:
In the inverse conversion process 302, Equation 7 is calculated. However, E −1 and F −1 are bijective transformation E and F inverse matrices. “>> n2” indicates left shift of n2 bits, and “· n1” indicates extraction of lower n1 bits of data.

Figure 2009169287
Figure 2009169287

逆変換処理302の出力は非線形変換処理303に入力される。非線形変換処理303は暗号アルゴリズムにより決定される。   The output of the inverse transformation process 302 is input to the nonlinear transformation process 303. The non-linear transformation process 303 is determined by a cryptographic algorithm.

非線形変換処理303の出力は複数に分割され、各々について全単射変換処理が施される。全単射変換処理f(x),f(x),・・・,f(x)は、図1の線形変換処理107〜109に対して加法性を満たすように選択する。
具体的には、線形変換処理をy=y‖y‖・・・‖y=f(x,x,・・・,x)とした場合、数式8を満たすように選択する。
ただし、yは数式9を満たすものとする。数式9で|y|はyのビット長を示す。
全単射変換処理されたデータは連結されて出力される。
テーブル301は、事前に計算しておき、非線形変換処理部1230に対応付けて記憶領域に格納する。
つまり、入力データの各パターンに対して事前に出力値を計算しておき、計算結果をテーブル301に記述して、非線形変換処理部1230に対応付けて記憶領域に格納する。
The output of the non-linear transformation process 303 is divided into a plurality of parts, and a bijective transformation process is performed on each of them. The bijective transformation processes f 1 (x 1 ), f 2 (x 2 ),..., F n (x n ) are selected so as to satisfy the additivity with respect to the linear transformation processes 107 to 109 in FIG. To do.
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 transformation processing unit 1230.
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 transformation processing unit 1230.

Figure 2009169287
Figure 2009169287

線形変換処理107〜109をビット単位の排他的論理和とした場合の、全単射変換処理304、全単射変換処理305の例を以下に示す。   An example of the bijection conversion process 304 and the bijection conversion process 305 in the case where the linear conversion processes 107 to 109 are exclusive OR in units of bits is shown below.

例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 bijection conversion process 304 obtains the output y by Expression 10, and the bijection conversion process 305 obtains the output y by Expression 11.

Figure 2009169287
Figure 2009169287

例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 bijection conversion process 204, the output y is obtained from Expression 12, and in the bijection conversion process 205, the output y is obtained from Expression 13. However, “·” indicates multiplication on the Galois extension field, and “+” indicates addition on the Galois extension field.

Figure 2009169287
Figure 2009169287

例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 bijection conversion process 204, the output y is obtained from Expression 14, and in the bijection conversion process 205, the output y is obtained from Expression 15.

Figure 2009169287
Figure 2009169287

なお、例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 conversion processing unit 1240.
The content of the linear transformation process 401 is determined by an encryption algorithm. A plurality of n-bit inputs 402-404 are obtained and an n-bit output 405 is generated.
The linear transformation process 401 is, for example, an exclusive OR operation.

図5に鍵加算処理部1250の構成を示す。
図5では、入力507と拡大鍵508と加算を行う(鍵加算)。加算処理の内容は暗号アルゴリズムにより決定される。加算処理は、例えば、排他論理和演算処理である。
さらに、出力に対し単射変換処理を行う。
FIG. 5 shows the configuration of the key addition processing unit 1250.
In FIG. 5, the input 507 and the expanded key 508 are added (key addition). The content of the addition process is determined by the encryption algorithm. The addition process is, for example, an exclusive OR operation process.
Further, the injection conversion process is performed on the output.

まず、nビットの入力507及び拡大鍵508をそれぞれ分割入力509、分割入力510及び分割拡大鍵511、分割拡大鍵512に分割する。
分割法は図3における分割法と同一である。
First, the n-bit input 507 and the expanded key 508 are divided into a divided input 509, a divided input 510, a divided expanded key 511, and a divided expanded key 512, respectively.
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 input 509 and a divided expanded key 511 are input to the table 501 to obtain a table output 513.
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 addition process 517 adds the table output 513 and the table output 514 to obtain an output 509.

テーブル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 division input 509 is input to the bijective inverse transformation process 503. The bijective inverse transformation process 503 is an inverse transformation process of the bijective transformation process 304 of FIG.
The output of the bijective inverse transformation process 503 and the divided expanded key 511 are added by the addition process 515, and the output becomes an n-bit table output 513 by the bijection transformation process 505.
The injection conversion process 505 is equivalent to the injection conversion process 203 of FIG.
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 addition processing unit 1250.
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 addition processing unit 1250. To store.

このように、鍵加算処理部1250では、鍵スケジュール部11で生成された拡大鍵を入力し、入力した拡大鍵を分割した分割拡大鍵と分割入力の組合せに対して予め用意しているテーブルを利用して、全単射逆変換処理、加算処理、単射変換処理を行う。
つまり、拡大鍵の生成処理は外部である鍵スケジュール部11で行われ、鍵加算処理部1250が参照するテーブルには拡大鍵生成処理が含まれていないので、暗号鍵に対応させてテーブルを更新する必要がない。
As described above, the key addition processing unit 1250 inputs the extended key generated by the key schedule unit 11 and prepares a table prepared in advance for the combination of the divided extended key obtained by dividing the input extended key and the divided input. Using this, bijective inverse transformation processing, addition processing, and bijection transformation processing are performed.
That is, the extended key generation process is performed by the external key schedule unit 11, and the table referred to by the key addition processing unit 1250 does not include the extended key generation process, so the table is updated corresponding to the encryption key. There is no need to do.

図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に対応付けて格納する。
Input 603 is input to table 601 to obtain output 604.
The inverse transformation process 602 is the same as the inverse transformation process 302 in FIG.
The table 601 is calculated in advance and stored in association with the final conversion processing unit 1260.

復号処理も前記暗号処理と同様に行うことができる。ただし、拡大鍵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 keys 123 to 131 (FIG. 1), the addition processes 213 and 214 (FIG. 2), the nonlinear conversion process 303 (FIG. 3), the linear conversion process 401 (FIG. 4), and the addition processes 515 and 516 (FIG. 5) Complies with the decryption algorithm. At the time of decryption, the input is ciphertext in FIG. 1, and plaintext is output.
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 addition processing unit 1220 according to the present embodiment is a table that includes a plurality of table addresses, and shows calculation results after addition processing and injection conversion processing for each table address. .
Note that the injection conversion process 702 is the same as the injection conversion process 203 of FIG.
The addition process 708 is the same as the addition process 213 in FIG.

アドレス計算処理703は分割拡大鍵705を入力として、参照テーブルアドレス707(テーブルアドレスの上位ビット)を計算する。具体的には、分割拡大鍵705をn1ビット左シフトし、その結果とテーブル701の先頭アドレスとを加算し、その結果を参照テーブルアドレス707とする。
アドレス計算処理703は鍵スケジュールの段階で計算してもよい。
An address calculation process 703 calculates a reference table address 707 (upper bits of the table address) with the divided expanded key 705 as an input. Specifically, the divided expanded key 705 is shifted left by n1 bits, the result is added to the head address of the table 701, and the result is used as a reference table address 707.
The address calculation process 703 may be calculated at the key schedule stage.

また、分割入力704をテーブルアドレスの下位ビットとし、参照テーブルアドレス707を元に、該当するテーブルアドレスのテーブル値を参照し、テーブル出力706を得る。
具体的には参照テーブルアドレス707と分割入力704とを連結し、結果のアドレスのテーブル値を参照する。
Further, the division input 704 is set to the lower bits of the table address, and the table value of the corresponding table address is referred to based on the reference table address 707 to obtain the table output 706.
Specifically, the reference table address 707 and the divided input 704 are concatenated, and the table value of the resulting address is referenced.

このように、本実施の形態では、初期鍵加算処理部1220は、分割拡大鍵をテーブルの一部を用いて変換し、変換後の分割拡大鍵と分割入力データからいずれかのテーブルアドレスを示す値を算出し、算出した値と一致するテーブルアドレスに示されている計算結果をテーブルから得て、分割拡大鍵と分割入力データの加算処理と加算処理後のデータの単射変換処理とを1回のテーブル参照により行う。   As described above, in the present embodiment, the initial key addition processing unit 1220 converts the divided extended key using a part of the table, and indicates any table address from the divided extended key and the divided input data after conversion. A value is calculated, the calculation result indicated by the table address that matches the calculated value is obtained from the table, and the addition process of the divided extended key and the divided input data and the injection conversion process of the data after the addition process are 1 This is done by referring to the table once.

図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 input 509 with the lower bits.
That is, the table 801 used by the key addition processing unit 1250 according to the present embodiment includes a plurality of table addresses, and the calculation after the bijection inverse transformation process, the addition process, and the injection transformation process is performed on each table address. It is a table which shows a result.
The bijective inverse transformation process 802 is the same as the bijective inverse transformation process 503 in FIG.
Also, the injection conversion process 803 is the same as the injection conversion process 505 of FIG.
The addition process 809 is the same as the addition process 515 in FIG.

アドレス計算処理804は分割拡大鍵805を入力として、参照テーブルアドレス807(テーブルアドレスの上位ビット)を計算する。
具体的には、分割拡大鍵805をn1ビット左シフトし、その結果とテーブル801の先頭アドレスとを加算し、その結果を参照テーブルアドレス807とする。
アドレス計算処理804は鍵スケジュールの段階で計算してもよい。
The address calculation process 804 receives the divided expanded key 805 and calculates a reference table address 807 (upper bits of the table address).
Specifically, the divided expanded key 805 is shifted n1 bits to the left, the result is added to the top address of the table 801, and the result is used as the reference table address 807.
The address calculation process 804 may be calculated at the key schedule stage.

また、分割入力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 table output 808.
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 addition processing unit 1250 converts the divided extended key using a part of the table, and indicates a table address from the converted divided extended key and the divided input data. The calculation result shown in the table address that matches the calculated value is obtained from the table, and the bijection inverse transformation process for the divided input data of the input data after the bijection transformation process and the bijection The addition process of the divided input data after the inverse conversion process and the divided extended key and the injection conversion process of the data after the addition process are performed by one table reference.

復号時の鍵加算処理部も前記暗号時の鍵加算処理部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 addition processing unit 1250 at the time of encryption. However, the divided expanded key 805 and the addition process 809 (FIG. 8) conform to the decryption algorithm.
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 Embodiments 1 and 2, four types (table 201, table 202, table 501, and table 502) are prepared for key addition processing, but in this embodiment, a method of using three types of tables is shown.

図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 key addition processes 101 to 103 in FIG. 1 are the initial conversion processes 933 to 935.
Other processes are the same as those shown in FIG.

図9では、あらかじめ鍵スケジュール処理によって、暗号鍵から拡大鍵923〜931を生成させている。   In FIG. 9, the expanded keys 923 to 931 are generated from the encryption key by key schedule processing in advance.

また、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-bit plaintext 122 is decomposed into n bits, and each plaintext is input to the initial conversion processes 933 to 935.
The output and the expanded keys 923 to 925 are input to the key addition processing 901 to 903.
Outputs of the key addition processes 901 to 903 are input to the nonlinear conversion processes 904 to 906.
Linear conversion processing 907 to 909 obtains an n-bit output by using outputs of the plurality of nonlinear conversion processing 904 to 906 as inputs.
The outputs of the linear transformation processes 907 to 909 are input to the key addition processes 910 to 912 and added with the expanded keys 926 to 928. Thereafter, the nonlinear conversion process, the linear conversion process, and the key addition process are repeated.
The output of the final key addition processing 916 to 918 is input to the final conversion processing 919 to 921, and the output concatenated becomes the ciphertext 932.

図15は、本実施の形態に係る暗号処理装置1の構成例を示す、
初期変換処理部1280は、図9に示す初期変換処理933〜935を行う。
初期変換処理部1280の処理の詳細は後述するが、初期変換処理部1280は、平文データを入力し、入力した平文データを分割する処理と、分割後の各データに対する全単射変換処理と、全単射変換処理後の各データを連接する処理とを1回のテーブル参照により行う。
そして、初期変換処理部1280が行う全単射変換処理は、排他的論理和演算に対して加法性のある全単射変換処理である。
図15では、初期鍵加算処理部1220の代わりに初期変換処理部1280が配置されている点以外は、図14に示した構成と同じである。
FIG. 15 shows a configuration example of the cryptographic processing apparatus 1 according to the present embodiment.
The initial conversion processing unit 1280 performs initial conversion processing 933 to 935 shown in FIG.
Details of the processing of the initial conversion processing unit 1280 will be described later, but the initial conversion processing unit 1280 inputs plaintext data, divides the input plaintext data, bijection conversion processing for each divided data, The process of connecting the data after the bijection conversion process is performed by referring to the table once.
The bijection conversion process performed by the initial conversion processing unit 1280 is a bijection conversion process that is additive to the exclusive OR operation.
15 is the same as the configuration shown in FIG. 14 except that an initial conversion processing unit 1280 is arranged instead of the initial key addition processing unit 1220.

図10に初期変換処理部1280の構成例を示す。
図10の初期変換処理部1280は、暗号化の初期処理として平文を変換する。
FIG. 10 shows a configuration example of the initial conversion processing unit 1280.
The initial conversion processing unit 1280 in FIG. 10 converts plaintext as an initial process of encryption.

入力1004はテーブル1001によって、出力1009に変換される。   The input 1004 is converted into an output 1009 by the table 1001.

テーブル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 input 1004 is divided into an n1 bit divided input 1005 and an n2 bit divided input 1006.
The division method is the same as the key addition process.
The bijection conversion processing 1002 outputs a table output 1007 from the divided input 1005. The bijection conversion processing 1003 outputs a table output 1008 from the divided input 1006. The table output 1007 and the table output 1008 are connected to become an output 1009.

鍵加算処理、非線形変換処理、線形変換処理、最終変換処理は実施の形態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 keys 923 to 931 (FIG. 9), the non-linear conversion process 303 (FIG. 3), the linear conversion process 401 (FIG. 4) and the addition processes 515 and 516 (FIG. 5) conform to the decryption algorithm. At the time of decryption, in FIG. 9, the input is ciphertext and plaintext is output.
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 key schedule unit 11 in the present embodiment.
The key schedule process 1101 generates expanded keys 1109 to 1111 from the encryption key 1108.
The key schedule processing 1101 conforms to the encryption algorithm to be implemented.
Each expanded key 1109 to 1111 is divided and converted by bijective conversion processing 1102 to 1107 for each. The converted expanded keys are combined to become converted expanded keys 1112 to 1114.

このように、本実施の形態に係る鍵スケジュール部11は、暗号鍵から得られる拡大鍵に対して全単射変換処理を行い、全単射変換処理後の拡大鍵を変換拡大鍵として出力する。   As described above, the key schedule unit 11 according to the present embodiment performs a bijection conversion process on the extended key obtained from the encryption key, and outputs the expanded key after the bijection conversion process as a conversion extended key. .

なお、図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 addition processing unit 1220 in the present embodiment.
FIG. 12 is the same as FIG. 2 except that bijective inverse transformation processes 1216 and 1217 are added.
The bijection inverse transformation processes 1216 and 1217 are inverse transformations with respect to the bijection transformation process when the conversion expansion key 1206 is generated in the key schedule unit 11 of the present embodiment.

すなわち、本実施の形態では、初期鍵加算処理部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 addition processing unit 1220 receives the converted expanded key 1206 from the key schedule unit 11 and also inputs plaintext as input data 1205.
Also, the conversion expansion key 1206 is divided at a predetermined division position to obtain two or more division expansion keys, and the input data 1205 is divided at the same division position as the conversion expansion key to obtain two or more division input data.
Then, the bijection inverse transformation processes 1216 and 1217 for performing the inverse transformation of the bijection transformation process by the key schedule unit 11 on the divided augmentation key, and the divided transformation expansion key and the divided input data after the bijection inverse transformation process Addition processing 1213 and 1214 and injection conversion processing 1203 and 1204 are performed by referring to the table once.

図13に本実施の形態における鍵加算処理部1250を示す。
図13では、全単射逆変換処理1318、1319が付加される以外は図5と同様である。
全単射逆変換処理1318、1319は、本実施の形態の鍵スケジュール部11において、変換拡大鍵1308が生成された際の全単射変換処理に対する逆変換である。
FIG. 13 shows a key addition processing unit 1250 in the present embodiment.
FIG. 13 is the same as FIG. 5 except that bijective inverse transformation processes 1318 and 1319 are added.
The bijection inverse transformation processes 1318 and 1319 are inverse transformations with respect to the bijection transformation process when the transformation expansion key 1308 is generated in the key schedule unit 11 of the present embodiment.

すなわち、本実施の形態では、鍵加算処理部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 addition processing unit 1250 receives the converted expanded key 1308 from the key schedule unit 11 and also receives the input data 1307.
Further, the conversion expansion key 1308 is divided at a predetermined division position to obtain two or more division expansion keys, and the input data 1307 is divided at the same division position as the conversion expansion key to obtain two or more division input data.
Then, the bijection inverse transformation processes 1318 and 1319 (first bijection inverse transformation process) for performing the inverse transformation of the bijection transformation process by the key schedule unit 11 on the divided expanded key, and the divided input data A bijection inverse transformation process 1303, 1304 (second bijection inverse transformation process) for performing an inverse transformation of the bijection transformation process by the nonlinear transformation processing unit 1230, and a bijective inverse transformation process 1318, 1319. The addition process of the divided extended key and the divided input data after the bijective inverse transformation processes 1303 and 1304 and the bijection transformation process of the data after the addition process are performed by one table reference.

復号処理時の初期鍵加算処理部及び鍵加算処理部は、前記暗号処理時の初期鍵加算処理部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 addition processing unit 1220 and the key addition processing unit 1250 during the encryption process. However, the conversion expansion key 1206 (FIG. 12), the conversion expansion key 1308 (FIG. 13), the addition processes 1213 and 1214 (FIG. 12), and the addition processes 1315 and 1316 (FIG. 13) conform to the decryption algorithm.
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では、暗号をソフトウェアによって実行する暗号処理装置及び暗号処理方法であって、入力と暗号鍵との加算処理(鍵加算処理)をテーブル参照によって実現するにあたり、入力と暗号鍵を各々同じビット列で分割し、分割された入力と暗号鍵とを入力として、テーブル参照によって加算処理を実現し、分割した各々の入力及び暗号鍵に対するテーブル出力を加算する暗号処理装置及び暗号処理方法を説明した。   Embodiments 1 to 4 are an encryption processing apparatus and encryption processing method for executing encryption by software, and an input and an encryption key when an addition process (key addition process) between an input and an encryption key is realized by referring to a table. Encryption processing apparatus and encryption processing method that each add a divided input and encryption key to each other, realize an addition process by table reference, and add a table output for each divided input and encryption key Explained.

また、実施の形態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 Embodiments 1 to 4, after the input in the key addition process is divided in the same manner as in E), the following processing is performed by referring to the table once, and the encryption processing method (decryption) Processing apparatus and decoding processing method) have been described.
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 Embodiments 1 to 4, an encryption processing apparatus and an encryption processing method (decryption processing apparatus and decryption processing method) that perform the following processing with one table reference at the start of encryption (decryption) and then perform key addition processing ) Explained.
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 cryptographic processing apparatus 1 shown in the first to fourth embodiments will be described.
FIG. 16 is a diagram illustrating an example of hardware resources of the cryptographic processing device 1 described in the first to fourth embodiments.
Note that the configuration of FIG. 16 is merely an example of the hardware configuration of the cryptographic processing device 1, and the hardware configuration of the cryptographic processing device 1 is not limited to the configuration described in FIG. Also good.
Also, the decoding processing device can be realized by the hardware configuration of FIG. 16, for example. In the following description, “encryption processing device 1” can be read as “decryption processing device”.

図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 cryptographic processing device 1 includes a CPU 1911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 1911 is connected to, for example, a ROM (Read Only Memory) 1913, a RAM (Random Access Memory) 1914, and a magnetic disk device 1920 via the bus 1912, and controls these hardware devices.
Further, the CPU 1911 may be connected to the communication board 1915, the display device 1901, the keyboard 1902, and the mouse 1903.
Further, the CPU 1911 may be connected to an FDD 1904 (Flexible Disk Drive), a compact disk device 1905 (CDD), a printer device 1906, and a scanner device 1907. Further, instead of the magnetic disk device 1920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 1914 is an example of a volatile memory. The storage media of the ROM 1913, the FDD 1904, the CDD 1905, and the magnetic disk device 1920 are an example of a nonvolatile memory. These are examples of the storage device.
A communication board 1915, a keyboard 1902, a mouse 1903, a scanner device 1907, an FDD 1904, and the like are examples of input devices.
The communication board 1915, the display device 1901, the printer device 1906, and the like are examples of output devices.

通信ボード1915は、ネットワークに接続されている。例えば、通信ボード1915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。   The communication board 1915 is connected to the network. For example, the communication board 1915 may be connected to a LAN (local area network), the Internet, a WAN (wide area network), or the like.

磁気ディスク装置1920には、オペレーティングシステム1921(OS)、ウィンドウシステム1922、プログラム群1923、ファイル群1924が記憶されている。
プログラム群1923のプログラムは、CPU1911がオペレーティングシステム1921、ウィンドウシステム1922を利用しながら実行する。
例えば、プログラム群1923には、実施の形態1〜4の暗号処理装置1に含まれる各要素(「〜部」として示した要素)の機能を実現するプログラムが格納されている。プログラムは、CPU1911により読み出され実行される。
また、ファイル群1924には、暗号処理装置1に含まれる各要素(「〜部」として示した要素)が参照するテーブルが磁気ディスク装置1920に格納されている。
The magnetic disk device 1920 stores an operating system 1921 (OS), a window system 1922, a program group 1923, and a file group 1924.
The programs in the program group 1923 are executed by the CPU 1911 using the operating system 1921 and the window system 1922.
For example, the program group 1923 stores programs that realize the functions of the elements (elements indicated as “˜parts”) included in the cryptographic processing device 1 according to the first to fourth embodiments. The program is read and executed by the CPU 1911.
In the file group 1924, a table referred to by each element (element indicated as “˜part”) included in the cryptographic processing apparatus 1 is stored in the magnetic disk device 1920.

また、RAM1914には、CPU1911に実行させるオペレーティングシステム1921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM1914には、CPU1911による処理に必要な各種データが格納される。
例えば、暗号処理装置1に含まれる各要素(「〜部」として示した要素)をプログラムとする場合に、各要素の機能を実現するプログラムがRAM1914にロードされる。
また、暗号処理装置1に含まれる各要素(「〜部」として示した要素)が参照するテーブルがRAM1914にロードされる。
Further, the RAM 1914 temporarily stores at least a part of the operating system 1921 program and application programs to be executed by the CPU 1911.
The RAM 1914 stores various data necessary for processing by the CPU 1911.
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 RAM 1914.
Further, a table referred to by each element (element indicated as “˜”) included in the cryptographic processing apparatus 1 is loaded into the RAM 1914.

また、ROM1913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置1920にはブートプログラムが格納されている。
暗号処理装置1の起動時には、ROM1913のBIOSプログラム及び磁気ディスク装置1920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム1921が起動される。
The ROM 1913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 1920 stores a boot program.
When the cryptographic processing device 1 is activated, the BIOS program in the ROM 1913 and the boot program in the magnetic disk device 1920 are executed, and the operating system 1921 is activated by the BIOS program and the boot program.

また、ファイル群1924には、実施の形態1〜4の説明において、「〜処理」の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU1911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜4で説明しているデータフローの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM1914のメモリ、FDD1904のフレキシブルディスク、CDD1905のコンパクトディスク、磁気ディスク装置1920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス1912や信号線やケーブルその他の伝送媒体によりオンライン伝送される場合がある。
In the file group 1924, in the description of Embodiments 1 to 4, information, data, signal values, variable values, and parameters indicating the results of “˜processing” are stored in “˜file” and “˜database”. It is stored as an item.
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 CPU 1911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
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 RAM 1914 memory, the FDD 1904 flexible disk, the CDD 1905 compact disk, Recording is performed on a recording medium such as a magnetic disk of the magnetic disk device 1920, other optical disks, mini disks, and DVDs. Data and signals may be transmitted online via a bus 1912, signal lines, cables, or other transmission media.

また、実施の形態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 ROM 1913. Alternatively, it may be implemented only by software, only hardware such as elements, devices, substrates, wirings, etc., or a combination of software and hardware, and further a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 1911 and executed by the CPU 1911. That is, the program causes the computer to function as “to part” in the first to fourth embodiments. Alternatively, the computer executes the procedure and method of “to unit” in the first to fourth embodiments.

このように、実施の形態1〜4に示す暗号処理装置1は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the cryptographic processing device 1 shown in the first to fourth embodiments includes a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a communication board, a display device as an output device, and a communication device. A computer including a board or the like, and implements the functions indicated as “to part” as described above using these processing devices, storage devices, input devices, and output devices.

実施の形態1に係る暗号処理の全体の流れを示す図。FIG. 3 is a diagram showing an overall flow of cryptographic processing according to the first embodiment. 実施の形態1に係る初期鍵加算処理部の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of an initial key addition processing unit according to the first embodiment. 実施の形態1に係る非線形変換処理部の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a nonlinear conversion processing unit according to the first embodiment. 実施の形態1に係る線形変換処理部の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a linear conversion processing unit according to the first embodiment. 実施の形態1に係る鍵加算処理部の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a key addition processing unit according to the first embodiment. 実施の形態1に係る最終変換処理部の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a final conversion processing unit according to the first embodiment. 実施の形態2に係る初期鍵加算処理部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of an initial key addition processing unit according to the second embodiment. 実施の形態2に係る鍵加算処理部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of a key addition processing unit according to the second embodiment. 実施の形態3に係る暗号処理の全体の流れを示す図。FIG. 10 is a diagram illustrating an overall flow of cryptographic processing according to the third embodiment. 実施の形態3に係る初期変換処理部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of an initial conversion processing unit according to the third embodiment. 実施の形態4に係る鍵スケジュール部の構成例を示す図。FIG. 10 shows a configuration example of a key schedule unit according to the fourth embodiment. 実施の形態4に係る初期鍵加算処理部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of an initial key addition processing unit according to the fourth embodiment. 実施の形態4に係る初期鍵加算処理部の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of an initial key addition processing unit according to the fourth embodiment. 実施の形態1に係る暗号処理装置の構成例を示す図。2 is a diagram illustrating a configuration example of a cryptographic processing device according to Embodiment 1. FIG. 実施の形態3に係る暗号処理装置の構成例を示す図。FIG. 9 is a diagram illustrating a configuration example of a cryptographic processing apparatus according to a third embodiment. 実施の形態1〜4に係る暗号処理装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of the encryption processing apparatus which concerns on Embodiment 1-4.

符号の説明Explanation of symbols

1 暗号処理装置、11 鍵スケジュール部、12 暗号処理部、1210 平文分割部、1220 初期鍵加算処理部、1230 非線形変換処理部、1240 線形変換処理部、1250 鍵加算処理部、1260 最終変換処理部、1270 暗号文連結部、1280 初期変換処理部。   DESCRIPTION OF SYMBOLS 1 Encryption processing apparatus, 11 Key schedule part, 12 Encryption processing part, 1210 Plaintext division | segmentation part, 1220 Initial key addition processing part, 1230 Nonlinear transformation processing part, 1240 Linear transformation processing part, 1250 Key addition processing part, 1260 Final transformation processing part 1270 Ciphertext concatenation unit, 1280 Initial conversion processing unit.

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個の分割入力データに分割し、単射変換処理の入力をx〜xとし、単射変換処理の出力をf(x)〜f(x)とし、x〜xの連接をxとした場合に、
xの写像f(x)(f(x)はf(x)〜f(x)を加算処理した後の値に相当)が全単射写像となる単射変換処理をテーブル参照により行うことを特徴とする請求項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.
暗号鍵から得られる拡大鍵に対して全単射変換処理を行い、全単射変換処理後の拡大鍵を変換拡大鍵として出力する鍵スケジュール部を有することを特徴とする暗号処理装置。   An encryption processing apparatus comprising: a key schedule unit that performs a bijection conversion process on an extended key obtained from an encryption key, and outputs the expanded key after the bijection conversion process as a conversion extended key. 前記暗号処理装置は、更に、
前記鍵スケジュール部から変換拡大鍵を入力し、入力データを入力し、
入力した変換拡大鍵に対して前記鍵スケジュール部による全単射変換処理の逆変換を行う全単射逆変換処理と、全単射逆変換処理後の変換拡大鍵と入力データとの加算処理とをテーブル参照により行う鍵加算処理部を有することを特徴とする請求項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.
暗号鍵から得られる拡大鍵に対して全単射変換処理を行い、全単射変換処理後の拡大鍵を変換拡大鍵として出力する鍵スケジュール手順をコンピュータに実行させることを特徴とするプログラム。   A program characterized by causing a computer to execute a key schedule procedure for performing bijection conversion processing on an expanded key obtained from an encryption key and outputting the expanded key after the bijection conversion processing as a converted expanded key. 外部において復号鍵から生成された拡大鍵を入力し、入力データを入力し、
入力した拡大鍵と入力データとの加算処理をテーブル参照により行う鍵加算処理部を有することを特徴とする復号処理装置。
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.
復号鍵から得られる拡大鍵に対して全単射変換処理を行い、全単射変換処理後の拡大鍵を変換拡大鍵として出力する鍵スケジュール部を有することを特徴とする復号処理装置。   A decryption processing apparatus comprising: a key schedule unit that performs a bijection conversion process on an expanded key obtained from a decryption key and outputs the expanded key after the bijection conversion process as a converted expanded key. 前記復号処理装置は、更に、
前記鍵スケジュール部から変換拡大鍵を入力し、入力データを入力し、
入力した変換拡大鍵に対して前記鍵スケジュール部による全単射変換処理の逆変換を行う全単射逆変換処理と、全単射逆変換処理後の変換拡大鍵と入力データとの加算処理とをテーブル参照により行う鍵加算処理部を有することを特徴とする請求項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.
復号鍵から得られる拡大鍵に対して全単射変換処理を行い、全単射変換処理後の拡大鍵を変換拡大鍵として出力する鍵スケジュール手順をコンピュータに実行させることを特徴とするプログラム。   A program characterized by causing a computer to execute a key schedule procedure for performing bijection conversion processing on an extended key obtained from a decryption key and outputting the expanded key after bijection conversion processing as a conversion expanded key.
JP2008009636A 2008-01-18 2008-01-18 Encryption processing device, decryption processing device, and program Expired - Fee Related JP5354914B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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