JP5431190B2 - Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program - Google Patents

Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program Download PDF

Info

Publication number
JP5431190B2
JP5431190B2 JP2010020674A JP2010020674A JP5431190B2 JP 5431190 B2 JP5431190 B2 JP 5431190B2 JP 2010020674 A JP2010020674 A JP 2010020674A JP 2010020674 A JP2010020674 A JP 2010020674A JP 5431190 B2 JP5431190 B2 JP 5431190B2
Authority
JP
Japan
Prior art keywords
shift register
feedback shift
stream cipher
key sequence
exclusive
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
JP2010020674A
Other languages
Japanese (ja)
Other versions
JP2011160228A (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 JP2010020674A priority Critical patent/JP5431190B2/en
Publication of JP2011160228A publication Critical patent/JP2011160228A/en
Application granted granted Critical
Publication of JP5431190B2 publication Critical patent/JP5431190B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号へと拡張する認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラムに関する。   The present invention relates to an encrypted stream cipher encryption apparatus, an authenticated stream cipher decryption apparatus, an encryption method, a decryption method, and a program that can be expanded to an authenticated stream cipher without changing the stream cipher algorithm main body. About.

近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスに置いては、通信の秘匿を実現するため、暗号が利用される。暗号方式として最も一般的なものは、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 Mirag Wiggers de Vries, “Specification for NLSv2,” New Stream Cipher Designs, LNCS, Vol. 4986, 2008.

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

そこで、本発明は、上述の課題に鑑みてなされたものであり、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号へと拡張する認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problem, and an encrypted stream cipher encryption apparatus and an authenticated stream cipher that can be expanded to an authenticated stream cipher without changing the stream cipher algorithm main body. An object of the present invention is to provide a decryption device, an encryption method, a decryption method, and a program.

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

(1)本発明は、認証付きストリーム暗号の暗号化装置であって、鍵系列を生成する鍵系列生成手段(例えば、図1の鍵系列生成部20に相当)と、該生成した鍵系列を2つに分割する分割手段(例えば、図1の鍵系列分割部30に相当)と、該分割した一方の鍵系列と平文との排他的論理和演算を行って暗号文を生成する第1のXOR演算器(例えば、図1の第1のXOR演算器40に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタ(例えば、図1のフィードバックシフトレジスタ50に相当)と、該フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う第2のXOR演算器(例えば、図1の第2のXOR演算器60に相当)と、該第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データを前記フィードバックシフトレジスタに出力する第3のXOR演算器と(例えば、図1の第3のXOR演算器70に相当)、前記フィードバックシフトレジスタから出力されるメッセージ認証子と前記生成した暗号文とを結合させる結合手段(例えば、図1の結合部80に相当)と、該結合された認証付きストリーム暗号を送信する送信手段(例えば、図1の送信部90に相当)と、を備えたことを特徴とする認証付きストリーム暗号の暗号化装置を提案している。   (1) The present invention is an encryption apparatus for stream cipher with authentication, comprising a key sequence generation means (for example, equivalent to the key sequence generation unit 20 of FIG. 1) for generating a key sequence, and the generated key sequence Dividing means for dividing into two (for example, corresponding to the key sequence dividing unit 30 in FIG. 1), and a first ciphertext generated by performing an exclusive OR operation on one of the divided key sequences and the plaintext An XOR operator (for example, equivalent to the first XOR operator 40 in FIG. 1), a feedback shift register (for example, equivalent to the feedback shift register 50 in FIG. 1), which is a memory for creating a message authenticator, A second XOR operator (for example, equivalent to the second XOR operator 60 in FIG. 1) that performs an exclusive OR operation on any two of the feedback shift registers, and the second XOR operation Output A third XOR operator that performs an exclusive OR operation on the data, plaintext, and the other key sequence and outputs output data to the feedback shift register (e.g., equivalent to the third XOR operator 70 in FIG. 1). ), A combining means for combining the message authenticator output from the feedback shift register and the generated ciphertext (for example, corresponding to the combining unit 80 in FIG. 1), and transmitting the combined stream cipher with authentication. An encryption apparatus for stream cipher with authentication, characterized by comprising a transmission means (e.g., corresponding to the transmission unit 90 in FIG. 1).

この発明によれば、鍵系列生成手段は、鍵系列を生成する。分割手段は、生成した鍵系列を2つに分割する。第1のXOR演算器は、分割した一方の鍵系列と平文との排他的論理和演算を行って暗号文を生成する。フィードバックシフトレジスタは、メッセージ認証子を作成するためのメモリである。第2のXOR演算器は、フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う。第3のXOR演算器は、第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データをフィードバックシフトレジスタに出力する。結合手段は、フィードバックシフトレジスタから出力されるメッセージ認証子と生成した暗号文とを結合させる。送信手段は、結合された認証付きストリーム暗号を送信する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を生成することができる。   According to this invention, the key sequence generation means generates a key sequence. The dividing means divides the generated key sequence into two. The first XOR operator performs an exclusive OR operation on one of the divided key sequences and the plaintext to generate a ciphertext. The feedback shift register is a memory for creating a message authenticator. The second XOR operator performs an exclusive OR operation on any two of the feedback shift registers. The third XOR operator performs an exclusive OR operation between the output data of the second XOR operator, the plaintext, and the other key sequence, and outputs the output data to the feedback shift register. The combining means combines the message authenticator output from the feedback shift register and the generated ciphertext. The transmitting means transmits the combined stream cipher with authentication. Therefore, an authenticated stream cipher can be generated without changing the stream cipher algorithm main body.

(2)本発明は、(1)の認証付きストリーム暗号の暗号化装置について、前記平文の入力が終了した後に、固定のビット列を入力して、前記フィードバックシフトレジスタを空回しすることを特徴とする認証付きストリーム暗号の暗号化装置を提案している。   (2) The present invention relates to the encryption device for stream cipher with authentication of (1), wherein after inputting the plaintext, a fixed bit string is input and the feedback shift register is idled. An encryption apparatus for stream cipher with authentication is proposed.

この発明によれば、平文の入力が終了した後に、固定のビット列を入力して、フィードバックシフトレジスタを空回しする。これにより、安全性を高めることができる。   According to the present invention, after the plaintext input is completed, a fixed bit string is input, and the feedback shift register is idled. Thereby, safety can be improved.

(3)本発明は、(1)の認証付きストリーム暗号の暗号化装置について、前記フィードバックシフトレジスタが線形フィードバックシフトレジスタであることを特徴とする認証付きストリーム暗号の暗号化装置を提案している。   (3) The present invention proposes an encrypted stream cipher encrypting apparatus according to (1), wherein the feedback shift register is a linear feedback shift register. .

この発明によれば、フィードバックシフトレジスタが線形フィードバックシフトレジスタである。したがって、簡易な構成と演算でメッセージ認証子を生成することができる。   According to the present invention, the feedback shift register is a linear feedback shift register. Therefore, the message authenticator can be generated with a simple configuration and calculation.

(4)本発明は、(1)の認証付きストリーム暗号の暗号化装置について、非線形関数を備え、前記フィードバックシフトレジスタが非線形フィードバックシフトレジスタであることを特徴とする認証付きストリーム暗号の暗号化装置を提案している。   (4) The encrypted stream cipher encrypting apparatus according to (1), wherein the encrypted stream cipher encrypting apparatus includes a non-linear function, and the feedback shift register is a non-linear feedback shift register. Has proposed.

この発明によれば、非線形関数を備え、フィードバックシフトレジスタが非線形フィードバックシフトレジスタである。つまり、線形フィードバックシフトレジスタの場合よりも構成等が複雑になるが、非線形フィードバックシフトレジスタを用いてもメッセージ認証子を生成することができる。   According to the present invention, a nonlinear function is provided, and the feedback shift register is a nonlinear feedback shift register. That is, the configuration is more complicated than in the case of the linear feedback shift register, but the message authenticator can be generated even if the nonlinear feedback shift register is used.

(5)本発明は、(1)の認証付きストリーム暗号の暗号化装置について、前記フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じることを特徴とする認証付きストリーム暗号の暗号化装置を提案している。   (5) The present invention relates to the encrypted stream cipher encrypting apparatus according to (1), wherein when the feedback shift register is in units of words, the output data is multiplied by a coefficient. A device is proposed.

この発明によれば、フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じる。これにより、ビット単位の処理を行うことができる。   According to the present invention, when the feedback shift register is in units of words, the output data is multiplied by the coefficient. As a result, processing in bit units can be performed.

(6)本発明は、認証付きストリーム暗号を復号する認証付きストリーム暗号の復号化装置であって、前記認証付きストリーム暗号を受信する受信手段(例えば、図3の受信部110に相当)と、前記受信した認証付きストリーム暗号から、暗号文を分離する分離手段(例えば、図3の分離部120に相当)と、鍵系列を生成する鍵系列生成手段(例えば、図3の鍵系列生成部20に相当)と、該生成した鍵系列を2つに分割する分割手段(例えば、図3の鍵系列分割部30に相当)と、該分割した一方の鍵系列と暗号文との排他的論理和演算を行って平文を生成する第1のXOR演算器(例えば、図3の第1のXOR演算器40に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタ(例えば、図3のフィードバックシフトレジスタ50に相当)と、該フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う第2のXOR演算器(例えば、図3の第2のXOR演算器60に相当)と、該第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データを前記フィードバックシフトレジスタに出力する第3のXOR演算器(例えば、図3の第3のXOR演算器100に相当)と、を備えたことを特徴とする認証付きストリーム暗号の復号化装置を提案している。   (6) The present invention is an authentication stream cipher decryption device for decrypting an authenticated stream cipher, and a receiving means for receiving the authenticated stream cipher (for example, corresponding to the receiving unit 110 in FIG. 3); Separation means for separating the ciphertext from the received stream cipher with authentication (for example, equivalent to the separation unit 120 in FIG. 3) and key sequence generation means for generating a key sequence (for example, the key sequence generation unit 20 in FIG. 3) 3), a dividing means for dividing the generated key sequence into two (for example, equivalent to the key sequence dividing unit 30 in FIG. 3), and the exclusive OR of the one of the divided key sequences and the ciphertext A first XOR operator (for example, equivalent to the first XOR operator 40 in FIG. 3) that performs an operation to generate plaintext, and a feedback shift register (for example, FIG. 3) that is a memory for creating a message authenticator Three Feedback shift register 50) and a second XOR operator (for example, the second XOR operator 60 in FIG. 3) that performs an exclusive OR operation on any two of the feedback shift registers. ) And the output data of the second XOR operator, the plaintext, and the other key sequence are subjected to an exclusive OR operation, and the output data is output to the feedback shift register (for example, FIG. 3). And a decryption apparatus for stream cipher with authentication, characterized in that the apparatus is provided with a third XOR operator 100.

