JP5801095B2 - Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program - Google Patents

Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program Download PDF

Info

Publication number
JP5801095B2
JP5801095B2 JP2011102049A JP2011102049A JP5801095B2 JP 5801095 B2 JP5801095 B2 JP 5801095B2 JP 2011102049 A JP2011102049 A JP 2011102049A JP 2011102049 A JP2011102049 A JP 2011102049A JP 5801095 B2 JP5801095 B2 JP 5801095B2
Authority
JP
Japan
Prior art keywords
shift register
stream cipher
data
function unit
linear
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
JP2011102049A
Other languages
Japanese (ja)
Other versions
JP2012235287A (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 JP2011102049A priority Critical patent/JP5801095B2/en
Publication of JP2012235287A publication Critical patent/JP2012235287A/en
Application granted granted Critical
Publication of JP5801095B2 publication Critical patent/JP5801095B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、安全でしかも効率的な認証を実現できるストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラムに関する。   The present invention relates to a stream cipher encryption apparatus, a stream cipher decryption apparatus, a stream cipher encryption method, a stream cipher decryption method, and a program capable of realizing secure and efficient authentication.

近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスに置いては、通信の秘匿を実現するため、暗号が利用される。暗号方式として最も一般的なものは、1つの鍵で暗号化・復号化を行う共通鍵暗号方式であるが、共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式の2つに分けられる。   In recent years, various services using computers have been provided. In many services, encryption is used to conceal communication. The most common encryption method is a common key encryption method that performs encryption / decryption with a single key, but the common key encryption method is roughly divided into a block encryption method and a stream encryption method.

前者は、最も一般的に用いられている方式であるが、後者の方が処理速度に優れるため、近年注目を集めつつある。一方、認証付き暗号という方式がある。これは、1つのアルゴリズムでメッセージ認証と暗号化を同時に実現しようとするアルゴリズムである(例えば、非特許文献1参照。)。   The former is the method that is most commonly used, but the latter has been attracting attention in recent years because it is superior in processing speed. On the other hand, there is a method called authenticated encryption. This is an algorithm for simultaneously realizing message authentication and encryption with one algorithm (see, for example, Non-Patent Document 1).

Philip Hawkes, Cameron McDonald, Michael Paddon, Gregory G. Rose, and Miriam Wiggers de Vries, “Specification for NLSv2 ,” New Stream Cipher Designs, Lncs, Vol.4986、2008.Philip Hawkes, Cameron McDonald, Michael Paddon, Gregory G. Rose, and Miriam Wiggers de Vries, “Specification for NL Sv. 4986, 2008.

しかしながら、これまで、ストリーム暗号を認証付き暗号にするためには、アルゴリズムの再設計が必要であった。または、設計の段階から認証機能の組み込みを考慮する必要があった。さらには、認証付きストリーム暗号のほとんどすべてが攻撃により破られており、安全な認証付きストリーム暗号はほとんど無いという状況である。   However, until now, it has been necessary to redesign the algorithm in order to make the stream cipher an authenticated cipher. Or, it was necessary to consider incorporating an authentication function from the design stage. Furthermore, almost all of the authenticated stream cipher is broken by an attack, and there is almost no secure stream cipher with authentication.

そこで、本発明は、上述の課題に鑑みてなされたものであり、安全でしかも効率的な認証を実現できるストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and a stream cipher encryption apparatus, a stream cipher decryption apparatus, a stream cipher encryption method, a stream, and a stream cipher capable of realizing secure and efficient authentication. It is an object of the present invention to provide an encryption decryption method and program.

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

(1)本発明は、第1のシフトレジスタ(例えば、図1のシフトレジスタ200に相当)と、該第1のシフトレジスタにデータをフィードバックし、前記第1のシフトレジスタとともに、線形フィードバックシフトレジスタを構成する線形フィードバック関数(例えば、図1の線形フィードバック関数100に相当)と、2つに分割された第2のシフトレジスタ、第3のシフトレジスタ(例えば、図1のシフトレジスタ400、500に相当)と、前記第2のシフトレジスタと、前記第3のシフトレジスタと、第1の非線形関数器(例えば、図1の非線形関数器710に相当)と、第2の非線形関数器(例えば、図1の非線形関数器720に相当)とともに、動的フィードバックシフトレジスタを構成する動的フィードバック関数(例えば、図1の動的フィードバック関数300に相当)と、前記第2のシフトレジスタ、第3のシフトレジスタとともに、動的線形フィードバックシフトレジスタを構成する動的フィードバック関数(例えば、図1の動的フィードバック関数300に相当)と、前記第2のシフトレジスタ、第3のシフトレジスタからの入力データと前記第1のシフトレジスタからの入力データとを非線形変換する非線形変換手段(例えば、図1の非線形変換部600に相当)と、前記非線形変換手段の出力データと入力した平文との排他的論理和演算を行い暗号文を出力する排他的論理和演算器(例えば、図1の排他的論理和演算器70、70に相当)と、を備え、前記第1の非線形関数器が、前記動的フィードバック関数の出力データを非線形変換し、前記第2の非線形関数器が、前記第2のシフトレジスタの出力データと出力される暗号文との排他的論理和に対して非線形変換を行なうとともに、前記第2のシフトレジスタには、前記第1の非線形関数器において非線形変換されたデータと前記第1のシフトレジスタ内のデータとの加算値が入力され、前記第3のシフトレジスタには、前記第2の非線形関数器において非線形変換されたデータと前記第1のシフトレジスタ内のデータとの加算値が入力されることを特徴とするストリーム暗号の暗号化装置を提案している。 (1) The present invention includes a first shift register (e.g., corresponding to the shift register 200 in FIG. 1) and is fed back data to the first shift register, together with the first shift register, LFSR constitutes a linear feedback function (e.g., corresponding to the linear feedback function 100 of FIG. 1) and a second shift register which is divided into two, a third shift register (e.g., shift register 400, 500 of FIG. 1 Equivalent), the second shift register, the third shift register, a first nonlinear function unit (for example, equivalent to the nonlinear function unit 710 in FIG. 1), and a second nonlinear function unit (for example, with equivalent) to a non-linear function unit 720 of FIG. 1, the dynamic feedback function constituting a dynamic feedback shift register (e.g., And corresponds to the first dynamic feedback function 300), said second shift register, together with the third shift register, dynamic feedback function constituting a dynamic linear feedback shift register (e.g., dynamic feedback function 300 of FIG. 1 and equivalent) to the second shift register, the non-linear conversion means for non-linear transformation of the input data from the third input data and the first shift register from the shift register (e.g., non-linear conversion section 600 in FIG. 1 And an exclusive OR calculator (for example, the exclusive OR calculator 7 4 in FIG. 1) that performs an exclusive OR operation between the output data of the nonlinear conversion means and the input plaintext and outputs a ciphertext. and 0,7 5 corresponds to 0), wherein the first non-linear function unit is the output data of the dynamic feedback function and non-linear transformation, the A second non-linear function unit performs non-linear conversion on the exclusive OR of the output data of the second shift register and the output ciphertext, and the second shift register includes the first shift function An addition value of the data nonlinearly converted in the nonlinear function unit and the data in the first shift register is input, and the third shift register receives the data nonlinearly converted in the second nonlinear function unit and A stream cipher encryption apparatus is proposed in which an addition value with data in the first shift register is input .

この発明によれば、ストリーム暗号の暗号化装置は、第1のシフトレジスタと、第1のシフトレジスタにデータをフィードバックし、第1のシフトレジスタとともに、線形フィードバックシフトレジスタを構成する線形フィードバック関数と、2つに分割された第2のシフトレジスタ、第3のシフトレジスタと、第2のシフトレジスタと、第3のシフトレジスタと、第1の非線形関数器と、第2の非線形関数器とともに、動的フィードバックシフトレジスタを構成する動的フィードバック関数と、第2のシフトレジスタ、第3のシフトレジスタからの入力データと第1のシフトレジスタからの入力データとを非線形変換する非線形変換手段と、非線形変換手段の出力データと入力した平文との排他的論理和演算を行い暗号文を出力する排他的論理和演算器と、を備え、第1の非線形関数器が、動的フィードバック関数の出力データを非線形変換し、第2の非線形関数器が、第2のシフトレジスタの出力データと出力される暗号文との排他的論理和に対して非線形変換を行なうとともに、第2のシフトレジスタには、第1の非線形関数器において非線形変換されたデータと第1のシフトレジスタ内のデータとの加算値が入力され、第3のシフトレジスタには、第2の非線形関数器において非線形変換されたデータと第1のシフトレジスタ内のデータとの加算値が入力される。つまり、上記の構成とすることにより、安全性を従来よりも向上させつつ、高速な暗号化処理を実現することができる。 According to the present invention, the encryption device of the stream cipher comprises a first shift register, and feeding back the data to the first shift register, the first shift register, a linear feedback function constitutes a linear feedback shift register A second shift register divided into two, a third shift register , a second shift register, a third shift register, a first non-linear function unit, and a second non-linear function unit, A dynamic feedback function constituting a dynamic feedback shift register, a nonlinear conversion means for nonlinearly converting input data from the second shift register and the third shift register , and input data from the first shift register; exclusive for outputting the ciphertext performs an XOR operation between the input and output data of the conversion means plaintext Comprising a Liwa calculator, a cryptographic first linear function unit is the output data of the dynamic feedback function and non-linear transformation, the second Nonlinear function unit is outputted to the output data of the second shift register A non-linear transformation is performed on the exclusive OR with the sentence, and the second shift register has an added value of the data non-linearly transformed in the first non-linear function unit and the data in the first shift register. The added value of the data that is nonlinearly converted in the second nonlinear function unit and the data in the first shift register is input to the third shift register . In other words, with the above-described configuration, it is possible to realize high-speed encryption processing while improving safety as compared with the prior art.

(2)本発明は、(1)のストリーム暗号の暗号化装置について、前記非線形変換手段が、4つの内部メモリ(例えば、図2の内部メモリL1、L2、R1、R2に相当)を内部状態として備え、該4つの内部メモリ間で非線形関数器(例えば、図2の非線形関数620a、620b、620c、620dに相当)を介した結線構造を有することを特徴とするストリーム暗号の暗号化装置を提案している。   (2) According to the present invention, in the stream cipher encryption device according to (1), the non-linear conversion means stores four internal memories (for example, the internal memories L1, L2, R1, and R2 in FIG. 2) in an internal state. And a stream cipher encryption device having a connection structure through a non-linear function unit (for example, corresponding to the non-linear functions 620a, 620b, 620c, and 620d in FIG. 2) between the four internal memories. is suggesting.

この発明によれば、非線形変換手段が、4つの内部メモリを内部状態として備え、4つの内部メモリ間で非線形関数器を介した結線構造を有する。つまり、非線形変換手段をこうした構成とすることにより、安全性を相乗的に増加させることができる。   According to this invention, the non-linear conversion means has four internal memories as internal states and has a connection structure between the four internal memories via the non-linear function unit. In other words, the safety can be increased synergistically by adopting such a configuration of the nonlinear conversion means.

)本発明は、(1)のストリーム暗号の暗号化装置について、暗号化処理の実行後に、すべてのデータを「0」とした平文を入力して空まわし処理を指定回数実行することを特徴とするストリーム暗号の暗号化装置を提案している。 ( 3 ) According to the present invention, for the stream cipher encryption device of (1), after executing the encryption process, plain text with all data set to “0” is input and the emptying process is executed a specified number of times. A stream cipher encryption device that is characterized is proposed.

