JP4938430B2 - Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program - Google Patents

Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program Download PDF

Info

Publication number
JP4938430B2
JP4938430B2 JP2006327982A JP2006327982A JP4938430B2 JP 4938430 B2 JP4938430 B2 JP 4938430B2 JP 2006327982 A JP2006327982 A JP 2006327982A JP 2006327982 A JP2006327982 A JP 2006327982A JP 4938430 B2 JP4938430 B2 JP 4938430B2
Authority
JP
Japan
Prior art keywords
data
internal memory
sequence
bit data
bit
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.)
Active
Application number
JP2006327982A
Other languages
Japanese (ja)
Other versions
JP2008139742A (en
Inventor
晋作 清本
俊昭 田中
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 JP2006327982A priority Critical patent/JP4938430B2/en
Publication of JP2008139742A publication Critical patent/JP2008139742A/en
Application granted granted Critical
Publication of JP4938430B2 publication Critical patent/JP4938430B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、非線形関数器、ストリーム暗号の暗号化装置、復号化装置、MAC生成装置、ストリーム暗号の暗号化方法、復号化方法、MAC生成方法およびプログラムに関する。   The present invention relates to a nonlinear function device, a stream cipher encryption device, a decryption device, a MAC generation device, a stream cipher encryption method, a decryption method, a MAC generation method, and a program.

近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、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参照。)。
特開2001−16197号公報
Since the stream encryption method can be expected to process faster than the block encryption method, for example, as a method for transmitting large-capacity data such as a movie in recent years, attention has been paid to the stream encryption method. There is a problem that the encryption process and the decryption process must be synchronized. For this reason, a self-synchronous stream cipher apparatus that automatically recovers synchronization using a ciphertext received without error of a certain size or more has been proposed (for example, see Patent Document 1).
JP 2001-16197 A

ここで、ストリーム暗号の構成要素として、周期系列を生成する生成器と非線形フィルタとが存在するが、その安全性は主に非線形フィルタの構成方法に依存している。ところが、従来は、ビット単位での非線形処理を行っているために、処理速度が十分ではなく、また、安全性に欠けるといった問題があった。   Here, a generator for generating a periodic sequence and a non-linear filter exist as components of the stream cipher, but its security depends mainly on the non-linear filter configuration method. However, conventionally, since nonlinear processing is performed in units of bits, there has been a problem that the processing speed is not sufficient and the safety is insufficient.

そこで、本発明は、上述の課題に鑑みてなされたものであり、安全かつ高速な処理を可能とする非線形関数器およびこれを用いたストリーム暗号の暗号化装置、復号化装置、MAC生成装置、ストリーム暗号の暗号化方法、復号化方法、MAC生成方法およびプログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and a nonlinear function unit that enables safe and high-speed processing, and an encryption device, a decryption device, a MAC generation device, and a stream cipher using the nonlinear function device, An object of the present invention is to provide an encryption method, a decryption method, a MAC generation method, and a program for a stream cipher.

本発明は、上記の課題を解決するために、以下の事項を提案している。
(1)本発明は、乱数系列のビットデータを周期系列生成装置から入力し、変換されたビットデータを複数の内部メモリからそれぞれ鍵系列生成器に出力する非線形関数器であって、前記周期系列生成装置から入力した乱数系列のビットデータと前記複数の内部メモリのうち一の内部メモリに記憶されているデータとを演算する演算器と、前記演算器による演算後のデータ又は前記複数の内部メモリのうち一の内部メモリに記憶されているデータを読み出して非線形置換し、当該非線形置換後のデータを前記演算器又は他の非線形置換器の入力データとして前記複数の内部メモリのうち一の内部メモリに入力する複数の非線形置換器と、を備え、前記複数の内部メモリは、前記複数の非線形置換器を介して、環状に接続されていることを特徴とする非線形関数器を提案している。
The present invention proposes the following matters in order to solve the above problems.
(1) The present invention is a non-linear function unit to the bit data of the random number sequence input from the periodic sequence generating unit, and outputs the converted bit data from a plurality of internal memories, each key sequence generator, the periodic sequence A computing unit for computing bit data of a random number sequence input from a generation device and data stored in one internal memory of the plurality of internal memories; data after computation by the computing unit; or the plurality of internal memories The data stored in one of the internal memories is read out and nonlinearly replaced, and the data after the nonlinear replacement is used as input data of the arithmetic unit or other nonlinear replacer as one of the plurality of internal memories and a plurality of non-linear substitution device to be input to said plurality of internal memories, via the plurality of non-linear substitution device, characterized in that it is connected to the annular It has proposed a non-linear function unit for.

この発明によれば、複数の内部メモリが非線形置換器を介して、環状に接続されている。したがって、これをストリーム暗号装置等に用いた場合には、安全性を相乗的に増加させることができる。   According to the present invention, the plurality of internal memories are connected in a ring shape via the non-linear replacer. Therefore, when this is used for a stream encryption device or the like, the security can be increased synergistically.

(2)本発明は、乱数系列のビットデータを周期系列生成装置から入力し、変換されたビットデータを複数の内部メモリからそれぞれ鍵系列生成器に出力する非線形関数器であって、前記周期系列生成装置から入力した乱数系列のビットデータと前記複数の内部メモリのうち一の内部メモリに記憶されているデータとを演算する複数の演算器と、前記演算器による演算後のデータ又は前記複数の内部メモリのうち一の内部メモリに記憶されているデータを読み出して非線形置換し、当該非線形置換後のデータを前記演算器又は他の非線形置換器の入力データとして前記複数の内部メモリのうち一の内部メモリに入力する複数の非線形置換器と、を備え、前記複数の内部メモリが前記複数の非線形置換器および前記複数の演算器を介して、環状に接続されていることを特徴とする非線形関数器を提案している。 (2) The present invention is a non-linear function unit to the bit data of the random number sequence input from the periodic sequence generating unit, and outputs the converted bit data from a plurality of internal memories, each key sequence generator, the periodic sequence a plurality of arithmetic units for calculating the data with random sequence of bit data inputted from the generator is stored to an internal memory of the plurality of internal memory, after the operation by the arithmetic unit data or a plurality of The data stored in one internal memory of the internal memories is read out and nonlinearly replaced, and the data after the nonlinear replacement is used as input data of the arithmetic unit or another nonlinear replacer as one of the plurality of internal memories. comprising a plurality of non-linear substitution device to enter the internal memory, wherein the plurality of internal memory via the plurality of non-linear substitution unit and said plurality of arithmetic units, cyclic It has proposed a non-linear function unit, characterized in that it is connected.

この発明によれば、複数の内部メモリが前記非線形置換器および前記演算器を介して、環状に接続されている。したがって、非線形置換器の数が少ない分、処理を高速化することができる。   According to the present invention, a plurality of internal memories are connected in a ring shape via the nonlinear replacer and the arithmetic unit. Therefore, the processing can be speeded up because the number of non-linear replacement units is small.

(3)本発明は、(1)または(2)の非線形関数器について、前記乱数系列のビットデータのビット長が前記複数の内部メモリから出力される前記変換されたビットデータのビット長よりも長いことを特徴とする非線形関数器を提案している。   (3) In the nonlinear function device of (1) or (2), the present invention provides that the bit length of the bit data of the random number sequence is greater than the bit length of the converted bit data output from the plurality of internal memories. We have proposed a non-linear function unit that is characterized by its long length.

この発明によれば、非線形関数器の入力ビット長に対して出力ビット長が長い構成になっている。したがって、これによりストリーム暗号全体の性能を向上させることができる。   According to the present invention, the output bit length is longer than the input bit length of the nonlinear function unit. Therefore, this can improve the performance of the entire stream cipher.

(4)本発明は、(1)から(3)の非線形関数器について、前記非線形置換器が予め格納されたデータテーブルに基づいて、非線形置換処理を実行することを特徴とする非線形関数器を提案している。   (4) According to the present invention, there is provided a non-linear function device characterized in that the non-linear function device (1) to (3) executes a non-linear replacement process based on a data table stored in advance. is suggesting.

この発明によれば、非線形置換器が予め格納されたデータテーブルに基づいて、非線形置換処理を実行する。したがって、ソフトウェア実装における高速化を実現することができる。   According to this invention, the non-linear replacement unit executes the non-linear replacement process based on the data table stored in advance. Therefore, it is possible to realize speeding up in software implementation.

