JP2012169964A - Algorithm variable type encryption device, algorithm variable type decryption device, algorithm variable type encryption method, algorithm variable type decryption method and program - Google Patents

Algorithm variable type encryption device, algorithm variable type decryption device, algorithm variable type encryption method, algorithm variable type decryption method and program Download PDF

Info

Publication number
JP2012169964A
JP2012169964A JP2011030553A JP2011030553A JP2012169964A JP 2012169964 A JP2012169964 A JP 2012169964A JP 2011030553 A JP2011030553 A JP 2011030553A JP 2011030553 A JP2011030553 A JP 2011030553A JP 2012169964 A JP2012169964 A JP 2012169964A
Authority
JP
Japan
Prior art keywords
cyclic shift
function
algorithm
exclusive
algorithm variable
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
JP2011030553A
Other languages
Japanese (ja)
Other versions
JP5665588B2 (en
Inventor
Shinsaku Kiyomoto
晋作 清本
Kazuhide Fukushima
和英 福島
Masaru Miyake
優 三宅
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2011030553A priority Critical patent/JP5665588B2/en
Publication of JP2012169964A publication Critical patent/JP2012169964A/en
Application granted granted Critical
Publication of JP5665588B2 publication Critical patent/JP5665588B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an algorithm variable type encryption device, an algorithm variable type decryption device, the method and a program, for varying an algorithm by a key while guaranteeing constant safety and processing performance.SOLUTION: The algorithm variable type encryption device comprises a round function for executing prescribed processing for two or more times, and the round function comprises a part where the algorithm varies and a part where it is fixed at all times corresponding to input key bit information.

Description

本発明は、一定の安全性と処理性能を保証するアルゴリズム可変型暗号装置、アルゴリズム可変型復号装置、アルゴリズム可変型暗号方法、アルゴリズム可変型復号方法およびプログラムに関する。   The present invention relates to an algorithm variable encryption device, an algorithm variable decryption device, an algorithm variable encryption method, an algorithm variable decryption method, and a program that guarantee certain security and processing performance.

近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、1つの鍵で暗号化と復号化とを行う共通鍵暗号方式が一般的であるが、この共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式とに大別される。   In recent years, various services using computers have been provided due to the remarkable spread of the Internet. Many of the services provided in this way use encryption to conceal the communication contents. Here, as the encryption method, a common key encryption method in which encryption and decryption are performed with one key is common, but this common key encryption method is roughly divided into a block encryption method and a stream encryption method. Is done.

ストリーム暗号方式の一例としては、乱数系列のビットデータを入力し、変換されたビットデータを複数の内部メモリから出力する非線形関数器であって、入力した乱数系列のビットデータと複数の内部メモリのうち一部の内部メモリデータとを加算する加算器と、入力データを非線形置換する非線形置換器と、を備え、複数の内部メモリが少なくとも非線形置換器を介して、環状に接続されるストリーム暗号装置が提案されている(例えば、特許文献1参照。)。   An example of the stream encryption method is a non-linear function unit that inputs bit data of a random number sequence and outputs the converted bit data from a plurality of internal memories. A stream encryption apparatus comprising: an adder for adding a part of internal memory data; and a non-linear replacer for non-linear replacement of input data, wherein a plurality of internal memories are connected in a ring form through at least the non-linear replacer Has been proposed (see, for example, Patent Document 1).

特開2006−327982号公報JP 2006-327982 A

また、近年、アルゴリズム公開型の暗号アルゴリズムが主流となっているが、安全性を考慮して、アルゴリズムを秘匿にする方式もある。しかしながら、アルゴリズム秘匿型の方式においては、リバースエンジニアリングを考慮した場合、アルゴリズムを固定とせず、鍵によりアルゴリズムを変更するアルゴリズム可変型暗号にしたいという要求がある。   In recent years, algorithmic open-type cryptographic algorithms have become mainstream, but there are also methods for keeping the algorithm secret in consideration of security. However, in the algorithm concealment type method, when reverse engineering is taken into consideration, there is a demand for an algorithm variable encryption that changes the algorithm with a key without fixing the algorithm.

そこで、本発明は、上述の課題に鑑みてなされたものであり、一定の安全性と処理性能を保証しつつ、鍵によりアルゴリズムを可変するアルゴリズム可変型暗号装置、アルゴリズム可変型復号装置、アルゴリズム可変型暗号方法、アルゴリズム可変型復号方法およびプログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and an algorithm variable encryption device, an algorithm variable decryption device, and an algorithm variable that can change an algorithm with a key while guaranteeing certain safety and processing performance. It is an object to provide a type encryption method, an algorithm variable type decryption method, and a program.

本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。   The present invention proposes the following matters in order to solve the above problems. In addition, in order to make an understanding easy, although the code | symbol corresponding to embodiment of this invention is attached | subjected and demonstrated, it is not limited to this.

(1)本発明は、所定の処理を複数回実行するラウンド関数から構成されるアルゴリズム可変型暗号装置であって、前記ラウンド関数が、入力される鍵ビット情報に応じて、アルゴリズムが可変する部分と常に固定の部分とから構成されることを特徴とするアルゴリズム可変型暗号装置を提案している。   (1) The present invention is an algorithm variable type cryptographic apparatus configured by a round function that executes a predetermined process a plurality of times, wherein the round function is a portion in which the algorithm varies according to input key bit information And an algorithm variable type cryptographic apparatus characterized by comprising a fixed part at all times.

この発明によれば、ラウンド関数が、入力される鍵ビット情報に応じて、アルゴリズムが可変する部分と常に固定の部分とから構成される。したがって、鍵ビット情報によりアルゴリズムの特定部分を可変できることから、一定の安全性と処理性能を保証することができる。   According to the present invention, the round function is composed of a part where the algorithm is variable and a part which is always fixed in accordance with the input key bit information. Therefore, since a specific part of the algorithm can be changed by the key bit information, a certain level of security and processing performance can be guaranteed.

(2)本発明は、(1)のアルゴリズム可変型暗号装置について、前記ラウンド関数が、入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える第1の巡回シフト手段(例えば、図1の巡回シフト部110a、110bに相当)と、前記第1の巡回シフト手段に接続される排他的論理和演算手段(例えば、図1の排他的論理和演算器120a、120bに相当)において演算の実行の有無を鍵ビット情報に応じて決定する演算決定手段(例えば、図1の演算決定部130a、130bに相当)と、前記排他的論理和演算手段の演算結果に対して非線形処理を行う非線形関数器(例えば、図1の非線形関数器140a、140bに相当)と、からなり、前記第1の巡回シフト手段、演算決定手段、非線形関数器の処理を所定回数実行することを特徴とするアルゴリズム可変型暗号装置を提案している。   (2) The present invention relates to the algorithm variable encryption device according to (1), wherein the round function replaces a data group obtained by dividing input data into predetermined bytes according to key bit information. (E.g., corresponding to the cyclic shift units 110a and 110b in FIG. 1) and exclusive OR operation means (for example, the exclusive OR calculators 120a and 120b in FIG. 1) connected to the first cyclic shift means. Corresponding to the operation determination unit 130a, 130b in FIG. 1 and the calculation result of the exclusive OR operation unit. A non-linear function unit for performing non-linear processing (for example, corresponding to the non-linear function units 140a and 140b in FIG. 1), the first cyclic shift unit, the operation determining unit, the non-linear function We propose an algorithm variable encryptor, which comprises a process executed for a predetermined number of times.

この発明によれば、ラウンド関数の第1の巡回シフト手段は、入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える。演算決定手段は、第1の巡回シフト手段に接続される排他的論理和演算手段において演算の実行の有無を鍵ビット情報に応じて決定する。非線形関数器は、排他的論理和演算手段の演算結果に対して非線形処理を行う。そして、第1の巡回シフト手段、演算決定手段、非線形関数器の処理を所定回数実行する。つまり、アルゴリズムの可変部分は、安全性と性能に影響を与えない第1の巡回シフト手段と演算決定手段とで構成されるため、上記の方式でアルゴリズムを可変しても、安全性や性能を一定のレベルに保つことができる。   According to the present invention, the first cyclic shift means of the round function replaces the data group obtained by dividing the input data every predetermined byte according to the key bit information. The operation determining means determines whether or not the operation is executed in the exclusive OR operation means connected to the first cyclic shift means according to the key bit information. The non-linear function unit performs non-linear processing on the operation result of the exclusive OR operation means. Then, the processing of the first cyclic shift means, the operation determination means, and the nonlinear function unit is executed a predetermined number of times. In other words, since the variable part of the algorithm is composed of the first cyclic shift means and the operation determining means that do not affect the safety and performance, even if the algorithm is varied by the above method, the safety and performance are not affected. Can be kept at a certain level.

(3)本発明は、(2)のアルゴリズム可変型暗号装置について、前記演算決定手段(例えば、図1の演算決定部130a、130bに相当)が、「1」あるいは「0」からなる1ビットの鍵ビット情報により、前記排他的論理和演算手段における演算の実行を決定することを特徴とするアルゴリズム可変型暗号装置を提案している。   (3) According to the present invention, in the algorithm variable encryption device of (2), the calculation determining means (for example, corresponding to the calculation determining units 130a and 130b in FIG. 1) is 1 bit consisting of “1” or “0”. The algorithm variable type cryptographic apparatus is characterized in that execution of the operation in the exclusive OR operation means is determined based on the key bit information.

この発明によれば、演算決定手段が、「1」あるいは「0」からなる1ビットの鍵ビット情報により、排他的論理和演算手段における演算の実行を決定する。具体的には、鍵ビット情報が「1」の時には、入力データに「1」をかけて出力し、鍵ビット情報が「0」の時には、入力データに「0」をかけて出力する。そのため、1ビットの鍵ビット情報により、排他的論理和演算手段における演算の実行の可否を決定することができる。   According to this invention, the operation determining means determines the execution of the operation in the exclusive OR operation means based on 1-bit key bit information consisting of “1” or “0”. Specifically, when the key bit information is “1”, the input data is output with “1”, and when the key bit information is “0”, the input data is output with “0”. Therefore, whether or not to execute the operation in the exclusive OR operation means can be determined by 1-bit key bit information.

(4)本発明は、(2)または(3)のアルゴリズム可変型暗号装置について、前記非線形関数(例えば、図1の非線形関数器140a、140bに相当)が、非線形置換と線形置換とから構成されることを特徴とするアルゴリズム可変型暗号装置を提案している。   (4) According to the present invention, in the algorithm variable type cryptographic apparatus of (2) or (3), the nonlinear function (for example, equivalent to the nonlinear function units 140a and 140b in FIG. 1) is composed of nonlinear substitution and linear substitution. The algorithm variable type cryptographic apparatus characterized by the above is proposed.

この発明によれば、非線形関数が、非線形置換と線形置換とから構成される。   According to the present invention, the nonlinear function is composed of nonlinear substitution and linear substitution.

(5)本発明は、(4)のアルゴリズム可変型暗号装置について、前記非線形関数(例えば、図1の非線形関数器140a、140bに相当)がAESのラウンド関数であることを特徴とするアルゴリズム可変型暗号装置を提案している。   (5) The present invention provides the variable algorithm according to (4), wherein the nonlinear function (e.g., corresponding to the nonlinear function units 140a and 140b in FIG. 1) is an AES round function. A type encryption device is proposed.

この発明によれば、非線形関数がAESのラウンド関数である。つまり、AESのラウンド関数は、逆変換関数が存在するため、この逆変換関数を用いることにより、復号処理を行うことができる。   According to the present invention, the nonlinear function is an AES round function. That is, since the AES round function has an inverse transformation function, the decoding process can be performed by using the inverse transformation function.

(6)本発明は、(1)から(5)のアルゴリズム可変型暗号装置について、前記ラウンド関数が、前記入力データのビット数以上の前記鍵ビット情報が入力されるまで、前記所定の処理を実行することを特徴とするアルゴリズム可変型暗号装置を提案している。   (6) The present invention relates to the algorithm variable encryption device of (1) to (5), wherein the round function performs the predetermined process until the key bit information greater than the number of bits of the input data is input. An algorithm variable type cryptographic apparatus characterized by executing is proposed.

この発明によれば、ラウンド関数が、入力データのビット数以上の鍵ビット情報が入力されるまで、所定の処理を実行する。つまり、本発明のアルゴリズム可変型暗号装置の安全性は、非線形関数により担保されているが、少なくとも、入力データのビット数以上の鍵ビット情報が入力されるまで、所定の処理を実行することにより、鍵に依存することなく安全性を担保することができる。   According to the present invention, the round function executes a predetermined process until key bit information greater than the number of bits of input data is input. That is, the security of the algorithm variable encryption device of the present invention is secured by a non-linear function, but at least by executing predetermined processing until key bit information greater than the number of bits of input data is input. Safety can be ensured without depending on the key.

(7)本発明は、(2)に記載のアルゴリズム可変型暗号装置において暗号化されたデータを復号するラウンド関数から構成されるアルゴリズム可変型復号装置であって、前記ラウンド関数が、暗号化されたデータを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて前記第1の巡回シフト手段と逆方向に巡回させる第2の巡回シフト手段(例えば、図3の巡回シフト部150a、150bに相当)と、前記第2の巡回シフト手段に接続される排他的論理和演算手段(例えば、図3の排他的論理和演算器120a、120bに相当)において演算の実行の有無を鍵ビット情報に応じて決定する演算決定手段(例えば、図3の演算決定部130a、130bに相当)と、前記排他的論理和演算手段の演算結果に対して前記非線形関数の逆関数を用いて非線形処理を行う非線形関数器(例えば、図3の非線形関数器160a、160bに相当)と、からなり、前記第2の巡回シフト手段、演算決定手段、非線形関数器の処理を所定回数実行することを特徴とするアルゴリズム可変型復号装置を提案している。   (7) The present invention is an algorithm variable decryption device configured by a round function for decrypting data encrypted in the algorithm variable encryption device according to (2), wherein the round function is encrypted. Second cyclic shift means (for example, FIG. 2) that circulates a group of data obtained by dividing the input data into predetermined bytes in a direction opposite to the first cyclic shift means in accordance with key bit information. 3 equivalent to the cyclic shift units 150a and 150b) and exclusive OR operation means connected to the second cyclic shift means (for example, equivalent to the exclusive OR calculators 120a and 120b in FIG. 3). Is determined according to the key bit information (for example, equivalent to the operation determination units 130a and 130b in FIG. 3) and the operation of the exclusive OR operation unit. And a non-linear function unit (for example, corresponding to the non-linear function units 160a and 160b in FIG. 3) that performs non-linear processing on the result using an inverse function of the non-linear function. And a variable algorithm decoding apparatus characterized by executing the processing of the nonlinear function unit a predetermined number of times.