この発明によれば、暗号化処理の実行後に、すべてのデータを「0」とした平文を入力して空まわし処理を指定回数実行する。つまり、この処理を実行することにより、メッセージ認証子を作成することができるため、安全な認証付きストリーム暗号を生成することができる。   According to this invention, after executing the encryption process, plain text with all data set to “0” is input and the emptying process is executed a specified number of times. In other words, by executing this processing, a message authenticator can be created, so that a secure stream cipher with authentication can be generated.

)本発明は、()のストリーム暗号の暗号化装置について、前記空まわし処理の後で、指定ビット長の鍵系列をメッセージ認証子として出力することを特徴とするストリーム暗号の暗号化装置を提案している。 ( 4 ) The present invention relates to the stream cipher encryption apparatus according to ( 3 ), wherein a key sequence having a specified bit length is output as a message authenticator after the empty rotation processing. A device is proposed.

この発明によれば、空まわし処理の後で、指定ビット長の鍵系列をメッセージ認証子として出力する。つまり、出力するメッセージ認証子と暗号文とを結合して出力結果を生成することにより、安全な認証付きストリーム暗号を生成することができる。   According to the present invention, a key sequence having a specified bit length is output as a message authenticator after the idle rotation process. In other words, a secure stream cipher with authentication can be generated by combining an output message authenticator and ciphertext to generate an output result.

)本発明は、()のストリーム暗号の復号化装置について、前記非線形変換手段が、4つの内部メモリ(例えば、図5の内部メモリL1、L2、R1、R2に相当)を内部状態として備え、該4つの内部メモリ間で非線形関数器(例えば、図5の非線形関数620a、620b、620c、620dに相当)を介した結線構造を有することを特徴とするストリーム暗号の暗号化装置を提案している。 ( 6 ) According to the present invention, in the stream cipher decryption device of ( 5 ), the non-linear conversion means stores four internal memories (for example, corresponding to the internal memories L1, L2, R1, and R2 in FIG. 5) in an internal state. And a stream cipher encryption device having a connection structure between the four internal memories via a non-linear function unit (for example, equivalent to the non-linear function units 620a, 620b, 620c, and 620d in FIG. 5) Has proposed.