(5)本発明は、(1)から(4)のいずれかの非線形関数器(例えば、図1の非線形関数部2に相当)と、前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段(例えば、図1の周期系列生成装置1に相当)と、前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段(例えば、図1の鍵系列生成部3に相当)と、該鍵系列データ生成手段において生成された鍵系列のビットデータと平文との排他的論理和演算を行って、暗号文を出力する排他的論理和演算手段(例えば、図1のXOR4に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。   (5) The present invention generates one of the nonlinear function units (1) to (4) (for example, equivalent to the nonlinear function unit 2 in FIG. 1) and bit data of a random number sequence to be input to the nonlinear function unit. Random number sequence data generating means (for example, corresponding to the periodic sequence generating device 1 in FIG. 1) and key sequence data generating means for generating key sequence bit data from the converted bit data output from the nonlinear function unit ( For example, it is equivalent to the key sequence generation unit 3 in FIG. 1) and the exclusive OR operation of the bit sequence of the key sequence generated by the key sequence data generation means and the plaintext to output the ciphertext An encryption apparatus for stream ciphers characterized by comprising OR operation means (for example, corresponding to XOR4 in FIG. 1) is proposed.

この発明によれば、(1)から(4)のいずれかの非線形関数器を用いて、ストリーム暗号の暗号化装置を構成することができる。したがって、安全かつ高速な処理を可能とするストリーム暗号の暗号化装置を構成することができる。   According to the present invention, a stream cipher encryption apparatus can be configured using any one of the nonlinear function units (1) to (4). Therefore, it is possible to configure a stream cipher encryption apparatus that enables safe and high-speed processing.

(6)本発明は、(1)から(4)のいずれかの非線形関数器(例えば、図4の非線形関数部2に相当)と、前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段(例えば、図4の周期系列生成装置1に相当)と、前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段(例えば、図4の鍵系列生成部3に相当)と、該鍵系列データ生成手段において生成された鍵系列のビットデータと暗号文との排他的論理和演算を行って、平文を出力する排他的論理和演算手段(例えば、図1のXOR5に相当)と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。   (6) The present invention generates any one of the nonlinear function units (1) to (4) (for example, equivalent to the nonlinear function unit 2 in FIG. 4) and bit data of a random number sequence input to the nonlinear function unit. Random number sequence data generation means (for example, corresponding to the periodic sequence generation device 1 in FIG. 4), and key sequence data generation means for generating key sequence bit data from the converted bit data output from the nonlinear function unit ( For example, it is equivalent to the key sequence generation unit 3 in FIG. 4) and the exclusive OR operation of the bit sequence of the key sequence generated by the key sequence data generation means and the ciphertext is performed and the plaintext is output. A stream cipher decryption device characterized by comprising an OR operation means (e.g., corresponding to XOR5 in FIG. 1) is proposed.

この発明によれば、(1)から(4)のいずれかの非線形関数器を用いて、ストリーム暗号の復号化装置を構成することができる。したがって、安全かつ高速な処理を可能とするストリーム暗号の復号化装置を構成することができる。   According to the present invention, a stream cipher decryption apparatus can be configured using any one of the nonlinear function units (1) to (4). Therefore, it is possible to configure a stream cipher decryption device that enables safe and high-speed processing.

(7)本発明は、(1)から(4)のいずれかの非線形関数器(例えば、図6の非線形関数部2に相当)と、前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段(例えば、図6の周期系列生成装置1に相当)と、前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段(例えば、図6の鍵系列生成部3に相当)と、該鍵系列データ生成手段において生成された鍵系列のビットデータと平文との排他的論理和演算を行って、演算結果を前記乱数系列データ生成手段にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する排他的論理和演算手段(例えば、図6のXOR4に相当)と、を備えたことを特徴とするMAC生成装置を提案している。   (7) The present invention generates one of the nonlinear function units (1) to (4) (e.g., equivalent to the nonlinear function unit 2 in FIG. 6) and the bit data of the random number sequence input to the nonlinear function unit. Random number sequence data generating means (for example, corresponding to the periodic sequence generating device 1 in FIG. 6) and key sequence data generating means for generating key sequence bit data from the converted bit data output from the nonlinear function unit ( For example, it corresponds to the key sequence generation unit 3 in FIG. 6) and the bit sequence of the key sequence generated by the key sequence data generation means and the plaintext are subjected to an exclusive OR operation, and the operation result is obtained as the random number sequence data. And an exclusive OR operation means (for example, equivalent to XOR4 in FIG. 6) which feeds back to the generation means and outputs the final ciphertext as a message authenticator. It has proposed the formation apparatus.

この発明によれば、(1)から(4)のいずれかの非線形関数器を用いて、MAC生成装置を構成することができる。したがって、安全かつ高速な処理を可能とするMAC生成装置を構成することができる。   According to the present invention, the MAC generation device can be configured using any one of the nonlinear function units (1) to (4). Therefore, it is possible to configure a MAC generation device that enables safe and high-speed processing.

(8)本発明は、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップ(例えば、図3のステップS101、S102に相当)と、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップ(例えば、図3のステップS101、S102に相当)と、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップ(例えば、図3のステップS103に相当)と、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップ(例えば、図3のステップS103に相当)と、更新された各内部メモリのデータを変換されたビット列として出力する第5のステップ(例えば、図3のステップS104に相当)と、該変換されたビット列から鍵系列を演算する第6のステップ(例えば、図3のステップS105に相当)と、該演算された鍵系列と平文との排他的論理和演算を行って、暗号文を出力する第7のステップ(例えば、図3のステップS106に相当)と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。   (8) In the first step of the present invention, the bit data of the random number sequence and the first internal memory data are arithmetically added, and the bit data subjected to arithmetic addition is subjected to nonlinear processing and stored in the second internal memory ( For example, it is equivalent to steps S101 and S102 in FIG. 3), the bit data of the random number sequence and the third internal memory data are arithmetically added, and the arithmetically added bit data is subjected to non-linear processing to be stored in the fourth internal memory. A second step (for example, equivalent to steps S101 and S102 in FIG. 3), and a third step (for example, FIG. 3) that performs nonlinear processing on the second internal memory data and stores it in the third internal memory. And a fourth step (for example, equivalent to step S103 in FIG. 3) that performs non-linear processing on the fourth internal memory data and stores it in the first internal memory. And a fifth step (for example, corresponding to step S104 of FIG. 3) for outputting the updated data in each internal memory as a converted bit string, and a sixth step for calculating a key sequence from the converted bit string (E.g., corresponding to step S105 in FIG. 3) and the seventh step (e.g., in step S106 in FIG. 3) of performing the exclusive OR operation of the calculated key sequence and plaintext and outputting the ciphertext And a stream cipher encryption method characterized by comprising:

この発明によれば、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する。次いで、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する。そして、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納するとともに、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納し、更新された各内部メモリのデータを変換されたビット列として出力する。さらに、変換されたビット列から鍵系列を演算し、演算された鍵系列と平文との排他的論理和演算を行って、暗号文を出力する。したがって、上記によれば、安全かつ高速に平文を暗号文に暗号化することができる。   According to this invention, the bit data of the random number sequence and the first internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to nonlinear processing and stored in the second internal memory. Next, the bit data of the random number sequence and the third internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to non-linear processing and stored in the fourth internal memory. The second internal memory data is subjected to nonlinear processing and stored in the third internal memory, and the fourth internal memory data is subjected to nonlinear processing and stored in the first internal memory. Outputs memory data as a converted bit string. Further, a key sequence is calculated from the converted bit string, an exclusive OR operation is performed on the calculated key sequence and plaintext, and a ciphertext is output. Therefore, according to the above, it is possible to encrypt plaintext into ciphertext safely and at high speed.

(9)本発明は、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップ(例えば、図5のステップS201、S202に相当)と、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップ(例えば、図5のステップS201、S202に相当)と、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップ(例えば、図5のステップS203に相当)と、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップ(例えば、図5のステップS203に相当)と、更新された各内部メモリのデータを変換されたビット列として出力する第5のステップ(例えば、図5のステップS204に相当)と、該変換されたビット列から鍵系列を演算する第6のステップ(例えば、図5のステップS205に相当)と、該演算された鍵系列と暗号文との排他的論理和演算を行って、平文を出力する第7のステップ(例えば、図5のステップS206に相当)と、を備えたことを特徴とするストリーム暗号の復号化方法を提案している。   (9) The first step of arithmetically adding bit data of the random number sequence and the first internal memory data, performing non-linear processing on the bit data subjected to the arithmetic addition, and storing it in the second internal memory ( For example, it corresponds to steps S201 and S202 in FIG. 5), and the bit data of the random number sequence and the third internal memory data are arithmetically added, and nonlinear processing is performed on the arithmetically added bit data to obtain the fourth internal memory. A second step (for example, corresponding to steps S201 and S202 in FIG. 5) and a third step (for example, FIG. 5) that performs nonlinear processing on the second internal memory data and stores it in the third internal memory. And a fourth step (for example, equivalent to step S203 in FIG. 5) that performs non-linear processing on the fourth internal memory data and stores it in the first internal memory. A fifth step (for example, corresponding to step S204 in FIG. 5) for outputting the updated data in each internal memory as a converted bit string, and a sixth step for calculating a key sequence from the converted bit string (E.g., corresponding to step S205 in FIG. 5) and a seventh step (e.g., in step S206 in FIG. 5) that performs an exclusive OR operation on the calculated key sequence and ciphertext and outputs plaintext A stream cipher decryption method characterized by comprising:

この発明によれば、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する。次いで、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する。そして、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納するとともに、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納し、更新された各内部メモリのデータを変換されたビット列として出力する。さらに、変換されたビット列から鍵系列を演算し、演算された鍵系列と暗号文との排他的論理和演算を行って、平文を出力する。したがって、上記によれば、安全かつ高速に暗号文を平文に復号化することができる。   According to this invention, the bit data of the random number sequence and the first internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to nonlinear processing and stored in the second internal memory. Next, the bit data of the random number sequence and the third internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to non-linear processing and stored in the fourth internal memory. The second internal memory data is subjected to nonlinear processing and stored in the third internal memory, and the fourth internal memory data is subjected to nonlinear processing and stored in the first internal memory. Outputs memory data as a converted bit string. Further, a key sequence is calculated from the converted bit string, an exclusive OR operation is performed on the calculated key sequence and the ciphertext, and a plaintext is output. Therefore, according to the above, the ciphertext can be decrypted into plaintext safely and at high speed.

(10)本発明は、周期系列装置から入力した乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップ(例えば、図7のステップS301、S302に相当)と、周期系列装置から入力した乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップ(例えば、図7のステップS301、S302に相当)と、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップ(例えば、図7のステップS303に相当)と、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップ(例えば、図7のステップS303に相当)と、更新された各内部メモリのデータを変換されたビット列として出力する第5のステップ(例えば、図7のステップS304に相当)と、該変換されたビット列から鍵系列を演算する第6のステップ(例えば、図7のステップS305に相当)と、該演算された鍵系列と平文との排他的論理和演算を行って、演算結果を前記周期系列装置にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する第7のステップ(例えば、図7のステップS306、S307、S308に相当)と、を備えたことを特徴とするMAC生成方法を提案している。   (10) According to the present invention, the bit data of the random number sequence input from the periodic sequence device and the first internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to nonlinear processing and stored in the second internal memory. The first step (e.g., corresponding to steps S301 and S302 in FIG. 7), the bit data of the random number sequence input from the periodic sequence device, and the third internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition A second step (for example, equivalent to steps S301 and S302 in FIG. 7) that is subjected to nonlinear processing and stored in the fourth internal memory, and third internal memory that is subjected to nonlinear processing on the second internal memory data And a third step (for example, corresponding to step S303 in FIG. 7) and a fourth step of performing non-linear processing on the fourth internal memory data and storing it in the first internal memory Step (for example, corresponding to step S303 in FIG. 7), a fifth step (for example, corresponding to step S304 in FIG. 7) for outputting the updated internal memory data as a converted bit string, and the conversion A sixth step (for example, corresponding to step S305 in FIG. 7) for calculating a key sequence from the calculated bit string, an exclusive OR operation of the calculated key sequence and plaintext, and calculating the result as the period And a seventh step (for example, corresponding to steps S306, S307, and S308 in FIG. 7) for feeding back to the affiliated device and outputting the final ciphertext as a message authenticator. Proposed method.

この発明によれば、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する。次いで、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する。そして、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納するとともに、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納し、更新された各内部メモリのデータを変換されたビット列として出力する。さらに、変換されたビット列から鍵系列を演算し、演算された鍵系列と平文との排他的論理和演算を行って、演算結果を周期系列装置にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する。したがって、上記によれば、安全かつ高速にMACを生成することができる。   According to this invention, the bit data of the random number sequence and the first internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to nonlinear processing and stored in the second internal memory. Next, the bit data of the random number sequence and the third internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to non-linear processing and stored in the fourth internal memory. The second internal memory data is subjected to nonlinear processing and stored in the third internal memory, and the fourth internal memory data is subjected to nonlinear processing and stored in the first internal memory. Outputs memory data as a converted bit string. Furthermore, the key sequence is calculated from the converted bit sequence, the exclusive OR operation of the calculated key sequence and the plaintext is performed, the calculation result is fed back to the periodic sequence device, and the final ciphertext is authenticated by the message. Output as a child. Therefore, according to the above, the MAC can be generated safely and at high speed.

(11)本発明は、ストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップ(例えば、図3のステップS101、S102に相当)と、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップ(例えば、図3のステップS101、S102に相当)と、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップ(例えば、図3のステップS103に相当)と、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップ(例えば、図3のステップS103に相当)と、更新された各内部メモリのデータを変換されたビット列として出力する第5のステップ(例えば、図3のステップS104に相当)と、該変換されたビット列から鍵系列を演算する第6のステップ(例えば、図3のステップS105に相当)と、該演算された鍵系列と平文との排他的論理和演算を行って、暗号文を出力する第7のステップ(例えば、図3のステップS106に相当)と、をコンピュータに実行させるためのプログラムを提案している。   (11) The present invention is a program for causing a computer to execute a stream cipher encryption method, arithmetically adding bit data of a random number sequence and first internal memory data, to the bit data subjected to arithmetic addition A first step (for example, equivalent to steps S101 and S102 in FIG. 3) that performs nonlinear processing and stores the second internal memory, and arithmetically adds the bit data of the random number sequence and the third internal memory data, A second step (for example, equivalent to steps S101 and S102 in FIG. 3) for performing nonlinear processing on the bit data subjected to arithmetic addition and storing it in the fourth internal memory, and performing nonlinear processing on the second internal memory data The third step (for example, corresponding to step S103 in FIG. 3) stored in the third internal memory and the fourth internal memory data are subjected to nonlinear processing. A fourth step (for example, corresponding to step S103 in FIG. 3) for storing in the first internal memory, and a fifth step (for example, FIG. 3) for outputting the updated data in each internal memory as a converted bit string. 6) (corresponding to step S105 in FIG. 3), and an exclusive OR of the calculated key sequence and plaintext. A program is proposed for causing a computer to execute a seventh step (for example, corresponding to step S106 in FIG. 3) that performs computation and outputs a ciphertext.