この発明によれば、ラウンド関数の第2の巡回シフト手段は、暗号化されたデータを入力し、入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて第1の巡回シフト手段と逆方向に巡回させる。演算決定手段は、第2の巡回シフト手段に接続される排他的論理和演算手段において演算の実行の有無を鍵ビット情報に応じて決定する。非線形関数器は、排他的論理和演算手段の演算結果に対して非線形関数の逆関数を用いて非線形処理を行う。そして、第2の巡回シフト手段、演算決定手段、非線形関数器の処理を所定回数実行する。したがって、巡回シフト手段の巡回方向を逆方向とし、非線形関数の逆関数を用いることにより、アルゴリズム可変型暗号装置において暗号化された情報を簡易に復号することができる。   According to the present invention, the second cyclic shift means of the round function inputs the encrypted data, and the first cyclic circuit according to the key bit information represents a data group obtained by dividing the input data into predetermined bytes. It makes the circuit travel in the opposite direction to the shift means. The operation determining means determines whether or not the operation is executed in the exclusive OR operation means connected to the second cyclic shift means according to the key bit information. The non-linear function unit performs non-linear processing using the inverse function of the non-linear function on the operation result of the exclusive OR operation means. Then, the processing of the second cyclic shift means, the operation determination means, and the nonlinear function unit is executed a predetermined number of times. Therefore, the information encrypted in the algorithm variable encryption apparatus can be easily decrypted by setting the cyclic direction of the cyclic shift means in the reverse direction and using the inverse function of the nonlinear function.