この発明によれば、非線形変換手段が、4つの内部メモリを内部状態として備え、4つの内部メモリ間で非線形関数器を介した結線構造を有する。つまり、非線形変換手段をこうした構成とすることにより、安全性を相乗的に増加させることができる。   According to this invention, the non-linear conversion means has four internal memories as internal states and has a connection structure between the four internal memories via the non-linear function unit. In other words, the safety can be increased synergistically by adopting such a configuration of the nonlinear conversion means.

)本発明は、()のストリーム暗号の復号化装置について、復号化処理の実行後に、すべてのデータを「0」とした暗号文を入力して空まわし処理を指定回数実行することを特徴とするストリーム暗号の暗号化装置を提案している。 ( 7 ) According to the present invention, for the decryption device for stream cipher of ( 5 ), after executing the decryption process, the ciphertext with all the data set to “0” is input and the emptying process is executed a specified number of times. Has been proposed.

この発明によれば、復号化処理の実行後に、すべてのデータを「0」とした平文を入力して空まわし処理を指定回数実行する。つまり、この処理を実行することにより、メッセージ認証子を作成することができるため、安全な認証付き平文を生成することができる。   According to the present invention, after executing the decryption process, plain text with all data set to “0” is input and the emptying process is executed a specified number of times. That is, by executing this process, a message authenticator can be created, so that a secure plaintext with authentication can be generated.

)本発明は、()のストリーム暗号の復号化装置について、前記空まわし処理の後で、指定ビット長の鍵系列をメッセージ認証子として出力することを特徴とするストリーム暗号の復号化装置を提案している。 ( 8 ) The present invention relates to the stream cipher decryption device according to ( 7 ), wherein a key sequence having a specified bit length is output as a message authenticator after the empty rotation process. A device is proposed.

この発明によれば、空まわし処理の後で、指定ビット長の鍵系列をメッセージ認証子として出力する。つまり、送信されてきた暗号文に結合されたメッセージ認証子と生成したメッセージ認証子とを比較することにより、両者が一致するか否かを検証することができる。   According to the present invention, a key sequence having a specified bit length is output as a message authenticator after the idle rotation process. That is, by comparing the message authenticator combined with the transmitted ciphertext and the generated message authenticator, it is possible to verify whether or not they match.

(11)本発明は、初期鍵、初期ベクトルを読み込む第1のステップ(例えば、図3のステップS101に相当)と、初期化処理を実施する第2のステップ(例えば、図3のステップS102に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第3のステップ(例えば、図3のステップS103に相当)と、該生成した鍵系列と平文との排他的論理和演算を実行することにより暗号文を生成する第4のステップ(例えば、図3のステップS104に相当)と、該生成した暗号文を動的フィードバック関数および分割した一方の動的フィードバックレジスタの最終レジスタに逐次入力し、平文の入力が終了した後も、平文をオールゼロとして空回しを実行する第5のステップ(例えば、図3のステップS105に相当)と、該空回し終了後に、指定ビット長の鍵系列を生成し、メッセージ認証子として出力する第6のステップ(例えば、図3のステップS106に相当)と、該メッセージ認証子を暗号文に添付して出力する第7のステップ(例えば、図3のステップS107に相当)と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。   (11) In the present invention, a first step for reading an initial key and an initial vector (for example, equivalent to step S101 in FIG. 3) and a second step for performing an initialization process (for example, in step S102 in FIG. 3) Equivalent), a third step (for example, equivalent to step S103 in FIG. 3) for generating a key sequence by executing key sequence generation processing, and performing an exclusive OR operation between the generated key sequence and plaintext To generate a ciphertext, for example (corresponding to step S104 in FIG. 3), and sequentially input the generated ciphertext to the dynamic feedback function and the final register of one of the divided dynamic feedback registers. Even after the input of the plaintext is completed, the fifth step (for example, corresponding to step S105 in FIG. 3) for executing the blanking with the plaintext set to all zeros and the blanking completion. In addition, a sixth step (for example, corresponding to step S106 in FIG. 3) for generating a key sequence having a specified bit length and outputting it as a message authenticator, and outputting the message authenticator attached to the ciphertext are output. (For example, corresponding to step S107 in FIG. 3).

この発明によれば、初期鍵、初期ベクトルを読み込み、初期化処理を実施する。次いで、鍵系列生成処理を実行し、鍵系列を生成し、生成した鍵系列と平文との排他的論理和演算を実行することにより暗号文を生成し、生成した暗号文を動的フィードバック関数および分割した一方の動的フィードバックレジスタの最終レジスタに逐次入力し、平文の入力が終了した後も、平文をオールゼロとして空回しを実行する。そして、空回し終了後に、指定ビット長の鍵系列を生成し、メッセージ認証子として出力し、メッセージ認証子を暗号文に添付して出力する。つまり、上記の処理を行うことにより、安全性を従来よりも向上させつつ、高速な暗号化処理を実現することができる。また、出力するメッセージ認証子と暗号文とを結合して出力結果を生成することにより、安全な認証付きストリーム暗号を生成することができる。   According to the present invention, the initial key and the initial vector are read and the initialization process is performed. Next, a key sequence generation process is executed, a key sequence is generated, a ciphertext is generated by executing an exclusive OR operation between the generated key sequence and plaintext, and the generated ciphertext is converted into a dynamic feedback function and After the input to the final register of one of the divided dynamic feedback registers is sequentially performed and the plaintext input is completed, the plaintext is set to all zeros and the idling is executed. Then, after completion of idling, a key sequence having a specified bit length is generated and output as a message authenticator, and the message authenticator is attached to the ciphertext and output. That is, by performing the above-described processing, it is possible to realize high-speed encryption processing while improving safety as compared with the prior art. Further, by combining the message authenticator to be output and the ciphertext to generate an output result, a secure stream cipher with authentication can be generated.

