JP2016085341A - Round function calculation device and encryption device, method thereof and program - Google Patents

Round function calculation device and encryption device, method thereof and program Download PDF

Info

Publication number
JP2016085341A
JP2016085341A JP2014217956A JP2014217956A JP2016085341A JP 2016085341 A JP2016085341 A JP 2016085341A JP 2014217956 A JP2014217956 A JP 2014217956A JP 2014217956 A JP2014217956 A JP 2014217956A JP 2016085341 A JP2016085341 A JP 2016085341A
Authority
JP
Japan
Prior art keywords
function
calculation unit
calculation
matrix
encryption
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
JP2014217956A
Other languages
Japanese (ja)
Other versions
JP6251151B2 (en
Inventor
洋介 藤堂
Yosuke Todo
洋介 藤堂
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014217956A priority Critical patent/JP6251151B2/en
Publication of JP2016085341A publication Critical patent/JP2016085341A/en
Application granted granted Critical
Publication of JP6251151B2 publication Critical patent/JP6251151B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a round function calculation technique and encryption technique having a circuit sharing function and having a processing load smaller than that of ANUBIS.SOLUTION: A first calculation unit 1 calculates SubBytes function for substituting respective elements of an input matrix of 4 rows and 4 columns using a predetermined substitution table with an involution property. A second calculation unit 2 calculates SwapRows function defined as the following formula for the output of the first unit 1. A third calculation unit 3 calculates MixColumns function for multiplying a predetermined agitation matrix of 4 rows and 4 columns with the involution property for the output of the second calculation unit 2. A fourth calculation unit 4 calculates AddRoundKey function for calculating an exclusive logic with a predetermined sub key matrix of 4 rows and 4 columns for the output of the third calculation unit 3.SELECTED DRAWING: Figure 1

Description

本発明は、情報セキュリティ分野で用いられる暗号に関する。   The present invention relates to encryption used in the information security field.

データを秘匿するためには暗号化技術が有効である。暗号化の方法は共通鍵暗号と公開鍵暗号がある。共通鍵暗号では、暗号作成側と暗号復号側で同一の鍵を用い、この鍵は秘密に管理されている。一方、公開鍵暗号では暗号文作成の鍵と暗号文復号の鍵は異なっており、一方の鍵は公開しても、他の鍵は現実的な時間内に求まらないと広く信じられている。一般的に、暗号化の処理速度の観点からは、共通鍵暗号方式が有利であり、インターネット上の多くの環境で共通鍵暗号が利用されている。   An encryption technique is effective for concealing data. Encryption methods include common key encryption and public key encryption. In the common key encryption, the same key is used on the encryption creation side and the encryption / decryption side, and this key is secretly managed. On the other hand, in public key cryptography, the key for ciphertext creation and the key for ciphertext decryption are different, and it is widely believed that even if one key is made public, the other key cannot be obtained within a realistic time. Yes. In general, from the viewpoint of the processing speed of encryption, a common key cryptosystem is advantageous, and common key cryptography is used in many environments on the Internet.

高速かつ安全な共通鍵暗号を構成するために、暗号化対象のデータを適当な長さのブロックに分割し、そのブロック毎に暗号化する方法をブロック暗号と呼ぶ。ブロック暗号では、初めに、ラウンド関数と呼ばれる暗号装置としては不十分だが、非常に高速に処理できる暗号装置を用意する。次に、ラウンド関数を複数回繰り返し実行することで、ブロック暗号の暗号装置とする。このような暗号の代表例として、AES 暗号がある。AES は各要素が8 ビット構成された4×4 行列を1 ブロックとした暗号装置である。そのラウンド関数は、下記の4 つの関数で構成される。   In order to construct a high-speed and secure common key cipher, a method of dividing data to be encrypted into blocks of an appropriate length and encrypting each block is called a block cipher. In the block cipher, an encryption device that can be processed at a very high speed is prepared at first, although it is not sufficient as an encryption device called a round function. Next, the block function encryption device is obtained by repeatedly executing the round function a plurality of times. A typical example of such encryption is AES encryption. AES is an encryption device that uses a 4x4 matrix with 8 bits for each element as one block. The round function consists of the following four functions.

SubBytes: 各セルの値をS-box と呼ばれる置換表を用いて別の値に置換する。   SubBytes: Replaces the value of each cell with another value using a substitution table called S-box.

ShiftRows: 4×4 行列の各行を行番号分ローテーションする。   ShiftRows: Rotate each row of 4x4 matrix by row number.

MixColumns: 4×4 行列の各列を撹拌装置により撹拌する。   MixColumns: Stir each column of the 4x4 matrix with a stirrer.

AddRoundKey: 4×4 行列で表現された副鍵を排他的論理和する。   AddRoundKey: Exclusively ORs the subkeys expressed in a 4x4 matrix.

AES は高い安全性を保有する暗号としてアメリカ国立標準技術研究所(NIST) により米国標準として定められている(例えば、非特許文献1参照。)。   AES is defined as an American standard by the National Institute of Standards and Technology (NIST) as a highly secure encryption (see, for example, Non-Patent Document 1).

AES は高い安全性を有することが知られている。一方で、米国旧標準暗号であるDES と比較するとき、暗号化装置と復号装置の両方を構成しなければならない点が不利な点として挙げられる。   AES is known to be highly secure. On the other hand, when compared with DES, which is an old US standard cipher, the disadvantage is that both the encryption device and the decryption device must be configured.

暗号化装置と復号装置の両方を暗号化装置のみで実現する際に、最も頻繁に利用される方法はFeistel 構造を利用した暗号装置を構成することである。米国旧標準暗号であるDES はFeistel 構造を持つことから、自明に暗号化装置と復号装置の共有化が可能である。一方でAES 型の暗号装置が暗号化装置と復号装置の共有化を実現することは非自明である。ここでは、暗号化装置と復号装置の共有化が可能な暗号装置を、回路共有機能を持つ暗号装置と明記する。   When both the encryption device and the decryption device are realized only by the encryption device, the most frequently used method is to configure an encryption device using the Feistel structure. Since DES, which is an old US standard cipher, has a Feistel structure, it is obvious that an encryption device and a decryption device can be shared. On the other hand, it is not self-evident that an AES type encryption device realizes sharing of an encryption device and a decryption device. Here, an encryption device capable of sharing an encryption device and a decryption device is specified as an encryption device having a circuit sharing function.

AES 型の暗号装置でありながら回路共有機能を持つ暗号装置としてANUBISが知られている(例えば、非特許文献2参照。)。ANUBIS のラウンド関数は、AES のラウンド関数と同様に4 つの関数で構成されるが、それぞれの関数がAES のそれとは異なる性質を持つ。   ANUBIS is known as an AES type encryption device that has a circuit sharing function, for example (see Non-Patent Document 2). The ANUBIS round function is composed of four functions in the same way as the AES round function, but each function is different from that of AES.

SubBytes: 各セルの値をInvolution 性を持つS-box を用いて別の値に置換する。   SubBytes: Replaces the value of each cell with another value using an S-box with Involution.

Transpose: 4行4列の行列の転置行列を計算する。   Transpose: Calculates the transpose of a 4x4 matrix.

MixColumns: 4行4列の行列の各列をinvolution 性を持つ撹拌装置により撹拌する。   MixColumns: Stir each column of the 4 × 4 matrix with a stirring device that has involution.

AddRoundKey: 4行4列の行列で表現された副鍵を排他的論理和する。   AddRoundKey: Exclusively ORs the subkeys expressed in a 4x4 matrix.

ここで、Involution 性とは関数を2 回実行した結果、元の値に戻る性質のことを意味する。ANUBIS がInvolution 性を持つ根拠は、SubBytes、Transpose、MixColumns の全てがInvolution 性を持つためである。また、ANUBISは差分解読法や線形解読法といった著名な攻撃に対してAESと同等の安全性を持つことが知られている。   Here, the Involution property means the property of returning to the original value as a result of executing the function twice. The reason that ANUBIS has the Involution property is because SubBytes, Transpose, and MixColumns all have the Involution property. ANUBIS is also known to be as secure as AES against prominent attacks such as differential cryptanalysis and linear cryptanalysis.

以下に、AESのShiftRows 及びANUBISのTranspose の詳細な変換を示す。   The following shows the detailed conversion of AES ShiftRows and ANUBIS Transpose.

Figure 2016085341
Figure 2016085341

Figure 2016085341
Figure 2016085341

Transpose はInvolution 性を持つのに対し、ShiftRows はInvolution 性を持たない。一方、ShiftRows は実装性能の面でTranspose より優れている。多くの実装環境では各列32 ビットを1 レジスタに保存し、4 レジスタを用いて128 ビットを保存する。このとき、ShiftRows の変換が各行の中で閉じているため、シフト命令を用いることなくShiftRows の実装が可能になる。一方でTranspose を実装するためにはシフト命令を用いる必要がある。このため、ANUBISは、AESと比較すると処理負担が大きい。   Transpose has Involution, whereas ShiftRows does not have Involution. ShiftRows, on the other hand, is superior to Transpose in terms of implementation performance. Many implementations store 32 bits per column in one register and 128 bits using 4 registers. At this time, since the conversion of ShiftRows is closed in each row, ShiftRows can be implemented without using a shift command. On the other hand, it is necessary to use shift instructions to implement Transpose. For this reason, ANUBIS has a greater processing burden than AES.

“Announcing the ADVANCED ENCRYPTION STANDARD (AES)”, Federal Information Processing Standards Publication 197, November 26, 2001“Announcing the ADVANCED ENCRYPTION STANDARD (AES)”, Federal Information Processing Standards Publication 197, November 26, 2001 Paulo S. L. M. Barreto and Vincent Rijmen, “The ANUBIS Block Cipher”, submitted to NESSIE ProjecctPaulo S. L. M. Barreto and Vincent Rijmen, “The ANUBIS Block Cipher”, submitted to NESSIE Projecct

上記のように、AESは、回路共有機能を有していない。また、ANUBISは、AESと比較すると処理負担が大きい。入力された4行4列の行列に対して、行列の各要素をinvolution性を持つ所定の置換表を用いて置換するSubBytes関数の計算を行う第一計算部と、
上記第一計算部の計算結果に対して、次式で定義されるSwapRowsの変換をするSwapRows関数の計算を行う第二計算部と、
As described above, AES does not have a circuit sharing function. In addition, ANUBIS has a larger processing burden than AES. A first calculation unit that performs a calculation of a SubBytes function for replacing each element of the matrix using a predetermined replacement table having involution properties with respect to the input 4-by-4 matrix;
With respect to the calculation result of the first calculation unit, a second calculation unit that calculates a SwapRows function that converts SwapRows defined by the following equation;

Figure 2016085341
Figure 2016085341

上記第二計算部の計算結果に対して、involution性を持つ4行4列の所定の撹拌行列を乗算するMixColumns関数の計算を行う第三計算部と、
上記第三計算部の計算結果に対して、4行4列の所定の副鍵行列との排他的論理を計算するAddRoundKey関数の計算を行う第四計算部と、
を含むラウンド関数計算装置。
A third calculation unit for calculating a MixColumns function for multiplying a calculation result of the second calculation unit by a predetermined agitation matrix of 4 rows and 4 columns having involution properties;
A fourth calculation unit for calculating an AddRoundKey function for calculating exclusive logic with a predetermined subkey matrix of 4 rows and 4 columns with respect to the calculation result of the third calculation unit;
Round function calculator including

この発明は、回路共有機能を有し、かつ、処理負担がANUBISよりも小さいラウンド関数計算装置及び暗号装置、これらの方法並びにプログラムを提供することを目的とする。   An object of the present invention is to provide a round function calculation device and encryption device having a circuit sharing function and a processing load smaller than that of ANUBIS, methods and programs thereof.

本発明の一態様によるラウンド関数計算装置は、入力された4行4列の行列に対して、行列の各要素をinvolution性を持つ所定の置換表を用いて置換するSubBytes関数の計算を行う第一計算部と、第一計算部の計算結果に対して、次式で定義されるSwapRowsの変換をするSwapRows関数の計算を行う第二計算部と、   A round function calculation apparatus according to an aspect of the present invention calculates a SubBytes function for replacing each element of a matrix with a predetermined replacement table having involution properties with respect to an input 4 × 4 matrix. A calculation unit, and a calculation result of the first calculation unit, a second calculation unit that calculates a SwapRows function that converts SwapRows defined by the following equation:

Figure 2016085341
Figure 2016085341

第二計算部の計算結果に対して、involution性を持つ4行4列の所定の撹拌行列を乗算するMixColumns関数の計算を行う第三計算部と、第三計算部の計算結果に対して、4行4列の所定の副鍵行列との排他的論理を計算するAddRoundKey関数の計算を行う第四計算部と、を備えている。 With respect to the calculation result of the second calculation unit, the third calculation unit that performs the calculation of the MixColumns function that multiplies the predetermined agitation matrix of 4 rows and 4 columns having the involution property, A fourth calculation unit that calculates an AddRoundKey function that calculates exclusive logic with a predetermined subkey matrix of 4 rows and 4 columns.

本発明の一態様による暗号装置は、上記ラウンド関数計算装置を備えている。   An encryption apparatus according to an aspect of the present invention includes the round function calculation apparatus.

回路共有機能を有し、かつ、処理負担がANUBISよりも小さい。   It has a circuit sharing function and the processing load is smaller than ANUBIS.

ラウンド関数計算装置の例の機能ブロック図。The functional block diagram of the example of a round function calculation apparatus. ラウンド関数計算方法の処理の例を示すフローチャート。The flowchart which shows the example of a process of a round function calculation method. 暗号装置の例を示す機能ブロック図。The functional block diagram which shows the example of an encryption apparatus.

以下、本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described.

本実施形態はANUBIS を基本にするが、Transpose の代わりに次式で定義するSwapRows を利用する。   This embodiment is based on ANUBIS, but uses SwapRows defined by the following equation instead of Transpose.

Figure 2016085341
Figure 2016085341

SwapRows はTranspose と同様にInvolution 性を持つ。したがって、Transpose の代わりにSwapRows を用いたとしても回路共有機能は維持される。さらに、ShiftRowsと同様に各変換は各行の中に閉じているため、シフト命令を用いることなくSwapRows を実装することができる。このため、ANUBISよりも処理負担は小さくなる。   SwapRows has an Involution property like Transpose. Therefore, even if SwapRows is used instead of Transpose, the circuit sharing function is maintained. Furthermore, as with ShiftRows, each transformation is closed in each row, so you can implement SwapRows without using shift instructions. For this reason, the processing burden is smaller than that of ANUBIS.

AES やANUBIS が差分解読法や線形解読法に対する高い安全性を保持するためには、ShiftRowsやTranspose により各列の4 つの値が全て異なる列に移動する必要がある。この特徴はSwapRows でも同様に満足することが出来るため、ShiftRows やTranspose の代わりにSwapRowsを用いたとしても高い安全性を維持できる。   In order for AES and ANUBIS to maintain high security against differential cryptanalysis and linear cryptanalysis, all four values in each column must be moved to different columns by ShiftRows and Transpose. This feature can be satisfied with SwapRows as well, so even if you use SwapRows instead of ShiftRows or Transpose, you can maintain high security.

[ラウンド関数計算装置及び方法]
ラウンド関数計算装置は、図1に示すように、第一計算部1、第二計算部2、第三計算部3及び第四計算部4を例えば備えている。このラウンド関数計算装置の各部が、図2に例示するステップS1からステップS4の処理を行うことによりラウンド関数計算方法が実現される。
[Round function calculation device and method]
As shown in FIG. 1, the round function calculation device includes, for example, a first calculation unit 1, a second calculation unit 2, a third calculation unit 3, and a fourth calculation unit 4. Each part of the round function calculation device performs the processing from step S1 to step S4 illustrated in FIG. 2 to realize the round function calculation method.

<第一計算部1>
第一計算部1は、入力された4行4列の行列に対して、行列の各要素をinvolution性を持つ所定の置換表を用いて置換するSubBytes関数の計算を行う(ステップS1)。計算結果は、第二計算部2に出力される。
<First calculation unit 1>
The first calculation unit 1 calculates a SubBytes function for replacing each element of the matrix by using a predetermined replacement table having involution properties for the input 4 × 4 matrix (step S1). The calculation result is output to the second calculation unit 2.

入力される4行4列の行列は、ラウンド関数計算装置が用いられるブロック暗号方式及び暗号方式に依存する。   The input 4 × 4 matrix depends on the block encryption method and encryption method used by the round function calculation device.

所定の置換表は、involution性を持つ所定の置換表であればどのようなものでもよい。例えば、ANUBISで用いられるinvolution性を持つS-boxの置換表を用いることができる。   The predetermined substitution table may be any predetermined substitution table having involution properties. For example, it is possible to use an S-box substitution table having the involution property used in ANUBIS.

involution性とは、関数を2 回実行した結果、元の値に戻る性質のことを意味する。   The involution property means the property of returning to the original value as a result of executing the function twice.

SubBytes関数の一例は、ANUBISで用いられるSubBytes関数である。   An example of the SubBytes function is the SubBytes function used in ANUBIS.

<第二計算部2>
第二計算部2は、第一計算部1の計算結果に対して、次式で定義されるSwapRowsの変換をするSwapRows関数の計算を行う(ステップS2)。計算結果は、第三計算部3に出力される。
<Second calculation unit 2>
The second calculation unit 2 calculates the SwapRows function for converting the SwapRows defined by the following equation with respect to the calculation result of the first calculation unit 1 (step S2). The calculation result is output to the third calculation unit 3.

Figure 2016085341
Figure 2016085341

<第三計算部3>
第三計算部3は、第二計算部2の計算結果に対して、involution性を持つ4行4列の所定の撹拌行列を乗算するMixColumns関数の計算を行う(ステップS3)。計算結果は、第四計算部4に出力される。
<Third calculation part 3>
The third calculation unit 3 calculates a MixColumns function that multiplies the calculation result of the second calculation unit 2 by a predetermined agitation matrix of 4 rows and 4 columns having involution properties (step S3). The calculation result is output to the fourth calculation unit 4.

所定の撹拌行列は、involution性を持つ撹拌行列であればどのようなものでもよい。   The predetermined agitation matrix may be any as long as the agitation matrix has involution properties.

MixColumns関数の一例は、ANUBISで用いられるMixColumns関数である。   An example of the MixColumns function is the MixColumns function used in ANUBIS.

<第四計算部4>
第四計算部4は、第三計算部3の計算結果に対して、4行4列の所定の副鍵行列との排他的論理を計算するAddRoundKey関数の計算を行う(ステップS4)。
<4th calculation part 4>
The fourth calculation unit 4 calculates an AddRoundKey function for calculating exclusive logic with a predetermined subkey matrix of 4 rows and 4 columns with respect to the calculation result of the third calculation unit 3 (step S4).

4行4列の所定の副鍵行列は、ラウンド関数計算装置が用いられるブロック暗号方式及び暗号方式に依存する。   The predetermined subkey matrix of 4 rows and 4 columns depends on the block encryption method and encryption method in which the round function calculation device is used.

AddRoundKey関数の一例は、ANUBISで用いられるAddRoundKey関数である。   An example of the AddRoundKey function is the AddRoundKey function used in ANUBIS.

[暗号装置及び方法]
暗号装置及び方法は、例えば図3に示すように、それぞれラウンド関数計算装置及び方法を含む。暗号装置及び方法は、ラウンド関数計算装置及び方法によるラウンド関数の計算を複数回繰り返し実行することでデータの暗号化又は復号を実行する。
[Encryption device and method]
The encryption device and method include a round function calculation device and method, respectively, for example, as shown in FIG. The encryption apparatus and method execute encryption or decryption of data by repeatedly executing round function calculation by the round function calculation apparatus and method a plurality of times.

暗号装置及び方法の詳細は、実装しようとする暗号方式に依存する。例えば、ANUBISと同様の、ラウンド関数を用いたブロック暗号方式を用いることができる。   Details of the encryption device and method depend on the encryption method to be implemented. For example, a block encryption method using a round function similar to ANUBIS can be used.

上記ラウンド関数を構成する各関数がInvolution 性を持つため、上記ラウンド関数もInvolution 性を持つ。このため、上記ラウンド関数を用いた暗号装置及び方法は、回路共有機能を有し、暗号化と復号との両方の用途に用いることができる。   Since each function constituting the round function has the Involution property, the round function also has the Involution property. Therefore, the encryption apparatus and method using the round function have a circuit sharing function and can be used for both encryption and decryption.

[変形例等]
上記装置及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[Modifications, etc.]
The processes described in the above apparatus and method are not only executed in time series according to the description order, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the process.

また、上記各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。   Various processing functions in each of the above devices may be realized by a computer. In that case, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Further, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its storage unit. When executing the process, this computer reads the program stored in its own storage unit and executes the process according to the read program. As another embodiment of this program, a computer may read a program directly from a portable recording medium and execute processing according to the program. Further, each time a program is transferred from the server computer to the computer, processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program includes information provided for processing by the electronic computer and equivalent to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In addition, although each device is configured by executing a predetermined program on a computer, at least a part of these processing contents may be realized by hardware.

Claims (5)

入力された4行4列の行列に対して、行列の各要素をinvolution性を持つ所定の置換表を用いて置換するSubBytes関数の計算を行う第一計算部と、
上記第一計算部の計算結果に対して、次式で定義されるSwapRowsの変換をするSwapRows関数の計算を行う第二計算部と、
Figure 2016085341

上記第二計算部の計算結果に対して、involution性を持つ4行4列の所定の撹拌行列を乗算するMixColumns関数の計算を行う第三計算部と、
上記第三計算部の計算結果に対して、4行4列の所定の副鍵行列との排他的論理を計算するAddRoundKey関数の計算を行う第四計算部と、
を含むラウンド関数計算装置。
A first calculation unit that performs a calculation of a SubBytes function for replacing each element of the matrix using a predetermined replacement table having involution properties with respect to the input 4-by-4 matrix;
With respect to the calculation result of the first calculation unit, a second calculation unit that calculates a SwapRows function that converts SwapRows defined by the following equation;
Figure 2016085341

A third calculation unit for calculating a MixColumns function for multiplying a calculation result of the second calculation unit by a predetermined agitation matrix of 4 rows and 4 columns having involution properties;
A fourth calculation unit for calculating an AddRoundKey function for calculating exclusive logic with a predetermined subkey matrix of 4 rows and 4 columns with respect to the calculation result of the third calculation unit;
Round function calculator including
請求項1のラウンド関数計算装置を含む暗号装置。   A cryptographic device including the round function calculation device according to claim 1. 第一計算部が、入力された4行4列の行列に対して、行列の各要素をinvolution性を持つ所定の置換表を用いて置換するSubBytes関数の計算を行う第一計算ステップと、
第二計算部が、上記第一計算部の計算結果に対して、次式で定義されるSwapRowsの変換をするSwapRows関数の計算を行う第二計算ステップと、
Figure 2016085341

第三計算部が、上記第二計算部の計算結果に対して、involution性を持つ4行4列の所定の撹拌行列を乗算するMixColumns関数の計算を行う第三計算ステップと、
第四計算部が、上記第三計算部の計算結果に対して、4行4列の所定の副鍵行列との排他的論理を計算するAddRoundKey関数の計算を行う第四計算ステップと、
を含むラウンド関数計算方法。
A first calculation step in which a first calculation unit calculates a SubBytes function for replacing each element of the matrix by using a predetermined replacement table having an involution property with respect to the input 4 × 4 matrix;
A second calculation unit performs a calculation of a SwapRows function for converting SwapRows defined by the following equation for the calculation result of the first calculation unit:
Figure 2016085341

A third calculation step in which a third calculation unit calculates a MixColumns function that multiplies the calculation result of the second calculation unit by a predetermined agitation matrix of 4 rows and 4 columns having involution properties;
A fourth calculation step in which a fourth calculation unit calculates an AddRoundKey function for calculating exclusive logic with a predetermined subkey matrix of 4 rows and 4 columns with respect to the calculation result of the third calculation unit;
Round function calculation method including
請求項3のラウンド関数計算方法を含む暗号方法。   An encryption method including the round function calculation method according to claim 3. 請求項1のラウンド関数計算装置又は請求項2の暗号装置の各部としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as each part of the round function calculation device according to claim 1 or the encryption device according to claim 2.
JP2014217956A 2014-10-27 2014-10-27 Round function calculation device, encryption device, method and program thereof Active JP6251151B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014217956A JP6251151B2 (en) 2014-10-27 2014-10-27 Round function calculation device, encryption device, method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014217956A JP6251151B2 (en) 2014-10-27 2014-10-27 Round function calculation device, encryption device, method and program thereof

Publications (2)

Publication Number Publication Date
JP2016085341A true JP2016085341A (en) 2016-05-19
JP6251151B2 JP6251151B2 (en) 2017-12-20

Family

ID=55972895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014217956A Active JP6251151B2 (en) 2014-10-27 2014-10-27 Round function calculation device, encryption device, method and program thereof

Country Status (1)

Country Link
JP (1) JP6251151B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004184566A (en) * 2002-12-02 2004-07-02 Sony Corp Aes block cryptography and encryption circuit for the same
US20090220071A1 (en) * 2008-02-29 2009-09-03 Shay Gueron Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation
JP2012018210A (en) * 2010-07-06 2012-01-26 Nippon Telegr & Teleph Corp <Ntt> Rijndael type 192-bit block encryption device, method, and program thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004184566A (en) * 2002-12-02 2004-07-02 Sony Corp Aes block cryptography and encryption circuit for the same
US20090220071A1 (en) * 2008-02-29 2009-09-03 Shay Gueron Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation
JP2009211071A (en) * 2008-02-29 2009-09-17 Intel Corp Combining instruction including instruction that performs sequence of transformation to isolate one transformation
JP2012018210A (en) * 2010-07-06 2012-01-26 Nippon Telegr & Teleph Corp <Ntt> Rijndael type 192-bit block encryption device, method, and program thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BORGHOFF, J., ET AL.: "PRINCE - A Low-latency Block Cipher for Pervasive Computing Applications", PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATION OF CRYPTOLOGY AND INF, JPN6017035966, December 2012 (2012-12-01), pages pp. 208-225 *
BRUMLEY, B.B.: "Secure and Fast Implementations of Two Involution Ciphers", CRYPTOLOGY EPRINT ARCHIVE, vol. Report 2010/152, JPN6017035963, November 2010 (2010-11-01) *

Also Published As

Publication number Publication date
JP6251151B2 (en) 2017-12-20

Similar Documents

Publication Publication Date Title
JP4967544B2 (en) Cryptographic processing apparatus, cryptographic processing method, and computer program
Derbez et al. Exhausting Demirci-Selçuk meet-in-the-middle attacks against reduced-round AES
Zhou et al. Parallel image encryption algorithm based on discretized chaotic map
JP5023624B2 (en) Cryptographic processing apparatus, cryptographic processing method, and computer program
JP5835458B2 (en) Information processing apparatus, information processing method, and program
US9692592B2 (en) Using state reordering to protect against white box attacks
Biryukov et al. Cryptanalysis of Feistel networks with secret round functions
EP2693682B1 (en) Data processing device, data processing method, and programme
WO2009087972A1 (en) Data transmission device, data reception device, methods therefor, recording medium, and data communication system therefor
WO2013129054A1 (en) Information processing device, information processing method, and programme
Courtois Security evaluation of GOST 28147-89 in view of international standardisation
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
Paar et al. The advanced encryption standard (AES)
TW201545524A (en) Technologies for modifying a first cryptographic cipher with operations of a second cryptographic cipher
Sliman et al. Towards an ultra lightweight block ciphers for Internet of Things
Huang et al. A secure data encryption method employing a sequential–logic style mechanism for a cloud system
KR101914453B1 (en) Apparatus and method for encryption
Rawal Advanced encryption standard (AES) and it’s working
Yap et al. Cryptanalysis of a high-definition image encryption based on AES modification
JP2013182148A (en) Information processing apparatus, information processing method, and program
Durak et al. Improving the efficiency of AES protocols in multi-party computation
JP6251151B2 (en) Round function calculation device, encryption device, method and program thereof
Sachdeva et al. Implementation of AES-128 using multiple cipher keys
Verma et al. Implementation of Improved Cryptography Algorithm
Shanthini et al. Design of low power S-box in Architecture Level using GF

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171102

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: 20171121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171124

R150 Certificate of patent or registration of utility model

Ref document number: 6251151

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150