JP4771946B2

Encrypted communication system and communication device

Abstract

This record has no abstract on file.

Term

Term ended

Expired 18 October 2024, 1.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

6 claims: 6 independent, 0 dependent

  1. 1
    通信の相手 装置と共有した鍵を用いて暗号通信を行う通信装置であって、 データ生成手段、復号手段、鍵生成手段及び通信手段を備え、 群上でベース元、前記相手装置の公開鍵及び前記通信装置の公開鍵が定義され、前記相手装置の前記公開鍵は、前記相手装置の私有鍵と前記ベース元とのべき演算により算出され、前記通信装置の前記公開鍵は、前記通信装置の私有鍵と前記ベース元とのべき演算により算出され、 前記データ生成手段は、乱数である第1シード値に第1一方向性演算を施して得られた演算結果を分割して、第1係数及び第1鍵を生成し、前記第1係数と前記ベース元とのべき演算により、前記群上の第1元を算出し、前記第1係数と前記相手装置の前記公開鍵とのべき演算により、前記群上の第2元を算出し、前記第1シード値と、前記第1元と前記第2元との結合結果に第2一方向性演算を施して得られた演算結果との排他的論理和により、第1検証値を算出し、第1暗号化鍵データとして、前記第1元及び前記第1検証値を前記相手装置へ送信し、 前記相手装置は、前記第1暗号化鍵データとして、前記第1元及び前記第1検証値を受信し、前記相手装置の前記私有鍵と前記第1元とのべき演算により、前記群上の第3元を算出し、前記第1検証値と、前記第1元と前記第3元との結合結果に 前記 第2一方向性演算を施して得られた演算結果との排他的論理和により、第2検証値を算出し、前記第2検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第4係数及び第4鍵を生成し、前記第4係数と前記ベース元とのべき演算の演算結果と、取得した前記第1元とを比較し、一致する場合に、前記第4鍵を前記第1鍵と同一の共有鍵とし、 前記相手装置は、乱数である第2シード値に前記第1一方向性演算を施して得られた前記演算結果を分割して、第3係数及び第3鍵を生成し、前記第3係数と前記ベース元とのべき演算により、前記群上の第4元を算出し、前記第3係数と前記通信装置の前記公開鍵とのべき演算により、前記群上の第5元を算出し、前記第2シード値と、前記第4元と前記第5元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第3検証値を算出し、第2暗号化鍵データとして、前記第4元及び前記第3検証値を前記通信装置へ送信し、 前記復号手段は、前記第2暗号化鍵データとして、前記第4元及び前記第3検証値を受信し、前記通信装置の前記私有鍵と前記第4元とのべき演算により、前記群上の第6元を算出し、前記第3検証値と、前記第4元と前記第6元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第4検証値を算出し、前記第4検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第2係数及び第2鍵を生成し、前記第2係数と前記ベース元とのべき演算の演算結果と、取得した前記第4元とを比較し、一致する場合に、前記第2鍵を前記第3鍵と同一の共有鍵とし、 前記鍵生成手段は、 前記第1鍵と前記第2鍵とを用いて所定の演算を行い、その演算結果の一部分を第1暗号鍵として生成し、他の一部分を第1ハッシュ鍵として生成 し、 前記通信手段は、 前記第1暗号鍵を用いて、第1送信データを暗号化して第1暗号化データを生成し、前記第1ハッシュ鍵を用いて、前記第1送信データに一方向性演算を施して、前記相手装置における前記第1暗号化データの改竄検査のための第1検査値を算出し、生成した第1暗号化データと第1検査値とを前記相手装置へ送信 し、 前記通信の相手装置は、 前記第3鍵と前記第4鍵とに基づいて、第2暗号鍵を生成し 、 当該通信装置との間で、前記第2暗号鍵を用いて暗号通信を行う ことを特徴とする通信装置。
  2. 2
    前記群としての楕円曲線E上の前記ベース元としてのベース点をPとし、前記相手装置の前記私有鍵をxとし、前記相手装置の前記公開鍵をW=x*Pとし、*は、前記楕円曲線E上の点の乗算である前記べき演算を示す演算子であり、 前記通信装置の前記データ生成手段は、 (a)乱数である前記第1シード値sを生成し、 (b)前記第1シード値sのハッシュ値G(s)を算出し、 (c)ハッシュ値G(s)を分割して、第1係数a及び前記第1鍵を生成し、 (d)楕円曲線E上の前記第1元としての点R=a*Pを算出し、前記第2元としての点Q=a*Wを算出し、 (e)前記第1シード値sと、点Rと点Qとの結合結果にハッシュを施して得られたハッシュ値とに排他的論理和を施して、第1検証値vを得、 (f)前記第1暗号化鍵データとして、点R及び第1検証値vを出力する。 前記相手装置は、 (g)点R及び第1検証値vを取得し、 (h)楕円曲線E上の第3元としての点Q’=x*Rを算出し、 (i)第1検証値vと、点Rと点Q’との結合結果にハッシュを施して得られたハッシュ値とに排他的論理和を施して、第2検証値s’を得、 (j)第2検証値s’のハッシュ値G(s’)を算出し、 (k)ハッシュ値G(s’)を分割して、第4係数a’及び第4鍵を生成し、 (l)R=a’*Pが成立するか否かを判断し、 (m)R=a’*Pが成立する場合に、前記第4鍵を前記第1鍵と同一の共有鍵とする。 前記群としての楕円曲線E上の前記ベース元としてのベース点をPとし、前記通信装置の前記私有鍵をxとし、前記通信装置の前記公開鍵をW=x*Pとし、 前記相手装置は、 (a)乱数である前記第3シード値sを生成し、 (b)前記第3シード値sのハッシュ値G(s)を算出し、 (c)ハッシュ値G(s)を分割して、第3係数a及び前記第3鍵を生成し、 (d)楕円曲線E上の前記第4元としての点R=a*Pを算出し、前記第5元としての点Q=a*Wを算出し、 (e)前記第3シード値sと、点Rと点Qとの結合結果にハッシュを施して得られたハッシュ値とに排他的論理和を施して、第3検証値vを得、 (f)点R及び第3検証値vを出力する。 前記通信装置の前記復号手段は、 (g)点R及び第3検証値vを取得し、 (h)楕円曲線E上の前記第6元としての点Q’=x*Rを算出し、 (i)第3検証値vと、点Rと点Q’との結合結果にハッシュを施して得られたハッシュ値とに排他的論理和を施して、第4検証値s’を得、 (j)第4検証値s’のハッシュ値G(s’)を算出し、 (k)ハッシュ値G(s’)を分割して、第2係数a’及び第2鍵を生成し、 (l)R=a’*Pが成立するか否かを判断し、 (m)R=a’*Pが成立する場合に、前記第2鍵を共有鍵とする。 ことを特徴とする 請求項1 に記載の通信装置。
  3. 3
    通信の相手 装置と共有した鍵を用いて暗号通信を行う通信装置において用いられる通信方法であって、 データ生成ステップ、復号ステップ、鍵生成ステップ及び通信ステップを備え、 群上でベース元、前記相手装置の公開鍵及び前記通信装置の公開鍵が定義され、前記相手装置の前記公開鍵は、前記相手装置の私有鍵と前記ベース元とのべき演算により算出され、前記通信装置の前記公開鍵は、前記通信装置の私有鍵と前記ベース元とのべき演算により算出され、 前記データ生成ステップは、乱数である第1シード値に第1一方向性演算を施して得られた演算結果を分割して、第1係数及び第1鍵を生成し、前記第1係数と前記ベース元とのべき演算により、前記群上の第1元を算出し、前記第1係数と前記相手装置の前記公開鍵とのべき演算により、前記群上の第2元を算出し、前記第1シード値と、前記第1元と前記第2元との結合結果に第2一方向性演算を施して得られた演算結果との排他的論理和により、第1検証値を算出し、第1暗号化鍵データとして、前記第1元及び前記第1検証値を前記相手装置へ送信し、 前記相手装置は、前記第1暗号化鍵データとして、前記第1元及び前記第1検証値を受信し、前記相手装置の前記私有鍵と前記第1元とのべき演算により、前記群上の第3元を算出し、前記第1検証値と、前記第1元と前記第3元との結合結果に 前記 第2一方向性演算を施して得られた演算結果との排他的論理和により、第2検証値を算出し、前記第2検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第4係数及び第4鍵を生成し、前記第4係数と前記ベース元とのべき演算の演算結果と、取得した前記第1元とを比較し、一致する場合に、前記第4鍵を前記第1鍵と同一の共有鍵とし、 前記相手装置は、乱数である第2シード値に前記第1一方向性演算を施して得られた前記演算結果を分割して、第3係数及び第3鍵を生成し、前記第3係数と前記ベース元とのべき演算により、前記群上の第4元を算出し、前記第3係数と前記通信装置の前記公開鍵とのべき演算により、前記群上の第5元を算出し、前記第2シード値と、前記第4元と前記第5元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第3検証値を算出し、第2暗号化鍵データとして、前記第4元及び前記第3検証値を前記通信装置へ送信し、 前記復号ステップは、前記第2暗号化鍵データとして、前記第4元及び前記第3検証値を受信し、前記通信装置の前記私有鍵と前記第4元とのべき演算により、前記群上の第6元を算出し、前記第3検証値と、前記第4元と前記第6元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第4検証値を算出し、前記第4検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第2係数及び第2鍵を生成し、前記第2係数と前記ベース元とのべき演算の演算結果と、取得した前記第4元とを比較し、一致する場合に、前記第2鍵を前記第3鍵と同一の共有鍵とし、 前記鍵生成ステップは、 前記第1鍵と前記第2鍵とを用いて所定の演算を行い、その演算結果の一部分を第1暗号鍵として生成し、他の一部分を第1ハッシュ鍵として生成 し、 前記通信ステップは、 前記第1暗号鍵を用いて、第1送信データを暗号化して第1暗号化データを生成し、前記第1ハッシュ鍵を用いて、前記第1送信データに一方向性演算を施して、前記相手装置における前記第1暗号化データの改竄検査のための第1検査値を算出し、生成した第1暗号化データと第1検査値とを前記相手装置へ送信 し、 前記通信の相手装置は、 前記第3鍵と前記第4鍵とに基づいて、第2暗号鍵を生成し 、 当該通信装置との間で、前記第2暗号鍵を用いて暗号通信を行う ことを特徴とする通信方法。
  4. 4
    通信の相手 装置と共有した鍵を用いて暗号通信を行う通信装置において用いられる通信用のコンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体であって、 前記コンピュータプログラムは、コンピュータに、 データ生成ステップ、復号ステップ、鍵生成ステップ及び通信ステップを実行させ、 群上でベース元、前記相手装置の公開鍵及び前記通信装置の公開鍵が定義され、前記相手装置の前記公開鍵は、前記相手装置の私有鍵と前記ベース元とのべき演算により算出され、前記通信装置の前記公開鍵は、前記通信装置の私有鍵と前記ベース元とのべき演算により算出され、 前記データ生成ステップは、乱数である第1シード値に第1一方向性演算を施して得られた演算結果を分割して、第1係数及び第1鍵を生成し、前記第1係数と前記ベース元とのべき演算により、前記群上の第1元を算出し、前記第1係数と前記相手装置の前記公開鍵とのべき演算により、前記群上の第2元を算出し、前記第1シード値と、前記第1元と前記第2元との結合結果に第2一方向性演算を施して得られた演算結果との排他的論理和により、第1検証値を算出し、第1暗号化鍵データとして、前記第1元及び前記第1検証値を前記相手装置へ送信し、 前記相手装置は、前記第1暗号化鍵データとして、前記第1元及び前記第1検証値を受信し、前記相手装置の前記私有鍵と前記第1元とのべき演算により、前記群上の第3元を算出し、前記第1検証値と、前記第1元と前記第3元との結合結果に 前記 第2一方向性演算を施して得られた演算結果との排他的論理和により、第2検証値を算出し、前記第2検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第4係数及び第4鍵を生成し、前記第4係数と前記ベース元とのべき演算の演算結果と、取得した前記第1元とを比較し、一致する場合に、前記第4鍵を前記第1鍵と同一の共有鍵とし、 前記相手装置は、乱数である第2シード値に前記第1一方向性演算を施して得られた前記演算結果を分割して、第3係数及び第3鍵を生成し、前記第3係数と前記ベース元とのべき演算により、前記群上の第4元を算出し、前記第3係数と前記通信装置の前記公開鍵とのべき演算により、前記群上の第5元を算出し、前記第2シード値と、前記第4元と前記第5元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第3検証値を算出し、第2暗号化鍵データとして、前記第4元及び前記第3検証値を前記通信装置へ送信し、 前記復号ステップは、前記第2暗号化鍵データとして、前記第4元及び前記第3検証値を受信し、前記通信装置の前記私有鍵と前記第4元とのべき演算により、前記群上の第6元を算出し、前記第3検証値と、前記第4元と前記第6元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第4検証値を算出し、前記第4検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第2係数及び第2鍵を生成し、前記第2係数と前記ベース元とのべき演算の演算結果と、取得した前記第4元とを比較し、一致する場合に、前記第2鍵を前記第3鍵と同一の共有鍵とし、 前記鍵生成ステップは、 前記第1鍵と前記第2鍵とを用いて所定の演算を行い、その演算結果の一部分を第1暗号鍵として生成し、他の一部分を第1ハッシュ鍵として生成 し、 前記通信ステップは、 前記第1暗号鍵を用いて、第1送信データを暗号化して第1暗号化データを生成し、前記第1ハッシュ鍵を用いて、前記第1送信データに一方向性演算を施して、前記相手装置における前記第1暗号化データの改竄検査のための第1検査値を算出し、生成した第1暗号化データと第1検査値とを前記相手装置へ送信 し、 前記通信の相手装置は、 前記第3鍵と前記第4鍵とに基づいて、第2暗号鍵を生成し 、 当該通信装置との間で、前記第2暗号鍵を用いて暗号通信を行う ことを特徴とする 前記コンピュータプログラムを記録しているコンピュータ読み取り可能な記録媒体。
  5. 5
    通信の 相手装置と共有した鍵を用いて暗号通信を行う通信装置において用いられる通信用のコンピュータプログラムであって、 前記コンピュータプログラムは、コンピュータに、 データ生成ステップ、復号ステップ、鍵生成ステップ及び通信ステップを実行させ、 群上でベース元、前記相手装置の公開鍵及び前記通信装置の公開鍵が定義され、前記相手装置の前記公開鍵は、前記相手装置の私有鍵と前記ベース元とのべき演算により算出され、前記通信装置の前記公開鍵は、前記通信装置の私有鍵と前記ベース元とのべき演算により算出され、 前記データ生成ステップは、乱数である第1シード値に第1一方向性演算を施して得られた演算結果を分割して、第1係数及び第1鍵を生成し、前記第1係数と前記ベース元とのべき演算により、前記群上の第1元を算出し、前記第1係数と前記相手装置の前記公開鍵とのべき演算により、前記群上の第2元を算出し、前記第1シード値と、前記第1元と前記第2元との結合結果に第2一方向性演算を施して得られた演算結果との排他的論理和により、第1検証値を算出し、第1暗号化鍵データとして、前記第1元及び前記第1検証値を前記相手装置へ送信し、 前記相手装置は、前記第1暗号化鍵データとして、前記第1元及び前記第1検証値を受信し、前記相手装置の前記私有鍵と前記第1元とのべき演算により、前記群上の第3元を算出し、前記第1検証値と、前記第1元と前記第3元との結合結果に 前記 第2一方向性演算を施して得られた演算結果との排他的論理和により、第2検証値を算出し、前記第2検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第4係数及び第4鍵を生成し、前記第4係数と前記ベース元とのべき演算の演算結果と、取得した前記第1元とを比較し、一致する場合に、前記第4鍵を前記第1鍵と同一の共有鍵とし、 前記相手装置は、乱数である第2シード値に前記第1一方向性演算を施して得られた前記演算結果を分割して、第3係数及び第3鍵を生成し、前記第3係数と前記ベース元とのべき演算により、前記群上の第4元を算出し、前記第3係数と前記通信装置の前記公開鍵とのべき演算により、前記群上の第5元を算出し、前記第2シード値と、前記第4元と前記第5元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第3検証値を算出し、第2暗号化鍵データとして、前記第4元及び前記第3検証値を前記通信装置へ送信し、 前記復号ステップは、前記第2暗号化鍵データとして、前記第4元及び前記第3検証値を受信し、前記通信装置の前記私有鍵と前記第4元とのべき演算により、前記群上の第6元を算出し、前記第3検証値と、前記第4元と前記第6元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第4検証値を算出し、前記第4検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第2係数及び第2鍵を生成し、前記第2係数と前記ベース元とのべき演算の演算結果と、取得した前記第4元とを比較し、一致する場合に、前記第2鍵を前記第3鍵と同一の共有鍵とし、 前記鍵生成ステップは、 前記第1鍵と前記第2鍵とを用いて所定の演算を行い、その演算結果の一部分を第1暗号鍵として生成し、他の一部分を第1ハッシュ鍵として生成 し、 前記通信ステップは、 前記第1暗号鍵を用いて、第1送信データを暗号化して第1暗号化データを生成し、前記第1ハッシュ鍵を用いて、前記第1送信データに一方向性演算を施して、前記相手装置における前記第1暗号化データの改竄検査のための第1検査値を算出し、生成した第1暗号化データと第1検査値とを前記相手装置へ送信 し、 前記通信の相手装置は、 前記第3鍵と前記第4鍵とに基づいて、第2暗号鍵を生成し 、 当該通信装置との間で、前記第2暗号鍵を用いて暗号通信を行う ことを特徴とする コンピュータプログラム。
  6. 6
    通信の相手 装置と共有した鍵を用いて暗号通信を行う通信装置と前記相手装置とから構成される暗号通信システムであって、 前記通信装置は、データ生成手段、復号手段、鍵生成手段及び通信手段を備え、 群上でベース元、前記相手装置の公開鍵及び前記通信装置の公開鍵が定義され、前記相手装置の前記公開鍵は、前記相手装置の私有鍵と前記ベース元とのべき演算により算出され、前記通信装置の前記公開鍵は、前記通信装置の私有鍵と前記ベース元とのべき演算により算出され、 前記データ生成手段は、乱数である第1シード値に第1一方向性演算を施して得られた演算結果を分割して、第1係数及び第1鍵を生成し、前記第1係数と前記ベース元とのべき演算により、前記群上の第1元を算出し、前記第1係数と前記相手装置の前記公開鍵とのべき演算により、前記群上の第2元を算出し、前記第1シード値と、前記第1元と前記第2元との結合結果に第2一方向性演算を施して得られた演算結果との排他的論理和により、第1検証値を算出し、第1暗号化鍵データとして、前記第1元及び前記第1検証値を前記相手装置へ送信し、 前記相手装置は、前記第1暗号化鍵データとして、前記第1元及び前記第1検証値を受信し、前記相手装置の前記私有鍵と前記第1元とのべき演算により、前記群上の第3元を算出し、前記第1検証値と、前記第1元と前記第3元との結合結果に 前記 第2一方向性演算を施して得られた演算結果との排他的論理和により、第2検証値を算出し、前記第2検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第4係数及び第4鍵を生成し、前記第4係数と前記ベース元とのべき演算の演算結果と、取得した前記第1元とを比較し、一致する場合に、前記第4鍵を前記第1鍵と同一の共有鍵とし、 前記相手装置は、乱数である第2シード値に前記第1一方向性演算を施して得られた前記演算結果を分割して、第3係数及び第3鍵を生成し、前記第3係数と前記ベース元とのべき演算により、前記群上の第4元を算出し、前記第3係数と前記通信装置の前記公開鍵とのべき演算により、前記群上の第5元を算出し、前記第2シード値と、前記第4元と前記第5元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第3検証値を算出し、第2暗号化鍵データとして、前記第4元及び前記第3検証値を前記通信装置へ送信し、 前記復号手段は、前記第2暗号化鍵データとして、前記第4元及び前記第3検証値を受信し、前記通信装置の前記私有鍵と前記第4元とのべき演算により、前記群上の第6元を算出し、前記第3検証値と、前記第4元と前記第6元との結合結果に前記第2一方向性演算を施して得られた演算結果との排他的論理和により、第4検証値を算出し、前記第4検証値に前記第1一方向性演算を施して得られた演算結果を分割して、第2係数及び第2鍵を生成し、前記第2係数と前記ベース元とのべき演算の演算結果と、取得した前記第4元とを比較し、一致する場合に、前記第2鍵を前記第3鍵と同一の共有鍵とし、 前記鍵生成手段は、 前記第1鍵と前記第2鍵とを用いて所定の演算を行い、その演算結果の一部分を第1暗号鍵として生成し、他の一部分を第1ハッシュ鍵として生成 し、 前記通信手段は、 前記第1暗号鍵を用いて、第1送信データを暗号化して第1暗号化データを生成し、前記第1ハッシュ鍵を用いて、前記第1送信データに一方向性演算を施して、前記相手装置における前記第1暗号化データの改竄検査のための第1検査値を算出し、生成した第1暗号化データと第1検査値とを前記相手装置へ送信 し、 前記通信の相手装置は、 前記第3鍵と前記第4鍵とに基づいて、第2暗号鍵を生成し 、 当該通信装置との間で、前記第2暗号鍵を用いて暗号通信を行う ことを特徴とする暗号通信システム。
Independent claims6