Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5084224B2 - 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 - Google Patents
[go: Go Back, main page]

JP5084224B2 - 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 - Google Patents

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 Download PDF

Info

Publication number
JP5084224B2
JP5084224B2 JP2006287481A JP2006287481A JP5084224B2 JP 5084224 B2 JP5084224 B2 JP 5084224B2 JP 2006287481 A JP2006287481 A JP 2006287481A JP 2006287481 A JP2006287481 A JP 2006287481A JP 5084224 B2 JP5084224 B2 JP 5084224B2
Authority
JP
Japan
Prior art keywords
random number
number sequence
input
function
inputting
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.)
Expired - Fee Related
Application number
JP2006287481A
Other languages
Japanese (ja)
Other versions
JP2008109190A (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 JP2006287481A priority Critical patent/JP5084224B2/en
Publication of JP2008109190A publication Critical patent/JP2008109190A/en
Application granted granted Critical
Publication of JP5084224B2 publication Critical patent/JP5084224B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、MAC生成装置、暗号化方法、復号化方法、MAC生成方法およびプログラムに関する。   The present invention relates to a 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.

近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、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

しかし、従来の方法では、自動的に同期を回復できるものの、処理単位が1ビットずつであったために、処理に時間がかかるといった問題があった。そこで、本発明は、上述の課題に鑑みてなされたものであり、自動的な同期回復処理を高速に実行することができる自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、MAC生成装置、暗号化方法、復号化方法、MAC生成方法およびプログラムを提供することを目的とする。   However, although the conventional method can automatically recover the synchronization, since the processing unit is 1 bit at a time, there is a problem that the processing takes time. Accordingly, the present invention has been made in view of the above-described problems, and is a self-synchronous stream cipher encryption device, a decryption device, and a self-synchronous stream that can execute automatic synchronization recovery processing at high speed. An object is to provide an encryption system, a MAC generation device, an encryption method, a decryption method, a MAC generation method, and a program.

本発明は、上記の課題を解決するために、以下の事項を提案している。
(1)本発明は、平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックする自己同期型ストリーム暗号の暗号化装置であって、前記暗号文を入力し、入力した暗号文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う複数個からなる第1の非線形置換関数(例えば、図1のS関数1aから1hに相当)と、該複数の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する圧縮関数(例えば、図1のF関数2に相当)と、複数個の第2の非線形置換関数(例えば、図1のS関数4a、4b・・・に相当)を介して接続され、前記圧縮関数の出力を格納する複数のレジスタ(例えば、図1のレジスタR1、R2、・・・、R16に相当)と、該複数のレジスタからの出力値を入力し、乱数列を生成する乱数列生成関数(例えば、図1のG関数5に相当)と、入力した前記平文と前記乱数列生成関数が生成した乱数列との排他的論理和演算を行って暗号文を生成する排他的論理和演算手段(例えば、図1のXOR6に相当)と、を備え、前記圧縮関数が、前記複数個からなる第1の非線形置換関数から入力した値の排他的論理和演算を行うことにより、圧縮処理を行う自己同期型ストリーム暗号の暗号化装置を提案している。
The present invention proposes the following matters in order to solve the above problems.
(1) The present invention is a self-synchronous stream cipher encryption device that inputs plaintext, outputs ciphertext, and feeds back the ciphertext to the input. A plurality of first non-linear replacement functions (e.g., corresponding to S functions 1a to 1h in FIG. 1) and a plurality of non-linear replacements that perform an exclusive OR operation on a sentence and perform non-linear transformation processing The output of the function is input, compression processing is performed, and a compression function that outputs one compression result (for example, equivalent to the F function 2 in FIG. 1) and a plurality of second nonlinear replacement functions (for example, in FIG. 1) A plurality of registers (for example, corresponding to the registers R1, R2,..., R16 in FIG. 1) connected via the S functions 4a, 4b,. Input output values from multiple registers, A ciphertext is obtained by performing an exclusive OR operation between a random number sequence generation function (for example, equivalent to G function 5 in FIG. 1) for generating a number sequence and the input plaintext and the random number sequence generated by the random number sequence generation function. Generating an exclusive OR operation means (e.g., corresponding to XOR6 in FIG. 1), and the compression function performs an exclusive OR operation on the values input from the plurality of first non-linear replacement functions. By doing so, a self-synchronous stream cipher encryption device that performs compression processing is proposed.

この発明によれば、複数個からなる第1の非線形置換関数が暗号文を入力し、入力した暗号文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う。圧縮関数は、複数個からなる第1の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する。複数のレジスタは、複数個の第2の非線形置換関数を介して接続され、圧縮関数の出力を格納する。そして、乱数列生成関数は、複数のレジスタからの出力値を入力し、乱数列を生成し、排他的論理和演算手段が、入力した平文と乱数列生成関数が生成した乱数列との排他的論理和演算を行って暗号文を生成する。   According to the present invention, a plurality of first nonlinear replacement functions input a ciphertext, perform an exclusive OR operation on the input ciphertext, and perform a nonlinear transformation process. The compression function receives the output of a plurality of first nonlinear replacement functions, performs compression processing, and outputs a compression result of 1. The plurality of registers are connected via a plurality of second non-linear replacement functions and store the output of the compression function. Then, the random number sequence generation function inputs output values from a plurality of registers, generates a random number sequence, and the exclusive OR operation means exclusively outputs the input plaintext and the random number sequence generated by the random number sequence generation function. A ciphertext is generated by performing an OR operation.

したがって、生成した暗号文を入力側にフィードバックする構成となっているため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、装置構成を簡略化したことから、処理の高速化を図ることができる。さらに、非線形置換関数を入力側に複数配置するとともに、圧縮関数が、複数の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力することから、特に、処理負荷の重い非線形関数処理を最小限に抑えることにより、処理の高速化を図ることができる。
また、この発明によれば、圧縮関数が、複数個からなる第1の非線形置換関数から入力した値の排他的論理和演算を行うことにより、圧縮処理を行うことから、その後の演算を効率化して、計算負荷を低減することができる。
Therefore, since the generated ciphertext is fed back to the input side, the synchronization can be automatically recovered even if the synchronization is disturbed. Further, since the apparatus configuration is simplified, the processing speed can be increased. In addition, a plurality of nonlinear replacement functions are arranged on the input side, and the compression function inputs the outputs of the plurality of nonlinear replacement functions, performs compression processing, and outputs one compression result. By minimizing the non-linear function processing, the processing speed can be increased.
In addition, according to the present invention, since the compression function performs the compression process by performing an exclusive OR operation on the values input from the plurality of first nonlinear replacement functions, the subsequent operation is made more efficient. Thus, the calculation load can be reduced.

)本発明は、(1)の自己同期型ストリーム暗号の暗号化装置について、前記乱数列生成関数が、前記複数のレジスタからの出力値のビット数を拡大関数により拡大した後、該拡大したすべての値に対して、排他的論理和演算を行って、乱数列を生成することを特徴とする自己同期型ストリーム暗号の暗号化装置を提案している。 ( 2 ) The present invention relates to the self-synchronous stream cipher encryption device according to (1 ) , wherein the random number sequence generation function expands the number of bits of the output value from the plurality of registers by an expansion function, A self-synchronous stream cipher encryption device is characterized in that a random number sequence is generated by performing an exclusive OR operation on all the values.

この発明によれば、乱数列生成関数が、複数のレジスタからの出力値のビット数を拡大関数により拡大した後、拡大したすべての値に対して、排他的論理和演算を行って、乱数列を生成することから、各入力要素が出力に対して均等に影響を及ぼすようになるため、安全性の向上を図ることができる。   According to the present invention, the random number sequence generation function performs the exclusive OR operation on all the expanded values after expanding the number of bits of the output values from the plurality of registers by the expansion function, and the random number sequence Since each input element influences the output equally, the safety can be improved.

)本発明は、暗号文を入力し、平文を出力する自己同期型ストリーム暗号の復号化装置であって、前記平文を入力し、入力した平文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う複数個からなる第1の非線形置換関数(例えば、図4のS関数7aから7hに相当)と、該複数個からなる第1の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する圧縮関数(例えば、図4のF関数2に相当)と、複数個の第2の非線形置換関数(例えば、図4のS関数4a、4b・・・に相当)を介して接続され、前記圧縮関数の出力を格納する複数のレジスタ(例えば、図4のレジスタR1、R2、・・・、R16に相当)と、該複数のレジスタからの出力値を入力し、乱数列を生成する乱数列生成関数(例えば、図1のG関数5に相当)と、入力した前記暗号文と前記乱数列生成関数が生成した乱数列との排他的論理和演算を行って平文を生成する排他的論理和演算手段(例えば、図1のXOR6に相当)と、を備え、前記圧縮関数が、前記複数個からなる第1の非線形置換関数から入力した値の排他的論理和演算を行うことにより、圧縮処理を行う自己同期型ストリーム暗号の復号化装置を提案している。 ( 3 ) The present invention is a self-synchronous stream cipher decryption device that inputs ciphertext and outputs plaintext, and inputs the plaintext and performs an exclusive OR operation on the input plaintext. A plurality of first nonlinear permutation functions (for example, corresponding to S functions 7a to 7h in FIG. 4) and a plurality of first nonlinear permutation functions output for performing nonlinear transformation processing; A compression function that performs compression processing and outputs a compression result of 1 (for example, equivalent to F function 2 in FIG. 4) and a plurality of second nonlinear replacement functions (for example, S functions 4a, 4b,. And a plurality of registers (e.g., corresponding to the registers R1, R2,..., R16 in FIG. 4) connected to the output of the compression function, and output values from the plurality of registers To generate a random number sequence, a random number sequence generation function ( For example, an exclusive OR operation means for generating a plaintext by performing an exclusive OR operation between the input ciphertext and the random number sequence generated by the random number sequence generation function (corresponding to G function 5 in FIG. 1). For example, the compression function performs a compression process by performing an exclusive OR operation on values input from the plurality of first nonlinear replacement functions. A decryption apparatus for synchronous stream cipher is proposed.

この発明によれば、複数個からなる第1の非線形置換関数が暗号文を入力し、入力した暗号文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う。圧縮関数は、複数個からなる第1の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する。複数のレジスタは、複数個の第2の非線形置換関数を介して接続され、圧縮関数の出力を格納する。そして、乱数列生成関数は、複数のレジスタからの出力値を入力し、乱数列を生成し、排他的論理和演算手段が、入力した暗号文と乱数列生成関数が生成した乱数列との排他的論理和演算を行って平文を生成する。   According to the present invention, a plurality of first nonlinear replacement functions input a ciphertext, perform an exclusive OR operation on the input ciphertext, and perform a nonlinear transformation process. The compression function receives the output of a plurality of first nonlinear replacement functions, performs compression processing, and outputs a compression result of 1. The plurality of registers are connected via a plurality of second non-linear replacement functions and store the output of the compression function. The random number sequence generation function inputs output values from a plurality of registers, generates a random number sequence, and the exclusive OR operation means excludes the input ciphertext from the random number sequence generated by the random number sequence generation function. A plain text is generated by performing a logical OR operation.

したがって、仮に同期が乱れた場合であっても、暗号化装置から入力した暗号文により、すべての第1の非線形置換関数が満たされれば、以降、自動的に、同期を回復することができる。また、装置構成を簡略化したことから、処理の高速化を図ることができる。さらに、非線形置換関数を入力側に複数配置するとともに、圧縮関数が、複数の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力することから、特に、処理負荷の重い非線形関数処理を最小限に抑えることにより、処理の高速化を図ることができる。   Therefore, even if the synchronization is disturbed, the synchronization can be automatically recovered thereafter if all the first nonlinear replacement functions are satisfied by the ciphertext input from the encryption device. Further, since the apparatus configuration is simplified, the processing speed can be increased. In addition, a plurality of nonlinear replacement functions are arranged on the input side, and the compression function inputs the outputs of the plurality of nonlinear replacement functions, performs compression processing, and outputs one compression result. By minimizing the non-linear function processing, the processing speed can be increased.

)本発明は、()の自己同期型ストリーム暗号の暗号化装置について、前記乱数列生成関数が、前記複数のレジスタからの出力値のビット数を拡大関数により拡大した後、該拡大したすべての値に対して、排他的論理和演算を行って、乱数列を生成することを特徴とする自己同期型ストリーム暗号の暗号化装置を提案している。 ( 4 ) The present invention relates to the self-synchronous stream cipher encryption device of ( 3 ), wherein the random number sequence generation function expands the number of bits of the output values from the plurality of registers by an expansion function, A self-synchronous stream cipher encryption device is characterized in that a random number sequence is generated by performing an exclusive OR operation on all the values.

この発明によれば、乱数列生成関数が、複数のレジスタからの出力値のビット数を拡大関数により拡大した後、拡大したすべての値に対して、排他的論理和演算を行って、乱数列を生成することから、各入力要素が出力に対して均等に影響を及ぼすようになるため、安全性の向上を図ることができる。   According to the present invention, the random number sequence generation function performs the exclusive OR operation on all the expanded values after expanding the number of bits of the output values from the plurality of registers by the expansion function, and the random number sequence Since each input element influences the output equally, the safety can be improved.

)本発明は、前記(1)または)記載の自己同期型ストリーム暗号の暗号化装置と前記(または)記載の自己同期型ストリーム暗号の復号化装置とを備えて構成されることを特徴とする自己同期型ストリーム暗号システムを提案している。 ( 5 ) The present invention includes the self-synchronous stream cipher encryption device according to (1) or ( 2 ) and the self-synchronous stream cipher decryption device according to ( 3 ) or ( 4 ). A self-synchronous stream cipher system characterized by being configured is proposed.