(8)本発明は、所定の処理を複数回実行し、第1の巡回シフト手段と排他的論理和演算器と非線形関数器とからなるラウンド関数により構成されるアルゴリズム可変型暗号装置におけるアルゴリズム可変型暗号方法であって、前記ラウンド関数の第1の巡回シフト手段が、データを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える第1のステップ(例えば、図2のステップS101に相当)と、前記ラウンド関数の前記第1の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定する第2のステップ(例えば、図2のステップS102に相当)と、前記排他的論理和演算器の演算結果に対して前記非線形関数器が、非線形処理を行う第3のステップ(例えば、図2のステップS103に相当)と、前記第1のステップから第3のステップを前記所定回数実行する第4のステップ(例えば、図2のステップS104に相当)と、を備えたことを特徴とするアルゴリズム可変型暗号方法を提案している。   (8) The present invention performs algorithm variable in an algorithm variable type cryptographic apparatus that executes a predetermined process a plurality of times and includes a round function including a first cyclic shift means, an exclusive OR calculator, and a nonlinear function unit. A first encryption method, wherein the first cyclic shift means of the round function inputs data and replaces a data group obtained by dividing the input data into predetermined bytes according to key bit information. (E.g., corresponding to step S101 in FIG. 2), and whether to perform an operation in the exclusive OR calculator connected to the first cyclic shift means of the round function is determined according to the key bit information. 2 (for example, corresponding to step S102 in FIG. 2), and the nonlinear function unit performs nonlinear processing on the calculation result of the exclusive OR calculator. (For example, corresponding to step S103 in FIG. 2) and a fourth step (for example, corresponding to step S104 in FIG. 2) for executing the first to third steps a predetermined number of times. We have proposed an algorithm-variable encryption method characterized by this.

この発明によれば、ラウンド関数の第1の巡回シフト手段が、データを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替え、ラウンド関数の第1の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定し、排他的論理和演算器の演算結果に対して非線形関数器が、非線形処理を行う。そして、第1のステップから第3のステップを所定回数実行する。つまり、アルゴリズムの可変部分は、安全性と性能に影響を与えない第1の巡回シフト手段と演算決定手段とで構成されるため、上記の方式でアルゴリズムを可変しても、安全性や性能を一定のレベルに保つことができる。   According to the present invention, the first cyclic shift means of the round function inputs data, replaces the data group obtained by dividing the input data every predetermined byte according to the key bit information, and the first round function first The exclusive OR operator connected to the cyclic shift means determines whether or not to execute the operation according to the key bit information, and the nonlinear function unit performs nonlinear processing on the operation result of the exclusive OR operator. Do. Then, the first to third steps are executed a predetermined number of times. In other words, since the variable part of the algorithm is composed of the first cyclic shift means and the operation determining means that do not affect the safety and performance, even if the algorithm is varied by the above method, the safety and performance are not affected. Can be kept at a certain level.