(12)本発明は、(11)のストリーム暗号の暗号化方法により暗号化された暗号文を復号するストリーム暗号の復号化方法であって、初期鍵、初期ベクトルを読み込む第1のステップ(例えば、図6のステップS201に相当)と、初期化処理を実施する第2のステップ(例えば、図6のステップS202に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第3のステップ(例えば、図6のステップS203に相当)と、暗号文とメッセージ認証子とを受信する第4のステップ(例えば、図6のステップS204に相当)と、該生成した鍵系列と受信した暗号文との排他的論理和演算を実行することにより平文を生成する第5のステップ(例えば、図6のステップS205に相当)と、該生成した平文を分割した2つのメッセージ認証子作成用メモリに逐次入力し、前記暗号文の入力が終了した後も、前記暗号文をオールゼロとして空回しを実行する第6のステップ(例えば、図6のステップS206に相当)と、該空回し終了後に、前記分割した2つのメッセージ認証子用メモリの値を結合し、メッセージ認証子とする第7のステップ(例えば、図6のステップS207に相当)と、該メッセージ認証子を平文に添付して出力する第7のステップと、前記出力されたメッセージ認証子と前記受信したメッセージ認証子とが一致するか否かを検証する第8のステップ(例えば、図6のステップS208に相当)と、を備えたことを特徴とするストリーム暗号の復号化方法を提案している。   (12) The present invention is a stream cipher decryption method for decrypting ciphertext encrypted by the stream cipher encryption method of (11), and includes a first step of reading an initial key and an initial vector (for example, , Corresponding to step S201 in FIG. 6), a second step for executing initialization processing (for example, corresponding to step S202 in FIG. 6), a key sequence generation process, and a third sequence for generating a key sequence A step (for example, corresponding to step S203 in FIG. 6), a fourth step for receiving the ciphertext and the message authenticator (for example, corresponding to step S204 in FIG. 6), the generated key sequence and the received encryption A fifth step (for example, equivalent to step S205 in FIG. 6) for generating a plaintext by executing an exclusive OR operation with the sentence, and two messages obtained by dividing the generated plaintext A sixth step (for example, corresponding to step S206 in FIG. 6) of executing the idling with the ciphertext set to all zeroes after the ciphertext input is completed after being sequentially input to the memory for creating a certificate. After completing the idling, a seventh step (for example, corresponding to step S207 in FIG. 6) that combines the two divided message authenticator values to form a message authenticator, and converts the message authenticator into plaintext. A seventh step of attaching and outputting, and an eighth step of verifying whether or not the output message authenticator matches the received message authenticator (for example, corresponding to step S208 in FIG. 6) And a stream cipher decryption method characterized by comprising:

この発明によれば、初期鍵、初期ベクトルを読み込み、初期化処理を実施する。次いで、鍵系列生成処理を実行し、鍵系列を生成し、生成した鍵系列と暗号文との排他的論理和演算を実行することにより平文を生成し、生成した平文を分割した2つのメッセージ認証子作成用メモリに逐次入力し、暗号文の入力が終了した後も、暗号文をオールゼロとして空回しを実行する。そして、空回し終了後に、分割した2つのメッセージ認証子用メモリの値を結合し、メッセージ認証子とし、メッセージ認証子を平文に添付して出力する。つまり、上記の処理を行うことにより、安全性を従来よりも向上させつつ、高速な復号化処理を実現することができる。また、送信されてきた暗号文に結合されたメッセージ認証子と生成したメッセージ認証子とを比較することにより、両者が一致するか否かを検証することができる。   According to the present invention, the initial key and the initial vector are read and the initialization process is performed. Next, a key sequence generation process is executed, a key sequence is generated, a plaintext is generated by executing an exclusive OR operation between the generated key sequence and ciphertext, and two message authentications obtained by dividing the generated plaintext Even after the ciphertext input is completed, the ciphertext is set to all zeros, and the ciphertext is circulated. Then, after completing the idling, the two divided values for the message authenticator memory are combined to form a message authenticator, and the message authenticator is attached to the plaintext and output. That is, by performing the above-described processing, it is possible to realize a high-speed decoding process while improving the safety as compared with the prior art. Further, by comparing the message authenticator combined with the transmitted ciphertext and the generated message authenticator, it is possible to verify whether or not they match.

(13)本発明は、初期鍵、初期ベクトルを読み込む第1のステップ(例えば、図3のステップS101に相当)と、初期化処理を実施する第2のステップ(例えば、図3のステップS102に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第3のステップ(例えば、図3のステップS103に相当)と、該生成した鍵系列と平文との排他的論理和演算を実行することにより暗号文を生成する第4のステップ(例えば、図3のステップS104に相当)と、該生成した暗号文を動的フィードバック関数および分割した一方の動的フィードバックレジスタの最終レジスタに逐次入力し、平文の入力が終了した後も、平文をオールゼロとして空回しを実行する第5のステップ(例えば、図3のステップS105に相当)と、該空回し終了後に、指定ビット長の鍵系列を生成し、メッセージ認証子として出力する第6のステップ(例えば、図3のステップS106に相当)と、該メッセージ認証子を暗号文に添付して出力する第7のステップ(例えば、図3のステップS107に相当)と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。   (13) In the present invention, a first step (for example, corresponding to step S101 in FIG. 3) for reading an initial key and an initial vector and a second step for performing initialization processing (for example, in step S102 in FIG. 3) Equivalent), a third step (for example, equivalent to step S103 in FIG. 3) for generating a key sequence by executing key sequence generation processing, and performing an exclusive OR operation between the generated key sequence and plaintext To generate a ciphertext, for example (corresponding to step S104 in FIG. 3), and sequentially input the generated ciphertext to the dynamic feedback function and the final register of one of the divided dynamic feedback registers. Even after the input of the plaintext is completed, the fifth step (for example, corresponding to step S105 in FIG. 3) for executing the blanking with the plaintext set to all zeros and the blanking completion. In addition, a sixth step (for example, corresponding to step S106 in FIG. 3) for generating a key sequence having a specified bit length and outputting it as a message authenticator, and outputting the message authenticator attached to the ciphertext are output. (For example, corresponding to step S107 in FIG. 3).

この発明によれば、初期鍵、初期ベクトルを読み込み、初期化処理を実施する。次いで、鍵系列生成処理を実行し、鍵系列を生成し、生成した鍵系列と平文との排他的論理和演算を実行することにより暗号文を生成し、生成した暗号文を動的フィードバック関数および分割した一方の動的フィードバックレジスタの最終レジスタに逐次入力し、平文の入力が終了した後も、平文をオールゼロとして空回しを実行する。そして、空回し終了後に、指定ビット長の鍵系列を生成し、メッセージ認証子として出力し、メッセージ認証子を暗号文に添付して出力する。つまり、上記の処理を行うことにより、安全性を従来よりも向上させつつ、高速な暗号化処理を実現することができる。また、出力するメッセージ認証子と暗号文とを結合して出力結果を生成することにより、安全な認証付きストリーム暗号を生成することができる。   According to the present invention, the initial key and the initial vector are read and the initialization process is performed. Next, a key sequence generation process is executed, a key sequence is generated, a ciphertext is generated by executing an exclusive OR operation between the generated key sequence and plaintext, and the generated ciphertext is converted into a dynamic feedback function and After the input to the final register of one of the divided dynamic feedback registers is sequentially performed and the plaintext input is completed, the plaintext is set to all zeros and the idling is executed. Then, after completion of idling, a key sequence having a specified bit length is generated and output as a message authenticator, and the message authenticator is attached to the ciphertext and output. That is, by performing the above-described processing, it is possible to realize high-speed encryption processing while improving safety as compared with the prior art. Further, by combining the message authenticator to be output and the ciphertext to generate an output result, a secure stream cipher with authentication can be generated.

(14)本発明は、前記請求項13に記載のプログラムにより暗号化された暗号文を復号するプログラムであって、初期鍵、初期ベクトルを読み込む第1のステップ(例えば、図6のステップS201に相当)と、初期化処理を実施する第2のステップ(例えば、図6のステップS202に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第3のステップ(例えば、図6のステップS203に相当)と、暗号文とメッセージ認証子とを受信する第4のステップ(例えば、図6のステップS204に相当)と、該生成した鍵系列と受信した暗号文との排他的論理和演算を実行することにより平文を生成する第5のステップ(例えば、図6のステップS205に相当)と、該生成した平文を動的フィードバック関数および分割した一方の動的フィードバックレジスタの最終レジスタに逐次入力し、暗号文の入力が終了した後も、暗号文をオールゼロとして空回しを実行する第5のステップ(例えば、図6のステップS206に相当)と、該空回し終了後に、指定ビット長の鍵系列を生成し、メッセージ認証子として出力する第7のステップ(例えば、図6のステップS207に相当)と、該メッセージ認証子を平文に添付して出力する第7のステップと、前記出力されたメッセージ認証子と前記受信したメッセージ認証子とが一致するか否かを検証する第8のステップ(例えば、図6のステップS208に相当)と、をコンピュータに実行させるためのプログラムを提案している。   (14) The present invention is a program for decrypting a ciphertext encrypted by the program according to the thirteenth aspect, and includes a first step of reading an initial key and an initial vector (for example, in step S201 in FIG. 6). Equivalent), a second step (for example, equivalent to step S202 in FIG. 6) for executing the initialization process, and a third step (for example, in FIG. 6) for generating the key series by executing the key series generation process. 4) (equivalent to step S203), a fourth step of receiving the ciphertext and the message authenticator (for example, equivalent to step S204 of FIG. 6), and the exclusive OR of the generated key sequence and the received ciphertext. A fifth step (for example, corresponding to step S205 in FIG. 6) for generating plaintext by executing an operation, and a dynamic feedback function and one motion obtained by dividing the generated plaintext. A fifth step (for example, corresponding to step S206 in FIG. 6) of performing the idling with the ciphertext set to all zeros after the ciphertext input is completed after being sequentially input to the final register of the feedback register, and the idling After completion, a seventh step (for example, corresponding to step S207 in FIG. 6) for generating a key sequence having a specified bit length and outputting it as a message authenticator, and outputting the message authenticator attached to plaintext is output. And an eighth step (for example, corresponding to step S208 in FIG. 6) for verifying whether or not the output message authenticator matches the received message authenticator. A program for this is proposed.