この発明によれば、(1)から(3)のいずれかに記載の自己同期型ストリーム暗号の暗号化装置と(4)から(6)のいずれかに記載の自己同期型ストリーム暗号の復号化装置とを組み合わせることにより、同期を自動的に回復することができる自己同期型ストリーム暗号システムを構築することができる。   According to this invention, the self-synchronous stream cipher encryption device according to any one of (1) to (3) and the self-synchronous stream cipher decryption according to any of (4) to (6) By combining with an apparatus, a self-synchronous stream cipher system that can automatically recover synchronization can be constructed.

)本発明は、平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックして最終的な暗号文をメッセージ認証子として出力するMAC生成装置であって、前記暗号文を入力し、入力した暗号文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う複数個からなる第1の非線形置換関数(例えば、図7のS関数1aから1hに相当)と、該複数個からなる第1の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する圧縮関数(例えば、図7のF関数2に相当)と、複数個の第2の非線形置換関数(例えば、図7のS関数4a、4b・・・に相当)を介して接続され、前記圧縮関数の出力を格納する複数のレジスタ(例えば、図7のレジスタR1、R2、・・・、R16に相当)と、該複数のレジスタからの出力値を入力し、乱数列を生成する乱数列生成関数(例えば、図1のG関数5に相当)と、入力した前記平文と前記乱数列生成関数が生成した乱数列との排他的論理和演算を行って最終的な暗号文をメッセージ認証子として生成する排他的論理和演算手段(例えば、図7のXOR6に相当)と、を備え、前記圧縮関数が、前記複数個からなる第1の非線形置換関数から入力した値の排他的論理和演算を行うことにより、圧縮処理を行うMAC生成装置を提案している。 ( 6 ) The present invention is a MAC generation device for inputting plaintext, outputting ciphertext, feeding back the ciphertext to input, and outputting a final ciphertext as a message authenticator, the ciphertext And a first non-linear replacement function (for example, corresponding to S functions 1a to 1h in FIG. 7) that performs exclusive OR operation on the input ciphertext and performs non-linear transformation processing. A plurality of first non-linear replacement function outputs, a compression process for performing a compression process, and outputting one compression result (for example, equivalent to F function 2 in FIG. 7), a plurality of A plurality of registers (for example, registers R1, R2 in FIG. 7) connected via a second nonlinear replacement function (for example, corresponding to S functions 4a, 4b,... In FIG. 7) and storing the output of the compression function. , ..., equivalent to R16) A random number generation function (for example, equivalent to the G function 5 in FIG. 1) that inputs output values from the plurality of registers and generates a random number sequence, and the input plaintext and the random number sequence generated by the random number sequence generation function And an exclusive OR operation means (for example, corresponding to XOR6 in FIG. 7) for generating a final ciphertext as a message authenticator by performing an exclusive OR operation with the compression function. A MAC generation apparatus that performs compression processing by performing an exclusive OR operation on values input from a plurality of first nonlinear permutation functions has been proposed.

この発明によれば、複数個からなる第1の非線形置換関数が暗号文を入力し、入力した暗号文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う。圧縮関数は、複数個からなる第1の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する。複数のレジスタは、複数個の第2の非線形置換関数を介して接続され、圧縮関数の出力を格納する。そして、乱数列生成関数は、複数のレジスタからの出力値を入力し、乱数列を生成し、排他的論理和演算手段が、入力した平文と乱数列生成関数が生成した乱数列との排他的論理和演算を行って最終的な暗号文をメッセージ認証子として生成する。   According to the present invention, a plurality of first nonlinear replacement functions input a ciphertext, perform an exclusive OR operation on the input ciphertext, and perform a nonlinear transformation process. The compression function receives the output of a plurality of first nonlinear replacement functions, performs compression processing, and outputs a compression result of 1. The plurality of registers are connected via a plurality of second non-linear replacement functions and store the output of the compression function. Then, the random number sequence generation function inputs output values from a plurality of registers, generates a random number sequence, and the exclusive OR operation means exclusively outputs the input plaintext and the random number sequence generated by the random number sequence generation function. A final ciphertext is generated as a message authenticator by performing an OR operation.

したがって、装置構成を簡略化したことから、処理の高速化を図ることができる。さらに、非線形置換関数を入力側に複数配置するとともに、圧縮関数が、複数の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力することから、特に、処理負荷の重い非線形関数処理を最小限に抑えることにより、処理の高速化を図ることができる。   Therefore, since the apparatus configuration is simplified, the processing speed can be increased. In addition, a plurality of nonlinear replacement functions are arranged on the input side, and the compression function inputs the outputs of the plurality of nonlinear replacement functions, performs compression processing, and outputs one compression result. By minimizing the non-linear function processing, the processing speed can be increased.

)本発明は、(1)または)に記載の自己同期型ストリーム暗号の暗号化装置を用いた自己同期型ストリーム暗号の暗号化方法であって、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップ(例えば、図4のステップS101に相当)と、すべての前記レジスタに0を代入する第2のステップ(例えば、図4のステップS102に相当)と、初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップ(例えば、図4のステップS103に相当)と、すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップ(例えば、図4のステップS104に相当)と、前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップ(例えば、図4のステップS105に相当)と、入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する第6のステップ(例えば、図4のステップS106に相当)と、前記レジスタの値を出力側のレジスタに1つシフトする第7のステップ(例えば、図4のステップS107に相当)と、空になったレジスタに暗号文を入力して、第5のステップに戻る第8のステップ(例えば、図4のステップS108に相当)と、を備えたことを特徴とする自己同期型ストリーム暗号の暗号化方法を提案している。 ( 7 ) The present invention is a self-synchronous stream cipher encryption method using the self-synchronous stream cipher encryption device according to (1) or ( 2 ), wherein a key is input to an extended key generation function Then, a first step (for example, corresponding to step S101 in FIG. 4) for generating an extended key and setting it in each of the first nonlinear permutation functions, and a second step for substituting 0 into all the registers (For example, equivalent to step S102 in FIG. 4) and the third step (for example, in step S103 in FIG. 4), the initial value is input as plaintext, the encryption process is performed once, and the value of the register is updated. Equivalent), a fourth step (for example, equivalent to step S104 in FIG. 4) in which plain text consisting of all zeros is input and the encryption process is executed 32 times, and the value of each of the registers is set to the random number sequence generation function. A fifth step (for example, corresponding to step S105 in FIG. 4) that inputs a number to generate a random number sequence, performs an exclusive OR operation between the input plaintext and the generated random number sequence, and performs an encryption process. A sixth step (for example, corresponding to step S106 in FIG. 4), a seventh step (for example, corresponding to step S107 in FIG. 4) for shifting the value of the register by one to the output-side register, An eighth step (e.g., corresponding to step S108 in FIG. 4) of inputting ciphertext into an empty register and returning to the fifth step, is provided. An encryption method is proposed.