(9)本発明は、(8)に記載のアルゴリズム可変型暗号方法において暗号化されたデータを復号し、所定の処理を複数回実行し、第2の巡回シフト手段と排他的論理和演算器と非線形関数器からなるラウンド関数により構成されるアルゴリズム可変型復号装置におけるアルゴリズム可変型復号方法であって、前記ラウンド関数の第2の巡回シフト手段が、暗号化されたデータを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて前記第1の巡回シフト手段と逆方向に巡回させる第1のステップ(例えば、図4のステップS201に相当)と、前記ラウンド関数の前記第2の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定する第2のステップ(例えば、図4のステップS202に相当)と、前記排他的論理和演算器の演算結果に対して前記非線形関数の逆関数を用いて前記非線形関数器が非線形処理を行う第3のステップ(例えば、図4のステップS203に相当)と、前記第1のステップから第3のステップを前記所定回数実行する第4のステップ(例えば、図4のステップS204に相当)と、を備えたことを特徴とするアルゴリズム可変型復号方法を提案している。   (9) The present invention decrypts the data encrypted in the algorithm variable encryption method described in (8), executes a predetermined process a plurality of times, and executes a second cyclic shift means and an exclusive OR calculator An algorithm variable decryption method in an algorithm variable decryption device configured by a round function including a non-linear function unit, wherein the second cyclic shift means of the round function inputs encrypted data, and the input A first step (for example, corresponding to step S201 in FIG. 4) of circulating a data group obtained by dividing the generated data into predetermined bytes in a direction opposite to the first cyclic shift means according to key bit information; A second step of determining whether or not to execute an operation in an exclusive OR calculator connected to the second cyclic shift means of the round function according to the key bit information ( For example, the third step (for example, corresponding to step S202 in FIG. 4) and the nonlinear function unit performs nonlinear processing on the calculation result of the exclusive OR calculator using the inverse function of the nonlinear function (for example, 4) (corresponding to step S203 in FIG. 4) and a fourth step (for example, corresponding to step S204 in FIG. 4) for executing the first to third steps a predetermined number of times. An algorithm variable decoding method is proposed.

この発明によれば、ラウンド関数の第2の巡回シフト手段が、暗号化されたデータを入力し、入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて第1の巡回シフト手段と逆方向に巡回させ、ラウンド関数の第2の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定し、排他的論理和演算器の演算結果に対して非線形関数の逆関数を用いて非線形関数器が非線形処理を行う。そして、第1のステップから第3のステップを所定回数実行する。したがって、巡回シフト手段の巡回方向を逆方向とし、非線形関数の逆関数を用いることにより、アルゴリズム可変型暗号装置において暗号化された情報を簡易に復号することができる。   According to the present invention, the second cyclic shift means of the round function inputs the encrypted data, and the data group obtained by dividing the input data into predetermined bytes is converted into the first cyclic according to the key bit information. An exclusive OR calculator that determines whether or not to execute an operation in an exclusive OR calculator connected to the second cyclic shift means of the round function in a direction reverse to that of the shift means, according to the key bit information. A non-linear function unit performs non-linear processing using the inverse function of the non-linear function with respect to the calculation result. Then, the first to third steps are executed a predetermined number of times. Therefore, the information encrypted in the algorithm variable encryption apparatus can be easily decrypted by setting the cyclic direction of the cyclic shift means in the reverse direction and using the inverse function of the nonlinear function.

(10)本発明は、所定の処理を複数回実行し、第1の巡回シフト手段と排他的論理和演算器と非線形関数器とからなるラウンド関数により構成されるアルゴリズム可変型暗号装置におけるアルゴリズム可変型暗号方法をコンピュータに実行させるプログラムであって、前記ラウンド関数の第1の巡回シフト手段が、データを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える第1のステップ(例えば、図2のステップS101に相当)と、前記ラウンド関数の前記第1の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定する第2のステップ(例えば、図2のステップS102に相当)と、前記排他的論理和演算器の演算結果に対して前記非線形関数器が、非線形処理を行う第3のステップ(例えば、図2のステップS103に相当)と、前記第1のステップから第3のステップを前記所定回数実行する第4のステップ(例えば、図2のステップS104に相当)と、をコンピュータに実行させるプログラムを提案している。   (10) According to the present invention, a predetermined process is executed a plurality of times, and the algorithm variable in the algorithm variable type cryptographic apparatus configured by the round function including the first cyclic shift means, the exclusive OR calculator, and the nonlinear function unit. A program for causing a computer to execute a type encryption method, wherein the first cyclic shift means of the round function inputs data, and a group of data obtained by dividing the input data into predetermined bytes according to key bit information Key bit information indicating whether or not a first step (for example, corresponding to step S101 in FIG. 2) to be exchanged and whether or not an operation is performed in an exclusive OR calculator connected to the first cyclic shift means of the round function And a second step (for example, corresponding to step S102 in FIG. 2) determined according to the calculation result of the exclusive OR calculator The third non-linear function unit performs a non-linear process (for example, corresponding to step S103 in FIG. 2), and a fourth step (for example, the third step from the first step to the third step) (for example, 2) (corresponding to step S104 in FIG. 2).

この発明によれば、ラウンド関数の第1の巡回シフト手段が、データを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替え、ラウンド関数の第1の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定し、排他的論理和演算器の演算結果に対して非線形関数器が、非線形処理を行う。そして、第1のステップから第3のステップを所定回数実行する。つまり、アルゴリズムの可変部分は、安全性と性能に影響を与えない第1の巡回シフト手段と演算決定手段とで構成されるため、上記の方式でアルゴリズムを可変しても、安全性や性能を一定のレベルに保つことができる。   According to the present invention, the first cyclic shift means of the round function inputs data, replaces the data group obtained by dividing the input data every predetermined byte according to the key bit information, and the first round function first The exclusive OR operator connected to the cyclic shift means determines whether or not to execute the operation according to the key bit information, and the nonlinear function unit performs nonlinear processing on the operation result of the exclusive OR operator. Do. Then, the first to third steps are executed a predetermined number of times. In other words, since the variable part of the algorithm is composed of the first cyclic shift means and the operation determining means that do not affect the safety and performance, even if the algorithm is varied by the above method, the safety and performance are not affected. Can be kept at a certain level.

(11)本発明は、(10)のアルゴリズム可変型暗号方法において暗号化されたデータを復号し、所定の処理を複数回実行し、第2の巡回シフト手段と排他的論理和演算器と非線形関数器からなるラウンド関数により構成されるアルゴリズム可変型復号装置におけるアルゴリズム可変型復号方法をコンピュータに実行させるプログラムであって、前記ラウンド関数の第2の巡回シフト手段が、暗号化されたデータを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて前記第1の巡回シフト手段と逆方向に巡回させる第1のステップ(例えば、図4のステップS201に相当)と、前記ラウンド関数の前記第2の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定する第2のステップ(例えば、図4のステップS202に相当)と、前記排他的論理和演算器の演算結果に対して前記非線形関数の逆関数を用いて前記非線形関数器が非線形処理を行う第3のステップ(例えば、図4のステップS203に相当)と、前記第1のステップから第3のステップを前記所定回数実行する第4のステップ(例えば、図4のステップS204に相当)と、をコンピュータに実行させるプログラムを提案している。   (11) The present invention decrypts the data encrypted in the algorithm variable encryption method of (10), executes a predetermined process a plurality of times, a second cyclic shift means, an exclusive OR calculator, and a nonlinear A program for causing a computer to execute an algorithm variable decryption method in an algorithm variable decryption apparatus configured by a round function comprising a function unit, wherein the second cyclic shift means of the round function inputs encrypted data Then, a first step (for example, corresponding to step S201 in FIG. 4) is performed in which the data group obtained by dividing the input data into predetermined bytes is circulated in the opposite direction to the first cyclic shift means according to the key bit information. ) And whether or not the operation is executed in the exclusive OR calculator connected to the second cyclic shift means of the round function. The nonlinear function unit is nonlinear using an inverse function of the nonlinear function with respect to a second step (for example, corresponding to step S202 of FIG. 4) determined according to A third step for performing processing (for example, corresponding to step S203 in FIG. 4) and a fourth step for executing the predetermined number of times from the first step to the third step (for example, corresponding to step S204 in FIG. 4) ), And a program that causes a computer to execute.

この発明によれば、ラウンド関数の第2の巡回シフト手段が、暗号化されたデータを入力し、入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて第1の巡回シフト手段と逆方向に巡回させ、ラウンド関数の第2の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定し、排他的論理和演算器の演算結果に対して非線形関数の逆関数を用いて非線形関数器が非線形処理を行う。そして、第1のステップから第3のステップを所定回数実行する。したがって、巡回シフト手段の巡回方向を逆方向とし、非線形関数の逆関数を用いることにより、アルゴリズム可変型暗号装置において暗号化された情報を簡易に復号することができる。   According to the present invention, the second cyclic shift means of the round function inputs the encrypted data, and the data group obtained by dividing the input data into predetermined bytes is converted into the first cyclic according to the key bit information. An exclusive OR calculator that determines whether or not to execute an operation in an exclusive OR calculator connected to the second cyclic shift means of the round function in a direction reverse to that of the shift means, according to the key bit information. A non-linear function unit performs non-linear processing using the inverse function of the non-linear function with respect to the calculation result. Then, the first to third steps are executed a predetermined number of times. Therefore, the information encrypted in the algorithm variable encryption apparatus can be easily decrypted by setting the cyclic direction of the cyclic shift means in the reverse direction and using the inverse function of the nonlinear function.

本発明によれば、安全性や性能を一定レベルに保ちつつ、鍵ビット情報により、アルゴリズムを可変することができるという効果がある。   According to the present invention, there is an effect that the algorithm can be varied by the key bit information while keeping safety and performance at a certain level.