この発明によれば、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する。次いで、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する。そして、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納するとともに、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納し、更新された各内部メモリのデータを変換されたビット列として出力する。さらに、変換されたビット列から鍵系列を演算し、演算された鍵系列と平文との排他的論理和演算を行って、暗号文を出力する。したがって、上記によれば、安全かつ高速に平文を暗号文に暗号化することができる。   According to this invention, the bit data of the random number sequence and the first internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to nonlinear processing and stored in the second internal memory. Next, the bit data of the random number sequence and the third internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to non-linear processing and stored in the fourth internal memory. The second internal memory data is subjected to nonlinear processing and stored in the third internal memory, and the fourth internal memory data is subjected to nonlinear processing and stored in the first internal memory. Outputs memory data as a converted bit string. Further, a key sequence is calculated from the converted bit string, an exclusive OR operation is performed on the calculated key sequence and plaintext, and a ciphertext is output. Therefore, according to the above, it is possible to encrypt plaintext into ciphertext safely and at high speed.

(12)本発明は、ストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップ(例えば、図5のステップS201、S202に相当)と、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップ(例えば、図5のステップS201、S202に相当)と、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップ(例えば、図5のステップS203に相当)と、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップ(例えば、図5のステップS203に相当)と、更新された各内部メモリのデータを変換されたビット列として出力する第5のステップ(例えば、図5のステップS204に相当)と、該変換されたビット列から鍵系列を演算する第6のステップ(例えば、図5のステップS205に相当)と、該演算された鍵系列と暗号文との排他的論理和演算を行って、平文を出力する第7のステップ(例えば、図5のステップS206に相当)と、をコンピュータに実行させるためのプログラムを提案している。   (12) The present invention is a program for causing a computer to execute a method of decrypting a stream cipher. The bit data of a random number sequence and first internal memory data are arithmetically added to the arithmetically added bit data. A first step (for example, equivalent to steps S201 and S202 in FIG. 5) that performs non-linear processing and stores the second internal memory, arithmetically adds the bit data of the random number sequence and the third internal memory data, A second step (for example, equivalent to steps S201 and S202 in FIG. 5) that performs non-linear processing on the bit data subjected to arithmetic addition and stores it in the fourth internal memory, and non-linear processing is performed on the second internal memory data. The third step (for example, corresponding to step S203 in FIG. 5) stored in the third internal memory and the fourth internal memory data are subjected to nonlinear processing. A fourth step (for example, corresponding to step S203 in FIG. 5) for storing in the first internal memory, and a fifth step (for example, FIG. 5) for outputting the updated data in each internal memory as a converted bit string. 6) (corresponding to step S205 in FIG. 5), an exclusive logic between the calculated key sequence and the ciphertext, and a sixth step for calculating a key sequence from the converted bit string. A program is proposed for causing a computer to execute a seventh step (for example, corresponding to step S206 in FIG. 5) that performs a sum operation and outputs a plaintext.