この発明によれば、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、第1の非線形置換関数それぞれにセットし、すべてのレジスタに0を代入する。そして、初期値を平文として入力し、暗号化処理を1回行って、レジスタの値を更新し、さらに、すべて0からなる平文を入力して、暗号化処理を32回実行する初期化処理を行う。次に、レジスタそれぞれの値を乱数列生成関数に入力して乱数列を生成するキーストリーム処理を行い、入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する。そして、レジスタの値を出力側のレジスタに1つシフトし、空になったレジスタに暗号文を入力する内部状態更新処理を実行して、キーストリーム処理に戻る動作を繰り返し行う。したがって、生成した暗号文を入力側にフィードバックするため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。   According to the present invention, a key is input to an extended key generation function, an extended key is generated, set in each of the first nonlinear replacement functions, and 0 is substituted into all registers. Then, the initial value is input as plaintext, the encryption process is performed once, the register value is updated, and the plaintext consisting of all 0s is input, and the initialization process for executing the encryption process 32 times is performed. Do. Next, the key stream processing for generating a random number sequence by inputting the value of each register into the random number sequence generation function is performed, the exclusive OR operation of the input plaintext and the generated random number sequence is performed, and the encryption processing is performed. Run. Then, the value of the register is shifted by one to the output side register, the internal state update process for inputting the ciphertext to the empty register is executed, and the operation returning to the key stream process is repeated. Therefore, since the generated ciphertext is fed back to the input side, the synchronization can be automatically recovered even if the synchronization is disturbed.

)本発明は、(または)に記載の自己同期型ストリーム暗号の復号化装置を用いた自己同期型ストリーム暗号の復号化方法であって、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップ(例えば、図6のステップS201に相当)と、すべての前記レジスタに0を代入する第2のステップ(例えば、図6のステップS202に相当)と、初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップ(例えば、図6のステップS203に相当)と、すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップ(例えば、図6のステップS204に相当)と、前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップ(例えば、図6のステップS205に相当)と、入力した暗号文と生成した乱数列との排他的論理和演算を行って、復号処理を実行する第6のステップ(例えば、図6のステップS206に相当)と、前記レジスタの値を出力側のレジスタに1つシフトする第7のステップ(例えば、図6のステップS207に相当)と、空になったレジスタに暗号文を入力して、第5のステップに戻る第8のステップ(例えば、図6のステップS208に相当)と、を備えたことを特徴とする自己同期型ストリーム暗号の復号化方法を提案している。 ( 8 ) The present invention is a self-synchronous stream cipher decryption method using the self-synchronous stream cipher decryption device described in ( 3 ) or ( 4 ), wherein a key is input to an extended key generation function Then, a first step (for example, corresponding to step S201 in FIG. 6) for generating an expanded key and setting it in each of the first nonlinear permutation functions, and a second step for substituting 0 into all the registers (For example, equivalent to step S202 in FIG. 6) and the third step (for example, in step S203 in FIG. 6), the initial value is input as plaintext, the encryption process is performed once, and the register value is updated. Equivalent) and a fourth step (for example, equivalent to step S204 in FIG. 6) in which a plaintext consisting of all zeros is input and the encryption process is executed 32 times, and the value of each of the registers is generated as the random number sequence. A fifth step (for example, corresponding to step S205 in FIG. 6) that inputs a number to generate a random number sequence, performs an exclusive OR operation on the input ciphertext and the generated random number sequence, and performs decryption processing. A sixth step (for example, corresponding to step S206 in FIG. 6), a seventh step (for example, corresponding to step S207 in FIG. 6) for shifting the value of the register by one to the output-side register, An eighth step (for example, corresponding to step S208 in FIG. 6) of inputting ciphertext into an empty register and returning to the fifth step, is provided. A decoding method is proposed.

この発明によれば、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、第1の非線形置換関数それぞれにセットし、すべてのレジスタに0を代入する。そして、初期値を平文として入力し、暗号化処理を1回行って、レジスタの値を更新し、さらに、すべて0からなる平文を入力して、暗号化処理を32回実行する初期化処理を行う。次に、レジスタそれぞれの値を乱数列生成関数に入力して乱数列を生成するキーストリーム処理を行い、入力した暗号文と生成した乱数列との排他的論理和演算を行って、復号化処理を実行する。そして、レジスタの値を出力側のレジスタに1つシフトし、空になったレジスタに暗号文を入力する内部状態更新処理を実行して、キーストリーム処理に戻る動作を繰り返し行う。したがって、仮に、同期が乱れた場合であっても、暗号化装置から入力した暗号文により、すべての第1の非線形置換関数が満たされれば、以降、自動的に、同期を回復することができる。   According to the present invention, a key is input to an extended key generation function, an extended key is generated, set in each of the first nonlinear replacement functions, and 0 is substituted into all registers. Then, the initial value is input as plaintext, the encryption process is performed once, the register value is updated, and the plaintext consisting of all 0s is input, and the initialization process for executing the encryption process 32 times is performed. Do. Next, the value of each register is input to the random number sequence generation function, key stream processing is performed to generate a random number sequence, and the exclusive OR operation of the input ciphertext and the generated random number sequence is performed to perform decryption processing Execute. Then, the value of the register is shifted by one to the output side register, the internal state update process for inputting the ciphertext to the empty register is executed, and the operation returning to the key stream process is repeated. Therefore, even if the synchronization is disturbed, the synchronization can be automatically recovered thereafter if all the first non-linear replacement functions are satisfied by the ciphertext input from the encryption device. .

)本発明は、()に記載のMAC生成装置を用いたMAC生成方法であって、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップ(図8のステップS301に相当)と、すべての前記レジスタに0を代入する第2のステップ(図8のステップS302に相当)と、初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップ(図8のステップS303に相当)と、すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップ(図8のステップS304に相当)と、前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップ(図8のステップS305に相当)と、入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する第6のステップ(図8のステップS306に相当)と、前記レジスタの値を出力側のレジスタに1つシフトする第7のステップ(図8のステップS307に相当)と、空になったレジスタに暗号文を入力する第8のステップ(図8のステップS308に相当)と、すべての平文を入力したか否かを判断する第9のステップ(図8のステップS309に相当)と、前記第9のステップにおいて、すべての平文を入力したと判断したときに、メッセージ認証子を出力する第10のステップ(図8のステップS310に相当)と、を備えたことを特徴とするMAC生成方法を提案している。 ( 9 ) The present invention is a MAC generation method using the MAC generation device according to ( 6 ), wherein a key is input to an extended key generation function to generate an extended key, and the first nonlinear replacement function A first step (corresponding to step S301 in FIG. 8) to be set for each, a second step (corresponding to step S302 in FIG. 8) for assigning 0 to all the registers, and initial values are input as plain text. A third step (corresponding to step S303 in FIG. 8) for updating the register value by performing the encryption process once and a plaintext consisting of all 0s are input, and the encryption process is executed 32 times. A fourth step (corresponding to step S304 in FIG. 8), a fifth step (corresponding to step S305 in FIG. 8) for generating a random number sequence by inputting the values of the registers to the random number sequence generation function; Entered flat A sixth step (corresponding to step S306 in FIG. 8) in which an exclusive OR operation is performed on the sentence and the generated random number sequence to execute encryption processing, and the value of the register is stored in one register on the output side The seventh step of shifting (corresponding to step S307 in FIG. 8), the eighth step of inputting ciphertext into the empty register (corresponding to step S308 in FIG. 8), and whether all plaintexts have been input A ninth step (corresponding to step S309 in FIG. 8), and a tenth step of outputting a message authenticator when it is determined in the ninth step that all plaintexts have been input ( And a MAC generation method characterized by comprising: (corresponding to step S310 in FIG. 8).

本発明によれば、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、第1の非線形置換関数それぞれにセットし、すべてのレジスタに0を代入する。そして、初期値を平文として入力し、暗号化処理を1回行って、レジスタの値を更新し、さらに、すべて0からなる平文を入力して、暗号化処理を32回実行する初期化処理を行う。次に、レジスタそれぞれの値を乱数列生成関数に入力して乱数列を生成するキーストリーム処理を行い、入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する。そして、レジスタの値を出力側のレジスタに1つシフトし、空になったレジスタに暗号文を入力する内部状態更新処理を実行する。そして、すべての平文を入力したか否かを判断し、すべての平文を入力したと判断したときに、メッセージ認証子を出力する。   According to the present invention, a key is input to an extended key generation function, an extended key is generated, set to each of the first nonlinear replacement functions, and 0 is substituted into all registers. Then, the initial value is input as plaintext, the encryption process is performed once, the register value is updated, and the plaintext consisting of all 0s is input, and the initialization process for executing the encryption process 32 times is performed. Do. Next, the key stream processing for generating a random number sequence by inputting the value of each register into the random number sequence generation function is performed, the exclusive OR operation of the input plaintext and the generated random number sequence is performed, and the encryption processing is performed. Run. Then, the register value is shifted by one to the register on the output side, and an internal state update process for inputting the ciphertext into the empty register is executed. Then, it is determined whether all plaintexts have been input, and when it is determined that all plaintexts have been input, a message authenticator is output.

10)本発明は、(1)または)に記載の自己同期型ストリーム暗号の暗号化装置を用いた自己同期型ストリーム暗号の暗号化方法をコンピュータに実行させるプログラムであって、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップ(例えば、図4のステップS101に相当)と、すべての前記レジスタに0を代入する第2のステップ(例えば、図4のステップS102に相当)と、初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップ(例えば、図4のステップS103に相当)と、すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップ(例えば、図4のステップS104に相当)と、前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップ(例えば、図4のステップS105に相当)と、入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する第6のステップ(例えば、図4のステップS106に相当)と、前記レジスタの値を出力側のレジスタに1つシフトする第7のステップ(例えば、図4のステップS107に相当)と、空になったレジスタに暗号文を入力して、第5のステップに戻る第8のステップ(例えば、図4のステップS108に相当)と、をコンピュータに実行させるプログラムを提案している。 ( 10 ) The present invention is a program for causing a computer to execute a self-synchronous stream cipher encryption method using the self-synchronous stream cipher encryption apparatus described in (1) or ( 2 ). A first step (for example, corresponding to step S101 in FIG. 4), which is input to the expanded key generation function, generates an expanded key, and is set in each of the first nonlinear replacement functions, and 0 in all the registers. A second step (for example, corresponding to step S102 in FIG. 4) to be substituted, and an initial value are input as plain text, and an encryption process is performed once to update the value of the register (for example, 4) (corresponding to step S103 in FIG. 4), a fourth step (for example, corresponding to step S104 in FIG. 4) for inputting the plaintext consisting of all 0s and executing the encryption process 32 times, A fifth step (for example, corresponding to step S105 in FIG. 4) of inputting each register value to the random number sequence generation function to generate a random number sequence, and an exclusive OR of the input plaintext and the generated random number sequence A sixth step (for example, equivalent to step S106 in FIG. 4) that performs an operation and performs encryption processing, and a seventh step (for example, FIG. 4) that shifts the value of the register by one to the output-side register. 4) (equivalent to step S107 in FIG. 4) and the eighth step (for example, equivalent to step S108 in FIG. 4) of inputting the ciphertext into the empty register and returning to the fifth step. Propose a program.