この発明によれば、受信手段は、認証付きストリーム暗号を受信する。分離手段は、受信した認証付きストリーム暗号から、暗号文を分離する。鍵系列生成手段は、鍵系列を生成する。分割手段は、生成した鍵系列を2つに分割する。第1のXOR演算器は、分割した一方の鍵系列と暗号文との排他的論理和演算を行って平文を生成する。フィードバックシフトレジスタは、メッセージ認証子を作成するためのメモリである。第2のXOR演算器は、フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う。第3のXOR演算器は、第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データをフィードバックシフトレジスタに出力する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができる。   According to this invention, the receiving means receives the stream cipher with authentication. The separating means separates the ciphertext from the received authenticated stream cipher. The key sequence generation unit generates a key sequence. The dividing means divides the generated key sequence into two. The first XOR operator performs an exclusive OR operation on one of the divided key sequences and the ciphertext to generate plaintext. The feedback shift register is a memory for creating a message authenticator. The second XOR operator performs an exclusive OR operation on any two of the feedback shift registers. The third XOR operator performs an exclusive OR operation between the output data of the second XOR operator, the plaintext, and the other key sequence, and outputs the output data to the feedback shift register. Therefore, the authenticated stream cipher can be decrypted without changing the stream cipher algorithm main body.

(7)本発明は、(6)の認証付きストリーム暗号の復号化装置について、前記平文の入力が終了した後に、固定のビット列を入力して、前記フィードバックシフトレジスタを空回しすることを特徴とする認証付きストリーム暗号の復号化装置を提案している。   (7) The present invention relates to the decryption apparatus for authenticated stream cipher according to (6), wherein after the plaintext input is completed, a fixed bit string is input and the feedback shift register is idled. This proposes a decryption apparatus for stream cipher with authentication.

この発明によれば、平文の入力が終了した後に、固定のビット列を入力して、フィードバックシフトレジスタを空回しする。これにより、安全性を高めることができる。   According to the present invention, after the plaintext input is completed, a fixed bit string is input, and the feedback shift register is idled. Thereby, safety can be improved.

(8)本発明は、(6)の認証付きストリーム暗号の復号化装置について、前記フィードバックシフトレジスタが線形フィードバックシフトレジスタであることを特徴とする認証付きストリーム暗号の復号化装置を提案している。   (8) The present invention proposes a decryption apparatus for authenticated stream ciphers, wherein the feedback shift register is a linear feedback shift register for the decryption apparatus for authenticated stream ciphers of (6). .

この発明によれば、フィードバックシフトレジスタが線形フィードバックシフトレジスタである。したがって、簡易な構成と演算でメッセージ認証子を生成することができる。   According to the present invention, the feedback shift register is a linear feedback shift register. Therefore, the message authenticator can be generated with a simple configuration and calculation.

(9)本発明は、(6)の認証付きストリーム暗号の復号化装置について、非線形関数を備え、前記フィードバックシフトレジスタが非線形フィードバックシフトレジスタであることを特徴とする認証付きストリーム暗号の復号化装置を提案している。   (9) The present invention relates to the apparatus for decrypting authenticated stream ciphers of (6), comprising a nonlinear function, wherein the feedback shift register is a nonlinear feedback shift register. Has proposed.