この発明によれば、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する。次いで、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する。そして、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納するとともに、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納し、更新された各内部メモリのデータを変換されたビット列として出力する。さらに、変換されたビット列から鍵系列を演算し、演算された鍵系列と暗号文との排他的論理和演算を行って、平文を出力する。したがって、上記によれば、安全かつ高速に暗号文を平文に復号化することができる。   According to this invention, the bit data of the random number sequence and the first internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to nonlinear processing and stored in the second internal memory. Next, the bit data of the random number sequence and the third internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to non-linear processing and stored in the fourth internal memory. The second internal memory data is subjected to nonlinear processing and stored in the third internal memory, and the fourth internal memory data is subjected to nonlinear processing and stored in the first internal memory. Outputs memory data as a converted bit string. Further, a key sequence is calculated from the converted bit string, an exclusive OR operation is performed on the calculated key sequence and the ciphertext, and a plaintext is output. Therefore, according to the above, the ciphertext can be decrypted into plaintext safely and at high speed.

(13)本発明は、MAC生成方法をコンピュータに実行させるためのプログラムであって、周期系列装置から入力した乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップ(例えば、図7のステップS301、S302に相当)と、周期系列装置から入力した乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップ(例えば、図7のステップS301、S302に相当)と、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップ(例えば、図7のステップS303に相当)と、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップ(例えば、図7のステップS303に相当)と、更新された各内部メモリのデータを変換されたビット列として出力する第5のステップ(例えば、図7のステップS304に相当)と、該変換されたビット列から鍵系列を演算する第6のステップ(例えば、図7のステップS305に相当)と、該演算された鍵系列と平文との排他的論理和演算を行って、演算結果を前記周期系列装置にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する第7のステップ(例えば、図7のステップS306、S307、S308に相当)と、をコンピュータに実行させるためのプログラムを提案している。   (13) The present invention is a program for causing a computer to execute a MAC generation method, wherein the random number sequence bit data input from the periodic sequence device and the first internal memory data are arithmetically added and arithmetically added. A first step (for example, equivalent to steps S301 and S302 in FIG. 7) for performing non-linear processing on the bit data and storing it in the second internal memory, a random number sequence bit data input from the periodic sequence device, and a third A second step (for example, corresponding to steps S301 and S302 in FIG. 7), which performs arithmetic addition with the internal memory data, performs nonlinear processing on the bit data subjected to the arithmetic addition, and stores the result in the fourth internal memory; A third step (for example, corresponding to step S303 in FIG. 7) of performing a non-linear process on the internal memory data and storing it in the third internal memory; A fourth step (for example, corresponding to step S303 in FIG. 7) that performs non-linear processing on the internal memory data and stores it in the first internal memory, and outputs the updated data in each internal memory as a converted bit string A fifth step (for example, corresponding to step S304 in FIG. 7), a sixth step (for example, corresponding to step S305 in FIG. 7) for calculating a key sequence from the converted bit string, and the calculated key A seventh step (for example, step S306 in FIG. 7) performs an exclusive OR operation between the sequence and the plaintext, feeds back the operation result to the periodic sequence device, and outputs the final ciphertext as a message authenticator. , Corresponding to S307 and S308), are proposed.

この発明によれば、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する。次いで、乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する。そして、第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納するとともに、第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納し、更新された各内部メモリのデータを変換されたビット列として出力する。さらに、変換されたビット列から鍵系列を演算し、演算された鍵系列と平文との排他的論理和演算を行って、演算結果を周期系列装置にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する。したがって、上記によれば、安全かつ高速にMACを生成することができる。   According to this invention, the bit data of the random number sequence and the first internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to nonlinear processing and stored in the second internal memory. Next, the bit data of the random number sequence and the third internal memory data are arithmetically added, and the bit data subjected to the arithmetic addition is subjected to non-linear processing and stored in the fourth internal memory. The second internal memory data is subjected to nonlinear processing and stored in the third internal memory, and the fourth internal memory data is subjected to nonlinear processing and stored in the first internal memory. Outputs memory data as a converted bit string. Furthermore, the key sequence is calculated from the converted bit sequence, the exclusive OR operation of the calculated key sequence and the plaintext is performed, the calculation result is fed back to the periodic sequence device, and the final ciphertext is authenticated by the message. Output as a child. Therefore, according to the above, the MAC can be generated safely and at high speed.

本発明によれば、複数の内部メモリが少なくとも非線形置換器を介して、環状に接続されているため、これをストリーム暗号装置等に用いた場合には、安全性を相乗的に増加させることができるという効果がある。また、非線形関数器の入力ビット長に対して出力ビット長が長い構成になっているため、これによりストリーム暗号全体の性能を向上させることができるという効果がある。さらに、非線形置換器が予め格納されたデータテーブルに基づいて、非線形置換処理を実行するため、ソフトウェア実装における高速化を実現することができるという効果がある。   According to the present invention, since a plurality of internal memories are connected in a ring shape through at least a non-linear replacer, when this is used in a stream cipher apparatus or the like, safety can be increased synergistically. There is an effect that can be done. Further, since the output bit length is longer than the input bit length of the nonlinear function unit, this has the effect of improving the performance of the entire stream cipher. Furthermore, since the non-linear replacement unit executes the non-linear replacement process based on the data table stored in advance, there is an effect that it is possible to realize high speed in software implementation.

以下、図面を用いて、本発明の実施形態について詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
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の実施形態]
<ストリーム暗号の暗号化装置の構成>
本実施形態に係るストリーム暗号の暗号化装置は、図1に示すように、周期系列生成装置1と、非線形関数部2と、鍵系列生成部3と、排他的論理和演算器(XOR)4とから構成されている。
[First Embodiment]
<Configuration of Stream Cipher Encryption Device>
As shown in FIG. 1, the stream cipher encryption apparatus according to the present embodiment includes a periodic sequence generation device 1, a nonlinear function unit 2, a key sequence generation unit 3, and an exclusive OR calculator (XOR) 4. It consists of and.

周期系列生成装置1は、乱数系列のビット列を生成し、非線形関数部2に供給する。非線形関数部2は、供給された乱数系列のビット列を入力し、変換されたビット列を出力する。なお、構成の詳細については、後述する。鍵系列生成部3は、非線形関数部2が出力した変換されたビット列から鍵系列のビット列を生成する。排他的論理和演算器(XOR)4は、鍵系列生成部3が生成した鍵系列のビット列と平文とを入力し、これらの排他的論理和演算を実行することにより暗号文を出力する。   The periodic sequence generation device 1 generates a bit string of a random number sequence and supplies it to the nonlinear function unit 2. The nonlinear function unit 2 inputs the supplied bit string of the random number sequence, and outputs the converted bit string. Details of the configuration will be described later. The key sequence generation unit 3 generates a bit sequence of the key sequence from the converted bit sequence output from the nonlinear function unit 2. The exclusive OR operator (XOR) 4 inputs the bit string of the key sequence generated by the key sequence generation unit 3 and the plaintext, and outputs the ciphertext by executing these exclusive OR operations.

<非線形関数部の構成>
非線形関数部2は、図2に示すように、複数の内部メモリ11、12、13、14(図中、L1、L2、R1、R2)と、加算器15a、15bと、非線形置換器(sub)16a、16b、16c、16dとから構成されている。本実施形態に係る非線形関数部は、図2に示すように、L2→加算器15a→非線形置換器(sub)16b→R2→非線形置換器(sub)16d→R2→加算器15b→非線形置換器(sub)16c→L1→非線形置換器(sub)16a→L2といった複数の内部メモリ11、12、13、14が非線形置換器(sub)16a、16b、16c、16dを介して、環状に接続されている点に特徴がある。このような構成をとることにより、非線形置換の効果を相乗的に増加させて、暗号化装置等の安全性を向上させることができる。
<Configuration of nonlinear function part>
As shown in FIG. 2, the non-linear function unit 2 includes a plurality of internal memories 11, 12, 13, and 14 (L1, L2, R1, and R2 in the figure), adders 15a and 15b, and a non-linear substituter (sub ) 16a, 16b, 16c, 16d. As shown in FIG. 2, the nonlinear function unit according to the present embodiment includes L 2 → adder 15 a → nonlinear substituter (sub) 16 b → R 2 → nonlinear substituter (sub) 16 d → R 2 → adder 15 b → nonlinear substituter. A plurality of internal memories 11, 12, 13, 14 such as (sub) 16 c → L 1 → nonlinear permuter (sub) 16 a → L 2 are connected in a ring shape via the non-linear permuters (sub) 16 a, 16 b, 16 c, 16 d There is a feature in that. By adopting such a configuration, it is possible to synergistically increase the effect of non-linear replacement and improve the security of the encryption device or the like.