この発明によれば、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、第1の非線形置換関数それぞれにセットし、すべてのレジスタに0を代入する。そして、初期値を平文として入力し、暗号化処理を1回行って、レジスタの値を更新し、さらに、すべて0からなる平文を入力して、暗号化処理を32回実行する初期化処理を行う。次に、レジスタそれぞれの値を乱数列生成関数に入力して乱数列を生成するキーストリーム処理を行い、入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する。そして、レジスタの値を出力側のレジスタに1つシフトし、空になったレジスタに暗号文を入力する内部状態更新処理を実行して、キーストリーム処理に戻る動作を繰り返し行う。したがって、生成した暗号文を入力側にフィードバックするため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。   According to the present invention, a key is input to an extended key generation function, an extended key is generated, set in each of the first nonlinear replacement functions, and 0 is substituted into all registers. Then, the initial value is input as plaintext, the encryption process is performed once, the register value is updated, and the plaintext consisting of all 0s is input, and the initialization process for executing the encryption process 32 times is performed. Do. Next, the key stream processing for generating a random number sequence by inputting the value of each register into the random number sequence generation function is performed, the exclusive OR operation of the input plaintext and the generated random number sequence is performed, and the encryption processing is performed. Run. Then, the value of the register is shifted by one to the output side register, the internal state update process for inputting the ciphertext to the empty register is executed, and the operation returning to the key stream process is repeated. Therefore, since the generated ciphertext is fed back to the input side, the synchronization can be automatically recovered even if the synchronization is disturbed.

11)本発明は、(または)に記載の自己同期型ストリーム暗号の復号化装置を用いた自己同期型ストリーム暗号の復号化方法をコンピュータに実行させるプログラムであって、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップ(例えば、図6のステップS201に相当)と、すべての前記レジスタに0を代入する第2のステップ(例えば、図6のステップS202に相当)と、初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップ(例えば、図6のステップS203に相当)と、すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップ(例えば、図6のステップS204に相当)と、前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップ(例えば、図6のステップS205に相当)と、入力した暗号文と生成した乱数列との排他的論理和演算を行って、復号処理を実行する第6のステップ(例えば、図6のステップS206に相当)と、前記レジスタの値を出力側のレジスタに1つシフトする第7のステップ(例えば、図6のステップS207に相当)と、空になったレジスタに暗号文を入力して、第5のステップに戻る第8のステップ(例えば、図6のステップS208に相当)と、をコンピュータに実行させるプログラムを提案している。 ( 11 ) The present invention is a program for causing a computer to execute a self-synchronous stream cipher decryption method using the self-synchronous stream cipher decryption device described in ( 3 ) or ( 4 ). A first step (for example, corresponding to step S201 in FIG. 6) that inputs to the extended key generation function, generates an extended key, and sets it in each of the first non-linear replacement functions, and 0 in all the registers A second step (for example, corresponding to step S202 in FIG. 6) to be substituted, an initial value is input as plain text, an encryption process is performed once, and a third step (for example, the value of the register is updated) 6) (corresponding to step S203 in FIG. 6), a fourth step (for example, corresponding to step S204 in FIG. 6) for inputting the plaintext consisting of all zeros and executing the encryption process 32 times, A fifth step (for example, corresponding to step S205 in FIG. 6) of inputting each register value to the random number sequence generation function to generate a random number sequence, and the exclusive logic of the input ciphertext and the generated random number sequence A sixth step (for example, equivalent to step S206 in FIG. 6) that performs a sum operation and performs a decoding process, and a seventh step (for example, FIG. 6) that shifts the value of the register by one to the output-side register. 6) (equivalent to step S207 in FIG. 6) and the eighth step (for example, corresponding to step S208 in FIG. 6) of inputting the ciphertext into the empty register and returning to the fifth step. Propose a program.

この発明によれば、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、第1の非線形置換関数それぞれにセットし、すべてのレジスタに0を代入する。そして、初期値を平文として入力し、暗号化処理を1回行って、レジスタの値を更新し、さらに、すべて0からなる平文を入力して、暗号化処理を32回実行する初期化処理を行う。次に、レジスタそれぞれの値を乱数列生成関数に入力して乱数列を生成するキーストリーム処理を行い、入力した暗号文と生成した乱数列との排他的論理和演算を行って、復号化処理を実行する。そして、レジスタの値を出力側のレジスタに1つシフトし、空になったレジスタに暗号文を入力する内部状態更新処理を実行して、キーストリーム処理に戻る動作を繰り返し行う。したがって、仮に、同期が乱れた場合であっても、暗号化装置から入力した暗号文により、すべての第1の非線形置換関数が満たされれば、以降、自動的に、同期を回復することができる。   According to the present invention, a key is input to an extended key generation function, an extended key is generated, set in each of the first nonlinear replacement functions, and 0 is substituted into all registers. Then, the initial value is input as plaintext, the encryption process is performed once, the register value is updated, and the plaintext consisting of all 0s is input, and the initialization process for executing the encryption process 32 times is performed. Do. Next, the value of each register is input to the random number sequence generation function, key stream processing is performed to generate a random number sequence, and the exclusive OR operation of the input ciphertext and the generated random number sequence is performed to perform decryption processing Execute. Then, the value of the register is shifted by one to the output side register, the internal state update process for inputting the ciphertext to the empty register is executed, and the operation returning to the key stream process is repeated. Therefore, even if the synchronization is disturbed, the synchronization can be automatically recovered thereafter if all the first non-linear replacement functions are satisfied by the ciphertext input from the encryption device. .

12)本発明は、()に記載のMAC生成装置を用いたMAC生成方法をコンピュータに実行させるプログラムであって、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップ(図8のステップS301に相当)と、すべての前記レジスタに0を代入する第2のステップ(図8のステップS302に相当)と、初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップ(図8のステップS303に相当)と、すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップ(図8のステップS304に相当)と、前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップ(図8のステップS305に相当)と、入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する第6のステップ(図8のステップS306に相当)と、前記レジスタの値を出力側のレジスタに1つシフトする第7のステップ(図8のステップS307に相当)と、空になったレジスタに暗号文を入力する第8のステップ(図8のステップS308に相当)と、すべての平文を入力したか否かを判断する第9のステップ(図8のステップS309に相当)と、前記第9のステップにおいて、すべての平文を入力したと判断したときに、メッセージ認証子を出力する第10のステップ(図8のステップS310に相当)と、をコンピュータに実行させるプログラム。 ( 12 ) The present invention is a program for causing a computer to execute the MAC generation method using the MAC generation device according to ( 6 ), wherein a key is input to an extended key generation function to generate an extended key, and A first step (corresponding to step S301 in FIG. 8) set for each of the first nonlinear replacement functions, a second step (corresponding to step S302 in FIG. 8) for assigning 0 to all the registers, and an initial A third step (corresponding to step S303 in FIG. 8) in which the value is input as plaintext and the encryption process is performed once to update the register value, and a plaintext consisting of all 0s is input and encrypted. A fourth step (corresponding to step S304 in FIG. 8) for executing the process 32 times and a fifth step (in FIG. 8) for generating a random number sequence by inputting the values of the registers to the random number sequence generation function A sixth step (corresponding to step S306 in FIG. 8) for performing an exclusive OR operation between the input plaintext and the generated random number sequence, and performing the encryption process; A seventh step (corresponding to step S307 in FIG. 8) for shifting the value by one to the output-side register, and an eighth step (corresponding to step S308 in FIG. 8) for inputting the ciphertext into the empty register And a ninth step (corresponding to step S309 in FIG. 8) for determining whether or not all plaintexts have been input, and message authentication when it is determined in the ninth step that all plaintexts have been input. A program that causes a computer to execute a tenth step of outputting a child (corresponding to step S310 in FIG. 8).

本発明によれば、鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、第1の非線形置換関数それぞれにセットし、すべてのレジスタに0を代入する。そして、初期値を平文として入力し、暗号化処理を1回行って、レジスタの値を更新し、さらに、すべて0からなる平文を入力して、暗号化処理を32回実行する初期化処理を行う。次に、レジスタそれぞれの値を乱数列生成関数に入力して乱数列を生成するキーストリーム処理を行い、入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する。そして、レジスタの値を出力側のレジスタに1つシフトし、空になったレジスタに暗号文を入力する内部状態更新処理を実行する。そして、すべての平文を入力したか否かを判断し、すべての平文を入力したと判断したときに、メッセージ認証子を出力する。   According to the present invention, a key is input to an extended key generation function, an extended key is generated, set to each of the first nonlinear replacement functions, and 0 is substituted into all registers. Then, the initial value is input as plaintext, the encryption process is performed once, the register value is updated, and the plaintext consisting of all 0s is input, and the initialization process for executing the encryption process 32 times is performed. Do. Next, the key stream processing for generating a random number sequence by inputting the value of each register into the random number sequence generation function is performed, the exclusive OR operation of the input plaintext and the generated random number sequence is performed, and the encryption processing is performed. Run. Then, the register value is shifted by one to the register on the output side, and an internal state update process for inputting the ciphertext into the empty register is executed. Then, it is determined whether all plaintexts have been input, and when it is determined that all plaintexts have been input, a message authenticator is output.

本発明によれば、高速かつ安全で、自動的に同期回復を行うことができるストリーム暗号を実現することができるという効果がある。   According to the present invention, there is an effect that it is possible to realize a stream cipher capable of performing synchronization recovery automatically at high speed and safely.