この発明によれば、非線形関数を備え、フィードバックシフトレジスタが非線形フィードバックシフトレジスタである。つまり、線形フィードバックシフトレジスタの場合よりも構成等が複雑になるが、非線形フィードバックシフトレジスタを用いてもメッセージ認証子を生成することができる。   According to the present invention, a nonlinear function is provided, and the feedback shift register is a nonlinear feedback shift register. That is, the configuration is more complicated than in the case of the linear feedback shift register, but the message authenticator can be generated even if the nonlinear feedback shift register is used.

(10)本発明は、(6)の認証付きストリーム暗号の復号化装置について、前記フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じることを特徴とする認証付きストリーム暗号の復号化装置を提案している。   (10) The present invention relates to the decryption apparatus for authenticated stream cipher according to (6), wherein when the feedback shift register is in units of words, the output data is multiplied by a coefficient. A device is proposed.

この発明によれば、フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じる。これにより、ビット単位の処理を行うことができる。   According to the present invention, when the feedback shift register is in units of words, the output data is multiplied by the coefficient. As a result, processing in bit units can be performed.

(11)本発明は、認証付きストリーム暗号の暗号化装置における暗号化方法であって、初期鍵と初期ベクトルを読み込む第1のステップ(例えば、図2のステップS101に相当)と、初期化処理を実施する第2のステップ(例えば、図2のステップS102に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第3のステップ(例えば、図2のステップS103に相当)と、該生成した鍵系列を2分割する第4のステップ(例えば、図2のステップS104に相当)と、該分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第5のステップ(例えば、図2のステップS105に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第6のステップ(例えば、図2のステップS106に相当)と、平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第7のステップ(例えば、図2のステップS107に相当)と、該メッセージ認証子と前記生成した暗号文とを結合する第8のステップ(例えば、図2のステップS108に相当)と、該結合した前記メッセージ認証子と前記生成した暗号文とを送信する第9のステップ(例えば、図2のステップS109に相当)と、を備えたことを特徴とする暗号化方法を提案している。   (11) The present invention is an encryption method in an encryption apparatus for an authenticated stream cipher, and includes a first step (for example, corresponding to step S101 in FIG. 2) for reading an initial key and an initial vector, and an initialization process A second step (for example, corresponding to step S102 in FIG. 2), a third step for executing key sequence generation processing and generating a key sequence (for example, corresponding to step S103 in FIG. 2), A fourth step (for example, corresponding to step S104 in FIG. 2) for dividing the generated key sequence into two, an exclusive OR operation between the one key sequence and the plaintext, and outputting a ciphertext Exclusive of any two of the fifth step (for example, equivalent to step S105 in FIG. 2) and the feedback shift register that is a memory for creating the message authenticator A sixth step (for example, corresponding to step S106 in FIG. 2) is performed by performing an exclusive OR operation on the data on which the OR operation is performed, the other divided key sequence, and plaintext, and sequentially inputting them to the feedback shift register. ), And after inputting plaintext, a seventh step (for example, corresponding to step S107 in FIG. 2) that inputs a fixed bit string, performs idle rotation of the feedback shift register, and outputs a message authenticator, An eighth step of combining the message authenticator and the generated ciphertext (for example, corresponding to step S108 in FIG. 2), and a ninth step of transmitting the combined message authenticator and the generated ciphertext And an encryption method characterized by comprising steps (e.g., corresponding to step S109 in FIG. 2).

この発明によれば、初期鍵と初期ベクトルを読み込み、初期化処理を実施する。次に、鍵系列生成処理を実行し、鍵系列を生成する。生成した鍵系列を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 to generate a key sequence. The generated key sequence is divided into two, an exclusive OR operation is performed on one of the divided key sequences and the plaintext, and a ciphertext is output. Of the feedback shift register, which is a memory for creating a message authenticator, perform an exclusive OR operation on the data obtained by performing an exclusive OR operation on any two registers, the other divided key sequence, and plaintext. Are sequentially input to the feedback shift register. After the plaintext is input, a fixed bit string is input, the feedback shift register is idled, and a message authenticator is output. Then, the message authenticator and the generated ciphertext are combined, and the combined message authenticator and the generated ciphertext are transmitted. Therefore, an authenticated stream cipher can be generated without changing the stream cipher algorithm main body.

(12)本発明は、認証付きストリーム暗号の復号化装置における復号化方法であって、前記認証付きストリーム暗号を受信する第1のステップ(例えば、図4のステップS201に相当)と、前記受信した認証付きストリーム暗号から、暗号文を分離する第2のステップ(例えば、図4のステップS202に相当)と、初期鍵と初期ベクトルを読み込む第3のステップ(例えば、図4のステップS203に相当)と、初期化処理を実施する第4のステップ(例えば、図4のステップS204に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第5のステップ(例えば、図4のステップS205に相当)と、該生成した鍵系列を2分割する第6のステップ(例えば、図4のステップS206に相当)と、該分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する第7のステップ(例えば、図4のステップS207に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第8のステップ(例えば、図4のステップS208に相当)と、平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第9のステップ(例えば、図4のステップS209に相当)と、該出力したメッセージ認証子と前記分離したメッセージ認証子が一致するか否かを検証する第10のステップ(例えば、図4のステップS210に相当)と、を備えたことを特徴とする復号化方法を提案している。   (12) The present invention is a decryption method in a decryption apparatus for an authenticated stream cipher, and includes a first step (for example, corresponding to step S201 in FIG. 4) for receiving the authentic stream cipher and the reception The second step of separating the ciphertext from the authenticated stream cipher (for example, equivalent to step S202 of FIG. 4) and the third step of reading the initial key and initial vector (for example, equivalent to step S203 of FIG. 4) ), A fourth step (for example, corresponding to step S204 in FIG. 4) for performing the initialization process, and a fifth step (for example, step in FIG. 4) for executing the key series generation process and generating the key series 6) (corresponding to step S206 in FIG. 4), one of the divided key sequences and the encryption Among the seventh step (for example, corresponding to step S207 in FIG. 4) and a feedback shift register that is a memory for creating a message authenticator. An eighth step (for example, FIG. 5) of performing an exclusive OR operation on data obtained by performing an exclusive OR operation on two registers, the other divided key sequence, and plaintext, and sequentially inputting them to the feedback shift register. And the ninth step (for example, step S209 in FIG. 4) of inputting a fixed bit string, emptying the feedback shift register, and outputting a message authenticator. And the tenth to verify whether the output message authenticator and the separated message authenticator match. Step (e.g., corresponding to step S210 in FIG. 4) proposes a decoding method characterized by comprising a, a.

この発明によれば、認証付きストリーム暗号を受信し、受信した認証付きストリーム暗号から、暗号文を分離する。次に、初期鍵と初期ベクトルを読み込み、初期化処理を実施する。さらに、鍵系列生成処理を実行し、鍵系列を生成する。生成した鍵系列を2分割し、分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する。メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、フィードバックシフトレジスタに入力する。平文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する。そして、出力したメッセージ認証子と分離したメッセージ認証子が一致するか否かを検証する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができ、メッセージ認証子を確認することにより認証も行うことができる。   According to the present invention, the authenticated stream cipher is received, and the ciphertext is separated from the received authenticated stream cipher. Next, an initial key and an initial vector are read and an initialization process is performed. Furthermore, a key sequence generation process is executed to generate a key sequence. The generated key sequence is divided into two, an exclusive OR operation is performed on one of the divided key sequences and the ciphertext, and a plaintext is output. Of the feedback shift register, which is a memory for creating a message authenticator, perform an exclusive OR operation on the data obtained by performing an exclusive OR operation on any two registers, the other divided key sequence, and plaintext. Are sequentially input to the feedback shift register. After the plaintext is input, a fixed bit string is input, the feedback shift register is idled, and a message authenticator is output. Then, it is verified whether or not the output message authenticator matches the separated message authenticator. Therefore, the stream cipher with authentication can be decrypted without changing the stream cipher algorithm main body, and authentication can be performed by checking the message authenticator.

(13)本発明は、認証付きストリーム暗号の暗号化装置における暗号化方法を実行するためのプログラムであって、初期鍵と初期ベクトルを読み込む第1のステップ(例えば、図2のステップS101に相当)と、初期化処理を実施する第2のステップ(例えば、図2のステップS102に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第3のステップ(例えば、図2のステップS103に相当)と、該生成した鍵系列を2分割する第4のステップ(例えば、図2のステップS104に相当)と、該分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第5のステップ(例えば、図2のステップS105に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第6のステップ(例えば、図2のステップS106に相当)と、平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第7のステップ(例えば、図2のステップS107に相当)と、該メッセージ認証子と前記生成した暗号文とを結合する第8のステップ(例えば、図2のステップS108に相当)と、該結合した前記メッセージ認証子と前記生成した暗号文とを送信する第9のステップ(例えば、図2のステップS109に相当)と、を実行するためのプログラムを提案している。   (13) The present invention is a program for executing an encryption method in an encrypted stream cipher encryption apparatus, and is a first step for reading an initial key and an initial vector (for example, corresponding to step S101 in FIG. 2) ), A second step (for example, corresponding to step S102 of FIG. 2) for executing the initialization process, and a third step (for example, step of FIG. 2) for executing the key series generation process and generating the key series S103), a fourth step (for example, equivalent to step S104 in FIG. 2) for dividing the generated key sequence into two, and an exclusive OR operation between the one key sequence and the plaintext. Among the fifth step (for example, corresponding to step S105 in FIG. 2) for outputting the ciphertext and the feedback shift register that is a memory for creating the message authenticator, A sixth step (for example, performing an exclusive OR operation of the data obtained by performing the exclusive OR operation of two arbitrary registers, the other divided key sequence, and plaintext, and sequentially inputting them to the feedback shift register (for example, , Corresponding to step S106 in FIG. 2), and after completion of the plaintext input, a seventh step (for example, in FIG. 2) is performed by inputting a fixed bit string, emptying the feedback shift register, and outputting a message authenticator. Equivalent to step S107), the eighth step of combining the message authenticator and the generated ciphertext (for example, equivalent to step S108 of FIG. 2), the combined message authenticator and the generated ciphertext A program for executing a ninth step (for example, corresponding to step S109 in FIG. 2) for transmitting a sentence is proposed.

この発明によれば、初期鍵と初期ベクトルを読み込み、初期化処理を実施する。次に、鍵系列生成処理を実行し、鍵系列を生成する。生成した鍵系列を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 to generate a key sequence. The generated key sequence is divided into two, an exclusive OR operation is performed on one of the divided key sequences and the plaintext, and a ciphertext is output. Of the feedback shift register, which is a memory for creating a message authenticator, perform an exclusive OR operation on the data obtained by performing an exclusive OR operation on any two registers, the other divided key sequence, and plaintext. Are sequentially input to the feedback shift register. After the plaintext is input, a fixed bit string is input, the feedback shift register is idled, and a message authenticator is output. Then, the message authenticator and the generated ciphertext are combined, and the combined message authenticator and the generated ciphertext are transmitted. Therefore, an authenticated stream cipher can be generated without changing the stream cipher algorithm main body.

(14)本発明は、認証付きストリーム暗号の復号化装置における復号化方法を実行するためのプログラムであって、前記認証付きストリーム暗号を受信する第1のステップ(例えば、図4のステップS201に相当)と、前記受信した認証付きストリーム暗号から、暗号文を分離する第2のステップ(例えば、図4のステップS202に相当)と、初期鍵と初期ベクトルを読み込む第3のステップ(例えば、図4のステップS203に相当)と、初期化処理を実施する第4のステップ(例えば、図4のステップS204に相当)と、鍵系列生成処理を実行し、鍵系列を生成する第5のステップ(例えば、図4のステップS205に相当)と、該生成した鍵系列を2分割する第6のステップ(例えば、図4のステップS206に相当)と、該分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する第7のステップ(例えば、図4のステップS107に相当)と、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第8のステップ(例えば、図4のステップS208に相当)と、平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第9のステップ(例えば、図4のステップS209に相当)と、該出力したメッセージ認証子と前記分離したメッセージ認証子が一致するか否かを検証する第10のステップ(例えば、図4のステップS210に相当)と、を実行するためのプログラムを提案している。   (14) The present invention is a program for executing a decryption method in a decryption apparatus for an authenticated stream cipher, and includes a first step (for example, in step S201 in FIG. Equivalent), a second step of separating the ciphertext from the received stream cipher with authentication (eg, equivalent to step S202 of FIG. 4), and a third step of reading the initial key and initial vector (eg, FIG. 4) (corresponding to step S203 of FIG. 4), a fourth step of executing initialization processing (for example, corresponding to step S204 of FIG. 4), and a fifth step of executing key sequence generation processing to generate a key sequence ( For example, corresponding to step S205 in FIG. 4), a sixth step (for example, corresponding to step S206 in FIG. 4) for dividing the generated key sequence into two, A seventh step (for example, corresponding to step S107 in FIG. 4) that performs an exclusive OR operation on one of the divided key sequences and the ciphertext and outputs a plaintext, and a memory for creating a message authenticator Among the feedback shift registers, the exclusive OR operation of the data obtained by performing the exclusive OR operation of any two registers, the other divided key sequence, and the plaintext is performed and sequentially input to the feedback shift register. The eighth step (for example, corresponding to step S208 in FIG. 4), and after completion of plaintext input, a fixed bit string is input, the feedback shift register is idled, and a message authenticator is output. Step (for example, corresponding to step S209 in FIG. 4) matches the output message authenticator and the separated message authenticator. 10th step (e.g., corresponding to step S210 of FIG. 4) for verifying whether proposes a program for executing a, a.

この発明によれば、認証付きストリーム暗号を受信し、受信した認証付きストリーム暗号から、暗号文を分離する。次に、初期鍵と初期ベクトルを読み込み、初期化処理を実施する。さらに、鍵系列生成処理を実行し、鍵系列を生成する。生成した鍵系列を2分割し、分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する。メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と暗号文との排他的論理和演算を行い、順次、フィードバックシフトレジスタに入力する。暗号文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する。そして、出力したメッセージ認証子と分離したメッセージ認証子が一致するか否かを検証する。したがって、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができ、メッセージ認証子を確認することにより認証も行うことができる。   According to the present invention, the authenticated stream cipher is received, and the ciphertext is separated from the received authenticated stream cipher. Next, an initial key and an initial vector are read and an initialization process is performed. Furthermore, a key sequence generation process is executed to generate a key sequence. The generated key sequence is divided into two, an exclusive OR operation is performed on one of the divided key sequences and the ciphertext, and a plaintext is output. Of the feedback shift register, which is a memory for creating a message authenticator, the exclusive OR operation of the data obtained by performing the exclusive OR operation of any two registers and the other divided key sequence and the ciphertext is performed. And sequentially input to the feedback shift register. After the ciphertext is input, a fixed bit string is input, the feedback shift register is rotated, and a message authenticator is output. Then, it is verified whether or not the output message authenticator matches the separated message authenticator. Therefore, the stream cipher with authentication can be decrypted without changing the stream cipher algorithm main body, and authentication can be performed by checking the message authenticator.

本発明によれば、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を生成することができるという効果がある。また、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができ、メッセージ認証子を確認することにより認証も行うことができるという効果がある。   According to the present invention, it is possible to generate an authenticated stream cipher without changing the stream cipher algorithm main body. Further, there is an effect that the stream cipher with authentication can be decrypted without changing the stream cipher algorithm main body, and authentication can be performed by checking the message authenticator.

本実施形態に係る認証付きストリーム暗号の暗号化装置の構成を示す図である。It is a figure which shows the structure of the encryption apparatus of the stream cipher with authentication which concerns on this embodiment. 本実施形態に係る認証付きストリーム暗号の暗号化装置の処理を示す図である。It is a figure which shows the process of the encryption apparatus of the stream cipher with authentication which concerns on this embodiment. 本実施形態に係る認証付きストリーム暗号の復号化装置の構成を示す図である。It is a figure which shows the structure of the decoding apparatus of the stream cipher with authentication which concerns on this embodiment. 本実施形態に係る認証付きストリーム暗号の復号化装置の処理を示す図である。It is a figure which shows the process of the decoding apparatus of the stream cipher with authentication which concerns on this embodiment.

以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
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に示すように、初期化処理部10と、鍵系列生成部20と、鍵系列分割部30と、第1のXOR演算器40と、フィードバックシフトレジスタ50と、第2のXOR演算器60と、第3のXOR演算器70と、結合部80と、送信部90とから構成されている。
<Configuration of encryption device for stream cipher with authentication>
As shown in FIG. 1, the encryption apparatus for stream cipher with authentication according to the present embodiment includes an initialization processing unit 10, a key sequence generation unit 20, a key sequence division unit 30, and a first XOR operator 40. And a feedback shift register 50, a second XOR operator 60, a third XOR operator 70, a combiner 80, and a transmitter 90.

初期化処理部10は、初期鍵と初期ベクトルを読み込んで初期化処理を行う。鍵系列生成部20は、鍵系列生成処理を実行して鍵系列を生成する。鍵系列分割部30は、生成した鍵系列を2つに分割する。ここで、一方は、暗号化用に、もう一方は、メッセージ認証子作成用に用いられる。   The initialization processing unit 10 reads an initial key and an initial vector and performs initialization processing. The key sequence generation unit 20 executes a key sequence generation process to generate a key sequence. The key sequence dividing unit 30 divides the generated key sequence into two. Here, one is used for encryption and the other is used for creating a message authenticator.

第1のXOR演算器40は、分割した一方の鍵系列と平文との排他的論理和演算を行って暗号文を生成する。フィードバックシフトレジスタ50は、メッセージ認証子を作成するためのメモリであり、線形フィードバックシフトレジスタであっても、非線形フィードバックシフトレジスタであってもよい。また、フィードバックシフトレジスタ50は、メッセージ認証子と同じ長さを持ち、フィードバックシフトレジスタ50がワード単位となる場合は、係数αを乗じることで、ビット単位のフィードバックシフトレジスタを構成することができる。   The first XOR operator 40 performs an exclusive OR operation on one of the divided key sequences and the plaintext to generate a ciphertext. The feedback shift register 50 is a memory for creating a message authenticator, and may be a linear feedback shift register or a non-linear feedback shift register. In addition, the feedback shift register 50 has the same length as the message authenticator, and when the feedback shift register 50 is in word units, a feedback shift register in bit units can be configured by multiplying by the coefficient α.

第2のXOR演算器60は、フィードバックシフトレジスタ50のうち、任意の2つのレジスタの排他的論理和演算を行う。第3のXOR演算器70は、第2のXOR演算器60の出力データと平文と他方の鍵系列との排他的論理和演算を行い、出力データをフィードバックシフトレジスタ50に出力する。   The second XOR operator 60 performs an exclusive OR operation on any two of the feedback shift registers 50. The third XOR operator 70 performs an exclusive OR operation between the output data of the second XOR operator 60, the plaintext, and the other key sequence, and outputs the output data to the feedback shift register 50.

結合部80は、フィードバックシフトレジスタ50から出力されるメッセージ認証子と生成した暗号文とを結合させる。送信部90は、結合された認証付きストリーム暗号を復号化装置に送信する。   The combining unit 80 combines the message authenticator output from the feedback shift register 50 and the generated ciphertext. The transmitting unit 90 transmits the combined authenticated stream cipher to the decryption device.

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

まず、初期化処理部10は、初期鍵と初期ベクトルを読み込み(ステップS101)、初期化処理を実施する(ステップS102)。鍵系列生成部20は、鍵系列生成処理を実行し、鍵系列を生成する(ステップS103)。そして、鍵系列分割部30は、生成した鍵系列を2分割する(ステップS104)。   First, the initialization processing unit 10 reads an initial key and an initial vector (step S101) and performs an initialization process (step S102). The key sequence generation unit 20 executes key sequence generation processing and generates a key sequence (step S103). Then, the key sequence dividing unit 30 divides the generated key sequence into two (step S104).

第1のXOR演算器40は、分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する(ステップS105)。また、第3のXOR演算器70は、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタ50のうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、フィードバックシフトレジスタ50に入力する(ステップS106)。   The first XOR operator 40 performs an exclusive OR operation on one of the divided key sequences and the plaintext, and outputs a ciphertext (step S105). Further, the third XOR operator 70 is the other key divided from the data obtained by performing the exclusive OR operation of any two registers in the feedback shift register 50 that is a memory for creating the message authenticator. An exclusive OR operation between the series and plaintext is performed and sequentially input to the feedback shift register 50 (step S106).

平文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタ50の空回しを行ってメッセージ認証子を出力する(ステップS107)。そして、結合部80がメッセージ認証子と生成した暗号文とを結合し(ステップS108)、送信部90が結合したメッセージ認証子と生成した暗号文とを送信する(ステップS109)。   After the plaintext input is completed, a fixed bit string is input, the feedback shift register 50 is rotated, and a message authenticator is output (step S107). The combining unit 80 combines the message authenticator and the generated ciphertext (step S108), and the transmitting unit 90 transmits the combined message authenticator and the generated ciphertext (step S109).

したがって、以上より、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を生成することができる。   Therefore, the stream cipher with authentication can be generated without changing the stream cipher algorithm main body.

<認証付きストリーム暗号の復号化装置の構成>
本実施形態に係る認証付きストリーム暗号の復号化装置は、図3に示すように、初期化処理部10と、鍵系列生成部20と、鍵系列分割部30と、第1のXOR演算器40と、フィードバックシフトレジスタ50と、第2のXOR演算器60と、第3のXOR演算器100と、受信部110と、分離部120と、検証部130とから構成されている。なお、上記の認証付きストリーム暗号の暗号化装置と同一の符号を付す構成要素については、同一の機能を有するため、その詳細な説明は、省略する。
<Configuration of Decryption Apparatus for Stream Cipher with Authentication>
As shown in FIG. 3, the decryption apparatus for authenticated stream cipher according to the present embodiment includes an initialization processing unit 10, a key sequence generation unit 20, a key sequence division unit 30, and a first XOR operator 40. And a feedback shift register 50, a second XOR operator 60, a third XOR operator 100, a receiver 110, a separator 120, and a verifier 130. In addition, since it has the same function about the component which attaches | subjects the code | symbol same as said encryption apparatus of stream encryption with authentication, the detailed description is abbreviate | omitted.

第3のXOR演算器100は、第2のXOR演算器60の出力データと平文と他方の鍵系列との排他的論理和演算を行い、出力データをフィードバックシフトレジスタ50に出力する。受信部110は、認証付きストリーム暗号の暗号化装置から認証付きストリーム暗号を受信する。   The third XOR operator 100 performs an exclusive OR operation between the output data of the second XOR operator 60, the plaintext, and the other key sequence, and outputs the output data to the feedback shift register 50. The receiving unit 110 receives the authenticated stream cipher from the authenticated stream cipher encryption apparatus.

分離部120は、受信した認証付きストリーム暗号を暗号文とメッセージ認証子に分離する。検証部130は、フィードバックシフトレジスタ50から出力されるメッセージ認証子と、分離して得られたメッセージ認証子とを比較して、一致するか否かを検証する。   The separation unit 120 separates the received authenticated stream cipher into a ciphertext and a message authenticator. The verification unit 130 compares the message authenticator output from the feedback shift register 50 with the message authenticator obtained by separation and verifies whether or not they match.

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

まず、受信部110は、認証付きストリーム暗号を受信し(ステップS201)、分離部120が受信した認証付きストリーム暗号から、暗号文を分離する(ステップS202)。次に、初期化処理部10は、初期鍵と初期ベクトルを読み込み(ステップS203)、初期化処理を実施する(ステップS204)。鍵系列生成部20は、鍵系列生成処理を実行し、鍵系列を生成する(ステップS205)。そして、鍵系列分割部30は、生成した鍵系列を2分割する(ステップS206)。   First, the receiving unit 110 receives the authenticated stream cipher (step S201), and separates the ciphertext from the authenticated stream cipher received by the separating unit 120 (step S202). Next, the initialization processing unit 10 reads an initial key and an initial vector (step S203), and performs an initialization process (step S204). The key sequence generation unit 20 executes key sequence generation processing to generate a key sequence (step S205). Then, the key sequence dividing unit 30 divides the generated key sequence into two (step S206).

第1のXOR演算器40は、分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する(ステップS207)。また、第3のXOR演算器100は、メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタ50のうち、任意の2つのレジスタの排他的論理和演算を行ったデータと分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、フィードバックシフトレジスタ50に入力する(ステップS208)。   The first XOR operator 40 performs an exclusive OR operation on one of the divided key sequences and the ciphertext, and outputs a plaintext (step S207). Further, the third XOR operator 100 is the other key divided from the data obtained by performing the exclusive OR operation of any two registers in the feedback shift register 50 which is a memory for creating the message authenticator. An exclusive OR operation between the series and plaintext is performed and sequentially input to the feedback shift register 50 (step S208).

平文の入力終了後に、固定のビット列を入力してフィードバックシフトレジスタ50の空回しを行ってメッセージ認証子を出力する(ステップS209)。そして、出力したメッセージ認証子と分離したメッセージ認証子とが一致するか否かを検証部130が検証する(ステップS210)。   After the plaintext is input, a fixed bit string is input, the feedback shift register 50 is rotated, and a message authenticator is output (step S209). Then, the verification unit 130 verifies whether or not the output message authenticator matches the separated message authenticator (step S210).

したがって、以上より、ストリーム暗号アルゴリズム本体の変更を行わずに、認証付きストリーム暗号を復号することができ、メッセージ認証子を確認することにより認証も行うことができる。   Accordingly, the stream cipher with authentication can be decrypted without changing the stream cipher algorithm main body, and authentication can be performed by checking the message authenticator.

なお、認証付きストリーム暗号の暗号化装置および認証付きストリーム暗号の復号化装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを認証付きストリーム暗号の暗号化装置および認証付きストリーム暗号の復号化装置に読み込ませ、実行することによって本発明の認証付きストリーム暗号の暗号化装置および認証付きストリーム暗号の復号化装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。   Note that the processing of the authentication stream cipher encryption apparatus and the authentication stream cipher decryption apparatus is recorded on a computer-readable recording medium, and the program recorded on the recording medium is stored in the authentication stream cipher encryption apparatus and The authentication stream cipher encryption apparatus and the authentication stream cipher decryption apparatus according to the present invention can be realized by causing the authentication stream cipher decryption apparatus to read and execute the authentication. 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.

10;初期化処理部
20;鍵系列生成部
30;鍵系列分割部
40;第1のXOR演算器
50;フィードバックシフトレジスタ
60;第2のXOR演算器
70;第3のXOR演算器
80;結合部
90;送信部
100;第3のXOR演算器
110;受信部
120;分離部
130;検証部
DESCRIPTION OF SYMBOLS 10; Initialization process part 20; Key sequence production | generation part 30; Key sequence division | segmentation part 40; 1st XOR operator 50; Feedback shift register 60; 2nd XOR operator 70; 3rd XOR operator 80; Unit 90; transmission unit 100; third XOR operator 110; reception unit 120; separation unit 130; verification unit

Claims (14)

認証付きストリーム暗号の暗号化装置であって、
鍵系列を生成する鍵系列生成手段と、
該生成した鍵系列を2つに分割する分割手段と、
該分割した一方の鍵系列と平文との排他的論理和演算を行って暗号文を生成する第1のXOR演算器と、
メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタと、
該フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う第2のXOR演算器と、
該第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データを前記フィードバックシフトレジスタに出力する第3のXOR演算器と、
前記フィードバックシフトレジスタから出力されるメッセージ認証子と前記生成した暗号文とを結合させる結合手段と、
該結合された認証付きストリーム暗号を送信する送信手段と、
を備えたことを特徴とする認証付きストリーム暗号の暗号化装置。
An encryption device for an authenticated stream cipher,
Key sequence generation means for generating a key sequence;
Dividing means for dividing the generated key sequence into two;
A first XOR operator that performs an exclusive OR operation between the one of the divided key sequences and the plaintext to generate a ciphertext;
A feedback shift register which is a memory for creating a message authenticator;
A second XOR operator that performs an exclusive OR operation on any two of the feedback shift registers;
A third XOR operator that performs an exclusive OR operation between the output data of the second XOR operator, the plaintext, and the other key sequence, and outputs the output data to the feedback shift register;
Combining means for combining the message authenticator output from the feedback shift register and the generated ciphertext;
Transmitting means for transmitting the combined stream cipher with authentication;
An apparatus for encrypting stream cipher with authentication, comprising:
前記平文の入力が終了した後に、固定のビット列を入力して、前記フィードバックシフトレジスタを空回しすることを特徴とする請求項1に記載の認証付きストリーム暗号の暗号化装置。   2. The apparatus for encrypting stream cipher with authentication according to claim 1, wherein after the input of the plaintext is completed, a fixed bit string is input to rotate the feedback shift register. 前記フィードバックシフトレジスタが線形フィードバックシフトレジスタであることを特徴とする請求項1に記載の認証付きストリーム暗号の暗号化装置。   2. The encrypted stream cipher encryption apparatus according to claim 1, wherein the feedback shift register is a linear feedback shift register. 非線形関数を備え、前記フィードバックシフトレジスタが非線形フィードバックシフトレジスタであることを特徴とする請求項1に記載の認証付きストリーム暗号の暗号化装置。   The apparatus for encrypting stream cipher with authentication according to claim 1, further comprising a non-linear function, wherein the feedback shift register is a non-linear feedback shift register. 前記フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じることを特徴とする請求項1に記載の認証付きストリーム暗号の暗号化装置。   2. The encrypted stream cipher encryption apparatus according to claim 1, wherein when the feedback shift register is in units of words, the output data is multiplied by a coefficient. 認証付きストリーム暗号を復号する認証付きストリーム暗号の復号化装置であって、
前記認証付きストリーム暗号を受信する受信手段と、
前記受信した認証付きストリーム暗号から、暗号文を分離する分離手段と、
鍵系列を生成する鍵系列生成手段と、
該生成した鍵系列を2つに分割する分割手段と、
該分割した一方の鍵系列と暗号文との排他的論理和演算を行って平文を生成する第1のXOR演算器と、
メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタと、
該フィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行う第2のXOR演算器と、
該第2のXOR演算器の出力データと平文と他方の鍵系列との排他的論理和演算を行い出力データを前記フィードバックシフトレジスタに出力する第3のXOR演算器と、
を備えたことを特徴とする認証付きストリーム暗号の復号化装置。
An apparatus for decrypting an authenticated stream cipher that decrypts an authenticated stream cipher,
Receiving means for receiving the authenticated stream cipher,
Separating means for separating the ciphertext from the received stream cipher with authentication;
Key sequence generation means for generating a key sequence;
Dividing means for dividing the generated key sequence into two;
A first XOR operator that performs an exclusive OR operation between the divided one key sequence and ciphertext to generate plaintext;
A feedback shift register which is a memory for creating a message authenticator;
A second XOR operator that performs an exclusive OR operation on any two of the feedback shift registers;
A third XOR operator that performs an exclusive OR operation between the output data of the second XOR operator, the plaintext, and the other key sequence, and outputs the output data to the feedback shift register;
An apparatus for decrypting authenticated stream ciphers, comprising:
前記暗号文の入力が終了した後に、固定のビット列を入力して、前記フィードバックシフトレジスタを空回しすることを特徴とする請求項6に記載の認証付きストリーム暗号の復号化装置。   7. The apparatus for decrypting authenticated stream cipher according to claim 6, wherein after the input of the ciphertext is completed, a fixed bit string is input to rotate the feedback shift register. 前記フィードバックシフトレジスタが線形フィードバックシフトレジスタであることを特徴とする請求項6に記載の認証付きストリーム暗号の復号化装置。   The apparatus for decrypting authenticated stream cipher according to claim 6, wherein the feedback shift register is a linear feedback shift register. 非線形関数を備え、前記フィードバックシフトレジスタが非線形フィードバックシフトレジスタであることを特徴とする請求項6に記載の認証付きストリーム暗号の復号化装置。   7. The apparatus for decrypting authenticated stream cipher according to claim 6, further comprising a nonlinear function, wherein the feedback shift register is a nonlinear feedback shift register. 前記フィードバックシフトレジスタがワード単位である場合に出力データに係数を乗じることを特徴とする請求項6に記載の認証付きストリーム暗号の復号化装置。   7. The apparatus for decrypting authenticated stream cipher according to claim 6, wherein when the feedback shift register is in units of words, the output data is multiplied by a coefficient. 認証付きストリーム暗号の暗号化装置における暗号化方法であって、
初期鍵と初期ベクトルを読み込む第1のステップと、
初期化処理を実施する第2のステップと、
鍵系列生成処理を実行し、鍵系列を生成する第3のステップと、
該生成した鍵系列を2分割する第4のステップと、
該分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第5のステップと、
メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第6のステップと、
平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第7のステップと、
該メッセージ認証子と前記生成した暗号文とを結合する第8のステップと、
該結合した前記メッセージ認証子と前記生成した暗号文とを送信する第9のステップと、
を備えたことを特徴とする暗号化方法。
An encryption method in an encrypted stream cipher encryption device,
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 dividing the generated key sequence into two parts;
A fifth step of performing an exclusive OR operation of the one divided key sequence and the plaintext, and outputting a ciphertext;
Of the feedback shift register, which is a memory for creating a message authenticator, the exclusive OR operation of the data obtained by performing the exclusive OR operation of any two registers, the other key sequence divided into plaintext, and And a sixth step of sequentially inputting to the feedback shift register;
A seventh step of outputting a message authenticator by inputting a fixed bit string after the plaintext has been input, performing idle rotation of the feedback shift register, and
An eighth step of combining the message authenticator and the generated ciphertext;
A ninth step of transmitting the combined message authenticator and the generated ciphertext;
An encryption method comprising:
認証付きストリーム暗号の復号化装置における復号化方法であって、
前記認証付きストリーム暗号を受信する第1のステップと、
前記受信した認証付きストリーム暗号から、暗号文を分離する第2のステップと、
初期鍵と初期ベクトルを読み込む第3のステップと、
初期化処理を実施する第4のステップと、
鍵系列生成処理を実行し、鍵系列を生成する第5のステップと、
該生成した鍵系列を2分割する第6のステップと、
該分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する第7のステップと、
メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第8のステップと、
平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第9のステップと、
該出力したメッセージ認証子と前記分離したメッセージ認証子が一致するか否かを検証する第10のステップと、
を備えたことを特徴とする復号化方法。
A decryption method in a decryption device for an authenticated stream cipher,
A first step of receiving the authenticated stream cipher;
A second step of separating ciphertext from the received authenticated stream cipher;
A third step of reading an initial key and an initial vector;
A fourth step of performing initialization processing;
A fifth step of executing a key sequence generation process to generate a key sequence;
A sixth step of dividing the generated key sequence into two parts;
A seventh step of performing an exclusive OR operation between the one divided key sequence and the ciphertext, and outputting a plaintext;
Of the feedback shift register, which is a memory for creating a message authenticator, the exclusive OR operation of the data obtained by performing the exclusive OR operation of any two registers, the other key sequence divided into plaintext, and And an eighth step of sequentially inputting to the feedback shift register;
A ninth step of inputting a fixed bit string after the plaintext input is completed, performing idle rotation of the feedback shift register, and outputting a message authenticator;
A tenth step of verifying whether the output message authenticator matches the separated message authenticator;
A decoding method characterized by comprising:
認証付きストリーム暗号の暗号化装置における暗号化方法を実行するためのプログラムであって、
初期鍵と初期ベクトルを読み込む第1のステップと、
初期化処理を実施する第2のステップと、
鍵系列生成処理を実行し、鍵系列を生成する第3のステップと、
該生成した鍵系列を2分割する第4のステップと、
該分割した一方の鍵系列と平文との排他的論理和演算を行い、暗号文を出力する第5のステップと、
メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第6のステップと、
平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第7のステップと、
該メッセージ認証子と前記生成した暗号文とを結合する第8のステップと、
該結合した前記メッセージ認証子と前記生成した暗号文とを送信する第9のステップと、
を実行するためのプログラム。
A program for executing an encryption method in an encrypted stream cipher encryption device,
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 dividing the generated key sequence into two parts;
A fifth step of performing an exclusive OR operation of the one divided key sequence and the plaintext, and outputting a ciphertext;
Of the feedback shift register, which is a memory for creating a message authenticator, the exclusive OR operation of the data obtained by performing the exclusive OR operation of any two registers, the other key sequence divided into plaintext, and And a sixth step of sequentially inputting to the feedback shift register;
A seventh step of outputting a message authenticator by inputting a fixed bit string after the plaintext has been input, performing idle rotation of the feedback shift register, and
An eighth step of combining the message authenticator and the generated ciphertext;
A ninth step of transmitting the combined message authenticator and the generated ciphertext;
A program for running.
認証付きストリーム暗号の復号化装置における復号化方法を実行するためのプログラムであって、
前記認証付きストリーム暗号を受信する第1のステップと、
前記受信した認証付きストリーム暗号から、暗号文を分離する第2のステップと、
初期鍵と初期ベクトルを読み込む第3のステップと、
初期化処理を実施する第4のステップと、
鍵系列生成処理を実行し、鍵系列を生成する第5のステップと、
該生成した鍵系列を2分割する第6のステップと、
該分割した一方の鍵系列と暗号文との排他的論理和演算を行い、平文を出力する第7のステップと、
メッセージ認証子を作成するためのメモリであるフィードバックシフトレジスタのうち、任意の2つのレジスタの排他的論理和演算を行ったデータと前記分割した他方の鍵系列と平文との排他的論理和演算を行い、順次、前記フィードバックシフトレジスタに入力する第8のステップと、
平文の入力終了後に、固定のビット列を入力して前記フィードバックシフトレジスタの空回しを行ってメッセージ認証子を出力する第9のステップと、
該出力したメッセージ認証子と前記分離したメッセージ認証子が一致するか否かを検証する第10のステップと、
を実行するためのプログラム。
A program for executing a decryption method in a decryption device for an authenticated stream cipher,
A first step of receiving the authenticated stream cipher;
A second step of separating ciphertext from the received authenticated stream cipher;
A third step of reading an initial key and an initial vector;
A fourth step of performing initialization processing;
A fifth step of executing a key sequence generation process to generate a key sequence;
A sixth step of dividing the generated key sequence into two parts;
A seventh step of performing an exclusive OR operation between the one divided key sequence and the ciphertext, and outputting a plaintext;
Of the feedback shift register, which is a memory for creating a message authenticator, the exclusive OR operation of the data obtained by performing the exclusive OR operation of any two registers, the other key sequence divided into plaintext, and And an eighth step of sequentially inputting to the feedback shift register;
A ninth step of inputting a fixed bit string after the plaintext input is completed, performing idle rotation of the feedback shift register, and outputting a message authenticator;
A tenth step of verifying whether the output message authenticator matches the separated message authenticator;
A program for running.
JP2010020674A 2010-02-01 2010-02-01 Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program Active JP5431190B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010020674A JP5431190B2 (en) 2010-02-01 2010-02-01 Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010020674A JP5431190B2 (en) 2010-02-01 2010-02-01 Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program

Publications (2)

Publication Number Publication Date
JP2011160228A JP2011160228A (en) 2011-08-18
JP5431190B2 true JP5431190B2 (en) 2014-03-05

Family

ID=44591802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010020674A Active JP5431190B2 (en) 2010-02-01 2010-02-01 Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program

Country Status (1)

Country Link
JP (1) JP5431190B2 (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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
US8090098B2 (en) * 2006-11-13 2012-01-03 Electronics And Telecommunications Research Institute Method of generating message authentication code using stream cipher and authentication/encryption and authentication/decryption methods using stream cipher

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
JP2011160228A (en) 2011-08-18

Similar Documents

Publication Publication Date Title
Rijmen et al. Advanced encryption standard
US8966279B2 (en) Securing the implementation of a cryptographic process using key expansion
JP5855696B2 (en) Block encryption method and block decryption method including integrity verification
EP2058781B1 (en) Encryption device, encryption method, and computer program
EP3167569B1 (en) Method and system for providing a secure update of code on a memory-constrained device
CN111066077B (en) Encryption device, encryption method, decryption device, and decryption method
JP5047198B2 (en) Secret calculation system, secret calculation method, secret calculation device, verification device, and program
WO2016067524A1 (en) Authenticated encryption apparatus, authenticated decryption apparatus, authenticated cryptography system, authenticated encryption method, and program
Aldaya et al. AES T-Box tampering attack
JP5324813B2 (en) Key generation apparatus, certificate generation apparatus, service provision system, key generation method, certificate generation method, service provision method, and program
JP4909668B2 (en) Hybrid encryption apparatus and hybrid encryption method
JP5431191B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
JP2012039180A (en) Encryptor of stream encryption, decoder of stream encryption, encrypting method of stream encryption, decoding method of stream encryption, and program
Buell Modern symmetric ciphers—Des and Aes
JP5431190B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
JP2013098722A (en) Ciphering device of stream cipher, deciphering device of stream cipher, ciphering method of stream cipher, deciphering method of stream cipher, and program
JP5102536B2 (en) Stream cipher encryption apparatus, decryption apparatus, encryption method, decryption method, and program
JP4938430B2 (en) Nonlinear function unit, stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program
JP5801095B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP6203387B2 (en) Encryption device, storage system, decryption device, encryption method, decryption method, encryption program, and decryption program
JP6631989B2 (en) Encryption device, control method, and program
JP5489696B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP5415020B2 (en) Stream cipher encryption apparatus, decryption apparatus, MAC generation apparatus, stream cipher encryption method, decryption method, MAC generation method, and program
JP5706751B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP5495825B2 (en) Stream cipher secret calculation encryption apparatus, stream cipher secret calculation decryption apparatus, encryption method, decryption method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131204

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5431190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150