複数の内部メモリ11、12、13、14は、上記のような構成になっているため、隣接する内部メモリのデータを非線形置換器(sub)16a、16b、16c、16dにより非線形置換したデータに更新され、更新されたデータを変換されたビット列として出力する。   Since the plurality of internal memories 11, 12, 13, and 14 are configured as described above, the data in the adjacent internal memories are nonlinearly replaced by the nonlinear replacement units (sub) 16 a, 16 b, 16 c, and 16 d. The updated data is output as a converted bit string.

加算器15a、15bは、上記周期系列生成装置1から出力される乱数系列のビット列と複数の内部メモリ11、12、13、14のうちの一部のメモリに格納されているビット列データとを加算する演算器である。なお、本実施形態では、加算器15a、15bを例示したが、これに代えて排他的論理和演算器(XOR)を用いてもよい。   The adders 15a and 15b add the bit sequence of the random number sequence output from the periodic sequence generation device 1 and the bit sequence data stored in some of the plurality of internal memories 11, 12, 13, and 14. It is a computing unit. In the present embodiment, the adders 15a and 15b are exemplified, but an exclusive OR calculator (XOR) may be used instead.

非線形置換器(sub)16a、16b、16c、16dは、入力するビット列データを非線形置換する。なお、非線形置換器(sub)16a、16b、16c、16dには、図示しない予め所望の関数により演算された結果を入力ビット列データに対応付けて記憶するデータテーブルが備えられている。これにより、ソフトウェア実装における処理の高速化を実現することができる。また、本実施形態の非線形関数部は、図2に示すように、2入力4出力の構成となっている。このように、入力ビット長に対して出力ビット長を大きくすることにより、ストリーム暗号全体の性能を向上させることができる。さらに、加算器15a、15bおよび非線形置換器(sub)16a、16b、16c、16dの入力長、出力長はともに、CPUのワード長(例えば、32bits)となっている。そのため、効率的にソフトウェア実装が可能となる。   The non-linear replacement units (sub) 16a, 16b, 16c, and 16d perform non-linear replacement on input bit string data. The non-linear permuters (sub) 16a, 16b, 16c, and 16d are provided with a data table that stores a result calculated in advance by a desired function in association with input bit string data (not shown). Thereby, high-speed processing in software implementation can be realized. In addition, as shown in FIG. 2, the nonlinear function unit of the present embodiment has a configuration of two inputs and four outputs. Thus, by increasing the output bit length with respect to the input bit length, the performance of the entire stream cipher can be improved. Furthermore, the input lengths and output lengths of the adders 15a and 15b and the nonlinear permuters (sub) 16a, 16b, 16c, and 16d are both the CPU word length (for example, 32 bits). Therefore, efficient software implementation is possible.

なお、図3に示すように、L2→加算器15a→R2→非線形置換器(sub)16d→R2→加算器15b→L1→非線形置換器(sub)16a→L2といった複数の内部メモリ11、12、13、14が非線形置換器(sub)16a、16dと加算器15a、15bを介して、環状に接続されるような構成であってもよい。この場合には、非線形置換器(sub)の個数が少なくなるために、処理速度を向上させることができる利点がある。   As shown in FIG. 3, a plurality of internal memories 11, 12 such as L2 → adder 15a → R2 → nonlinear replacement (sub) 16d → R2 → adder 15b → L1 → nonlinear replacement (sub) 16a → L2 , 13, 14 may be connected in a circular manner via non-linear permuters (sub) 16 a, 16 d and adders 15 a, 15 b. In this case, since the number of non-linear replacement units (sub) is reduced, there is an advantage that the processing speed can be improved.

<ストリーム暗号の暗号化装置の処理>
次に、図4を用いて、ストリーム暗号の暗号化装置の処理について説明する。
まず、周期系列生成装置1から入力されたビット列と、内部メモリL2、R2とを加算器15a、15bにおいて、個別に算術加算処理を行い、その後、非線形置換器(sub)16b、16cにおいて、非線形置換処理を実施する(ステップS101)。そして、内部メモリL2から計算された値は内部メモリR1に、内部メモリR2から計算された値は、内部メモリL1に格納する(ステップS102)。
<Processing of encryption device for stream cipher>
Next, the processing of the stream cipher encryption apparatus will be described with reference to FIG.
First, the bit sequence input from the periodic sequence generation device 1 and the internal memories L2 and R2 are individually subjected to arithmetic addition processing in adders 15a and 15b, and then nonlinearly replaced in nonlinear permuters (sub) 16b and 16c. A replacement process is performed (step S101). The value calculated from the internal memory L2 is stored in the internal memory R1, and the value calculated from the internal memory R2 is stored in the internal memory L1 (step S102).

次に、元々内部メモリL1、R1に格納されていた値については、非線形置換器(sub)16a、16dにおいて、非線形置換を施した後、内部メモリL2、R2へ格納する(ステップS103)。そして、更新された内部メモリR1、R2、L1、L2の情報を変換されたビット列として出力する(ステップS104)。   Next, the values originally stored in the internal memories L1 and R1 are subjected to nonlinear replacement in the nonlinear replacement units (sub) 16a and 16d, and then stored in the internal memories L2 and R2 (step S103). Then, the updated information in the internal memories R1, R2, L1, and L2 is output as a converted bit string (step S104).

さらに、鍵系列生成部3において、出力したビット列から鍵系列のビット列を計算して出力し(ステップS105)、この鍵系列のビット列と平文とを排他的論理和演算器(XOR)4に入力し、排他的論理和演算を行って暗号文として出力する(ステップS106)。   Further, the key sequence generation unit 3 calculates and outputs the bit sequence of the key sequence from the output bit sequence (step S105), and inputs the bit sequence of the key sequence and the plaintext to the exclusive OR calculator (XOR) 4. Then, an exclusive OR operation is performed and output as ciphertext (step S106).

したがって、本実施形態のストリーム暗号の暗号化装置においては、上記の非線形関数部により装置を構成したことから、安全かつ高速な処理を実現することができる。   Therefore, in the stream cipher encryption apparatus according to the present embodiment, the apparatus is configured by the above-described nonlinear function unit, so that safe and high-speed processing can be realized.

[第2の実施形態]
<ストリーム暗号の復号化装置の構成>
本実施形態に係るストリーム暗号の復号化装置は、図5に示すように、周期系列生成装置1と、非線形関数部2と、鍵系列生成部3と、排他的論理和演算器(XOR)5とから構成されている。なお、第1の実施形態と同様の符号を付す要素については、同様の機能を有するものであるから、詳細な説明は省略する。本実施形態に係るストリーム暗号の復号化装置においては、第1の実施形態に係るストリーム暗号の暗号化装置に比べて、排他的論理和演算器(XOR)5が鍵系列生成部3により生成された鍵系列のビット列と暗号文とを入力し、これらの排他的論理和演算を実行することにより平文を出力する構成となっている点で相違している。
[Second Embodiment]
<Configuration of Decryption Device for Stream Cipher>
As shown in FIG. 5, the stream cipher decryption device according to the present embodiment includes a periodic sequence generation device 1, a nonlinear function unit 2, a key sequence generation unit 3, and an exclusive OR calculator (XOR) 5. It consists of and. In addition, about the element which attaches | subjects the code | symbol similar to 1st Embodiment, since it has the same function, detailed description is abbreviate | omitted. In the stream cipher decryption apparatus according to the present embodiment, an exclusive OR calculator (XOR) 5 is generated by the key sequence generation unit 3 as compared with the stream cipher encryption apparatus according to the first embodiment. The key sequence and the ciphertext are inputted, and a plaintext is outputted by executing these exclusive OR operations.

<ストリーム暗号の復号化装置の処理>
次に、図6を用いて、ストリーム暗号の復号化装置の処理について説明する。
まず、周期系列生成装置1から入力されたビット列と、内部メモリL2、R2とを加算器15a、15bにおいて、個別に算術加算処理を行い、その後、非線形置換器(sub)16b、16cにおいて、非線形置換処理を実施する(ステップS201)。そして、内部メモリL2から計算された値は内部メモリR1に、内部メモリR2から計算された値は、内部メモリL1に格納する(ステップS202)。
<Processing of Decryption Device for Stream Cipher>
Next, the processing of the stream cipher decryption apparatus will be described with reference to FIG.
First, the bit sequence input from the periodic sequence generation device 1 and the internal memories L2 and R2 are individually subjected to arithmetic addition processing in adders 15a and 15b, and then nonlinearly replaced in nonlinear permuters (sub) 16b and 16c. A replacement process is performed (step S201). The value calculated from the internal memory L2 is stored in the internal memory R1, and the value calculated from the internal memory R2 is stored in the internal memory L1 (step S202).