以下、図面を用いて、本発明の実施形態について詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
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に示すように、S関数(非線形置換関数、図中、「S」と表記)1a、1b、1c、1d、1e、1f、1g、1h、4a、4bと、F関数(圧縮関数、図中、「F」と表記)2と、レジスタ3a、3b、・・・、3p(図中、「R1、R2、・・・、R16」と表記)と、G関数(非線形関数、図中、「G」と表記)5と、排他的論理和演算器6とから構成されている。
<Configuration of encryption device for self-synchronous stream cipher>
The self-synchronous stream cipher encryption apparatus according to the present embodiment, as shown in FIG. 1, is an S function (nonlinear replacement function, denoted as “S” in the figure) 1a, 1b, 1c, 1d, 1e, 1f. 1g, 1h, 4a, 4b, F function (compression function, indicated as “F” in the figure) 2 and registers 3a, 3b,..., 3p (in the figure, “R1, R2,... , R16 "), a G function (nonlinear function, indicated as" G "in the figure) 5, and an exclusive OR calculator 6.

S関数1a、1b、1c、1d、1e、1f、1g、1h、4a、4bは、CPUのワード長をWビットとしたときに、入出力長が一致した全単射関数であり、入力する暗号文に対して、拡大鍵を排他的論理和演算した後に、非線形処理を実行する。   The S functions 1a, 1b, 1c, 1d, 1e, 1f, 1g, 1h, 4a, and 4b are bijective functions with the same input / output length when the CPU word length is W bits, and are input. A non-linear process is performed on the ciphertext after performing an exclusive OR operation on the expanded key.

F関数2は、nWビットの暗号文をWビットの暗号文に圧縮する圧縮関数である。なお、具体的な構成については、後述する。レジスタ3a、3b、・・・、3pは、F関数2からの出力を一時的に保持する記憶手段である。G関数5は、nWビットのデータをmWビットのデータに変換する非線形関数である。このとき、nとmには、n>mの関係がある。なお、具体的な構成については、後述する。また、排他的論理和演算器6は、G関数5から出力されるmWビットの乱数列と入力した平文との排他的論理和演算を実行し、mWビットの暗号文を出力する。   The F function 2 is a compression function that compresses an nW-bit ciphertext into a W-bit ciphertext. A specific configuration will be described later. The registers 3a, 3b,..., 3p are storage means for temporarily holding the output from the F function 2. The G function 5 is a non-linear function that converts nW-bit data into mW-bit data. At this time, n and m have a relationship of n> m. A specific configuration will be described later. The exclusive OR calculator 6 performs an exclusive OR operation between the mW-bit random number sequence output from the G function 5 and the input plaintext, and outputs an mW-bit ciphertext.

<F関数(圧縮関数)の構成>
F関数(圧縮関数)2は、図2に示すように、排他的論理和演算器20a、20b、20c、20d、20e、20f、20gから構成されている。すなわち、F関数(圧縮関数)2は、S関数(非線形置換関数)1a、1b、1c、1d、1e、1f、1g、1hからの出力に対して、排他的論理和演算器20a、20b、20c、20d、20e、20f、20gを用いて、排他的論理和演算を行って、圧縮処理を実行する。これにより、その後の演算を効率化して、計算負荷を低減することができる。
<Configuration of F function (compression function)>
As shown in FIG. 2, the F function (compression function) 2 includes exclusive OR calculators 20a, 20b, 20c, 20d, 20e, 20f, and 20g. In other words, the F function (compression function) 2 has exclusive OR calculators 20a, 20b, and outputs from the S functions (nonlinear replacement functions) 1a, 1b, 1c, 1d, 1e, 1f, 1g, and 1h. Using 20c, 20d, 20e, 20f, and 20g, an exclusive OR operation is performed to perform compression processing. Thereby, subsequent calculations can be made more efficient and the calculation load can be reduced.

<G関数(非線形関数)の構成>
G関数(非線形関数)5は、図3に示すように、T関数(拡大関数、図中、「T」と示す)51a、51b、・・・、51o、51pと、排他的論理和演算器52a、52b、・・・、52o、52pとから構成されている。
<Configuration of G function (nonlinear function)>
As shown in FIG. 3, the G function (nonlinear function) 5 includes T functions (enlarged functions, indicated as “T” in the figure) 51a, 51b,..., 51o, 51p, and an exclusive OR calculator. 52a, 52b,..., 52o, 52p.

すなわち、G関数(非線形関数)5は、T関数(拡大関数)により、入力データのワード長WビットをmWビットとし、各レジスタの値を変換した後、変換したすべての値に対して、排他的論理和演算器52a、52b、・・・、52o、52pを用いて、排他的論理和演算を実行することにより、乱数列を生成する。これにより、各入力要素が出力に対して均等に影響を及ぼすようになるため、安全性の向上を図ることができる。   That is, the G function (nonlinear function) 5 uses the T function (enlargement function) to set the word length W bits of the input data to mW bits, converts the value of each register, and then excludes all converted values. A random number sequence is generated by performing an exclusive OR operation using the logical OR calculators 52a, 52b,..., 52o, 52p. Thereby, since each input element comes to have influence on an output equally, the improvement of safety can be aimed at.

<自己同期型ストリーム暗号の暗号化装置の処理動作>
次に、図4を用いて、自己同期型ストリーム暗号の暗号化装置の処理動作について説明する。
まず、初期処理を行って、ストリーム暗号の内部状態をセットする。具体的には、鍵を拡大鍵関数に入力して、拡大鍵を生成し、各S関数1a、1b、1c、1d、1e、1f、1g、1hの鍵としてセットする(ステップS101)。次に、すべてのレジスタ3a、3b、・・・、3pに「0」を代入し(ステップS102)、初期値を平文として入力して、暗号化処理を1回行い(ステップS103)、レジスタ3a、3b、・・・、3pの値を更新する。そして、オール「0」の平文を入力して、暗号化処理を32回実行する(ステップS104)。
<Processing of the self-synchronous stream cipher encryption device>
Next, the processing operation of the self-synchronous stream cipher encryption apparatus will be described with reference to FIG.
First, initial processing is performed to set the internal state of the stream cipher. Specifically, the key is input to the extended key function to generate an extended key, which is set as the key of each S function 1a, 1b, 1c, 1d, 1e, 1f, 1g, 1h (step S101). Next, “0” is assigned to all the registers 3a, 3b,..., 3p (step S102), the initial value is input as plain text, the encryption process is performed once (step S103), and the register 3a. 3b,..., 3p are updated. Then, the plaintext of all “0” is input and the encryption process is executed 32 times (step S104).

次に、キ−ストリームの生成処理として、各レジスタ3a、3b、・・・、3pの値をG関数5に入力して、乱数列を得る(ステップS105)。さらに、暗号化処理として、入力された平文とG関数5から出力された乱数列とを排他的論理和演算器6に入力して、排他的論理和をとって、暗号化を実行する(ステップS106)。   Next, as a key stream generation process, the values of the registers 3a, 3b,..., 3p are input to the G function 5 to obtain a random number sequence (step S105). Further, as an encryption process, the input plaintext and the random number sequence output from the G function 5 are input to the exclusive OR calculator 6 and exclusive OR is performed to execute encryption (step) S106).

そして、内部状態更新処理として、以下の手順で、各レジスタ3a、3b、・・・、3pの内部状態を更新する。具体的には、各レジスタ3a、3b、・・・、3pに一時格納されていた値を、出力方向(図1の左方向)に1つずつシフトする(ステップS107)。なお、シフトの際には、S関数4a、4b・・・による非線形処理を実行する。また、最左行に配置されたレジスタ3pからシフトにより、はみ出した値は消去される。さらに、暗号文を最右行に配置されたレジスタ3aに入力する(ステップS108)。ここで、レジスタ3aに入力される暗号文は、F関数2で計算された値である。そして、この一連の処理を終了すると、ステップS105に戻って、処理が続行される。   And as an internal state update process, the internal state of each register | resistor 3a, 3b, ..., 3p is updated in the following procedures. Specifically, the values temporarily stored in the registers 3a, 3b,..., 3p are shifted one by one in the output direction (left direction in FIG. 1) (step S107). When shifting, non-linear processing using S functions 4a, 4b,... Is executed. Further, the value protruding from the register 3p arranged in the leftmost row is deleted. Further, the ciphertext is input to the register 3a arranged in the rightmost row (step S108). Here, the ciphertext input to the register 3 a is a value calculated by the F function 2. When this series of processing ends, the process returns to step S105 to continue the processing.

以上説明したように、本実施形態に係る自己同期型ストリーム暗号の暗号化装置によれば、生成した暗号文を入力側にフィードバックする構成となっているため、仮に、同期が乱れた場合であっても、自動的に、同期を回復することができる。また、装置構成を簡略化したことから、処理の高速化を図ることができる。さらに、非線形置換関数を入力側に複数配置するとともに、圧縮関数が、複数の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力することから、特に、処理負荷の重い非線形関数処理を最小限に抑えることにより、処理の高速化を図ることができる。   As described above, the self-synchronous stream cipher encryption apparatus according to the present embodiment is configured to feed back the generated ciphertext to the input side. Even you can automatically recover synchronization. Further, since the apparatus configuration is simplified, the processing speed can be increased. In addition, a plurality of nonlinear replacement functions are arranged on the input side, and the compression function inputs the outputs of the plurality of nonlinear replacement functions, performs compression processing, and outputs one compression result. By minimizing the non-linear function processing, the processing speed can be increased.

