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

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

Info

Publication number
JP5706751B2
JP5706751B2 JP2011102086A JP2011102086A JP5706751B2 JP 5706751 B2 JP5706751 B2 JP 5706751B2 JP 2011102086 A JP2011102086 A JP 2011102086A JP 2011102086 A JP2011102086 A JP 2011102086A JP 5706751 B2 JP5706751 B2 JP 5706751B2
Authority
JP
Japan
Prior art keywords
initial value
stream cipher
ciphertext
parallel processing
stream
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
JP2011102086A
Other languages
Japanese (ja)
Other versions
JP2012235288A (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 JP2011102086A priority Critical patent/JP5706751B2/en
Publication of JP2012235288A publication Critical patent/JP2012235288A/en
Application granted granted Critical
Publication of JP5706751B2 publication Critical patent/JP5706751B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、n個のストリーム暗号の暗号化器あるいはストリーム暗号の復号化器の処理を含む、すべての処理を並列して実行するストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラムに関する。   The present invention relates to a stream cipher encryption apparatus, a stream cipher decryption apparatus, a stream cipher that execute all processes in parallel, including the processes of n stream cipher encryptors or stream cipher decryptors. The present invention relates to an encryption method, a stream encryption decryption method and a program.

近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスに置いては、通信の秘匿を実現するため、暗号が利用される。暗号方式として最も一般的なものは、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. 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.

ストリーム暗号は、初期値を初期化処理により攪拌して、初期の内部状態を生成し、生成した状態を逐次更新しながら、暗号化の各系列を生成する。従来のストリーム暗号では、初期化ののち、さらに鍵系列生成処理を行っていたために、処理を高速化するための技術が開示されている(例えば、特許文献1参照。)。   In the stream cipher, initial values are stirred by an initialization process, an initial internal state is generated, and each sequence of encryption is generated while sequentially updating the generated state. In the conventional stream cipher, since key sequence generation processing is further performed after initialization, a technique for speeding up the processing is disclosed (for example, see Patent Document 1).

特許文献1に記載の技術は、複数の鍵系列生成部が、平文データが入力される前に、一つの秘密鍵と複数のIV(Initial Value)とを用いて複数の中間鍵を生成し、中間鍵保存メモリが、生成された複数の中間鍵を保存し、更に、複数の鍵系列生成部は、平文データが入力された際に、中間鍵保存メモリに保存されている複数の中間鍵のそれぞれを入力し、入力した中間鍵からそれぞれ並列に鍵系列を生成し、XOR部は、複数の鍵系列生成部により生成された複数の鍵系列を入力し、入力した複数の鍵系列を用いて、平文データの暗号化を行うものである。   In the technique described in Patent Document 1, a plurality of key sequence generation units generate a plurality of intermediate keys using one secret key and a plurality of IVs (Initial Value) before plaintext data is input, The intermediate key storage memory stores a plurality of generated intermediate keys, and the plurality of key sequence generation units, when plaintext data is input, stores a plurality of intermediate keys stored in the intermediate key storage memory. Each is input, and a key sequence is generated in parallel from each input intermediate key. The XOR unit inputs a plurality of key sequences generated by a plurality of key sequence generation units, and uses the input plurality of key sequences. The plaintext data is encrypted.

特開2008−60750号公報JP 2008-60750 A

上記の技術は、鍵系列の生成までの処理を並列に処理しているため、従来のものよりも処理負荷の軽減が期待できるが、鍵系列と平文との排他的論理和演算処理が並列処理化されていないため、十分に処理負荷を軽減できるものではなかった。   In the above technology, processing up to the generation of the key sequence is processed in parallel, so the processing load can be expected to be reduced compared to the conventional one, but the exclusive OR operation of the key sequence and plaintext is processed in parallel. Since it was not realized, the processing load could not be reduced sufficiently.

そこで、本発明は、上述の課題に鑑みてなされたものであり、n個のストリーム暗号の暗号化器あるいはストリーム暗号の復号化器の処理を含む、すべての処理を並列して実行するストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and stream ciphers that execute all processes in parallel, including the processes of n stream cipher encryptors or stream cipher decryptors. It is an object to provide an encryption apparatus, a stream encryption decryption apparatus, a stream encryption encryption method, a stream encryption 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)本発明は、n個のストリーム暗号の暗号化器(例えば、図1のストリーム暗号器200a、200b、200c、・・・、200x、200y、200zに相当)と、該n個のストリーム暗号の暗号化器を制御する並列処理暗号モジュール(例えば、図1の並列処理暗号モジュール100に相当)と、前記n個のストリーム暗号の暗号化器から出力されるn個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュール(例えば、図1の暗号文結合モジュール300に相当)と、を備え、前記並列処理暗号モジュールが、−nビットの初期値と平文と秘密鍵とを入力する入力手段(例えば、図2の入力部110に相当)と、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する初期値生成手段(例えば、図2の初期値生成部120に相当)と、前記入力した平文をn個に分割する分割手段(例えば、図2の分割部130に相当)と、前記初期値生成手段が生成したビットの初期値を前記n個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該1/nに分割した平文を前記n個のストリーム暗号の暗号化器に出力する出力手段(例えば、図2の出力部140に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。 (1) The present invention includes n stream cipher encryptors (for example, equivalent to the stream ciphers 200a, 200b, 200c,..., 200x, 200y, and 200z in FIG. 1), and the n streams A parallel processing cipher module (for example, equivalent to the parallel processing cipher module 100 in FIG. 1) for controlling the cipher encryptor and n ciphertexts output from the n stream cipher encryptors are combined. And a ciphertext combining module (for example, corresponding to the ciphertext combining module 300 in FIG. 1) that outputs a final ciphertext, and the parallel processing cipher module includes an initial value of L− n bits, a plaintext, and a secret An input means for inputting a key (for example, corresponding to the input unit 110 in FIG. 2), an n-bit initial value, and the generated n-bit initial value and the input L− n-bit initial value Result Initial value generation means for generating an initial value of L bits to (e.g., corresponding to the initial value generation unit 120 of FIG. 2) and the dividing means for dividing inputted plaintext into n (for example, division section of FIG. 2 130), and the initial value of the L bit generated by the initial value generating means is output to the n stream cipher encryptors, and the plaintext divided into 1 / n is converted into the n There has been proposed a stream cipher encryption device comprising output means (for example, corresponding to the output unit 140 in FIG. 2) for outputting to each stream cipher encryptor.

この発明によれば、並列処理暗号モジュールの入力手段は、−nビットの初期値と平文と秘密鍵とを入力する。初期値生成手段は、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。分割手段は、入力した平文をn個に分割する。出力手段は、初期値生成手段が生成したビットの初期値をn個のストリーム暗号の暗号化器に出力するとともに、秘密鍵および1/nに分割した平文をn個のストリーム暗号の暗号化器に出力する。したがって、平文を1/nに分割し、n個のストリーム暗号の暗号化器に分割した平文と初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、暗号文の生成までの一連の処理を並列に行うことができる。 According to the present invention, the input means of the parallel processing cryptographic module inputs the initial value of L− n bits, the plaintext, and the secret key. The initial value generating means generates an n-bit initial value and combines the generated n-bit initial value with the input L- n bit initial value to generate an L- bit initial value. The dividing means divides the input plaintext into n pieces. The output means outputs the L- bit initial value generated by the initial value generation means to the n stream cipher encryptors, and encrypts the n-stream cipher of the secret key and the plaintext divided into 1 / n. Output to the instrument. Therefore, the plaintext is divided into 1 / n, and the plaintext divided into n stream cipher encryptors and the initial value unique to the encryptor of each stream cipher generated by the initial value generating means are given, and the ciphertext A series of processes up to generation can be performed in parallel.

(2)本発明は、(1)のストリーム暗号の暗号化装置について、前記n個のストリーム暗号の暗号化器が、前記並列処理暗号モジュールからLビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う初期化処理手段(例えば、図3の初期化処理部210に相当)と、内部状態を利用して鍵系列を生成する鍵系列生成手段(例えば、図3の鍵系列生成部220に相当)と、該生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する暗号文生成手段(例えば、図3の暗号文生成部230に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。 (2) In the stream cipher encryption device according to (1), the n stream cipher encryptors input an L-bit initial value and a secret key from the parallel processing cipher module , Initialization processing means (for example, equivalent to the initialization processing unit 210 in FIG. 3) for initializing the internal state, and key sequence generation means for generating a key sequence using the internal state (for example, the key in FIG. 3) A ciphertext generating means (for example, corresponding to the ciphertext generating unit 230 in FIG. 3) that performs an exclusive OR operation between the generated key sequence and the input plaintext to generate a ciphertext. And a stream cipher encryption device characterized by comprising the following.

この発明によれば、n個のストリーム暗号の暗号化器の初期化処理手段は、並列処理暗号モジュールからLビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。鍵系列生成手段は、内部状態を利用して鍵系列を生成する。暗号文生成手段は、生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する。したがって、初期化処理、鍵系列生成処理、暗号文生成処理を各ストリーム暗号の暗号化器に並列に実行させることができる。 According to the present invention, the initialization processing means of the n stream cipher encryptors inputs the L-bit initial value and the secret key from the parallel processing cryptographic module , and performs the internal state initialization processing. The key sequence generation means generates a key sequence using the internal state. The ciphertext generation unit performs an exclusive OR operation between the generated key sequence and the input plaintext to generate a ciphertext. Accordingly, initialization processing, key sequence generation processing, and ciphertext generation processing can be executed in parallel by each stream cipher encryptor.

(3)本発明は、(1)のストリーム暗号の暗号化装置について、前記並列処理暗号モジュールが、入力した秘密鍵の下位の任意のビットを生成し、異なるn個の秘密鍵を生成する秘密鍵生成手段(例えば、図2の秘密鍵生成部160に相当)と、該生成した秘密鍵をn個のストリーム暗号の暗号化器に1つずつ配布する秘密鍵配布手段(例えば、図2の配布部170に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。   (3) The present invention relates to the stream cipher encryption device according to (1), wherein the parallel processing cryptographic module generates an arbitrary lower bit of the input secret key and generates n different secret keys. Key generation means (for example, equivalent to the secret key generation unit 160 in FIG. 2) and secret key distribution means (for example, in FIG. 2) that distributes the generated secret keys to n stream cipher encryptors one by one. And a stream cipher encryption device characterized by comprising a distribution unit 170).

この発明によれば、並列処理暗号モジュールの秘密鍵生成手段は、入力した秘密鍵の下位の任意のビットを生成し、異なるn個の秘密鍵を生成する。秘密鍵配布手段は、生成した秘密鍵をn個のストリーム暗号の暗号化器に1つずつ配布する。したがって、各ストリーム暗号の暗号化器に異なる秘密鍵を配布することにより、安全性を向上させることができる。   According to this invention, the secret key generating means of the parallel processing cryptographic module generates an arbitrary lower bit of the input secret key and generates n different secret keys. The secret key distribution means distributes the generated secret keys one by one to n stream cipher encryptors. Therefore, the security can be improved by distributing different secret keys to the encryptors of the stream ciphers.

(4)本発明は、(1)のストリーム暗号の暗号化装置について、前記暗号文結合モジュールが、ヘッダ情報を生成するヘッダ情報生成手段(例えば、図2のヘッダ情報生成部150に相当)と、前記n個のストリーム暗号の暗号化器が、暗号化処理を行った暗号文に該生成したヘッダ情報を付して前記暗号文結合モジュールに出力することを特徴とするストリーム暗号の暗号化装置を提案している。   (4) According to the present invention, in the stream cipher encryption device of (1), the ciphertext combining module generates header information generating means (for example, equivalent to the header information generating unit 150 of FIG. 2) for generating header information. The stream cipher encrypting device, wherein the n stream cipher encryptors attach the generated header information to the ciphertext subjected to encryption processing and output the ciphertext combining module to output the ciphertext combining module Has proposed.

この発明によれば、暗号文結合モジュールのヘッダ情報生成手段は、ヘッダ情報を生成する。そして、n個のストリーム暗号の暗号化器が、暗号化処理を行った暗号文に生成したヘッダ情報を付して前記暗号文結合モジュールに出力する。これにより、暗号文を復号する際に、必要な情報を提供することができる。   According to this invention, the header information generating means of the ciphertext combining module generates header information. Then, n stream cipher encryptors attach the generated header information to the encrypted ciphertext and output it to the ciphertext combining module. Thus, necessary information can be provided when decrypting the ciphertext.

(5)本発明は、()のストリーム暗号の暗号化装置について、前記ヘッダ情報が、データの切れ目を認識するためのデリミタ、暗号文長、初期値、使用したストリーム暗号モジュールの番号を含むことを特徴とするストリーム暗号の暗号化装置を提案している。 (5) The present invention relates to the stream cipher encryption device of ( 3 ), wherein the header information includes a delimiter for recognizing a data break, a ciphertext length, an initial value, and a number of a used stream cipher module. A stream cipher encryption device characterized by this is proposed.

この発明によれば、ヘッダ情報が、データの切れ目を認識するためのデリミタ、暗号文長、初期値、使用したストリーム暗号モジュールの番号を含む。これにより、暗号文を復号する際に、暗号文の境目を確認できるとともに、初期値を生成するための情報を得ることができる。   According to the present invention, the header information includes a delimiter for recognizing data breaks, a ciphertext length, an initial value, and a number of a used stream cipher module. Thereby, when the ciphertext is decrypted, the boundary of the ciphertext can be confirmed, and information for generating the initial value can be obtained.

(6)本発明は、(4)または(5)のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置であって、n個のストリーム暗号の復号化器(例えば、図6のストリーム復号器500a、500b、500c、・・・、500x、500y、500zに相当)と、該n個のストリーム暗号の復号化器を制御する並列処理復号モジュール(例えば、図6の並列処理復号モジュール400に相当)と、前記n個のストリーム暗号の復号化器から出力されるn個の平文を結合して最終的な平文を出力する平文結合モジュール(例えば、図6の平文結合モジュール600に相当)と、を備え、前記並列処理復号モジュールが、−nビットの初期値と暗号文と秘密鍵とを入力する入力手段(例えば、図7の入力部410に相当)と、該入力した暗号文からヘッダ情報を分離するヘッダ情報分離手段(例えば、図7のヘッダ情報分離部420に相当)と、該分離したヘッダ情報に基づいて、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する初期値生成手段(例えば、図7の初期値生成部430に相当)と、前記入力したヘッダ情報に基づいて、暗号文をn個に分割する分割手段(例えば、図7の分割部440に相当)と、前記初期値生成手段が生成したビットの初期値を前記n個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該1/nに分割した暗号文を前記n個のストリーム暗号の復号化器に出力する出力手段(例えば、図7の出力部450に相当)と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。 (6) The present invention is a stream cipher decrypting device for decrypting ciphertext encrypted by the stream cipher encrypting device according to (4) or (5) , wherein n stream cipher decryptors ( For example, the parallel processing decryption module (for example, FIG. 6) that controls the stream decoders 500a, 500b, 500c,..., 500x, 500y, and 500z in FIG. And a plaintext combination module (for example, the plaintext of FIG. 6) that combines the n plaintexts output from the n stream cipher decoders and outputs the final plaintext. and equivalent) to coupling module 600, wherein the parallel processing decoder module, an input means for inputting the initial value and the ciphertext and the secret key of L -n bits (e.g., the input of FIG. 7 410), header information separation means for separating header information from the input ciphertext (for example, equivalent to the header information separation unit 420 in FIG. 7), and an n-bit initial value based on the separated header information Initial value generating means for generating a value and combining the generated n-bit initial value and the input L- n-bit initial value to generate an L- bit initial value (for example, the initial value generating unit in FIG. 7) 430), a dividing means for dividing the ciphertext into n based on the inputted header information (for example, equivalent to the dividing section 440 in FIG. 7), and an L bit generated by the initial value generating means An output means for outputting an initial value to the n stream ciphers and outputting the secret key and the ciphertext divided into 1 / n to the n stream ciphers (for example, Output unit 450 in FIG. And equivalent), it proposes a decoding device of a stream cipher that comprising the.

この発明によれば、並列処理復号モジュールの入力手段は、−nビットの初期値と暗号文と秘密鍵とを入力する。ヘッダ情報分離手段は、入力した暗号文からヘッダ情報を分離する。初期値生成手段は、分離したヘッダ情報に基づいて、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。分割手段は、入力したヘッダ情報に基づいて、暗号文をn個に分割する。出力手段は、初期値生成手段が生成したビットの初期値をn個のストリーム暗号の復号化器に出力するとともに、秘密鍵および該1/nに分割した暗号文をn個のストリーム暗号の復号化器に出力する。したがって、暗号文を1/nに分割し、n個のストリーム暗号の暗号化器に分割した暗号文とヘッダ情報に基づいて初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、平文の復号までの一連の処理を並列に行うことができる。 According to this invention, the input means of the parallel processing decryption module inputs the initial value of L− n bits, the ciphertext, and the secret key. The header information separating unit separates the header information from the input ciphertext. The initial value generation means generates an n-bit initial value based on the separated header information, and combines the generated n-bit initial value and the input L− n-bit initial value to generate an L- bit initial value. Is generated. The dividing means divides the ciphertext into n pieces based on the input header information. The output means outputs the initial value of the L bit generated by the initial value generation means to the n stream cipher decryptors, and also outputs the secret key and the ciphertext divided into 1 / n of the n stream ciphers. Output to the decoder. Therefore, the ciphertext is divided into 1 / n, and the initial value unique to the encryptor of each stream cipher generated by the initial value generating means based on the ciphertext and header information divided into n stream cipher encryptors , It is possible to perform a series of processes up to decryption of plaintext in parallel.

(7)本発明は、(6)のストリーム暗号の暗号装置について、前記n個のストリーム暗号の復号化器が、前記並列処理復号モジュールからLビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う初期化処理手段(例えば、図8の初期化処理部510に相当)と、内部状態を利用して鍵系列を生成する鍵系列生成手段(例えば、図8の鍵系列生成部520に相当)と、該生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する平文生成手段(例えば、図8の平文生成部530に相当)と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。 (7) In the stream cipher encryption apparatus according to (6), the n stream cipher decoders receive an L-bit initial value and a secret key from the parallel processing decryption module , and Initialization processing means for performing state initialization processing (for example, equivalent to the initialization processing unit 510 in FIG. 8) and key sequence generation means for generating a key sequence using the internal state (for example, key sequence in FIG. 8) Generating unit 520), a plaintext generating unit (for example, corresponding to the plaintext generating unit 530 in FIG. 8) that performs an exclusive OR operation between the generated key sequence and the input ciphertext, and generates a plaintext. And a stream cipher decryption device characterized by comprising:

この発明によれば、n個のストリーム暗号の復号化器の初期化処理手段は、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。鍵系列生成手段は、内部状態を利用して鍵系列を生成する。平文生成手段は、生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する。したがって、初期化処理、鍵系列生成処理、平文生成処理を各ストリーム暗号の復号化器に並列に実行させることができる。   According to the present invention, the initialization processing means of the n number of stream cipher decoders receives the initial value and the secret key, and performs the initialization process of the internal state. The key sequence generation means generates a key sequence using the internal state. The plaintext generation means performs an exclusive OR operation between the generated key sequence and the input ciphertext to generate plaintext. Accordingly, initialization processing, key sequence generation processing, and plaintext generation processing can be executed in parallel by each stream cipher decryptor.

(8)本発明は、(6)のストリーム暗号の暗号装置について、前記並列処理復号モジュールが、入力した秘密鍵の下位の任意のビットを生成し、異なるn個の秘密鍵を生成する秘密鍵生成手段(例えば、図7の秘密鍵生成部460に相当)と、該生成した秘密鍵をn個のストリーム暗号の復号化器に1つずつ配布する秘密鍵配布手段(例えば、図7の配布部470に相当)と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。   (8) According to the present invention, in the stream cipher encryption device according to (6), the parallel processing decryption module generates a lower-order arbitrary bit of the input secret key and generates n different secret keys. Generation means (for example, equivalent to the secret key generation unit 460 in FIG. 7) and secret key distribution means for distributing the generated secret keys one by one to n stream cipher decoders (for example, distribution in FIG. 7) And a stream cipher decryption device characterized by comprising the following:

この発明によれば、並列処理復号モジュールの秘密鍵生成手段は、入力した秘密鍵の下位の任意のビットを生成し、異なるn個の秘密鍵を生成する。秘密鍵配布手段は、生成した秘密鍵をn個のストリーム暗号の復号化器に1つずつ配布する。したがって、各ストリーム暗号の復号化器に異なる秘密鍵を配布することにより、安全性を向上させることができる。   According to this invention, the secret key generation means of the parallel processing decryption module generates an arbitrary lower bit of the input secret key and generates n different secret keys. The secret key distribution means distributes the generated secret keys one by one to n stream cipher decryptors. Therefore, the security can be improved by distributing different secret keys to the decoders of the respective stream ciphers.

(9)本発明は、n個のストリーム暗号の暗号化器と、該n個のストリーム暗号の暗号化器を制御する並列処理復号モジュールと、前記n個のストリーム暗号の暗号化器から出力されるn個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、を備えたストリーム暗号の暗号化装置におけるストリーム暗号の暗号化方法であって、前記並列処理復号モジュールが、−nビットの初期値と平文と秘密鍵とを入力する第1のステップ(例えば、図5のステップS101に相当)と、前記並列処理復号モジュールが、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する第2のステップ(例えば、図5のステップS102に相当)と、前記並列処理復号モジュールが、前記入力した平文をn個に分割する第3のステップ(例えば、図5のステップS103に相当)と、前記並列処理復号モジュールが、前記第2のステップにおいて生成したビットの初期値を前記n個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該1/nに分割した平文を前記n個のストリーム暗号の暗号化器に出力する第4のステップ(例えば、図5のステップS104に相当)と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。 (9) The present invention outputs n stream cipher encryptors, a parallel processing decryption module that controls the n stream cipher encryptors, and the n stream cipher encryptors. A ciphertext combining module that combines n ciphertexts to output a final ciphertext, and a stream cipher encryption method in a stream cipher encryption device, the parallel processing decryption module comprising: A first step (for example, corresponding to step S101 in FIG. 5) of inputting an initial value of L− n bits, a plaintext, and a secret key, and the parallel processing decoding module generates an initial value of n bits, a second step of generating an initial value of L bits by combining the initial value of L -n-bit input as an initial value of n bits thus generated (for example, corresponding to step S102 of FIG. 5), the parallel Management decryption module, and a third step of dividing the plaintext and the input into n (for example, corresponding to step S103 of FIG. 5), the parallel processing decoder module, the L bits generated in the second step A fourth step (for example, outputting the initial value to the n stream cipher encryptors and outputting the secret key and the plaintext divided into 1 / n to the n stream cipher encryptors (for example, , Which corresponds to step S104 in FIG. 5).

この発明によれば、並列処理復号モジュールが、−nビットの初期値と平文と秘密鍵とを入力し、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。また、入力した平文をn個に分割し、第2のステップにおいて生成したビットの初期値をn個のストリーム暗号の暗号化器に出力するとともに、秘密鍵および1/nに分割した平文をn個のストリーム暗号の暗号化器に出力する。したがって、平文を1/nに分割し、n個のストリーム暗号の暗号化器に分割した平文と初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、暗号文の生成までの一連の処理を並列に行うことができる。 According to the present invention, the parallel processing decryption module inputs an L- n-bit initial value, a plaintext, and a secret key, generates an n-bit initial value, and generates the generated n-bit initial value and the input L − An n-bit initial value is combined to generate an L- bit initial value. Also, the input plaintext is divided into n pieces, and the initial value of the L bit generated in the second step is output to the n stream cipher encryptors, and the plaintext divided into 1 / n is also obtained. Output to n stream cipher encryptors. Therefore, the plaintext is divided into 1 / n, and the plaintext divided into n stream cipher encryptors and the initial value unique to the encryptor of each stream cipher generated by the initial value generating means are given, and the ciphertext A series of processes up to generation can be performed in parallel.

(10)本発明は、(4)または(5)のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置におけるストリーム暗号の復号化方法であって、n個のストリーム暗号の復号化器と、該n個のストリーム暗号の復号化器を制御する並列処理復号モジュールと、前記n個のストリーム暗号の復号化器から出力されるn個の平文を結合して最終的な平文を出力する平文結合モジュールと、を備え、前記並列処理復号モジュールが、−nビットの初期値と暗号文と秘密鍵とを入力する第1のステップ(例えば、図9のステップS201に相当)と、前記並列処理復号モジュールが、該入力した暗号文からヘッダ情報を分離する第2のステップ(例えば、図9のステップS202に相当)と、前記並列処理復号モジュールが、該分離したヘッダ情報に基づいて、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する第3のステップ(例えば、図9のステップS203に相当)と、前記並列処理復号モジュールが、前記入力したヘッダ情報に基づいて、暗号文をn個に分割する第4のステップ(例えば、図9のステップS204に相当)と、前記並列処理復号モジュールが、前記第3のステップにおいて生成したビットの初期値を前記n個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該1/nに分割した暗号文を前記n個のストリーム暗号の復号化器に出力する第5のステップ(例えば、図9のステップS205に相当)と、を備えたことを特徴とするストリーム暗号の復号化方法を提案している。 (10) The present invention is a stream cipher decryption method in a stream cipher decryption device for decrypting ciphertext encrypted by the stream cipher encryptor of (4) or (5) , wherein n A stream cipher decryptor, a parallel processing decryption module for controlling the n stream cipher decryptors, and n plaintexts output from the n stream cipher decryptors are combined to obtain a final result. A plaintext combining module for outputting a plaintext, wherein the parallel processing decryption module inputs an initial value of L- n bits, a ciphertext, and a secret key (for example, step S201 in FIG. 9). The parallel processing decryption module separates header information from the input ciphertext (for example, equivalent to step S202 in FIG. 9), and the parallel processing No. module, based on the header information said separated, it generates an initial value of n bits, said generated n type as the initial value of the bits were L initial value of -n bit and combined with the initial value of L bits A third step (for example, corresponding to step S203 of FIG. 9) and a fourth step (for example, the parallel processing decryption module divides the ciphertext into n based on the input header information (for example, , Corresponding to step S204 in FIG. 9), and the parallel processing decryption module outputs the L- bit initial value generated in the third step to the n number of stream ciphers, and the secret key And a fifth step (for example, corresponding to step S205 in FIG. 9) for outputting the ciphertext divided into 1 / n to the n stream cipher decryptors. We propose a method of decoding a stream cipher to symptoms.

この発明によれば、並列処理復号モジュールが、−nビットの初期値と暗号文と秘密鍵とを入力し、入力した暗号文からヘッダ情報を分離する。また、分離したヘッダ情報に基づいて、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。そして、入力したヘッダ情報に基づいて、暗号文をn個に分割し、第3のステップにおいて生成したビットの初期値をn個のストリーム暗号の復号化器に出力するとともに、秘密鍵および1/nに分割した暗号文をn個のストリーム暗号の復号化器に出力する。したがって、暗号文を1/nに分割し、n個のストリーム暗号の暗号化器に分割した暗号文とヘッダ情報に基づいて初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、平文の復号までの一連の処理を並列に行うことができる。 According to this invention, the parallel processing decryption module inputs an initial value of L- n bits, a ciphertext, and a secret key, and separates header information from the input ciphertext. Also, an n-bit initial value is generated based on the separated header information, and the generated n-bit initial value and the input L− n-bit initial value are combined to generate an L- bit initial value. Then, based on the input header information, the ciphertext is divided into n pieces, and the initial value of the L bit generated in the third step is output to the n number of stream ciphers, and the secret key and 1 The ciphertext divided into / n is output to n stream cipher decryptors. Therefore, the ciphertext is divided into 1 / n, and the initial value unique to the encryptor of each stream cipher generated by the initial value generating means based on the ciphertext and header information divided into n stream cipher encryptors , It is possible to perform a series of processes up to decryption of plaintext in parallel.

(11)本発明は、n個のストリーム暗号の暗号化器と、該n個のストリーム暗号の暗号化器を制御する並列処理暗号モジュールと、前記n個のストリーム暗号の暗号化器から出力されるn個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、を備えたストリーム暗号の暗号化装置におけるストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、前記並列処理復号モジュールが、−nビットの初期値と平文と秘密鍵とを入力する第1のステップ(例えば、図5のステップS101に相当)と、前記並列処理復号モジュールが、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する第2のステップ(例えば、図5のステップS102に相当)と、前記並列処理復号モジュールが、前記入力した平文をn個に分割する第3のステップ(例えば、図5のステップS103に相当)と、前記並列処理復号モジュールが、前記第2のステップにおいて生成したビットの初期値を前記n個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該1/nに分割した平文を前記n個のストリーム暗号の暗号化器に出力する第4のステップ(例えば、図5のステップS104に相当)と、をコンピュータに実行させるためのプログラムを提案している。 (11) The present invention outputs n stream cipher encryptors, a parallel processing cipher module for controlling the n stream cipher encryptors, and the n stream cipher encryptors. And a ciphertext combining module that combines n ciphertexts and outputs a final ciphertext, and a program for causing a computer to execute a stream cipher encryption method in a stream cipher encryption device. Then, the parallel processing decryption module receives a first step (for example, equivalent to step S101 in FIG. 5) of inputting an initial value of L− n bits, a plaintext, and a secret key, and the parallel processing decryption module includes n a second step of generating an initial value of the bits, by combining the initial value of L -n-bit input as an initial value of n bits thus generated to generate the initial value of L bits (e.g. 5 (corresponding to step S102 in FIG. 5), the third step in which the parallel processing decoding module divides the input plaintext into n pieces (for example, corresponding to step S103 in FIG. 5), and the parallel processing decoding module The initial value of the L bit generated in the second step is output to the n stream cipher encryptors, and the secret key and the plaintext divided into 1 / n are output to the n stream ciphers. A program for causing a computer to execute a fourth step (for example, corresponding to step S104 in FIG. 5) to be output to an encryptor is proposed.

この発明によれば、並列処理復号モジュールが、−nビットの初期値と平文と秘密鍵とを入力し、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。また、入力した平文をn個に分割し、第2のステップにおいて生成したビットの初期値をn個のストリーム暗号の暗号化器に出力するとともに、秘密鍵および1/nに分割した平文をn個のストリーム暗号の暗号化器に出力する。したがって、平文を1/nに分割し、n個のストリーム暗号の暗号化器に分割した平文と初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、暗号文の生成までの一連の処理を並列に行うことができる。 According to the present invention, the parallel processing decryption module inputs an L- n-bit initial value, a plaintext, and a secret key, generates an n-bit initial value, and generates the generated n-bit initial value and the input L − An n-bit initial value is combined to generate an L- bit initial value. Also, the input plaintext is divided into n pieces, and the initial value of the L bit generated in the second step is output to the n stream cipher encryptors, and the plaintext divided into 1 / n is also obtained. Output to n stream cipher encryptors. Therefore, the plaintext is divided into 1 / n, and the plaintext divided into n stream cipher encryptors and the initial value unique to the encryptor of each stream cipher generated by the initial value generating means are given, and the ciphertext A series of processes up to generation can be performed in parallel.

(12)本発明は、(4)または(5)のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置におけるストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、n個のストリーム暗号の復号化器と、該n個のストリーム暗号の復号化器を制御する並列処理暗号モジュールと、前記n個のストリーム暗号の復号化器から出力されるn個の平文を結合して最終的な平文を出力する平文結合モジュールと、を備え、前記並列処理復号モジュールが、−nビットの初期値と暗号文と秘密鍵とを入力する第1のステップ(例えば、図9のステップS201に相当)と、前記並列処理復号モジュールが、該入力した暗号文からヘッダ情報を分離する第2のステップ(例えば、図9のステップS202に相当)と、前記並列処理復号モジュールが、該分離したヘッダ情報に基づいて、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する第3のステップ(例えば、図9のステップS203に相当)と、前記並列処理復号モジュールが、前記入力したヘッダ情報に基づいて、暗号文をn個に分割する第4のステップ(例えば、図9のステップS204に相当)と、前記並列処理復号モジュールが、前記第3のステップにおいて生成したビットの初期値を前記n個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該1/nに分割した暗号文を前記n個のストリーム暗号の復号化器に出力する第5のステップ(例えば、図9のステップS205に相当)と、をコンピュータに実行させるためのプログラムを提案している。 (12) The present invention is for causing a computer to execute a stream cipher decryption method in a stream cipher decryption device that decrypts a ciphertext encrypted by the stream cipher encryptor of (4) or (5) . A program comprising: n stream cipher decryptors; a parallel processing cipher module for controlling the n stream cipher decryptors; and n streams output from the n stream cipher decryptors. A plaintext combining module that combines the plaintexts and outputs a final plaintext, wherein the parallel processing decryption module inputs an initial value of L- n bits, a ciphertext, and a secret key. (For example, corresponding to step S201 in FIG. 9) and the parallel processing decryption module in a second step (for example, FIG. And corresponding to step S202), the parallel processing decoder module, based on the header information said separated, it generates an initial value of n bits, the initial value of L -n-bit input as an initial value of n bits thus generated Are combined with each other to generate an initial value of L bits (for example, corresponding to step S203 in FIG. 9), and the parallel processing decryption module converts the ciphertext into n based on the input header information. A fourth step (for example, corresponding to step S204 in FIG. 9), and the parallel processing decryption module decrypts the initial value of the L bits generated in the third step into the n stream ciphers. And outputting the secret key and the ciphertext divided into 1 / n to the decryptors of the n stream ciphers (for example, FIG. 9). We propose a program to be executed and corresponding to step S205), to the computer.

この発明によれば、並列処理復号モジュールが、−nビットの初期値と暗号文と秘密鍵とを入力し、入力した暗号文からヘッダ情報を分離する。また、分離したヘッダ情報に基づいて、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。そして、入力したヘッダ情報に基づいて、暗号文をn個に分割し、第3のステップにおいて生成したビットの初期値をn個のストリーム暗号の復号化器に出力するとともに、秘密鍵および1/nに分割した暗号文をn個のストリーム暗号の復号化器に出力する。したがって、暗号文を1/nに分割し、n個のストリーム暗号の暗号化器に分割した暗号文とヘッダ情報に基づいて初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、平文の復号までの一連の処理を並列に行うことができる。 According to this invention, the parallel processing decryption module inputs an initial value of L- n bits, a ciphertext, and a secret key, and separates header information from the input ciphertext. Also, an n-bit initial value is generated based on the separated header information, and the generated n-bit initial value and the input L− n-bit initial value are combined to generate an L- bit initial value. Then, based on the input header information, the ciphertext is divided into n pieces, and the initial value of the L bit generated in the third step is output to the n number of stream ciphers, and the secret key and 1 The ciphertext divided into / n is output to n stream cipher decryptors. Therefore, the ciphertext is divided into 1 / n, and the initial value unique to the encryptor of each stream cipher generated by the initial value generating means based on the ciphertext and header information divided into n stream cipher encryptors , It is possible to perform a series of processes up to decryption of plaintext in parallel.

本発明によれば、ストリーム暗号の暗号化/復号化処理を複数並列に実行し、多重化することでより高速な暗号化/復号化処理を実現することができるという効果がある。   According to the present invention, a plurality of stream cipher encryption / decryption processes are executed in parallel and multiplexed, thereby realizing an effect that a higher-speed encryption / decryption process can be realized.

本発明の第1の実施形態に係るストリーム暗号の暗号化装置の構成を示す図である。It is a figure which shows the structure of the encryption apparatus of the stream encryption which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るストリーム暗号の暗号化装置における並列処理暗号モジュールの構成を示す図である。It is a figure which shows the structure of the parallel processing encryption module in the encryption apparatus of the stream encryption which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るストリーム暗号の暗号化装置におけるストリーム暗号器の構成を示す図である。It is a figure which shows the structure of the stream encryption device in the encryption apparatus of the stream encryption which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るストリーム暗号の暗号化装置においてストリーム暗号器から出力されるデータ構造を例示した図である。It is the figure which illustrated the data structure output from a stream encryption device in the encryption apparatus of the stream encryption which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るストリーム暗号の暗号化装置の処理を示す図である。It is a figure which shows the process of the encryption apparatus of the stream encryption which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係るストリーム暗号の復号化装置の構成を示す図である。It is a figure which shows the structure of the decoding apparatus of the stream encryption which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るストリーム暗号の復号化装置における並列処理暗号モジュールの構成を示す図である。It is a figure which shows the structure of the parallel processing encryption module in the decoding apparatus of the stream encryption which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るストリーム暗号の暗号化装置におけるストリーム暗号器の構成を示す図である。It is a figure which shows the structure of the stream encryption device in the encryption apparatus of the stream encryption which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るストリーム暗号の復号化装置の処理を示す図である。It is a figure which shows the process of the decoding apparatus of the stream encryption which concerns on the 2nd Embodiment of this invention.

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

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

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

<ストリーム暗号の暗号化装置の構成>
本実施形態に係るストリーム暗号の暗号化装置は、図1に示すように、並列処理暗号モジュール100と、複数のストリーム暗号器200a、200b、200c、・・・、200x、200y、200zと、暗号文結合モジュール300とから構成されている。
<Configuration of Stream Cipher Encryption Device>
As shown in FIG. 1, the encryption apparatus for stream encryption according to the present embodiment includes a parallel processing encryption module 100, a plurality of stream encryption devices 200a, 200b, 200c,..., 200x, 200y, 200z, and encryption. The sentence combination module 300 is configured.

並列処理暗号モジュール100は、−n(n;ストリーム暗号器の数)ビットの初期値と平文と秘密鍵とを入力し、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。また、入力した平文をn個に分割し、生成したビットの初期値をn個のストリーム暗号器200a、200b、200c、・・・、200x、200y、200zに出力するとともに、秘密鍵および1/nに分割した平文をn個のストリーム暗号器200a、200b、200c、・・・、200x、200y、200zに出力する。 The parallel processing cryptographic module 100 inputs an initial value of L− n (n: the number of stream ciphers) bits, a plaintext, and a secret key, generates an n-bit initial value, and generates the generated n-bit initial value. An L- bit initial value is generated by combining the input L- n bit initial value. Also, the input plaintext is divided into n pieces, and the generated L- bit initial value is output to the n stream ciphers 200a, 200b, 200c,..., 200x, 200y, 200z, and the secret key and 1 The plaintext divided into / n is output to n stream ciphers 200a, 200b, 200c,..., 200x, 200y, and 200z.

ストリーム暗号器200a、200b、200c、・・・、200x、200y、200zは、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。また、内部状態を利用して鍵系列を生成する。さらに、生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する。   The stream ciphers 200a, 200b, 200c,..., 200x, 200y, and 200z receive the initial value and the secret key, and perform an internal state initialization process. Also, a key sequence is generated using the internal state. Further, an exclusive OR operation between the generated key sequence and the input plaintext is performed to generate a ciphertext.

暗号文結合モジュール300は、図4に示すように、ストリーム暗号器200a、200b、200c、・・・、200x、200y、200zが、暗号化処理を行った暗号文に、生成したヘッダ情報を付した情報を1つの単位とし、これらを連結して暗号文として出力する。   As shown in FIG. 4, the ciphertext combining module 300 attaches the generated header information to the ciphertext encrypted by the stream ciphers 200a, 200b, 200c,..., 200x, 200y, and 200z. The obtained information is used as one unit, and these are concatenated and output as ciphertext.

<並列処理暗号モジュールの構成>
本実施形態に係る並列処理暗号モジュールは、図2に示すように、入力部110と、初期値生成部120と、分割部130と、出力部140と、ヘッダ情報生成部150と、秘密鍵生成部160と、配布部170とから構成されている。
<Configuration of parallel processing cryptographic module>
As shown in FIG. 2, the parallel processing cryptographic module according to the present embodiment includes an input unit 110, an initial value generation unit 120, a division unit 130, an output unit 140, a header information generation unit 150, and a secret key generation. Section 160 and distribution section 170.

入力部110は、−nビットの初期値と平文と秘密鍵とを入力する。ここで、nは、ストリーム暗号器200a、200b、200c、・・・、200x、200y、200zの数に相当する。 The input unit 110 inputs an initial value of L− n bits, a plaintext, and a secret key. Here, n corresponds to the number of stream ciphers 200a, 200b, 200c,..., 200x, 200y, 200z.

初期値生成部120は、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。この場合、生成するnビットの初期値は、予約値となる。分割部130は、入力した平文をn個に分割する。出力部140は、初期値生成部120が生成したビットの初期値をn個のストリーム暗号器に出力するとともに、秘密鍵および該1/nに分割した平文を前記n個のストリーム暗号器に出力する。 The initial value generation unit 120 generates an n-bit initial value, and combines the generated n-bit initial value and the input L− n-bit initial value to generate an L- bit initial value. In this case, the generated n-bit initial value is a reserved value. The dividing unit 130 divides the input plaintext into n pieces. The output unit 140 outputs the L- bit initial value generated by the initial value generation unit 120 to n stream ciphers, and outputs the secret key and the plaintext divided into 1 / n to the n stream ciphers. Output.

ヘッダ情報生成部150は、初期値生成部120および分割部130から得た情報に基づいて、ヘッダ情報を生成する。秘密鍵生成部160は、入力した秘密鍵の代わりに、ストリーム暗号器200a、200b、200c、・・・、200x、200y、200zごとに、異なる秘密鍵を与える場合に、入力した秘密鍵の下位の任意のビットを予約値として、n個の異なる秘密鍵を生成する。配布部170は、生成した秘密鍵を各ストリーム暗号器200a、200b、200c、・・・、200x、200y、200zに1つずつ配布する。   The header information generation unit 150 generates header information based on information obtained from the initial value generation unit 120 and the division unit 130. The secret key generation unit 160, when giving a different secret key for each of the stream ciphers 200a, 200b, 200c,..., 200x, 200y, 200z instead of the input secret key, N different secret keys are generated using any bit of as a reserved value. The distribution unit 170 distributes the generated secret key to each of the stream ciphers 200a, 200b, 200c, ..., 200x, 200y, 200z one by one.

<ストリーム暗号器の構成>
本実施形態に係るストリーム暗号器は、図3に示すように、初期化処理部210と、鍵系列生成部220と、暗号文生成部230とから構成されている。
<Configuration of stream cipher>
As shown in FIG. 3, the stream cipher according to the present embodiment includes an initialization processing unit 210, a key sequence generation unit 220, and a ciphertext generation unit 230.

初期化処理部210は、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。鍵系列生成部220は、内部状態を利用して鍵系列を生成する。暗号文生成部230は、生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する。   The initialization processing unit 210 receives an initial value and a secret key, and performs an internal state initialization process. The key sequence generation unit 220 generates a key sequence using the internal state. The ciphertext generation unit 230 performs an exclusive OR operation between the generated key sequence and the input plaintext to generate a ciphertext.

<ストリーム暗号の暗号化装置の処理>
図5を用いて、本実施形態に係るストリーム暗号の暗号化装置の処理について説明する。
並列処理暗号モジュールが、−nビットの初期値と平文と秘密鍵とを入力し(ステップS101)、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する(ステップS102)。また、入力した平文をn個に分割し(ステップS103)、ステップS102において生成したビットの初期値をn個のストリーム暗号器に出力するとともに、秘密鍵および1/nに分割した平文をn個のストリーム暗号器に出力する(ステップS104)。
<Processing of encryption device for stream cipher>
The processing of the stream cipher encryption apparatus according to this embodiment will be described with reference to FIG.
The parallel processing cryptographic module inputs the L- n bit initial value, the plaintext, and the secret key (step S101), generates an n-bit initial value, and generates the generated n-bit initial value and the input L- n bit. Are combined with the initial value to generate an L- bit initial value (step S102). Also, the input plaintext is divided into n pieces (step S103), the initial value of the L bit generated in step S102 is output to n stream ciphers, and the plaintext divided into 1 / n is divided into n pieces. Are output to the stream ciphers (step S104).

各ストリーム暗号器は、並列処理暗号モジュールからビットの初期値と秘密鍵を入力して、初期化処理を実行し、内部状態を利用して鍵系列を生成する。さらに、生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する。また、データの切れ目を認識するためのデリミタ、暗号文長、初期値、使用したストリーム暗号モジュールの番号を含むヘッダ情報を生成する。そして、生成した暗号文と固有のヘッダ情報とを暗号文結合モジュールに出力する。暗号文結合モジュールは、入力した情報を結合して、出力する。 Each stream cipher receives an L- bit initial value and a secret key from the parallel processing cryptographic module, executes an initialization process, and generates a key sequence using an internal state. Further, an exclusive OR operation between the generated key sequence and the input plaintext is performed to generate a ciphertext. In addition, header information including a delimiter for recognizing data breaks, a ciphertext length, an initial value, and the number of the used stream cipher module is generated. The generated ciphertext and unique header information are output to the ciphertext combining module. The ciphertext combining module combines input information and outputs the combined information.

並列処理復号モジュール400は、−n(n;ストリーム暗号器の数)ビットの初期値とヘッダ情報付き暗号文と秘密鍵とを入力し、ヘッダ情報を切り離して、そのヘッダ情報に基づいて、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。また、ヘッダ情報を切り離した暗号文をn個に分割し、生成したビットの初期値をn個のストリーム復号器500a、500b、500c、・・・、500x、500y、500zに出力するとともに、秘密鍵および1/nに分割した暗号文をn個のストリーム復号器500a、500b、500c、・・・、500x、500y、500zに出力する。 The parallel processing decryption module 400 inputs an initial value of L− n (n: the number of stream ciphers) bits, a ciphertext with header information, and a secret key, separates the header information, and based on the header information, An n-bit initial value is generated, and the generated n-bit initial value and the input L− n-bit initial value are combined to generate an L- bit initial value. In addition, the ciphertext from which the header information is separated is divided into n pieces, and the generated L- bit initial value is output to n stream decoders 500a, 500b, 500c,..., 500x, 500y, 500z, The secret key and the ciphertext divided into 1 / n are output to n stream decoders 500a, 500b, 500c,..., 500x, 500y, 500z.

<第2の実施形態>
図6から図9を用いて、本実施形態に係るストリーム暗号の復号化装置について説明する。なお、本実施形態に係るストリーム暗号の復号化装置は、第1の実施形態により暗号化された暗号文を平文に復元するものである。
<Second Embodiment>
The stream cipher decryption apparatus according to this embodiment will be described with reference to FIGS. Note that the stream cipher decryption apparatus according to the present embodiment restores the ciphertext encrypted according to the first embodiment into plaintext.

<ストリーム暗号の復号化装置の構成>
本実施形態に係るストリーム暗号の復号化装置は、図6に示すように、並列処理復号モジュール400と、複数のストリーム復号器500a、500b、500c、・・・、500x、500y、500zと、平文結合モジュール600とから構成されている。
<Configuration of Decryption Device for Stream Cipher>
As shown in FIG. 6, the decryption apparatus for the stream cipher according to this embodiment includes a parallel processing decryption module 400, a plurality of stream decryptors 500a, 500b, 500c,..., 500x, 500y, 500z, and plaintext. It is comprised from the coupling module 600.

並列処理復号モジュール400は、−n(n;ストリーム暗号器の数)ビットの初期値とヘッダ情報付き暗号文と秘密鍵とを入力し、ヘッダ情報を切り離して、そのヘッダ情報に基づいて、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。また、ヘッダ情報を切り離した暗号文をn個に分割し、生成したビットの初期値をn個のストリーム復号器500a、500b、500c、・・・、500x、500y、500zに出力するとともに、秘密鍵および1/nに分割した暗号文をn個のストリーム復号器500a、500b、500c、・・・、500x、500y、500zに出力する。 The parallel processing decryption module 400 inputs an initial value of L− n (n: the number of stream ciphers) bits, a ciphertext with header information, and a secret key, separates the header information, and based on the header information, An n-bit initial value is generated, and the generated n-bit initial value and the input L− n-bit initial value are combined to generate an L- bit initial value. In addition, the ciphertext from which the header information is separated is divided into n pieces, and the generated L- bit initial value is output to n stream decoders 500a, 500b, 500c,..., 500x, 500y, 500z, The secret key and the ciphertext divided into 1 / n are output to n stream decoders 500a, 500b, 500c,..., 500x, 500y, 500z.

ストリーム復号器500a、500b、500c、・・・、500x、500y、500zは、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。また、内部状態を利用して鍵系列を生成する。さらに、生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する。   The stream decoders 500a, 500b, 500c,..., 500x, 500y, 500z input the initial value and the secret key, and perform initialization processing of the internal state. Also, a key sequence is generated using the internal state. Further, an exclusive OR operation between the generated key sequence and the input ciphertext is performed to generate plaintext.

平文結合モジュール600は、ストリーム復号器500a、500b、500c、・・・、500x、500y、500zが、復号化処理を行った平文を連結して出力する。   The plaintext combining module 600 concatenates and outputs the plaintexts that the stream decoders 500a, 500b, 500c,..., 500x, 500y, and 500z perform the decryption processing.

<並列処理暗号モジュールの構成>
本実施形態に係る並列処理復号モジュールは、図7に示すように、入力部410と、ヘッダ情報分離部420と、初期値生成部430と、分割部440と、出力部450と、秘密鍵生成部460と、配布部470とから構成されている。
<Configuration of parallel processing cryptographic module>
As shown in FIG. 7, the parallel processing decryption module according to the present embodiment includes an input unit 410, a header information separation unit 420, an initial value generation unit 430, a division unit 440, an output unit 450, and a secret key generation. A section 460 and a distribution section 470 are included.

入力部410は、−nビットの初期値とヘッダ情報付き暗号文と秘密鍵とを入力する。ここで、nは、ストリーム復号器500a、500b、500c、・・・、500x、500y、500zの数に相当する。 The input unit 410 inputs an initial value of L− n bits, a ciphertext with header information, and a secret key. Here, n corresponds to the number of stream decoders 500a, 500b, 500c,..., 500x, 500y, 500z.

ヘッダ情報分離部420は、入力したヘッダ情報付き暗号文からヘッダ情報を分離し、分離したヘッダ情報を初期値生成部430に出力するとともに、暗号文を分割部440に出力する。分割部440は、入力した暗号文を1/nに分割し、出力部450に出力する。初期値生成部430は、入力したヘッダ情報に基づいて、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する。この場合、生成するnビットの初期値は、予約値となる。出力部450は、初期値生成部430が生成したビットの初期値をn個のストリーム復号器500a、500b、500c、・・・、500x、500y、500zに出力するとともに、秘密鍵および1/nに分割した暗号文をn個のストリーム復号器500a、500b、500c、・・・、500x、500y、500zに出力する。 The header information separation unit 420 separates the header information from the input ciphertext with header information, outputs the separated header information to the initial value generation unit 430, and outputs the ciphertext to the division unit 440. The dividing unit 440 divides the input ciphertext into 1 / n and outputs it to the output unit 450. The initial value generation unit 430, based on the input header information, generates an initial value of n bits, resulting n by combining the initial value of L -n-bit input as an initial value of L bits of the bit Initial Generate a value. In this case, the generated n-bit initial value is a reserved value. The output unit 450 outputs the L- bit initial value generated by the initial value generation unit 430 to the n stream decoders 500a, 500b, 500c,..., 500x, 500y, 500z, and the secret key and 1 / The ciphertext divided into n is output to n stream decoders 500a, 500b, 500c,..., 500x, 500y, and 500z.

秘密鍵生成部460は、入力した秘密鍵の代わりに、ストリーム復号器500a、500b、500c、・・・、500x、500y、500zごとに、異なる秘密鍵を与える場合に、入力した秘密鍵の下位の任意のビットを予約値として、n個の異なる秘密鍵を生成する。配布部470は、生成した秘密鍵を各ストリーム暗号器200a、200b、200c、・・・、200x、200y、200zに1つずつ配布する。   The secret key generation unit 460, when giving a different secret key to each of the stream decoders 500a, 500b, 500c,..., 500x, 500y, 500z, instead of the input secret key, N different secret keys are generated using any bit of as a reserved value. The distribution unit 470 distributes the generated secret key to each of the stream ciphers 200a, 200b, 200c, ..., 200x, 200y, 200z one by one.

<ストリーム暗号器の構成>
本実施形態に係るストリーム暗号器は、図8に示すように、初期化処理部510と、鍵系列生成部520と、平文生成部530とから構成されている。
<Configuration of stream cipher>
As shown in FIG. 8, the stream cipher according to this embodiment includes an initialization processing unit 510, a key sequence generation unit 520, and a plaintext generation unit 530.

初期化処理部510は、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。鍵系列生成部520は、内部状態を利用して鍵系列を生成する。平文生成部530は、生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する。   The initialization processing unit 510 receives an initial value and a secret key, and performs an internal state initialization process. The key sequence generation unit 520 generates a key sequence using the internal state. The plaintext generation unit 530 performs an exclusive OR operation between the generated key sequence and the input ciphertext to generate plaintext.

<ストリーム暗号の復号化装置の処理>
図9を用いて、本実施形態に係るストリーム暗号の復号化装置の処理について説明する。
並列処理復号モジュールが、−nビットの初期値と暗号文と秘密鍵とを入力し(ステップS201)、入力した暗号文からヘッダ情報を分離する(ステップS201)。次に、ヘッダ情報に基づいて、nビットの初期値を生成し、生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する(ステップS203)。また、ヘッダ情報に基づいて、入力した暗号文をn個に分割し(ステップS204)、ステップS203において生成したビットの初期値をn個のストリーム復号器に出力するとともに、秘密鍵および1/nに分割した暗号文をn個のストリーム復号器に出力する(ステップS205)。
<Processing of Decryption Device for Stream Cipher>
The processing of the stream cipher decryption apparatus according to this embodiment will be described with reference to FIG.
The parallel processing decryption module inputs an initial value of L− n bits, a ciphertext, and a secret key (step S201), and separates header information from the input ciphertext (step S201). Next, based on the header information, an n-bit initial value is generated, and the generated n-bit initial value and the input L- n-bit initial value are combined to generate an L- bit initial value (step) S203). Further, based on the header information, the input ciphertext is divided into n pieces (step S204), the initial value of the L bit generated in step S203 is output to n stream decoders, and the secret key and 1 / The ciphertext divided into n is output to n stream decryptors (step S205).

各ストリーム復号器は、並列処理復号モジュールからlビットの初期値と秘密鍵を入力して、初期化処理を実行し、内部状態を利用して鍵系列を生成する。さらに、生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する。そして、生成した平文を平文結合モジュールに出力する。平文結合モジュールは、入力した情報を結合して、出力する。   Each stream decoder receives an l-bit initial value and a secret key from the parallel processing decryption module, executes an initialization process, and generates a key sequence using an internal state. Further, an exclusive OR operation between the generated key sequence and the input ciphertext is performed to generate plaintext. Then, the generated plaintext is output to the plaintext combination module. The plaintext combining module combines the input information and outputs it.

以上、説明したように、本実施形態によれば、暗号文を1/nに分割し、n個のストリーム暗号の暗号化器に分割した暗号文とヘッダ情報に基づいて初期値生成手段が生成した各ストリーム復号器固有の初期値を与えることにより、平文の復号までの一連の処理を並列に行うことができる。   As described above, according to the present embodiment, the ciphertext is divided into 1 / n, and the initial value generating unit generates the ciphertext divided into n stream cipher encryptors and the header information. By giving an initial value unique to each stream decoder, a series of processing up to plaintext decoding can be performed in parallel.

なお、ストリーム暗号の暗号器あるいはストリーム暗号の復号器の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをストリーム暗号の暗号器あるいはストリーム暗号の復号器に読み込ませ、実行することによって本発明のストリーム暗号の暗号器あるいはストリーム暗号の復号器を実現することができる。ここでいうコンピュータシステムとは、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;並列処理暗号モジュール
110;入力部
120;初期値生成部
130;分割部
140;出力部
150;ヘッダ情報生成部
160;秘密鍵生成部
170;配布部
200a、200b、200c、・・・、200x、200y、200z;ストリーム暗号器
210;初期化処理部
220;鍵系列生成部
230;暗号文生成部
300;暗号文結合モジュール
400;並列処理復号モジュール
410;入力部
420;ヘッダ情報分離部
430;初期値生成部
440;分割部
450;出力部
460;秘密鍵生成部
470;配布部
500a、500b、500c、・・・、500x、500y、500z;ストリーム復号器
510;初期化処理部
520;鍵系列生成部
530;平文生成部
600;平文結合モジュール
100; parallel processing cryptographic module 110; input unit 120; initial value generation unit 130; division unit 140; output unit 150; header information generation unit 160; secret key generation unit 170; distribution units 200a, 200b, 200c,. 200x, 200y, 200z; stream cipher 210; initialization processing unit 220; key sequence generation unit 230; ciphertext generation unit 300; ciphertext combination module 400; parallel processing decryption module 410; input unit 420; header information separation unit 430 Initial value generation unit 440; division unit 450; output unit 460; secret key generation unit 470; distribution unit 500a, 500b, 500c, ..., 500x, 500y, 500z; stream decoder 510; initialization processing unit 520; Key sequence generation unit 530; plaintext generation unit 600; plaintext combination module

Claims (12)

n個のストリーム暗号の暗号化器と、
該n個のストリーム暗号の暗号化器を制御する並列処理暗号モジュールと、
前記n個のストリーム暗号の暗号化器から出力されるn個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、
を備え、
前記並列処理暗号モジュールが、
−nビットの初期値と平文と秘密鍵とを入力する入力手段と、
nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する初期値生成手段と、
前記入力した平文をn個に分割する分割手段と、
前記初期値生成手段が生成したビットの初期値を前記n個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該1/nに分割した平文を前記n個のストリーム暗号の暗号化器に出力する出力手段と、
を備えたことを特徴とするストリーム暗号の暗号化装置。
n stream cipher encryptors;
A parallel processing cryptographic module for controlling the n stream cipher encryptors;
A ciphertext combining module that combines n ciphertexts output from the n stream cipher encryptors and outputs a final ciphertext;
With
The parallel processing cryptographic module is
An input means for inputting an initial value of L− n bits, a plaintext, and a secret key;
initial value generating means for generating an n-bit initial value and combining the generated n-bit initial value and the input L- n bit initial value to generate an L- bit initial value;
Dividing means for dividing the inputted plaintext into n pieces;
The L- bit initial value generated by the initial value generating means is output to the n stream cipher encryptors, and the private key and the plaintext divided into 1 / n are encrypted with the n stream ciphers. Output means for outputting to the generator;
A stream cipher encryption apparatus comprising:
前記n個のストリーム暗号の暗号化器が、
前記並列処理暗号モジュールからLビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う初期化処理手段と、
内部状態を利用して鍵系列を生成する鍵系列生成手段と、
該生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する暗号文生成手段と、
を備えたことを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
The n stream cipher encryptors are:
An initialization processing means for inputting an L-bit initial value and a secret key from the parallel processing cryptographic module and performing initialization processing of an internal state;
A key sequence generating means for generating a key sequence using an internal state;
A ciphertext generating means for performing an exclusive OR operation between the generated key sequence and the input plaintext to generate a ciphertext;
The stream cipher encryption apparatus according to claim 1, further comprising:
前記並列処理暗号モジュールが、
入力した秘密鍵の下位の任意のビットを生成し、異なるn個の秘密鍵を生成する秘密鍵生成手段と、
該生成した秘密鍵をn個のストリーム暗号の暗号化器に1つずつ配布する秘密鍵配布手段と、
を備えたことを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
The parallel processing cryptographic module is
A secret key generating means for generating an arbitrary lower bit of the input secret key and generating n different secret keys;
Secret key distribution means for distributing the generated secret keys one by one to n stream cipher encryptors;
The stream cipher encryption apparatus according to claim 1, further comprising:
前記暗号文結合モジュールが、ヘッダ情報を生成するヘッダ情報生成手段と、
前記n個のストリーム暗号の暗号化器が、暗号化処理を行った暗号文に該生成したヘッダ情報を付して前記暗号文結合モジュールに出力することを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
The ciphertext combining module includes header information generating means for generating header information;
2. The stream according to claim 1, wherein the n stream cipher encryptors attach the generated header information to a ciphertext subjected to an encryption process, and output the ciphertext combining module to the ciphertext combining module. Cryptographic encryption device.
前記ヘッダ情報が、データの切れ目を認識するためのデリミタ、暗号文長、初期値(の一部)、使用したストリーム暗号モジュールの番号を含むことを特徴とする請求項に記載のストリーム暗号の暗号化装置。 5. The stream cipher according to claim 4 , wherein the header information includes a delimiter for recognizing data breaks, a ciphertext length, an initial value (a part of the ciphertext), and a number of a used stream cipher module. Encryption device. 前記請求項4または5に記載のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置であって、
n個のストリーム暗号の復号化器と、
該n個のストリーム暗号の復号化器を制御する並列処理復号モジュールと、
前記n個のストリーム暗号の復号化器から出力されるn個の平文を結合して最終的な平文を出力する平文結合モジュールと、
を備え、
前記並列処理復号モジュールが、
−nビットの初期値と暗号文と秘密鍵とを入力する入力手段と、
該入力した暗号文からヘッダ情報を分離するヘッダ情報分離手段と、
該分離したヘッダ情報に基づいて、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する初期値生成手段と、
前記入力したヘッダ情報に基づいて、暗号文をn個に分割する分割手段と、
前記初期値生成手段が生成したビットの初期値を前記n個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該1/nに分割した暗号文を前記n個のストリーム暗号の復号化器に出力する出力手段と、
を備えたことを特徴とするストリーム暗号の復号化装置。
A stream cipher decrypting device for decrypting a ciphertext encrypted by the stream cipher encrypting device according to claim 4 ,
n stream cipher decryptors;
A parallel processing decryption module for controlling the n stream cipher decryptors;
A plaintext combining module that combines n plaintexts output from the n stream cipher decoders and outputs a final plaintext;
With
The parallel processing decoding module is
Input means for inputting an initial value of L− n bits, a ciphertext, and a secret key;
Header information separating means for separating header information from the input ciphertext;
Early based converting said separated header information to generate an initial value of n bits, to generate an initial value of L bits by combining the initial value of L -n-bit input as an initial value of n bits thus generated Value generation means;
Splitting means for splitting the ciphertext into n based on the input header information;
The L- bit initial value generated by the initial value generating means is output to the n number of stream cipher decoders, and the secret key and the 1 / n ciphertext are converted into the n stream ciphers. Output means for outputting to the decoder;
An apparatus for decrypting a stream cipher, comprising:
前記n個のストリーム暗号の復号化器が、
前記並列処理復号モジュールからLビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う初期化処理手段と、
内部状態を利用して鍵系列を生成する鍵系列生成手段と、
該生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する暗号文生成手段と、
を備えたことを特徴とする請求項6に記載のストリーム暗号の復号化装置。
The n number of stream cipher decoders;
An initialization processing means for inputting an L-bit initial value and a secret key from the parallel processing decryption module and performing an initialization process of an internal state;
A key sequence generating means for generating a key sequence using an internal state;
A ciphertext generating means for performing an exclusive OR operation between the generated key sequence and the input ciphertext, and generating plaintext;
The stream cipher decryption apparatus according to claim 6, further comprising:
前記並列処理復号モジュールが、
入力した秘密鍵の下位の任意のビットを生成し、異なるn個の秘密鍵を生成する秘密鍵生成手段と、
該生成した秘密鍵をn個のストリーム暗号の復号化器に1つずつ配布する秘密鍵配布手段と、
を備えたことを特徴とする請求項6に記載のストリーム暗号の復号化装置。
The parallel processing decoding module is
A secret key generating means for generating an arbitrary lower bit of the input secret key and generating n different secret keys;
Secret key distribution means for distributing the generated secret key to n stream ciphers one by one;
The stream cipher decryption apparatus according to claim 6, further comprising:
n個のストリーム暗号の暗号化器と、
該n個のストリーム暗号の暗号化器を制御する並列処理暗号モジュールと、
前記n個のストリーム暗号の暗号化器から出力されるn個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、を備えたストリーム暗号の暗号化装置におけるストリーム暗号の暗号化方法であって、
前記並列処理暗号モジュールが、−nビットの初期値と平文と秘密鍵とを入力する第1のステップと、
前記並列処理暗号モジュールが、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する第2のステップと、
前記並列処理暗号モジュールが、前記入力した平文をn個に分割する第3のステップと、
前記並列処理暗号モジュールが、前記第2のステップにおいて生成したビットの初期値を前記n個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該1/nに分割した平文を前記n個のストリーム暗号の暗号化器に出力する第4のステップと、
を備えたことを特徴とするストリーム暗号の暗号化方法。
n stream cipher encryptors;
A parallel processing cryptographic module for controlling the n stream cipher encryptors;
A ciphertext combining module that combines the n ciphertexts output from the n stream cipher encryptors and outputs a final ciphertext; An encryption method,
A first step in which the parallel processing cryptographic module inputs an initial value of L- n bits, a plaintext, and a secret key;
The parallel processing cryptographic module generates an n-bit initial value, and combines the generated n-bit initial value and the input L- n-bit initial value to generate an L- bit initial value. Steps,
A third step in which the parallel processing cryptographic module divides the inputted plaintext into n pieces;
The parallel processing cryptographic module outputs the L- bit initial value generated in the second step to the n stream cipher encryptors, and the secret key and the plaintext divided into 1 / n are a fourth step of outputting to n stream cipher encryptors;
A stream cipher encryption method characterized by comprising:
前記請求項4または5に記載のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置におけるストリーム暗号の復号化方法であって、
n個のストリーム暗号の復号化器と、
該n個のストリーム暗号の復号化器を制御する並列処理復号モジュールと、
前記n個のストリーム暗号の復号化器から出力されるn個の平文を結合して最終的な平文を出力する平文結合モジュールと、
を備え、
前記並列処理復号モジュールが、−nビットの初期値と暗号文と秘密鍵とを入力する第1のステップと、
前記並列処理復号モジュールが、該入力した暗号文からヘッダ情報を分離する第2のステップと、
前記並列処理復号モジュールが、該分離したヘッダ情報に基づいて、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する第3のステップと、
前記並列処理復号モジュールが、前記入力したヘッダ情報に基づいて、暗号文をn個に分割する第4のステップと、
前記並列処理復号モジュールが、前記第3のステップにおいて生成したビットの初期値を前記n個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該1/nに分割した暗号文を前記n個のストリーム暗号の復号化器に出力する第5のステップと、
を備えたことを特徴とするストリーム暗号の復号化方法。
A method for decrypting a stream cipher in a stream cipher decrypting device for decrypting a ciphertext encrypted by the stream cipher encrypting device according to claim 4 ,
n stream cipher decryptors;
A parallel processing decryption module for controlling the n stream cipher decryptors;
A plaintext combining module that combines n plaintexts output from the n stream cipher decoders and outputs a final plaintext;
With
A first step in which the parallel processing decryption module inputs an initial value of L- n bits, a ciphertext, and a secret key;
A second step in which the parallel processing decryption module separates header information from the input ciphertext;
The parallel processing decoding module generates an n-bit initial value based on the separated header information, and combines the generated n-bit initial value with the input L− n-bit initial value to generate L bits A third step of generating an initial value of
A fourth step in which the parallel processing decryption module divides the ciphertext into n pieces based on the inputted header information;
The parallel processing decryption module outputs the initial value of the L bit generated in the third step to the decryptors of the n stream ciphers, and the ciphertext divided into the secret key and the 1 / n A fifth step of outputting to the n stream cipher decoders;
A method of decrypting a stream cipher, comprising:
n個のストリーム暗号の暗号化器と、
該n個のストリーム暗号の暗号化器を制御する並列処理暗号モジュールと、
前記n個のストリーム暗号の暗号化器から出力されるn個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、を備えたストリーム暗号の暗号化装置におけるストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、
前記並列処理暗号モジュールが、−nビットの初期値と平文と秘密鍵とを入力する第1のステップと、
前記並列処理暗号モジュールが、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する第2のステップと、
前記並列処理暗号モジュールが、前記入力した平文をn個に分割する第3のステップと、
前記並列処理暗号モジュールが、前記第2のステップにおいて生成したビットの初期値を前記n個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該1/nに分割した平文を前記n個のストリーム暗号の暗号化器に出力する第4のステップと、

をコンピュータに実行させるためのプログラム。
n stream cipher encryptors;
A parallel processing cryptographic module for controlling the n stream cipher encryptors;
A ciphertext combining module that combines the n ciphertexts output from the n stream cipher encryptors and outputs a final ciphertext; A program for causing a computer to execute an encryption method,
A first step in which the parallel processing cryptographic module inputs an initial value of L- n bits, a plaintext, and a secret key;
The parallel processing cryptographic module generates an n-bit initial value, and combines the generated n-bit initial value and the input L- n-bit initial value to generate an L- bit initial value. Steps,
A third step in which the parallel processing cryptographic module divides the inputted plaintext into n pieces;
The parallel processing cryptographic module outputs the L- bit initial value generated in the second step to the n stream cipher encryptors, and the secret key and the plaintext divided into 1 / n are a fourth step of outputting to n stream cipher encryptors;

A program that causes a computer to execute.
前記請求項4または5に記載のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置におけるストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、
n個のストリーム暗号の復号化器と、
該n個のストリーム暗号の復号化器を制御する並列処理復号モジュールと、
前記n個のストリーム暗号の復号化器から出力されるn個の平文を結合して最終的な平文を出力する平文結合モジュールと、
を備え、
前記並列処理復号モジュールが、−nビットの初期値と暗号文と秘密鍵とを入力する第1のステップと、
前記並列処理復号モジュールが、該入力した暗号文からヘッダ情報を分離する第2のステップと、
前記並列処理復号モジュールが、該分離したヘッダ情報に基づいて、nビットの初期値を生成し、該生成したnビットの初期値と入力した−nビットの初期値とを結合してビットの初期値を生成する第3のステップと、
前記並列処理復号モジュールが、前記入力したヘッダ情報に基づいて、暗号文をn個に分割する第4のステップと、
前記並列処理復号モジュールが、前記第3のステップにおいて生成したビットの初期値を前記n個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該1/nに分割した暗号文を前記n個のストリーム暗号の復号化器に出力する第5のステップと、
をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute a stream cipher decryption method in a stream cipher decryption device that decrypts a ciphertext encrypted by the stream cipher encryption device according to claim 4 ,
n stream cipher decryptors;
A parallel processing decryption module for controlling the n stream cipher decryptors;
A plaintext combining module that combines n plaintexts output from the n stream cipher decoders and outputs a final plaintext;
With
A first step in which the parallel processing decryption module inputs an initial value of L- n bits, a ciphertext, and a secret key;
A second step in which the parallel processing decryption module separates header information from the input ciphertext;
The parallel processing decoding module generates an n-bit initial value based on the separated header information, and combines the generated n-bit initial value with the input L− n-bit initial value to generate L bits A third step of generating an initial value of
A fourth step in which the parallel processing decryption module divides the ciphertext into n pieces based on the inputted header information;
The parallel processing decryption module outputs the initial value of the L bit generated in the third step to the decryptors of the n stream ciphers, and the ciphertext divided into the secret key and the 1 / n A fifth step of outputting to the n stream cipher decoders;
A program that causes a computer to execute.
JP2011102086A 2011-04-28 2011-04-28 Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program Active JP5706751B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011102086A JP5706751B2 (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
JP2011102086A JP5706751B2 (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
JP2012235288A JP2012235288A (en) 2012-11-29
JP5706751B2 true JP5706751B2 (en) 2015-04-22

Family

ID=47435198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011102086A Active JP5706751B2 (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) JP5706751B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6236208B2 (en) * 2013-03-25 2017-11-22 株式会社メガチップス Stream cipher

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3864675B2 (en) * 2000-03-09 2007-01-10 株式会社日立製作所 Common key encryption device
JP4912797B2 (en) * 2006-08-30 2012-04-11 三菱電機株式会社 ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM
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
US20100306553A1 (en) * 2009-06-01 2010-12-02 Poletti Iii Joseph William High-throughput cryptographic processing using parallel processing

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2022508351A (en) Privacy protection based on homomorphic encryption Multi-institutional data classification method
US9515818B2 (en) Multi-block cryptographic operation
JP2010140026A (en) Method and device for encryption chained mode
TW200828936A (en) Encryption processor, encryption processing method, and computer program
JP7031580B2 (en) Cryptographic device, encryption method, decryption device, and decryption method
Abd Ali et al. Novel encryption algorithm for securing sensitive information based on feistel cipher
JP2023063430A5 (en)
JP4909668B2 (en) Hybrid encryption apparatus and hybrid encryption method
US9219606B2 (en) Method and device for digital data blocks encryption and decryption
JP2012039180A (en) Encryptor of stream encryption, decoder of stream encryption, encrypting method of stream encryption, decoding method of stream encryption, and program
JP5706751B2 (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
EP3996321A1 (en) Method for processing encrypted data
JP5489696B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP2011160229A (en) Encryption device of stream cipher with authentication, decryption device of stream cipher with authentication, encryption method, 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
CN111740818A (en) Data processing method, device, equipment and storage medium
JP5431190B2 (en) Authenticated stream cipher encryption apparatus, authenticated stream cipher decryption apparatus, encryption method, decryption method, and program
JP2009037095A (en) Data scrambling apparatus, data descrambling apparatus, data scrambling method, data descrambling method and program
JP2002108205A (en) Block ciphering method and decoding method
JP2013098722A (en) Ciphering device of stream cipher, deciphering device of stream cipher, ciphering method of stream cipher, deciphering method of stream cipher, and program
JP5559011B2 (en) Stream cipher encryption apparatus, stream cipher encryption method and program
JP5801095B2 (en) Stream cipher encryption apparatus, stream cipher decryption apparatus, stream cipher encryption method, stream cipher decryption method, and program
JP2010056848A (en) Encryption apparatus, encryption method, program, and program storage medium
JP5882797B2 (en) Stream encryption processing system, tamper resistant device, and stream encryption processing method

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150227

R150 Certificate of patent or registration of utility model

Ref document number: 5706751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150