(57)【要約】【課題】同じ順番に生成されたものは同じものとなる解を送信装置と受信装置で用いる暗号技術を、安全性を落とさずに、不特定の送信装置と受信装置との間で使えるようにする。【解決手段】通信を行う２つの通信装置のそれぞれが解を生成するために用いる初期解を、通信装置が接続されたネットワークに接続されたサーバが、通信装置から通信要求データを受取る度に生成し、それを暗号化して２つの通信装置のそれぞれに送信する。それを受取った２つの通信装置は、受取った同じ初期解を用いて解を連続的に生成し、それを用いて生成したアルゴリズムと鍵を用いて暗号化通信を行う。【選択図】図８
2013236397.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワークを介して接続された、制御装置、送信装置、及び受信装置を備えており、
前記制御装置、前記送信装置、及び前記受信装置はともに、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段を備えており、
前記送信装置、及び前記制御装置はともに、
前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段を備えており、
前記送信装置、及び前記受信装置は、
前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段を備えており、
前記送信装置は、前記制御装置と通信を行う際に用いる初期解である固定初期解を有しているとともに、前記制御装置は、前記送信装置が有する固定初期解と同じ固定初期解を有しており、
前記受信装置は、前記制御装置と通信を行う際に用いる初期解である固定初期解を有しているとともに、前記制御装置は、前記受信装置が有する固定初期解と同じ固定初期解を有しており、
前記送信装置と前記受信装置との間でデータの送受信が行われる場合、
前記制御装置は、それに先立って、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置へは、前記送信装置も同じものを持っている固定初期解又はそれを用いて発生させた解を用いて前記暗号化手段で暗号化してから、前記受信装置へは、前記受信装置も同じものを持っている固定初期解又はそれを用いて発生させた解を用いて前記暗号化手段で暗号化してから、それぞれ送るようになっており、
前記送信装置は、前記制御装置から暗号化して送られて来た前記初期解を、前記制御装置も同じものを持っている固定初期解又はそれを用いて発生させた解を用いて前記復号化手段で復号化して平文の初期解に戻すとともに、平文にしたその初期解又はそれを用いて発生させた解を用いて前記受信装置に送信する送信対象データを前記暗号化手段で暗号化することにより暗号化データとしてから、前記受信装置に前記ネットワークを介して送るようにされており、
前記受信装置は、前記制御装置から暗号化して送られて来た前記初期解を、前記制御装置も同じものを持っている固定初期解又はそれを用いて発生させた解を用いて前記復号化手段で復号化して平文の初期解に戻すとともに、平文にしたその初期解又はそれを用いて発生させた解を用いて前記送信装置から受付けた暗号化データを前記復号化手段で復号化するようになっている、
送受信システム。
【請求項２】
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置が接続された所定のネットワークに接続して用いられる、制御装置であって、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、
前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、
前記送信装置と通信を行う際に用いるものであり、前記送信装置が有するものと共通のものとされた初期解である固定初期解を記録する制御装置第１記録手段と、
前記受信装置と通信を行う際に用いるものであり、前記受信装置が有するものと共通のものとされた初期解である固定初期解を記録する制御装置第２記録手段と、
前記送信装置、及び前記受信装置と通信を行う通信手段と、
を備えているとともに、
前記送信装置と前記受信装置との間でデータの送受信が行われる場合、前記制御装置の前記暗号化手段は、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置に送るものについては、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっているとともに、前記受信装置に送るものについては、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっており、
前記通信手段は、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を送信装置へ、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を受信装置へ、それぞれ送るようになっている、
制御装置。
【請求項３】
前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の前記初期解を、変化させるための初期解変更手段を備えている、
請求項２記載の制御装置。
【請求項４】
前記初期解変更手段は、
異なる複数の前記初期解を記録した初期解記録手段と、当該初期解記録手段からそれに記録されている前記初期解のうちの１つを読出してそれを制御装置の前記暗号化手段に送るようになっている読出し手段を備えている、
請求項３記載の制御装置。
【請求項５】
前記初期解変更手段は、
異なる複数の初期解を発生させる初期解発生手段を備えており、初期解発生手段は生成した初期解を前記暗号化手段に送るようになっている、
請求項３記載の制御装置。
【請求項６】
前記初期解変更手段は、
前記初期解を、前記送信装置と前記受信装置とが新たに通信を行う度に変更するようになっている、
請求項３〜５のいずれかに記載の制御装置。
【請求項７】
前記ネットワークに接続される送信装置、及び受信装置がそれぞれ複数であり、且つ前記送信装置のそれぞれは、前記送信装置と前記受信装置との間でデータの送受信が行われるに先立って、通信を行う送信装置、及び受信装置を特定するための特定データを前記ネットワークを介して前記制御装置に送るようになっている場合に用いられる制御装置であって、
前記特定データを前記ネットワークを介して受付ける手段を備えており、
前記制御装置第１記録手段には、複数の前記送信装置のそれぞれと通信を行う際に用いるものであり、前記送信装置のそれぞれが有するものとそのそれぞれが共通のものとされた互いにユニークな初期解である固定初期解が、それぞれの送信装置に紐付けた状態で記録されており、
前記制御装置第２記録手段には、複数の前記受信装置のそれぞれと通信を行う際に用いるものであり、前記受信装置のそれぞれが有するものとそのそれぞれが共通のものとされた互いにユニークな初期解である固定初期解が、それぞれの受信装置に紐付けた状態で記録されており、
前記送信装置と前記受信装置との間でデータの送受信が行われる場合、前記暗号化手段は、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置に送るものについては、前記制御装置第１記録手段から読出した、前記特定データで特定された前記送信装置と紐付けられている前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっているとともに、前記受信装置に送るものについては、前記制御装置第２記録手段から読出した、前記特定データで特定された前記受信装置と紐付けられている前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっており、
前記通信手段は、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を、前記特定データで特定された送信装置へ、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を、前記特定データで特定された受信装置へ、それぞれ送るようになっている、
請求項２記載の制御装置。
【請求項８】
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段とを備えている制御装置が接続された所定のネットワークに接続して用いられる、送信装置であって、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、
前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、
前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段と、
前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を記録する送信装置第１記録手段と、
前記受信装置と通信を行う際に用いる解を生成するための初期解を記録するための送信装置第２記録手段と、
前記制御装置、及び前記受信装置と通信を行う通信手段と、
を備えているとともに、
前記送信装置の前記通信手段は、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置が、その前記暗号化手段に、前記送信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させてから前記ネットワークを介して送信した暗号化された初期解を受取るようになっており、
前記送信装置の前記復号化手段は、前記制御装置から受取った暗号化された前記初期解を、前記送信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記送信装置第２記録手段に記録するようになっており、
前記送信装置の前記暗号化手段は、前記送信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて前記受信装置に送信する送信対象データを暗号化することにより暗号化データとするようになっており、
前記送信装置の前記通信手段は、その暗号化データを前記ネットワークを介して前記受信装置に送るようになっている、
送信装置。
【請求項９】
前記送信装置は、前記受信装置を兼ねており、
前記受信装置は、前記送信装置を兼ねているとともに、暗号化の対象となる所定のデータを暗号化する暗号化手段を備えている、
請求項８記載の送信装置。
【請求項１０】
前記送信装置と前記受信装置はともに、ＩＰ電話装置である、
請求項９記載の送信装置。
【請求項１１】
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、を備えている制御装置が接続された所定のネットワークに接続して用いられる、受信装置であって、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、
前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段と、
前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を記録する受信装置第１記録手段と、
前記送信装置と通信を行う際に用いる解を生成するための初期解を記録するための受信装置第２記録手段と、
前記制御装置、及び前記送信装置と通信を行う通信手段と、
を備えているとともに、
前記受信装置の前記通信手段は、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置が、その前記暗号化手段に、前記受信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させてから前記ネットワークを介して送信した暗号化された初期解を受取るようになっており、
前記受信装置の前記復号化手段は、前記制御装置から受取った暗号化された前記初期解を、前記受信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記受信装置第２記録手段に記録するようになっているとともに、
前記受信装置の前記復号化手段は、前記受信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて、前記送信装置から前記ネットワークを介して送信され、前記通信手段によって受取った暗号化データを復号化して、送信対象データに戻すようになっている、
受信装置。
【請求項１２】
前記送信装置は、前記受信装置を兼ねており、
前記受信装置は、前記送信装置を兼ねているとともに、暗号化の対象となる所定のデータを暗号化する暗号化手段を備えている、
請求項１１記載の受信装置。
【請求項１３】
前記送信装置と前記受信装置はともに、ＩＰ電話装置である、
請求項１２記載の受信装置。
【請求項１４】
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置が接続された所定のネットワークに接続して用いられる、制御装置が実行する方法であって、
前記送信装置と通信を行う際に用いるものであり、前記送信装置が有するものと共通のものとされた初期解である固定初期解を制御装置第１記録手段に記録する過程と、
前記受信装置と通信を行う際に用いるものであり、前記受信装置が有するものと共通のものとされた初期解である固定初期解を制御装置第２記録手段に記録する過程と、
前記送信装置と前記受信装置との間でデータの送受信が行われる場合、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置に送るものについては、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するとともに、前記受信装置に送るものについては、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化する過程と、
前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を送信装置へ、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を受信装置へ、それぞれ送る過程と、
を含んでおり、
前記送信装置と前記受信装置がデータの送受信を行う場合に用いられる共通の前記初期解を暗号化する場合に用いる解は、所定のデータである初期解又は当該初期解に基づいて、当該初期解によって一義的に決定されるようにして連続的に発生させられた解とされる、
方法。
【請求項１５】
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段とを備えている制御装置が接続された所定のネットワークに接続して用いられる、送信装置が実行する方法であって、
前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を送信装置第１記録手段に記録する過程と、
前記受信装置と通信を行う際に用いる解を生成するための初期解を受信装置第２記録手段に記録する過程と、
前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置の前記暗号化手段が前記送信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させた初期解を、前記制御装置から前記ネットワークを介して受取る過程と、
前記制御装置から受取った暗号化された前記初期解を、前記送信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記送信装置第２記録手段に記録する過程と、
前記送信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて前記受信装置に送信する送信対象データを暗号化することにより暗号化データとする過程と、
その暗号化データを前記ネットワークを介して前記受信装置に送る過程と、
を含んでおり、
前記制御装置から受取った暗号化された前記初期解を復号化する場合、及び前記送信対象データを暗号化する場合に用いる解は、所定のデータである初期解又は当該初期解に基づいて、当該初期解によって一義的に決定されるようにして連続的に発生させられた解とされる、
方法。
【請求項１６】
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、を備えている制御装置が接続された所定のネットワークに接続して用いられる、受信装置が実行する方法であって、
前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を受信装置第１記録手段に記録する過程と、
前記送信装置と通信を行う際に用いる解を生成するための初期解を受信装置第２記録手段に記録する過程と、
前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置の前記暗号化手段が前記受信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させた初期解を、前記制御装置から前記ネットワークを介して受取る過程と、
前記制御装置から受取った暗号化された前記初期解を、前記受信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記受信装置第２記録手段に記録する過程と、
前記受信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて、前記送信装置から前記ネットワークを介して送信されてきた暗号化データを復号化して、送信対象データに戻す過程と、
を含んでおり、
前記制御装置から受取った暗号化された前記初期解を復号化する場合、及び前記暗号化データを復号化する場合に用いる解は、所定のデータである初期解又は当該初期解に基づいて、当該初期解によって一義的に決定されるようにして連続的に発生させられた解とされる、
方法。
【請求項１７】
ネットワークを介して通信を行うことのできるコンピュータを、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置が接続された所定のネットワークに接続して用いられる、制御装置、
として機能させるためのプログラムであって、
前記コンピュータを、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段、
前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段、
前記送信装置と通信を行う際に用いるものであり、前記送信装置が有するものと共通のものとされた初期解である固定初期解を記録する制御装置第１記録手段、
前記受信装置と通信を行う際に用いるものであり、前記受信装置が有するものと共通のものとされた初期解である固定初期解を記録する制御装置第２記録手段、
前記送信装置、及び前記受信装置と通信を行う通信手段、
として機能させるためのものであるとともに、
前記送信装置と前記受信装置との間でデータの送受信が行われる場合、前記制御装置の前記暗号化手段は、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置に送るものについては、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっているとともに、前記受信装置に送るものについては、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっており、
前記通信手段は、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を送信装置へ、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を受信装置へ、それぞれ送るようになっている、
プログラム。
【請求項１８】
ネットワークを介して通信を行うことのできるコンピュータを、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段とを備えている制御装置が接続された所定のネットワークに接続して用いられる送信装置、
として機能させるためのプログラムであって、
前記コンピュータを、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段、
前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段、
前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段、
前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を記録する送信装置第１記録手段、
前記受信装置と通信を行う際に用いる解を生成するための初期解を記録するための送信装置第２記録手段、
前記制御装置、及び前記受信装置と通信を行う通信手段、
として機能させるためのものであるとともに、
前記送信装置の前記通信手段は、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置が、その前記暗号化手段に、前記送信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させてから前記ネットワークを介して送信した暗号化された初期解を受取るようになっており、
前記送信装置の前記復号化手段は、前記制御装置から受取った暗号化された前記初期解を、前記送信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記送信装置第２記録手段に記録するようになっており、
前記送信装置の前記暗号化手段は、前記送信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて前記受信装置に送信する送信対象データを暗号化することにより暗号化データとするようになっており、
前記送信装置の前記通信手段は、その暗号化データを前記ネットワークを介して前記受信装置に送るようになっている、
プログラム。
【請求項１９】
ネットワークを介して通信を行うことのできるコンピュータを、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、を備えている制御装置が接続された所定のネットワークに接続して用いられる受信装置置、
として機能させるためのプログラムであって、
前記コンピュータを、
所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段、
前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段、
前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を記録する受信装置第１記録手段、
前記送信装置と通信を行う際に用いる解を生成するための初期解を記録するための受信装置第２記録手段、
前記制御装置、及び前記送信装置と通信を行う通信手段、
として機能させるためのものであるとともに、
前記受信装置の前記通信手段は、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置が、その前記暗号化手段に、前記受信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させてから前記ネットワークを介して送信した暗号化された初期解を受取るようになっており、
前記受信装置の前記復号化手段は、前記制御装置から受取った暗号化された前記初期解を、前記受信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記受信装置第２記録手段に記録するようになっているとともに、
前記受信装置の前記復号化手段は、前記受信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて、前記送信装置から前記ネットワークを介して送信され、前記通信手段によって受取った暗号化データを復号化して、送信対象データに戻すようになっている、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のデータを暗号化して送受信するための技術に関する。
【背景技術】
【０００２】
例えば、電子メールや、ＩＰ電話などの分野で、データを送受信するという技術が広く用いられている。
このような場合、データを送信する送信装置と、データを受信する受信装置の間で、第三者による盗聴が発生するおそれがある。そのようなことを防止するため、データの送受信を行う場合に、暗号化の技術が広く使われている。
【０００３】
暗号化のための技術には様々なものがあるが、本願発明者は、強度に優れた従来にはない暗号化の技術を提案している。
その技術は、以下のようなものである。
本願発明者の提案する暗号化技術は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段を、送信装置と受信装置が有するという点に特徴がある。送信装置は、解発生手段から発生された解を、送信するデータを暗号化して暗号化データにする際に用いるようになっており、受信装置は、解発生手段から発生された解を、受信した暗号化データを復号化して元のデータに戻す際に用いるようになっている。上述した解は、暗号化と復号化に際して適当に用いられるが（例えば、暗号化と復号化を行う場合の鍵として用いられたり、暗号化と復号化を行う場合の鍵又はアルゴリズムの少なくとも一方を発生するために用いられたり、或いは予め複数存在する鍵又はアルゴリズムの中から、適当な鍵又はアルゴリズムを選択するために用いられたりする。）、いずれにせよ、送信装置と受信装置で発生させられる解は、同じ順番で発生させられたもの同士を比較した場合には同じものとされる。これにより、受信装置は、送信装置で暗号化を行うときに用いられた鍵とアルゴリズムを、送信装置で暗号化を行うときに用いられたものと同じ解を用いて再現することが可能となるため、暗号化の際に送信装置で用いられた解、鍵、アルゴリズムに関する情報を送信装置から一切貰わなくとも、所定のデータを暗号化することにより送信装置で生成された暗号化データを復号化することができる。
【０００４】
本願発明者が提案する上述の技術は、送信装置と受信装置で、同じ順番に生成されたものは同じものとなる解を生成することによって達成される。そのためには、送信装置と受信装置で、同じ解を生成するための手段が必要となる。本願発明者はそれを、ある特定の解（最初の解なのでこれを本願では初期解と呼ぶ。）を送信装置と受信装置に予め与えておくことによって解決している。つまり、送信装置と受信装置は、予め与えられた共通の初期解（初期解が複数の場合もある。）を用いて２つ目の解を作り、２つ目以前の解を用いて３つ目の解を作り、３つ目以前の解を用いて４つ目の解を作り……、という処理を行うことによって、初期解に基づいて芋づる式に解を生成することとしている。
【０００５】
本願発明者が提案する上述の技術は、送信装置で行う暗号化のやり方を変化させられるものであるにも関わらず、送信装置と受信装置との間で送信装置で用いられた解、鍵、アルゴリズムに関する情報を一切やり取りする必要がない、という優れた利点がある。
送信装置と受信装置で、同じ順番に生成されたものは同じものとなる解を生成することによって実現される上述の技術は、暗号の強度を上げることに極めて有用である。
上述の技術は、暗号化を行う送信装置と、復号化を行う受信装置に共通の初期解を与えておくことが前提となるため、送信装置と受信装置の一対一の通信に向いている。もっとも、送信装置と受信装置が初めから特定又は制限されている場合には、送信装置と受信装置の一方又は双方が複数あったとしても、上述の技術を応用することは可能である。
【０００６】
しかしながら、送信装置と受信装置の少なくとも一方が複数であり、且つ送信装置と受信装置が不特定な状態である場合などには、上述の技術を応用することは困難である。送信装置と受信装置は、暗号化と復号化を行うにあたり、共通の初期解を持っていること（これは、相手方が持っている初期解を何らかの手法で知得することによって達成されてもよい。）が必要となるが、それを実現するための適当な技術が現状では存在しない。送信装置と受信装置の間で、初期解又は初期解を特定するための何らかの情報を暗号化通信を行う前にやり取りすることも考えられるが、暗号化のやり方を第三者に明かすヒントとなるおそれのある情報をそれでは送信装置と受信装置の間でやり取りすることになるので、上述の技術が有する極めて高い暗号の強度を落とす結果となりかねない。
【特許文献１】特開２００３−２４９９２９
【特許文献２】特開２００６−２５３７４５
【特許文献３】特開２００６−２５３７４６
【特許文献４】特開２００７−０１３５０６
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本願発明は、同じ順番に生成されたものは同じものとなる解を送信装置と受信装置で用いる暗号技術を、安全性を落とさずに、不特定の送信装置と受信装置との間で使用できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため、本願発明者は、以下に説明する発明を提案する。
【０００９】
本願発明は、所定のネットワークを介して接続された、制御装置、送信装置、及び受信装置を備えている送受信システム（以下、単に「システム」という場合がある。）として具現化されうる。
このシステムにおける前記制御装置、前記送信装置、及び前記受信装置はともに、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段を備えている。
また、このシステムにおける前記送信装置、及び前記制御装置はともに、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段を備えている。
また、このシステムにおける前記送信装置、及び前記受信装置は、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段を備えている。
また、このシステムにおける前記送信装置は、前記制御装置と通信を行う際に用いる初期解である固定初期解を有しているとともに、前記制御装置は、前記送信装置が有する固定初期解と同じ固定初期解を有しており、このシステムにおける前記受信装置は、前記制御装置と通信を行う際に用いる初期解である固定初期解を有しているとともに、前記制御装置は、前記受信装置が有する固定初期解と同じ固定初期解を有している。
そして、前記送信装置と前記受信装置との間でデータの送受信が行われる場合、このシステムでは、前記制御装置が、それに先立って、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置へは、前記送信装置も同じものを持っている固定初期解又はそれを用いて発生させた解を用いて前記暗号化手段で暗号化してから、前記受信装置へは、前記受信装置も同じものを持っている固定初期解又はそれを用いて発生させた解を用いて前記暗号化手段で暗号化してから、それぞれ送るようになっている。
前記送信装置は、前記制御装置から暗号化して送られて来た前記初期解を、前記制御装置も同じものを持っている固定初期解又はそれを用いて発生させた解を用いて前記復号化手段で復号化して平文の初期解に戻すとともに、平文にしたその初期解又はそれを用いて発生させた解を用いて前記受信装置に送信する送信対象データを前記暗号化手段で暗号化することにより暗号化データとしてから、前記受信装置に前記ネットワークを介して送るようにされており、前記受信装置は、前記制御装置から暗号化して送られて来た前記初期解を、前記制御装置も同じものを持っている固定初期解又はそれを用いて発生させた解を用いて前記復号化手段で復号化して平文の初期解に戻すとともに、平文にしたその初期解又はそれを用いて発生させた解を用いて前記送信装置から受付けた暗号化データを前記復号化手段で復号化するようになっている。
【００１０】
この送受信システムでは、送信装置と、受信装置との間で暗号化通信が行われる。この暗号化通信は、本願発明者が兼ねてから提案している上述したものであり、同じ順番に生成されたものが同じものとなる解を用いて実現される。このとき、上述したように、送信装置と受信装置は共通の初期解を持っているか、相手方が持っている初期解が何なのかを知ることが必要となる。
この送受信システムでは、この課題を、送信装置と受信装置が通信を行う際に用いられる制御装置を用いて実現しようとしている。送信装置と受信装置が、ネットワーク（例えば、インターネット）を介して通信を行う場合には、その通信の制御を行うサーバが用いられるのが通例である。このサーバ、或いは、このサーバとは別の装置を、本願の送受信システムでは、制御装置とするための機能を与えている。
制御装置は、送信装置と受信装置に初期解を送るようになっており、また、送信装置及び受信装置の双方と、送信装置と受信装置の間で行われる解を用いた上述の暗号化通信と同様の暗号化通信を行えるようになっている。本願発明における制御装置は、送信装置と受信装置との間で暗号化通信が行われるに先立って、初期解を暗号化してから送信装置と受信装置に送る。制御装置と送信装置との間で行われる暗号化通信、制御装置と受信装置との間で行われる暗号化通信はともに、制御装置と送信装置又は制御装置と受信装置がともに有する解（これが、本願発明における「固定初期解」である。）に基づいて、変化させられるものであるから、送信装置と受信装置との間で行われる暗号化通信と同様、極めて強度が高い。
固定初期解は、送信装置と受信装置に対してサーバ或いはサーバの管理者等が何らかの手段によって与えたものとすることができる。固定初期解を、サーバ或いはその管理者等が送信装置と受信装置に与える場合、ネットワークを介しての固定初期解の提供は安全性の面から見て避けた方がよい。固定初期解を、サーバ或いはその管理者等が送信装置と受信装置に与える場合、例えば、可搬の記録媒体に固定初期解を記録して送信装置又は受信装置の使用者に郵送することによってそれを実現できる。或いは、送信装置又は受信装置の販売時に、送信装置と受信装置のそれぞれに、固定初期解を持たせておくことができる。
なお、制御装置、送信装置、及び受信装置にある解発生手段は、初期解に基づいて連続的に解を発生させることができるものであるが、それらで発生される解を較べた場合、同じ初期解に基づくのであれば、それぞれの解発生手段で同じ順番で生成された解は互いに同じものとなるようになっている。
また、送信装置と受信装置はともに、少なくとも１つずつあれば良いが、両者とも複数であっても構わない。
【００１１】
上述の送受信システムに用いることのできる制御装置は、例えば、以下のようなものとすることができる。
その制御装置は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置が接続された所定のネットワークに接続して用いられる、制御装置である。
この制御装置は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記送信装置と通信を行う際に用いるものであり、前記送信装置が有するものと共通のものとされた初期解である固定初期解を記録する制御装置第１記録手段と、前記受信装置と通信を行う際に用いるものであり、前記受信装置が有するものと共通のものとされた初期解である固定初期解を記録する制御装置第２記録手段と、前記送信装置、及び前記受信装置と通信を行う通信手段と、を備えている。
また、前記送信装置と前記受信装置との間でデータの送受信が行われる場合、前記制御装置の前記暗号化手段は、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置に送るものについては、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっているとともに、前記受信装置に送るものについては、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっており、前記通信手段は、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を送信装置へ、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を受信装置へ、それぞれ送るようになっている。
このような制御装置を用いれば、上述したような送受信システムを実現することができる。
【００１２】
制御装置は、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の前記初期解を、変化させるための初期解変更手段を備えていてもよい。
制御装置は、上述したように、送信装置と受信装置の双方に、共通の初期解を供給するようになっているが、この初期解は常に同じものでなく、変更した方が送信装置と受信装置の間で行われる暗号化通信における暗号の強度を高くできる。
上述のような初期解変更手段を制御装置が有すれば、初期解の変更が可能となる。初期解の変更のタイミングは、適当に決定することができる。例えば、前記初期解変更手段は、前記初期解を、前記送信装置と前記受信装置とが新たに通信を行う度に変更するようになっていてもよい。
【００１３】
前記初期解変更手段は、異なる複数の前記初期解を記録した初期解記録手段と、当該初期解記録手段からそれに記録されている前記初期解のうちの１つを読出してそれを制御装置の前記暗号化手段に送るようになっている読出し手段を備えていてもよい。この場合、初期解は、予め複数準備されており、その中から選択されたものが、送信装置と受信装置に送られる。
前記初期解変更手段は、異なる複数の初期解を発生させる初期解発生手段を備えており、初期解発生手段は生成した初期解を前記暗号化手段に送るようになっていてもよい。この場合、初期解は、予め準備されておらず初期解が必要となる度に新たに生成される。初期解発生手段は、初期解をどのように生成しても構わない。初期解発生手段は、例えば、制御装置が備える上述の解発生手段と同様のものとすることも可能である。この場合、初期解生成用の初期解に基づいて連続的に発生させられた解が初期解として送信装置と受信装置に送られることになる。
【００１４】
上述したように、ネットワークに接続される送信装置と受信装置はともに複数でも構わない。
その場合、制御装置は、送信装置のうちの１つと受信装置のうちの１つで暗号化通信が行われる場合、暗号化通信が行われるその送信装置と受信装置に当該暗号化通信で用いる解を生成するための初期解をそれぞれ送信することが必要となる。暗号化通信が行われるその送信装置と受信装置に当該暗号化通信で用いる解を生成するための初期解をそれぞれ送信するには、暗号化通信が行われるに先立って、制御装置が暗号化通信がどの送信装置と受信装置の間で行われるかを把握する必要がある。それを可能とするには、前記送信装置のそれぞれは、前記送信装置と前記受信装置との間でデータの送受信が行われるに先立って、通信を行う送信装置、及び受信装置を特定するための特定データを前記ネットワークを介して前記制御装置に送るようになっていればよい。
この場合の制御装置は、以下のようなものとすることができる。制御装置は、前記特定データを前記ネットワークを介して受付ける手段を備えており、前記制御装置第１記録手段には、複数の前記送信装置のそれぞれと通信を行う際に用いるものであり、前記送信装置のそれぞれが有するものとそのそれぞれが共通のものとされた互いにユニークな初期解である固定初期解が、それぞれの送信装置に紐付けた状態で記録されており、前記制御装置第２記録手段には、複数の前記受信装置のそれぞれと通信を行う際に用いるものであり、前記受信装置のそれぞれが有するものとそのそれぞれが共通のものとされた互いにユニークな初期解である固定初期解が、それぞれの受信装置に紐付けた状態で記録されており、前記送信装置と前記受信装置との間でデータの送受信が行われる場合、前記暗号化手段は、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置に送るものについては、前記制御装置第１記録手段から読出した、前記特定データで特定された前記送信装置と紐付けられている前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっているとともに、前記受信装置に送るものについては、前記制御装置第２記録手段から読出した、前記特定データで特定された前記受信装置と紐付けられている前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっており、前記通信手段は、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を、前記特定データで特定された送信装置へ、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を、前記特定データで特定された受信装置へ、それぞれ送るようになっているものとすることができる。
この場合の制御装置は、送信装置と暗号化通信を行うときに用いる固定初期解を各送信装置用に、送信装置の数と同じだけ制御装置第１記録手段に記録することにより持っており、受信装置と暗号化通信を行うときに用いる固定初期解を各受信装置用に、受信装置の数と同じだけ制御装置第２記録手段に記録することにより持っている。このようにすることにより、この制御装置は、各送信装置及び各受信装置と、暗号化通信を行えるようになる。この場合、各送信装置用の固定初期解と各受信装置用の固定初期解は、すべて異なるものとなっているのが好ましい。
【００１５】
本願の制御装置によって得られたのと同様の作用効果は、例えば、以下の方法の発明によっても得られる。
その方法は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置が接続された所定のネットワークに接続して用いられる、制御装置が実行する方法である。
そして、この方法は、前記送信装置と通信を行う際に用いるものであり、前記送信装置が有するものと共通のものとされた初期解である固定初期解を制御装置第１記録手段に記録する過程と、前記受信装置と通信を行う際に用いるものであり、前記受信装置が有するものと共通のものとされた初期解である固定初期解を制御装置第２記録手段に記録する過程と、前記送信装置と前記受信装置との間でデータの送受信が行われる場合、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置に送るものについては、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するとともに、前記受信装置に送るものについては、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化する過程と、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を送信装置へ、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を受信装置へ、それぞれ送る過程と、を含んでいる。
そして、この方法では、前記送信装置と前記受信装置がデータの送受信を行う場合に用いられる共通の前記初期解を暗号化する場合に用いる解を、所定のデータである初期解又は当該初期解に基づいて、当該初期解によって一義的に決定されるようにして連続的に発生させられた解とする。
【００１６】
本願の制御装置によって得られたのと同様の作用効果は、例えば、以下のプログラムの発明によっても得られる。以下のプログラムの発明により、汎用のコンピュータを、本願における制御装置として機能させられるようになる。
そのプログラムは、ネットワークを介して通信を行うことのできるコンピュータを、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送新装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置が接続された所定のネットワークに接続して用いられる、制御装置、として機能させるためのものである。
そして、このプログラムは、前記コンピュータを、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段、前記送信装置と通信を行う際に用いるものであり、前記送信装置が有するものと共通のものとされた初期解である固定初期解を記録する制御装置第１記録手段、前記受信装置と通信を行う際に用いるものであり、前記受信装置が有するものと共通のものとされた初期解である固定初期解を記録する制御装置第２記録手段、前記送信装置、及び前記受信装置と通信を行う通信手段、として機能させるためのものであるとともに、前記送信装置と前記受信装置との間でデータの送受信が行われる場合、前記制御装置の前記暗号化手段は、前記送信装置と前記受信装置がデータの送受信を行う場合に用いる共通の解を発生させるために用いる共通の初期解を、前記送信装置に送るものについては、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっているとともに、前記受信装置に送るものについては、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化するようになっており、前記通信手段は、前記制御装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を送信装置へ、前記制御装置第２記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて暗号化した初期解を受信装置へ、それぞれ送るようになっている。
【００１７】
上述の送受信システムに用いることのできる送信装置は、例えば、以下のようなものとすることができる。
この送信装置は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段とを備えている制御装置が接続された所定のネットワークに接続して用いられる、送信装置である。
この送信装置は、また、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段と、前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を記録する送信装置第１記録手段と、前記受信装置と通信を行う際に用いる解を生成するための初期解を記録するための受信装置第２記録手段と、前記制御装置、及び前記受信装置と通信を行う通信手段と、を備えている。
また、前記送信装置の前記通信手段は、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置が、その前記暗号化手段に、前記送信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させてから前記ネットワークを介して送信した暗号化された初期解を受取るようになっており、前記送信装置の前記復号化手段は、前記制御装置から受取った暗号化された前記初期解を、前記送信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記送信装置第２記録手段に記録するようになっており、前記送信装置の前記暗号化手段は、前記送信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて前記受信装置に送信する送信対象データを暗号化することにより暗号化データとするようになっており、前記送信装置の前記通信手段は、その暗号化データを前記ネットワークを介して前記受信装置に送るようになっている。
【００１８】
本願の送信装置によって得られたのと同様の作用効果は、例えば、以下の方法の発明によっても得られる。
その方法は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段とを備えている制御装置が接続された所定のネットワークに接続して用いられる、送信装置が実行する方法である。
そして、この方法は、前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を送信装置第１記録手段に記録する過程と、前記受信装置と通信を行う際に用いる解を生成するための初期解を受信装置第２記録手段に記録する過程と、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置の前記暗号化手段が前記送信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させた初期解を、前記制御装置から前記ネットワークを介して受取る過程と、前記制御装置から受取った暗号化された前記初期解を、前記送信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記送信装置第２記録手段に記録する過程と、前記送信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて前記受信装置に送信する送信対象データを暗号化することにより暗号化データとする過程と、その暗号化データを前記ネットワークを介して前記受信装置に送る過程と、を含んでいる。
そして、この方法では、前記制御装置から受取った暗号化された前記初期解を復号化する場合、及び前記送信対象データを暗号化する場合に用いる解を、所定のデータである初期解又は当該初期解に基づいて、当該初期解によって一義的に決定されるようにして連続的に発生させられた解とする。
【００１９】
本願の送信装置によって得られたのと同様の作用効果は、例えば、以下のプログラムの発明によっても得られる。以下のプログラムの発明により、汎用のコンピュータを、本願における送信装置として機能させられるようになる。
そのプログラムは、ネットワークを介して通信を行うことのできるコンピュータを、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている受信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段とを備えている制御装置が接続された所定のネットワークに接続して用いられる送信装置、として機能させるためのものである。
そして、このプログラムは、前記コンピュータを、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段、前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を記録する送信装置第１記録手段、前記受信装置と通信を行う際に用いる解を生成するための初期解を記録するための送信装置第２記録手段、前記制御装置、及び前記受信装置と通信を行う通信手段、として機能させるためのものであるとともに、前記送信装置の前記通信手段は、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置が、その前記暗号化手段に、前記送信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させてから前記ネットワークを介して送信した暗号化された初期解を受取るようになっており、前記送信装置の前記復号化手段は、前記制御装置から受取った暗号化された前記初期解を、前記送信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記送信装置第２記録手段に記録するようになっており、前記送信装置の前記暗号化手段は、前記送信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて前記受信装置に送信する送信対象データを暗号化することにより暗号化データとするようになっており、前記送信装置の前記通信手段は、その暗号化データを前記ネットワークを介して前記受信装置に送るようになっている。
【００２０】
上述の送受信システムに用いることのできる受信装置は、例えば、以下のようなものとすることができる。
この受信装置は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、を備えている制御装置が接続された所定のネットワークに接続して用いられるものとされる。
この受信装置は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段と、前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を記録する受信装置第１記録手段と、前記送信装置と通信を行う際に用いる解を生成するための初期解を記録するための受信装置第２記録手段と、前記制御装置、及び前記送信装置と通信を行う通信手段と、を備えている。
また、前記受信装置の前記通信手段は、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置が、その前記暗号化手段に、前記受信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させてから前記ネットワークを介して送信した暗号化された初期解を受取るようになっており、前記受信装置の前記復号化手段は、前記制御装置から受取った暗号化された前記初期解を、前記受信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記受信装置第２記録手段に記録するようになっているとともに、前記受信装置の前記復号化手段は、前記受信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて、前記送信装置から前記ネットワークを介して送信され、前記通信手段によって受取った暗号化データを復号化して、送信対象データに戻すようになっている。
【００２１】
本願の受信装置によって得られたのと同様の作用効果は、例えば、以下の方法の発明によっても得られる。
その方法は、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、を備えている制御装置が接続された所定のネットワークに接続して用いられる、受信装置が実行する方法である。
そして、この方法は、前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を受信装置第１記録手段に記録する過程と、前記送信装置と通信を行う際に用いる解を生成するための初期解を受信装置第２記録手段に記録する過程と、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置の前記暗号化手段が前記受信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させた初期解を、前記制御装置から前記ネットワークを介して受取る過程と、前記制御装置から受取った暗号化された前記初期解を、前記受信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記受信装置第２記録手段に記録する過程と、前記受信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて、前記送信装置から前記ネットワークを介して送信されてきた暗号化データを復号化して、送信対象データに戻す過程と、を含んでいる。
そして、この方法では、前記制御装置から受取った暗号化された前記初期解を復号化する場合、及び前記暗号化データを復号化する場合に用いる解を、所定のデータである初期解又は当該初期解に基づいて、当該初期解によって一義的に決定されるようにして連続的に発生させられた解とする。
【００２２】
本願の受信装置によって得られたのと同様の作用効果は、例えば、以下のプログラムの発明によっても得られる。以下のプログラムの発明により、汎用のコンピュータを、本願における受信装置として機能させられるようになる。
そのプログラムは、ネットワークを介して通信を行うことのできるコンピュータを、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段とを備えている送信装置、及び所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段と、前記解を使用して、暗号化の対象となる所定のデータを暗号化する暗号化手段と、を備えている制御装置が接続された所定のネットワークに接続して用いられる受信装置、として機能させるためのものである。
そして、このプログラムは、前記コンピュータを、所定のデータである初期解に基づいて、当該初期解によって一義的に決定される解を連続して発生する解発生手段、前記解を使用して、復号化の対象となる暗号化された所定のデータを復号化する復号化手段、前記制御装置と通信を行う際に用いるものであり、前記制御装置が有するものと共通のものとされた初期解である固定初期解を記録する受信装置第１記録手段、前記送信装置と通信を行う際に用いる解を生成するための初期解を記録するための受信装置第２記録手段、前記制御装置、及び前記送信装置と通信を行う通信手段、として機能させるためのものであるとともに、前記受信装置の前記通信手段は、前記送信装置と前記受信装置との間でデータの送受信が行われる場合に、前記制御装置が、その前記暗号化手段に、前記受信装置第１記録手段に記録されているのと同じ固定初期解又はそれに基づいて発生させた解を用いて暗号化させてから前記ネットワークを介して送信した暗号化された初期解を受取るようになっており、前記受信装置の前記復号化手段は、前記制御装置から受取った暗号化された前記初期解を、前記受信装置第１記録手段から読出した前記固定初期解又はそれを用いて発生させた解を用いて復号化して平文とし、平文に戻したその初期解を前記受信装置第２記録手段に記録するようになっているとともに、前記受信装置の前記復号化手段は、前記受信装置第２記録手段から読出した平文に戻したその初期解又はそれを用いて発生させた解を用いて、前記送信装置から前記ネットワークを介して送信され、前記通信手段によって受取った暗号化データを復号化して、送信対象データに戻すようになっている。
【００２３】
本願発明の前記送信装置は、前記受信装置を兼ねており、前記受信装置は、前記送信装置を兼ねていてもよい。この場合、送信装置を兼ねることになる受信装置は、送信装置が必要とした、暗号化の対象となる所定のデータを暗号化する暗号化手段を備えていることが必要となる。
前記送信装置と前記受信装置はともに、ＩＰ電話装置であってもよい。
【図面の簡単な説明】
【００２４】
【図１】実施形態の送受信システムの全体構成を示す図。
【図２】図１に示した送受信システムに含まれる通信装置のハードウエア構成を示す図。
【図３】図１に示した送受信システムに含まれる通信装置の暗号化通信部の構成を示すブロック図。
【図４】図３に示した通信装置に含まれる暗号化・復号化部の構成を示すブロック図。
【図５】図１に示した送受信システムに含まれるサーバのハードウエア構成を示す図。
【図６】図１に示した送受信システムに含まれるサーバの暗号化通信部の構成を示すブロック図。
【図７】図６に示した通信装置に含まれる暗号化・復号化部の構成を示すブロック図。
【図８】図１に示した送受信システムで送信時に実行される処理の流れを示す流れ図。
【図９】図１に示したサーバが有するデータを概念的に示す図。
【図１０】図５に示した初期解供給部の構成を示すブロック図。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態について説明する。
この実施形態における送受信システムは、ＩＰ電話網として実現されている。
【００２６】
この実施形態による送受信システムは、概略で図１に示したように構成される。この送受信システムは、通信装置１−１、通信装置１−２、通信装置１−３……、通信装置１−ＮのＮ個の通信装置１と、サーバ２とを含んでいる。これらは、所定のネットワーク３にて互いに接続されている。ネットワーク３は、これには限られないが、この実施形態ではインターネットである。
【００２７】
通信装置１は、コンピュータを含んでいる。通信装置１−１〜１−Ｎは、互いにデータの送受信を行えるようにされている。本願発明との関係でいえば、この実施形態におけるすべての通信装置１は、送信装置と受信装置を兼ねているということになる。通信装置１が相互に送受信するデータは、どのようなものであっても構わない。
この限りではないが、この実施形態における通信装置１は、ＩＰ電話である。したがって、この実施形態における送受信システムは、ＩＰ電話網として実現されているということになる。通信装置１は、ネットワーク３に有線で接続されていても無線で接続されていてもよい。後者の場合、通信装置１は、ＩＰ携帯電話であってもよい。
この実施形態では、通信装置１はＩＰ電話であるので、通信装置１−１〜１−Ｎのそれぞれの間で送受信されるデータは、音声データとされる。通信装置１は、必ずしもこの限りではないが、本実施形態においては、送受信するデータをパケットに分割して、パケット通信を行う。
通信装置１−１〜１−Ｎは、また、サーバ２ともデータの送受信を行えるようにされている。
なお、通信装置１は、必ずしもＩＰ電話である必要はなく、データ通信を行うことができる家庭用等の汎用のコンピュータである場合もある。汎用のコンピュータであっても、電子メール等の通信を通信装置１間で行えること、サーバ２との通信を行えること、送受信に際してパケット通信を行えることは通信装置１がＩＰ電話の場合と変わらず必要であり、通信装置１が汎用のコンピュータであったとしてもそれがＩＰ電話の場合と大きく変わるところはない。
【００２８】
整理すると、この実施形態では、各通信装置１−１〜１−Ｎは、通信装置１−１〜１−Ｎ間での通信を行える。この場合、通信装置１−１〜１−Ｎ間でやりとりされるのは、通話のための音声データである。この音声データは、通信装置１−１〜１−Ｎ間でやり取りされる場合における双方向で暗号化される。
この実施形態では、また、各通信装置１−１〜１−Ｎは、サーバ２とも通信を行う。この実施形態では、各通信装置１−１〜１−Ｎ間での音声データの送受信が行われるに先立って、通信装置１のうちの送信を行うものからサーバ２へ、自分と他の任意の通信装置１との間での通信を要求するためのデータが送られるとともに、その後に音声データの暗号化通信を行う両通信装置１へ、その音声データの暗号化通信を行うために用いられる初期解がサーバ２から送られる。各通信装置１−１〜１−Ｎとサーバ２との通信は、前者から後者へのデータの送信、後者から前者へのデータの送信の場合ともに、暗号化通信であってもそうでなくてもよいが、後述するように、この実施形態では、サーバ２と通信装置１との間の通信はすべて暗号化通信により実行されるものとする。
【００２９】
次に、通信装置１の構成を説明する。各通信装置１−１〜１−Ｎの構成は、本願発明との関連でいえば同じであるといえる。
各通信装置１−１〜１−Ｎのハードウエア構成を、図２に示す。
【００３０】
通信装置１は、この実施形態では、ＣＰＵ（central processing unit）２１、通話機能制御部２２、ＲＯＭ（read only memory）２３、ＲＡＭ（random access memory）２４、入力装置２５、表示装置２６、暗号化通信部２７、及びバス２８を含む構成とされている。ＣＰＵ２１、通話機能制御部２２、ＲＯＭ２３、ＲＡＭ２４、入力装置２５、表示装置２６、暗号化通信部２７は、バス２８を介してデータの交換が可能とされている。
ＲＯＭ２３には、所定のプログラムやそのプログラムを実行するために必要なデータ等が記録されている。このプログラムには、本発明のプログラムも含まれている。このプログラムは、通信装置１の出荷時から通信装置１に搭載されていてもよく、通信装置１の出荷後に例えばユーザの手によりインストールされたものでもよい。通信装置１にプログラムがインストールされる場合、プログラムは所定の記録媒体から通信装置１にインストールされてもよいし、ネットワークを介しての配信によってインストールされてもよい。
ＣＰＵ２１は、通信装置１全体の制御を行うものであり、ＲＯＭ２３に記憶されたプログラムやデータに基づいて、後述する処理を実行する。ＲＡＭ２４は、ＣＰＵ２１が後述する処理を行う際の作業用記憶領域として用いられる。また、ＲＡＭ２４には、後述する初期解が必要に応じて記録されるようになっている。
入力装置２５は、少なくとも、電話をかける相手の電話番号を入力できるものとされている。通信装置１が電話ではない場合、入力装置２５は少なくとも通信の相手方となる他の通信装置１を特定するためのデータを入力できるようなものであればよい。入力装置２５は、この実施形態では、公知のテンキーキーによって構成されている。それ以外に、電源ボタン等の適当な入力のための手段が入力装置２５に含まれる場合もあるが、いずれも周知技術であるためその説明を省略する。表示装置２６は、例えばＬＣＤ（liquid crystal display）により構成されている。表示装置２６は、入力装置２５から入力された内容や、通信装置１で実行されている処理の内容などが表示されるようになっている。
暗号化通信部２７は、ネットワーク３を介しての通信を行うものである。暗号化通信部２７は、送受信のいずれの場合でも、暗号化されたデータによる暗号化通信を行うことができる。ある通信装置１の暗号化通信部２７は、他の通信装置１との通信を行うことができ、また、サーバ２との通信をも行うことができる。暗号化通信部２７が他の通信装置１とする通信、サーバ２とする通信ともに、この実施形態では、上述したように暗号化通信である。なお、暗号化通信部２７が行う暗号化通信の詳細は追って説明する。
通話機能制御部２２は、通信装置１の電話としての機能を制御する。通話機能制御部２２は、通信装置１が備えている図示を省略のマイクロフォン及びスピーカと接続されている。通話機能制御部２２は、ユーザの声を拾ったマイクロフォンからの信号を受付け、音声についてのデータである音声データを生成し、それを暗号化通信部２７に送る機能を有している。通話機能制御部２２は、また、後述するようにして暗号化通信部２７が他の通信装置１からネットワーク３を介して受付けた当該他の通信装置１からの音声データを受付け、それをスピーカに送り、スピーカに音声を出力させる機能を有している。
【００３１】
次に、暗号化通信部２７の構成について説明する。図３に、暗号化通信部２７のブロック構成図を示す。なお、暗号化通信部２７の機能の一部は、上述のプログラムによって形成されていてもよい。
暗号化通信部２７は、インタフェイス部３１、前処理部３２、暗号化・復号化部３３、共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６、通信部３７、ヘッダ生成部３８、及び接続部３９から構成される。
【００３２】
インタフェイス部３１は、バス２８と暗号化通信部２７との間におけるデータのやりとりを行うものである。
送信時において、インタフェイス部３１は以下のように機能する。インタフェイス部３１は、バス２８から受付けたデータ（例えば、音声データ）を前処理部３２に送るようになっている。インタフェイス部３１は、また、音声データをバス２８から受付けると、その旨を、共通データ生成部３４に通知するようになっている。
他方、インタフェイス部３１は、受信時には、以下のように機能する。インタフェイス部３１は、他の通信装置１からネットワーク３を介して受付けた音声データ（他の通信装置１から受付けた状態では、音声データを短く切断して生成されたパケットの羅列とされている。）を、バス２８に送る機能を有している。インタフェイス部３１は、サーバ２からのデータを受付けた場合には、それをバス２８に送る機能を有している。
【００３３】
送信時において、前処理部３２は、インタフェイス部３１を介してバス２８から受取ったデータ（例えば、音声データ）を所定のビット数毎に切断してパケットとするようになっている。前処理部３２は、生成したパケットを、暗号化・復号化部３３に送るようになっている。
受信時において、前処理部３２は、以下のように機能するようになっている。前処理部３２は、相手方の通信装置１からのパケットの羅列とされた音声データを受付けた場合には、それを暗号化・復号化部３３に送るようになっている。前処理部３２は、サーバ２からのデータを受付けた場合には、それを暗号化・復号化部３３に送るようになっている。前処理部３２は、また、相手方の通信装置１からの音声データを受付けた場合、又はサーバ２からのデータを受付けた場合には、その旨を共通データ生成部３４に通知するようになっている。
【００３４】
共通データ生成部３４は、共通データを順次生成するものである。この共通データは、本願発明でいう『解』に当たる。共通データは、連続して生成される。この実施形態では、連続して複数生成される共通データは、必ずしもこの限りではないが擬似乱数となる。通信装置１同士で通信が行われる場合、共通データは、同じ順番で生成された共通データ同士を比較すると、通信が行われる双方の通信装置１で共通したものとなるようになっている。通信装置１とサーバ２で通信が行われる場合、共通データは、同じ順番で生成された共通データ同士を比較すると、通信装置１とサーバ２で共通したものとなるようになっている。
共通データ生成部３４は、他の通信装置１への送信時においては、音声データを受取った旨の通知をインタフェイス部３１から受取った場合に、他の通信装置１からの受信時においては音声データを受取った旨の通知を前処理部３２から受取った場合にそれぞれ、共通データの生成を開始する。共通データ生成部３４は、サーバ２への送信時においては、サーバ２に送るデータをバス２８から受付けた旨の情報をインタフェイス部３１から受取った場合に、サーバ２からの受信時においてはサーバ２からデータを受取った旨の通知を前処理部３２から受取った場合にそれぞれ、共通データの生成を開始する。
上述したように、この実施形態における、各通信装置１−１〜１−Ｎの共通データ生成部３４は、そこで生成された共通データと、通信の相手側となる通信装置１又はサーバ２で生成された共通データを比較した場合に、同じ順番で生成されたもの同士であれば同じものになるようにして、順次共通データを発生させるようになっている。共通データは、例えば、１、２、３…などと連続する数字などでもよいが、この実施形態では、必ずしもそうである必要はないが、擬似乱数となるようにされている。
生成された共通データは、送信時の場合も、受信時の場合も同じく、前処理部３２と、暗号化・復号化部３３と、アルゴリズム生成部３５と、鍵生成部３６とに送られるようになっている。
なお、擬似乱数である共通データを、２つの通信装置１、或いは通信装置１とサーバ２という離れた場所の内部で、同じように生成するための仕組みについては追って詳述することとする。
【００３５】
暗号化・復号化部３３は、送信時においては、前処理部３２から受付けたデータ（例えば、音声データ）を暗号化して暗号化データにし、受信時においては、前処理部３２から受付けた暗号化データを復号化して共通データに戻す機能を有している。
暗号化・復号化部３３は、図４に示すように暗号化部３３Ａ、復号化部３３Ｂを備えており、暗号化部３３Ａが暗号化の処理を、復号化部３３Ｂが復号化の処理をそれぞれ実行するようになっている。暗号化部３３Ａが暗号化して生成した暗号化データは、接続部３９に送られるようになっている。復号化部３３Ｂが復号化して生成したデータは、インタフェイス部３１に送られるようになっている。
暗号化・復号化部３３の暗号化部３３Ａと復号化部３３Ｂはともに、暗号化又は復号化の処理を行う際に、アルゴリズムと鍵を用いる。そのアルゴリズムと鍵を暗号化・復号化部３３に供給するのが、アルゴリズム生成部３５と、鍵生成部３６である。
【００３６】
アルゴリズム生成部３５は、共通データ生成部３４から受付けた共通データに基づいてアルゴリズムを生成するものである。生成されたアルゴリズムは、アルゴリズム生成部３５から、暗号化・復号化部３３に送られるようになっている。
鍵生成部３６は、共通データ生成部３４から受付けた共通データに基づいて鍵を生成するものである。鍵は、鍵生成部３６から、暗号化・復号化部３３に送られるようになっている。
必ずしもそうである必要はないが、この実施形態では、アルゴリズム生成部３５、鍵生成部３６はともに、共通データ生成部３４から共通データを受付けるたびに、アルゴリズム又は鍵を生成するようになっている。アルゴリズムと鍵の生成の仕方の詳細については後述する。
【００３７】
ヘッダ生成部３８は、送信時にのみ機能するものであり、暗号化・復号化部３３で暗号化され暗号化データとされたパケットのそれぞれに付すヘッダのデータを生成するものである。ヘッダには、例えば、送信元の情報、送信先の情報、そのヘッダが付されたパケットに含まれるデータの量等の一般的に必要な情報が含まれている。ヘッダ生成部３８は、生成したヘッダのデータを、接続部３９に送るようになっている。接続部３９は、送信時にのみ機能するものであり、前処理部３２から送られて来たパケットに（例えば、パケットの先頭に）、ヘッダ生成部３８で生成されたヘッダを一体化させる機能を有する。
【００３８】
通信部３７は、ネットワーク３との間でデータのやり取りを行うものである。
送信時において、通信部３７は、ヘッダを付されたパケットの羅列とされたデータを接続部３９から受付け、それをネットワーク３を介して他の通信装置１又はサーバ２に送るようになっている。
受信時において、通信部３７は、通信装置１又はサーバ２から、データを受付けるようになっている。通信部３７は、このデータを、前処理部３２に送るようになっている。
【００３９】
次に、サーバ２の構成について説明する。
サーバ２のハードウエア構成を、図５に示す。
サーバ２は、この実施形態では、ＣＰＵ１２１、ＲＯＭ１２３、ＲＡＭ１２４、入力装置１２５、表示装置１２６、暗号化通信部１２７、及びバス１２８を含む構成とされている。ＣＰＵ１２１、ＲＯＭ１２３、ＲＡＭ１２４、入力装置１２５、表示装置１２６、暗号化通信部１２７は、バス１２８を介してデータの交換が可能とされている。なお、サーバ２には、周知のハードディスクドライブ等の大容量記録媒体が設けられていてもよい。ハードディスクドライブ等の大容量記録媒体には、ＲＯＭ１２３及びＲＡＭ１２４と同等の役割を与えることができる。
ＣＰＵ１２１、ＲＯＭ１２３、ＲＡＭ１２４、入力装置１２５、表示装置１２６、暗号化通信部１２７、及びバス１２８の機能は、通信装置１のＣＰＵ２１、ＲＯＭ２３、ＲＡＭ２４、入力装置２５、表示装置２６、暗号化通信部２７、及びバス２８の機能と略同じである。なお、サーバ２には、通信装置１における通話機能制御部２２に相当するものは存在しない。その代わり、サーバ２には、後述する初期解供給部１２２が存在する。
ＲＯＭ１２３には、所定のプログラムやそのプログラムを実行するために必要なデータ等が記録されている。
ＣＰＵ１２１は、サーバ２全体の制御を行うものであり、ＲＯＭ１２３に記憶されたプログラムやデータに基づいて、後述する処理を実行する。ＲＡＭ１２４は、ＣＰＵ１２１が後述する処理を行う際の作業用記憶領域として用いられる。また、ＲＡＭ１２４には、後述する初期解が必要に応じて記録されるようになっている。
入力装置１２５は、キーボードとマウスのような公知の入力装置を用いればよい。初期解の入力の際などに用いられる。表示装置１２６は、例えばＬＣＤにより構成されている。もっとも、入力装置１２５と表示装置１２６は、本願の方法の発明が実施されている間に、必ず使用されるというものではない。
初期解供給部１２２は、初期解を暗号化通信部１２７に供給するものとなっている。この初期解は、音声データを暗号化してやり取りする２つの通信装置１の双方に送られ、かかる暗号化通信に用いられる。初期解は、通信装置１のいずれかから、他の通信装置１のいずれかと通信を行うことについての要求がサーバ２に届く度に、初期解供給部１２２から暗号化通信部１２７に供給される。上述の要求がサーバ２に届き、サーバ２が暗号化通信部１２７でそれを受取ると、当該要求はバス１２８を通じてＣＰＵ１２１に送られる。これを受付けたＣＰＵ１２１は、初期解供給部１２２に暗号化通信部１２７へ初期解を供給せよとの指示を行い、それを受けた初期解供給部１２２が暗号化通信部１２７へ初期解を供給するようになっている。
暗号化通信部１２７は、ネットワーク３を介して通信装置１との通信を実行するものである。この実施形態では、暗号化通信部１２７が通信装置１とする通信は、上述したように、暗号化通信とされる。
【００４０】
次に、暗号化通信部１２７の構成について説明する。図３に、暗号化通信部１２７のブロック構成図を示す。
暗号化通信部１２７は、インタフェイス部１３１、前処理部１３２、暗号化・復号化部１３３、共通データ生成部１３４、アルゴリズム生成部１３５、鍵生成部１３６、通信部１３７、ヘッダ生成部１３８、及び接続部１３９から構成される。インタフェイス部１３１、前処理部１３２、暗号化・復号化部１３３、共通データ生成部１３４、アルゴリズム生成部１３５、鍵生成部１３６、通信部１３７、ヘッダ生成部１３８、及び接続部１３９は、通信装置１のインタフェイス部３１、前処理部３２、暗号化・復号化部３３、共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６、通信部３７、ヘッダ生成部３８、及び接続部３９と略同様の機能を有している。
【００４１】
インタフェイス部１３１は、バス１２８と暗号化通信部１２７との間におけるデータのやりとりを行うものである。
送信時において、インタフェイス部１３１は以下のように機能する。インタフェイス部１３１は、バス１２８から受付けたデータ（例えば、後述する初期解のデータ）を前処理部１３２に送るようになっている。インタフェイス部１３１は、また、データをバス１２８から受付けると、その旨を、共通データ生成部１３４に通知するようになっている。
他方、インタフェイス部１３１は、受信時には、以下のように機能する。インタフェイス部１３１は、通信装置１からネットワーク３を介して受付けたデータを、バス１２８に送る機能を有している。インタフェイス部１３１は、通信装置１からのデータを受付けた場合には、それをバス１２８に送る機能を有している。
【００４２】
送信時において、前処理部１３２は、インタフェイス部１３１を介してバス１２８から受取ったデータ（例えば、初期解のデータ）を所定のビット数毎に切断してパケットにするようになっている。前処理部１３２は、生成したパケットを、暗号化・復号化部１３３に送るようになっている。
受信時において、前処理部１３２は、通信装置１からのデータを受付けた場合には、それを暗号化・復号化部１３３に送るようになっている。前処理部１３２は、通信装置１からデータを受付けた場合には、その旨を共通データ生成部１３４に通知するようになっている。前処理部１３２は、また、通信装置１からデータを受付けた場合に、そのデータに含まれたヘッダからそのデータの送信元の通信装置１を特定するためのデータを読出し、それを上述の共通データ生成部１３４への通知に付すようになっている。
【００４３】
共通データ生成部１３４は、通信装置１と通信を行う場合に用いられる通信装置１とサーバ２で共通するデータである共通データを順次生成するものである。共通データ生成部１３４は、送信時においては、データを受取った旨の通知をインタフェイス部１３１から受取った場合に、受信時においては音声データを受取った旨の通知を前処理部１３２から受取った場合にそれぞれ、共通データの生成を開始する。
共通データは、例えば、１、２、３…などと連続する数字などでもよいが、この実施形態では、必ずしもそうである必要はないが擬似乱数となるようにされている。生成された共通データは、送信時の場合も、受信時の場合も同じく、前処理部１３２と、暗号化・復号化部１３３と、アルゴリズム生成部１３５と、鍵生成部１３６とに送られるようになっている。
なお、この実施形態における共通データ生成部１３４は、各通信装置１との暗号化通信を行う際に使用される各通信装置１用の初期解のデータを持っている。これについては、後述する。なお、各通信装置１用の初期解のデータは、共通データを生成する際に共通データ生成部１３４が入手できればよく、必ずしも共通データ生成部１３４内に存在することを要しない。
【００４４】
暗号化・復号化部１３３は、送信時においては、共通データ生成部１３４から受付けたデータ（例えば、初期解のデータ）を暗号化して暗号化データにし、受信時においては、前処理部１３２から受付けた暗号化データを復号化して共通データに戻す機能を有している。
暗号化・復号化部１３３は、図６に示すように暗号化部１３３Ａ、復号化部１３３Ｂを備えており、暗号化部１３３Ａが暗号化の処理を、復号化部１３３Ｂが復号化の処理をそれぞれ実行するようになっている。暗号化部１３３Ａが暗号化して生成した暗号化データは、接続部１３９に送られるようになっている。復号化部１３３Ｂが復号化して生成したデータは、インタフェイス部１３１に送られるようになっている。
暗号化・復号化部１３３の暗号化部１３３Ａと復号化部１３３Ｂはともに、暗号化又は復号化の処理を行う際に、アルゴリズムと鍵を用いる。そのアルゴリズムと鍵を暗号化・復号化部１３３に供給するのが、アルゴリズム生成部１３５と、鍵生成部１３６である。
【００４５】
アルゴリズム生成部１３５は、共通データ生成部１３４から受付けた共通データに基づいてアルゴリズムを生成するものである。生成されたアルゴリズムは、アルゴリズム生成部１３５から、暗号化・復号化部１３３に送られるようになっている。
鍵生成部１３６は、共通データ生成部１３４から受付けた共通データに基づいて鍵を生成するものである。鍵は、鍵生成部１３６から、暗号化・復号化部１３３に送られるようになっている。
必ずしもそうである必要はないが、この実施形態では、アルゴリズム生成部１３５、鍵生成部１３６はともに、共通データ生成部１３４から共通データを受付けるたびに、アルゴリズム又は鍵を生成するようになっている。アルゴリズムと鍵の生成の仕方の詳細については後述する。
【００４６】
ヘッダ生成部１３８は、送信時にのみ機能するものであり、暗号化・復号化部１３３で暗号化され暗号化データとされたパケットのそれぞれに付すヘッダのデータを生成するものである。ヘッダには、例えば、送信元の情報、送信先の情報、そのヘッダが付されたパケットに含まれるデータの量等の一般的に必要な情報が含まれている。ヘッダ生成部１３８は、生成したヘッダのデータを、接続部１３９に送るようになっている。接続部１３９は、送信時にのみ機能するものであり、前処理部１３２から送られて来たパケットに（例えば、パケットの先頭に）、ヘッダ生成部１３８で生成されたヘッダを一体化させる機能を有する。
【００４７】
通信部１３７は、ネットワーク３との間でデータのやり取りを行うものである。
送信時において、通信部１３７は、ヘッダを付されたパケットの羅列とされたデータを接続部１３９から受付け、それをネットワーク３を介して通信装置１に送る。
受信時において、通信部１３７は、通信装置１からのパケットに分割された音声データをネットワーク３を介して受付ける。この暗号化データは、通信部１３７から前処理部１３２に送られることになる。通信装置１からデータを受信した場合、通信部１３７は、そのデータを前処理部１３２に送るようになっている。
【００４８】
次に、この送受信システムで実行される処理の流れについて、図８を用いて説明する。
【００４９】
この通信システムで通信が行われる場合、まず、送信側となる通信装置１の一つが、通信の相手方となる他の通信装置１を特定する情報を含むものであり、他の通信装置１との通信を要求するデータである通信要求データを生成する（Ｓ００１）。
具体的には、通信装置１を持つユーザは、自分の通信装置１の入力装置２５を操作して、通信を行いたい他のユーザが所持する他の通信装置１を特定するための情報（この実施形態では、当該他の通信装置１の電話番号である。）を入力する。そして、例えば、通話を開始することの意思表示をすることが割振られた所定のキー（一般には、通話開始キー）を操作することにより、ＣＰＵ２１が通信の相手方である他の通信装置１を特定するデータを含む通信要求データを生成する。
【００５０】
次いで、通信装置１は、その通信要求データを暗号化し、（Ｓ００２）、暗号化したその通信要求データをサーバ２にネットワーク３を介して送る（Ｓ００３）。
ＣＰＵ２１が生成した通信要求データは、バス２８を介して暗号化通信部２７に送られ、暗号化通信部２７にて通信要求データは暗号化されることになる。
【００５１】
通信要求データは、暗号化通信部２７のインタフェイス部３１が受取る。インタフェイス部３１は、通信要求データを前処理部３２に送るとともに、通信要求データを受取ったことを、共通データ生成部３４に通知する。
前処理部３２は、通信要求データを、所定のビット数毎に切断して、多数のパケットを生成する。必ずしもこの限りではないが、データの並び方の前後が入れ替わらないように、この実施形態では、通信要求データは前から順に切断されていく。なお、必ずしもそうする必要はないが、この実施形態の前処理部３２は、各パケットに含まれるデータの大きさが同じになるようにして、通信要求データを切断するようになっている。前処理部３２で生成されたパケットは、接続部３９に送られる。
他方、上述の通知をインタフェイス部３１から受取った共通データ生成部３４は、共通データの生成を行う。
共通データ生成部３４における共通データの生成は、以下のようにして行われる。共通データ生成部３４は、通信要求データを分割して前処理部３２で生成されたパケットと同じ数だけ、共通データを生成する。なお、これには限られないが、この実施形態における共通データは８行８列の行列（Ｘ）である。共通データ生成部３４は、必ずしもそうなっている必要はないが、この実施形態では、共通データを、非線形遷移するようなものとして連続して発生させる。この共通データは、結果として擬似乱数となる。
非線形遷移するように共通データを連続して発生させるには、例えば、（１）共通データの生成の過程に、過去の共通データのべき乗の演算を含める、（２）共通データの生成の過程に、過去の２つ以上の共通データの掛け合わせを含める、或いは、（１）と（２）を組み合わせるなどの手法が考えられる。
この実施形態では、共通データ生成部３４は、初期共通データ（初期共通データは、初期解である。）である初期行列として、第０１共通データ（Ｘ０１）と第０２共通データ（Ｘ０２）を予め定められたものとして持っている（例えば、第０１共通データと第０２共通データは、ＲＯＭ２３などに予め記録されている）。なお、必ずしもこの限りではないが、この実施形態では、各通信装置１が有する初期行列は互いにユニークであり、且つ各通信装置１が有する初期行列のそれぞれを、後述するようにサーバ２は有している。
【００５２】
共通データ生成部３４は、この初期行列を、共通データ生成部３４が保持している共通データ生成用アルゴリズムに代入することにより、第１共通データ（Ｘ１）を以下のように生成する。
第１共通データ（Ｘ１）＝Ｘ０２Ｘ０１＋α（α＝８行８列の行列）
これが最初に生成される共通データである。
ここで、αは、環境情報である。ただし、環境情報は、必ずしも必要なものではない。αは、例えば、その日の日付や、通信装置１のＩＰアドレス等の適当な情報を、適当なルールにしたがって２進法に表示しなおした場合の「１」、「０」で表されるデータ列を、８行８列の行列の要素に順に当てはめたものとされる。なお、その日の日付け等を２進法に表示しなおした場合の「１」、「０」で表されるデータ列を作る数字が８行８列の行列の要素の数である６４個に満たない場合には、例えば、その６４個に満たない「１」、「０」の数字で構成されるデータ列を繰り返して用いることによりαを作ればよいし、データ列を作る数字が６４個を超える場合には例えば不要な数字を削ってαを作ればよい。
共通データ生成部３４は、第２共通データ（Ｘ２）を以下のように生成する。
第２共通データ（Ｘ２）＝Ｘ１Ｘ０２＋α
同様に、共通データ生成部３４は、第３共通データ、第４共通データ、……第Ｎ共通データを、以下のように生成する。
第３共通データ（Ｘ３）＝Ｘ２Ｘ１＋α
第４共通データ（Ｘ４）＝Ｘ３Ｘ２＋α
：
第Ｎ共通データ（ＸＮ）＝ＸＮ−１ＸＮ−２＋α
このようにしてパケットの数と同じ数だけ生成された共通データは、アルゴリズム生成部３５、及び鍵生成部３６に送られるとともに、次の共通データを生成するために共通データ生成部３４で保持されることになる。この実施形態では、第Ｎ共通データ（ＸＮ）を生成するために、第Ｎ−１共通データ（ＸＮ−１）と第Ｎ−２共通データ（ＸＮ−２）を、つまり、その直前に生成された２つの共通データを用いる。したがって、共通データ生成部３４は、新しい共通データを生成するにあたって、過去に生成された直近２つの共通データを保持していなければならない（又は、共通データ生成部３４ではない他の何者かがこれら２つの共通データを保持していなければならない）。
このように生成される共通データは、非線形遷移するカオス的なものとなり、擬似乱数となる。
なお、環境情報であるαは、必ずしも、共通データを発生するすべての場合に用いる必要はない。例えば、第１共通データを生成する場合に、
（Ｘ１）＝Ｘ０２Ｘ０１＋α
というようにαを用い、第２共通データ以降の共通データを生成する場合には、
（ＸＮ）＝ＸＮ−１ＸＮ−２というαを用いない式により得られるようにしてもよい。
生成される共通データに非線形遷移を起こさせるには、第Ｎ共通データを求める際に、上述した、
第Ｎ共通データ（ＸＮ）＝ＸＮ−１ＸＮ−２（＋α）
という式を用いる他に、以下のような式を用いることが考えられる。
なお、αに付けた括弧書きは、以下に例示される場合も含め、すべての共通データを生成する場合、或いは、第２共通データ以降の共通データを生成する場合に、αが必ずしも必要ではないことを示している。
用いることのできる数式は、例えば、
（ａ）第Ｎ共通データ（ＸＮ）＝（ＸＮ−１）Ｐ（＋α）
（ｂ）第Ｎ共通データ（ＸＮ）＝（ＸＮ−１）Ｐ（ＸＮ−２）Ｑ（ＸＮ−３）Ｒ（ＸＮ−４）Ｓ（＋α）
（ｃ）  第Ｎ共通データ（ＸＮ）＝（ＸＮ−１）Ｐ＋（ＸＮ−２）Ｑ（＋α）
などである。
なお、Ｐ、Ｑ、Ｒ、Ｓはそれぞれ所定の定数である。また、数式（ａ）を用いる場合は１つ、数式（ｃ）を用いる場合には２つ、数式（ｂ）を用いる場合には４つの初期行列を、共通データ生成部３４は有している。
【００５３】
共通データ生成部３４から共通データを受付けると、アルゴリズム生成部３５はアルゴリズムを、鍵生成部３６は鍵を、それぞれ生成する。
アルゴリズムと鍵の生成の仕方は、例えば、以下のようなものである。アルゴリズムと鍵は、いずれも、この実施形態では、共通データを用いて作られる。
この実施形態において、アルゴリズム生成部３５は、アルゴリズムを以下のようなものとして生成する。
この実施形態におけるアルゴリズムは、『暗号化すべき共通データを８行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるものが暗号化データである』と定義される。
ここで、ａは所定の固定された定数とされる場合もあるが、この実施形態では、共通データに基づいて変化する数字である。つまり、この実施形態におけるアルゴリズムは、共通データに基づいて変化する。例えばａは、８行８列の行列である共通データに含まれている行列の要素である数すべてを足し合わせて得られる数を５で割った場合の余り（ただし、余りが０の場合はａ＝１とする）のように定めることができる。
また、上述のｎは、鍵であり、所定の数である。鍵が一定の数であればｎは固定であるが、以下に説明するように、この実施形態では、鍵は共通データに基づいて変化する。つまり、この実施形態では、このｎも共通データに基づいて変化するようになっている。
もっとも、アルゴリズムを他のものとして決定することもできる。また、アルゴリズムは、変化しないもの、即ち固定されたものであってもよい。アルゴリズムの生成は、アルゴリズムを上述のようにして新たに作る場合に限られず、共通データを用いて（例えば共通データの一部に着目して）、予め準備されていた複数のアルゴリズムから１つを選択する場合も含む。
この実施形態では、アルゴリズム生成部３５は、共通データ生成部３４から共通データを受取るたびにアルゴリズムを生成し、それを暗号化・復号化部３３の暗号化部３３Ａに送る。
他方、アルゴリズム生成部３５によるアルゴリズムの生成と並行して、鍵生成部３６が、鍵を生成する。鍵生成部３６は、上述したように、鍵を共通データに基づいて生成する。鍵の生成は、鍵を以下のようにして新たに作る場合に限られず、共通データを用いて（例えば共通データの一部に着目して）、予め準備されていた複数の鍵から１つを選択する場合も含む。
この実施形態においては、鍵生成部３６は、鍵を以下のようなものとして生成する。
この実施形態における鍵は、８行８列の行列である共通データに含まれている行列の要素である数すべてを足し合わせて得られる数とされる。したがって、鍵は、この実施形態では、共通データに基づいて変化する。なお、鍵を他のものとして決定することもできる。例えば、鍵は、８行８列の行列である共通データに含まれている行列の要素である数すべてを掛け合わせて得られる数の下２桁と定義することができる。
この実施形態では、鍵生成部３６は、共通データ生成部３４から共通データを受取るたびに鍵を生成し、それを暗号化・復号化部３３の暗号化部３３Ａに送る。
【００５４】
暗号化部３３Ａは、アルゴリズム生成部３５から受付けたアルゴリズムと、鍵生成部３６から受付けた鍵に基づいて、前処理部３２から受付けたデータを暗号化する。ここで、暗号化されるのは、上述したように、通信要求データを切断して作られたパケットである。
アルゴリズムは、上述したように、『暗号化すべき共通データを８行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるものが暗号化データである』という決まりであり、鍵であるｎは、上述したような方法で決定された数である。
例えば、ａが３、ｎが６である場合には、Ｘを３乗して得られる８行８列の行列を、６×９０°＝５４０°だけ時計回りに回転させることによって得られた８行８列の行列に、暗号化すべき共通データを掛け合わせて暗号化が行われる。
これにより生成されたデータが、暗号化データである。
暗号化データは接続部３９に送られる。
暗号化データが生成されるたびに、ヘッダ生成部３８は暗号化データのヘッダとなるデータであるヘッダデータを生成する。ヘッダには上述の如き情報が含まれる。ヘッダには、少なくとも、そのパケットの送信先がサーバ２であるという情報と、そのパケットの送信元が通信装置１のうちのどれかということを特定する情報が含まれる。この実施形態では、通信装置１を特定するための情報は、通信装置１の電話番号とされる。なお、暗号化部３３Ａで生成された暗号化データの数と、ヘッダ生成部３８で生成されるヘッダデータの数を揃えるには、例えば、暗号化部３３Ａからヘッダ生成部３８に、暗号化部３３Ａでパケットの暗号化が行われる度にその旨を通知する、或いは暗号化部３３Ａが暗号化を行った回数を通知する等すればよい。その他、前処理部３２が、生成したパケットの数をヘッダ生成部３８に通知するようにしても構わない。
ヘッダ生成部３８は、生成したヘッダを、接続部３９に送る。
接続部３９は、暗号化部３３Ａから受取った暗号化データ（暗号化されたパケット）の先頭に、ヘッダ生成部３８から受付けたヘッダを接続する。接続部３９は、この処理をすべてのパケットに対して行う。
ヘッダを接続されたパケットは、接続部３９から通信部３７に送られる。
通信部３７は、そのパケットを、ネットワーク３を介してサーバ２に送る。ヘッダに書き込まれた情報にしたがって、各パケットはサーバ２に送られることになる。
【００５５】
暗号化された通信要求データは、サーバ２によって受取られる（Ｓ００４）。
具体的には、サーバ２は、暗号化通信部１２７に含まれている通信部１３７により、通信装置１から暗号化されたパケットの羅列として送られて来た通信要求データを受取る。
【００５６】
次いで、サーバ２は、通信要求データを復号化する（Ｓ００５）。
かかる復号化は、暗号化通信部１２７で行われる。
通信部１３７は、受取ったパケットを次々に前処理部１３２に送る。前処理部１３２は、パケットを受取ると、各パケットに付されたヘッダ（のうちの少なくとも１つ）から、そのパケットがどの通信装置１から送られて来たのかを特定するデータ（この実施形態では、そのパケットを送って来た通信装置１に割振られた電話番号）を読出すとともに、そのデータを付加して、パケットを受取ったという通知を共通データ生成部１３４とヘッダ生成部１３８に送る。
【００５７】
パケットを受取ったという通知を前処理部１３２から受取ると、共通データ生成部１３４は共通データを生成する。
共通データ生成部１３４での共通データの生成の仕方は、上述した送信時の場合と変わらない。つまり、この実施形態では、初期共通データと、環境情報とを用いて共通データが生成される。
サーバ２の共通データ生成部１３４には、通信装置１−１〜１−Ｎのそれぞれ用の、必ずしもその限りではないがこの実施形態は各通信装置１−１〜１−Ｎ毎にユニークな初期解が、図９に示した如く記録されている。各通信装置１−１〜１−Ｎ用の初期解の数は、各通信装置１−１〜１−Ｎが有する初期解の数と一致しているが、この実施形態では、各通信装置１−１〜１−Ｎが、第０１共通データ（Ｘ０１）と第０２共通データ（Ｘ０２）という２つの初期共通データ（初期解）を有することに対応して、２つとされている。通信装置１−１用の第０１共通データと第０２共通データはそれぞれ、Ｘ１０１、Ｘ１０２であり、通信装置１−２用の第０１共通データと第０２共通データはそれぞれ、Ｘ２０１、Ｘ２０２であり……、通信装置１−Ｎ用の第０１共通データと第０２共通データはそれぞれＸＮ０１、ＸＮ０２である。共通データ生成部１３４は、前処理部１３２から送られた通知に付された通信装置１−１〜１−Ｎのうちの１つを特定する上述のデータに対応付けられた初期解を読み出し、それに基づいて次々に共通データ（解）を生成する。なお、共通データ生成部１３４は、通信装置１の共通データ生成部３４が有していたのと同様の環境情報を、通信装置１とは別のルートで入手できる（例えば、環境情報が通信の開始された日付であれば、その情報はサーバ２でも容易に入手できる）か、又は通信装置１から入手する（例えば、環境情報が通信装置１の契約者の姓名のイニシャルであれば、それを例えば最初のパケットのヘッダに含める形でサーバ２は通信装置１から入手できる。）ようになっている。したがって、通信装置１の共通データ生成部１３４で生成される共通データは、通信装置１の共通データ生成部３４で生成された共通データと比較した場合、生成された順番が同じもの同士を比較すれば、通信装置１の共通データ生成部３４内で生成される共通データと同じになる。
生成された共通データは、共通データ生成部１３４から、アルゴリズム生成部１３５と鍵生成部１３６とに送られる。
【００５８】
アルゴリズム生成部１３５と鍵生成部１３６は、共通データを共通データ生成部１３４から受付ける度に、アルゴリズムと鍵を生成する。アルゴリズムと鍵の生成の仕方は、送信時と同様である。
アルゴリズム生成部１３５は、アルゴリズムを生成する際に共通データを使用する。サーバ２のアルゴリズム生成部１３５がアルゴリズムを生成する過程は、通信装置１のアルゴリズム生成部１３５がアルゴリズムを生成する過程と同じである。サーバ２と通信装置１で同じ順番で生成されるアルゴリズムは、同じ共通データに基づいて生成されることになるので、常に同じになるようになっている。
他方、鍵生成部１３６は、鍵を生成する際に共通データを使用する。サーバ２の鍵生成部１３６が鍵を生成する過程は、通信装置１の鍵生成部３６が鍵を生成する過程と同じである。サーバ２と通信装置１で同じ順番で生成される鍵は、同じ共通データに基づいて生成されることになるので、常に同じになるようになっている。
アルゴリズム生成部１３５と鍵生成部１３６は、生成したアルゴリズム又は鍵を暗号化・復号化部１３３の復号化部１３３Ｂに送る。
復号化部１３３Ｂは、前処理部１３２から受取った暗号化データを復号化する。かかる復号化を行う際、復号化部１３３Ｂは、アルゴリズム生成部１３５と鍵生成部１３６から受取ったアルゴリズムと鍵を用いる。
より詳細には、復号化部１３３Ｂは、アルゴリズム生成部１３５から受付けたアルゴリズム（『暗号化すべき共通データを８行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるものが暗号化データである。』という定義）に基づいて、復号化処理を行うためのアルゴリズム（『暗号化データを８行８列の行列Ｚと見た場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列の逆行列に、Ｙを掛け合わせて求められるものが暗号化前の平文のデータである』という定義）を生成し、鍵生成部１３６から受取った鍵を用いて上述の定義にしたがった演算を行うことで、復号化の処理を行う。
こうして、復号化部１３３Ｂでは、前処理部１３２から送られた暗号化データを順番に復号化し、パケットに分割されている通信要求データを復号化する。復号化されたパケットは接続され、ＣＰＵ１２１に送られる。これにより、ＣＰＵ１２１は、通信要求データを送信してきた通信装置１と、通信要求データを送信してきた通信装置１が通信を行おうとする他の通信装置１に、それらの間で通信を行わせることを認め、両者をネットワーク３を介して接続させることを容認する。復号化された通信要求データに含まれていた通信要求データを送信してきた通信装置１が通信を行おうとする他の通信装置１を特定するための情報（この実施形態では、その他の通信装置１の電話番号）は、復号化部１３３Ｂから、共通データ生成部１３４とヘッダ生成部１３８に送られる。
【００５９】
通信要求データの復号化と前後して、通話が行われる２つの通信装置１の間で暗号化通信を行うときに用いられる初期解が生成される（Ｓ００６）。このＳ００６の過程は、Ｓ００５の過程より先に行なわれても後に行われてもよく、また、Ｓ００５の過程と並行して行われてもよい。
この実施形態における通信部１３７は、パケットを受取ると、ＩＦ１３１を介して、ＣＰＵ１２１にその旨を伝える。この情報を受付けたＣＰＵ１２１は、初期解を生成せよとの指示を初期解供給部１２２に送り、この指示を受付けた初期解供給部１２２が、初期解を生成する。
ここで生成される初期解は、この実施形態では、毎回異なるものとして生成される。
初期解は、例えば、予め準備してある複数の初期解の中から選択することで生成される場合がある。この場合における初期解供給部１２２は、例えば、図１０に示したような、初期解記録部１２２Ａと、初期解読出部１２２Ｂを備えている。初期解記録部１２２Ａには、初期解として用いることのできる多数の初期行列が記録されている。初期解読出部１２２Ｂが、初期解を生成せよとの指示がＣＰＵ１２１からある度に、この初期行列の中から２つの初期行列を、例えば順番に、或いはランダムに選択することにより、初期解の生成を行うことができる。
初期解は、例えば、予め準備しておくことなく、初期解を生成せよとの指示がＣＰＵ１２１からある度に生成されるものであってもよい。この初期解は、上述した共通データ（解）の場合と同様に、擬似乱数となるようになっていてもよい。この場合における初期解供給部１２２は、共通データ生成部１３４と同様の構成とすることができる。初期解供給部１２２は、予め準備してある初期解に基づいて、初期解を生成せよとの指示がＣＰＵ１２１からある度に、解を生成し、生成した解を、通信装置１に提供する初期解とすればよい。
どのようにして初期解が生成されるにせよ、生成された初期解は、初期解供給部１２２から、暗号化通信部１２７に送られる。暗号化通信部１２７は、受取った初期解を暗号化する（Ｓ００７）。
【００６０】
暗号化通信部１２７は、同じ初期解を２回暗号化して２つの暗号化データを生成する。２つの暗号化データの一方は、通信要求データを送って来た通信装置１に送るためのものであり、他方は通信要求データが通信を行う相手側として特定してきた通信装置１に送るためのものである。
暗号化通信部１２７で行われる初期解の暗号化は、通信装置１が初期解のデータを暗号化したときと略同じ方法で行われるが、簡単に説明する。
初期解のデータは、暗号化通信部１２７のインタフェイス部１３１が受取る。インタフェイス部１３１は、初期解のデータを前処理部１３２に送るとともに、初期解のデータを受取ったことを、共通データ生成部１３４に通知する。
前処理部１３２は、初期解のデータを、所定のビット数毎に切断してパケットを生成する。前処理部１３２で生成されたパケットは、接続部１３９に送られる。
他方、上述の通知をインタフェイス部１３１から受取った共通データ生成部１３４は、共通データの生成を行う。
共通データ生成部１３４における共通データの生成は、上述の場合と同様である。この実施形態では、上述したように、通信要求データを送って来た通信装置１に送るための暗号化データと、通信要求データが通信を行う相手側として特定してきた通信装置１に送るための暗号化データの２つを生成する。共通データ生成部１３４は、これら２つの通信装置１用の初期解のうちの一方をまず用いて２つの通信装置１のうちの一方に送るための初期解のデータを暗号化するために用いる解を、通信要求データを復号化するために解を生成した場合と同様の方法で順に生成する。なお、通信要求データを送って来た通信装置１と、通信要求データが通信を行う相手側として特定してきた通信装置１を特定するためのデータは、上述したように、前処理部１３２又は復号化部１３３Ｂから共通データ生成部１３４に既に送られているので、共通データ生成部１３４は、これらデータに対応付けられた初期解を元にして解を生成すれば、通信要求データを送って来た通信装置１用の初期解を暗号化するための解と、通信要求データが通信を行う相手側として特定してきた通信装置１用の解を暗号化するための解が生成されることになる。
なお、通信要求データを送って来た通信装置１と、サーバ２との間では、これらが当初から持っていた共通の初期解に基づいて、解の生成が既に行われている。このように、初期解に基づいて解が生成された場合には、最後に生成された解（この実施形態では、２つの初期解が必要とされるので、正確には、一番最後に作られた解と、その直前に作られた解）で、図９におけるその通信装置１用の初期解を上書きするようにしておいてもよい。そうする場合には、通信装置１でも、最後に生成された解で当初の初期解を上書きするようにする。このようにすることで、通信装置１とサーバ２は、通信を行う度に新たな初期解を用いて解を生成することができるようになるため、通信の安全性をより高められるようになる。
共通データ生成部１３４は、上述のようにして生成した解を次々に、アルゴリズム生成部１３５と、鍵生成部１３６に送る。
共通データ生成部１３４から共通データを受付けると、アルゴリズム生成部１３５はアルゴリズムを、鍵生成部１３６は鍵を、それぞれ生成する。アルゴリズム生成部１３５は生成したアルゴリズムを、鍵生成部１３６は生成した鍵を、それぞれ暗号化部１３３Ａに送る。
暗号化部１３３Ａは、アルゴリズム生成部１３５から受付けたアルゴリズムと、鍵生成部１３６から受付けた鍵に基づいて、前処理部１３２から受付けたデータを暗号化する。生成された暗号化データは接続部１３９に送られる。
他方、ヘッダ生成部１３８は、ヘッダデータを生成する。ヘッダデータには、少なくとも、暗号化データが送信される先の通信装置１を特定するための情報が含まれる。ヘッダ生成部１３８は、上述したように、通信要求データを送って来た通信装置１と、通信要求データが通信を行う相手側として特定してきた通信装置１を特定するためのデータを、前処理部１３２又は復号化部１３３Ｂから既に受取っているので、ヘッダ生成部１３８はそのデータに基づいてヘッダデータを生成すればよい。
ヘッダ生成部１３８は、生成したヘッダを、接続部１３９に送る。
接続部１３９は、暗号化部１３３Ａから受取った暗号化データに、ヘッダ生成部１３８から受付けたヘッダを接続する。ヘッダを接続されたパケットは、接続部１３９から通信部１３７に送られる。
通信部１３７は、そのパケットを、ネットワーク３を介して通信装置１に送る（Ｓ００８）。
以上説明した処理のうち、共通データ（解）の生成以降の処理を、２回繰り返して行い、通信要求データを送って来た通信装置１と、通信要求データが通信を行う相手側として特定してきた通信装置１の双方に、これら２つの通信装置１が暗号化通信を行う際に用いられる解を暗号化して送る。
【００６１】
２つの通信装置１はともに、２つの通信装置１が通信を行うときに用いられる暗号化された初期解を受取り（Ｓ００９）、暗号化されていた初期解を復号化する（Ｓ０１０）。
通信装置１は、暗号化通信部２７に含まれる通信部３７で、サーバ２から送られて来たパケット化された初期解のデータを受取る。
通信部３７は受付けたパケットを、前処理部３２に送る。
その後行われる復号化の処理は、サーバ２で通信要求データを復号化したときの処理と略同様である。
前処理部３２は、パケットを受取ると、各パケットに付されたヘッダを削除し、パケット化された暗号化されている初期解のデータを取出して、それを暗号化・復号化部３３の復号化部３３Ｂに送る。
前処理部３２は、また、パケットを受取ると、パケットを受取ったという通知を、共通データ生成部３４へ送る。
【００６２】
パケットを受取ったという通知を前処理部３２から通知されると、共通データ生成部３４は共通データを生成する。共通データの生成の仕方は、送信時（上述した通信要求データの暗号化の場合）と変わらない。この実施形態では、初期解と、環境情報とを用いて共通データが生成される。ここで用いられる初期解は、上述したように、常に固定されている場合もあるし、上書きにより変更されていく場合もあるが、いずれにせよ、サーバ２から暗号化して送られて来た初期解を暗号化するときに用いた初期解は通信装置１に存在する。したがって、通信装置１は、暗号化して送られて来た初期解を暗号化するときにサーバ２が用いた複数の解と同じ解を、サーバ２と共通の初期解及び環境情報に基づいて、同じ順番で生成することができる。
生成された共通データは、共通データ生成部３４から、アルゴリズム生成部３５と鍵生成部３６とに送られる。
アルゴリズム生成部３５と鍵生成部３６は、共通データを共通データ生成部３４から受付ける度に、アルゴリズムと鍵を生成する。アルゴリズムと鍵の生成の仕方は、送信時と同様である。
アルゴリズム生成部３５と鍵生成部３６は、生成したアルゴリズム又は鍵を暗号化・復号化部３３の復号化部３３Ｂに送る。
復号化部３３Ｂは、前処理部３２から受取った暗号化データを復号化する。かかる復号化を行う際、復号化部３３Ｂは、アルゴリズム生成部３５と鍵生成部３６から受取ったアルゴリズムと鍵を用いる。
こうして、復号化部３３Ｂは、前処理部３２から送られた暗号化データを順番に復号化し、パケットに分割されている初期解のデータを復号化する。復号化されたパケットは接続され、元の初期解のデータに戻される。
こうして生成された初期解のデータは共通データ生成部３４に送られ保持される。
２つの通信装置１にサーバ２から送られた共通データは同じものであるため、通話を求めた通信装置１と通話を求められた通信装置１は、その共通データ生成部３４で同じ初期解を持つことになる。
【００６３】
上述したように、この時点で２つの通信装置１は、サーバ２によって、通話可能な状態で接続されている。
同じ初期解を持つことになった２つの通信装置１は、この状態で、通話を開始する（Ｓ０１１）。
【００６４】
通話を行う場合、２つの通信装置１は、互いにデータの送受信を行う。通信装置１が送信側となる場合と受信側となる場合に行う処理は、それぞれ以下の通りである。
送信側の通信装置１を用いているユーザは、通信装置１のマイクロフォンに対して音声を入力する。マイクロフォンは、音声信号を生成する。音声信号は、通話機能制御部２２によって受取られる。ＣＰＵ２１の制御下で、通話機能制御部２２は、その音声信号をバス２８を介して暗号化通信部２７に送る。
音声信号は、暗号化通信部２７のインタフェイス部３１によって受付けられ、暗号化される。音声信号の暗号化は、通信要求データを暗号化した場合と同様の方法で暗号化される。一点だけ異なるのは、通信装置１で音声信号が暗号化されるときに用いられる解は、通信装置１が当初から持っていた初期解（又は、場合によってはその初期解に基づいて作られた解で上書きされた初期解）ではなく、サーバ２から送られ、共通データ生成部３４に記録された初期解であるという点である。つまり、この発明では、通信装置１で通話を行う度に、暗号化を行うときに用いる解を生成するためのいわば“種”となる初期解をサーバ２から配布することにより、通信装置１で通話を行う度にその場限りでしか使われない初期解を用いることを可能としている。したがって、この発明によって実現される通信装置１間の暗号化は安全性が非常に高い。のみならず、この発明では、暗号化通信を行う通信装置１間で必要となる２つの通信装置１間で共通の初期解をサーバ２から配布することができるため、通信装置１の数が増減した場合であっても、通信装置１間での暗号化通信を実現するのに問題は生じない。また、各通信装置１とサーバ２との間で行われる暗号化通信は、特に初期解を上書きする場合には、暗号の強度が非常に高いものとなる一方で、通信装置１の製造時或いは販売時などに当該通信装置１の初期解をサーバ２の管理者が知得することは技術的に難しくないため、通信装置１とサーバ２との間での暗号化通信を実現するにあたって困難はない。
暗号化された音声信号は、パケットに分割された状態で、ネットワーク３を介して受信側の通信装置１に送られる。
受信側の通信装置１は、その暗号化通信部２７における通信部３７によって、暗号化された音声信号を受取る。受信側の通信装置１は、受取った音声信号を復号化する。音声信号の復号化は、サーバ２から受取った初期解を復号化する場合の処理と同様の方法で行われる。一点だけ異なるのは、通信装置１で音声信号が復号化されるときに用いられる解は、通信装置１が当初から持っていた初期解（又は、場合によってはその初期解に基づいて作られた解で上書きされた初期解）ではなく、サーバ２から送られ、共通データ生成部３４に記録された初期解であるという点である。この初期解は、送られて来た音声データを暗号化する際に送信側の通信装置１が用いた初期解と同じであるから、受信側の通信装置１は、送られて来た音声データを暗号化する際に送信側の通信装置１が使用した解、アルゴリズム、鍵を、送信側の通信装置１が生成したのと同じように生成することができる。これにより、受信側の通信装置１は、音声データの復号化を行えることを保証される。
復号化された音声データは、暗号化・復号化部３３内で接続され、インタフェイス部３１に送られ、そこからバス２８を介して通話機能制御部２２に送られる。通話機能制御部２２は、それをスピーカに送り、スピーカに音声を出力させる。
このようにして、２つの通信装置１を用いてユーザは通話を行う。
【００６５】
通話を終了するには、ユーザは、通話を終了させるための所定の操作を入力装置を用いて行う。その信号が、ネットワーク３を介してサーバ２に到達すると、サーバ２は通信装置１間の接続を切断する。
これにより、通信装置１間での通話が終了する（Ｓ０１２）。
【００６６】
＜変形例１＞
以上で説明した第１実施形態では、２つの通信装置１が通信を行う場合に、暗号化部３３Ａと復号化部３３Ｂが交互に暗号化と復号化の処理を行うものとして説明した。しかしながら、１つの通信装置１の中の暗号化部３３Ａと復号化部３３Ｂが、暗号化と復号化の処理を並列して行う必要がある場合も想定できる。
このような場合には、暗号化の処理を行うのに必要な共通データと復号化の処理を行うのに必要な共通データを並列で（時間的に同時に）生成することが必要となり、また、暗号化の処理を行うのに必要なアルゴリズム及び鍵と復号化の処理を行うのに必要なアルゴリズム及び鍵をも並列で生成することが必要となる。しかしそれは、共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６がすべて１つずつしかない上述の実施形態の暗号化通信部２７では難しい。
これを解決するには、通信装置１の暗号化通信部２７内に設けられる共通データ生成部３４、アルゴリズム生成部３５、及び鍵生成部３６を、２組とすればよい。２組とされた共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６のうちの一方を暗号化部３３Ａの系列のものとして暗号化の処理のために用い、他方を復号化部３３Ｂの系列のものとして復号化の処理のために用いることで、暗号化の処理と復号化の処理を並列に行えるようになる。この場合、共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６のうちの一方は、暗号化部３３Ａに共通データ、アルゴリズム、鍵をそれぞれ供給するものとなり、他方が復号化部３３Ｂに共通データ、アルゴリズム、鍵をそれぞれ供給するものとなる。
なお、このようにする場合には、一方の通信装置１の暗号化部３３Ａと他方の通信装置１の復号化部３３Ｂが暗号化と復号化を互いに行えるように対にされ、他方の通信装置１の暗号化部３３Ａと一方の通信装置１の復号化部３３Ｂが暗号化と復号化を互いに行えるように対にされる。この場合、対にされた一方の通信装置１の暗号化部３３Ａと他方の通信装置１の復号化部３３Ｂの系列の共通データ生成部３４等で用いられる初期解と、対にされた他方の通信装置１の暗号化部３３Ａと一方の通信装置１の復号化部３３Ｂの系列の共通データ生成部３４等で用いられる初期解は、同じであっても異なるものであってもよい。もしこれら初期解が異なるのであれば、サーバ２が通信を行う２つの通信装置１に配布する初期解は、両系列で用いられる２種類の初期解となる。
【００６７】
＜変形例２＞
上述の実施形態において、通信装置１では、共通データ生成部３４が生成した共通データは、アルゴリズム生成部３５と鍵生成部３６に送られるようになっており、アルゴリズム生成部３５はアルゴリズムを、鍵生成部３６は鍵をそれぞれが受取った共通データに基づいて生成するようになっていた。また、上述のサーバ２では、共通データ生成部１３４が生成した共通データは、アルゴリズム生成部１３５と鍵生成部１３６に送られるようになっており、アルゴリズム生成部１３５はアルゴリズムを、鍵生成部１３６は鍵を、それぞれが受取った共通データに基づいて生成するようになっていた。
この点は、以下のように変形することができる。
アルゴリズムと鍵の一方を固定とする（変化させないようにする）ことができる。例えば、アルゴリズムを固定とする場合には、アルゴリズム生成部３５とアルゴリズム生成部１３５は不要になる。この場合には、共通データ生成部３４、１３４が生成した解は、鍵生成部３６、１３６にのみ送られることになる。
暗号化部３３Ａ、１３３Ａは、鍵生成部３６が生成した鍵と、例えば暗号化部３３Ａ、１３３Ａが当初から持っているアルゴリズムを用いて暗号化の処理を行う。復号化部３３Ｂ、１３３Ｂは、鍵生成部３６が生成した鍵と、例えば復号化部３３Ｂ、１３３Ｂが当初から持っているアルゴリズムを用いて復号化の処理を行う。
【符号の説明】
【００６８】
１  通信装置
２  サーバ
３  ネットワーク
３１  インタフェイス部
３２  前処理部
３３  暗号化・復号化部
３３Ａ  暗号化部
３３Ｂ  復号化部
３４  共通データ生成部
３５  アルゴリズム生成部
３６  鍵生成部
３７  通信部
１２２  初期解供給部
１３１  インタフェイス部
１３２  前処理部
１３３  暗号化・復号化部
１３３Ａ  暗号化部
１３３Ｂ  復号化部
１３４  共通データ生成部
１３５  アルゴリズム生成部
１３６  鍵生成部
１３７  通信部
【図１】
2013236397.tif 000003
【図２】
2013236397.tif 000004
【図３】
2013236397.tif 000005
【図４】
2013236397.tif 000006
【図５】
2013236397.tif 000007
【図６】
2013236397.tif 000008
【図７】
2013236397.tif 000009
【図８】
2013236397.tif 000010
【図９】
2013236397.tif 000011
【図１０】
2013236397.tif 000012