<自己同期型ストリーム暗号の復号化装置の構成>
本実施形態に係る自己同期型ストリーム暗号の復号化装置は、図5に示すように、S関数(非線形置換関数、図中、「S」と表記)7a、7b、7c、7d、7e、7f、7g、7h、4a、4bと、F関数(圧縮関数、図中、「F」と表記)2と、レジスタ3a、3b、・・・、3p(図中、「R1、R2、・・・、R16」と表記)と、G関数(非線形関数、図中、「G」と表記)5と、排他的論理和演算器8とから構成されている。なお、図1と同一の符号を付した構成要素については、同様の機能を有するものであることから、その詳細な説明は省略する。
<Configuration of Self-Synchronized Stream Cipher Decryption Device>
As shown in FIG. 5, the self-synchronous stream cipher decryption apparatus according to the present embodiment has S functions (nonlinear replacement functions, denoted as “S” in the figure) 7a, 7b, 7c, 7d, 7e, 7f. , 7g, 7h, 4a, 4b, F function (compression function, indicated as “F” in the figure) 2 and registers 3a, 3b,..., 3p (in the figure, “R1, R2,... , R16 "), a G function (non-linear function, indicated as" G "in the figure) 5, and an exclusive OR calculator 8. In addition, about the component which attached | subjected the code | symbol same as FIG. 1, since it has the same function, the detailed description is abbreviate | omitted.

S関数7a、7b、7c、7d、7e、7f、7g、7hは、CPUのワード長をWビットとしたときに、入出力長が一致した全単射関数であり、入力する暗号文に対して、拡大鍵を排他的論理和演算した後に、非線形処理を実行する。また、排他的論理和演算器8は、G関数5から出力されるmWビットの乱数列と入力した暗号文との排他的論理和演算を実行し、mWビットの平文を出力する。   S functions 7a, 7b, 7c, 7d, 7e, 7f, 7g, and 7h are bijective functions with the same input / output length when the CPU word length is W bits. Then, after performing an exclusive OR operation on the expanded key, nonlinear processing is executed. The exclusive OR calculator 8 performs an exclusive OR operation between the mW-bit random number sequence output from the G function 5 and the input ciphertext, and outputs an mW-bit plaintext.

<自己同期型ストリーム暗号の復号化装置の処理動作>
次に、図6を用いて、自己同期型ストリーム暗号の復号化装置の処理動作について説明する。
まず、初期処理を行って、ストリーム暗号の内部状態をセットする。具体的には、鍵を拡大鍵関数に入力して、拡大鍵を生成し、各S関数7a、7b、7c、7d、7e、7f、7g、7hの鍵としてセットする(ステップS201)。次に、すべてのレジスタ3a、3b、・・・、3pに「0」を代入し(ステップS202)、初期値を平文として入力して、暗号化処理を1回行い(ステップS203)、レジスタ3a、3b、・・・、3pの値を更新する。そして、オール「0」の平文を入力して、暗号化処理を32回実行する(ステップS204)。
<Processing of Self-Synchronous Stream Cipher Decryption Device>
Next, the processing operation of the self-synchronous stream cipher decrypting apparatus will be described with reference to FIG.
First, initial processing is performed to set the internal state of the stream cipher. Specifically, the key is input to the expanded key function to generate an expanded key, which is set as a key for each S function 7a, 7b, 7c, 7d, 7e, 7f, 7g, 7h (step S201). Next, “0” is assigned to all the registers 3a, 3b,..., 3p (step S202), the initial value is input as plain text, the encryption process is performed once (step S203), and the register 3a. 3b,..., 3p are updated. Then, the plaintext of all “0” is input and the encryption process is executed 32 times (step S204).

次に、キ−ストリームの生成処理として、各レジスタ3a、3b、・・・、3pの値をG関数5に入力して、乱数列を得る(ステップS205)。さらに、復号化処理として、入力された暗号文とG関数5から出力された乱数列とを排他的論理和演算器6に入力して、排他的論理和をとって、復号を実行する(ステップS206)。   Next, as a key stream generation process, the values of the registers 3a, 3b,..., 3p are input to the G function 5 to obtain a random number sequence (step S205). Further, as the decryption process, the input ciphertext and the random number sequence output from the G function 5 are input to the exclusive OR calculator 6, the exclusive OR is taken, and the decryption is executed (step) S206).

そして、内部状態更新処理として、以下の手順で、各レジスタ3a、3b、・・・、3pの内部状態を更新する。具体的には、各レジスタ3a、3b、・・・、3pに一時格納されていた値を、出力方向(図5の左方向)に1つずつシフトする(ステップS207)。なお、シフトの際には、S関数4a、4b・・・による非線形処理を実行する。また、最左行に配置されたレジスタ3pからシフトにより、はみ出した値は消去される。さらに、暗号文を最右行に配置されたレジスタ3aに入力する(ステップS208)。ここで、レジスタ3aに入力される暗号文は、F関数2で計算された値である。そして、この一連の処理を終了すると、ステップS205に戻って、処理が続行される。   And as an internal state update process, the internal state of each register | resistor 3a, 3b, ..., 3p is updated in the following procedures. Specifically, the values temporarily stored in the registers 3a, 3b,..., 3p are shifted one by one in the output direction (left direction in FIG. 5) (step S207). When shifting, non-linear processing using S functions 4a, 4b,... Is executed. Further, the value protruding from the register 3p arranged in the leftmost row is deleted. Further, the ciphertext is input to the register 3a arranged in the rightmost row (step S208). Here, the ciphertext input to the register 3 a is a value calculated by the F function 2. When this series of processing ends, the process returns to step S205 to continue the processing.

以上説明したように、本実施形態に係る自己同期型ストリーム暗号の復号化装置によれば、仮に、同期が乱れた場合であっても、暗号化装置から入力した暗号文により、すべての第1の非線形置換関数が満たされれば、以降、自動的に、同期を回復することができる。また、装置構成を簡略化したことから、処理の高速化を図ることができる。さらに、非線形置換関数を入力側に複数配置するとともに、圧縮関数が、複数の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力することから、特に、処理負荷の重い非線形関数処理を最小限に抑えることにより、処理の高速化を図ることができる。また、すでに説明した自己同期型ストリーム暗号の暗号化装置と自己同期型ストリーム暗号の復号化装置とを組み合わせることにより、同期を自動的に回復することができる自己同期型ストリーム暗号システムを構築することができる。   As described above, according to the self-synchronous stream cipher decryption device according to the present embodiment, even if the synchronization is disturbed, all the first ciphertexts are input by the ciphertext input from the encryption device. If the non-linear permutation function is satisfied, the synchronization can be automatically recovered thereafter. Further, since the apparatus configuration is simplified, the processing speed can be increased. In addition, a plurality of nonlinear replacement functions are arranged on the input side, and the compression function inputs the outputs of the plurality of nonlinear replacement functions, performs compression processing, and outputs one compression result. By minimizing the non-linear function processing, the processing speed can be increased. Also, a self-synchronous stream cipher system capable of automatically recovering synchronization by combining the self-synchronous stream cipher encryption device and the self-synchronous stream cipher decryption device described above is constructed. Can do.

<MAC生成装置の構成>
MAC生成装置の構成は、図7に示したように、基本的に、すでに説明した図1に示される自己同期型ストリーム暗号の暗号化装置と同様の構成であり、平文を入力し、出力されたmWビットの暗号文から連続するSビットのメッセージ認証子を出力する。
<Configuration of MAC generator>
As shown in FIG. 7, the configuration of the MAC generation device is basically the same as that of the self-synchronous stream cipher encryption device shown in FIG. 1 described above. A continuous S-bit message authenticator is output from the mW-bit ciphertext.

<MAC生成装置の処理動作>
次に、図7を用いて、MAC生成装置の処理動作について説明する。
まず、初期処理を行って、ストリーム暗号の内部状態をセットする。具体的には、鍵を拡大鍵関数に入力して、拡大鍵を生成し、各S関数1a、1b、1c、1d、1e、1f、1g、1hの鍵としてセットする(ステップS301)。次に、すべてのレジスタ3a、3b、・・・、3pに「0」を代入し(ステップS302)、初期値を平文として入力して、暗号化処理を1回行い(ステップS303)、レジスタ3a、3b、・・・、3pの値を更新する。そして、オール「0」の平文を入力して、暗号化処理を32回実行する(ステップS304)。
<Processing operation of MAC generator>
Next, the processing operation of the MAC generation device will be described with reference to FIG.
First, initial processing is performed to set the internal state of the stream cipher. Specifically, the key is input to the extended key function to generate an extended key, which is set as the key of each S function 1a, 1b, 1c, 1d, 1e, 1f, 1g, 1h (step S301). Next, “0” is assigned to all the registers 3a, 3b,..., 3p (step S302), the initial value is input as plain text, the encryption process is performed once (step S303), and the register 3a. 3b,..., 3p are updated. Then, the plaintext of all “0” is input and the encryption process is executed 32 times (step S304).

次に、キ−ストリームの生成処理として、各レジスタ3a、3b、・・・、3pの値をG関数5に入力して、乱数列を得る(ステップS305)。さらに、暗号化処理として、入力された平文とG関数5から出力された乱数列とを排他的論理和演算器6に入力して、排他的論理和をとって、暗号化を実行する(ステップS306)。   Next, as a key stream generation process, the values of the registers 3a, 3b,..., 3p are input to the G function 5 to obtain a random number sequence (step S305). Further, as an encryption process, the input plaintext and the random number sequence output from the G function 5 are input to the exclusive OR calculator 6 and exclusive OR is performed to execute encryption (step) S306).

そして、内部状態更新処理として、以下の手順で、各レジスタ3a、3b、・・・、3pの内部状態を更新する。具体的には、各レジスタ3a、3b、・・・、3pに一時格納されていた値を、出力方向(図1の左方向)に1つずつシフトする(ステップS307)。なお、シフトの際には、S関数4a、4b・・・による非線形処理を実行する。また、最左行に配置されたレジスタ3pからシフトすることにより、はみ出した値は消去される。さらに、暗号文を最右行に配置されたレジスタ3aに入力する(ステップS308)。ここで、レジスタ3aに入力される暗号文は、F関数2で計算された値である。そして、すべての平文が入力されていない場合(ステップS309の「No」)には、ステップS305に戻って、処理が続行される。一方、すべての平文が入力された場合(ステップS309の「YES」)には、Sビットのメッセージ認証子を出力し(ステップS310)、すべての処理を終了する。   And as an internal state update process, the internal state of each register | resistor 3a, 3b, ..., 3p is updated in the following procedures. Specifically, the values temporarily stored in the registers 3a, 3b,..., 3p are shifted one by one in the output direction (left direction in FIG. 1) (step S307). When shifting, non-linear processing using S functions 4a, 4b,... Is executed. Further, by shifting from the register 3p arranged in the leftmost row, the protruding value is erased. Further, the ciphertext is input to the register 3a arranged in the rightmost row (step S308). Here, the ciphertext input to the register 3 a is a value calculated by the F function 2. If all the plaintexts are not input (“No” in step S309), the process returns to step S305 and the processing is continued. On the other hand, if all plaintexts have been input (“YES” in step S309), an S-bit message authenticator is output (step S310), and all processing ends.

以上説明したように、本実施形態に係るMAC生成装置によれば、装置構成を簡略化したことから、処理の高速化を図ることができる。さらに、非線形置換関数を入力側に複数配置するとともに、圧縮関数が、複数の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力することから、特に、処理負荷の重い非線形関数処理を最小限に抑えることにより、処理の高速化を図ることができる。   As described above, according to the MAC generation apparatus according to the present embodiment, the apparatus configuration is simplified, so that the processing speed can be increased. In addition, a plurality of nonlinear replacement functions are arranged on the input side, and the compression function inputs the outputs of the plurality of nonlinear replacement functions, performs compression processing, and outputs one compression result. By minimizing the non-linear function processing, the processing speed can be increased.

なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、自己同期型ストリーム暗号システム、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 stored in a self-synchronous stream cipher encryption device, a self-synchronous stream cipher decryption device, Synchronous stream cipher system, self-synchronous stream cipher encryption apparatus, self-synchronous stream cipher decryption apparatus, self-synchronous stream cipher system, MAC generation apparatus of the present invention by being read and executed by a MAC generation apparatus 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.

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