次に、元々内部メモリL1、R1に格納されていた値については、非線形置換器(sub)16a、16dにおいて、非線形置換を施した後、内部メモリL2、R2へ格納する(ステップS203)。そして、更新された内部メモリR1、R2、L1、L2の情報を変換されたビット列として出力する(ステップS204)。   Next, the values originally stored in the internal memories L1 and R1 are subjected to nonlinear replacement in the nonlinear replacement units (sub) 16a and 16d, and then stored in the internal memories L2 and R2 (step S203). Then, the updated information in the internal memories R1, R2, L1, and L2 is output as a converted bit string (step S204).

さらに、鍵系列生成部3において、出力したビット列から鍵系列のビット列を計算して出力し(ステップS205)、この鍵系列のビット列と暗号文とを排他的論理和演算器(XOR)5に入力し、排他的論理和演算を行って平文として出力する(ステップS206)。   Further, the key sequence generation unit 3 calculates and outputs a key sequence bit sequence from the output bit sequence (step S205), and inputs the key sequence bit sequence and the ciphertext to the exclusive OR calculator (XOR) 5. Then, an exclusive OR operation is performed and output as plain text (step S206).

したがって、本実施形態のストリーム暗号の復号化装置においては、上記の非線形関数部により装置を構成したことから、安全かつ高速な処理を実現することができる。   Therefore, in the decryption apparatus for stream cipher of the present embodiment, the apparatus is configured by the nonlinear function unit, so that safe and high-speed processing can be realized.

[第3の実施形態]
<MAC生成装置の構成>
本実施形態に係るMAC生成装置は、図7に示すように、周期系列生成装置1と、非線形関数部2と、鍵系列生成部3と、排他的論理和演算器(XOR)4とから構成されている。なお、第1の実施形態と同様の符号を付す要素については、同様の機能を有するものであるから、詳細な説明は省略する。本実施形態に係るMAC生成装置の基本構成は、第1の実施形態に係るストリーム暗号の暗号化装置と同様であるが、排他的論理和演算器(XOR)4から出力される暗号文を周期系列生成装置1にフィードバックする点が異なっている。
[Third Embodiment]
<Configuration of MAC generator>
As shown in FIG. 7, the MAC generation device according to the present embodiment includes a periodic sequence generation device 1, a nonlinear function unit 2, a key sequence generation unit 3, and an exclusive OR calculator (XOR) 4. Has been. In addition, about the element which attaches | subjects the code | symbol similar to 1st Embodiment, since it has the same function, detailed description is abbreviate | omitted. The basic configuration of the MAC generation apparatus according to this embodiment is the same as that of the stream cipher encryption apparatus according to the first embodiment, except that the ciphertext output from the exclusive OR calculator (XOR) 4 is a period. The difference is that feedback is made to the sequence generation device 1.

<MAC生成装置の処理>
次に、図8を用いて、MAC生成装置の処理について説明する。
まず、周期系列生成装置1から入力されたビット列と、内部メモリL2、R2とを加算器15a、15bにおいて、個別に算術加算処理を行い、その後、非線形置換器(sub)16b、16cにおいて、非線形置換処理を実施する(ステップS301)。そして、内部メモリL2から計算された値は内部メモリR1に、内部メモリR2から計算された値は、内部メモリL1に格納する(ステップS302)。
<Process of MAC generator>
Next, processing of the MAC generation device will be described with reference to FIG.
First, the bit sequence input from the periodic sequence generation device 1 and the internal memories L2 and R2 are individually subjected to arithmetic addition processing in adders 15a and 15b, and then nonlinearly replaced in nonlinear permuters (sub) 16b and 16c. A replacement process is performed (step S301). The value calculated from the internal memory L2 is stored in the internal memory R1, and the value calculated from the internal memory R2 is stored in the internal memory L1 (step S302).

次に、元々内部メモリL1、R1に格納されていた値については、非線形置換器(sub)16a、16dにおいて、非線形置換を施した後、内部メモリL2、R2へ格納する(ステップS303)。そして、更新された内部メモリR1、R2、L1、L2の情報を変換されたビット列として出力する(ステップS304)。   Next, the values originally stored in the internal memories L1 and R1 are subjected to nonlinear replacement in the nonlinear replacement units (sub) 16a and 16d, and then stored in the internal memories L2 and R2 (step S303). Then, the updated information in the internal memories R1, R2, L1, and L2 is output as a converted bit string (step S304).

さらに、鍵系列生成部3において出力したビット列から鍵系列のビット列を計算して出力し(ステップS305)、この鍵系列のビット列と平文とを排他的論理和演算器(XOR)4に入力し、排他的論理和演算を行って暗号文として出力し、これを周期系列生成装置1にフィードバックする(ステップS306)。   Further, the bit sequence of the key sequence is calculated and output from the bit sequence output in the key sequence generation unit 3 (step S305), the bit sequence of the key sequence and the plaintext are input to the exclusive OR calculator (XOR) 4, An exclusive OR operation is performed and output as a ciphertext, which is fed back to the periodic sequence generation device 1 (step S306).

そして、すべての平文を入力したか否かを判断し(ステップS307)、すべての平文を入力したと判断したときには(ステップS307の「Yes」)、メッセージ認証子を出力し(ステップS308)、すべての平文を入力していないと判断したときには(ステップS307の「No」)、ステップS301に戻って、処理を続行する。   Then, it is determined whether or not all plaintexts have been input (step S307). When it is determined that all plaintexts have been input (“Yes” in step S307), a message authenticator is output (step S308). When it is determined that no plaintext is input (“No” in step S307), the process returns to step S301 to continue the process.

したがって、本実施形態のMAC生成装置においては、上記の非線形関数部により装置を構成したことから、安全かつ高速な処理を実現することができる。   Therefore, in the MAC generation apparatus according to the present embodiment, the apparatus is configured by the above-described nonlinear function unit, so that safe and high-speed processing can be realized.

なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、MAC生成装置に読み込ませ、実行することによって本発明のストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、MAC生成装置を実現することができる。   The above-described series of processing is recorded as a program on a computer-readable recording medium, and the program recorded on the recording medium is read by a stream cipher encryption device, a stream cipher decryption device, and a MAC generation device, By executing this, the stream cipher encryption apparatus, stream cipher decryption apparatus, and MAC generation apparatus of the present invention can be realized.

また、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。   In addition, if a WWW (World Wide Web) system is used, a homepage providing environment (or display environment) is also included. Further, the program may be transmitted from a computer storing the program in a storage device or the like to another computer 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, what is called a difference file (difference program) may be sufficient.

なお、本発明は、様々なストリーム暗号の評価に広く適用することができる。したがって、ストリーム暗号を使用するようなブロードバンド事業や携帯電話をはじめとするモバイル通信におけるシステム構築に広く利用することが可能である。   Note that the present invention can be widely applied to various stream cipher evaluations. Therefore, it can be widely used for system construction in broadband communication using stream cipher and mobile communication including mobile phones.

以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   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.

第1の実施形態に係るストリーム暗号の暗号化装置の構成を示す図である。It is a figure which shows the structure of the encryption apparatus of the stream encryption which concerns on 1st Embodiment. 第1の実施形態に係る非線形関数部の構成を示す図である。It is a figure which shows the structure of the nonlinear function part which concerns on 1st Embodiment. 第1の実施形態に係る非線形関数部の構成を示す変形例である。It is a modification which shows the structure of the nonlinear function part which concerns on 1st Embodiment. 第1の実施形態に係るストリーム暗号の暗号化装置の処理フローである。It is a processing flow of the encryption apparatus of the stream encryption which concerns on 1st Embodiment. 第2の実施形態に係るストリーム暗号の復号化装置の構成を示す図である。It is a figure which shows the structure of the decoding apparatus of the stream encryption which concerns on 2nd Embodiment. 第2の実施形態に係るストリーム暗号の復号化装置の処理フローである。It is a processing flow of the decryption apparatus of the stream encryption which concerns on 2nd Embodiment. 第3の実施形態に係るMAC生成装置の構成を示す図である。It is a figure which shows the structure of the MAC production | generation apparatus which concerns on 3rd Embodiment. 第3の実施形態に係るMAC生成装置の処理フローである。It is a processing flow of the MAC production | generation apparatus which concerns on 3rd Embodiment.

符号の説明Explanation of symbols

1・・・周期系列生成装置
2・・・非線形関数部
3・・・鍵系列生成部
4、5・・・XOR
11、12、13、14・・・内部メモリ(L1、L2、R1、R2)
15a、15b・・・加算器
16a、16b、16c、16d・・・非線形置換器(sub)
DESCRIPTION OF SYMBOLS 1 ... Periodic sequence production | generation apparatus 2 ... Nonlinear function part 3 ... Key sequence production | generation part 4, 5 ... XOR
11, 12, 13, 14... Internal memory (L1, L2, R1, R2)
15a, 15b ... adders 16a, 16b, 16c, 16d ... non-linear replacement (sub)