本発明に係るアルゴリズム可変型暗号装置の構成を示す図である。It is a figure which shows the structure of the algorithm variable type encryption apparatus which concerns on this invention. 本発明に係るアルゴリズム可変型暗号装置の処理を示す図である。It is a figure which shows the process of the algorithm variable type encryption apparatus which concerns on this invention. 本発明に係るアルゴリズム可変型復号装置の構成を示す図である。It is a figure which shows the structure of the algorithm variable type decoding apparatus which concerns on this invention. 本発明に係るアルゴリズム可変型復号装置の処理を示す図である。It is a figure which shows the process of the algorithm variable type decoding apparatus which concerns on this invention.

以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Note that the constituent elements in the present embodiment can be appropriately replaced with existing constituent elements and the like, and various variations including combinations with other existing constituent elements are possible. Therefore, the description of the present embodiment does not limit the contents of the invention described in the claims.

<アルゴリズム可変型暗号装置の構成>
図1を用いて、本発明に係るアルゴリズム可変型暗号装置の構成について説明する。なお、本実施形態に係るアルゴリズム可変型暗号装置は、所定の処理を複数回実行するラウンド関数から構成されるものであり、ラウンド関数が、入力される鍵ビット情報に応じて、アルゴリズムが可変する部分と常に固定の部分とからなる。
<Configuration of algorithm variable encryption device>
The configuration of the algorithm variable encryption apparatus according to the present invention will be described with reference to FIG. Note that the algorithm variable encryption device according to the present embodiment includes a round function that executes a predetermined process a plurality of times, and the algorithm varies according to the key bit information that is input to the round function. It consists of a part and a fixed part.

本実施形態に係るアルゴリズム可変型暗号装置は、ラウンド関数から構成され、その詳細は、図1に示すように、巡回シフト部110a、110bと、排他的論理和演算器120a、120bと、演算決定部130a、130bと、非線形関数器140a、140bとから構成されている。図1では、128ビットの平文データを暗号化するアルゴリズム可変型暗号装置を例示して説明する。なお、本実施形態では、巡回シフト部、排他的論理和演算器、非線形関数器からなるブロックが2つ並列されている場合を例示しているが、並列数は、これに限らず、3つ以上でもよい。   The algorithm variable encryption apparatus according to the present embodiment is composed of a round function, and the details thereof are as shown in FIG. 1, cyclic shift units 110a and 110b, exclusive OR calculators 120a and 120b, and operation determination. Sections 130a and 130b and nonlinear function units 140a and 140b. In FIG. 1, an algorithm variable type encryption device that encrypts 128-bit plaintext data will be described as an example. In the present embodiment, the case where two blocks including a cyclic shift unit, an exclusive OR calculator, and a nonlinear function unit are arranged in parallel is illustrated, but the number of parallel is not limited to this, and three blocks are provided. That's all.

巡回シフト部110a、110bは、入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える。具体的には、128ビットの入力データを4バイトの倍数分、例えば、右へ巡回シフトするものとする。すなわち、4バイトごとに区切られた入力データを鍵ビットnに応じて入れ替える処理である。このため高速に実装することができる。また、このときシフトパターンは4通りあるため、2ビットの鍵ビットの入力が可能である。   Cyclic shift units 110a and 110b replace data groups obtained by dividing input data into predetermined bytes according to key bit information. Specifically, it is assumed that 128-bit input data is cyclically shifted to the right by a multiple of 4 bytes, for example. That is, it is a process of replacing the input data divided every 4 bytes according to the key bit n. For this reason, it can be mounted at high speed. At this time, since there are four shift patterns, it is possible to input a 2-bit key bit.

排他的論理和演算器120a、120bは、2つの入力データに対して、排他的論理和演算を実行する。   The exclusive OR calculators 120a and 120b perform an exclusive OR operation on the two input data.

演算決定部130a、130bは、巡回シフト部110a、110bに接続される排他的論理和演算器120a、120bにおいて演算の実行の有無を鍵ビット情報に応じて決定する。具体的には、鍵ビットに応じてデータに「0」をかけるか「1」をかけるかを決定する。つまり、鍵ビットが「0」である場合には、排他的論理和演算器120a、120bに入力されるビット列はオール「0」となるため、実際は排他的論理和演算が実行されない。本処理に対しては、1ビットの鍵ビットが入力可能である。   The operation determination units 130a and 130b determine whether or not the exclusive OR calculators 120a and 120b connected to the cyclic shift units 110a and 110b perform the operation according to the key bit information. Specifically, it is determined whether to apply “0” or “1” to the data according to the key bit. That is, when the key bit is “0”, the bit string input to the exclusive OR calculators 120a and 120b is all “0”, so that the exclusive OR operation is not actually executed. For this process, one key bit can be input.

非線形関数器140a、140bは、排他的論理和演算器120a、120bの演算結果に対して非線形処理を行う。非線形関数器140a、140bは、非線形置換と線形変換から構成される関数である。この関数は、逆変換関数が存在すればどのような関数でも良いが、AESのラウンド関数が好ましい。なお、この関数は鍵ビットに関係なく変化しない。   The nonlinear function units 140a and 140b perform nonlinear processing on the calculation results of the exclusive OR calculators 120a and 120b. The nonlinear function units 140a and 140b are functions composed of nonlinear replacement and linear transformation. This function may be any function as long as an inverse transformation function exists, but an AES round function is preferable. Note that this function does not change regardless of the key bit.

本実施形態に係るアルゴリズム可変型暗号装置においては、1ラウンドで、2*2+1*2=6ビットの鍵ビットを入力できる。そのため、Nラウンドの処理を実行すると、6Nビットの鍵ビットを実行できる。そのため、本実施形態のように、128ビットの鍵を入力するためには、22ラウンドあれば良い。また、本実施形態に係るアルゴリズム可変型暗号装置の安全性は、本質的に、非線形関数器140a、140bによって担保されている。そのため、ラウンド数が十分大きければ、鍵に関係なく安全性が保証される。また、本実施形態に係るアルゴリズム可変型暗号装置においては、鍵スケジュールを必要としないというメリットがある。   In the algorithm variable encryption apparatus according to the present embodiment, 2 * 2 + 1 * 2 = 6 key bits can be input in one round. Therefore, when N round processes are executed, 6N key bits can be executed. Therefore, as in this embodiment, in order to input a 128-bit key, 22 rounds are sufficient. In addition, the security of the algorithm variable encryption device according to this embodiment is essentially secured by the non-linear function units 140a and 140b. Therefore, if the number of rounds is sufficiently large, security is guaranteed regardless of the key. In addition, the algorithm variable encryption device according to the present embodiment has an advantage that a key schedule is not required.

<アルゴリズム可変型暗号装置の処理>
図2を用いて、本発明に係るアルゴリズム可変型暗号装置の処理について説明する。
<Processing of algorithm variable type cryptographic device>
The processing of the algorithm variable encryption device according to the present invention will be described with reference to FIG.

まず、ラウンド関数の巡回シフト部110a、110bが、データを入力し、その入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える(ステップS101)。   First, the cyclic shift units 110a and 110b of the round function input data, and replace a data group obtained by dividing the input data into predetermined bytes according to the key bit information (step S101).

次に、ラウンド関数の巡回シフト部110a、110bに接続される排他的論理和演算器120a、120bにおいて演算の実行の有無を鍵ビット情報に応じて決定する(ステップS102)。   Next, in the exclusive OR calculators 120a and 120b connected to the cyclic shift units 110a and 110b of the round function, whether or not the calculation is executed is determined according to the key bit information (step S102).