この発明によれば、初期鍵、初期ベクトルを読み込み、初期化処理を実施する。次いで、鍵系列生成処理を実行し、鍵系列を生成し、生成した平文を動的フィードバック関数および分割した一方の動的フィードバックレジスタの最終レジスタに逐次入力し、暗号文の入力が終了した後も、暗号文をオールゼロとして空回しを実行し、空回し終了後に、指定ビット長の鍵系列を生成し、メッセージ認証子として出力し、メッセージ認証子を平文に添付して出力する。つまり、上記の処理を行うことにより、安全性を従来よりも向上させつつ、高速な復号化処理を実現することができる。また、送信されてきた暗号文に結合されたメッセージ認証子と生成したメッセージ認証子とを比較することにより、両者が一致するか否かを検証することができる。   According to the present invention, the initial key and the initial vector are read and the initialization process is performed. Next, after executing key sequence generation processing, generating a key sequence, sequentially inputting the generated plaintext into the dynamic feedback function and the final register of one of the divided dynamic feedback registers, and after the ciphertext input is completed Then, the ciphertext is all-zeroed, and the idling is executed. After the idling is completed, a key sequence having a specified bit length is generated and output as the message authenticator, and the message authenticator is attached to the plaintext and output. That is, by performing the above-described processing, it is possible to realize a high-speed decoding process while improving the safety as compared with the prior art. Further, by comparing the message authenticator combined with the transmitted ciphertext and the generated message authenticator, it is possible to verify whether or not they match.

本発明によれば、安全かつ効率的な認証付きストリーム暗号を生成できるという効果がある。また、復号処理においても安全かつ効率的な処理を実現できるという効果がある。   According to the present invention, it is possible to generate a stream cipher with authentication that is safe and efficient. Also, there is an effect that safe and efficient processing can be realized in the decoding processing.

本発明の第1の実施形態に係るストリーム暗号の暗号化装置の概略構成を示す図である。It is a figure which shows schematic structure of the encryption apparatus of the stream encryption which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るストリーム暗号の暗号化装置の具体的な構成を示す図である。It is a figure which shows the specific structure of the encryption apparatus of the stream encryption which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るストリーム暗号の暗号化装置の具体的な処理を示す図である。It is a figure which shows the specific process of the encryption apparatus of the stream encryption which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係るストリーム暗号の復号化装置の具体的な処理を示す図である。It is a figure which shows the specific process of the decoding apparatus of the stream encryption which concerns on the 2nd Embodiment of this invention.

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

図1から図6を用いて、本発明に係るストリーム暗号の暗号化装置および復号化装置について説明する。   A stream cipher encryption apparatus and decryption apparatus according to the present invention will be described with reference to FIGS.

<第1の実施形態>
図1から図3を用いて、本実施形態に係るストリーム暗号の暗号化装置について説明する。
<First Embodiment>
A stream cipher encryption apparatus according to this embodiment will be described with reference to FIGS. 1 to 3.

<ストリーム暗号の暗号化装置の概略構成>
図1に示すように、本実施形態に係るストリーム暗号の暗号化装置は、線形フィードバック関数100と、シフトレジスタ200と、動的フィードバック関数300と、シフトレジスタA400と、シフトレジスタB500と、非線形変換部600と、非線形関数(Msub)710、720と、排他的論理和演算器730、740、750とから構成されている。
<Schematic configuration of encryption device for stream cipher>
As shown in FIG. 1, the encryption apparatus for stream ciphers according to the present embodiment includes a linear feedback function 100, a shift register 200, a dynamic feedback function 300, a shift register A 400, a shift register B 500, a non-linear transformation. Unit 600, nonlinear function units (Msub) 710 and 720, and exclusive OR calculators 730, 740, and 750.

線形フィードバック関数100は、シフトレジスタ200から取得したデータに演算処理を行い、演算結果に基づいて、演算処理後のデータをシフトレジスタ200の最終レジスタにフィードバックするか否かを制御する。 Linear feedback function 100 performs calculation processing on the data obtained from the shift register 200, according to the result, it controls whether to feed back the data after processing into the final register of shift register 200.

シフトレジスタA400およびシフトレジスタB500は、動的フィードバック関数300の処理結果により動的に構造が変化するシフトレジスタである。したがって、より安全に暗号化処理および認証子の導出を行うことができる。 The shift register A 400 and the shift register B 500 are shift registers whose structures dynamically change depending on the processing result of the dynamic feedback function 300. Therefore, encryption processing and authentication code derivation can be performed more securely.

非線形変換部600は、シフトレジスタ200およびシフトレジスタA400、シフトレジスタB500から入力したデータについて、非線形変換の処理を行う。 Non-linear conversion unit 600 includes a shift register 200 and the shift register A400, the data inputted from the shift register B500, performs the processing of non-linear transformation.

