(57)【特許請求の範囲】
【請求項１】
ｎ個のストリーム暗号の暗号化器と、
該ｎ個のストリーム暗号の暗号化器を制御する並列処理暗号モジュールと、
前記ｎ個のストリーム暗号の暗号化器から出力されるｎ個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、
を備え、
前記並列処理暗号モジュールが、
Ｌ−ｎビットの初期値と平文と秘密鍵とを入力する入力手段と、
ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する初期値生成手段と、
前記入力した平文をｎ個に分割する分割手段と、
前記初期値生成手段が生成したＬビットの初期値を前記ｎ個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した平文を前記ｎ個のストリーム暗号の暗号化器に出力する出力手段と、
を備えたことを特徴とするストリーム暗号の暗号化装置。
【請求項２】
前記ｎ個のストリーム暗号の暗号化器が、
前記並列処理暗号モジュールからＬビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う初期化処理手段と、
内部状態を利用して鍵系列を生成する鍵系列生成手段と、
該生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する暗号文生成手段と、
を備えたことを特徴とする請求項１に記載のストリーム暗号の暗号化装置。
【請求項３】
前記並列処理暗号モジュールが、
入力した秘密鍵の下位の任意のビットを生成し、異なるｎ個の秘密鍵を生成する秘密鍵生成手段と、
該生成した秘密鍵をｎ個のストリーム暗号の暗号化器に１つずつ配布する秘密鍵配布手段と、
を備えたことを特徴とする請求項１に記載のストリーム暗号の暗号化装置。
【請求項４】
前記暗号文結合モジュールが、ヘッダ情報を生成するヘッダ情報生成手段と、
前記ｎ個のストリーム暗号の暗号化器が、暗号化処理を行った暗号文に該生成したヘッダ情報を付して前記暗号文結合モジュールに出力することを特徴とする請求項１に記載のストリーム暗号の暗号化装置。
【請求項５】
前記ヘッダ情報が、データの切れ目を認識するためのデリミタ、暗号文長、初期値（の一部）、使用したストリーム暗号モジュールの番号を含むことを特徴とする請求項４に記載のストリーム暗号の暗号化装置。
【請求項６】
前記請求項４または５に記載のストリーム暗号の暗号化装置により暗号化された暗号文を復号するストリーム暗号の復号化装置であって、
ｎ個のストリーム暗号の復号化器と、
該ｎ個のストリーム暗号の復号化器を制御する並列処理復号モジュールと、
前記ｎ個のストリーム暗号の復号化器から出力されるｎ個の平文を結合して最終的な平文を出力する平文結合モジュールと、
を備え、
前記並列処理復号モジュールが、
Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力する入力手段と、
該入力した暗号文からヘッダ情報を分離するヘッダ情報分離手段と、
該分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する初期値生成手段と、
前記入力したヘッダ情報に基づいて、暗号文をｎ個に分割する分割手段と、
前記初期値生成手段が生成したＬビットの初期値を前記ｎ個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した暗号文を前記ｎ個のストリーム暗号の復号化器に出力する出力手段と、
を備えたことを特徴とするストリーム暗号の復号化装置。
【請求項７】
前記ｎ個のストリーム暗号の復号化器が、
前記並列処理復号モジュールからＬビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う初期化処理手段と、
内部状態を利用して鍵系列を生成する鍵系列生成手段と、
該生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する暗号文生成手段と、
を備えたことを特徴とする請求項６に記載のストリーム暗号の復号化装置。
【請求項８】
前記並列処理復号モジュールが、
入力した秘密鍵の下位の任意のビットを生成し、異なるｎ個の秘密鍵を生成する秘密鍵生成手段と、
該生成した秘密鍵をｎ個のストリーム暗号の復号化器に１つずつ配布する秘密鍵配布手段と、
を備えたことを特徴とする請求項６に記載のストリーム暗号の復号化装置。
【請求項９】
ｎ個のストリーム暗号の暗号化器と、
該ｎ個のストリーム暗号の暗号化器を制御する並列処理暗号モジュールと、
前記ｎ個のストリーム暗号の暗号化器から出力されるｎ個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、を備えたストリーム暗号の暗号化装置におけるストリーム暗号の暗号化方法であって、
前記並列処理暗号モジュールが、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力する第１のステップと、
前記並列処理暗号モジュールが、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する第２のステップと、
前記並列処理暗号モジュールが、前記入力した平文をｎ個に分割する第３のステップと、
前記並列処理暗号モジュールが、前記第２のステップにおいて生成したＬビットの初期値を前記ｎ個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した平文を前記ｎ個のストリーム暗号の暗号化器に出力する第４のステップと、
を備えたことを特徴とするストリーム暗号の暗号化方法。
【請求項１０】
前記請求項４または５に記載のストリーム暗号の暗号化装置により暗号化された暗号文を復号するストリーム暗号の復号化装置におけるストリーム暗号の復号化方法であって、
ｎ個のストリーム暗号の復号化器と、
該ｎ個のストリーム暗号の復号化器を制御する並列処理復号モジュールと、
前記ｎ個のストリーム暗号の復号化器から出力されるｎ個の平文を結合して最終的な平文を出力する平文結合モジュールと、
を備え、
前記並列処理復号モジュールが、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力する第１のステップと、
前記並列処理復号モジュールが、該入力した暗号文からヘッダ情報を分離する第２のステップと、
前記並列処理復号モジュールが、該分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する第３のステップと、
前記並列処理復号モジュールが、前記入力したヘッダ情報に基づいて、暗号文をｎ個に分割する第４のステップと、
前記並列処理復号モジュールが、前記第３のステップにおいて生成したＬビットの初期値を前記ｎ個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した暗号文を前記ｎ個のストリーム暗号の復号化器に出力する第５のステップと、
を備えたことを特徴とするストリーム暗号の復号化方法。
【請求項１１】
ｎ個のストリーム暗号の暗号化器と、
該ｎ個のストリーム暗号の暗号化器を制御する並列処理暗号モジュールと、
前記ｎ個のストリーム暗号の暗号化器から出力されるｎ個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、を備えたストリーム暗号の暗号化装置におけるストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、
前記並列処理暗号モジュールが、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力する第１のステップと、
前記並列処理暗号モジュールが、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する第２のステップと、
前記並列処理暗号モジュールが、前記入力した平文をｎ個に分割する第３のステップと、
前記並列処理暗号モジュールが、前記第２のステップにおいて生成したＬビットの初期値を前記ｎ個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した平文を前記ｎ個のストリーム暗号の暗号化器に出力する第４のステップと、
をコンピュータに実行させるためのプログラム。
【請求項１２】
前記請求項４または５に記載のストリーム暗号の暗号化装置により暗号化された暗号文を復号するストリーム暗号の復号化装置におけるストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、
ｎ個のストリーム暗号の復号化器と、
該ｎ個のストリーム暗号の復号化器を制御する並列処理復号モジュールと、
前記ｎ個のストリーム暗号の復号化器から出力されるｎ個の平文を結合して最終的な平文を出力する平文結合モジュールと、
を備え、
前記並列処理復号モジュールが、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力する第１のステップと、
前記並列処理復号モジュールが、該入力した暗号文からヘッダ情報を分離する第２のステップと、
前記並列処理復号モジュールが、該分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する第３のステップと、
前記並列処理復号モジュールが、前記入力したヘッダ情報に基づいて、暗号文をｎ個に分割する第４のステップと、
前記並列処理復号モジュールが、前記第３のステップにおいて生成したＬビットの初期値を前記ｎ個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した暗号文を前記ｎ個のストリーム暗号の復号化器に出力する第５のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ｎ個のストリーム暗号の暗号化器あるいはストリーム暗号の復号化器の処理を含む、すべての処理を並列して実行するストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスに置いては、通信の秘匿を実現するため、暗号が利用される。暗号方式として最も一般的なものは、１つの鍵で暗号化・復号化を行う共通鍵暗号方式であるが、共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式の２つに分けられる。前者は、最も一般的に用いられている方式であるが、後者の方が処理速度に優れるため、近年注目を集めつつある。
【０００３】
ストリーム暗号は、初期値を初期化処理により攪拌して、初期の内部状態を生成し、生成した状態を逐次更新しながら、暗号化の各系列を生成する。従来のストリーム暗号では、初期化ののち、さらに鍵系列生成処理を行っていたために、処理を高速化するための技術が開示されている（例えば、特許文献１参照。）。
【０００４】
特許文献１に記載の技術は、複数の鍵系列生成部が、平文データが入力される前に、一つの秘密鍵と複数のＩＶ（Ｉｎｉｔｉａｌ Ｖａｌｕｅ）とを用いて複数の中間鍵を生成し、中間鍵保存メモリが、生成された複数の中間鍵を保存し、更に、複数の鍵系列生成部は、平文データが入力された際に、中間鍵保存メモリに保存されている複数の中間鍵のそれぞれを入力し、入力した中間鍵からそれぞれ並列に鍵系列を生成し、ＸＯＲ部は、複数の鍵系列生成部により生成された複数の鍵系列を入力し、入力した複数の鍵系列を用いて、平文データの暗号化を行うものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−６０７５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の技術は、鍵系列の生成までの処理を並列に処理しているため、従来のものよりも処理負荷の軽減が期待できるが、鍵系列と平文との排他的論理和演算処理が並列処理化されていないため、十分に処理負荷を軽減できるものではなかった。
【０００７】
そこで、本発明は、上述の課題に鑑みてなされたものであり、ｎ個のストリーム暗号の暗号化器あるいはストリーム暗号の復号化器の処理を含む、すべての処理を並列して実行するストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【０００９】
（１）本発明は、ｎ個のストリーム暗号の暗号化器（例えば、図１のストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚに相当）と、該ｎ個のストリーム暗号の暗号化器を制御する並列処理暗号モジュール（例えば、図１の並列処理暗号モジュール１００に相当）と、前記ｎ個のストリーム暗号の暗号化器から出力されるｎ個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュール（例えば、図１の暗号文結合モジュール３００に相当）と、を備え、前記並列処理暗号モジュールが、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力する入力手段（例えば、図２の入力部１１０に相当）と、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する初期値生成手段（例えば、図２の初期値生成部１２０に相当）と、前記入力した平文をｎ個に分割する分割手段（例えば、図２の分割部１３０に相当）と、前記初期値生成手段が生成したＬビットの初期値を前記ｎ個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した平文を前記ｎ個のストリーム暗号の暗号化器に出力する出力手段（例えば、図２の出力部１４０に相当）と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
【００１０】
この発明によれば、並列処理暗号モジュールの入力手段は、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力する。初期値生成手段は、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。分割手段は、入力した平文をｎ個に分割する。出力手段は、初期値生成手段が生成したＬビットの初期値をｎ個のストリーム暗号の暗号化器に出力するとともに、秘密鍵および１／ｎに分割した平文をｎ個のストリーム暗号の暗号化器に出力する。したがって、平文を１／ｎに分割し、ｎ個のストリーム暗号の暗号化器に分割した平文と初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、暗号文の生成までの一連の処理を並列に行うことができる。
【００１１】
（２）本発明は、（１）のストリーム暗号の暗号化装置について、前記ｎ個のストリーム暗号の暗号化器が、前記並列処理暗号モジュールからＬビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う初期化処理手段（例えば、図３の初期化処理部２１０に相当）と、内部状態を利用して鍵系列を生成する鍵系列生成手段（例えば、図３の鍵系列生成部２２０に相当）と、該生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する暗号文生成手段（例えば、図３の暗号文生成部２３０に相当）と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
【００１２】
この発明によれば、ｎ個のストリーム暗号の暗号化器の初期化処理手段は、並列処理暗号モジュールからＬビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。鍵系列生成手段は、内部状態を利用して鍵系列を生成する。暗号文生成手段は、生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する。したがって、初期化処理、鍵系列生成処理、暗号文生成処理を各ストリーム暗号の暗号化器に並列に実行させることができる。
【００１３】
（３）本発明は、（１）のストリーム暗号の暗号化装置について、前記並列処理暗号モジュールが、入力した秘密鍵の下位の任意のビットを生成し、異なるｎ個の秘密鍵を生成する秘密鍵生成手段（例えば、図２の秘密鍵生成部１６０に相当）と、該生成した秘密鍵をｎ個のストリーム暗号の暗号化器に１つずつ配布する秘密鍵配布手段（例えば、図２の配布部１７０に相当）と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。  
【００１４】
この発明によれば、並列処理暗号モジュールの秘密鍵生成手段は、入力した秘密鍵の下位の任意のビットを生成し、異なるｎ個の秘密鍵を生成する。秘密鍵配布手段は、生成した秘密鍵をｎ個のストリーム暗号の暗号化器に１つずつ配布する。したがって、各ストリーム暗号の暗号化器に異なる秘密鍵を配布することにより、安全性を向上させることができる。
【００１５】
（４）本発明は、（１）のストリーム暗号の暗号化装置について、前記暗号文結合モジュールが、ヘッダ情報を生成するヘッダ情報生成手段（例えば、図２のヘッダ情報生成部１５０に相当）と、前記ｎ個のストリーム暗号の暗号化器が、暗号化処理を行った暗号文に該生成したヘッダ情報を付して前記暗号文結合モジュールに出力することを特徴とするストリーム暗号の暗号化装置を提案している。  
【００１６】
この発明によれば、暗号文結合モジュールのヘッダ情報生成手段は、ヘッダ情報を生成する。そして、ｎ個のストリーム暗号の暗号化器が、暗号化処理を行った暗号文に生成したヘッダ情報を付して前記暗号文結合モジュールに出力する。これにより、暗号文を復号する際に、必要な情報を提供することができる。
【００１７】
（５）本発明は、（３）のストリーム暗号の暗号化装置について、前記ヘッダ情報が、データの切れ目を認識するためのデリミタ、暗号文長、初期値、使用したストリーム暗号モジュールの番号を含むことを特徴とするストリーム暗号の暗号化装置を提案している。
【００１８】
この発明によれば、ヘッダ情報が、データの切れ目を認識するためのデリミタ、暗号文長、初期値、使用したストリーム暗号モジュールの番号を含む。これにより、暗号文を復号する際に、暗号文の境目を確認できるとともに、初期値を生成するための情報を得ることができる。
【００１９】
（６）本発明は、（４）または（５）のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置であって、ｎ個のストリーム暗号の復号化器（例えば、図６のストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚに相当）と、該ｎ個のストリーム暗号の復号化器を制御する並列処理復号モジュール（例えば、図６の並列処理復号モジュール４００に相当）と、前記ｎ個のストリーム暗号の復号化器から出力されるｎ個の平文を結合して最終的な平文を出力する平文結合モジュール（例えば、図６の平文結合モジュール６００に相当）と、を備え、前記並列処理復号モジュールが、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力する入力手段（例えば、図７の入力部４１０に相当）と、該入力した暗号文からヘッダ情報を分離するヘッダ情報分離手段（例えば、図７のヘッダ情報分離部４２０に相当）と、該分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する初期値生成手段（例えば、図７の初期値生成部４３０に相当）と、前記入力したヘッダ情報に基づいて、暗号文をｎ個に分割する分割手段（例えば、図７の分割部４４０に相当）と、前記初期値生成手段が生成したＬビットの初期値を前記ｎ個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した暗号文を前記ｎ個のストリーム暗号の復号化器に出力する出力手段（例えば、図７の出力部４５０に相当）と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。
【００２０】
この発明によれば、並列処理復号モジュールの入力手段は、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力する。ヘッダ情報分離手段は、入力した暗号文からヘッダ情報を分離する。初期値生成手段は、分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。分割手段は、入力したヘッダ情報に基づいて、暗号文をｎ個に分割する。出力手段は、初期値生成手段が生成したＬビットの初期値をｎ個のストリーム暗号の復号化器に出力するとともに、秘密鍵および該１／ｎに分割した暗号文をｎ個のストリーム暗号の復号化器に出力する。したがって、暗号文を１／ｎに分割し、ｎ個のストリーム暗号の暗号化器に分割した暗号文とヘッダ情報に基づいて初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、平文の復号までの一連の処理を並列に行うことができる。
【００２１】
（７）本発明は、（６）のストリーム暗号の暗号装置について、前記ｎ個のストリーム暗号の復号化器が、前記並列処理復号モジュールからＬビットの初期値と秘密鍵とを入力し、内部状態の初期化処理を行う初期化処理手段（例えば、図８の初期化処理部５１０に相当）と、内部状態を利用して鍵系列を生成する鍵系列生成手段（例えば、図８の鍵系列生成部５２０に相当）と、該生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する平文生成手段（例えば、図８の平文生成部５３０に相当）と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。
【００２２】
この発明によれば、ｎ個のストリーム暗号の復号化器の初期化処理手段は、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。鍵系列生成手段は、内部状態を利用して鍵系列を生成する。平文生成手段は、生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する。したがって、初期化処理、鍵系列生成処理、平文生成処理を各ストリーム暗号の復号化器に並列に実行させることができる。
【００２３】
（８）本発明は、（６）のストリーム暗号の暗号装置について、前記並列処理復号モジュールが、入力した秘密鍵の下位の任意のビットを生成し、異なるｎ個の秘密鍵を生成する秘密鍵生成手段（例えば、図７の秘密鍵生成部４６０に相当）と、該生成した秘密鍵をｎ個のストリーム暗号の復号化器に１つずつ配布する秘密鍵配布手段（例えば、図７の配布部４７０に相当）と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。  
【００２４】
この発明によれば、並列処理復号モジュールの秘密鍵生成手段は、入力した秘密鍵の下位の任意のビットを生成し、異なるｎ個の秘密鍵を生成する。秘密鍵配布手段は、生成した秘密鍵をｎ個のストリーム暗号の復号化器に１つずつ配布する。したがって、各ストリーム暗号の復号化器に異なる秘密鍵を配布することにより、安全性を向上させることができる。
【００２５】
（９）本発明は、ｎ個のストリーム暗号の暗号化器と、該ｎ個のストリーム暗号の暗号化器を制御する並列処理復号モジュールと、前記ｎ個のストリーム暗号の暗号化器から出力されるｎ個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、を備えたストリーム暗号の暗号化装置におけるストリーム暗号の暗号化方法であって、前記並列処理復号モジュールが、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力する第１のステップ（例えば、図５のステップＳ１０１に相当）と、前記並列処理復号モジュールが、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する第２のステップ（例えば、図５のステップＳ１０２に相当）と、前記並列処理復号モジュールが、前記入力した平文をｎ個に分割する第３のステップ（例えば、図５のステップＳ１０３に相当）と、前記並列処理復号モジュールが、前記第２のステップにおいて生成したＬビットの初期値を前記ｎ個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した平文を前記ｎ個のストリーム暗号の暗号化器に出力する第４のステップ（例えば、図５のステップＳ１０４に相当）と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。
【００２６】
この発明によれば、並列処理復号モジュールが、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力し、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。また、入力した平文をｎ個に分割し、第２のステップにおいて生成したＬビットの初期値をｎ個のストリーム暗号の暗号化器に出力するとともに、秘密鍵および１／ｎに分割した平文をｎ個のストリーム暗号の暗号化器に出力する。したがって、平文を１／ｎに分割し、ｎ個のストリーム暗号の暗号化器に分割した平文と初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、暗号文の生成までの一連の処理を並列に行うことができる。
【００２７】
（１０）本発明は、（４）または（５）のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置におけるストリーム暗号の復号化方法であって、ｎ個のストリーム暗号の復号化器と、該ｎ個のストリーム暗号の復号化器を制御する並列処理復号モジュールと、前記ｎ個のストリーム暗号の復号化器から出力されるｎ個の平文を結合して最終的な平文を出力する平文結合モジュールと、を備え、前記並列処理復号モジュールが、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力する第１のステップ（例えば、図９のステップＳ２０１に相当）と、前記並列処理復号モジュールが、該入力した暗号文からヘッダ情報を分離する第２のステップ（例えば、図９のステップＳ２０２に相当）と、前記並列処理復号モジュールが、該分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する第３のステップ（例えば、図９のステップＳ２０３に相当）と、前記並列処理復号モジュールが、前記入力したヘッダ情報に基づいて、暗号文をｎ個に分割する第４のステップ（例えば、図９のステップＳ２０４に相当）と、前記並列処理復号モジュールが、前記第３のステップにおいて生成したＬビットの初期値を前記ｎ個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した暗号文を前記ｎ個のストリーム暗号の復号化器に出力する第５のステップ（例えば、図９のステップＳ２０５に相当）と、を備えたことを特徴とするストリーム暗号の復号化方法を提案している。
【００２８】
この発明によれば、並列処理復号モジュールが、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力し、入力した暗号文からヘッダ情報を分離する。また、分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。そして、入力したヘッダ情報に基づいて、暗号文をｎ個に分割し、第３のステップにおいて生成したＬビットの初期値をｎ個のストリーム暗号の復号化器に出力するとともに、秘密鍵および１／ｎに分割した暗号文をｎ個のストリーム暗号の復号化器に出力する。したがって、暗号文を１／ｎに分割し、ｎ個のストリーム暗号の暗号化器に分割した暗号文とヘッダ情報に基づいて初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、平文の復号までの一連の処理を並列に行うことができる。
【００２９】
（１１）本発明は、ｎ個のストリーム暗号の暗号化器と、該ｎ個のストリーム暗号の暗号化器を制御する並列処理暗号モジュールと、前記ｎ個のストリーム暗号の暗号化器から出力されるｎ個の暗号文を結合して最終的な暗号文を出力する暗号文結合モジュールと、を備えたストリーム暗号の暗号化装置におけるストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、前記並列処理復号モジュールが、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力する第１のステップ（例えば、図５のステップＳ１０１に相当）と、前記並列処理復号モジュールが、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する第２のステップ（例えば、図５のステップＳ１０２に相当）と、前記並列処理復号モジュールが、前記入力した平文をｎ個に分割する第３のステップ（例えば、図５のステップＳ１０３に相当）と、前記並列処理復号モジュールが、前記第２のステップにおいて生成したＬビットの初期値を前記ｎ個のストリーム暗号の暗号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した平文を前記ｎ個のストリーム暗号の暗号化器に出力する第４のステップ（例えば、図５のステップＳ１０４に相当）と、をコンピュータに実行させるためのプログラムを提案している。
【００３０】
この発明によれば、並列処理復号モジュールが、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力し、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。また、入力した平文をｎ個に分割し、第２のステップにおいて生成したＬビットの初期値をｎ個のストリーム暗号の暗号化器に出力するとともに、秘密鍵および１／ｎに分割した平文をｎ個のストリーム暗号の暗号化器に出力する。したがって、平文を１／ｎに分割し、ｎ個のストリーム暗号の暗号化器に分割した平文と初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、暗号文の生成までの一連の処理を並列に行うことができる。
【００３１】
（１２）本発明は、（４）または（５）のストリーム暗号の暗号装置により暗号化された暗号文を復号するストリーム暗号の復号化装置におけるストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、ｎ個のストリーム暗号の復号化器と、該ｎ個のストリーム暗号の復号化器を制御する並列処理暗号モジュールと、前記ｎ個のストリーム暗号の復号化器から出力されるｎ個の平文を結合して最終的な平文を出力する平文結合モジュールと、を備え、前記並列処理復号モジュールが、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力する第１のステップ（例えば、図９のステップＳ２０１に相当）と、前記並列処理復号モジュールが、該入力した暗号文からヘッダ情報を分離する第２のステップ（例えば、図９のステップＳ２０２に相当）と、前記並列処理復号モジュールが、該分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、該生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する第３のステップ（例えば、図９のステップＳ２０３に相当）と、前記並列処理復号モジュールが、前記入力したヘッダ情報に基づいて、暗号文をｎ個に分割する第４のステップ（例えば、図９のステップＳ２０４に相当）と、前記並列処理復号モジュールが、前記第３のステップにおいて生成したＬビットの初期値を前記ｎ個のストリーム暗号の復号化器に出力するとともに、前記秘密鍵および該１／ｎに分割した暗号文を前記ｎ個のストリーム暗号の復号化器に出力する第５のステップ（例えば、図９のステップＳ２０５に相当）と、をコンピュータに実行させるためのプログラムを提案している。
【００３２】
この発明によれば、並列処理復号モジュールが、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力し、入力した暗号文からヘッダ情報を分離する。また、分離したヘッダ情報に基づいて、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。そして、入力したヘッダ情報に基づいて、暗号文をｎ個に分割し、第３のステップにおいて生成したＬビットの初期値をｎ個のストリーム暗号の復号化器に出力するとともに、秘密鍵および１／ｎに分割した暗号文をｎ個のストリーム暗号の復号化器に出力する。したがって、暗号文を１／ｎに分割し、ｎ個のストリーム暗号の暗号化器に分割した暗号文とヘッダ情報に基づいて初期値生成手段が生成した各ストリーム暗号の暗号化器固有の初期値を与えることにより、平文の復号までの一連の処理を並列に行うことができる。
【発明の効果】
【００３３】
本発明によれば、ストリーム暗号の暗号化／復号化処理を複数並列に実行し、多重化することでより高速な暗号化／復号化処理を実現することができるという効果がある。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１の実施形態に係るストリーム暗号の暗号化装置の構成を示す図である。
【図２】本発明の第１の実施形態に係るストリーム暗号の暗号化装置における並列処理暗号モジュールの構成を示す図である。
【図３】本発明の第１の実施形態に係るストリーム暗号の暗号化装置におけるストリーム暗号器の構成を示す図である。
【図４】本発明の第１の実施形態に係るストリーム暗号の暗号化装置においてストリーム暗号器から出力されるデータ構造を例示した図である。
【図５】本発明の第１の実施形態に係るストリーム暗号の暗号化装置の処理を示す図である。
【図６】本発明の第２の実施形態に係るストリーム暗号の復号化装置の構成を示す図である。
【図７】本発明の第２の実施形態に係るストリーム暗号の復号化装置における並列処理暗号モジュールの構成を示す図である。
【図８】本発明の第２の実施形態に係るストリーム暗号の暗号化装置におけるストリーム暗号器の構成を示す図である。
【図９】本発明の第２の実施形態に係るストリーム暗号の復号化装置の処理を示す図である。
【発明を実施するための形態】
【００３５】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００３６】
以下、図１から図８を用いて、本発明に係るストリーム暗号の暗号化装置およびストリーム暗号の復号化装置について、詳細に説明する。
【００３７】
＜第１の実施形態＞
図１から図４を用いて、本実施形態に係るストリーム暗号の暗号化装置について説明する。
【００３８】
＜ストリーム暗号の暗号化装置の構成＞
本実施形態に係るストリーム暗号の暗号化装置は、図１に示すように、並列処理暗号モジュール１００と、複数のストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚと、暗号文結合モジュール３００とから構成されている。
【００３９】
並列処理暗号モジュール１００は、Ｌ−ｎ（ｎ；ストリーム暗号器の数）ビットの初期値と平文と秘密鍵とを入力し、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。また、入力した平文をｎ個に分割し、生成したＬビットの初期値をｎ個のストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚに出力するとともに、秘密鍵および１／ｎに分割した平文をｎ個のストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚに出力する。
【００４０】
ストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚは、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。また、内部状態を利用して鍵系列を生成する。さらに、生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する。
【００４１】
暗号文結合モジュール３００は、図４に示すように、ストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚが、暗号化処理を行った暗号文に、生成したヘッダ情報を付した情報を１つの単位とし、これらを連結して暗号文として出力する。
【００４２】
＜並列処理暗号モジュールの構成＞
本実施形態に係る並列処理暗号モジュールは、図２に示すように、入力部１１０と、初期値生成部１２０と、分割部１３０と、出力部１４０と、ヘッダ情報生成部１５０と、秘密鍵生成部１６０と、配布部１７０とから構成されている。
【００４３】
入力部１１０は、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力する。ここで、ｎは、ストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚの数に相当する。
【００４４】
初期値生成部１２０は、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。この場合、生成するｎビットの初期値は、予約値となる。分割部１３０は、入力した平文をｎ個に分割する。出力部１４０は、初期値生成部１２０が生成したＬビットの初期値をｎ個のストリーム暗号器に出力するとともに、秘密鍵および該１／ｎに分割した平文を前記ｎ個のストリーム暗号器に出力する。
【００４５】
ヘッダ情報生成部１５０は、初期値生成部１２０および分割部１３０から得た情報に基づいて、ヘッダ情報を生成する。秘密鍵生成部１６０は、入力した秘密鍵の代わりに、ストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚごとに、異なる秘密鍵を与える場合に、入力した秘密鍵の下位の任意のビットを予約値として、ｎ個の異なる秘密鍵を生成する。配布部１７０は、生成した秘密鍵を各ストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚに１つずつ配布する。
【００４６】
＜ストリーム暗号器の構成＞
本実施形態に係るストリーム暗号器は、図３に示すように、初期化処理部２１０と、鍵系列生成部２２０と、暗号文生成部２３０とから構成されている。
【００４７】
初期化処理部２１０は、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。鍵系列生成部２２０は、内部状態を利用して鍵系列を生成する。暗号文生成部２３０は、生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する。
【００４８】
＜ストリーム暗号の暗号化装置の処理＞
図５を用いて、本実施形態に係るストリーム暗号の暗号化装置の処理について説明する。
並列処理暗号モジュールが、Ｌ−ｎビットの初期値と平文と秘密鍵とを入力し（ステップＳ１０１）、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する（ステップＳ１０２）。また、入力した平文をｎ個に分割し（ステップＳ１０３）、ステップＳ１０２において生成したＬビットの初期値をｎ個のストリーム暗号器に出力するとともに、秘密鍵および１／ｎに分割した平文をｎ個のストリーム暗号器に出力する（ステップＳ１０４）。
【００４９】
各ストリーム暗号器は、並列処理暗号モジュールからＬビットの初期値と秘密鍵を入力して、初期化処理を実行し、内部状態を利用して鍵系列を生成する。さらに、生成した鍵系列と入力した平文との排他的論理和演算を行い、暗号文を生成する。また、データの切れ目を認識するためのデリミタ、暗号文長、初期値、使用したストリーム暗号モジュールの番号を含むヘッダ情報を生成する。そして、生成した暗号文と固有のヘッダ情報とを暗号文結合モジュールに出力する。暗号文結合モジュールは、入力した情報を結合して、出力する。
【００５０】
並列処理復号モジュール４００は、Ｌ−ｎ（ｎ；ストリーム暗号器の数）ビットの初期値とヘッダ情報付き暗号文と秘密鍵とを入力し、ヘッダ情報を切り離して、そのヘッダ情報に基づいて、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。また、ヘッダ情報を切り離した暗号文をｎ個に分割し、生成したＬビットの初期値をｎ個のストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚに出力するとともに、秘密鍵および１／ｎに分割した暗号文をｎ個のストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚに出力する。
【００５１】
＜第２の実施形態＞
図６から図９を用いて、本実施形態に係るストリーム暗号の復号化装置について説明する。なお、本実施形態に係るストリーム暗号の復号化装置は、第１の実施形態により暗号化された暗号文を平文に復元するものである。
【００５２】
＜ストリーム暗号の復号化装置の構成＞
本実施形態に係るストリーム暗号の復号化装置は、図６に示すように、並列処理復号モジュール４００と、複数のストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚと、平文結合モジュール６００とから構成されている。
【００５３】
並列処理復号モジュール４００は、Ｌ−ｎ（ｎ；ストリーム暗号器の数）ビットの初期値とヘッダ情報付き暗号文と秘密鍵とを入力し、ヘッダ情報を切り離して、そのヘッダ情報に基づいて、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。また、ヘッダ情報を切り離した暗号文をｎ個に分割し、生成したＬビットの初期値をｎ個のストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚに出力するとともに、秘密鍵および１／ｎに分割した暗号文をｎ個のストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚに出力する。  
【００５４】
ストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚは、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。また、内部状態を利用して鍵系列を生成する。さらに、生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する。
【００５５】
平文結合モジュール６００は、ストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚが、復号化処理を行った平文を連結して出力する。
【００５６】
＜並列処理暗号モジュールの構成＞
本実施形態に係る並列処理復号モジュールは、図７に示すように、入力部４１０と、ヘッダ情報分離部４２０と、初期値生成部４３０と、分割部４４０と、出力部４５０と、秘密鍵生成部４６０と、配布部４７０とから構成されている。
【００５７】
入力部４１０は、Ｌ−ｎビットの初期値とヘッダ情報付き暗号文と秘密鍵とを入力する。ここで、ｎは、ストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚの数に相当する。
【００５８】
ヘッダ情報分離部４２０は、入力したヘッダ情報付き暗号文からヘッダ情報を分離し、分離したヘッダ情報を初期値生成部４３０に出力するとともに、暗号文を分割部４４０に出力する。分割部４４０は、入力した暗号文を１／ｎに分割し、出力部４５０に出力する。初期値生成部４３０は、入力したヘッダ情報に基づいて、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する。この場合、生成するｎビットの初期値は、予約値となる。出力部４５０は、初期値生成部４３０が生成したＬビットの初期値をｎ個のストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚに出力するとともに、秘密鍵および１／ｎに分割した暗号文をｎ個のストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚに出力する。
【００５９】
秘密鍵生成部４６０は、入力した秘密鍵の代わりに、ストリーム復号器５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚごとに、異なる秘密鍵を与える場合に、入力した秘密鍵の下位の任意のビットを予約値として、ｎ個の異なる秘密鍵を生成する。配布部４７０は、生成した秘密鍵を各ストリーム暗号器２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚに１つずつ配布する。
【００６０】
＜ストリーム暗号器の構成＞
本実施形態に係るストリーム暗号器は、図８に示すように、初期化処理部５１０と、鍵系列生成部５２０と、平文生成部５３０とから構成されている。
【００６１】
初期化処理部５１０は、初期値と秘密鍵とを入力し、内部状態の初期化処理を行う。鍵系列生成部５２０は、内部状態を利用して鍵系列を生成する。平文生成部５３０は、生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する。
【００６２】
＜ストリーム暗号の復号化装置の処理＞
図９を用いて、本実施形態に係るストリーム暗号の復号化装置の処理について説明する。
並列処理復号モジュールが、Ｌ−ｎビットの初期値と暗号文と秘密鍵とを入力し（ステップＳ２０１）、入力した暗号文からヘッダ情報を分離する（ステップＳ２０１）。次に、ヘッダ情報に基づいて、ｎビットの初期値を生成し、生成したｎビットの初期値と入力したＬ−ｎビットの初期値とを結合してＬビットの初期値を生成する（ステップＳ２０３）。また、ヘッダ情報に基づいて、入力した暗号文をｎ個に分割し（ステップＳ２０４）、ステップＳ２０３において生成したＬビットの初期値をｎ個のストリーム復号器に出力するとともに、秘密鍵および１／ｎに分割した暗号文をｎ個のストリーム復号器に出力する（ステップＳ２０５）。
【００６３】
各ストリーム復号器は、並列処理復号モジュールからｌビットの初期値と秘密鍵を入力して、初期化処理を実行し、内部状態を利用して鍵系列を生成する。さらに、生成した鍵系列と入力した暗号文との排他的論理和演算を行い、平文を生成する。そして、生成した平文を平文結合モジュールに出力する。平文結合モジュールは、入力した情報を結合して、出力する。
【００６４】
以上、説明したように、本実施形態によれば、暗号文を１／ｎに分割し、ｎ個のストリーム暗号の暗号化器に分割した暗号文とヘッダ情報に基づいて初期値生成手段が生成した各ストリーム復号器固有の初期値を与えることにより、平文の復号までの一連の処理を並列に行うことができる。
【００６５】
なお、ストリーム暗号の暗号器あるいはストリーム暗号の復号器の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをストリーム暗号の暗号器あるいはストリーム暗号の復号器に読み込ませ、実行することによって本発明のストリーム暗号の暗号器あるいはストリーム暗号の復号器を実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００６６】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００６７】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６８】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００６９】
１００；並列処理暗号モジュール
１１０；入力部
１２０；初期値生成部
１３０；分割部
１４０；出力部
１５０；ヘッダ情報生成部
１６０；秘密鍵生成部
１７０；配布部
２００ａ、２００ｂ、２００ｃ、・・・、２００ｘ、２００ｙ、２００ｚ；ストリーム暗号器
２１０；初期化処理部
２２０；鍵系列生成部
２３０；暗号文生成部
３００；暗号文結合モジュール
４００；並列処理復号モジュール
４１０；入力部
４２０；ヘッダ情報分離部
４３０；初期値生成部
４４０；分割部
４５０；出力部
４６０；秘密鍵生成部
４７０；配布部
５００ａ、５００ｂ、５００ｃ、・・・、５００ｘ、５００ｙ、５００ｚ；ストリーム復号器
５１０；初期化処理部
５２０；鍵系列生成部
５３０；平文生成部
６００；平文結合モジュール
【図１】
0005706751.tif 000002
【図２】
0005706751.tif 000003
【図３】
0005706751.tif 000004
【図４】
0005706751.tif 000005
【図５】
0005706751.tif 000006
【図６】
0005706751.tif 000007
【図７】
0005706751.tif 000008
【図８】
0005706751.tif 000009
【図９】
0005706751.tif 000010