Claims (13)

乱数系列のビットデータを周期系列生成装置から入力し、変換されたビットデータを複数の内部メモリからそれぞれ鍵系列生成器に出力する非線形関数器であって、
前記周期系列生成装置から入力した乱数系列のビットデータと前記複数の内部メモリのうち一の内部メモリに記憶されているデータとを演算する演算器と、
前記演算器による演算後のデータ又は前記複数の内部メモリのうち一の内部メモリに記憶されているデータを読み出して非線形置換し、当該非線形置換後のデータを前記演算器又は他の非線形置換器の入力データとして前記複数の内部メモリのうち一の内部メモリに入力する複数の非線形置換器と、
を備え、
前記複数の内部メモリは、前記複数の非線形置換器を介して、環状に接続されていることを特徴とする非線形関数器。
A nonlinear function unit that inputs bit data of a random number sequence from a periodic sequence generation device and outputs the converted bit data from a plurality of internal memories to a key sequence generator ,
An arithmetic unit that calculates bit data of a random number sequence input from the periodic sequence generation device and data stored in one internal memory of the plurality of internal memories;
Data after computation by the computing unit or data stored in one internal memory of the plurality of internal memories is read out and nonlinearly replaced, and the data after the nonlinear replacement is stored in the computing unit or other nonlinear replacing unit A plurality of non-linear substituters that input as input data to one of the plurality of internal memories ;
With
The non-linear function unit, wherein the plurality of internal memories are connected in a ring shape via the plurality of non-linear substituters.
乱数系列のビットデータを周期系列生成装置から入力し、変換されたビットデータを複数の内部メモリからそれぞれ鍵系列生成器に出力する非線形関数器であって、
前記周期系列生成装置から入力した乱数系列のビットデータと前記複数の内部メモリのうち一の内部メモリに記憶されているデータとを演算する複数の演算器と、
前記演算器による演算後のデータ又は前記複数の内部メモリのうち一の内部メモリに記憶されているデータを読み出して非線形置換し、当該非線形置換後のデータを前記演算器又は他の非線形置換器の入力データとして前記複数の内部メモリのうち一の内部メモリに入力する複数の非線形置換器と、
を備え、
前記複数の内部メモリが前記複数の非線形置換器および前記複数の演算器を介して、環状に接続されていることを特徴とする非線形関数器。
A nonlinear function unit that inputs bit data of a random number sequence from a periodic sequence generation device and outputs the converted bit data from a plurality of internal memories to a key sequence generator ,
A plurality of arithmetic units for calculating bit data of a random number sequence input from the periodic sequence generation device and data stored in one internal memory among the plurality of internal memories;
Data after computation by the computing unit or data stored in one internal memory of the plurality of internal memories is read out and nonlinearly replaced, and the data after the nonlinear replacement is stored in the computing unit or other nonlinear replacing unit A plurality of non-linear substituters that input as input data to one of the plurality of internal memories ;
With
The non-linear function unit, wherein the plurality of internal memories are connected in a ring through the plurality of non-linear substituters and the plurality of arithmetic units.
前記乱数系列のビットデータのビット長が前記複数の内部メモリから出力される前記変換されたビットデータのビット長よりも長いことを特徴とする請求項1又は請求項2に記載の非線形関数器。   3. The nonlinear function device according to claim 1, wherein a bit length of the bit data of the random number series is longer than a bit length of the converted bit data output from the plurality of internal memories. 前記非線形置換器が予め格納されたデータテーブルに基づいて、非線形置換処理を実行することを特徴とする請求項1から請求項3のいずれかに記載の非線形関数器。   4. The nonlinear function device according to claim 1, wherein the nonlinear replacement device performs nonlinear replacement processing based on a data table stored in advance. 前記請求項1から請求項4のいずれかに記載の非線形関数器と、
前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、
前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、
該鍵系列データ生成手段において生成された鍵系列のビットデータと平文との排他的論理和演算を行って、暗号文を出力する排他的論理和演算手段と、
を備えたことを特徴とするストリーム暗号の暗号化装置。
The nonlinear function device according to any one of claims 1 to 4,
Random number sequence data generating means for generating bit data of a random number sequence to be input to the nonlinear function unit;
Key sequence data generation means for generating bit sequence bit data from the converted bit data output from the nonlinear function unit;
An exclusive OR operation unit that performs an exclusive OR operation between the bit data of the key sequence generated by the key sequence data generation unit and the plaintext, and outputs a ciphertext;
A stream cipher encryption apparatus comprising:
前記請求項1から請求項4のいずれかに記載の非線形関数器と、
前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、
前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、
該鍵系列データ生成手段において生成された鍵系列のビットデータと暗号文との排他的論理和演算を行って、平文を出力する排他的論理和演算手段と、
を備えたことを特徴とするストリーム暗号の復号化装置。
The nonlinear function device according to any one of claims 1 to 4,
Random number sequence data generating means for generating bit data of a random number sequence to be input to the nonlinear function unit;
Key sequence data generation means for generating bit sequence bit data from the converted bit data output from the nonlinear function unit;
An exclusive OR operation means for performing an exclusive OR operation between the bit data of the key sequence generated in the key sequence data generation means and the ciphertext, and outputting a plaintext;
An apparatus for decrypting a stream cipher, comprising:
前記請求項1から請求項4のいずれかに記載の非線形関数器と、
前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、
前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、
該鍵系列データ生成手段において生成された鍵系列のビットデータと平文との排他的論理和演算を行って、演算結果を前記乱数系列データ生成手段にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する排他的論理和演算手段と、
を備えたことを特徴とするMAC生成装置。
The nonlinear function device according to any one of claims 1 to 4,
Random number sequence data generating means for generating bit data of a random number sequence to be input to the nonlinear function unit;
Key sequence data generation means for generating bit sequence bit data from the converted bit data output from the nonlinear function unit;
Performs an exclusive OR operation between the bit data of the key sequence generated by the key sequence data generation means and the plaintext, feeds back the operation result to the random number sequence data generation means, and authenticates the final ciphertext by message authentication. An exclusive OR operation means for outputting as a child;
A MAC generation device comprising:
乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第3の内部メモリに格納する第1のステップと、
乱数系列のビットデータと第2の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップと、
第3の内部メモリデータに非線形処理を施して第2の内部メモリに格納する第3のステップと、
第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップと、
更新された各内部メモリのデータを変換されたビット列として出力する第5のステップと、
該変換されたビット列から鍵系列を演算する第6のステップと、
該演算された鍵系列と平文との排他的論理和演算を行って、暗号文を出力する第7のステップと、
を備えたことを特徴とするストリーム暗号の暗号化方法。
A first step of performing arithmetic addition of the bit data of the random number sequence and the first internal memory data, performing non-linear processing on the bit data subjected to the arithmetic addition, and storing the result in the third internal memory;
A second step of arithmetically adding the bit data of the random number sequence and the second internal memory data, performing non-linear processing on the bit data subjected to the arithmetic addition, and storing the result in the fourth internal memory;
A third step of performing non-linear processing on the third internal memory data and storing it in the second internal memory;
A fourth step of performing non-linear processing on the fourth internal memory data and storing it in the first internal memory;
A fifth step of outputting the updated data in each internal memory as a converted bit string;
A sixth step of calculating a key sequence from the converted bit string;
A seventh step of performing an exclusive OR operation between the calculated key sequence and the plaintext, and outputting a ciphertext;
A stream cipher encryption method characterized by comprising:
乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップと、
乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップと、
第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップと、
第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップと、
更新された各内部メモリのデータを変換されたビット列として出力する第5のステップと、
該変換されたビット列から鍵系列を演算する第6のステップと、
該演算された鍵系列と暗号文との排他的論理和演算を行って、平文を出力する第7のステップと、
を備えたことを特徴とするストリーム暗号の復号化方法。
A first step of performing arithmetic addition of the bit data of the random number sequence and the first internal memory data, performing non-linear processing on the bit data subjected to the arithmetic addition, and storing the result in the second internal memory;
A second step of arithmetically adding the bit data of the random number sequence and the third internal memory data, performing non-linear processing on the bit data subjected to the arithmetic addition, and storing it in the fourth internal memory;
A third step of performing non-linear processing on the second internal memory data and storing in the third internal memory;
A fourth step of performing non-linear processing on the fourth internal memory data and storing it in the first internal memory;
A fifth step of outputting the updated data in each internal memory as a converted bit string;
A sixth step of calculating a key sequence from the converted bit string;
A seventh step of performing an exclusive OR operation between the calculated key sequence and the ciphertext and outputting a plaintext;
A method of decrypting a stream cipher, comprising:
周期系列装置から入力した乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップと、
周期系列装置から入力した乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップと、
第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップと、
第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップと、
更新された各内部メモリのデータを変換されたビット列として出力する第5のステップと、
該変換されたビット列から鍵系列を演算する第6のステップと、
該演算された鍵系列と平文との排他的論理和演算を行って、演算結果を前記周期系列装置にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する第7のステップと、
を備えたことを特徴とするMAC生成方法。
A first step of performing arithmetic addition on the bit data of the random number sequence input from the periodic sequence device and the first internal memory data, performing non-linear processing on the bit data subjected to arithmetic addition, and storing the bit data in the second internal memory;
A second step of performing arithmetic addition of the bit data of the random number sequence input from the periodic sequence device and the third internal memory data, subjecting the bit data subjected to arithmetic addition to nonlinear processing, and storing the result in the fourth internal memory;
A third step of performing non-linear processing on the second internal memory data and storing in the third internal memory;
A fourth step of performing non-linear processing on the fourth internal memory data and storing it in the first internal memory;
A fifth step of outputting the updated data in each internal memory as a converted bit string;
A sixth step of calculating a key sequence from the converted bit string;
A seventh step of performing an exclusive OR operation between the calculated key sequence and the plaintext, feeding back the operation result to the periodic sequence device, and outputting a final ciphertext as a message authenticator;
A MAC generation method comprising:
ストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップと、
乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップと、
第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップと、
第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップと、
更新された各内部メモリのデータを変換されたビット列として出力する第5のステップと、
該変換されたビット列から鍵系列を演算する第6のステップと、
該演算された鍵系列と平文との排他的論理和演算を行って、暗号文を出力する第7のステップと、
をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute an encryption method of a stream cipher, wherein the bit data of the random number sequence and the first internal memory data are arithmetically added, and non-linear processing is performed on the bit data that has been arithmetically added. A first step of storing in the internal memory of
A second step of arithmetically adding the bit data of the random number sequence and the third internal memory data, performing non-linear processing on the bit data subjected to the arithmetic addition, and storing it in the fourth internal memory;
A third step of performing non-linear processing on the second internal memory data and storing in the third internal memory;
A fourth step of performing non-linear processing on the fourth internal memory data and storing it in the first internal memory;
A fifth step of outputting the updated data in each internal memory as a converted bit string;
A sixth step of calculating a key sequence from the converted bit string;
A seventh step of performing an exclusive OR operation between the calculated key sequence and the plaintext, and outputting a ciphertext;
A program that causes a computer to execute.
ストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、
乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップと、
乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップと、
第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップと、
第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップと、
更新された各内部メモリのデータを変換されたビット列として出力する第5のステップと、
該変換されたビット列から鍵系列を演算する第6のステップと、
該演算された鍵系列と暗号文との排他的論理和演算を行って、平文を出力する第7のステップと、
をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute a stream cipher decryption method,
A first step of performing arithmetic addition of the bit data of the random number sequence and the first internal memory data, performing non-linear processing on the bit data subjected to the arithmetic addition, and storing the result in the second internal memory;
A second step of arithmetically adding the bit data of the random number sequence and the third internal memory data, performing non-linear processing on the bit data subjected to the arithmetic addition, and storing it in the fourth internal memory;
A third step of performing non-linear processing on the second internal memory data and storing in the third internal memory;
A fourth step of performing non-linear processing on the fourth internal memory data and storing it in the first internal memory;
A fifth step of outputting the updated data in each internal memory as a converted bit string;
A sixth step of calculating a key sequence from the converted bit string;
A seventh step of performing an exclusive OR operation between the calculated key sequence and the ciphertext and outputting a plaintext;
A program that causes a computer to execute.
MAC生成方法をコンピュータに実行させるためのプログラムであって、
周期系列装置から入力した乱数系列のビットデータと第1の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第2の内部メモリに格納する第1のステップと、
周期系列装置から入力した乱数系列のビットデータと第3の内部メモリデータとを算術加算し、算術加算されたビットデータに非線形処理を施して第4の内部メモリに格納する第2のステップと、
第2の内部メモリデータに非線形処理を施して第3の内部メモリに格納する第3のステップと、
第4の内部メモリデータに非線形処理を施して第1の内部メモリに格納する第4のステップと、
更新された各内部メモリのデータを変換されたビット列として出力する第5のステップと、
該変換されたビット列から鍵系列を演算する第6のステップと、
該演算された鍵系列と平文との排他的論理和演算を行って、演算結果を前記周期系列装置にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する第7のステップと、
をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute a MAC generation method,
A first step of performing arithmetic addition on the bit data of the random number sequence input from the periodic sequence device and the first internal memory data, performing non-linear processing on the bit data subjected to arithmetic addition, and storing the bit data in the second internal memory;
A second step of performing arithmetic addition of the bit data of the random number sequence input from the periodic sequence device and the third internal memory data, subjecting the bit data subjected to arithmetic addition to nonlinear processing, and storing the result in the fourth internal memory;
A third step of performing non-linear processing on the second internal memory data and storing in the third internal memory;
A fourth step of performing non-linear processing on the fourth internal memory data and storing it in the first internal memory;
A fifth step of outputting the updated data in each internal memory as a converted bit string;
A sixth step of calculating a key sequence from the converted bit string;
A seventh step of performing an exclusive OR operation between the calculated key sequence and the plaintext, feeding back the operation result to the periodic sequence device, and outputting a final ciphertext as a message authenticator;
A program that causes a computer to execute.
JP2006327982A 2006-12-05 2006-12-05 Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program Active JP4938430B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006327982A JP4938430B2 (en) 2006-12-05 2006-12-05 Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006327982A JP4938430B2 (en) 2006-12-05 2006-12-05 Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program

