JP2012235287A - Encryption device of stream cipher, decryption device of stream cipher, encryption method of stream cipher, decryption method of stream cipher, and program - Google Patents
Encryption device of stream cipher, decryption device of stream cipher, encryption method of stream cipher, decryption method of stream cipher, and program Download PDFInfo
- Publication number
- JP2012235287A JP2012235287A JP2011102049A JP2011102049A JP2012235287A JP 2012235287 A JP2012235287 A JP 2012235287A JP 2011102049 A JP2011102049 A JP 2011102049A JP 2011102049 A JP2011102049 A JP 2011102049A JP 2012235287 A JP2012235287 A JP 2012235287A
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- stream cipher
- message authenticator
- plaintext
- key sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
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).
しかしながら、これまで、ストリーム暗号を認証付き暗号にするためには、アルゴリズムの再設計が必要であった。または、設計の段階から認証機能の組み込みを考慮する必要があった。さらには、認証付きストリーム暗号のほとんどすべてが攻撃により破られており、安全な認証付きストリーム暗号はほとんど無いという状況である。 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の線形フィードバックレジスタ200に相当)と、該線形フィードバックレジスタに入力するデータをフィードバックするフィードバック関数(例えば、図1のフィードバック関数100に相当)と、2つに分割された動的フィードバックレジスタ(例えば、図1の動的フィードバックレジスタ400、500に相当)と、分割された2つの動的フィードバックレジスタの最終レジスタにデータをフィードバックする動的フィードバック関数(例えば、図1の動的フィードバックレジスタ300に相当)と、前記2つの動的フィードバックレジスタからの入力データと前記線形フィードバックレジスタの入力データとを非線形変換する非線形変換手段(例えば、図1の非線形変換部600に相当)と、前記非線形関数の出力データと入力した平文との排他的論理和演算を行い暗号文を出力する排他的論理和演算器(例えば、図1の排他的論理和演算器760、770に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
(1) The present invention is a linear feedback register (for example, equivalent to the
この発明によれば、ストリーム暗号の暗号化装置は、線形フィードバックレジスタと、線形フィードバックレジスタに入力するデータをフィードバックするフィードバック関数と、2つに分割された動的フィードバックレジスタと、分割された2つの動的フィードバックレジスタの最終レジスタにデータをフィードバックする動的フィードバック関数と、2つの動的フィードバックレジスタからの入力データと線形フィードバックレジスタの入力データとを非線形変換する非線形変換手段と、非線形関数の出力データと入力した平文との排他的論理和演算を行い暗号文を出力する排他的論理和演算器と、を備えている。つまり、上記の構成とすることにより、安全性を従来よりも向上させつつ、高速な暗号化処理を実現することができる。 According to the present invention, an encryption apparatus for a stream cipher includes a linear feedback register, a feedback function for feeding back data input to the linear feedback register, a dynamic feedback register divided into two, and two divided A dynamic feedback function that feeds back data to the final register of the dynamic feedback register, a nonlinear conversion means that nonlinearly converts input data from the two dynamic feedback registers and input data of the linear feedback register, and output data of the nonlinear function And an exclusive OR calculator that performs an exclusive OR operation on the input plaintext and outputs a ciphertext. 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
この発明によれば、非線形変換手段が、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.
(3)本発明は、(1)のストリーム暗号の暗号化装置について、前記非線形変換手段が出力する暗号文を前記動的フィードバック関数および分割された一方の動的フィードバックレジスタの最終レジスタに出力することを特徴とするストリーム暗号の暗号化装置を提案している。 (3) In the stream cipher encryption apparatus according to (1), the present invention outputs the ciphertext output by the nonlinear conversion means to the dynamic feedback function and the final register of one of the divided dynamic feedback registers. A stream cipher encryption device characterized by this is proposed.
この発明によれば、非線形変換手段が出力する暗号文を動的フィードバック関数および分割された一方の動的フィードバックレジスタの最終レジスタに出力する。つまり、動的フィードバックレジスタを分割し、暗号文を入力するレジスタ間に距離を持たせることにより、安全性を高めることができる。 According to the present invention, the ciphertext output by the nonlinear conversion means is output to the dynamic feedback function and the final register of one of the divided dynamic feedback registers. That is, security can be improved by dividing the dynamic feedback register and providing a distance between the registers for inputting the ciphertext.
(4)本発明は、(1)のストリーム暗号の暗号化装置について、暗号化処理の実行後に、すべてのデータを「0」とした平文を入力して空まわし処理を指定回数実行することを特徴とするストリーム暗号の暗号化装置を提案している。 (4) 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.
(5)本発明は、(4)のストリーム暗号の暗号化装置について、前記空まわし処理の後で、指定ビット長の鍵系列をメッセージ認証子として出力することを特徴とするストリーム暗号の暗号化装置を提案している。 (5) The present invention relates to the stream cipher encryption apparatus according to (4), wherein a key sequence having a specified bit length is output as a message authenticator after the emptying 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. 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.
(6)本発明は、(1)から(5)のストリーム暗号の暗号化装置により生成された暗号文を復号するストリーム暗号の復号化装置であって、線形フィードバックレジスタ(例えば、図4の線形フィードバックレジスタ200に相当)と、該線形フィードバックレジスタに入力するデータをフィードバックするフィードバック関数(例えば、図4のフィードバック関数100に相当)と、2つに分割された動的フィードバックレジスタ(例えば、図4の動的フィードバックレジスタ400、500に相当)と、分割された2つの動的フィードバックレジスタの最終レジスタにデータをフィードバックする動的フィードバック関数(例えば、図4の動的フィードバックレジスタ300に相当)と、前記2つの動的フィードバックレジスタからの入力データと前記線形フィードバックレジスタの入力データとを非線形変換する非線形変換手段(例えば、図4の非線形変換部600に相当)と、前記非線形関数の出力データと入力した暗号文との排他的論理和演算を行い平文を出力する排他的論理和演算器(例えば、図4の排他的論理和演算器760、770に相当)と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。
(6) The present invention is a stream cipher decrypting device that decrypts ciphertext generated by the stream cipher encrypting device of (1) to (5), and is a linear feedback register (for example, linear in FIG. 4). Feedback register 200), a feedback function that feeds back data input to the linear feedback register (eg, equivalent to the
この発明によれば、ストリーム暗号の復号化装置は、線形フィードバックレジスタと、線形フィードバックレジスタに入力するデータをフィードバックするフィードバック関数と、2つに分割された動的フィードバックレジスタと、分割された2つの動的フィードバックレジスタの最終レジスタにデータをフィードバックする動的フィードバック関数と、2つの動的フィードバックレジスタからの入力データと線形フィードバックレジスタの入力データとを非線形変換する非線形変換手段と、非線形関数の出力データと入力した暗号文との排他的論理和演算を行い平文を出力する排他的論理和演算器と、を備えている。つまり、上記の構成とすることにより、安全性を従来よりも向上させつつ、高速な復号化処理を実現することができる。 According to the present invention, a decryption apparatus for a stream cipher includes a linear feedback register, a feedback function for feeding back data input to the linear feedback register, a dynamic feedback register divided into two, and two divided A dynamic feedback function that feeds back data to the final register of the dynamic feedback register, a nonlinear conversion means that nonlinearly converts input data from the two dynamic feedback registers and input data of the linear feedback register, and output data of the nonlinear function And an exclusive OR calculator that performs an exclusive OR operation on the input ciphertext and outputs a plaintext. That is, with the above-described configuration, it is possible to realize high-speed decoding processing while improving safety as compared with the prior art.
(7)本発明は、(6)のストリーム暗号の復号化装置について、前記非線形変換手段が、4つの内部メモリ(例えば、図5の内部メモリL1、L2、R1、R2に相当)を内部状態として備え、該4つの内部メモリ間で非線形関数器(例えば、図5の非線形関数620a、620b、620c、620dに相当)を介した結線構造を有することを特徴とするストリーム暗号の暗号化装置を提案している。
(7) The present invention relates to the stream cipher decryption device of (6), wherein 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 via a non-linear function unit (for example, corresponding to the
この発明によれば、非線形変換手段が、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.
(8)本発明は、(6)のストリーム暗号の復号化装置について、前記非線形変換手段が出力する平文を前記動的フィードバック関数および分割された一方の動的フィードバックレジスタの最終レジスタに出力することを特徴とするストリーム暗号の復号化装置を提案している。 (8) In the stream cipher decryption device according to (6), the present invention outputs the plaintext output by the nonlinear conversion means to the dynamic feedback function and the final register of one of the divided dynamic feedback registers. Has been proposed.
この発明によれば、非線形変換手段が出力する平文を動的フィードバック関数および分割された一方の動的フィードバックレジスタの最終レジスタに出力する。つまり、動的フィードバックレジスタを分割し、平文を入力するレジスタ間に距離を持たせることにより、安全性を高めることができる。 According to the present invention, the plain text output by the nonlinear conversion means is output to the dynamic feedback function and the final register of one of the divided dynamic feedback registers. In other words, the safety can be improved by dividing the dynamic feedback register and providing a distance between the registers for inputting plaintext.
(9)本発明は、(6)のストリーム暗号の復号化装置について、復号化処理の実行後に、すべてのデータを「0」とした暗号文を入力して空まわし処理を指定回数実行することを特徴とするストリーム暗号の暗号化装置を提案している。 (9) According to the stream cipher decrypting device of (6), after executing the decrypting process, the ciphertext with all 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.
(10)本発明は、(9)のストリーム暗号の復号化装置について、前記空まわし処理の後で、指定ビット長の鍵系列をメッセージ認証子として出力することを特徴とするストリーム暗号の復号化装置を提案している。 (10) The present invention relates to the stream cipher decryption apparatus according to (9), wherein a key sequence having a specified bit length is output as a message authenticator after the emptying 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.
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
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 stream cipher encryption apparatus according to the present embodiment includes a
線形フィードバックシフトレジスタ200は、レジスタの各セルにフィードバックをかけるシフトレジスタである。フィードバック関数100は、線形フィードバックシフトレジスタ200から取得したデータに演算処理を行い、演算結果に基づいて、演算処理後のデータを線形フィードバックシフトレジスタ200の最終レジスタにフィードバックするか否かを制御する。
The linear
動的フィードバックレジスタA400および動的フィードバックレジスタB500は、動的フィードバック関数300の処理結果により動的に構造が変化する線形フィードバックシフトレジスタである。したがって、より安全に暗号化処理および認証子の導出を行うことができる。また、本実施形態においては、動的フィードバックレジスタが2つに分割されて配置されており、暗号文を動的フィードバック関数および分割された一方の動的フィードバックレジスタA400および動的フィードバックレジスタB500の最終レジスタに出力する。つまり、動的フィードバックレジスタを分割し、暗号文を入力するレジスタ間に距離を持たせることにより、安全性を高めることができる。
The dynamic
非線形変換部600は、線形シフトレジスタ200および動的フィードバックレジスタA400、動的フィードバックレジスタB500から入力したデータについて、非線形変換の処理を行う。
The
非線形関数(Msub)710は、動的フィードバック関数300からの出力に対して、AES暗号のMix Column処理、S−Box処理、Mix Column処理を順番に行い、処理結果を動的フィードバックレジスタA400の最終レジスタに出力する。非線形関数(Msub)720は、動的フィードバックレジスタA400の出力レジスタの値と非線形変換部600から出力される暗号文とを排他的論理和演算器730において演算した値に対して、AES暗号のMix Column処理、S−Box処理、Mix Column処理を順番に行い、処理結果を動的フィードバックレジスタB500の最終レジスタに出力する。
The non-linear function (Msub) 710 sequentially performs AES cipher mix column processing, S-box processing, and mix column processing on the output from the
排他的論理和演算器740、750は、非線形変換部600からの出力と平文との排他的論理和演算を行って、暗号文を生成する。なお、暗号化処理終了後は、平文の値をオール「0」として空回しを指定回数実行し、空回し後に、指定ビット長の鍵系列を出力して、メッセージ認証子とする。さらに、生成した暗号文とメッセージ認証子とを結合して、最終的な出力とする。
The exclusive OR
<ストリーム暗号の暗号化装置の具体的な構成>
図2に示すように、フィードバック関数100は、複数の排他的論理和演算器により構成されている。また、動的フィードバック関数300は、複数の排他的論理和演算器と加算器により構成されており、図2の場合には、線形フィードバックシフトレジスタ200の2番目のレジスタにおける4ビットのデータにより、フィードバック処理において、加算器を選択するのか、排他的論理和演算器を選択するのかを制御する。このような制御を行うことにより、ストリーム暗号装置全体の安全性を向上させることができる。
<Specific Configuration of Stream Cipher Encryption Device>
As shown in FIG. 2, the
非線形変換部600は、内部メモリ610a、610b、610c、610d、610eと、非線形関数(Sub)620a、620b、620c、620d、620eと、加算器630a、630b、630c、630d、630eと、排他的論理和演算器640a、640bとから構成されている。
The
加算器630aは、動的フィードバックシフトレジスタA400と内部メモリL2とに接続されており、内部メモリL2の値と動的フィードバックシフトレジスタA400からの出力値とを加算して、非線形関数620bに出力する。
The
加算器630bは、動的フィードバックシフトレジスタB500と内部メモリR2とに接続されており、内部メモリR2の値と動的フィードバックシフトレジスタB500からの出力値とを加算して、非線形関数620cに出力する。なお、非線形関数(Sub)620a、620b、620c、620d、620eは、AES暗号のS−Box処理、Mix Column処理を順番に行い、処理結果を各内部メモリ610a、610b、610c、610d、610eに出力する。
The
加算器630cは、内部メモリ(L2)610cと内部メモリ(L1)610aとに接続されており、内部メモリ(L2)610cと内部メモリ(L1)610aとを加算して、排他的論理和演算器640aに出力する。
The
加算器630dは、内部メモリ(R2)610dと内部メモリ(R1)610bとに接続されており、内部メモリ(R2)610dと内部メモリ(R1)610bとを加算して、排他的論理和演算器640bに出力する。
The
内部メモリ(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
排他的論理和演算器640aは、加算器630cの出力値と線形フィードバックシフトレジスタ100の出力値との排他的論理和演算を行って、演算結果を排他的論理和演算器740に出力する。排他的論理和演算器640bは、加算器630dの出力値と線形フィードバックシフトレジスタ100からの値との排他的論理和演算を行って、演算結果を排他的論理和演算器750に出力する。
The exclusive OR
<ストリーム暗号の暗号化装置の処理>
図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、740、750とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素は、同一の機能を有することから、その詳細な説明は省略する。
<Schematic Configuration of Decryption Device for Stream Cipher>
As shown in FIG. 4, the stream cipher decryption apparatus according to the present embodiment includes a
<ストリーム暗号の復号化装置の処理>
図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;排他的論理和演算器
100;
500; Dynamic feedback register B
600: Non-linear conversion unit 610a;
620b; Nonlinear function (Sub)
620c; nonlinear function (Sub)
620d; nonlinear function (Sub)
620e; nonlinear function (Sub)
603a; adder 603b; adder 603c; adder 603d; adder 603e; adder 640a; exclusive OR
720: nonlinear function (Msub)
730; exclusive OR
Claims (14)
該線形フィードバックレジスタに入力するデータをフィードバックするフィードバック関数と、
2つに分割された動的フィードバックレジスタと、
分割された2つの動的フィードバックレジスタの最終レジスタにデータをフィードバックする動的フィードバック関数と、
前記2つの動的フィードバックレジスタからの入力データと前記線形フィードバックレジスタの入力データとを非線形変換する非線形変換手段と、
前記非線形関数の出力データと入力した平文との排他的論理和演算を行い暗号文を出力する排他的論理和演算器と、
を備えたことを特徴とするストリーム暗号の暗号化装置。 A linear feedback register;
A feedback function for feeding back data input to the linear feedback register;
A dynamic feedback register divided into two;
A dynamic feedback function that feeds back data to the final register of two divided dynamic feedback registers;
Nonlinear conversion means for nonlinearly converting input data from the two dynamic feedback registers and input data of the linear feedback register;
An exclusive OR calculator that performs an exclusive OR operation between the output data of the nonlinear function and the input plaintext and outputs a ciphertext;
A stream cipher encryption apparatus comprising:
線形フィードバックレジスタと、
該線形フィードバックレジスタに入力するデータをフィードバックするフィードバック関数と、
2つに分割された動的フィードバックレジスタと、
分割された2つの動的フィードバックレジスタの最終レジスタにデータをフィードバックする動的フィードバック関数と、
前記2つの動的フィードバックレジスタからの入力データと前記線形フィードバックレジスタの入力データとを非線形変換する非線形変換手段と、
前記非線形関数の出力データと入力した暗号文との排他的論理和演算を行い平文を出力する排他的論理和演算器と、
を備えたことを特徴とするストリーム暗号の復号化装置。 A stream cipher decrypting device for decrypting a ciphertext generated by the stream cipher encrypting device according to claim 1,
A linear feedback register;
A feedback function for feeding back data input to the linear feedback register;
A dynamic feedback register divided into two;
A dynamic feedback function that feeds back data to the final register of two divided dynamic feedback registers;
Nonlinear conversion means for nonlinearly converting input data from the two dynamic feedback registers and input data of the linear feedback register;
An exclusive OR calculator that performs an exclusive OR operation between the output data of the nonlinear function and the input ciphertext, and outputs a plaintext;
An apparatus for decrypting a stream cipher, comprising:
初期化処理を実施する第2のステップと、
鍵系列生成処理を実行し、鍵系列を生成する第3のステップと、
該生成した鍵系列と平文との排他的論理和演算を実行することにより暗号文を生成する第4のステップと、
該生成した暗号文を分割した2つのメッセージ認証子作成用メモリに逐次入力し、平文の入力が終了した後も、平文をオールゼロとして空回しを実行する第5のステップと、
該空回し終了後に、前記分割した2つのメッセージ認証子用メモリの値を結合し、メッセージ認証子とする第6のステップと、
該メッセージ認証子を暗号文に添付して出力する第7のステップと、
を備えたことを特徴とするストリーム暗号の暗号化方法。 A first step of reading an initial key and an initial vector;
A second step of performing an initialization process;
Executing a key sequence generation process to generate a key sequence;
A fourth step of generating a ciphertext by performing an exclusive OR operation between the generated key sequence and plaintext;
A fifth step of sequentially inputting the generated ciphertext into the two divided message authenticator creation memories, and executing emptying with the plaintext as all zeros after the input of the plaintext is completed,
A sixth step of combining the divided two message authenticator values into a message authenticator after completion of the idle rotation;
A seventh step of outputting the message authenticator attached to the ciphertext;
A stream cipher encryption method characterized by comprising:
初期鍵、初期ベクトルを読み込む第1のステップと、
初期化処理を実施する第2のステップと、
鍵系列生成処理を実行し、鍵系列を生成する第3のステップと、
暗号文とメッセージ認証子とを受信する第4のステップと、
該生成した鍵系列と受信した暗号文との排他的論理和演算を実行することにより平文を生成する第5のステップと、
該生成した平文を分割した2つのメッセージ認証子作成用メモリに逐次入力し、前記暗号文の入力が終了した後も、前記暗号文をオールゼロとして空回しを実行する第6のステップと、
該空回し終了後に、前記分割した2つのメッセージ認証子用メモリの値を結合し、メッセージ認証子とする第7のステップと、
該メッセージ認証子を平文に添付して出力する第8のステップと、
前記出力されたメッセージ認証子と前記受信したメッセージ認証子とが一致するか否かを検証する第8のステップと、
を備えたことを特徴とするストリーム暗号の復号化方法。 A stream cipher decryption method for decrypting ciphertext encrypted by the stream cipher encryption method according to claim 11,
A first step of reading an initial key and an initial vector;
A second step of performing an initialization process;
Executing a key sequence generation process to generate a key sequence;
A fourth step of receiving a ciphertext and a message authenticator;
A fifth step of generating plaintext by performing an exclusive OR operation between the generated key sequence and the received ciphertext;
Sixth step of sequentially inputting the generated plaintext into two divided message authenticator creation memories and executing emptying with the ciphertext set to all zeros after the input of the ciphertext is completed;
A seventh step of combining the divided two message authenticator values into a message authenticator after completion of the idle rotation;
An eighth step of outputting the message authenticator attached to plaintext;
An eighth step of verifying whether the output message authenticator and the received message authenticator match;
A method of decrypting a stream cipher, comprising:
初期化処理を実施する第2のステップと、
鍵系列生成処理を実行し、鍵系列を生成する第3のステップと、
該生成した鍵系列と平文との排他的論理和演算を実行することにより暗号文を生成する第4のステップと、
該生成した暗号文を分割した2つのメッセージ認証子作成用メモリに逐次入力し、平文の入力が終了した後も、平文をオールゼロとして空回しを実行する第5のステップと、
該空回し終了後に、前記分割した2つのメッセージ認証子用メモリの値を結合し、メッセージ認証子とする第6のステップと、
該メッセージ認証子を暗号文に添付して出力する第7のステップと、
をコンピュータに実行させるためのプログラム。 A first step of reading an initial key and an initial vector;
A second step of performing an initialization process;
Executing a key sequence generation process to generate a key sequence;
A fourth step of generating a ciphertext by performing an exclusive OR operation between the generated key sequence and plaintext;
A fifth step of sequentially inputting the generated ciphertext into the two divided message authenticator creation memories, and executing emptying with the plaintext as all zeros after the input of the plaintext is completed,
A sixth step of combining the divided two message authenticator values into a message authenticator after completion of the idle rotation;
A seventh step of outputting the message authenticator attached to the ciphertext;
A program that causes a computer to execute.
初期鍵、初期ベクトルを読み込む第1のステップと、
初期化処理を実施する第2のステップと、
鍵系列生成処理を実行し、鍵系列を生成する第3のステップと、
暗号文とメッセージ認証子とを受信する第4のステップと、
該生成した鍵系列と受信した暗号文との排他的論理和演算を実行することにより平文を生成する第5のステップと、
該生成した平文を分割した2つのメッセージ認証子作成用メモリに逐次入力し、前記暗号文の入力が終了した後も、前記暗号文をオールゼロとして空回しを実行する第6のステップと、
該空回し終了後に、前記分割した2つのメッセージ認証子用メモリの値を結合し、メッセージ認証子とする第6のステップと、
該メッセージ認証子を平文に添付して出力する第7のステップと、
前記出力されたメッセージ認証子と前記受信したメッセージ認証子とが一致するか否かを検証する第8のステップと、
をコンピュータに実行させるためのプログラム。 A program for decrypting ciphertext encrypted by the program according to claim 13,
A first step of reading an initial key and an initial vector;
A second step of performing an initialization process;
Executing a key sequence generation process to generate a key sequence;
A fourth step of receiving a ciphertext and a message authenticator;
A fifth step of generating plaintext by performing an exclusive OR operation between the generated key sequence and the received ciphertext;
Sixth step of sequentially inputting the generated plaintext into two divided message authenticator creation memories and executing emptying with the ciphertext set to all zeros after the input of the ciphertext is completed;
A sixth step of combining the divided two message authenticator values into a message authenticator after completion of the idle rotation;
A seventh step of outputting the message authenticator attached to plaintext;
An eighth step of verifying whether the output message authenticator and the received message authenticator match;
A program that causes a computer to execute.
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 true JP2012235287A (en) | 2012-11-29 |
| JP5801095B2 JP5801095B2 (en) | 2015-10-28 |
Family
ID=47435197
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011102049A Expired - Fee Related 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 (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114969848A (en) * | 2022-05-16 | 2022-08-30 | 山东大学 | A hardware implementation device and implementation method of Plantlet ultra-lightweight encryption algorithm |
| 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 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001324925A (en) * | 2000-03-09 | 2001-11-22 | Hitachi Ltd | Common key encryption method and apparatus |
-
2011
- 2011-04-28 JP JP2011102049A patent/JP5801095B2/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001324925A (en) * | 2000-03-09 | 2001-11-22 | Hitachi Ltd | Common key encryption method and apparatus |
Non-Patent Citations (1)
| Title |
|---|
| JPN7014003579; ストリーム暗号KCipher-2 , 20100201, pp.1-22 * |
Cited By (3)
| 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 |
| CN114969848A (en) * | 2022-05-16 | 2022-08-30 | 山东大学 | A hardware implementation device and implementation method of Plantlet ultra-lightweight encryption algorithm |
| CN114969848B (en) * | 2022-05-16 | 2024-06-04 | 山东大学 | A hardware implementation device and implementation method of Plantlet ultra-lightweight encryption algorithm |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5801095B2 (en) | 2015-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI402675B (en) | Low latency block cipher | |
| CN110235409B (en) | Method for protected RSA signature or decryption using homomorphic encryption | |
| US8966279B2 (en) | Securing the implementation of a cryptographic process using key expansion | |
| TWI573039B (en) | Computing system and cryptography apparatus thereof and method for cryptography | |
| US8504845B2 (en) | Protecting states of a cryptographic process using group automorphisms | |
| US9565018B2 (en) | Protecting cryptographic operations using conjugacy class functions | |
| TW201044334A (en) | Encryption device, encryption method, and computer program | |
| JP6575532B2 (en) | Encryption device, decryption device, encryption processing system, encryption method, decryption method, encryption program, and decryption program | |
| CN108023728A (en) | Encryption device and method | |
| CN113098675B (en) | Binary data encryption system and method based on polynomial complete homomorphism | |
| US8553878B2 (en) | Data transformation system using cyclic groups | |
| Hodowu et al. | An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm | |
| EP3817323B1 (en) | Encryption processing system, encryption processing method, and program | |
| CN107437999A (en) | Utilize the device and method for public key encryption of whitepack cryptographic algorithm | |
| KR101440680B1 (en) | Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same | |
| 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 | |
| CN111651788B (en) | A terminal access control system and method based on lattice password | |
| JP5431191B2 (en) | Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program | |
| Yadav et al. | Hybrid cryptography approach to secure the data in computing environment | |
| Jasim et al. | Design and Implementation of AES-SHA Security Hardware using FPGA | |
| JP5431190B2 (en) | Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program | |
| JP5489696B2 (en) | Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher 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 | |
| WO2022054130A1 (en) | Cryptosystem, 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 | Request for written amendment filed |
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 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150608 |
|
| A521 | Request for written amendment filed |
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 |
|
| LAPS | Cancellation because of no payment of annual fees |