(57)【要約】      （修正有）【課題】パケット通信における認証の安全性を高める。【解決手段】パケット通信で送受信されるパケットのそれぞれに、認証用のデータを付すにあたり、そのデータを送信側装置で暗号化し暗号化データとしてからそれぞれのパケットに付する。受信側装置は、パケットを受取ったら各パケットから暗号化データを取出し、その復号化を行う。復号化を行えたときは、その暗号化データの付されていたパケットは正当であると判定し、復号化を行えなかったときはその暗号化データの付されていたパケットは不当であると判定する。【選択図】図３
2008259077.tif 000002
【特許請求の範囲】
【請求項１】
送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置と、前記送信装置から分割された前記パケットの形態で送信対象データを受信する受信装置とを含んで構成される、送受信システムであって、
前記送信装置は、
前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、
所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、
前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、
前記暗号化データと一体化された前記送信対象切断データを前記受信装置に所定の順序で送信する送信手段と、
を備えているとともに、
前記受信装置は、前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する受信手段と、
前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化データが改竄されていなければ復号化することのできる復号化手段と、
前記復号化手段で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する認証手段と、
を備えている、
送受信システム。
【請求項２】
送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置であり、
前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、
所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、
前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、
前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段と、
を備えているもの、
から、分割された前記パケットの形態で送信対象データを受信する受信装置であって、
前記受信装置は、前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する受信手段と、
前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化データが改竄されていなければ復号化することのできる復号化手段と、
前記復号化手段で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する認証手段と、
を備えている、
受信装置。
【請求項３】
前記暗号化手段は、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを、予め定められた暗号化ルールにしたがって、他の暗号化データとは異なるものとして生成するようになっており、
前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化ルールにしたがって暗号化された暗号化データを復号化するための復号化ルールにしたがって復号化することで、改竄されていなければ前記暗号化データを復号化することができるようになっている、
請求項２記載の受信装置。
【請求項４】
前記送信装置は、異なる複数の元データである送信側元データを記録する送信装置元データ記録手段と、当該送信装置元データ記録手段から、所定の順序で送信側元データを順次読出す送信装置元データ読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置元データ読出手段が前記送信装置元データ記録手段から読出した送信側元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信側元データと同じ受信側元データを記録した受信装置元データ記録手段と、当該受信装置元データ記録手段から前記送信装置元データ読出手段と同じ順序で受信側元データを順次読出す受信装置元データ読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを順次復号化して送信側元データにするようになっているとともに、前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置元データ読出手段が前記受信装置元データ記録手段から順次読出した受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するようになっている、
請求項３記載の受信装置。
【請求項５】
前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置元データ読出手段が前記受信装置元データ記録手段から順次読出した受信側元データとを比較し、それらが一致しなかった場合には、その送信側元データと、前記受信装置元データ記録手段からその次に読出した受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、その送信側元データと、前記受信装置元データ記録手段からその次に読出した受信側元データとを比較する、という処理を所定の回数繰り返すようになっている、
請求項４記載の受信装置。
【請求項６】
前記送信装置は、所定の条件下で変化する擬似乱数である送信側元データを順次発生させる送信装置擬似乱数発生手段を備えているとともに、前記暗号化手段は、前記送信装置擬似乱数発生手段が発生した送信側元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段が生成するのと同じ受信側元データを順次発生させる受信装置擬似乱数発生手段、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを順次復号化して送信側元データにするようになっているとともに、前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置擬似乱数発生手段が発生させた受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するようになっている、
請求項３記載の受信装置。
【請求項７】
前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置擬似乱数発生手段が順次発生させた受信側元データとを比較し、それらが一致しなかった場合には、その送信側元データと、受信装置擬似乱数発生手段がその次に発生させた受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、その送信側元データと、前記受信装置擬似乱数発生手段がその次に発生させた受信側元データとを比較する、という処理を所定の回数繰り返すようになっている、
請求項６記載の受信装置。
【請求項８】
前記暗号化手段は、前記元データを、所定のアルゴリズム及び所定の鍵を用いて暗号化するようになっているとともに、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを暗号化する際に用いられるアルゴリズムを、他の元データを暗号化する際に用いられるアルゴリズムと異なるものとすることで、前記暗号化データの少なくとも一つを他の暗号化データとは異なるものとして生成するようになっており、
前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化手段が用いたのと同じアルゴリズムを用いて復号化することで、改竄されていなければ前記暗号化データを復号化することができるようになっている、
請求項２記載の受信装置。
【請求項９】
前記送信装置は、異なる複数のアルゴリズムである送信側アルゴリズムを記録する送信装置アルゴリズム記録手段と、当該送信装置アルゴリズム記録手段から、所定の順序で送信側アルゴリズムを順次読出す送信装置アルゴリズム読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置アルゴリズム読出手段が前記送信装置アルゴリズム記録手段から読出した送信側アルゴリズムを用いて前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信側アルゴリズムと同じ受信側アルゴリズムを記録した受信側アルゴリズム記録手段と、当該受信側アルゴリズム記録手段から前記送信装置アルゴリズム読出手段と同じ順序で受信側アルゴリズムを順次読出す受信側アルゴリズム読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信側アルゴリズム読出手段が前記受信側アルゴリズム記録手段から順次読出した受信側アルゴリズムを用いて順次復号化して元データにするようになっている、
請求項８記載の受信装置。
【請求項１０】
前記認証手段は、前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致しなかった場合には、受信側アルゴリズム読出手段がその次に読出した受信側アルゴリズムを用いて前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、受信側アルゴリズム読出手段がその次に読出した受信側アルゴリズムを用いて前記復号化手段が復号化した元データをそれが有する元データと比較する、という処理を所定の回数繰り返すようになっている、
請求項９記載の受信装置。
【請求項１１】
前記送信装置は、所定の条件下で変化する擬似乱数を順次発生させる送信装置擬似乱数発生手段と、当該擬似乱数に基づいて異なる複数のアルゴリズムである送信側アルゴリズムを順次生成する送信装置アルゴリズム生成手段と、を備えているとともに、前記暗号化手段は、前記送信装置アルゴリズム生成手段が生成した送信側アルゴリズムによって前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段と同じ擬似乱数を発生させる受信装置擬似乱数発生手段と、前記受信装置擬似乱数発生手段が発生した前記擬似乱数に基づいて前記送信側アルゴリズムと同じアルゴリズムである受信側アルゴリズムを順次生成する受信装置アルゴリズム生成手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信装置アルゴリズム生成手段が生成した受信側アルゴリズムを順次用いて復号化することによって元データにするようになっている、
請求項８記載の受信装置。
【請求項１２】
前記認証手段は、前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致しなかった場合には、受信装置アルゴリズム生成手段がその次に生成した受信側アルゴリズムを用いて前記復号化手段が復号化した送信側元データを、それが有する元データと比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、受信装置アルゴリズム生成手段がその次に生成した受信側アルゴリズムを用いて前記復号化手段が復号化した元データを、それが有する元データと比較する、という処理を所定の回数繰り返すようになっている、
請求項１１記載の受信装置。
【請求項１３】
前記暗号化手段は、前記元データを、所定のアルゴリズム及び所定の鍵を用いて暗号化するようになっているとともに、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを暗号化する際に用いられる鍵を、他の元データを暗号化する際に用いられる鍵と異なるものとすることで、前記暗号化データの少なくとも一つを他の暗号化データとは異なるものとして生成するようになっており、
前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化手段が用いたのと同じ鍵を用いて復号化することで、改竄されていなければ前記暗号化データを復号化することができるようになっている、
請求項２記載の受信装置。
【請求項１４】
前記送信装置は、異なる複数の鍵である送信側鍵を記録する送信装置鍵記録手段と、当該送信装置鍵記録手段から、所定の順序で送信側鍵を順次読出す送信装置鍵読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置鍵読出手段が前記送信装置鍵記録手段から読出した送信側鍵を用いて前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信側鍵と同じ受信側鍵を記録した受信側鍵記録手段と、当該受信側鍵記録手段から前記送信装置鍵読出手段と同じ順序で受信側鍵を順次読出す受信側鍵読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信側鍵読出手段が前記受信側鍵記録手段から順次読出した受信側鍵を用いて順次復号化して元データにするようになっている、
請求項１３記載の受信装置。
【請求項１５】
前記認証手段は、前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致しなかった場合には、受信側鍵読出手段がその次に読出した受信側鍵を用いて前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、受信側鍵読出手段がその次に読出した受信側鍵を用いて前記復号化手段が復号化した元データをそれが有する元データと比較する、という処理を所定の回数繰り返すようになっている、
請求項１４記載の受信装置。
【請求項１６】
前記送信装置は、所定の条件下で変化する擬似乱数を順次発生させる送信装置擬似乱数発生手段と、当該擬似乱数に基づいて異なる複数の鍵である送信側鍵を順次生成する送信装置鍵生成手段と、を備えているとともに、前記暗号化手段は、前記送信装置鍵生成手段が生成した送信側鍵によって前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段と同じ擬似乱数を発生させる受信装置擬似乱数発生手段と、前記受信装置擬似乱数発生手段が発生した前記擬似乱数に基づいて前記送信側鍵と同じ鍵である受信側鍵を順次生成する受信装置鍵生成手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信装置鍵生成手段が生成した受信側鍵を順次用いて復号化することによって元データにするようになっている、
請求項１３記載の受信装置。
【請求項１７】
前記認証手段は、前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致しなかった場合には、受信装置鍵生成手段がその次に生成した受信側鍵を用いて前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、受信装置鍵生成手段がその次に生成した受信側鍵を用いて前記復号化手段が復号化した元データを、それが有する元データと比較する、という処理を所定の回数繰り返すようになっている、
請求項１６記載の受信装置。
【請求項１８】
送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置であって、
前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、
所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、
前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、
前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段と、
を備えており、当該送信装置から、分割された前記パケットの形態で送信対象データを受信する受信装置であり、前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する受信手段と、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化データが改竄されていなければ復号化することのできる復号化手段と、前記復号化手段で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する認証手段と、を備えているものと組合わせて用いられる、
送信装置。
【請求項１９】
前記暗号化手段は、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを、予め定められた暗号化ルールにしたがって、他の暗号化データとは異なるものとして生成するようになっており、
前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化ルールにしたがって暗号化された暗号化データを復号化するための復号化ルールにしたがって復号化することで、改竄されていなければ前記暗号化データを復号化することができるようになっている、
請求項１８記載の送信装置。
【請求項２０】
前記送信装置は、異なる複数の元データである送信側元データを記録する送信装置元データ記録手段と、当該送信装置元データ記録手段から、所定の順序で送信側元データを順次読出す送信装置元データ読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置元データ読出手段が前記送信装置元データ記録手段から読出した送信側元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信側元データと同じ受信側元データを記録した受信装置元データ記録手段と、当該受信装置元データ記録手段から前記送信装置元データ読出手段と同じ順序で受信側元データを順次読出す受信装置元データ読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを順次復号化して送信側元データにするようになっているとともに、前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置元データ読出手段が前記受信装置元データ記録手段から順次読出した受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するようになっている、
請求項１９記載の送信装置。
【請求項２１】
前記送信装置は、所定の条件下で変化する擬似乱数である送信側元データを順次発生させる送信装置擬似乱数発生手段を備えているとともに、前記暗号化手段は、前記送信装置擬似乱数発生手段が発生した送信側元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段が生成するのと同じ受信側元データを順次発生させる受信装置擬似乱数発生手段、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを順次復号化して送信側元データにするようになっているとともに、前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置擬似乱数発生手段が発生させた受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するようになっている、
請求項１９記載の送信装置。
【請求項２２】
前記暗号化手段は、前記元データを、所定のアルゴリズム及び所定の鍵を用いて暗号化するようになっているとともに、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを暗号化する際に用いられるアルゴリズムを、他の元データを暗号化する際に用いられるアルゴリズムと異なるものとすることで、前記暗号化データの少なくとも一つを他の暗号化データとは異なるものとして生成するようになっており、
前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化手段が用いたのと同じアルゴリズムを用いて復号化することで、改竄されていなければ前記暗号化データを復号化することができるようになっている、
請求項１８記載の送信装置。
【請求項２３】
前記送信装置は、異なる複数のアルゴリズムである送信側アルゴリズムを記録する送信装置アルゴリズム記録手段と、当該送信装置アルゴリズム記録手段から、所定の順序で送信側アルゴリズムを順次読出す送信装置アルゴリズム読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置アルゴリズム読出手段が前記送信装置アルゴリズム記録手段から読出した送信側アルゴリズムを用いて前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信側アルゴリズムと同じ受信側アルゴリズムを記録した受信側アルゴリズム記録手段と、当該受信側アルゴリズム記録手段から前記送信装置アルゴリズム読出手段と同じ順序で受信側アルゴリズムを順次読出す受信側アルゴリズム読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信側アルゴリズム読出手段が前記受信側アルゴリズム記録手段から順次読出した受信側アルゴリズムを用いて順次復号化して元データにするようになっている、
請求項２２記載の送信装置。
【請求項２４】
前記送信装置は、所定の条件下で変化する擬似乱数を順次発生させる送信装置擬似乱数発生手段と、当該擬似乱数に基づいて異なる複数のアルゴリズムである送信側アルゴリズムを順次生成する送信装置アルゴリズム生成手段と、を備えているとともに、前記暗号化手段は、前記送信装置アルゴリズム生成手段が生成した送信側アルゴリズムによって前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段と同じ擬似乱数を発生させる受信装置擬似乱数発生手段と、前記受信装置擬似乱数発生手段が発生した前記擬似乱数に基づいて前記送信側アルゴリズムと同じアルゴリズムである受信側アルゴリズムを順次生成する受信装置アルゴリズム生成手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信装置アルゴリズム生成手段が生成した受信側アルゴリズムを順次用いて復号化することによって元データにするようになっている、
請求項２２記載の送信装置。
【請求項２５】
前記暗号化手段は、前記元データを、所定のアルゴリズム及び所定の鍵を用いて暗号化するようになっているとともに、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを暗号化する際に用いられる鍵を、他の元データを暗号化する際に用いられる鍵と異なるものとすることで、前記暗号化データの少なくとも一つを他の暗号化データとは異なるものとして生成するようになっており、
前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化手段が用いたのと同じ鍵を用いて復号化することで、改竄されていなければ前記暗号化データを復号化することができるようになっている、
請求項１８記載の送信装置。
【請求項２６】
前記送信装置は、異なる複数の鍵である送信側鍵を記録する送信装置鍵記録手段と、当該送信装置鍵記録手段から、所定の順序で送信側鍵を順次読出す送信装置鍵読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置鍵読出手段が前記送信装置鍵記録手段から読出した送信側鍵を用いて前記元データ順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信側鍵と同じ受信側鍵を記録した受信側鍵記録手段と、当該受信側鍵記録手段から前記送信装置鍵読出手段と同じ順序で受信側鍵を順次読出す受信側鍵読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信側鍵読出手段が前記受信側鍵記録手段から順次読出した受信側鍵を用いて順次復号化して送信側元データにするようになっている、
請求項２５記載の送信装置。
【請求項２７】
前記送信装置は、所定の条件下で変化する擬似乱数を順次発生させる送信装置擬似乱数発生手段と、当該擬似乱数に基づいて異なる複数の鍵である送信側鍵を順次生成する送信装置鍵生成手段と、を備えているとともに、前記暗号化手段は、前記送信装置鍵生成手段が生成した送信側鍵によって前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっており、
前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段と同じ擬似乱数を発生させる受信装置擬似乱数発生手段と、前記受信装置擬似乱数発生手段が発生した前記擬似乱数に基づいて前記送信側鍵と同じ鍵である受信側鍵を順次生成する受信装置鍵生成手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信装置鍵生成手段が生成した受信側鍵を順次用いて復号化することによって元データにするようになっている、
請求項２５記載の送信装置。
【請求項２８】
送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置であり、
前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、
所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、
前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、
前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段と、
を備えているもの、
から、分割された前記パケットの形態で送信対象データを受信する受信装置が実行する方法であって、
前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する過程と、
前記送信対象切断データのそれぞれから取出した前記暗号化データを、順次復号化する過程と、
前記暗号化データを復号化する前記過程で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する過程と、
を含んでいる、
方法。
【請求項２９】
送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置にて実行される方法であって、
前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする過程と、
所定の元データを暗号化することにより暗号化データを生成する過程と、
前記暗号化データを前記送信対象切断データのそれぞれに一体化させる過程と、
前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する過程と、
を含んでいる、
方法。
【請求項３０】
送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置であり、
前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、
所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、
前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、
前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段と、
を備えているもの、
から、分割された前記パケットの形態で送信対象データを受信する受信装置としてコンピュータを機能させるためのプログラムであって、
前記プログラムは、前記コンピュータを、
前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する受信手段、
前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化データが改竄されていなければ復号化することのできる復号化手段、
前記復号化手段で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する認証手段、
として機能させるためのものとなっている、
プログラム。
【請求項３１】
コンピュータを、送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置として機能させるためのプログラムであって、
前記プログラムは、前記コンピュータを、
前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段、
所定の元データを暗号化することにより暗号化データを生成する暗号化手段、
前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段、
前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段、
として機能させるためのものとなっている、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットを用いてデータを送受信するための技術に関する。
【背景技術】
【０００２】
例えば、電子メールや、ＩＰ電話などの分野で、データをパケットに分割して送受信するという技術が広く用いられている。
パケットに分割してデータを送る場合、送信装置と受信装置の間で、互いに相手方の装置が正しい装置であるか否かについての認証が行われる。相手方の装置が正しい装置でない場合には、パケットに分割して送受信されるデータが漏洩するおそれがあり、また、ウィルスなどの不正なデータが受信装置に送り込まれる危険性があるからである。
【０００３】
現在行われている認証は、送信装置と受信装置とが共通のデータを持つか、送信装置と受信装置との間で取決めを行っておき、送信装置が特定の認証用のデータを、例えばパケットのヘッダに含めて受信装置に送ることにより行っている。受信装置が送信装置から受取った認証用のデータが、受信装置が持っているデータか、又は受信装置が送信装置と取決めておいたデータと同じであれば、受信装置はその送信装置を適正なものだと取扱う。
多くの場合、このような認証は、例えばデータの送受信が開始される前に、１回だけ行われる。他方、認証の安全性をより高めるため、パケットのそれぞれの例えばヘッダに、認証用のデータを混入させておくことによりパケットのそれぞれについて認証を行うことも行われている。
しかしながら、いずれの場合でも、認証の安全性が十分とはいえない場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
今まで行われている認証では、認証用のデータを生のまま（暗号化しないまま）で受信装置に送る。したがって、送信装置から受信装置に送られている途中などに、認証用のデータを第三者に盗まれると、第三者による送信装置のなり済ましは簡単に実現できる。このことは、認証が、データの送受信の際に１回だけ行われるにせよ、パケットのそれぞれについて行われるにせよ同じである。パケットのそれぞれについて認証を行う場合にはデータの送受信の際に一回だけパケットを送る場合よりも認証の安全性が高いが、認証用のデータが１種類しかないのであれば、事情は変わらない。
【０００５】
他方、認証用のデータが暗号化されていれば、暗号化された状態で認証用のデータを盗まれたとしても、それが解析され、元のデータが判明しない限りなり済ましを行われるおそれは小さい。
本発明は、このような思想に基づくものであり、パケット通信を行う際の認証の安全性を高める技術を提供することをその課題とする。
【課題を解決するための手段】
【０００６】
かかる課題を解決するため、本願発明者は、以下に説明する発明を提案する。
【０００７】
本願は、送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置と、前記送信装置から分割された前記パケットの形態で送信対象データを受信する受信装置とを含んで構成される、送受信システムを提案する。
前記送信装置は、前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、前記暗号化データと一体化された前記送信対象切断データを前記受信装置に所定の順序で送信する送信手段と、を備えている。また、前記受信装置は、前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する受信手段と、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化データが改竄されていなければ復号化することのできる復号化手段と、前記復号化手段で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する認証手段と、を備えている。
この送受信システムにおける送信装置は、認証のために用いられる元データを送信対象切断データ（これがパケットに相当する。）のそれぞれに一体化させる。しかも、送信装置は、元データを暗号化することにより暗号化データとしてから、それを送信対象切断データのそれぞれに一体化させる。他方、受信装置では、送信対象切断データのそれぞれに一体化されていた暗号化データの復号化を試み、それを行えた場合にはその暗号化データと一体化されていた送信対象切断データが正当なものであると判定する。
このような仕組みにより認証を行う本願の送受信システムは、送信対象切断データのそれぞれ（つまり、パケットのそれぞれ）について認証を行うものであるから認証の安全性が高いものであるとともに、認証に用いる元データを暗号化して送信装置から受信装置へ送るものとされて、元データの漏洩の可能性が低いため、その安全性が更に高いものとなっている。なお、本願発明は、受信側で認証を行えた場合には、送信装置と受信装置で、送信対象切断データの送受信に関する同期が取れている状態となる。
本願においては、元データを暗号化して生成される暗号化データは、送信対象切断データと一体化されていればよく、例えば送信対象切断データに埋め込まれていてもよいし、或いは送信対象切断データのヘッダに含められてもよい。
【０００８】
上述の送受信システムに用いられる受信装置は、例えば以下のようなものである。
その受信装置は、送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置であり、前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段と、を備えているものから、分割された前記パケットの形態で送信対象データを受信するものとされる。
そして、この受信装置は、前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する受信手段と、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化データが改竄されていなければ復号化することのできる復号化手段と、前記復号化手段で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する認証手段と、を備えている。
上述の送受信システムに用いられる送信装置は、例えば以下のようなものである。
その送信装置は、送信の対象となる送信対象データを複数のパケットに分割して送信するものとされる。
そして、その送信装置は、前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段と、を備えている。この送信装置は、当該送信装置から、分割された前記パケットの形態で送信対象データを受信する受信装置であり、前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する受信手段と、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化データが改竄されていなければ復号化することのできる復号化手段と、前記復号化手段で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する認証手段と、を備えているものと組合わせて用いられる。
【０００９】
送信装置の前記暗号化手段は、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを、予め定められた暗号化ルールにしたがって、他の暗号化データとは異なるものとして生成するようになっていてもよい。その場合、受信装置の前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化ルールにしたがって暗号化された暗号化データを復号化するための復号化ルールにしたがって復号化することで、改竄されていなければ前記暗号化データを復号化することができるようになっているものとすることができる。送信装置、受信装置をこのようなものとすれば、各送信対象切断データと一体化される暗号化データの少なくとも一つを他の暗号化データと異なるものとすることができるので、認証の安全性を高められる。暗号化データを異なるものとするには、大雑把に分けて、元データの少なくとも一つを他の元データとは異なるものとする方法と、元データの少なくとも一つに対する暗号化の仕方を他の元データの暗号化の仕方と変える（この場合、元データはすべて同じでもよい。）方法とがある。
【００１０】
元データの少なくとも一つを他の元データとは異なるものとする方法は、例えば以下のような送信装置と受信装置を採用することで実現することができる。
例えば、前記送信装置は、異なる複数の元データである送信側元データを記録する送信装置元データ記録手段と、当該送信装置元データ記録手段から、所定の順序で送信側元データを順次読出す送信装置元データ読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置元データ読出手段が前記送信装置元データ記録手段から読出した送信側元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっていてもよい。この場合、前記受信装置は、前記送信側元データと同じ受信側元データを記録した受信装置元データ記録手段と、当該受信装置元データ記録手段から前記送信装置元データ読出手段と同じ順序で受信側元データを順次読出す受信装置元データ読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを順次復号化して送信側元データにするようになっているとともに、前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置元データ読出手段が前記受信装置元データ記録手段から順次読出した受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するようになっているものとすることができる。
このような送信装置と受信装置を採用した場合、前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置元データ読出手段が前記受信装置元データ記録手段から順次読出した受信側元データとを比較し、それらが一致しなかった場合には、その送信側元データと、前記受信装置元データ記録手段からその次に読出した受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、その送信側元データと、前記受信装置元データ記録手段からその次に読出した受信側元データとを比較する、という処理を所定の回数繰り返すようになっているものとすることができる。前記復号化手段が復号化した送信側元データと、前記受信装置元データ読出手段が前記受信装置元データ記録手段から順次読出した受信側元データとが一致しなかった場合、その暗号化データの一体化されていた送信対象切断データは不正なものである可能性がある。他方、パケット通信の場合には、送信の途中でパケットが紛失することが多いので、受信側元データと一致しなかった送信側元データは、予定されていた送信側元データの次（或いは、その幾つか後）の送信側元データである場合がある。このような場合、受信側元データと一致しなかった送信側元データを不正なものと判断して直ちに捨ててしまうのは適当でない。上述の如き認証手段を用いれば、受信側元データと一致しなかった送信側元データを、次の受信側元データと比較する、或いはその受信側元データとも一致しなかった場合にはその次の受信側元データと比較する、という処理を連続して行えるようになる。このような処理を認証手段が行う場合、受信側元データと送信側元データが一致しなかった原因がパケットの抜け落ちによるのであれば、幾つか後の受信側元データと送信側元データが一致するはずである。したがって、上述の認証手段を用いることにより、受信装置が受取ったパケットにおいて生じたパケットの紛失の有無を受信装置が管理できるようになる。
元データの少なくとも一つを他の元データとは異なるものとする方法を実行する場合、前記送信装置は、所定の条件下で変化する擬似乱数である送信側元データを順次発生させる送信装置擬似乱数発生手段を備えているとともに、前記暗号化手段は、前記送信装置擬似乱数発生手段が発生した送信側元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっていてもよい。この場合、前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段が生成するのと同じ受信側元データを順次発生させる受信装置擬似乱数発生手段を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを順次復号化して送信側元データにするようになっているとともに、前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置擬似乱数発生手段が発生させた受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するようになっているものとすることができる。同じ擬似乱数を送信装置と受信装置で発生させることにより、認証の安全性がより高められる。
このような送信装置と受信装置を採用した場合、前記認証手段は、前記復号化手段が復号化した送信側元データと、前記受信装置擬似乱数発生手段が順次発生させた受信側元データとを比較し、それらが一致しなかった場合には、その送信側元データと、受信装置擬似乱数発生手段がその次に発生させた受信側元データとを比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、その送信側元データと、前記受信装置擬似乱数発生手段がその次に発生させた受信側元データとを比較する、という処理を所定の回数繰り返すようにすることができる。このような認証手段を採用することにより、受信装置が受取ったパケットにおいて生じたパケットの紛失の有無を受信装置が管理できるようになる。
【００１１】
元データの少なくとも一つに対する暗号化の仕方を他の元データの暗号化の仕方と変える方法は、例えば以下のような送信装置と受信装置を採用することで実現することができる。なお、暗号化の仕方を変える方法は、暗号化に用いるアルゴリズムを変化させる場合と、暗号化に用いる鍵を変化させる場合の２通りに大別される。また、以下に説明する発明では、アルゴリズム又は鍵のみならず、元データをも変化させることができる。
アルゴリズムを変化させる場合には、例えば、前記暗号化手段は、前記元データを、所定のアルゴリズム及び所定の鍵を用いて暗号化するようになっているとともに、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを暗号化する際に用いられるアルゴリズムを、他の元データを暗号化する際に用いられるアルゴリズムと異なるものとすることで、前記暗号化データの少なくとも一つを他の暗号化データとは異なるものとして生成するようになっていてもよい。この場合、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化手段が用いたのと同じアルゴリズムを用いて復号化することで、改竄されていなければ前記暗号化データを復号化することができるようなものとすることができる。
アルゴリズムを変化させる場合、前記送信装置は、異なる複数のアルゴリズムである送信側アルゴリズムを記録する送信装置アルゴリズム記録手段と、当該送信装置アルゴリズム記録手段から、所定の順序で送信側アルゴリズムを順次読出す送信装置アルゴリズム読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置アルゴリズム読出手段が前記送信装置アルゴリズム記録手段から読出した送信側アルゴリズムを用いて前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっていてもよい。この場合、前記受信装置は、前記送信側アルゴリズムと同じ受信側アルゴリズムを記録した受信側アルゴリズム記録手段と、当該受信側アルゴリズム記録手段から前記送信装置アルゴリズム読出手段と同じ順序で受信側アルゴリズムを順次読出す受信側アルゴリズム読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信側アルゴリズム読出手段が前記受信側アルゴリズム記録手段から順次読出した受信側アルゴリズムを用いて順次復号化して元データにするようになっているものとすることができる。
このような送信装置と受信装置を採用した場合、前記認証手段は、前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致しなかった場合には、受信側アルゴリズム読出手段がその次に読出した受信側アルゴリズムを用いて前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、受信側アルゴリズム読出手段がその次に読出した受信側アルゴリズムを用いて前記復号化手段が復号化した送信側元データをそれが有する元データと比較する、という処理を所定の回数繰り返すようにすることができる。このような認証手段を採用することにより、受信装置が受取ったパケットにおいて生じたパケットの紛失の有無を受信装置が管理できるようになる。
アルゴリズムを変化させる場合、前記送信装置は、所定の条件下で変化する擬似乱数を順次発生させる送信装置擬似乱数発生手段と、当該擬似乱数に基づいて異なる複数のアルゴリズムである送信側アルゴリズムを順次生成する送信装置アルゴリズム生成手段と、を備えているとともに、前記暗号化手段は、前記送信装置アルゴリズム生成手段が生成した送信側アルゴリズムによって前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっていてもよい。この場合、前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段と同じ擬似乱数を発生させる受信装置擬似乱数発生手段と、前記受信装置擬似乱数発生手段が発生した前記擬似乱数に基づいて前記送信側アルゴリズムと同じアルゴリズムである受信側アルゴリズムを順次生成する受信装置アルゴリズム生成手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信装置アルゴリズム生成手段が生成した受信側アルゴリズムを順次用いて復号化することによって元データにするようになっているものとすることができる。
このような送信装置と受信装置を採用した場合、前記認証手段は、前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致しなかった場合には、受信装置アルゴリズム生成手段がその次に生成した受信側アルゴリズムを用いて前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、受信装置アルゴリズム生成手段がその次に生成した受信側アルゴリズムを用いて前記復号化手段が復号化した元データを、それが有する元データと比較する、という処理を所定の回数繰り返すようにすることができる。このような認証手段を採用することにより、受信装置が受取ったパケットにおいて生じたパケットの紛失の有無を受信装置が管理できるようになる。
鍵を変化させる場合には、例えば、前記暗号化手段は、前記元データを、所定のアルゴリズム及び所定の鍵を用いて暗号化するようになっているとともに、前記多数の送信対象切断データに一体化させる暗号化データの少なくとも一つを暗号化する際に用いられる鍵を、他の元データを暗号化する際に用いられる鍵と異なるものとすることで、前記暗号化データの少なくとも一つを他の暗号化データとは異なるものとして生成するようにすることができる。この場合、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化手段が用いたのと同じ鍵を用いて復号化することで、改竄されていなければ前記暗号化データを復号化することができるようになっているものとすることができる。
鍵を変化させる場合、前記送信装置は、異なる複数の鍵である送信側鍵を記録する送信装置鍵記録手段と、当該送信装置鍵記録手段から、所定の順序で送信側鍵を順次読出す送信装置鍵読出手段と、を備えているとともに、前記暗号化手段は、前記送信装置鍵読出手段が前記送信装置鍵記録手段から読出した送信側鍵を用いて前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっていてもよい。この場合、前記受信装置は、前記送信側鍵と同じ受信側鍵を記録した受信側鍵記録手段と、当該受信側鍵記録手段から前記送信装置鍵読出手段と同じ順序で受信側鍵を順次読出す受信側鍵読出手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信側鍵読出手段が前記受信側鍵記録手段から順次読出した受信側鍵を用いて順次復号化して元データにするようになっているものとすることができる。
このような送信装置と受信装置を採用した場合、前記認証手段は、前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致しなかった場合には、受信側鍵読出手段がその次に読出した受信側鍵を用いて前記復号化手段が復号化した送信側元データを、それが有する元データと比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、受信側鍵読出手段がその次に読出した受信側鍵を用いて前記復号化手段が復号化した送信側元データをそれが有する元データと比較する、という処理を所定の回数繰り返すようにすることができる。このような認証手段を採用することにより、受信装置が受取ったパケットにおいて生じたパケットの紛失の有無を受信装置が管理できるようになる。
鍵を変化させる場合、前記送信装置は、所定の条件下で変化する擬似乱数を順次発生させる送信装置擬似乱数発生手段と、当該擬似乱数に基づいて異なる複数の鍵である送信側鍵を順次生成する送信装置鍵生成手段と、を備えているとともに、前記暗号化手段は、前記送信装置鍵生成手段が生成した送信側鍵によって前記元データを順に暗号化して暗号化データとすることにより、前記暗号化データの少なくとも一つを、他の暗号化データとは異なるものとして生成するようになっていてもよい。この場合、前記受信装置は、前記送信装置擬似乱数発生手段と同じ順序で前記送信装置擬似乱数発生手段と同じ擬似乱数を発生させる受信装置擬似乱数発生手段と、前記受信装置擬似乱数発生手段が発生した前記擬似乱数に基づいて前記送信側鍵と同じ鍵である受信側鍵を順次生成する受信装置鍵生成手段と、を備えているとともに、前記復号化手段は、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記受信装置鍵生成手段が生成した受信側鍵を順次用いて復号化することによって送信側元データにするようなものとすることができる。
このような送信装置と受信装置を採用した場合、前記認証手段は、前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致しなかった場合には、受信装置鍵生成手段がその次に生成した受信側鍵を用いて前記復号化手段が復号化した元データを、それが有する元データと比較し、それらが一致した場合には、前記復号化手段で前記暗号化データを復号化することができたと判断するとともに、それらが一致しなかった場合には、受信装置鍵生成手段がその次に生成した受信側鍵を用いて前記復号化手段が復号化した元データを、それが有する元データと比較する、という処理を所定の回数繰り返すようにすることができる。このような認証手段を採用することにより、受信装置が受取ったパケットにおいて生じたパケットの紛失の有無を受信装置が管理できるようになる。
【００１２】
本願は、送信装置、受信装置で実行される以下の方法をも提供する。これら方法も、本願発明の課題を解決するに有用である。
本願が提案する方法は、例えば、送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置であり、前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段と、を備えているもの、から、分割された前記パケットの形態で送信対象データを受信する受信装置が実行する方法である。
この方法には、受信装置が実行する、以下の過程が含まれる。その過程は、前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する過程と、前記送信対象切断データのそれぞれから取出した前記暗号化データを、順次復号化する過程と、前記暗号化データを復号化する前記過程で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する過程である。
本願は、また、送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置にて実行される方法を提案する。この方法は、送信装置が実行する以下の過程を含む。その過程は、前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする過程と、所定の元データを暗号化することにより暗号化データを生成する過程と、前記暗号化データを前記送信対象切断データのそれぞれに一体化させる過程と、前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する過程である。
【００１３】
本願は、また、以下のプログラムを提案する。これらプログラムは、一般的なコンピュータ（例えば、パーソナルコンピュータや携帯電話）を、本願発明の送信装置、又は受信装置として機能させるためのものである。
コンピュータを受信装置として機能させるためのプログラムは、例えば、送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置であり、前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段と、所定の元データを暗号化することにより暗号化データを生成する暗号化手段と、前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段と、前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段と、を備えているものから、分割された前記パケットの形態で送信対象データを受信する受信装置としてコンピュータを機能させるためのプログラムである。
そして、このプログラムは、前記コンピュータを、前記暗号化データと一体化された前記送信対象切断データを前記送信装置が送信した順序で受信する受信手段、前記送信対象切断データのそれぞれから取出した前記暗号化データを、前記暗号化データが改竄されていなければ復号化することのできる復号化手段、前記復号化手段で前記暗号化データを復号化することができた場合には、復号化できたその暗号化データと一体化されていた前記送信対象切断データが正当なものであると判断する認証手段、として機能させるためのものとなっている。
コンピュータを送信装置として機能させるためのプログラムは、例えば、コンピュータを、送信の対象となる送信対象データを複数のパケットに分割して送信する送信装置として機能させるためのプログラムとされる。このプログラムは、前記コンピュータを、前記送信対象データを所定のビット数毎に切断して多数の送信対象切断データにする切断手段、所定の元データを暗号化することにより暗号化データを生成する暗号化手段、前記暗号化データを前記送信対象切断データのそれぞれに一体化させる一体化手段、前記暗号化データと一体化された前記送信対象切断データを所定の順序で送信する送信手段、として機能させるためのものとなっている。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の第１〜第４実施形態について説明する。
なお、各実施形態の説明では、共通する対象には共通の符号を用いるものとし、重複する説明は場合により省略するものとする。
【００１５】
≪第１実施形態≫
この実施形態による送受信システムは、概略で図１に示したように構成される。送受信システムは、ネットワーク１３を介して互いに接続された第１通信装置１１、及び第２通信装置１２を含んでいる。第１通信装置１１と第２通信装置１２は、互いに通信、より詳細にはパケット通信を行う。
第１通信装置１１と第２通信装置１２を接続するネットワーク１３は、例えばインターネットである。
【００１６】
第１通信装置１１、第２通信装置１２の構成を説明する。なお、第１通信装置１１と第２通信装置１２は、この実施形態では同様の構成となっているので、代表して第１通信装置１１の構成のみを説明することにする。なお、ネットワーク１３には、第１通信装置１１、第２通信装置１２と同様に構成された多数の通信装置が接続されているが、それらについての説明も省略する。
この実施形態では、第１通信装置１１は、パケットによる電子メールの送受信が可能なパーソナルコンピュータである。もっとも、第１通信装置１１と第２通信装置１２は、必ずしもそのようなパーソナルコンピュータである必要はなく、パケットによる通信を行うような装置であれば足りる。例えば、第１通信装置１１と第２通信装置１２は、パケットによるデータ通信又は音声通信を行う携帯電話であってもよいし、ＩＰ電話であってもよい。
なお、この実施形態では、第１通信装置１１と第２通信装置１２はともに、本願でいう送信装置となる場合もあれば、本願で言う受信装置となる場合もある。そして、第１通信装置１１と第２通信装置１２は、送信装置として機能しているときと受信装置として機能しているときで、異なる機能を奏することとなる。以下の説明では、第１通信装置１１又は第２通信装置１２が送信装置として機能しているときを「送信時」、受信装置として機能しているときを「受信時」と表現することにする。
【００１７】
第１通信装置１１のハードウエア構成を図２に示す。
第１通信装置１１は、この実施形態では、ＣＰＵ（central processing unit）２１、ＲＯＭ（read only memory）２２、ＨＤＤ（hard disk drive）２３、ＲＡＭ（random access memory）２４、入力装置２５、表示装置２６、通信装置２７、及びバス２８を含む構成とされている。ＣＰＵ２１、ＲＯＭ２２、ＨＤＤ２３、ＲＡＭ２４、入力装置２５、表示装置２６、通信装置２７は、バス２８を介してデータの交換が可能とされている。
ＲＯＭ２２、あるいはＨＤＤ２３には、所定のプログラムやそのプログラムを実行するために必要なデータ等が記録されている。ＣＰＵ２１は、第１通信装置１１全体の制御を行うものであり、ＲＯＭ２２、あるいはＨＤＤ２３に記憶されたプログラムやデータに基づいて、後述する処理を実行するものである。ＨＤＤ２３には、通信の対象となる電子メールのデータ（本願における送信対象データに相当する。）も記録される。ＲＡＭ２４は、ＣＰＵ２１が後述する処理を行う際の作業用記憶領域として用いられる。
入力装置２５は、キーボード、マウス等により構成されており、電子メールの内容の入力、相手方の電子メールアドレスの入力、電子メールの送受信の操作などのために用いられるものとなっている。表示装置２６は、例えばＬＣＤ（liquid crystal display）により構成されている。表示装置２６は、電子メールの内容の表示や、電子メールの送受信状態の表示等を行う。
通信装置２７は、ネットワーク１３を介しての第２通信装置１２との通信を実行するものである。なお、第２通信装置１２の通信装置２７は、ネットワーク１３を介しての第１通信装置１１との通信を実行する。
【００１８】
次に、通信装置２７の構成について説明する。図３に、通信装置２７のブロック構成図を示す。
通信装置２７は、インタフェイス部３１、前処理部３２、暗号化・復号化部３３、共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６、通信部３７、ヘッダ生成部３８、及び接続部３９から構成される。
【００１９】
インタフェイス部３１は、バス２８と通信装置２７との間におけるデータのやりとりを行うものである。
送信時において、インタフェイス部３１は以下のように機能する。インタフェイス部３１は、バス２８から受付けた電子メールのデータを前処理部３２に送るようになっている。インタフェイス部３１は、また、電子メールのデータをバス２８から受付けると、その旨を、共通データ生成部３４に通知するようになっている。
他方、インタフェイス部３１は、受信時には、以下のように機能する。インタフェイス部３１は、第２通信装置１２からネットワーク１３を介して受付けた電子メールのデータ（第２通信装置１２から受付けた状態では、電子メールのデータはパケットの羅列とされている。この実施形態におけるパケットは、本願における送信対象切断データに相当する。）であって後述のように処理されたものを、バス２８に送る機能を有している。
【００２０】
送信時において、前処理部３２は、インタフェイス部３１を介してバス２８から受取った電子メールのデータを所定のビット数毎に切断してパケットとする。前処理部３２は、生成したパケットを、接続部３９に送るようになっている。
受信時において、前処理部３２は、また、相手方の通信装置から受付けた電子メールのデータを構成するパケットのそれぞれに付された後述するヘッダから、後述する暗号化データを取出す。取出された暗号化データは、前処理部３２から、暗号化・復号化部３３へ送られるようになっている。受信時における前処理部３２は、また、パケットの羅列により形成された電子メールのデータを、暗号化・復号化部３３に送るようになっている。前処理部３２は、また、相手方の通信装置から電子メールのデータを受付けた場合には、その旨を共通データ生成部３４に通知するようになっている。
【００２１】
共通データ生成部３４は、第１通信装置１１と第２通信装置１２で共通するデータである共通データを順次生成するものである。共通データ生成部３４は、送信時においては、電子メールのデータを受取った旨の通知をインタフェイス部３１から受取った場合に、受信時においては電子メールのデータを受取った旨の通知を前処理部３２から受取った場合に共通データの生成を開始する。
この実施形態における、第１通信装置１１と第２通信装置１２における共通データ生成部３４は、同じ順番の共通データが同じものになるようにして、順次共通データを発生させるようになっている。また、この実施形態における共通データは、例えば、１、２、３…などと連続する数字などでもよいが、この実施形態では、必ずしもそうである必要はないが擬似乱数となるようにされている。生成された共通データは、送信時の場合も、受信時の場合も同じく、前処理部３２と、暗号化・復号化部３３と、アルゴリズム生成部３５と、鍵生成部３６とに送られるようになっている。
なお、擬似乱数である共通データの生成の仕方の詳細については後述する。
【００２２】
暗号化・復号化部３３は、送信時においては、共通データ生成部３４から受付けた共通データを暗号化して暗号化データにし、受信時においては、前処理部３２から受付けた暗号化データを復号化して共通データに戻す機能を有している。また、暗号化・復号化部３３は、後述するような認証を行う機能を有している。
暗号化・復号化部３３は、図４に示すように暗号化部３３Ａ、復号化部３３Ｂ、認証部３３Ｃを備えており、これらがそれぞれ、上述した３つの処理、即ち、共通データを暗号化する処理、暗号化データを復号化する処理、及び認証を行う処理を実行するようになっている。
暗号化部３３Ａが共通データを暗号化して生成した暗号化データは、ヘッダ生成部３８に送られるようになっている。
復号化部３３Ｂが暗号化データを復号化して生成した共通データは、認証部３３Ｃに送られるようになっている。認証部３３Ｃは、認証を行う場合に暗号化データから生成された共通データを用いる。また、認証部３３Ｃは、受信時においては、第２通信装置１２から受取ったパケットの羅列とされた電子メールのデータを前処理部３２から受付けるようになっている。認証部３３Ｃは、パケットのそれぞれについての認証を行うのであるが、その認証の処理の詳細については後述することとする。
暗号化・復号化部３３の暗号化部３３Ａと復号化部３３Ｂはともに、暗号化又は復号化の処理を行う際に、アルゴリズムと鍵を用いる。そのアルゴリズムと鍵を暗号化・復号化部３３に供給するのが、アルゴリズム生成部３５と、鍵生成部３６である。
【００２３】
アルゴリズム生成部３５は、共通データ生成部３４から受付けた共通データに基づいてアルゴリズムを生成するものである。生成されたアルゴリズムは、アルゴリズム生成部３５から、暗号化・復号化部３３に送られるようになっている。
鍵生成部３６は、共通データ生成部３４から受付けた共通データに基づいて鍵を生成するものである。鍵は、鍵生成部３６から、暗号化・復号化部３３に送られるようになっている。
アルゴリズム生成部３５、鍵生成部３６はともに、共通データ生成部３４から共通データを受付けるたびに、アルゴリズム又は鍵を生成するようになっている。アルゴリズムと鍵の生成の仕方の詳細については後述する。
【００２４】
ヘッダ生成部３８は、送信時にのみ機能するものであり、パケットのそれぞれに付すヘッダのデータを生成するものである。ヘッダには、例えば、送信元の情報、送信先の情報、そのヘッダが付されたパケットに含まれるデータの量等の一般的に必要な情報が含まれているとともに、暗号化部３３Ａから受取った暗号化データが含まれている。ヘッダ生成部３８は、生成したヘッダのデータを、接続部３９に送るようになっている。
接続部３９は、送信時にのみ機能するものであり、前処理部３２から送られて来たパケットのそれぞれの先頭に、ヘッダ生成部３８で生成されたヘッダを一体化させる。これにより、パケットのそれぞれに、暗号化データが一体化されることになる。なお、暗号化データは、必ずしもヘッダに含めた状態でパケットに一体化する必要はなく、パケット自体の適当な部分に埋め込むようにしてもよい。その場合には、例えば、暗号化部３３Ａから接続部３９に暗号化データを送り、ヘッダとパケットを接続する際に接続部３９が、パケット自体の適当な部分に暗号化データを埋め込むように、暗号化部３３Ａ、接続部３９を構成することができる。
【００２５】
通信部３７は、ネットワーク１３との間でデータのやり取りを行うものである。
送信時において、通信部３７は、ヘッダを付されたパケットの羅列とされた電子メールのデータを接続部３９から受付け、それをネットワーク１３を介して第２通信装置１２に送る。なお、第２通信装置１２の通信部３７は、送信時において、電子メールのデータを第２通信装置１１に送る。
受信時において、通信部３７は、第２通信装置１２からのパケットに分割された電子メールのデータをネットワーク１３を介して受付ける。この暗号化データは、通信部３７から前処理部３２に送られることになる。
【００２６】
次に、この送受信システムで行われる処理の流れについて説明する。
図５を用いて概略で説明すると、この送受信システムで行われる処理の流れは以下のとおりである。
まず、送信時の処理について、図５を用いて説明する。
送信時には、まず、第１通信装置１１が電子メールのデータを生成する（Ｓ１１０）。電子メールのデータの生成は、第１通信装置１１のユーザが入力装置２５を操作することにより行う。入力装置２５からの入力を受付けた、ＣＰＵ２１が電子メールのデータを生成する。生成された電子メールのデータは、作業領域であるＲＡＭ２４から、或いは一旦ＨＤＤ２３に記録されてから、入力装置２５からの入力にしたがって、バス２８を介して通信装置２７に送られる（Ｓ１２０）。
【００２７】
電子メールのデータは、通信装置２７のインタフェイス部３１が受取る。インタフェイス部３１は、電子メールのデータを前処理部３２に送るとともに、電子メールのデータを受取ったことを、共通データ生成部３４に通知する。
前処理部３２は、電子メールのデータを、所定のビット数毎に切断して、多数のパケットを生成する（Ｓ１３０）。データの並び方の前後が入れ替わらないように、電子メールのデータは前から順に切断されていく。なお、必ずしもそうする必要はないが、この実施形態の前処理部３２は、各パケットのデータのデータが同じになるようにして、電子メールのデータを切断してパケットを生成するようになっている。前処理部３２で生成されたパケットは、接続部３９に送られる。
【００２８】
上述の通知を受取った共通データ生成部３４は、共通データの生成を行う（Ｓ１４０）。
共通データ生成部３４がどのように共通データを生成するかについて説明する。
共通データ生成部３４は、電子メールを分割して前処理部３２で生成されたパケットと同じ数だけ、共通データを生成する。なお、これには限られないが、この実施形態における共通データは８行８列の行列（Ｘ）である。
共通データ生成部３４は、必ずしもそうなっている必要はないが、この実施形態では、共通データを、非線形遷移するようなものとして連続して発生させる。この共通データは、結果として擬似乱数となる。
非線形遷移するように共通データを連続して発生させるには、例えば、（１）共通データの生成の過程に、過去の共通データのべき乗の演算を含める、（２）共通データの生成の過程に、過去の２つ以上の共通データの掛け合わせを含める、或いは、（１）と（２）を組み合わせるなどの手法が考えられる。
【００２９】
この実施形態では、共通データ生成部３４は、初期共通データである初期行列として、第０１共通データ（Ｘ０１）と第０２共通データ（Ｘ０２）を予め定められたものとして持っている（例えば、第０１共通データと第０２共通データは、ＨＤＤ２３やＲＯＭ２２などの所定のメモリに記録されている）。なお、第１通信装置１１が有する初期行列は、後述するように、第２通信装置１２が有する初期行列と同じである。
【００３０】
共通データ生成部３４は、この初期行列を、共通データ生成部３４が保持している共通データ生成用アルゴリズムに代入して、第１共通データ（Ｘ１）を以下のように生成する。
第１共通データ（Ｘ１）＝Ｘ０２Ｘ０１＋α（α＝８行８列の行列）
これが最初に生成される共通データである。
ここで、αは、環境情報である。環境情報は、必ずしも必要なものではない。αは、例えば、その日の日付や、第１通信装置１１のＩＰアドレス等の適当な情報を、適当なルールにしたがって２進法に表示しなおした場合の「１」、「０」で表されるデータ列を、８行８列の行列の要素に順に当てはめたものとされる。なお、その日の日付け等を２進法に表示しなおした場合の「１」、「０」で表されるデータ列を作る数字が８行８列の行列の要素の数である６４個に満たない場合には、例えば、その６４個に満たない数字を繰り返して用いてαを作ればよいし、データ列を作る数字が６４個を超える場合には例えば不要な数字を落としてαを作ればよい。
共通データ生成部３４は、第２共通データ（Ｘ２）を以下のように生成する。
第２共通データ（Ｘ２）＝Ｘ１Ｘ０２＋α
同様に、共通データ生成部３４は、第３共通データ、第４共通データ、……第Ｎ共通データを、以下のように生成する。
第３共通データ（Ｘ３）＝Ｘ２Ｘ１＋α
第４共通データ（Ｘ４）＝Ｘ３Ｘ２＋α
：
第Ｎ共通データ（ＸＮ）＝ＸＮ−１ＸＮ−２＋α
このようにしてパケットの数と同じ数だけ生成された共通データは、アルゴリズム生成部３５、及び鍵生成部３６に送られるとともに、次の共通データを生成するために共通データ生成部３４で保持されることになる。この実施形態では、第Ｎ共通データ（ＸＮ）を生成するために、第Ｎ−１共通データ（ＸＮ−１）と第Ｎ−２共通データ（ＸＮ−２）を、つまり、その直前に生成された２つの共通データを用いる。したがって、共通データ生成部３４は、新しい共通データを生成するにあたって、過去に生成された直近２つの共通データを保持していなければならない（又は、共通データ生成部３４ではない他の何者かがこれら２つの共通データを保持していなければならない）。
このように生成される共通データは、非線形遷移するカオス的なものとなり、擬似乱数となる。
なお、環境情報であるαは、必ずしも、共通データを発生するすべての場合に用いる必要はない。例えば、αは、第１共通データ（Ｘ１）＝Ｘ０２Ｘ０１＋αと、第１共通データを用いる場合に使われ、第２共通データ以降は、第Ｎ共通データ（ＸＮ）＝ＸＮ−１ＸＮ−２という一般式により得られるようにしてもよい。
【００３１】
非線形遷移を起こさせるには、第Ｎ共通データを求める際に、上述した
第Ｎ共通データ（ＸＮ）＝ＸＮ−１ＸＮ−２（＋α）
という式を用いる他に、以下のような式を用いることが考えられる。
なお、αに付けた括弧書きは、以下に例示される場合も含め、第２共通データ以降の共通データを求める場合には、αが必ずしも必要ではないことを示している。
例えば、
（ａ）第Ｎ共通データ（ＸＮ）＝（ＸＮ−１）Ｐ（＋α）
（ｂ）第Ｎ共通データ（ＸＮ）＝（ＸＮ−１）Ｐ（ＸＮ−２）Ｑ（ＸＮ−３）Ｒ（ＸＮ−４）Ｓ（＋α）
（ｃ）  第Ｎ共通データ（ＸＮ）＝（ＸＮ−１）Ｐ＋（ＸＮ−２）Ｑ（＋α）
などである。
なお、Ｐ、Ｑ、Ｒ、Ｓはそれぞれ所定の定数である。また、数式（ａ）を用いる場合は１つ、数式（ｃ）を用いる場合には２つ、数式（ｂ）を用いる場合には４つの初期行列を、共通データ生成部３４は有している。
【００３２】
共通データ生成部３４から共通データを受付けると、アルゴリズム生成部３５はアルゴリズムを、鍵生成部３６は鍵を、それぞれ生成する（Ｓ１５０）。
アルゴリズムと鍵の生成の仕方は、以下のようなものである。
この実施形態において、アルゴリズム生成部３５は、アルゴリズムを以下のようなものとして生成する。
この実施形態におけるアルゴリズムは、『暗号化すべき共通データを８行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるものが暗号化データである』と定義される。
ここで、ａは所定の固定された定数とされる場合もあるが、この実施形態では、共通データに基づいて変化する数字である。つまり、この実施形態におけるアルゴリズムは、共通データに基づいて変化する。例えばａは、８行８列の行列である共通データに含まれている行列の要素である数すべてを足し合わせて得られる数を５で割った場合の余り（ただし、余りが０の場合はａ＝１とする）のように定めることができる。
また、上述のｎは、鍵であり、所定の数である。鍵が一定の数であればｎは固定であるが、以下に説明するように、鍵は共通データに基づいて変化する。つまり、この実施形態では、このｎも共通データに基づいて変化するようになっている。
もっとも、アルゴリズムを他のものとして決定することもできる。また、アルゴリズムは、固定されていてもよい。
この実施形態では、アルゴリズム生成部３５は、共通データ生成部３４から共通データを受取るたびにアルゴリズムを生成し、それを暗号化・復号化部３３の暗号化部３３Ａに送る。
アルゴリズムの生成と並行して、鍵生成部３６が、鍵を生成する。
鍵生成部３６は、鍵を共通データに基づいて生成する。
この実施形態においては、鍵生成部３６は、鍵を以下のようなものとして生成する。
この実施形態における鍵は、８行８列の行列である共通データに含まれている行列の要素である数すべてを足し合わせて得られる数とされる。したがって、鍵は、この実施形態では、共通データに基づいて変化する。なお、鍵を他のものとして決定することもできる。８行８列の行列である共通データに含まれている行列の要素である数すべてを掛け合わせて得られる数の下２桁と定義することができる。
この実施形態では、鍵生成部３６は、共通データ生成部３４から共通データを受取るたびに鍵を生成し、それを暗号化・復号化部３３の暗号化部３３Ａに送る。
【００３３】
暗号化部３３Ａは、アルゴリズム生成部３５から受付けたアルゴリズムと、鍵生成部３６から受付けた鍵に基づいて、前処理部３２から受付けた共通データを暗号化する（Ｓ１６０）。
アルゴリズムは、上述したように、『暗号化すべき共通データを８行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるものが暗号化データである』という決まりであり、鍵であるｎは、上述したような数である。
例えば、ａが３、ｎが６である場合には、Ｘを３乗して得られる８行８列の行列を、６×９０°＝５４０°だけ時計回りに回転させることによって得られた８行８列の行列に、暗号化すべき共通データを掛け合わせて暗号化が行われる。
これにより生成されたデータが、暗号化データである。
暗号化データはヘッダ生成部３８に送られる。
【００３４】
ヘッダ生成部３８は暗号化データを受取るたびにヘッダのデータであるヘッダデータを生成する（Ｓ１７０）。ヘッダには上述の情報が含まれるが、既に説明したように暗号化データもヘッダに含まれることになる。
ヘッダ生成部３８は、生成したヘッダを、接続部３９に送る。
【００３５】
接続部３９は、前処理部３２から受付けたパケットの先頭に、ヘッダ生成部３８から受付けたヘッダを接続する（Ｓ１８０）。接続部３９は、この処理をすべてのパケットに対して行う。あるパケットが生成された順番と、そのパケットに接続されるヘッダが生成された順番は、常に一致するようにする。
ヘッダを接続されたパケットは、通信部３７に送られる。
通信部３７は、そのパケットを、ネットワーク１３を介して第２通信装置１２に送る（Ｓ１９０）。
Ｓ１３０〜Ｓ１８０までの処理を、電子メールのデータのすべてが第２通信装置１２に向けて送信されるまで繰り返し、送信時の処理が終了する。
【００３６】
次いで、受信時の処理について説明する。
受信時の処理では、まず、第２通信装置１２の通信装置２７に含まれる通信部３７が、第１通信装置１１から送られて来たパケットを受取る（Ｓ２１０）。
通信部３７は受付けたパケットを、前処理部３２に送る。
【００３７】
前処理部３２は、パケットを受取ると、各パケットに付されたヘッダから、暗号化データを取出す（Ｓ２２０）。前処理部３２は、取出した暗号化データを暗号化・復号化部３３の復号化部３３Ｂに送る。また、前処理部３２は、ヘッダを取除いたパケットを、認証部３３Ｃに送る。前処理部３２は、暗号化データとパケットを、通信部３７から受取る度に暗号化・復号化部３３へ送る。
他方、前処理部３２は、パケットを受取るとその都度、パケットを受取ったという通知を、共通データ生成部３４へ送る。
【００３８】
パケットを受取ったという通知を前処理部３２から通知される度に、共通データ生成部３４は共通データを生成する（Ｓ２３０）。
共通データ生成部３４での共通データの生成の仕方は、送信時と変わらない。この実施形態では、初期共通データと、環境情報とを用いて共通データが生成される。第２通信装置１２の共通データ生成部３４は、第１通信装置１１の共通データ生成部３４が有していたのと同様の初期共通データを有しており、また、第１通信装置１１の共通データ生成部３４が有していたのと同様の環境情報を、第１通信装置１１とは別のルートで入手できる（例えば、環境情報が通信の開始された日付であれば、その情報は第２通信装置１２でも容易に入手できる）か、又は第１通信装置１１から入手する（例えば、環境情報が第１通信装置１１のＩＰアドレスであれば、それを例えば最初のパケットのヘッダに含める形で第２通信装置１２は第１通信装置１１から入手できる。）ようになっている。したがって、第２通信装置１２の共通データ生成部３４で生成される共通データは、第１通信装置１１の共通データ生成部３４で生成された共通データと比較した場合、生成された順番が同じもの同士を比較すれば、第１通信装置１１の共通データ生成部３４内で生成される共通データと同じになる。
生成された共通データは、共通データ生成部３４から、アルゴリズム生成部３５と鍵生成部３６とに送られる。
【００３９】
アルゴリズム生成部３５と鍵生成部３６は、共通データを共通データ生成部３４から受付ける度に、アルゴリズムと鍵を生成する（Ｓ２４０）。アルゴリズムと鍵の生成の仕方は、送信時と同様である。
アルゴリズム生成部３５は、アルゴリズムを生成する際に共通データを使用する。第２通信装置１２のアルゴリズム生成部３５がアルゴリズムを生成する過程は、第１通信装置１１のアルゴリズム生成部３５がアルゴリズムを生成する過程と同じである。第１通信装置１１と第２通信装置１２で同じ順番で生成されるアルゴリズムは、同じ共通データに基づいて生成されることになるので、常に同じになるようになっている。
他方、鍵生成部３６は、鍵を生成する際に共通データを使用する。第２通信装置１２の鍵生成部３６が鍵を生成する過程は、第１通信装置１１の鍵生成部３６が鍵を生成する過程と同じである。第１通信装置１１と第２通信装置１２で同じ順番で生成される鍵は、同じ共通データに基づいて生成されることになるので、常に同じになるようになっている。
アルゴリズム生成部３５と鍵生成部３６は、生成したアルゴリズム又は鍵を暗号化・復号化部３３の復号化部３３Ｂに送る。
【００４０】
復号化部３３Ｂは、前処理部３２から受取った暗号化データを復号化する（Ｓ２５０）。かかる復号化を行う際、復号化部３３Ｂは、アルゴリズム生成部３５と鍵生成部３６から受取ったアルゴリズムと鍵を用いる。
より詳細には、復号化部３３Ｂは、アルゴリズム生成部３５から受付けたアルゴリズム（『暗号化すべき共通データを８行８列の行列Ｙとした場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列に、Ｙを掛け合わせて求められるものが暗号化データである。』という定義）に基づいて、復号化処理を行うためのアルゴリズム（『暗号化データを８行８列の行列Ｚと見た場合に、共通データである８行８列の行列Ｘをａ乗してから、時計周りにｎ×９０°だけ回転させた行列の逆行列に、Ｙを掛け合わせて求められるものが平文切断データである』という定義）を生成し、鍵生成部３６から受取った鍵を用いて上述の定義にしたがった演算を行うことで、復号化の処理を行う。
こうして、復号化部３３Ｂでは、前処理部３２から送られた暗号化データを復号化し、共通データを生成する。
復号化部３３Ｂは、生成した共通データを認証部３３Ｃへ送る。
【００４１】
認証部３３Ｃは、共通データ生成部３４から受付けた共通データと、復号化部３３Ｂから受付けた共通データを用いて認証処理を行う（Ｓ２６０）。
認証処理の詳細を、図６の流れ図に示す。
【００４２】
認証処理を行うには、まず、共通データ生成部３４と、復号化部３３Ｂからそれぞれ共通データを受付けるとともに、前処理部３２からパケットを受付ける（Ｓ２６１）。
認証部３３Ｃは、共通データ生成部３４が生成した共通データと、復号化部３３Ｂが生成した共通データとが一致するか否か判定する（Ｓ２６２）。
それが一致した場合（Ｓ２６２：Ｙｅｓ）認証部３３Ｃは、復号化部３３Ｂから受付けた共通データと一体化されていたパケット（つまり、最初のパケット）が正当なものであると認証する（Ｓ２６３）。この点について、説明を加える。認証部３３Ｃが認証を行うために比較するのは、第２通信装置１２の共通データ生成部３４で生成された共通データと、第１通信装置１１の共通データ生成部３４で生成され一旦暗号化された後第２通信装置１２の復号化部３３Ｂで復号化された共通データである。上述したように、第１通信装置１１と第２通信装置１２で生成される共通データは、同じ順番で生成されたもの同士を比較すれば必ず同じになるようになっている。あるパケットと一体化されていた暗号化データを復号化して得た第１通信装置１１で生成された共通データが、第２通信装置１２で生成された共通データと一致した場合には、そのパケットが第１通信装置１１以外の他の装置で生成されたものや他の装置により改変されたものではないと考えることができる。このような点を考慮して、この実施形態では、上述のような条件が満たされた場合には、その共通データの元となった暗号化データが一体化されていたパケットは正当なものであると判定することとしている。
他方、２つの共通データが一致しなかった場合（Ｓ２６２：Ｎｏ）、認証部３３Ｃは、復号化部３３Ｂから受付けた共通データと一体化されていたパケットが正当であるとの判定を行わない。この段階で、そのパケットが不適当なものであると判断して、例えば、認証部３３Ｂがそれ以上の電子メールについてのデータの受入れを通信部３７に中止させることもできる（このような早期の処理は、例えばウィルスなどの不適当なデータを第２通信装置１２の内部に入れることを防止するに有用である。）が、この実施形態では、この段階ではそのパケットが正当なものであるか、不当なものであるかの判定が一旦保留される（Ｓ２６４）。このような判定の保留を行うのは以下の理由による。第１通信装置１１と第２通信装置１２で生成される共通データが、同じ順番で生成されたもの同士を比較すれば必ず同じになるようになっているということは、上述した通りである。認証部３３Ｃは、共通データ生成部３４と復号化部３３Ｂから、順番の入替わりのない状態で共通データを連続して受付けるのだから、共通データ生成部３４から受付けた共通データと、復号化部３３Ｂから受付けた共通データを比較すればそれらは基本的に一致するはずである。しかしながら、第三者の生成した不正なパケットが、電子メールのデータを構成するものに混入させられた場合には、そのパケットには暗号化された共通データである暗号化データが含まれていないか、或いはそれが含まれていてもその暗号化データを復号化した共通データと、第２通信装置１２で生成された共通データが一致することはない。ただし、このような２つの共通データの不一致が生じるのは、第１通信装置１１から第２通信装置１２に送られる電子メールのデータの中に第三者が不正なパケットを紛れ込ませたときだけではない。パケットの通信の場合には、送受信の過程においてパケットの一部が欠落するという事態がときに生じる。このような場合には、共通データ生成部３４と復号化部３３Ｂから受付けたパケットの順番にずれが生じることにより、２つの共通データの間に不一致が生じる。しかしながら、この場合には、２つの共通データの不一致が生じはしたものの、その原因となるパケットの欠落によって生じる不都合はそれほど大きくない。したがって、この実施形態では、共通データ生成部３４が生成した共通データと、復号化部３３Ｂが生成した共通データとが一致しなかったとしても、復号化部３３Ｂで復号化された共通データの元となった暗号化データが一体化されていたパケットが不正なものだと直ちには判定しないこととしている。
【００４３】
共通データ生成部３４が生成した共通データと、復号化部３３Ｂが生成した共通データとが一致しなかった場合、認証部３３Ｃは、共通データ生成部３４が生成した共通データと一致しなかった復号化部３３Ｂが生成した共通データを、共通データ生成部３４がその次に生成した共通データと比較する（Ｓ２６５）。
その結果、２つの共通データが一致した場合（Ｓ２６５：Ｙｅｓ）には、共通データ生成部３４が生成した共通データと一致しなかった復号化部３３Ｂが生成した共通データの元となった暗号化データと一体化されていた、一旦は正当性の判断が保留されていたパケットが正当なものであると認証される（Ｓ２６３）。これは、事実上、その前に生じた２つの共通データの不一致の原因がパケットの欠落であると第２通信装置１２で認定したということである。この実施形態の認証部３３Ｃは、そのような判定を行ったときに、どのパケットが欠落したかを記録するものとすることができ、この実施形態ではそのように構成されている。
２つの共通データが一致しなかった場合、（Ｓ２６５：Ｎｏ）、認証部３３Ｃは、そのパケットが正当なものであるか、不当なものであるかの判定を再び保留し（Ｓ２６６）、共通データ生成部３４が生成した共通データと一致しなかった復号化部３３Ｂが生成した共通データを、共通データ生成部３４が更にその次に生成した共通データと比較するＳ２６５の処理を再び実行する。
パケットの欠落は、１つだけでなく、複数のパケットについて連続して生じることが多いので、この実施形態では、共通データ生成部３４が生成した共通データと、復号化部３３Ｂが生成した共通データの比較を、共通データ生成部３４が生成した共通データを新たなものに置き換えつつ繰り返すようにしている。
もっとも、この処理を無制限に繰り返しても意味がないので、この処理の繰り返しの回数には制限を設けるのが好ましい。この実施形態では、必ずしもその限りではないが、この繰り返しの回数の制限を５回と決めている。そのため、Ｓ２６６とＳ２６５の間に、認証を５回繰り返したかを判定することとしており（Ｓ２６７）、その結果、認証を５回繰り返していないと判定された場合（Ｓ２６７：Ｎｏ）にのみＳ２６５の認証を再度行うこととしており、他方、認証を５回繰り返したと判定された場合には（Ｓ２６７：Ｙｅｓ）、共通データ生成部３４が生成した５つの共通データのいずれとも一致しなかった復号化部３３Ｂが生成した共通データが不当なものであると判定する（Ｓ２６８）ようになっている。この場合には、認証部３３Ｃは、第１通信装置１１から受付けた電子メールに不正なデータが混入していたと判定して、認証を中止し、例えばそれ以上の電子メールについてのデータの受入れを通信部３７に中止させたり、ＲＡＭ２４に残っている当該電子メールのデータを消去する処理をＣＰＵ２１に実行させたりする。
【００４４】
このような認証処理を、認証部３３Ｃは繰り返す。この実施形態では、認証部３３Ｃが、２つの共通データが一致したと判定し、それに続けて、復号化部３３Ｂから受付けた共通データと一体化されていたパケットが正当なものであると認証した場合（Ｓ２６３）、復号化部３３Ｂからのすべての共通データについての認証が終わったかを判定し（Ｓ２６９）、それが終わっていない（Ｓ２６９：Ｎｏ）場合には、（Ｓ２６２）の処理に戻り、それが終わった場合（Ｓ２６９：Ｙｅｓ）には認証の処理を終了することとしている。
なお、２つの共通データが一致せずに（Ｓ２６２：Ｎｏ）、Ｓ２６５の処理が行われ、且つ行われたＳ２６５の処理で２つの共通データが一致した場合、（Ｓ２６５：Ｙｅｓ）には、復号化部３３Ｂがその次に生成した共通データと、共通データ生成部３４がその次に生成した共通データとの一致がＳ２６２で判定される。
以上のようにして認証の処理が終了する。
【００４５】
認証の処理が終了すると、正当なものであると認証されたパケットを接続して、電子メールのデータの復元が行われる（Ｓ２７０）。
この復元は、この実施形態では認証部３３Ｃが行う。認証部３３Ｃは、正当なものであると認証されたパケットのデータを保持しておき、認証の処理が終了したらそれらパケットを順番を維持したまま接続して電子メールのデータを復元する。なお、この実施形態の場合では、電子メールのデータを構成するパケットの一部が欠落している場合がある。その場合、認証部３３Ｃが不足したデータを補完する場合がある。なお、認証部３３Ｃが保持していたどのパケットが欠落したかということについての情報は、欠落したパケットについての不足したデータを補完する際に利用することもできる。もっとも、この復元は、認証部３３Ｃ以外、更にいえば通信装置２７の外で行われてもよい。
【００４６】
復元された電子メールのデータは、暗号化・復号化部３３からインタフェイス部３１に送られる。インタフェイス部３１は、この電子メールのデータをバス２８を介して、例えばＨＤＤ２３に送る。この電子メールのデータは、第２通信装置１２で適宜利用される。
【００４７】
以上の説明では、第１通信装置１１から第２通信装置１２に電子メールのデータを送信する場合について述べたが、第２通信装置１２から第１通信装置１１に電子メールを送ることも、上述の場合と同様に可能である。
【００４８】
＜変形例１＞
以上で説明した第１実施形態における第１通信装置１１と、第２通信装置１２はともに、パーソナルコンピュータであり、それらの間で行われるパケット通信は電子メールの送受信であった。
電子メールの送受信は、基本的に、第１通信装置１１と、第２通信装置１２の一方から他方に行われるものであり、双方向で同時に行われるものではない。
他方、第１通信装置１１と、第２通信装置１２は、双方向での送受信が必要なＩＰ電話等にも応用できる。
この場合には、第１通信装置１１と、第２通信装置１２はともに、上述の実施形態の送信時に行っていた共通データの暗号化と、上述の実施形態の受信時に行っていた暗号化データの復号化を同時に行う必要がある。これは、上述の実施形態における暗号化部３３Ａと、復号化部３３Ｂが、暗号化と復号化の処理を並列で行うことにより解決できる。
しかしながら、上述の実施形態のままでは、暗号化部３３Ａと、復号化部３３Ｂが、暗号化と復号化の処理を並列で行うことに困難がある。かかる処理を並列で行うには、暗号化の処理を行うのに必要な共通データと復号化の処理を行うのに必要な共通データを並列で生成することが必要となり、また、暗号化の処理を行うのに必要なアルゴリズム及び鍵と復号化の処理を行うのに必要なアルゴリズム及び鍵を並列で生成することが必要となる。しかしそれは、共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６がすべて１つずつしかない上述の実施形態の通信装置２７では難しい。
そこで、第１通信装置１１と、第２通信装置１２が、ＩＰ電話等の双方向での送受信が必要なものとされる場合には、それらの通信装置２７内に設けられる共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６を、２組とすればよい。２組とされた共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６のうちの一方を暗号化の処理のために用い、他方を復号化の処理のために用いることで、暗号化の処理と復号化の処理を並列に行えるようになる。この場合、共通データ生成部３４、アルゴリズム生成部３５、鍵生成部３６のうちの一方は、暗号化部３３Ａに共通データ、アルゴリズム、鍵をそれぞれ供給するものとなり、他方が復号化部３３Ｂに共通データ、アルゴリズム、鍵をそれぞれ供給するものとなる。
【００４９】
≪第２実施形態≫
第２実施形態の送受信システムは、第１実施形態の送受信システムと同様に構成される。特に、図１、図２で示された内容には、違いがない。
第２実施形態の送受信システムが、第１実施形態の送受信システムと異なるのは、それらの第１通信装置１１と第２通信装置１２に含まれる通信装置２７の構成、より詳細にはアルゴリズム生成部３５と、鍵生成部３６の構成である。
第２実施形態の送受信システムにおけるアルゴリズム生成部３５と、鍵生成部３６はそれぞれ、図８、図９に示したように構成されている。
【００５０】
図８、図９に示したように、第２実施形態におけるアルゴリズム生成部３５は、アルゴリズム記録部３５１と、アルゴリズム読出部３５２とを備えて、第２実施形態における鍵生成部３６は、鍵記録部３６１と、鍵読出部３６２とを備えて構成されている。
【００５１】
アルゴリズム記録部３５１は、暗号化・復号化部３３で共通データの暗号化を行う際と暗号化データの復号化を行う際に必要とされるアルゴリズムを記録しているものである。アルゴリズム記録部３５１は、少なくとも一つのアルゴリズムを記録していれば足りるが、この実施形態では複数、より詳細には５つのアルゴリズム（アルゴリズム０〜アルゴリズム４）を記録している。第１通信装置１１と第２通信装置１２のアルゴリズム記録部３５１に記録されているアルゴリズムは共通とされている。
アルゴリズム読出部３５２は、アルゴリズム記録部３５１から、所定の順序でアルゴリズムを読み出すものである。アルゴリズム記録部３５１からのアルゴリズム０〜アルゴリズム４を読出す順序は、アルゴリズム０〜アルゴリズム４を繰り返し順番に読出すような規則的なものでもよく、これらをランダムに読出すような不規則的なものでもよい。ただし、アルゴリズム０〜アルゴリズム４の読出しの順序は、第１通信装置１１と第２通信装置１２のアルゴリズム読出部３５２で共通とされている。第１通信装置１１と第２通信装置１２のアルゴリズム読出部３５２は、アルゴリズムを読出す順序を規定する共通のデータを有している。
アルゴリズム読出部３５２は、送信時又は受信時において必要なときにアルゴリズムをアルゴリズム記録部３５１から読出し、読出したそのアルゴリズムを暗号化・復号化部３３に送るようになっている。
つまり、第１実施形態では、アルゴリズム生成部３５はアルゴリズムをその都度生成して暗号化・復号化部３３に送っていたが、第２実施形態では、アルゴリズム生成部３５は、元々保持していたアルゴリズムのいずれかを暗号化・復号化部３３に送るようになっている。
【００５２】
鍵記録部３６１は、暗号化・復号化部３３で共通データの暗号化を行う際と暗号化データの復号化を行う際に必要とされる鍵を記録しているものである。鍵記録部３６１は、少なくとも一つの鍵を記録していれば足りるが、この実施形態では複数、より詳細には５つの鍵（鍵０〜鍵４）を記録している。第１通信装置１１と第２通信装置１２の鍵記録部３６１に記録されている鍵は共通とされている。
鍵読出部３６２は、鍵記録部３６１から、所定の順序で鍵を読み出すものである。鍵記録部３６１からの鍵０〜鍵４を読出す順序は、鍵０〜鍵４を繰り返し順番に読出すような規則的なものでもよく、これらをランダムに読出すような不規則的なものでもよい。ただし、鍵０〜鍵４の読出しの順序は、第１通信装置１１と第２通信装置１２の鍵読出部３６２で共通とされている。第１通信装置１１と第２通信装置１２の鍵読出部３６２は、鍵を読出す順序を規定する共通のデータを有している。
鍵読出部３６２は、送信時又は受信時において必要なときに鍵を鍵記録部３６１から読出し、読出したその鍵を暗号化・復号化部３３に送るようになっている。
つまり、第１実施形態では、鍵生成部３６は鍵をその都度生成して暗号化・復号化部３３に送っていたが、第２実施形態では、鍵生成部３６は、元々保持していた鍵のいずれかを暗号化・復号化部３３に送るようになっている。
【００５３】
第２実施形態の送受信システムで実行される処理の流れは、送信時、受信時ともに、第１実施形態の場合と大差ない。
送信時においては、第２実施形態における第１通信装置１１は、第１実施形態の場合と同様、図５に示したような流れで処理を行う。
異なるのは、アルゴリズムと鍵の生成についてのＳ１５０の部分である。
第２実施形態では、Ｓ１５０でのアルゴリズムと鍵の生成（正確にいえば、生成ではないが）は、以下のように行われる。
第１実施形態では、アルゴリズム生成部３５と、鍵生成部３６は、共通データ生成部３４から共通データを受付ける度に、その共通データを用いてアルゴリズムと鍵を生成した。
第２実施形態では、アルゴリズム生成部３５と鍵生成部３６は、アルゴリズムと鍵を生成しないため、それに必要な共通データを共通データ生成部３４から受取る必要もない。ただし、アルゴリズム生成部３５と、鍵生成部３６は、共通データ生成部３４から共通データを生成したという通知のみを受取る。その通知を受取る度に、アルゴリズム生成部３５では、アルゴリズム読出部３５２によるアルゴリズム記録部３５１からのアルゴリズムの読出しが行われ、鍵生成部３６では、鍵読出部３６２による鍵記録部３６１からの鍵の読出しが行われ、読出されたアルゴリズムと鍵が、暗号化部３３Ａに送られる。
【００５４】
受信時においては、第２実施形態における第２通信装置１２は、第１実施形態の場合と同様、図６に示したような流れで処理を行う。
異なるのは、アルゴリズムと鍵の生成についてのＳ２４０の部分である。
第２実施形態では、Ｓ２４０でのアルゴリズムと鍵の生成（正確にいえば、生成ではないが）は、以下のように行われる。
第２実施形態でも、アルゴリズム生成部３５と、鍵生成部３６は、共通データ生成部３４から共通データを生成したとの通知を受付ける度にアルゴリズムと鍵を復号化部３３Ｂに送る。
そのときに、アルゴリズム生成部３５では、アルゴリズム読出部３５２によるアルゴリズム記録部３５１からのアルゴリズムの読出しが行われ、鍵生成部３６では、鍵読出部３６２による鍵記録部３６１からの鍵の読出しが行われることは、送信時と同様である。
【００５５】
なお、この第２実施形態におけるアルゴリズム生成部３５と鍵生成部３６の一方だけを、第１実施形態におけるアルゴリズム生成部３５又は鍵生成部３６と置換えることができるのは当然である。
また、第２実施形態におけるアルゴリズム生成部３５と鍵生成部３６（以下に説明する変形例２、３のものを含む。）の少なくとも一方を、第３実施形態におけるアルゴリズム生成部３５と鍵生成部３６の少なくとも一方と置換えることができるのも当然である。
【００５６】
＜変形例２＞
変形例２は、基本的に第２実施形態と同様である。
異なるのは、アルゴリズム記録部３５１と、鍵記録部３６１に記録されているアルゴリズムと鍵がともに１つだけであるという点である。
この場合、送信時に暗号化部３３Ａに供給され、受信時に復号化部３３Ｂに供給されるアルゴリズム、送信時に暗号化部３３Ａに供給され、受信時に復号化部３３Ｂに供給される鍵は、ともに１種類となる。
このような場合には、アルゴリズム記録部３５１からアルゴリズム読出部３５２がアルゴリズムを読出し、鍵記録部３６１から鍵読出部３６２が鍵を読出すという行為は余り意味がない。したがって、アルゴリズム、鍵がともに１種類の場合には、アルゴリズム記録部３５１、アルゴリズム読出部３５２、鍵記録部３６１、鍵読出部３６２をなくし、その代わりに暗号化部３３Ａと復号化部３３Ｂに当初から、使用すべきアルゴリズムと鍵を一つずつ持たせておけばよい。
なお、アルゴリズムと鍵の一方だけを１種類とし、他方を第２実施形態の場合と同様に複数種類とすることが可能なのは当然である。
【００５７】
＜変形例３＞
変形例３は、基本的に第２実施形態と同様である。
第２実施形態では、第１通信装置１１と第２通信装置１２のアルゴリズム読出部３５２は、アルゴリズムを読出す順序を規定する共通のデータを持っており、それにより同じ順番で読出したアルゴリズムは第１通信装置１１と第２通信装置１２で共通となるようにされていた。また、第２実施形態では、第１通信装置１１と第２通信装置１２の鍵読出部３６２は、鍵を読出す順序を規定する共通のデータを持っており、それにより同じ順番で読出した鍵は第１通信装置１１と第２通信装置１２で共通となるようにされていた。
また、第２実施形態では、アルゴリズムを読出す順序を規定する共通のデータによりアルゴリズムを読出す順序が決定され、鍵を読出す順序を規定する共通のデータにより鍵を読出す順序が決定されており、そこに共通データが介在する余地がなく、そのため、共通データ生成部３４からアルゴリズム生成部３５と鍵生成部３６へは、第１実施形態の場合と異なり、共通データそのものは送られなかった。
変形例３の第１通信装置１１と第２通信装置１２のアルゴリズム読出部３５２は、第２実施形態とは異なり、アルゴリズムを読出す順序を規定する共通のデータを持っておらず、また、変形例３の第１通信装置１１と第２通信装置１２の鍵読出部３６２は、第２実施形態とは異なり、鍵を読出す順序を規定する共通のデータを持っていない。
また、第３変形例では、第１通信装置１１におけるアルゴリズムの読出し順序と第２通信装置１２におけるアルゴリズムの読出し順序とを一致させるために共通データを使用し、第１通信装置１１における鍵の読読出し順序と第２通信装置１２における鍵の読出し順序とを一致させるために共通データを用いることとしている。したがって、第２変形例では、アルゴリズム生成部３５と鍵生成部３６はともに、共通データを生成する度に共通データ生成部３４から共通データを受取るようになっている。
アルゴリズム生成部３５のアルゴリズム読出部３５２は、例えば、以下のようにして、アルゴリズム記録部３５１からのアルゴリズムの読出し順序を決定する。
上述したように、共通データは、８行８列の行列である。アルゴリズム読出部３５２は、共通データを受付ける度に、その共通データに含まれている行列の要素である数すべてを足し合わせて得られる数を４で割った場合の余りを求め、その余りを示す数字が末尾についたアルゴリズムをアルゴリズム記録部３５１から読出すこととしている。上述したように、アルゴリズム記録部３５１に記録されたアルゴリズムはアルゴリズム０〜アルゴリズム４であり、自然数を４で割った場合の余りは０〜４のいずれかであるので、その余りの数に応じてアルゴリズム０〜アルゴリズム４のいずれかを選択して、アルゴリズム読出部３５２はアルゴリズム記録部３５１からアルゴリズムを読出す。
鍵生成部３６における処理も同様である。
なお、第２実施形態のアルゴリズム読出部３５２と鍵読出部３６２の一方のみを、第３実施形態のアルゴリズム読出部３５２又は鍵読出部３６２に置換えることができるのは当然である。
【００５８】
≪第３実施形態≫
第３実施形態の送受信システムは、第１実施形態の送受信システムと同様に構成される。特に、図１、図２で示された内容には、違いがない。
第３実施形態の送受信システムが、第１実施形態の送受信システムと異なるのは、それらの第１通信装置１１と第２通信装置１２に含まれる通信装置２７の構成、より詳細には共通データ生成部３４の構成である。
第３実施形態の送受信システムにおける共通データ生成部３４は、図１０に示したように構成されている。
【００５９】
図１０に示したように、第２実施形態における共通データ生成部３４は、共通データ記録部３４１と、共通データ読出部３４２とを備えて構成されている。
【００６０】
共通データ記録部３４１は、暗号化・復号化部３３で暗号化を行う際と認証を行う際に必要となる共通データを記録しているものである。共通データ記録部３４１は、少なくとも一つの共通データを記録していれば足りるが、この実施形態では複数、より詳細には１００個の共通データを記録している。第１通信装置１１と第２通信装置１２の共通データ記録部３４１に記録されている共通データは共通とされている。
共通データ読出部３４２は、共通データ記録部３４１から、所定の順序で共通データを読み出すものである。共通データ記録部３４１からの共通データを読出す順序は、共通データを先頭から順に繰り返し順番に読出すような規則的なものでもよく、また、共通データをランダムに読出すような不規則的なものでもよい。ただし、共通データの読出しの順序は、第１通信装置１１と第２通信装置１２の共通データ読出部３４２で共通とされている。第１通信装置１１と第２通信装置１２の共通データ読出部３４２は、共通データを読出す順序を規定する共通のデータを有している。
共通データ読出部３４２は、送信時又は受信時において必要なときに共通データを共通データ記録部３４１から読出し、読出したその共通データを暗号化・復号化部３３に送るようになっている。
つまり、第１実施形態では、共通データ生成部３４は共通データをその都度生成して暗号化・復号化部３３に送っていたが、第３実施形態では、共通データ生成部３４は、元々保持していた共通データのいずれかを暗号化・復号化部３３に送るようになっている。
【００６１】
第３実施形態の送受信システムで実行される処理の流れは、送信時、受信時ともに、第１実施形態の場合と大差ない。
送信時においては、第３実施形態における第１通信装置１１は、第１実施形態の場合と同様、図５に示したような流れで処理を行う。
異なるのは、共通データの生成についてのＳ１４０の部分である。
第３実施形態では、Ｓ１４０での共通データの生成（正確にいえば、生成ではないが）は、以下のように行われる。
第１実施形態では、共通データ生成部３４は、電子メールのデータを受取ったという通知をインタフェイス部３１から受付けたときに共通データをパケットの数と同じだけ生成した。この点では第３実施形態も変わりはない。
ただし、第３実施形態の共通データ生成部３４は、第１実施形態の場合と異なり、初期共通データから順に共通データを生成するのではない。
第３実施形態では、共通データ生成部３４では、必要な回数だけ、共通データ読出部３４２による共通データ記録部３４１からの共通データの読出しが行われる。読出された共通データは、暗号化部３３Ａとアルゴリズム生成部３５と鍵生成部３６に送られる。
【００６２】
受信時においては、第３実施形態における第２通信装置１２は、第１実施形態の場合と同様、図６に示したような流れで処理を行う。
異なるのは、共通データの生成についてのＳ２３０の部分である。
第３実施形態の受信時における共通データの生成の仕方は、第３実施形態の送信時の場合と同様である。
なお、第３実施形態の共通データ生成部３４を、第４実施形態の共通データ生成部３４に置換えられることは当然である。
【００６３】
＜変形例４＞
変形例４は、基本的に第３実施形態と同様である。
異なるのは、共通データ記録部３４１に記録されている共通データが１つだけであるという点である。
この場合、送信時に暗号化部３３Ａに供給され、受信時に認証部３３Ｃに供給される共通データは、ともに１種類となる。
このような場合には、共通データ記録部３４１から共通データ読出部３４２が共通データを読出すという行為は余り意味がない。したがって、共通データが１種類の場合には、共通データ記録部３４１と共通データ読出部３４２をなくし、その代わりに暗号化部３３Ａと認証部３３Ｃに当初から、使用すべき共通データを一つずつ持たせておけばよい。
なお、共通データが一種類の場合には、共通データ生成部３４からアルゴリズム生成部３５と鍵生成部３６に異なる共通データを供給したところでアルゴリズム生成部３５と鍵生成部３６が異なるアルゴリズム又は異なる鍵を生成することはできない。したがって、共通データを１種類とする場合には、アルゴリズム生成部３５と鍵生成部３６は、第２実施形態で説明したものを採用するのが賢明だと考えられる。
【００６４】
≪第４実施形態≫
第４実施形態の送受信システムは、第１実施形態の送受信システムと略同様に構成される。特に、図１、図２で示された内容には、違いがない。
第４実施形態の送受信システムが、第１実施形態の送受信システムと異なるのは、それらの第１通信装置１１と第２通信装置１２に含まれる送信装置２７の構成である。
【００６５】
第４実施形態における送信装置２７には、図１１に示したように、共通データ生成部３４に加え、第２共通データ生成部３４Ａが設けられている。
共通データ生成部３４と、第２共通データ生成部３４Ａは、第１実施形態の場合と同様、第１通信装置１１と第２通信装置１２とで、同じ順番で生成されたもの同士を比較した場合には同じものとなる共通データを連続して生成するものであり、その点で両者は共通する。
第４実施形態における送信装置２７に、共通データ生成部３４と、第２共通データ生成部３４Ａという共通データを生成するという同じ目的を持つ手段を２つ設けた理由は以下の通りである。
第１実施形態では、送信時において、共通データ生成部３４は共通データを生成した。そして、この共通データは、暗号化部３３Ａで、暗号化されパケットのそれぞれに接続されるヘッダに含められた。他方、共通データは、アルゴリズム生成部３５と鍵生成部３６に送られ、共通データを暗号化するために用いられるアルゴリズムと鍵を生成するために用いられた。つまり、第１実施形態では、共通データは、それ自身が暗号化されると同時に、その共通データを暗号化するために用いられていた。
第４実施形態では、暗号化部３３Ａで暗号化される共通データと、アルゴリズム生成部３５でアルゴリズムを生成するときと、鍵生成部３６で鍵を生成するときに用いられる共通データとを別のものにしようとしている。そのために、第４実施形態の通信装置２７に、共通データを生成するという同じ目的を持つ手段を２つ設けたのである。
なお、第４実施形態では、共通データ生成部３４が生成した共通データは、送信時においては暗号化部３３Ａに、受信時においては認証部３３Ｃに送られる。また、第２共通データ生成部３４Ａが生成した共通データは、送信時、受信時のいずれの場合でも、アルゴリズム生成部３５と、鍵生成部３６に送られる。
【００６６】
第４実施形態の共通データ生成部３４と、第２共通データ生成部３４Ａはともに、第１実施形態の場合と同様のものとすることができる。例えば、共通データ生成部３４と第２共通データ生成部３４Ａはともに、擬似乱数となる共通データを連続的に生成するものとすることができる。
共通データ生成部３４と第２共通データ生成部３４Ａとの間で、初期共通データと共通データを生成させるための式の少なくとも一方を変えておくことができる。そうすることにより、共通データ生成部３４が生成する共通データと、第２共通データ生成部３４Ａが生成する共通データとは別のものとなる。これは、認証の安全性をより高めるに有用である。
なお、送信時においては、第１実施形態では、電子メールのデータを受取ったインタフェイス部３１が、電子メールのデータを受付けたという通知を共通データ生成部３４に送るようになっており、且つ共通データ生成部３４はその通知を受取ると共通データの生成を開始するようになっていた。第４実施形態では、電子メールのデータを受取ったインタフェイス部３１は、電子メールのデータを受付けたという通知を共通データ生成部３４のみならず第２共通データ生成部３４Ａに送るようになっており、共通データ生成部３４と第２共通データ生成部３４Ａはその通知を受取ると共通データの生成を開始するようになっている。
また、受信時においては、第１実施形態では、電子メールのデータを受取った前処理部３２が、電子メールのデータを受付けたという通知を共通データ生成部３４に送るようになっており、且つ共通データ生成部３４はその通知を受取ると共通データの生成を開始するようになっていた。第４実施形態では、電子メールのデータを受取った前処理部３２は、電子メールのデータを受付けたという通知を共通データ生成部３４のみならず第２共通データ生成部３４Ａにも送るようになっており、共通データ生成部３４と第２共通データ生成部３４Ａはその通知を受取ると共通データの生成を開始するようになっている。
【００６７】
なお、第２共通データ生成部３４Ａを更に２つに分け、アルゴリズム生成部３５と鍵生成部３６のそれぞれに異なる共通データを供給するようにすることも可能である。
この場合には、送信時において、共通データ生成部３４と第２共通データ生成部３４Ａに送られていたインタフェイス部３１からの上述の通知は、共通データ生成部３４と２つの第２共通データ生成部３４Ａの計３箇所に送られることになる。また、受信時において、共通データ生成部３４と第２共通データ生成部３４Ａに送られていた前処理部３２からの上述の通知は、共通データ生成部３４と２つの第２共通データ生成部３４Ａの計３箇所に送られることになる。
【図面の簡単な説明】
【００６８】
【図１】第１実施形態の送受信システムの全体構成を示す図。
【図２】図１に示した送受信システムに含まれる第１通信装置及び第２通信装置のハードウエア構成を示す図。
【図３】図１に示した送受信システムに含まれる第１通信装置及び第２通信装置の通信装置の構成を示すブロック図。
【図４】図３図に示した通信装置に含まれる暗号化・復号化部の構成を示すブロック図。
【図５】図１に示した送受信システムで送信時に実行される処理の流れを示す流れ図。
【図６】図１に示した送受信システムで受信時に実行される処理の流れを示す流れ図。
【図７】図１に示した送受信システムで受信時に実行される認証処理の流れを示す流れ図。
【図８】第２実施形態の送受信システムの第１通信装置及び第２通信装置の通信装置に含まれるアルゴリズム生成部の構成を示すブロック図。
【図９】第２実施形態の送受信システムの第１通信装置及び第２通信装置の通信装置に含まれる鍵生成部の構成を示すブロック図。
【図１０】第３実施形態の送受信システムの第１通信装置及び第２通信装置の通信装置に含まれる共通データ生成部の構成を示すブロック図。
【図１１】第４実施形態の送受信システムの第１通信装置及び第２通信装置の通信装置の構成を示すブロック図。
【符号の説明】
【００６９】
１１  第１通信装置
１２  第２通信装置
１３  ネットワーク
３１  インタフェイス部
３２  前処理部
３３  暗号化・復号化部
３３Ａ  暗号化部
３３Ｂ  復号化部
３３Ｃ  認証部
３４  共通データ生成部
３５  アルゴリズム生成部
３６  鍵生成部
３７  通信部
【図１】
2008259077.tif 000003
【図２】
2008259077.tif 000004
【図３】
2008259077.tif 000005
【図４】
2008259077.tif 000006
【図５】
2008259077.tif 000007
【図６】
2008259077.tif 000008
【図７】
2008259077.tif 000009
【図８】
2008259077.tif 000010
【図９】
2008259077.tif 000011
【図１０】
2008259077.tif 000012
【図１１】
2008259077.tif 000013