さらに、排他的論理和演算器120a、120bの演算結果に対して非線形関数器140a、140bが、非線形処理を行い(ステップS103)、そして、ステップS101からステップS103を所定回数実行する(ステップS104)。   Further, the non-linear function units 140a and 140b perform non-linear processing on the calculation results of the exclusive OR calculators 120a and 120b (step S103), and execute steps S101 to S103 a predetermined number of times (step S104). .

したがって、以上説明したように、本実施形態によれば、アルゴリズムの可変部分は、安全性と性能に影響を与えない第1の巡回シフト手段と演算決定手段とで構成されるため、上記の方式でアルゴリズムを可変しても、安全性や性能を一定のレベルに保つことができる。   Therefore, as described above, according to the present embodiment, the variable part of the algorithm is composed of the first cyclic shift unit and the operation determination unit that do not affect the safety and the performance. Even if the algorithm is changed, the safety and performance can be maintained at a certain level.

<アルゴリズム可変型復号装置の構成>
図3を用いて、本発明に係るアルゴリズム可変型復号装置の構成について説明する。本実施形態に係るアルゴリズム可変型復号装置は、上記のアルゴリズム可変型暗号装置により暗号化したデータを復号するものである。
<Configuration of algorithm variable decoding device>
The configuration of the algorithm variable decoding device according to the present invention will be described with reference to FIG. The algorithm variable decryption apparatus according to the present embodiment decrypts the data encrypted by the algorithm variable encryption apparatus.

本実施形態に係るアルゴリズム可変型復号装置は、ラウンド関数から構成され、その詳細は、図3に示すように、巡回シフト部150a、150bと、排他的論理和演算器120a、120bと、演算決定部130a、130bと、非線形関数器160a、160bとから構成されている。図3では、128ビットの暗号文データを復号化するアルゴリズム可変型復号装置を例示して説明する。なお、本実施形態では、巡回シフト部、排他的論理和演算器、非線形関数器からなるブロックが2つ並列されている場合を例示しているが、並列数は、これに限らず、3つ以上でもよい。また、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有するものであることから、その詳細な説明は、省略する。   The algorithm variable decoding device according to the present embodiment is composed of a round function. As shown in FIG. 3, the details thereof are cyclic shift units 150a and 150b, exclusive OR calculators 120a and 120b, and operation determination. Sections 130a and 130b and nonlinear function units 160a and 160b. In FIG. 3, an algorithm variable decryption device that decrypts 128-bit ciphertext data will be described as an example. In the present embodiment, the case where two blocks including a cyclic shift unit, an exclusive OR calculator, and a nonlinear function unit are arranged in parallel is illustrated, but the number of parallel is not limited to this, and three blocks are provided. That's all. In addition, components having the same reference numerals as those in the first embodiment have similar functions, and thus detailed description thereof is omitted.

巡回シフト部150a、150bは、暗号化されたデータを入力し、その入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて巡回シフト部110a、110bと逆方向に巡回させる。   Cyclic shift units 150a and 150b receive encrypted data, and rotate a group of data obtained by dividing the input data into predetermined bytes in the reverse direction to cyclic shift units 110a and 110b according to key bit information. .

非線形関数器160a、160bは、排他的論理和演算器120a、120bの演算結果に対して非線形処理を行う。非線形関数器160a、160bは、非線形関数器140a、140bの逆変換関数で構成されている。   The nonlinear function units 160a and 160b perform nonlinear processing on the calculation results of the exclusive OR calculators 120a and 120b. The non-linear function units 160a and 160b are composed of inverse transformation functions of the non-linear function units 140a and 140b.

<アルゴリズム可変型復号装置の処理>
図4を用いて、本発明に係るアルゴリズム可変型暗号装置の処理について説明する。
<Processing of Algorithm Variable Decoding Device>
The processing of the algorithm variable encryption device according to the present invention will be described with reference to FIG.

まず、ラウンド関数の巡回シフト部150a、150bが、暗号化されたデータを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて巡回シフト部110a、110bと逆方向に巡回させる(ステップS201)。   First, the round function cyclic shift units 150a and 150b receive encrypted data, and a data group obtained by dividing the input data into predetermined bytes is cyclic shift units 110a and 110b according to key bit information. The circuit is rotated in the reverse direction (step S201).

次に、ラウンド関数の巡回シフト部150a、150bに接続される排他的論理和演算器120a、120bにおいて演算の実行の有無を鍵ビット情報に応じて決定する(ステップS202)。   Next, in the exclusive OR calculators 120a and 120b connected to the cyclic shift units 150a and 150b of the round function, whether or not the calculation is executed is determined according to the key bit information (step S202).

さらに、排他的論理和演算器120a、120bの演算結果に対して非線形関数器160a、160bが、非線形処理を行い(ステップS203)、そして、ステップS201からステップS203を所定回数実行する(ステップS204)。   Further, the non-linear function units 160a and 160b perform non-linear processing on the calculation results of the exclusive OR calculators 120a and 120b (step S203), and execute steps S201 to S203 a predetermined number of times (step S204). .

したがって、以上説明したように、本実施形態によれば、巡回シフト手段の巡回方向を逆方向とし、非線形関数の逆関数を用いることにより、アルゴリズム可変型暗号装置において暗号化された情報を簡易に復号することができる。   Therefore, as described above, according to the present embodiment, the cyclic direction of the cyclic shift means is reversed, and the information encrypted in the algorithm variable encryption apparatus can be easily obtained by using the inverse function of the nonlinear function. Can be decrypted.

なお、アルゴリズム可変型暗号装置およびアルゴリズム可変型復号装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをアルゴリズム可変型暗号装置およびアルゴリズム可変型復号装置に読み込ませ、実行することによって本発明のアルゴリズム可変型暗号装置およびアルゴリズム可変型復号装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。   The processing of the algorithm variable encryption device and the algorithm variable decryption device is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read by the algorithm variable encryption device and the algorithm variable decryption device. By executing this, the variable algorithm type encryption device and variable algorithm type decryption device of the present invention can be realized. The computer system here includes an OS and hardware such as peripheral devices.

また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。   Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW (World Wide Web) system is used. The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.

また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the embodiments, and includes designs and the like that do not depart from the gist of the present invention.

110a;巡回シフト部
110b;巡回シフト部
120a;排他的論理和演算器
120b;排他的論理和演算器
130a;演算決定部
130b;演算決定部
140a;非線形関数器
140b;非線形関数器
150a;巡回シフト部
150b;巡回シフト部
160a;非線形関数器
160b;非線形関数器
110a; Cyclic shift unit 110b; Cyclic shift unit 120a; Exclusive OR operator 120b; Exclusive OR operator 130a; Operation decision unit 130b; Operation decision unit 140a; Nonlinear function unit 140b; Nonlinear function unit 150a; Unit 150b; cyclic shift unit 160a; nonlinear function unit 160b; nonlinear function unit

Claims (11)