非線形関数(Msub)710は、動的フィードバック関数300からの出力に対して、AES暗号のMix Column処理、S−Box処理、Mix Column処理を順番に行い、処理結果をシフトレジスタA400の最終レジスタに出力する。非線形関数(Msub)720は、シフトレジスタA400の出力レジスタの値と非線形変換部600から出力される暗号文とを排他的論理和演算器730において演算した値に対して、AES暗号のMix Column処理、S−Box処理、Mix Column処理を順番に行う。そしてその処理結果とシフトレジスタ200内のデータとの加算値がシフトレジスタB500の最終レジスタに出力されるThe non-linear function unit (Msub) 710 sequentially performs AES cipher mix column processing, S-box processing, and mix column processing on the output from the dynamic feedback function 300, and the processing result is the final register of the shift register A400. Output to. The non-linear function unit (Msub) 720 uses the exclusive OR calculator 730 to calculate the value of the output register of the shift register A 400 and the ciphertext output from the non-linear conversion unit 600, and the AES cipher mix column. processing, S-Box processing, intends line in order the Mix Column processing. Then , the added value of the processing result and the data in the shift register 200 is output to the final register of the shift register B500.

排他的論理和演算器740、750は、非線形変換部600からの出力と平文との排他的論理和演算を行って、暗号文を生成する。なお、暗号化処理終了後は、平文の値をオール「0」として空回しを指定回数実行し、空回し後に、指定ビット長の鍵系列を出力して、メッセージ認証子とする。さらに、生成した暗号文とメッセージ認証子とを結合して、最終的な出力とする。   The exclusive OR calculators 740 and 750 perform an exclusive OR operation on the output from the non-linear conversion unit 600 and the plaintext to generate a ciphertext. After the encryption process is completed, the plaintext value is set to all “0” and emptying is executed a specified number of times. After emptying, a key sequence having a specified bit length is output and used as a message authenticator. Further, the generated ciphertext and the message authenticator are combined to obtain a final output.

<ストリーム暗号の暗号化装置の具体的な構成>
図2に示すように、線形フィードバック関数100は、複数の排他的論理和演算器により構成されている。また、動的フィードバック関数300は、複数の排他的論理和演算器と加算器により構成されており、図2の場合には、シフトレジスタ200の2番目のレジスタにおける4ビットのデータにより、フィードバック処理において、加算器を選択するのか、排他的論理和演算器を選択するのかを制御する。このような制御を行うことにより、ストリーム暗号装置全体の安全性を向上させることができる。
<Specific Configuration of Stream Cipher Encryption Device>
As shown in FIG. 2, the linear feedback function 100 includes a plurality of exclusive OR calculators. The dynamic feedback function 300 is composed of a plurality of exclusive OR calculators and adders. In the case of FIG. 2, the feedback processing is performed using 4-bit data in the second register of the shift register 200. , The control unit selects whether an adder or an exclusive OR calculator is selected. By performing such control, the safety of the entire stream encryption apparatus can be improved.

非線形変換部600は、内部メモリ610a、610b、610c、610d、610eと、非線形関数(Sub)620a、620b、620c、620d、620eと、加算器630a、630b、630c、630d、630eと、排他的論理和演算器640a、640bとから構成されている。   The non-linear conversion unit 600 is exclusive of internal memories 610a, 610b, 610c, 610d, and 610e, non-linear functions (Sub) 620a, 620b, 620c, 620d, and 620e, and adders 630a, 630b, 630c, 630d, and 630e. The logical sum calculator 640a, 640b.

加算器630aは、シフトレジスタA400と内部メモリL2とに接続されており、内部メモリL2の値とシフトレジスタA400からの出力値とを加算して、非線形関数620bに出力する。 The adder 630a is connected to the shift register A400 and the internal memory L2, adds the value of the internal memory L2 and the output value from the shift register A400, and outputs the result to the nonlinear function unit 620b.

加算器630bは、シフトレジスタB500と内部メモリR2とに接続されており、内部メモリR2の値とシフトレジスタB500からの出力値とを加算して、非線形関数620cに出力する。なお、非線形関数(Sub)620a、620b、620c、620d、620eは、AES暗号のS−Box処理、Mix Column処理を順番に行い、処理結果を各内部メモリ610a、610b、610c、610d、610eに出力する。 The adder 630b is connected to the shift register B500 and the internal memory R2, adds the value of the internal memory R2 and the output value from the shift register B500, and outputs the result to the nonlinear function unit 620c. Note that the nonlinear function units (Sub) 620a, 620b, 620c, 620d, and 620e sequentially perform the S-Box processing and Mix Column processing of AES encryption, and the processing results are stored in the internal memories 610a, 610b, 610c, 610d, and 610e. Output to.

加算器630cは、内部メモリ(L2)610cと内部メモリ(L1)610aとに接続されており、内部メモリ(L2)610cと内部メモリ(L1)610aとを加算して、排他的論理和演算器640aに出力する。   The adder 630c is connected to the internal memory (L2) 610c and the internal memory (L1) 610a, and adds the internal memory (L2) 610c and the internal memory (L1) 610a to obtain an exclusive OR calculator. Output to 640a.

加算器630dは、内部メモリ(R2)610dと内部メモリ(R1)610bとに接続されており、内部メモリ(R2)610dと内部メモリ(R1)610bとを加算して、排他的論理和演算器640bに出力する。   The adder 630d is connected to the internal memory (R2) 610d and the internal memory (R1) 610b, and adds the internal memory (R2) 610d and the internal memory (R1) 610b to obtain an exclusive OR calculator. Output to 640b.

内部メモリ(L1)610aは、非線形関数620cの出力値を保存し、内部メモリ(R1)610bは、非線形関数620cの出力値を保存し、内部メモリ(L2)610cは、非線形関数620aの出力値を保存し、内部メモリ(R2)610dは、非線形関数620dの出力値を保存する。このように、4つの内部メモリを内部状態として備え、4つの内部メモリ間で非線形関数器を介した結線構造とすることにより、安全性を相乗的に増加させることができる。   The internal memory (L1) 610a stores the output value of the nonlinear function 620c, the internal memory (R1) 610b stores the output value of the nonlinear function 620c, and the internal memory (L2) 610c stores the output value of the nonlinear function 620a. The internal memory (R2) 610d stores the output value of the nonlinear function 620d. As described above, by providing four internal memories as internal states and connecting the four internal memories via a non-linear function unit, safety can be increased synergistically.

排他的論理和演算器640aは、加算器630cの出力値とシフトレジスタ200の出力値との排他的論理和演算を行って、演算結果を排他的論理和演算器740に出力する。排他的論理和演算器640bは、加算器630dの出力値とシフトレジスタ200からの値との排他的論理和演算を行って、演算結果を排他的論理和演算器750に出力する。 The exclusive OR calculator 640 a performs an exclusive OR operation on the output value of the adder 630 c and the output value of the shift register 200 , and outputs the calculation result to the exclusive OR calculator 740. The exclusive OR calculator 640 b performs an exclusive OR operation on the output value of the adder 630 d and the value from the shift register 200, and outputs the calculation result to the exclusive OR calculator 750.

