【課題を解決するための手段】
【0012】
(1)本発明は、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを入力し、前記初期化処理終了後においては、非線形部からのフィードバック値を入力し、鍵系列を生成する鍵系列生成手段(例えば、
図7の非線形処理部1300に相当)と、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを前記鍵系列生成手段に入力し、前記初期化処理終了後においては、非線形部からのフィードバック値を前記鍵系列生成手段に入力する入力切替手段(例えば、
図7のフリップフロップ1200に相当)と、前記鍵系列生成手段が実行する非線形処理が並列に処理され、前記鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持し、前記生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する暗号文生成手段(例えば、
図7の排他的論理和演算器1400に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
【0013】
この発明によれば、鍵系列生成手段は、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを入力し、初期化処理終了後においては、非線形部からのフィードバック値を入力し、鍵系列を生成する。入力切替手段は、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力する。暗号文生成手段は、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持し、生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0014】
(2)本発明は、初期鍵を拡張する初期鍵拡張手段(例えば、
図7の鍵拡張部1100に相当)と、初期化処理において、該拡張した初期鍵と初期値とを入力し、前記初期化処理終了後においては、非線形部からのフィードバック値を入力し、鍵系列を生成する鍵系列生成手段(例えば、
図7の非線形処理部1300に相当)と、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを前記鍵系列生成手段に入力し、前記初期化処理終了後においては、非線形部からのフィードバック値を前記鍵系列生成手段に入力する入力切替手段(例えば、
図7のフリップフロップ1200に相当)と、前記鍵系列生成手段が実行する非線形処理が並列に処理され、前記鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持し、前記生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する暗号文生成手段(例えば、
図7の排他的論理和演算器1400に相当)と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
【0015】
この発明によれば、初期鍵拡張手段は、初期鍵を拡張する。初期化処理において、初期鍵を拡張した拡張鍵と初期値とを入力し、初期化処理終了後においては、非線形部からのフィードバック値を入力し、鍵系列を生成する。入力切替手段は、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力する。暗号文生成手段は、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持し、生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0016】
(3)本発明は、(1)または(2)のストリーム暗号の暗号化装置について、前記入力切替手段が、フリップフロップであることを特徴とするストリーム暗号の暗号化装置を提案している。
【0017】
この発明によれば、入力切替手段が、フリップフロップである。したがって、「0」あるいは「1」を入力することにより、簡単に鍵系列生成手段への入力を切り替えることができる。
【0018】
(4)本発明は、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを入力し、前記初期化処理終了後においては、非線形部からのフィードバック値を入力し、鍵系列を生成する鍵系列生成手段(例えば、
図12の非線形処理部1300に相当)と、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを前記鍵系列生成手段に入力し、前記初期化処理終了後においては、非線形部からのフィードバック値を前記鍵系列生成手段に入力する入力切替手段(例えば、
図12のフリップフロップ1200に相当)と、前記鍵系列生成手段が実行する非線形処理が並列に処理され、前記鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持し、前記生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する平文生成手段(例えば、
図12の排他的論理和演算器1400に相当)と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。
【0019】
この発明によれば、鍵系列生成手段は、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを入力し、初期化処理終了後においては、非線形部からのフィードバック値を入力し、鍵系列を生成する。入力切替手段は、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力する。暗号文生成手段は、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持し、生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0020】
(5)本発明は、初期鍵を拡張する初期鍵拡張手段(例えば、
図12の鍵拡張部1100に相当)と、初期化処理において、該拡張した初期鍵と初期値とを入力し、前記初期化処理終了後においては、非線形部からのフィードバック値を入力し、鍵系列を生成する鍵系列生成手段(例えば、
図12の非線形処理部1300に相当)と、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを前記鍵系列生成手段に入力し、前記初期化処理終了後においては、非線形部からのフィードバック値を前記鍵系列生成手段に入力する入力切替手段(例えば、
図12のフリップフロップ1200に相当)と、前記鍵系列生成手段が実行する非線形処理が並列に処理され、前記鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持し、前記生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する平文生成手段(例えば、
図12の排他的論理和演算器1400に相当)と、を備えたことを特徴とするストリーム暗号の復号化装置を提案している。
【0021】
この発明によれば、初期鍵拡張手段は、初期鍵を拡張する。初期化処理において、初期鍵を拡張した拡張鍵と初期値とを入力し、初期化処理終了後においては、非線形部からのフィードバック値を入力し、鍵系列を生成する。入力切替手段は、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力する。暗号文生成手段は、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持し、生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0022】
(6)本発明は、(4)または(5)のストリーム暗号の復号化装置について、前記入力切替手段が、フリップフロップであることを特徴とするストリーム暗号の復号化装置を提案している。
【0023】
この発明によれば、入力切替手段が、フリップフロップである。したがって、「0」あるいは「1」を入力することにより、簡単に鍵系列生成手段への入力を切り替えることができる。
【0024】
(7)本発明は、鍵拡張手段が、事前に初期鍵を拡張して拡張鍵を生成する第1のステップ(例えば、
図11のステップS1101に相当)と、初期化処理手段が、初期化処理において、該生成した拡張鍵と初期値とを入力し、初期化処理を行う第2のステップ(例えば、
図11のステップS1102に相当)と、鍵系列生成手段が、前記初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成する第3のステップ(例えば、
図11のステップS1103に相当)と、暗号文生成手段が、該生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する第4のステップ(例えば、
図11のステップS1104に相当)と、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。
【0025】
この発明によれば、鍵拡張手段が、事前に初期鍵を拡張して拡張鍵を生成し、初期化処理手段が、初期化処理において、生成した拡張鍵と初期値とを入力し、初期化処理を行う。そして、鍵系列生成手段が、初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成し、暗号文生成手段が、生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0026】
(8)本発明は、鍵拡張手段が、初期鍵を拡張して拡張鍵を生成する第1のステップと、初期化処理手段が、初期化処理において、該生成した拡張鍵と初期値とを入力し、初期化処理を行う第2のステップと、鍵系列生成手段が、前記初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成する第3のステップと、暗号文生成手段が、該生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する第4のステップと、を備えたことを特徴とするストリーム暗号の暗号化方法を提案している。
【0027】
この発明によれば、鍵拡張手段が、初期鍵を拡張して拡張鍵を生成し、初期化処理手段が、初期化処理において、生成した拡張鍵と初期値とを入力し、初期化処理を行う。そして、鍵系列生成手段が、初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成し、暗号文生成手段が、生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0028】
(9)本発明は、鍵拡張手段が、事前に初期鍵を拡張して拡張鍵を生成する第1のステップ(例えば、
図15のステップS1201に相当)と、初期化処理手段が、初期化処理において、該生成した拡張鍵と初期値とを入力し、初期化処理を行う第2のステップ(例えば、
図15のステップS1202に相当)と、鍵系列生成手段が、前記初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成する第3のステップ(例えば、
図15のステップS1203に相当)と、平文生成手段が、該生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する第4のステップ(例えば、
図15のステップS1204に相当)と、を備えたことを特徴とするストリーム暗号の復号化方法を提案している。
【0029】
この発明によれば、鍵拡張手段が、事前に初期鍵を拡張して拡張鍵を生成し、初期化処理手段が、初期化処理において、生成した拡張鍵と初期値とを入力し、初期化処理を行う。そして、鍵系列生成手段が、初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成し、暗号文生成手段が、生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0030】
(10)本発明は、鍵拡張手段が、初期鍵を拡張して拡張鍵を生成する第1のステップと、初期化処理手段が、初期化処理において、該生成した拡張鍵と初期値とを入力し、初期化処理を行う第2のステップと、鍵系列生成手段が、前記初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成する第3のステップと、平文生成手段が、該生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する第4のステップと、を備えたことを特徴とするストリーム暗号の復号化方法を提案している。
【0031】
この発明によれば、鍵拡張手段が、初期鍵を拡張して拡張鍵を生成し、初期化処理手段が、初期化処理において、生成した拡張鍵と初期値とを入力し、初期化処理を行う。そして、鍵系列生成手段が、初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成し、暗号文生成手段が、生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0032】
(11)本発明は、ストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、鍵拡張手段が、事前に初期鍵を拡張して拡張鍵を生成する第1のステップ(例えば、
図11のステップS1101に相当)と、初期化処理手段が、初期化処理において、該生成した拡張鍵と初期値とを入力し、初期化処理を行う第2のステップ(例えば、
図11のステップS1102に相当)と、鍵系列生成手段が、前記初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成する第3のステップ(例えば、
図11のステップS1103に相当)と、暗号文生成手段が、該生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する第4のステップ(例えば、
図11のステップS1104に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0033】
この発明によれば、鍵拡張手段が、事前に初期鍵を拡張して拡張鍵を生成し、初期化処理手段が、初期化処理において、生成した拡張鍵と初期値とを入力し、初期化処理を行う。そして、鍵系列生成手段が、初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成し、暗号文生成手段が、生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0034】
(12)本発明は、ストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、鍵拡張手段が、初期鍵を拡張して拡張鍵を生成する第1のステップと、初期化処理手段が、初期化処理において、該生成した拡張鍵と初期値とを入力し、初期化処理を行う第2のステップと、鍵系列生成手段が、前記初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成する第3のステップと、暗号文生成手段が、該生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する第4のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0035】
この発明によれば、鍵拡張手段が、初期鍵を拡張して拡張鍵を生成し、初期化処理手段が、初期化処理において、生成した拡張鍵と初期値とを入力し、初期化処理を行う。そして、鍵系列生成手段が、初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成し、暗号文生成手段が、生成された鍵系列と平文の排他的論理和演算を行い暗号文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0036】
(13)本発明は、ストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、鍵拡張手段が、事前に初期鍵を拡張して拡張鍵を生成する第1のステップ(例えば、
図15のステップS1201に相当)と、初期化処理手段が、初期化処理において、該生成した拡張鍵と初期値とを入力し、初期化処理を行う第2のステップ(例えば、
図15のステップS1202に相当)と、鍵系列生成手段が、前記初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成する第3のステップ(例えば、
図15のステップS1203に相当)と、平文生成手段が、該生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する第4のステップ(例えば、
図15のステップS1204に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0037】
この発明によれば、鍵拡張手段が、事前に初期鍵を拡張して拡張鍵を生成し、初期化処理手段が、初期化処理において、生成した拡張鍵と初期値とを入力し、初期化処理を行う。そして、鍵系列生成手段が、初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成し、暗号文生成手段が、生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。
【0038】
(14)本発明は、ストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、鍵拡張手段が、初期鍵を拡張して拡張鍵を生成する第1のステップと、初期化処理手段が、初期化処理において、該生成した拡張鍵と初期値とを入力し、初期化処理を行う第2のステップと、鍵系列生成手段が、前記初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成する第3のステップと、平文生成手段が、該生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する第4のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0039】
この発明によれば、鍵拡張手段が、初期鍵を拡張して拡張鍵を生成し、初期化処理手段が、初期化処理において、生成した拡張鍵と初期値とを入力し、初期化処理を行う。そして、鍵系列生成手段が、初期化処理終了後に、非線形部からのフィードバック値を入力し、非線形処理を並列に処理するとともに、非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持して処理し、鍵系列を生成し、暗号文生成手段が、生成された鍵系列と暗号文の排他的論理和演算を行い平文を生成する。つまり、入力切替手段が、初期化処理において、初期鍵を拡張した拡張鍵と初期値とを鍵系列生成手段に入力し、初期化処理終了後においては、非線形部からのフィードバック値を鍵系列生成手段に入力するため、データの遅延量が、増大することを防止できるため、暗号化にかかる時間を短くすることができる。また、鍵系列生成手段が実行する非線形処理が並列に処理され、鍵系列生成手段内に設けられた非線形関数が、並べ替え処理およびフィードバック値を得るための乗算結果をデータテーブルとして保持するため、多くの処理が多重化でき、さらに、非線形関数は、テーブルを1回だけ参照すれば、処理を行うことができるため、暗号化にかかる時間を短くすることができる。