所定の処理を複数回実行するラウンド関数から構成されるアルゴリズム可変型暗号装置であって、
前記ラウンド関数が、入力される鍵ビット情報に応じて、アルゴリズムが可変する部分と常に固定の部分とから構成されることを特徴とするアルゴリズム可変型暗号装置。
An algorithm variable type cryptographic apparatus configured by a round function for executing a predetermined process a plurality of times,
2. The algorithm variable type cryptographic apparatus according to claim 1, wherein the round function is composed of a part where the algorithm is variable and a part which is always fixed in accordance with input key bit information.
前記ラウンド関数が、
入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える第1の巡回シフト手段と、
前記第1の巡回シフト手段に接続される排他的論理和演算手段において演算の実行の有無を鍵ビット情報に応じて決定する演算決定手段と、
前記排他的論理和演算手段の演算結果に対して非線形処理を行う非線形関数器と、
からなり、
前記第1の巡回シフト手段、演算決定手段、非線形関数器の処理を所定回数実行することを特徴とする請求項1に記載のアルゴリズム可変型暗号装置。
The round function is
A first cyclic shift means for replacing a data group obtained by dividing input data into predetermined bytes according to key bit information;
Calculation determining means for determining whether or not to execute an operation in the exclusive OR calculating means connected to the first cyclic shift means according to the key bit information;
A non-linear function unit that performs non-linear processing on the operation result of the exclusive OR operation means;
Consists of
2. The algorithm variable encryption apparatus according to claim 1, wherein the first cyclic shift means, the operation determination means, and the nonlinear function device are executed a predetermined number of times.
前記演算決定手段が、「1」あるいは「0」からなる1ビットの鍵ビット情報により、前記排他的論理和演算手段における演算の実行を決定することを特徴とする請求項2に記載のアルゴリズム可変型暗号装置。   3. The algorithm variable according to claim 2, wherein the operation determining means determines the execution of the operation in the exclusive OR operation means based on 1-bit key bit information consisting of “1” or “0”. Type encryption device. 前記非線形関数が、非線形置換と線形置換とから構成されることを特徴とする請求項2または請求項3に記載のアルゴリズム可変型暗号装置。   4. The algorithm variable type encryption apparatus according to claim 2, wherein the nonlinear function includes a nonlinear substitution and a linear substitution. 前記非線形関数がAESのラウンド関数であることを特徴とする請求項4に記載のアルゴリズム可変型暗号装置。   5. The algorithm variable type cryptographic apparatus according to claim 4, wherein the nonlinear function is an AES round function. 前記ラウンド関数が、前記入力データのビット数以上の前記鍵ビット情報が入力されるまで、前記所定の処理を実行することを特徴とする請求項1から請求項5に記載のアルゴリズム可変型暗号装置。   6. The algorithm variable encryption apparatus according to claim 1, wherein the predetermined function is executed until the round function receives the key bit information greater than or equal to the number of bits of the input data. . 前記請求項2に記載のアルゴリズム可変型暗号装置において暗号化されたデータを復号するラウンド関数から構成されるアルゴリズム可変型復号装置であって、
前記ラウンド関数が、
暗号化されたデータを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて前記第1の巡回シフト手段と逆方向に巡回させる第2の巡回シフト手段と、
前記第2の巡回シフト手段に接続される排他的論理和演算手段において演算の実行の有無を鍵ビット情報に応じて決定する演算決定手段と、
前記排他的論理和演算手段の演算結果に対して前記非線形関数の逆関数を用いて非線形処理を行う非線形関数器と、
からなり、
前記第2の巡回シフト手段、演算決定手段、非線形関数器の処理を所定回数実行することを特徴とするアルゴリズム可変型復号装置。
An algorithm variable decryption device comprising a round function for decrypting data encrypted in the algorithm variable encryption device according to claim 2,
The round function is
Second cyclic shift means for inputting encrypted data and circulating a group of data obtained by dividing the input data into predetermined bytes according to key bit information in a direction opposite to that of the first cyclic shift means; ,
Calculation determining means for determining whether or not to execute an operation in the exclusive OR calculating means connected to the second cyclic shift means according to the key bit information;
A non-linear function unit that performs non-linear processing using the inverse function of the non-linear function on the operation result of the exclusive OR operation means;
Consists of
An algorithm-variable decoding apparatus, wherein the second cyclic shift means, operation determination means, and nonlinear function device are executed a predetermined number of times.
所定の処理を複数回実行し、第1の巡回シフト手段と排他的論理和演算器と非線形関数器とからなるラウンド関数により構成されるアルゴリズム可変型暗号装置におけるアルゴリズム可変型暗号方法であって、
前記ラウンド関数の第1の巡回シフト手段が、データを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える第1のステップと、
前記ラウンド関数の前記第1の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定する第2のステップと、
前記排他的論理和演算器の演算結果に対して前記非線形関数器が、非線形処理を行う第3のステップと、
前記第1のステップから第3のステップを前記所定回数実行する第4のステップと、
を備えたことを特徴とするアルゴリズム可変型暗号方法。
An algorithm variable encryption method in an algorithm variable encryption device configured to execute a predetermined process a plurality of times and configured by a round function including a first cyclic shift unit, an exclusive OR calculator, and a nonlinear function unit,
A first step in which a first cyclic shift means of the round function inputs data and replaces a group of data obtained by dividing the input data into predetermined bytes according to key bit information;
A second step of determining whether or not to perform an operation in accordance with key bit information in an exclusive OR calculator connected to the first cyclic shift means of the round function;
A third step in which the non-linear function unit performs non-linear processing on a calculation result of the exclusive OR calculator;
A fourth step of performing the predetermined number of times from the first step to the third step;
An algorithm variable encryption method characterized by comprising:
前記請求項8に記載のアルゴリズム可変型暗号方法において暗号化されたデータを復号し、所定の処理を複数回実行し、第2の巡回シフト手段と排他的論理和演算器と非線形関数器からなるラウンド関数により構成されるアルゴリズム可変型復号装置におけるアルゴリズム可変型復号方法であって、
前記ラウンド関数の第2の巡回シフト手段が、暗号化されたデータを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて前記第1の巡回シフト手段と逆方向に巡回させる第1のステップと、
前記ラウンド関数の前記第2の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定する第2のステップと、
前記排他的論理和演算器の演算結果に対して前記非線形関数の逆関数を用いて前記非線形関数器が非線形処理を行う第3のステップと、
前記第1のステップから第3のステップを前記所定回数実行する第4のステップと、
を備えたことを特徴とするアルゴリズム可変型復号方法。
9. The algorithm variable encryption method according to claim 8, wherein the encrypted data is decrypted, a predetermined process is executed a plurality of times, and a second cyclic shift means, an exclusive OR calculator, and a non-linear function unit are included. An algorithm variable decoding method in an algorithm variable decoding device configured by a round function,
The second cyclic shift means of the round function inputs encrypted data, and a group of data obtained by dividing the input data into predetermined bytes is converted into the first cyclic shift means according to key bit information. A first step of cycling in the reverse direction;
A second step of determining whether or not to perform an operation in accordance with key bit information in an exclusive OR calculator connected to the second cyclic shift means of the round function;
A third step in which the nonlinear function unit performs nonlinear processing on the operation result of the exclusive OR calculator using an inverse function of the nonlinear function;
A fourth step of performing the predetermined number of times from the first step to the third step;
An algorithm variable decoding method characterized by comprising:
所定の処理を複数回実行し、第1の巡回シフト手段と排他的論理和演算器と非線形関数器とからなるラウンド関数により構成されるアルゴリズム可変型暗号装置におけるアルゴリズム可変型暗号方法をコンピュータに実行させるプログラムであって、
前記ラウンド関数の第1の巡回シフト手段が、データを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて入れ替える第1のステップと、
前記ラウンド関数の前記第1の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定する第2のステップと、
前記排他的論理和演算器の演算結果に対して前記非線形関数器が、非線形処理を行う第3のステップと、
前記第1のステップから第3のステップを前記所定回数実行する第4のステップと、
をコンピュータに実行させるプログラム。
A predetermined process is executed a plurality of times, and an algorithm variable encryption method in an algorithm variable encryption apparatus composed of a round function including a first cyclic shift means, an exclusive OR operator, and a nonlinear function unit is executed on a computer A program to
A first step in which a first cyclic shift means of the round function inputs data and replaces a group of data obtained by dividing the input data into predetermined bytes according to key bit information;
A second step of determining whether or not to perform an operation in accordance with key bit information in an exclusive OR calculator connected to the first cyclic shift means of the round function;
A third step in which the non-linear function unit performs non-linear processing on a calculation result of the exclusive OR calculator;
A fourth step of performing the predetermined number of times from the first step to the third step;
A program that causes a computer to execute.
前記請求項10に記載のアルゴリズム可変型暗号方法において暗号化されたデータを復号し、所定の処理を複数回実行し、第2の巡回シフト手段と排他的論理和演算器と非線形関数器からなるラウンド関数により構成されるアルゴリズム可変型復号装置におけるアルゴリズム可変型復号方法をコンピュータに実行させるプログラムであって、
前記ラウンド関数の第2の巡回シフト手段が、暗号化されたデータを入力し、該入力されたデータを所定バイトごとに区切ったデータ群を鍵ビット情報に応じて前記第1の巡回シフト手段と逆方向に巡回させる第1のステップと、
前記ラウンド関数の前記第2の巡回シフト手段に接続される排他的論理和演算器において演算の実行の有無を鍵ビット情報に応じて決定する第2のステップと、
前記排他的論理和演算器の演算結果に対して前記非線形関数の逆関数を用いて前記非線形関数器が非線形処理を行う第3のステップと、
前記第1のステップから第3のステップを前記所定回数実行する第4のステップと、
をコンピュータに実行させるプログラム。
The data encrypted in the algorithm variable encryption method according to claim 10 is decrypted, a predetermined process is executed a plurality of times, and a second cyclic shift means, an exclusive OR calculator, and a non-linear function unit are included. A program for causing a computer to execute an algorithm variable decoding method in an algorithm variable decoding device configured by a round function,
The second cyclic shift means of the round function inputs encrypted data, and a group of data obtained by dividing the input data into predetermined bytes is converted into the first cyclic shift means according to key bit information. A first step of cycling in the reverse direction;
A second step of determining whether or not to perform an operation in accordance with key bit information in an exclusive OR calculator connected to the second cyclic shift means of the round function;
A third step in which the nonlinear function unit performs nonlinear processing on the operation result of the exclusive OR calculator using an inverse function of the nonlinear function;
A fourth step of performing the predetermined number of times from the first step to the third step;
A program that causes a computer to execute.
JP2011030553A 2011-02-16 2011-02-16 Algorithm variable encryption device, algorithm variable decryption device, algorithm variable encryption method, algorithm variable decryption method, and program Active JP5665588B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011030553A JP5665588B2 (en) 2011-02-16 2011-02-16 Algorithm variable encryption device, algorithm variable decryption device, algorithm variable encryption method, algorithm variable decryption method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011030553A JP5665588B2 (en) 2011-02-16 2011-02-16 Algorithm variable encryption device, algorithm variable decryption device, algorithm variable encryption method, algorithm variable decryption method, and program