<ストリーム暗号の暗号化装置の処理>
図3を用いて、本実施形態に係るストリーム暗号の暗号化装置の処理について説明する。
<Processing of encryption device for stream cipher>
With reference to FIG. 3, the processing of the encryption device for stream encryption according to the present embodiment will be described.

まず、初期鍵、初期ベクトルを読み込んで(ステップS101)、初期化処理を実施する(ステップS102)。次に、鍵系列生成処理を実行し、鍵系列を生成し(ステップS103)。生成した鍵系列と平文を排他的論理和することにより暗号文を生成する(ステップS104)。   First, an initial key and an initial vector are read (step S101), and an initialization process is performed (step S102). Next, key sequence generation processing is executed to generate a key sequence (step S103). A ciphertext is generated by exclusive ORing the generated key sequence and plaintext (step S104).

さらに、生成した暗号文を動的フィードバック関数および分割した一方の動的フィードバックレジスタの最終レジスタに逐次入力し、平文の入力が終了した後も、平文をオールゼロとして空回しを実行し(ステップS105)、空回し終了後に、指定ビット長の鍵系列を生成し、メッセージ認証子とする(ステップS106)。そして、メッセージ認証子を暗号文に添付して送信する(ステップS107)。   Further, the generated ciphertext is sequentially input to the dynamic feedback function and the final register of one of the divided dynamic feedback registers, and even after the plaintext input is completed, the plaintext is all-zeroed (step S105). After the idle rotation, a key sequence having a specified bit length is generated and used as a message authenticator (step S106). Then, the message authenticator is attached to the ciphertext and transmitted (step S107).

以上、説明したように、本実施形態によれば、安全性を従来よりも向上させつつ、高速な暗号化処理を実現することができる。また、出力するメッセージ認証子と暗号文とを結合して出力結果を生成することにより、安全な認証付きストリーム暗号を生成することができる。   As described above, according to the present embodiment, it is possible to realize high-speed encryption processing while improving safety as compared with the prior art. Further, by combining the message authenticator to be output and the ciphertext to generate an output result, a secure stream cipher with authentication can be generated.

<第2の実施形態>
図4から図6を用いて、本実施形態に係るストリーム暗号の復号化装置について説明する。なお、本実施形態に係るストリーム暗号の復号化装置は、第1の実施形態において暗号化されたデータを復号するものである。
<Second Embodiment>
The stream cipher decryption apparatus according to this embodiment will be described with reference to FIGS. The stream cipher decryption apparatus according to the present embodiment decrypts the data encrypted in the first embodiment.

<ストリーム暗号の復号化装置の概略構成>
図4に示すように、本実施形態に係るストリーム暗号の復号化装置は、線形フィードバック関数100と、シフトレジスタ200と、動的フィードバック関数300と、シフトレジスタA400と、シフトレジスタB500と、非線形変換部600と、非線形関数(Msub)710、720と、排他的論理和演算器730、760、770とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素は、同一の機能を有することから、その詳細な説明は省略する。
<Schematic Configuration of Stream Cipher Decryption Device>
As shown in FIG. 4, the stream cipher decryption apparatus according to the present embodiment includes a linear feedback function 100, a shift register 200, a dynamic feedback function 300, a shift register A 400, a shift register B 500, a non-linear transformation. Unit 600, nonlinear function units (Msub) 710 and 720, and exclusive OR calculators 730, 760, and 770. In addition, since the component which attaches | subjects the same code | symbol as 1st Embodiment has the same function, the detailed description is abbreviate | omitted.

<ストリーム暗号の復号化装置の処理>
図6を用いて、本実施形態に係るストリーム暗号の暗号化装置の処理について説明する。
<Processing of Decryption Device for Stream Cipher>
With reference to FIG. 6, the processing of the stream cipher encryption apparatus according to this embodiment will be described.

まず、初期鍵、初期ベクトルを読み込んで(ステップS201)、初期化処理を実施する(ステップS202)。次に、鍵系列生成処理を実行し、鍵系列を生成し(ステップS203)暗号文とメッセージ認証子を受信する(ステップS204)。次に、生成した鍵系列と暗号文を排他的論理和することにより平文を生成する(ステップS205)。   First, an initial key and an initial vector are read (step S201), and an initialization process is performed (step S202). Next, a key sequence generation process is executed to generate a key sequence (step S203), and a ciphertext and a message authenticator are received (step S204). Next, a plaintext is generated by exclusive ORing the generated key sequence and the ciphertext (step S205).

さらに、生成した平文を動的フィードバック関数および分割した一方の動的フィードバックレジスタの最終レジスタに逐次入力し、暗号文の入力が終了した後も、暗号文をオールゼロとして空回しを実行し(ステップS206)、空回し終了後に、指定ビット長の鍵系列を生成し、メッセージ認証子として出力する(ステップS207)。そして、受信したメッセージ認証子と生成したメッセージ認証子とを照合する(ステップS208)。   Further, the generated plaintext is sequentially input to the dynamic feedback function and the final register of one of the divided dynamic feedback registers, and the ciphertext is all-zeroed after the ciphertext input is completed (step S206). ) After the idling, a key sequence having a specified bit length is generated and output as a message authenticator (step S207). Then, the received message authenticator is collated with the generated message authenticator (step S208).

以上、説明したように、本実施形態によれば、安全性を従来よりも向上させつつ、高速な復号化処理を実現することができる。また、送信されてきた暗号文に結合されたメッセージ認証子と生成したメッセージ認証子とを比較することにより、両者が一致するか否かを検証することができる。   As described above, according to the present embodiment, it is possible to realize a high-speed decoding process while improving the safety as compared with the prior art. Further, by comparing the message authenticator combined with the transmitted ciphertext and the generated message authenticator, it is possible to verify whether or not they match.

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

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

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

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