本発明の自己同期型ストリーム暗号の暗号化装置の構成図である。It is a block diagram of the encryption apparatus of the self-synchronous stream cipher of this invention. F関数の構成図である。It is a block diagram of F function. G関数の構成図である。It is a block diagram of G function. 本発明の自己同期型ストリーム暗号の暗号化装置の処理フロー図である。It is a processing flow figure of the encryption apparatus of the self-synchronous stream cipher of this invention. 本発明の自己同期型ストリーム暗号の復号化装置の構成図である。It is a block diagram of the decoding apparatus of the self-synchronous stream cipher of this invention. 本発明の自己同期型ストリーム暗号の復号化装置の処理フロー図である。It is a processing flow figure of the decoding apparatus of the self-synchronous stream cipher of this invention. 本発明のMAC生成装置の構成図である。It is a block diagram of the MAC generation apparatus of this invention. 本発明のMAC生成装置の処理フロー図である。It is a processing flowchart of the MAC generation apparatus of this invention.

符号の説明Explanation of symbols

1a、1b、1c、1d、1e、1f、1g、1h、4a、4b、7a、7b、7c、7d、7e、7f、7g、7h・・・S関数、2・・・F関数、3a、3b、・・・、3p・・・レジスタ、5・・・G関数、6、8・・・排他的論理和演算器   1a, 1b, 1c, 1d, 1e, 1f, 1g, 1h, 4a, 4b, 7a, 7b, 7c, 7d, 7e, 7f, 7g, 7h ... S function, 2 ... F function, 3a, 3b,..., 3p... Register, 5... G function, 6, 8.

Claims (12)

平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックする自己同期型ストリーム暗号の暗号化装置であって、
前記暗号文を入力し、入力した暗号文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う複数個からなる第1の非線形置換関数と、
該複数個からなる第1の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する圧縮関数と、
複数個の第2の非線形置換関数を介して接続され、前記圧縮関数の出力を格納する複数のレジスタと、
該複数のレジスタからの出力値を入力し、乱数列を生成する乱数列生成関数と、
入力した前記平文と前記乱数列生成関数が生成した乱数列との排他的論理和演算を行って暗号文を生成する排他的論理和演算手段と、を備え
前記圧縮関数が、前記複数個からなる第1の非線形置換関数から入力した値の排他的論理和演算を行うことにより、圧縮処理を行う自己同期型ストリーム暗号の暗号化装置。
A self-synchronous stream cipher encryption device that inputs plaintext, outputs ciphertext, and feeds back the ciphertext to the input,
A first non-linear replacement function consisting of a plurality of input ciphertexts, performing an exclusive OR operation on the input ciphertext and performing non-linear transformation processing;
A compression function for inputting the output of the first non-linear replacement function consisting of the plurality, performing compression processing, and outputting a compression result of 1;
A plurality of registers connected via a plurality of second nonlinear permutation functions to store the output of the compression function;
A random number sequence generation function that inputs output values from the plurality of registers and generates a random number sequence;
An exclusive OR operation means for generating a ciphertext by performing an exclusive OR operation between the input plaintext and the random number sequence generated by the random number sequence generation function ,
A self-synchronous stream cipher encryption apparatus that performs compression processing by performing an exclusive OR operation on values input from the plurality of first nonlinear replacement functions .
前記乱数列生成関数が、前記複数のレジスタからの出力値のビット数を拡大関数により拡大した後、該拡大したすべての値に対して、排他的論理和演算を行って、乱数列を生成することを特徴とする請求項1に記載の自己同期型ストリーム暗号の暗号化装置。 After the random number sequence generation function expands the number of bits of the output values from the plurality of registers by an expansion function, an exclusive OR operation is performed on all the expanded values to generate a random number sequence The self-synchronous stream cipher encryption apparatus according to claim 1 . 暗号文を入力し、平文を出力する自己同期型ストリーム暗号の復号化装置であって、
前記暗号文を入力し、入力した暗号文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う複数個からなる第1の非線形置換関数と、
該複数個からなる第1の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する圧縮関数と、
複数個の第2の非線形置換関数を介して接続され、前記圧縮関数の出力を格納する複数のレジスタと、
該複数のレジスタからの出力値を入力し、乱数列を生成する乱数列生成関数と、
入力した前記暗号文と前記乱数列生成関数が生成した乱数列との排他的論理和演算を行って平文を生成する排他的論理和演算手段と、を備え
前記圧縮関数が、前記複数個からなる第1の非線形置換関数から入力した値の排他的論理和演算を行うことにより、圧縮処理を行う自己同期型ストリーム暗号の復号化装置。
A decryption device for a self-synchronous stream cipher that inputs ciphertext and outputs plaintext,
A first non-linear replacement function consisting of a plurality of input ciphertexts, performing an exclusive OR operation on the input ciphertext and performing non-linear transformation processing;
A compression function for inputting the output of the first non-linear replacement function consisting of the plurality, performing compression processing, and outputting a compression result of 1;
A plurality of registers connected via a plurality of second nonlinear permutation functions to store the output of the compression function;
A random number sequence generation function that inputs output values from the plurality of registers and generates a random number sequence;
An exclusive OR operation means for generating a plaintext by performing an exclusive OR operation between the input ciphertext and the random number sequence generated by the random number sequence generation function ,
A self-synchronous stream cipher decryption apparatus that performs compression processing by performing an exclusive OR operation on values input from the plurality of first nonlinear replacement functions .
前記乱数列生成関数が、前記複数のレジスタからの出力値のビット数を拡大関数により拡大した後、該拡大したすべての値に対して、排他的論理和演算を行うことにより、乱数列を生成することを特徴とする請求項に記載の自己同期型ストリーム暗号の復号化装置。 The random number sequence generation function generates a random number sequence by performing an exclusive OR operation on all the expanded values after expanding the number of bits of the output values from the plurality of registers by the expansion function. The self-synchronous stream cipher decryption apparatus according to claim 3 , wherein: 前記請求項1または請求項に記載の自己同期型ストリーム暗号の暗号化装置と前記請求項3または請求項に記載の自己同期型ストリーム暗号の復号化装置とを備えて構成されることを特徴とする自己同期型ストリーム暗号システム。 The self-synchronous stream cipher encryption apparatus according to claim 1 or 2 and the self-synchronous stream cipher decryption apparatus according to claim 3 or 4 are configured. A self-synchronizing stream cipher system. 平文を入力し、暗号文を出力するとともに、該暗号文を入力にフィードバックして最終的な暗号文をメッセージ認証子として出力するMAC生成装置であって、
前記暗号文を入力し、入力した暗号文に対して排他的論理和演算を行うとともに、非線形変換の処理を行う複数個からなる第1の非線形置換関数と、
該複数個からなる第1の非線形置換関数の出力を入力し、圧縮処理を行い、1の圧縮結果を出力する圧縮関数と、
複数個の第2の非線形置換関数を介して接続され、前記圧縮関数の出力を格納する複数のレジスタと、
該複数のレジスタからの出力値を入力し、乱数列を生成する乱数列生成関数と、
入力した前記平文と前記乱数列生成関数が生成した乱数列との排他的論理和演算を行って最終的な暗号文をメッセージ認証子として生成する排他的論理和演算手段と、を備え
前記圧縮関数が、前記複数個からなる第1の非線形置換関数から入力した値の排他的論理和演算を行うことにより、圧縮処理を行うMAC生成装置。
A MAC generation device that inputs plaintext, outputs ciphertext, feeds back the ciphertext to input, and outputs the final ciphertext as a message authenticator,
A first non-linear replacement function consisting of a plurality of input ciphertexts, performing an exclusive OR operation on the input ciphertext and performing non-linear transformation processing;
A compression function for inputting the output of the first non-linear replacement function consisting of the plurality, performing compression processing, and outputting a compression result of 1;
A plurality of registers connected via a plurality of second nonlinear permutation functions to store the output of the compression function;
A random number sequence generation function that inputs output values from the plurality of registers and generates a random number sequence;
An exclusive OR operation means for generating an ultimate ciphertext as a message authenticator by performing an exclusive OR operation between the input plaintext and the random number sequence generated by the random number sequence generation function ,
A MAC generation device that performs compression processing by performing an exclusive OR operation on values input from the plurality of first nonlinear replacement functions .
請求項1または請求項のいずれかに記載の自己同期型ストリーム暗号の暗号化装置を用いた自己同期型ストリーム暗号の暗号化方法であって、
鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップと、
すべての前記レジスタに0を代入する第2のステップと、
初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップと、
すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップと、
前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップと、
入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する第6のステップと、
前記レジスタの値を出力側のレジスタに1つシフトする第7のステップと、
空になったレジスタに暗号文を入力して、第5のステップに戻る第8のステップと、
を備えたことを特徴とする自己同期型ストリーム暗号の暗号化方法。
A method for encrypting a self-synchronous stream cipher using the encryption apparatus of the self-synchronous stream cipher according to claim 1 or claim 2,
A first step of inputting a key into an expanded key generation function, generating an expanded key, and setting each of the first nonlinear replacement functions;
A second step of assigning 0 to all the registers;
A third step of inputting an initial value as plain text, performing encryption processing once, and updating the value of the register;
A fourth step of inputting plaintext consisting of all zeros and executing the encryption process 32 times;
A fifth step of generating a random number sequence by inputting a value of each of the registers to the random number sequence generation function;
A sixth step of performing an encryption operation by performing an exclusive OR operation between the input plaintext and the generated random number sequence;
A seventh step of shifting the value of the register by one to an output-side register;
An eighth step of entering the ciphertext into the empty register and returning to the fifth step;
A self-synchronizing stream cipher encryption method characterized by comprising:
請求項3または請求項4に記載の自己同期型ストリーム暗号の復号化装置を用いた自己同期型ストリーム暗号の復号化方法であって、
鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップと、
すべての前記レジスタに0を代入する第2のステップと、
初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップと、
すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップと、
前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップと、
入力した暗号文と生成した乱数列との排他的論理和演算を行って、復号処理を実行する第6のステップと、
前記レジスタの値を出力側のレジスタに1つシフトする第7のステップと、
空になったレジスタに暗号文を入力して、第5のステップに戻る第8のステップと、
を備えたことを特徴とする自己同期型ストリーム暗号の復号化方法。
A self-synchronous stream cipher decryption method using the self-synchronous stream cipher decryption device according to claim 3 or 4 ,
A first step of inputting a key into an expanded key generation function, generating an expanded key, and setting each of the first nonlinear replacement functions;
A second step of assigning 0 to all the registers;
A third step of inputting an initial value as plain text, performing encryption processing once, and updating the value of the register;
A fourth step of inputting plaintext consisting of all zeros and executing the encryption process 32 times;
A fifth step of generating a random number sequence by inputting a value of each of the registers to the random number sequence generation function;
A sixth step of performing a decryption process by performing an exclusive OR operation between the input ciphertext and the generated random number sequence;
A seventh step of shifting the value of the register by one to an output-side register;
An eighth step of entering the ciphertext into the empty register and returning to the fifth step;
A method of decrypting a self-synchronous stream cipher characterized by comprising:
請求項に記載のMAC生成装置を用いたMAC生成方法であって、
鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップと、
すべての前記レジスタに0を代入する第2のステップと、
初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップと、
すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップと、
前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップと、
入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する第6のステップと、
前記レジスタの値を出力側のレジスタに1つシフトする第7のステップと、
空になったレジスタに暗号文を入力する第8のステップと、
すべての平文を入力したか否かを判断する第9のステップと、
前記第9のステップにおいて、すべての平文を入力したと判断したときに、メッセージ認証子を出力する第10のステップと、
を備えたことを特徴とするMAC生成方法。
A MAC generation method using the MAC generation device according to claim 6 ,
A first step of inputting a key into an expanded key generation function, generating an expanded key, and setting each of the first nonlinear replacement functions;
A second step of assigning 0 to all the registers;
A third step of inputting an initial value as plain text, performing encryption processing once, and updating the value of the register;
A fourth step of inputting plaintext consisting of all zeros and executing the encryption process 32 times;
A fifth step of generating a random number sequence by inputting a value of each of the registers to the random number sequence generation function;
A sixth step of performing an encryption operation by performing an exclusive OR operation between the input plaintext and the generated random number sequence;
A seventh step of shifting the value of the register by one to an output-side register;
An eighth step of entering ciphertext into an empty register;
A ninth step for determining whether all plaintexts have been entered;
A tenth step of outputting a message authenticator when it is determined in the ninth step that all plaintexts have been input;
A MAC generation method comprising:
請求項1または請求項2に記載の自己同期型ストリーム暗号の暗号化装置を用いた自己同期型ストリーム暗号の暗号化方法をコンピュータに実行させるプログラムであって、
鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップと、
すべての前記レジスタに0を代入する第2のステップと、
初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップと、
すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップと、
前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップと、
入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する第6のステップと、
前記レジスタの値を出力側のレジスタに1つシフトする第7のステップと、
空になったレジスタに暗号文を入力して、第5のステップに戻る第8のステップと、
をコンピュータに実行させるプログラム。
A program for causing a computer to execute a self-synchronous stream cipher encryption method using the self-synchronous stream cipher encryption apparatus according to claim 1 or 2 ,
A first step of inputting a key into an expanded key generation function, generating an expanded key, and setting each of the first nonlinear replacement functions;
A second step of assigning 0 to all the registers;
A third step of inputting an initial value as plain text, performing encryption processing once, and updating the value of the register;
A fourth step of inputting plaintext consisting of all zeros and executing the encryption process 32 times;
A fifth step of generating a random number sequence by inputting a value of each of the registers to the random number sequence generation function;
A sixth step of performing an encryption operation by performing an exclusive OR operation between the input plaintext and the generated random number sequence;
A seventh step of shifting the value of the register by one to an output-side register;
An eighth step of entering the ciphertext into the empty register and returning to the fifth step;
A program that causes a computer to execute.
請求項3または請求項4に記載の自己同期型ストリーム暗号の復号化装置を用いた自己同期型ストリーム暗号の復号化方法をコンピュータに実行させるプログラムであって、
鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップと、
すべての前記レジスタに0を代入する第2のステップと、
初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップと、
すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップと、
前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップと、
入力した暗号文と生成した乱数列との排他的論理和演算を行って、復号処理を実行する第6のステップと、
前記レジスタの値を出力側のレジスタに1つシフトする第7のステップと、
空になったレジスタに暗号文を入力して、第5のステップに戻る第8のステップと、
をコンピュータに実行させるプログラム。
A program for executing the decoding method of self-synchronizing stream cipher using a decoding device of a self-synchronizing stream ciphers according to claim 3 or claim 4 on a computer,
A first step of inputting a key into an expanded key generation function, generating an expanded key, and setting each of the first nonlinear replacement functions;
A second step of assigning 0 to all the registers;
A third step of inputting an initial value as plain text, performing encryption processing once, and updating the value of the register;
A fourth step of inputting plaintext consisting of all zeros and executing the encryption process 32 times;
A fifth step of generating a random number sequence by inputting a value of each of the registers to the random number sequence generation function;
A sixth step of performing a decryption process by performing an exclusive OR operation between the input ciphertext and the generated random number sequence;
A seventh step of shifting the value of the register by one to an output-side register;
An eighth step of entering the ciphertext into the empty register and returning to the fifth step;
A program that causes a computer to execute.
請求項に記載のMAC生成装置を用いたMAC生成方法をコンピュータに実行させるプログラムであって、
鍵を拡大鍵生成関数に入力し、拡大鍵を生成して、前記第1の非線形置換関数それぞれにセットする第1のステップと、
すべての前記レジスタに0を代入する第2のステップと、
初期値を平文として入力し、暗号化処理を1回行って、前記レジスタの値を更新する第3のステップと、
すべて0からなる平文を入力して、暗号化処理を32回実行する第4のステップと、
前記レジスタそれぞれの値を前記乱数列生成関数に入力して乱数列を生成する第5のステップと、
入力した平文と生成した乱数列との排他的論理和演算を行って、暗号化処理を実行する第6のステップと、
前記レジスタの値を出力側のレジスタに1つシフトする第7のステップと、
空になったレジスタに暗号文を入力する第8のステップと、
すべての平文を入力したか否かを判断する第9のステップと、
前記第9のステップにおいて、すべての平文を入力したと判断したときに、メッセージ認証子を出力する第10のステップと、
をコンピュータに実行させるプログラム。
A program for causing a computer to execute a MAC generation method using the MAC generation device according to claim 6 ,
A first step of inputting a key into an expanded key generation function, generating an expanded key, and setting each of the first nonlinear replacement functions;
A second step of assigning 0 to all the registers;
A third step of inputting an initial value as plain text, performing encryption processing once, and updating the value of the register;
A fourth step of inputting plaintext consisting of all zeros and executing the encryption process 32 times;
A fifth step of generating a random number sequence by inputting a value of each of the registers to the random number sequence generation function;
A sixth step of performing an encryption operation by performing an exclusive OR operation between the input plaintext and the generated random number sequence;
A seventh step of shifting the value of the register by one to an output-side register;
An eighth step of entering ciphertext into an empty register;
A ninth step for determining whether all plaintexts have been entered;
A tenth step of outputting a message authenticator when it is determined in the ninth step that all plaintexts have been input;
A program that causes a computer to execute.
JP2006287481A 2006-10-23 2006-10-23 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 Expired - Fee Related JP5084224B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006287481A JP5084224B2 (en) 2006-10-23 2006-10-23 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006287481A JP5084224B2 (en) 2006-10-23 2006-10-23 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