Publications (2)

Publication Number Publication Date
JP2012169964A true JP2012169964A (en) 2012-09-06
JP5665588B2 JP5665588B2 (en) 2015-02-04

Family

ID=46973628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011030553A Active JP5665588B2 (en) 2011-02-16 2011-02-16 Algorithm variable encryption device, algorithm variable decryption device, algorithm variable encryption method, algorithm variable decryption method, and program

Country Status (1)

Country Link
JP (1) JP5665588B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1152850A (en) * 1997-08-07 1999-02-26 Hitachi Ltd Device and method for cipher conversion
JP2000047580A (en) * 1998-05-29 2000-02-18 Hitachi Ltd Encipher converting device, decipher converting device, cryptographic communication equipment and automatic toll collecting device
JP2000089667A (en) * 1998-09-14 2000-03-31 Ntt Advanced Technology Corp Algorithm generation type secret key encryption system
JP2001042766A (en) * 1999-05-26 2001-02-16 Matsushita Electric Ind Co Ltd Data ciphering device and method therefor
JP2001177518A (en) * 1999-12-17 2001-06-29 Nec Corp Enciphering method, and decoding method and device
JP2007094377A (en) * 2005-08-31 2007-04-12 Canon Inc Encryption processor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1152850A (en) * 1997-08-07 1999-02-26 Hitachi Ltd Device and method for cipher conversion
JP2000047580A (en) * 1998-05-29 2000-02-18 Hitachi Ltd Encipher converting device, decipher converting device, cryptographic communication equipment and automatic toll collecting device
JP2000089667A (en) * 1998-09-14 2000-03-31 Ntt Advanced Technology Corp Algorithm generation type secret key encryption system
JP2001042766A (en) * 1999-05-26 2001-02-16 Matsushita Electric Ind Co Ltd Data ciphering device and method therefor
JP2001177518A (en) * 1999-12-17 2001-06-29 Nec Corp Enciphering method, and decoding method and device
JP2007094377A (en) * 2005-08-31 2007-04-12 Canon Inc Encryption processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014025290; 福冨 英次: '"アルゴリズム可変な暗号方式の安全性評価"' 高知工科大学大学院 工学研究科 基礎工学専攻 情報システム工学コース 平成17年度修士学位論文 , 20060310, p.12-17, [オンライン] *

Also Published As

Publication number Publication date
JP5665588B2 (en) 2015-02-04

Similar Documents

Publication Publication Date Title
US10581590B2 (en) Flexible architecture and instruction for advanced encryption standard (AES)
US9515818B2 (en) Multi-block cryptographic operation
KR20190010251A (en) A method and apparatus of lpes for security enhancement in cloud storage transport phase
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
US9692592B2 (en) Using state reordering to protect against white box attacks
WO2013129056A1 (en) Information processing device, information processing method, and programme
WO2013129054A1 (en) Information processing device, information processing method, and programme
JP2013182148A (en) Information processing apparatus, information processing method, and program
JP5665588B2 (en) Algorithm variable encryption device, algorithm variable decryption device, algorithm variable encryption method, algorithm variable decryption method, and program
JP6203387B2 (en) Encryption device, storage system, decryption device, encryption method, decryption method, encryption program, and decryption program
JP5559011B2 (en) Stream cipher encryption apparatus, stream cipher encryption method and program
US11997189B2 (en) Encrypted communication using counter mode encryption and secret keys
KR20190041900A (en) Encryption device and decryption device, and method of operation thereof
JP7215245B2 (en) Information processing device, information processing method and program
JP2009037095A (en) Data scrambling apparatus, data descrambling apparatus, data scrambling method, data descrambling method and program
JP4708914B2 (en) Decryption method
Joshi et al. Hybrid Encryption Technique for Securing Cloud Data
Ali et al. Computers and Software
JP2011130340A (en) Ciphering device and deciphering device for stream cipher, ciphering method and deciphering method for stream cipher, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140813

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141209

R150 Certificate of patent or registration of utility model

Ref document number: 5665588

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150