100;線形フィードバック関数
200;シフトレジスタ
300;動的フィードバック関数
400;シフトレジスタA
500;シフトレジスタB
600;非線形変換部
610a;内部メモリ
610b;内部メモリ
610c;内部メモリ
610d;内部メモリ
610e;内部メモリ
620a;非線形関数(Sub)
620b;非線形関数(Sub)
620c;非線形関数(Sub)
620d;非線形関数(Sub)
620e;非線形関数(Sub)
603a;加算器
603b;加算器
603c;加算器
603d;加算器
603e;加算器
640a;排他的論理和演算器
640b;排他的論理和演算器
710;非線形関数(Msub)
720;非線形関数(Msub)
730;排他的論理和演算器
740;排他的論理和演算器
750;排他的論理和演算器
760;排他的論理和演算器
770;排他的論理和演算器
100; linear feedback function 200; shift register 300; dynamic feedback function 400; shift register A
500: Shift register B
600: Non-linear conversion unit 610a; Internal memory 610b; Internal memory 610c; Internal memory 610d; Internal memory 610e; Internal memory 620a; Non-linear function unit (Sub)
620b; Nonlinear function unit (Sub)
620c; nonlinear function unit (Sub)
620d; Nonlinear function unit (Sub)
620e; Nonlinear function unit (Sub)
603a; adder 603b; adder 603c; adder 603d; adder 603e; adder 640a; exclusive OR operator 640b; exclusive OR operator 710; nonlinear function unit (Msub)
720: Nonlinear function unit (Msub)
730; exclusive OR calculator 740; exclusive OR calculator 750; exclusive OR calculator 760; exclusive OR calculator 770; exclusive OR calculator

Claims (4)

第1のシフトレジスタと、
該第1のシフトレジスタにデータをフィードバックし、前記第1のシフトレジスタとともに、線形フィードバックシフトレジスタを構成する線形フィードバック関数と、
2つに分割された第2のシフトレジスタ、第3のシフトレジスタと、
前記第2のシフトレジスタと、前記第3のシフトレジスタと、第1の非線形関数器と、第2の非線形関数器とともに、動的フィードバックシフトレジスタを構成する動的フィードバック関数と、
前記第2のシフトレジスタ、第3のシフトレジスタからの入力データと前記第1のシフトレジスタからの入力データとを非線形変換する非線形変換手段と、
前記非線形変換手段の出力データと入力した平文との排他的論理和演算を行い暗号文を出力する排他的論理和演算器と、
を備え、
前記第1の非線形関数器が、前記動的フィードバック関数の出力データを非線形変換し、前記第2の非線形関数器が、前記第2のシフトレジスタの出力データと出力される暗号文との排他的論理和に対して非線形変換を行なうとともに、前記第2のシフトレジスタには、前記第1の非線形関数器において非線形変換されたデータと前記第1のシフトレジスタ内のデータとの加算値が入力され、前記第3のシフトレジスタには、前記第2の非線形関数器において非線形変換されたデータと前記第1のシフトレジスタ内のデータとの加算値が入力されることを特徴とするストリーム暗号の暗号化装置。
A first shift register;
A linear feedback function that feeds back data to the first shift register and forms a linear feedback shift register together with the first shift register;
A second shift register divided into two, a third shift register, and
A dynamic feedback function constituting a dynamic feedback shift register together with the second shift register, the third shift register, a first nonlinear function unit, and a second nonlinear function unit;
Nonlinear conversion means for nonlinearly converting input data from the second shift register and the third shift register and input data from the first shift register;
An exclusive OR calculator that performs an exclusive OR operation between the output data of the nonlinear conversion means and the input plaintext and outputs a ciphertext;
With
The first nonlinear function unit nonlinearly transforms the output data of the dynamic feedback function, and the second nonlinear function unit exclusively outputs the output data of the second shift register and the output ciphertext. A non-linear conversion is performed on the logical sum, and an addition value of the data non-linearly converted in the first non-linear function unit and the data in the first shift register is input to the second shift register. The stream shift cipher is characterized in that the third shift register receives an addition value of the data nonlinearly converted in the second nonlinear function unit and the data in the first shift register. Device.
前記非線形変換手段が、4つの内部メモリを内部状態として備え、該4つの内部メモリ間で非線形関数器を介した結線構造を有することを特徴とする請求項1に記載のストリーム暗号の暗号化装置。   2. The stream cipher encryption apparatus according to claim 1, wherein the non-linear conversion means includes four internal memories as internal states and has a connection structure between the four internal memories via a non-linear function unit. . 暗号化処理の実行後に、すべてのデータを「0」とした平文を入力して空まわし処理を指定回数実行することを特徴とする請求項1に記載のストリーム暗号の暗号化装置。   2. The stream cipher encryption apparatus according to claim 1, wherein after the encryption process is executed, plain text with all data set to “0” is input and the empty rotation process is executed a specified number of times. 前記空まわし処理の後で、指定ビット長の鍵系列をメッセージ認証子として出力することを特徴とする請求項3に記載のストリーム暗号の暗号化装置。   4. The stream cipher encryption apparatus according to claim 3, wherein a key sequence having a specified bit length is output as a message authenticator after the empty rotation processing.
JP2011102049A 2011-04-28 2011-04-28 Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program Active JP5801095B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011102049A JP5801095B2 (en) 2011-04-28 2011-04-28 Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011102049A JP5801095B2 (en) 2011-04-28 2011-04-28 Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program

Publications (2)

Publication Number Publication Date
JP2012235287A JP2012235287A (en) 2012-11-29
JP5801095B2 true JP5801095B2 (en) 2015-10-28

Family

ID=47435197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011102049A Active JP5801095B2 (en) 2011-04-28 2011-04-28 Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program

Country Status (1)

Country Link
JP (1) JP5801095B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3864675B2 (en) * 2000-03-09 2007-01-10 株式会社日立製作所 Common key encryption device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Also Published As

Publication number Publication date
JP2012235287A (en) 2012-11-29

Similar Documents

Publication Publication Date Title
TWI402675B (en) Low latency block cipher
JP5120830B2 (en) Method and system for generating ciphertext and message authentication code using shared hardware
TWI573039B (en) Computing system and cryptography apparatus thereof and method for cryptography
US8050401B2 (en) High speed configurable cryptographic architecture
US8966279B2 (en) Securing the implementation of a cryptographic process using key expansion
KR20100069610A (en) Methods and devices for a chained encryption mode
TW201044334A (en) Encryption device, encryption method, and computer program
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
Asaad et al. Advanced Encryption Standard Enhancement with Output Feedback Block Mode Operation
JP4909668B2 (en) Hybrid encryption apparatus and hybrid encryption method
KR102096359B1 (en) Data transmission apparatus capable of secret key encryption based on involutory matrix and operating method thereof
JP2012039180A (en) Encryptor of stream encryption, decoder of stream encryption, encrypting method of stream encryption, decoding method of stream encryption, and program
JP5801095B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP5431191B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
KR101440680B1 (en) Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same
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
JP4287397B2 (en) Ciphertext generation apparatus, ciphertext decryption apparatus, ciphertext generation program, and ciphertext decryption program
JP5489696B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP5431190B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
Ahmed et al. Advanced Encryption Standard‐XTS implementation in field programmable gate array hardware
JP2015082077A (en) Encryption device, control method, and program
JP5706751B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP2006502437A (en) Encryption circuit apparatus and method
JP5495825B2 (en) Stream cipher secret calculation encryption apparatus, stream cipher secret calculation decryption apparatus, encryption method, decryption method, and program
JP5559011B2 (en) Stream cipher encryption apparatus, stream cipher encryption method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150702

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150826

R150 Certificate of patent or registration of utility model

Ref document number: 5801095

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150