Publications (2)

Publication Number Publication Date
JP2008139742A JP2008139742A (en) 2008-06-19
JP4938430B2 true JP4938430B2 (en) 2012-05-23

Family

ID=39601254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006327982A Active JP4938430B2 (en) 2006-12-05 2006-12-05 Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program

Country Status (1)

Country Link
JP (1) JP4938430B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100128870A1 (en) * 2007-03-27 2010-05-27 Yukiyasu Tsunoo Pseudo-random number generation device, program, and method for stream encoding
JP5096794B2 (en) * 2007-05-17 2012-12-12 Kddi株式会社 Stream cipher encryption device, stream cipher decryption device, self-synchronization stream cipher encryption device, self-synchronization stream cipher decryption device, stream cipher encryption method, self-synchronization stream cipher encryption method And programs
KR102564618B1 (en) * 2022-04-21 2023-08-08 주식회사 네오패드 Encryption system and method using media content file of sender or receiver

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804354B1 (en) * 1999-12-02 2004-10-12 Honeywell International Inc. Cryptographic isolator using multiplication
JP2005309148A (en) * 2004-04-22 2005-11-04 Hitachi Ltd Data converter and the data conversion method

Also Published As

Publication number Publication date
JP2008139742A (en) 2008-06-19

Similar Documents

Publication Publication Date Title
US7978851B2 (en) Keystream encryption device, method, and program
US9189425B2 (en) Protecting look up tables by mixing code and operations
KR20100069610A (en) Methods and devices for a chained encryption mode
WO2011105367A1 (en) Block encryption device, block decryption device, block encryption method, block decryption method and program
WO2021129470A1 (en) Polynomial-based system and method for fully homomorphic encryption of binary data
JP2017187724A (en) Encryption device, encryption method, decryption device, and decryption method
Prajwal et al. User defined encryption procedure for IDEA algorithm
JP4938430B2 (en) Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program
JP2012039180A (en) Encryptor of stream encryption, decoder of stream encryption, encrypting method of stream encryption, decoding method of stream encryption, and program
JP5415020B2 (en) Stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program
JP5431191B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
Saudagar et al. Image encryption based on advanced encryption standard (aes)
JP5489696B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP5084224B2 (en) Self-synchronous stream cipher encryption apparatus, decryption apparatus, self-synchronous stream cipher system, MAC generation apparatus, encryption method, decryption method, MAC generation method, and program
JP2010256749A (en) Device and method for generating hash value, and program
JP4819576B2 (en) Self-synchronous stream cipher encryption apparatus, decryption apparatus, self-synchronous stream cipher system, MAC generation apparatus, encryption method, decryption method, MAC generation method, and program
JP5801095B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP2011119985A (en) Encryption and decryption method
JP5559011B2 (en) Stream cipher encryption apparatus, stream cipher encryption method and program
JP5706751B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP5726394B2 (en) Nonlinear function unit, encryption device for stream cipher, decryption device, MAC generation device
JP5431190B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
JP2009037095A (en) Data scrambling apparatus, data descrambling apparatus, data scrambling method, data descrambling method and program
CN113572593B (en) Complex format parameter transmission method and device
KR102626974B1 (en) Method and system for protecting secret key of white box cryptography

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120130

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120223

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4938430

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150