Publications (2)

Publication Number Publication Date
JP2008109190A JP2008109190A (en) 2008-05-08
JP5084224B2 true JP5084224B2 (en) 2012-11-28

Family

ID=39442226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006287481A Expired - Fee Related JP5084224B2 (en) 2006-10-23 2006-10-23 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

Country Status (1)

Country Link
JP (1) JP5084224B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5415020B2 (en) * 2008-05-27 2014-02-12 Kddi株式会社 Stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program
KR101076747B1 (en) 2009-09-21 2011-10-26 한국과학기술원 Method and apparatus for random accessible encryption and decryption by using a hierarchical tree structure of stream cipher module

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6259437A (en) * 1985-09-10 1987-03-16 Oki Electric Ind Co Ltd Ciphering system
JPH0727325B2 (en) * 1987-02-13 1995-03-29 沖電気工業株式会社 Encryption device
JPH06342257A (en) * 1993-06-02 1994-12-13 Matsushita Electric Ind Co Ltd Sequential encryption method
JP3432392B2 (en) * 1997-04-07 2003-08-04 三菱電機株式会社 Image encoding device, image encoding method, and image storage / transmission device
JPH11208471A (en) * 1998-01-22 1999-08-03 Kn Lab Analysis:Kk Rail inspection measuring device
JP2000101567A (en) * 1998-09-17 2000-04-07 Toyo Commun Equip Co Ltd Encryption and decryption apparatus and method
JP2001016197A (en) * 1999-07-01 2001-01-19 Toyo Commun Equip Co Ltd Self-synchronous stream cipher system and MAC generation method using the same
JP2003199019A (en) * 2001-12-26 2003-07-11 Sony Corp Imaging device and method, recording medium, and program
JP4819576B2 (en) * 2006-05-26 2011-11-24 Kddi株式会社 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

Also Published As

Publication number Publication date
JP2008109190A (en) 2008-05-08

Similar Documents

Publication Publication Date Title
CN101553857B (en) Encryption device, encryption method, and computer program
JP4735644B2 (en) Message authentication apparatus, message authentication method, message authentication program and recording medium thereof
JP5402632B2 (en) Common key block encryption apparatus, common key block encryption method, and program
CN101753292B (en) Methods and devices for a chained encryption mode
JP4905000B2 (en) Cryptographic processing apparatus, cryptographic processing method, and computer program
WO2007105709A1 (en) Information processing system, information processing method, and information processing program
JP4486680B2 (en) Apparatus and method for performing RC4 encryption
WO2008053650A1 (en) Common key block encrypting device, its method, its program, and recording medium
KR100922728B1 (en) AES encryption and decryption apparatus and method
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
JP2011119985A (en) Encryption and decryption method
CN110071927B (en) Information encryption method, system and related components
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
JP5415020B2 (en) Stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program
JP5102536B2 (en) Stream cipher encryption apparatus, decryption apparatus, encryption method, decryption method, and program
JP5431191B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
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
JP5489696B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP2013098722A (en) Ciphering device of stream cipher, deciphering device of stream cipher, ciphering method of stream cipher, deciphering method of stream cipher, and program
JP5706751B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP3473171B2 (en) Sequential encryption
JP5096794B2 (en) 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
JP5748634B2 (en) Key sequence output device, stream cipher encryption device, stream cipher decryption device, key sequence output method, and program
JP3748184B2 (en) Secret communication device
JP2009037095A (en) Data scrambling device, data descrambling device, data scrambling method, data descrambling method and program

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120621

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120730

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5084224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees