(57)【要約】【課題】原本データの秘匿性を確保した上で、原本の同一性を高度に保証し、演算負担を軽減することができる電子証明システムを提供する。【解決手段】依頼元となる第１の装置１において、証明書発行元となる第２の装置２の公開鍵を用いて乱数データを暗号化し、これにより得られた暗号化乱数データを原本データに乗じる演算を行い、これにより得られた乱数撹乱原本データを第２の装置に渡し、第２の装置において、乱数撹乱原本データに証明事項データを乗じる演算を行い、これにより得られた証明事項付き乱数撹乱原本データを自装置の秘密鍵を用いて暗号化し、これにより得られた証明書データを、検証を行う第１の装置または第３の装置に対して発行する。【選択図】図２
2009278223.tif 000002
【特許請求の範囲】
【請求項１】
依頼元となる第１の装置において、証明書発行元となる第２の装置の公開鍵を用いて乱数データを暗号化し、これにより得られた暗号化乱数データを原本データに乗じる演算を行い、これにより得られた乱数撹乱原本データを前記第２の装置に渡し、
前記第２の装置において、前記第１の装置から受け取った前記乱数撹乱原本データに証明事項データを乗じる演算を行い、これにより得られた証明事項付き乱数撹乱原本データを自装置の秘密鍵を用いて暗号化し、これにより得られた証明書データを前記第１の装置または他の装置に対して発行することを特徴とする電子証明システム。
【請求項２】
前記第１の装置または他の装置において、前記乱数データの逆数を前記証明書データに乗じる演算を行って前記証明書データから前記乱数データを除去し、これにより得られたデータを前記第２の装置の公開鍵を用いて復号化して、前記原本データと前記証明事項データとの積データを取得し、この積データに前記原本データの逆数を乗じて証明事項データを取得することを特徴とする請求項１に記載の電子証明システム。
【請求項３】
前記証明事項データを、前記第１の装置または他の装置が取得し、
前記第１の装置または他の装置において、前記乱数データの逆数を前記証明書データに乗じる演算を行って前記証明書データから前記乱数データを除去し、これにより得られたデータを前記第２の装置の公開鍵を用いて復号化して、前記原本データと前記証明事項データとの積データを取得し、この積データに前記証明事項データの逆数を乗じて前記原本データを取得することを特徴とする請求項１に記載の電子証明システム。
【請求項４】
前記第２の装置が、前記証明事項データを自装置の秘密鍵を用いて暗号化し、これにより得られた暗号化証明事項データ、若しくはこの暗号化証明事項データの逆数を前記第１の装置または他の装置が取得し、
前記第１の装置または他の装置において、前記乱数データの逆数、及び前記暗号化証明事項データの逆数を、前記証明書データに乗じる演算を行って暗号化原本データを取得し、この暗号化原本データを前記第２の装置の公開鍵を用いて復号化して前記原本データを取得することを特徴とする請求項１に記載の電子証明システム。
【請求項５】
前記証明事項データが、時刻情報を含むことを特徴とする請求項１乃至請求項４のいずれかに記載の電子証明システム。
【請求項６】
前記原本データが、複数の分割データに分割された状態で前記の各処理が行われることを特徴とする請求項１乃至請求項５のいずれかに記載の電子証明システム。
【請求項７】
通信先となる第１の装置において、通信元となる第２の装置の公開鍵を用いて乱数データを暗号化し、これにより得られた暗号化乱数データを前記第２の装置に渡し、
前記第２の装置において、秘匿通信するべき通知データに、前記第１の装置から受け取った前記暗号化乱数データを乗じる演算を行い、これにより得られた乱数撹乱通知データを自装置の秘密鍵を用いて暗号化して暗号化通知データを得て、この暗号化通知データを前記第１の装置に渡し、
前記第１の装置において、前記第２の装置から受け取った前記暗号化通知データに前記乱数データの逆数を乗じる演算を行って前記暗号化通知データから前記乱数データを除去し、これにより得られたデータを前記第２の装置の公開鍵を用いて復号化して通知データを求めることを特徴とする秘匿通信システム。
【請求項８】
前記通知データが、複数の分割データに分割された状態で前記の各処理が行われることを特徴とする請求項７に記載の秘匿通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原本の内容を秘匿したまま証明者に証明書を発行させる電子証明システム、及び他人に知られることなく通知データを通知装置から被通知装置に通知する秘匿通信システムに関するものである。
【背景技術】
【０００２】
近年、電子データに対して各種の証明書を発行するシステムの要望が高まっている。このような電子データに対する証明書の発行システムとして、電子データに時刻情報などを付与したタイムスタンプ（時刻証明書）を発行する技術が知られている。
【０００３】
また、電子データに対して各種の証明書を証明者に発行させる際に、原本の内容を秘匿したい場合があり、このような原本の内容の秘匿に関連する技術として、原本の内容を秘匿したまま署名者に署名させるブラインド署名の技術が知られている（特許文献１参照）。
【特許文献１】米国特許第４７５９０６３号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のブラインド署名の技術では、各種の証明事項が記載された証明事項データを付加することができないため、そのまま電子証明システムに応用することができない。また、従来のタイムスタンプの技術は、ハッシュ値の一致により原本の同一性を保証するものであるが、ハッシュ値の一致は原本が同一である蓋然性が高いことを示すものの、絶対に一致することを保証するものでなく、原本データそのものに証明事項データを付加して、原本の同一性を高度に保証することができるシステムが望まれる。また、このように原本データそのものに証明事項データを付加する場合、処理が煩雑であると、演算負担が大きく、コストが嵩むため、演算負担を軽減することができるシステムが望まれる。
【０００５】
本発明は、このような発明者の知見に基づき案出されたものであり、その主な目的は、原本データの秘匿性を確保した上で原本の同一性を高度に保証し、演算負担を軽減することができるように構成された電子証明システムを提供することにある。また、本発明は、前記の電子証明システムの技術を利用して、他人に知られることなく通知データを通知装置から被通知装置に通知する秘匿通信システムを提供することも目的とする。
【課題を解決するための手段】
【０００６】
本発明の電子証明システムは、依頼元となる第１の装置において、証明書発行元となる第２の装置の公開鍵を用いて乱数データを暗号化し、これにより得られた暗号化乱数データを原本データに乗じる演算を行い、これにより得られた乱数撹乱原本データを前記第２の装置に渡し、前記第２の装置において、前記第１の装置から受け取った前記乱数撹乱原本データに証明事項データを乗じる演算を行い、これにより得られた証明事項付き乱数撹乱原本データを自装置の秘密鍵を用いて暗号化し、これにより得られた証明書データを前記第１の装置または他の装置に対して発行する構成とする。
【０００７】
また、本発明の秘匿通信システムは、通信先となる第１の装置において、通信元となる第２の装置の公開鍵を用いて乱数データを暗号化し、これにより得られた暗号化乱数データを前記第２の装置に渡し、前記第２の装置において、秘匿通信するべき通知データに、前記第１の装置から受け取った前記暗号化乱数データを乗じる演算を行い、これにより得られた乱数撹乱通知データを自装置の秘密鍵を用いて暗号化して暗号化通知データを得て、この暗号化通知データを前記第１の装置に渡し、前記第１の装置において、前記第２の装置から受け取った前記暗号化通知データに前記乱数データの逆数を乗じる演算を行って前記暗号化通知データから前記乱数データを除去し、これにより得られたデータを前記第２の装置の公開鍵を用いて復号化して通知データを求める構成とする。
【発明の効果】
【０００８】
本発明によれば、原本データが乱数で撹乱された状態で証明書発行元となる第２の装置に渡されるため、第２の装置では原本データの内容を知ることができず、原本データの秘匿性を確保することができる。また、原本データが含まれた状態で証明書データが作成されるため、原本の同一性を高度に保証することができる。さらに、暗号化の他には乗算で済むため、演算負担を軽減することができる。
【発明を実施するための最良の形態】
【０００９】
前記課題を解決するためになされた第１の発明は、依頼元となる第１の装置において、証明書発行元となる第２の装置の公開鍵を用いて乱数データを暗号化し、これにより得られた暗号化乱数データを原本データに乗じる演算を行い、これにより得られた乱数撹乱原本データを前記第２の装置に渡し、前記第２の装置において、前記第１の装置から受け取った前記乱数撹乱原本データに証明事項データを乗じる演算を行い、これにより得られた証明事項付き乱数撹乱原本データを自装置の秘密鍵を用いて暗号化し、これにより得られた証明書データを前記第１の装置または他の装置に対して発行する構成とする。
【００１０】
これによると、原本データが乱数で撹乱された状態で証明書発行元となる第２の装置に渡されるため、第２の装置では原本データの内容を知ることができず、原本データの秘匿性を確保することができる。また、原本データが含まれた状態で証明書データが作成されるため、原本の同一性を高度に保証することができる。さらに、暗号化の他には乗算で済むため、演算負担を軽減することができる。
【００１１】
前記課題を解決するためになされた第２の発明は、前記第１の発明において、前記第１の装置または他の装置において、前記乱数データの逆数を前記証明書データに乗じる演算を行って前記証明書データから前記乱数データを除去し、これにより得られたデータを前記第２の装置の公開鍵を用いて復号化して、前記原本データと前記証明事項データとの積データを取得し、この積データに前記原本データの逆数を乗じて証明事項データを取得する構成とする。
【００１２】
これによると、原本データを用いることで、第２の装置が原本データに付与した証明事項データの中身を知ることが可能となる。
【００１３】
なおここで、第１の装置または他の装置において行うとしている一連の処理は、一つの装置内ですべてを処理するという限定を行っているものではない。複数の装置で分担して処理しても良い。
【００１４】
前記課題を解決するためになされた第３の発明は、前記第１の発明において、前記証明事項データを、前記第１の装置または他の装置が取得し、前記第１の装置または他の装置において、前記乱数データの逆数を前記証明書データに乗じる演算を行って前記証明書データから前記乱数データを除去し、これにより得られたデータを前記第２の装置の公開鍵を用いて復号化して、前記原本データと前記証明事項データとの積データを取得し、この積データに前記証明事項データの逆数を乗じて前記原本データを取得する構成とする。
【００１５】
これによると、証明事項データを用いることで、この証明事項データが付与された原本データの中身を知ることが可能となる。
【００１６】
なおここで、第１の装置または他の装置において行うとしている一連の処理は、一つの装置内ですべてを処理するという限定を行っているものではない。複数の装置で分担して処理しても良い。
【００１７】
またここで、第１の装置または他の装置が証明事項データを取得する方法を特定していないが、例えば、第１の装置または他の装置が、証明事項データを第４の発明で取得することでも良いし、第２の装置から直接取得することでも良い。
【００１８】
上記課題を解決するためになされた第４の発明は、前記第１の発明において、前記第２の装置が、前記証明事項データを自装置の秘密鍵を用いて暗号化し、これにより得られた暗号化証明事項データ、若しくはこの暗号化証明事項データの逆数を前記第１の装置または他の装置が取得し、前記第１の装置または他の装置において、前記乱数データの逆数、及び前記暗号化証明事項データの逆数を前記証明書データに乗じる演算を行って暗号化原本データを取得し、この暗号化原本データを前記第２の装置の公開鍵を用いて復号化して前記原本データを取得する構成とする。
【００１９】
これによると、第２の装置が生成した暗号化証明事項データを用いることで、この暗号化証明事項データが付与された原本データの中身を知ることが可能となる。暗号化証明事項データは、公開鍵で復号化できるので、これは、証明事項データが付与された原本データの中身を知ることと同じである。
【００２０】
なおここで、第１の装置または他の装置において行うとしている一連の処理は、一つの装置内ですべてを処理するという限定を行っているものではない。複数の装置で分担して処理しても良い。
【００２１】
前記課題を解決するためになされた第５の発明は、前記第１〜第４の発明において、前記証明事項データが、時刻情報を含む構成とする。
【００２２】
これによると、証明書データがタイムスタンプ（時刻証明書）となり、これに記載された時刻に原本データが確かに存在していたことが証明される。
【００２３】
前記課題を解決するためになされた第６の発明は、前記第１〜第５の発明において、前記原本データが、複数の分割データに分割された状態で前記の各処理が行われる構成とする。
【００２４】
これによると、各処理での演算負担を軽減することができる。この場合、最終的に原本データを閲覧する際には、分割データを統合すれば良く、この分割及び統合による処理は、暗号化及び復号化並びに乗算を分割せずに行う場合に比較して演算量を大幅に削減することができる。
【００２５】
前記課題を解決するためになされた第７の発明は、通信先となる第１の装置において、通信元となる第２の装置の公開鍵を用いて乱数データを暗号化し、これにより得られた暗号化乱数データを前記第２の装置に渡し、前記第２の装置において、秘匿通信するべき通知データに、前記第１の装置から受け取った前記暗号化乱数データを乗じる演算を行い、これにより得られた乱数撹乱通知データを自装置の秘密鍵を用いて暗号化して暗号化通知データを得て、この暗号化通知データを前記第１の装置に渡し、前記第１の装置において、前記第２の装置から受け取った前記暗号化通知データに前記乱数データの逆数を乗じる演算を行って前記暗号化通知データから前記乱数データを除去し、これにより得られたデータを前記第２の装置の公開鍵を用いて復号化して通知データを求める構成とする。
【００２６】
これによると、通信先となる第１の装置から通信元となる第２の装置に送られる暗号化乱数データに関しては、第２の装置の秘密鍵がなければ、乱数データを求めることはできず、また、第２の装置から第１の装置に送られる暗号化通知データに関しては、第１の装置で生成した乱数データを知らなければ、通知データを求めることはできないため、高度な秘匿性を確保することができる。
【００２７】
前記課題を解決するためになされた第８の発明は、前記第７の発明において、前記通知データが、複数の分割データに分割された状態で前記の各処理が行われる構成とする。
【００２８】
これによると、各処理での演算負担を軽減することができる。この場合、最終的に原本データを閲覧する際には、分割データを統合すれば良く、この分割及び統合による処理は、暗号化及び復号化並びに乗算を分割せずに行う場合に比較して演算量を大幅に削減することができる。
【００２９】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【００３０】
図１は、本発明による電子証明システムを示すシステム構成図である。この電子証明システムでは、依頼元となる第１の装置１からの依頼に応じて、時刻証明書（タイムスタンプ）などの各種の証明書を、証明書発行元となる第２の装置２が発行し、第３の装置３において証明書を用いた検証が行われる。
【００３１】
なおここでは、依頼元となる第１の装置１とは異なる第３の装置３で検証を行うものとしたが、第１の装置１で検証を行うことも可能であり、この場合、第１の装置１が第３の装置３を併合したものとなる。
【００３２】
原本データは、適当なデータ量の複数の分割データに分割された状態で、以下に示す第１・第２・第３の各装置１・２・３での各処理が行われる。
【００３３】
＜第１の実施形態＞
図２は、図１に示した第１〜第３の各装置の第１の例を示すブロック図である。依頼元となる第１の装置１は、乱数データＲを生成する乱数生成部１１と、乱数生成部１１で生成した乱数データＲを暗号化する暗号化部１２と、暗号化部１２で得られた暗号化乱数データＸ１で原本データＭを攪乱するデータ攪乱部１３とを有しており、データ攪乱部１３で得られた乱数撹乱原本データＸが第２の装置２に送られる。
【００３４】
暗号化部１２では、乱数データＲが第２の装置の公開鍵（Ｅ，Ｎ）を用いて暗号化され、ここで得られる暗号化乱数データＸ１は、次のようになる。なお、ここでは剰余系演算が行われ、以下同様である。
Ｘ１＝Ｒｅ  ｍｏｄ  Ｎ      （式１）
【００３５】
データ攪乱部１３では、暗号化部１２で得られた暗号化乱数データＸ１を原本データＭに乗じる演算が行われ、ここで得られる乱数撹乱原本データＸは、式１より、次のようになる。
Ｘ＝（Ｘ１×Ｍ）  ｍｏｄ  Ｎ
＝（Ｒｅ×Ｍ）  ｍｏｄ  Ｎ      （式２）
【００３６】
ここで、乱数撹乱原本データＸは、乱数データＲで攪乱されているため、乱数データＲを知らなければ、原本データＭを求めることができない。つまり、第２の装置２も含めて他の装置には、原本データＭの中身はわからない。
【００３７】
証明書発行元となる第２の装置２は、第１の装置１から受け取った乱数撹乱原本データＸに証明事項データＴを付加するデータ付加部２１と、データ付加部２１で得られた証明事項付き乱数撹乱原本データＬを暗号化する暗号化部２２と、を有しており、ここで得られた証明書データＹが、第１の装置１または第３の装置３に発行される。
【００３８】
ここで、証明事項データＴが、現在の時刻情報を含むものとすると、タイムスタンプとなる。
【００３９】
データ付加部２１では、乱数撹乱原本データＸに証明事項データＴを乗じる演算が行われ、ここで得られた証明事項付き乱数撹乱原本データＬは、式２より、次のようになる。
Ｌ＝（Ｘ×Ｔ）  ｍｏｄ  Ｎ
＝（Ｒｅ×Ｍ×Ｔ）  ｍｏｄ  Ｎ      （式３）
【００４０】
暗号化部２２では、証明事項付き乱数撹乱原本データＬを自装置の秘密鍵（Ｄ，Ｎ）を用いて暗号化する処理が行われ（ＲＳＡ暗号）、ここで得られた証明書データＹは、式３より、次のようになる。
Ｙ＝Ｌｄ  ｍｏｄ  Ｎ
＝（Ｒｅ×Ｍ×Ｔ）ｄ  ｍｏｄ  Ｎ
＝（Ｒｅｄ×（Ｍ×Ｔ）ｄ）  ｍｏｄ  Ｎ
＝（Ｒ×（Ｍ×Ｔ）ｄ）  ｍｏｄ  Ｎ  （式４）
【００４１】
ここでは、第１の装置１で暗号化された乱数データＲが元に戻り、原本データＭと証明事項データＴとの積データＭ×Ｔが第２の装置２の秘密鍵で暗号化された状態となっており、第２の装置２の公開鍵（Ｅ，Ｎ）があっても、乱数データＲを知らなければ、原本データＭ及び証明事項データＴを求めることができない。
【００４２】
第３の装置３は、原本データＭ及び乱数データＲを第１の装置１から受け取り、また証明書データＹを、第２の装置２から直接あるいは第１の装置１を介して受け取る。
【００４３】
第３の装置３は、証明書データＹから乱数データＲを除去する乱数除去部３１と、乱数除去部３１で得られたデータＺ１を復号化する復号化部３２と、復号化部３２で得られたデータＺから証明事項データＴを抽出するデータ抽出部３３とを有している。
【００４４】
乱数除去部３１では、証明書データＹに乱数データＲの逆数Ｒ−１を乗じる演算が行われ、ここで得られるデータＺ１は、式４より、次のようになる。
Ｚ１＝（Ｙ×Ｒ−１）  ｍｏｄ  Ｎ
＝（Ｒ×（Ｍ×Ｔ）ｄ×Ｒ−１）  ｍｏｄ  Ｎ
＝（Ｍ×Ｔ）ｄ  ｍｏｄ  Ｎ      （式５）
これは、原本データＭと証明事項データＴとの積データＭ×Ｔを第２の装置２の秘密鍵（Ｄ，Ｎ）で暗号化したものである。
【００４５】
復号化部３２では、乱数除去部３１で得られたデータＺ１が第２の装置２の公開鍵（Ｅ，Ｎ）を用いて復号化され、ここで得られるデータＺは、式５より、次のように、原本データＭと証明事項データＴとの積データＭ×Ｔとなる。
Ｚ＝Ｚ１ｅ  ｍｏｄ  Ｎ
＝（Ｍ×Ｔ）ｄｅ  ｍｏｄ  Ｎ
＝（Ｍ×Ｔ）  ｍｏｄ  Ｎ
【００４６】
データ抽出部３３では、復号化部３２で得られたデータＺ、すなわち積データＭ×Ｔに第１の装置から受け取った原本データＭの逆数Ｍ−１を乗じる演算が行われ、証明事項データＴが求められる。
【００４７】
第２の装置２の公開鍵で復号化したデータから原本データＭを除去したので、これによって取得された証明事項データＴは、第２の装置２によって生成されたものと見なすことができる。なお適当なデータに対しても、第２の装置２の公開鍵で復号を行い、これから原本データＭを除去すれば、何らかのデータは取得されるが、証明事項データＴとしての意味をなさないので、これは不当なデータであることが判別できる。特に、証明事項データＴに定型のフォーマットを付与すれば、この真偽の検知は簡単になる。
【００４８】
これにより、原本データＭに対して、第２の装置２が付与した証明事項データＴを検証することができる。
【００４９】
なおここでは、第３の装置３において、乱数除去を行っているが、実用上は、第２の装置２は証明書データＹを第１の装置１に渡し、乱数除去までは第１の装置１で行い、第１の装置１が（Ｍ×Ｔ）ｄを検証者である第３の装置３に渡すとするのが、乱数を管理する手間が省けて良い。
【００５０】
＜第２の実施形態＞
図３は、図１に示した第１〜第３の各装置の第２の例を示すブロック図である。ここでは、第２の装置２から、証明書データＹと共に証明事項データＴまたはその逆数Ｔ−１が、第１の装置１または第３の装置３に送られる。
【００５１】
第３の装置３は、証明事項データＴまたはその逆数Ｔ−１を、第２の装置２から直接あるいは第１の装置１を介して受け取る。第３の装置３では、データ抽出部３４において、復号化部３２で得られたデータＺ、すなわち積データＭ×Ｔに、第２の装置２から受け取った証明事項データＴの逆数Ｔ−１を乗じる演算が行われ、原本データＭが求められる。その他の構成は、前記図２の例と同様である。これにより、第２の装置２が付与した証明事項データＴの原本データＭを検証することができる。
【００５２】
なおここでは、第３の装置３において、乱数除去を行っているが、実用上は、第２の装置２は証明書データＹを第１の装置１に渡し、乱数除去までは第１の装置１で行い、第１の装置１が（Ｍ×Ｔ）ｄを検証者である第３の装置３に渡すとするのが、乱数を管理する手間が省けて良い。
【００５３】
＜第３の実施形態＞
図４は、図１に示した第１〜第３の各装置の第３の例を示すブロック図である。ここでは、第２の装置２が、証明事項データＴを自装置の秘密鍵（Ｄ，Ｎ）を用いて暗号化する暗号化部２３を有しており、ここで得られた暗号化証明事項データＴｄまたはその逆数Ｔ−ｄが証明書データＹと共に、第１の装置１または第３の装置３に送られる。
【００５４】
第３の装置３は、暗号化証明事項データＴｄまたはその逆数Ｔ−ｄを、第２の装置２から直接あるいは第１の装置１を介して受け取る。第３の装置３は、乱数除去部３１で得られたデータＺ１から暗号化証明事項データＴｄを除去してデータＭｄのみのデータとするデータ抽出部３６と、データ抽出部３６で得られたデータＭｄを復号化する復号化部３７とを有している。
【００５５】
データ抽出部３６では、乱数除去部３１で得られたデータＺ１に暗号化証明事項データＴｄの逆数Ｔ−ｄを乗じる演算が行われ、ここで得られるデータＺは、式５より、次のようになる。
Ｚ＝（Ｚ１×Ｔ−ｄ）  ｍｏｄ  Ｎ
＝（（Ｍ×Ｔ）ｄ×Ｔ−ｄ）  ｍｏｄ  Ｎ
＝Ｍｄ  ｍｏｄ  Ｎ
これは、原本データＭを第２の装置２の秘密鍵（Ｄ，Ｎ）で暗号化したものである。
【００５６】
復号化部３７では、データ抽出部３６で得られたデータＭｄを第２の装置２の公開鍵（Ｅ，Ｎ）を用いて復号化する処理が行われ、原本データＭが得られる。これにより、第２の装置２が付与した暗号化証明事項データＴの原本データＭを検証することができる。第３の装置３では、復号化部３７において、データＭｄと同様に、暗号化証明事項データＴｄを、第２の装置２の公開鍵（Ｅ，Ｎ）を用いて復号化し、証明事項データＴを取得することが可能なので、第３の装置３は、第２の装置２が付与した証明事項データＴの原本データＭを検証することができる。
【００５７】
なおここでは、第３の装置３において、乱数除去を行っているが、実用上は、第２の装置２は証明書データＹを第１の装置１に渡し、乱数除去までは第１の装置１で行い、第１の装置１が（Ｍ×Ｔ）ｄを検証者である第３の装置３に渡すとするのが、乱数を管理する手間が省けて良い。
【００５８】
図５は、本発明による秘匿通信システムを示すシステム構成図である。この秘匿通信システムでは、通信先となる第１の装置５と通信元となる第２の装置６とがネットワーク接続され、秘匿通信するべき通知データが第２の装置６から第１の装置５に送られる。
【００５９】
通知データは、適当なデータ量の複数の分割データに分割された状態で、以下に示す第１・第２の各装置５・６での各処理が行われる。
【００６０】
図６は、図５に示した第１・第２の各装置の一例を示すブロック図である。通信先となる第１の装置５は、乱数データＲを生成する乱数生成部５１と、乱数生成部５１で生成した乱数データＲを暗号化する暗号化部５２とを有しており、暗号化部５２で得られた暗号化乱数データＸが第２の装置６に送られる。
【００６１】
暗号化部５２では、乱数データＲが第２の装置２の公開鍵（Ｅ，Ｎ）を用いて暗号化され、ここで得られる暗号化乱数データＸは、次のようになる。
Ｘ＝Ｒｅ  ｍｏｄ  Ｎ      （式６）
【００６２】
通信元となる第２の装置６は、第１の装置５から受け取った暗号化乱数データＸに通知データＴを付加するデータ付加部６１と、データ付加部６１で得られた乱数撹乱通知データＬを暗号化する暗号化部６２と、を有しており、ここで得られた暗号化通知データＹが第１の装置５に送られる。
【００６３】
データ付加部６１では、暗号化乱数データＸに通知データＴを乗じる演算が行われ、ここで得られた乱数撹乱通知データＬは、式６より、次のようになる。
Ｌ＝（Ｘ×Ｔ）  ｍｏｄ  Ｎ
＝（Ｒｅ×Ｔ）  ｍｏｄ  Ｎ      （式７）
【００６４】
暗号化部６２では、乱数撹乱通知データＬを自装置の秘密鍵（Ｄ，Ｎ）を用いて暗号化する処理が行われ（ＲＳＡ暗号）、ここで得られた暗号化通知データＹは、式７より、次のようになる。
Ｙ＝Ｌｄ  ｍｏｄ  Ｎ
＝（Ｒｅ×Ｔ）ｄ  ｍｏｄ  Ｎ
＝（Ｒｅｄ×Ｔｄ）  ｍｏｄ  Ｎ
＝（Ｒ×Ｔｄ）  ｍｏｄ  Ｎ      （式８）
【００６５】
ここで、この暗号化通知データＹは、乱数データＲで攪乱されているため、第２の装置２の公開鍵（Ｅ，Ｎ）があっても、乱数データＲを知らなければ、通知データＴを求めることができない。このため、第２の装置６と第１の装置５との間の通信に介入する中間者がいても、その中間者は通信の内容を知ることができない。
【００６６】
第１の装置５は、さらに、第２の装置６から受け取った暗号化通知データＹから乱数データＲを除去する乱数除去部５３と、乱数除去部５３で得られたデータＺ１を復号化する復号化部５４と、を有している。
【００６７】
乱数除去部５３では、暗号化通知データＹに乱数データＲの逆数Ｒ−１を乗じる演算が行われ、ここで得られるデータＺ１は、式８より、次のようになる。
Ｚ１＝（Ｙ×Ｒ−１）  ｍｏｄ  Ｎ
＝（Ｒ×Ｔｄ×Ｒ−１）  ｍｏｄ  Ｎ
＝Ｔｄ  ｍｏｄ  Ｎ      （式９）
これは、通知データＴを第２の装置２の秘密鍵（Ｄ，Ｎ）で暗号化したものである。
【００６８】
復号化部５４では、乱数除去部５３で得られたデータＺ１が第２の装置２の公開鍵（Ｅ，Ｎ）を用いて復号化され、通知データＴを取得する。
【００６９】
この構成では、通信先となる第１の装置５から通信元となる第２の装置６に送られる暗号化乱数データＸに関しては、第２の装置６の秘密鍵がなければ、乱数データＲを求めることはできず、また、第２の装置６から第１の装置５に送られる暗号化通知データＹに関しては、第１の装置５で生成した乱数データＲを知らなければ、通知データＴを求めることはできないため、高度な秘匿性を確保することができる。
【産業上の利用可能性】
【００７０】
本発明にかかる電子証明システムは、原本データの秘匿性を確保した上で、原本の同一性を高度に保証し、演算負担を軽減することができる効果を有し、原本の内容を秘匿したまま証明者に証明書を発行させる電子証明システムなどとして有用である。また、本発明にかかる秘匿通信システムは、他人に知られることなく通知データを通知装置から被通知装置に通知する秘匿通信システムなどとして有用である。
【図面の簡単な説明】
【００７１】
【図１】本発明による電子証明システムを示すシステム構成図
【図２】図１に示した第１〜第３の各装置の第１の例を示すブロック図
【図３】図１に示した第１〜第３の各装置の第２の例を示すブロック図
【図４】図１に示した第１〜第３の各装置の第３の例を示すブロック図
【図５】本発明による秘匿通信システムを示すシステム構成図
【図６】図５に示した第１・第２の各装置の一例を示すブロック図
【符号の説明】
【００７２】
１  第１の装置（依頼元）
２  第２の装置（証明書発行元）
３  第３の装置（検証者）
５  第１の装置（通信先）
６  第１の装置（通信元）
１１・５１  乱数生成部
１２・５２  暗号化部
１３  データ攪乱部
２１・６１  データ付加部
２２・２３・６２  暗号化部
３１・５３  乱数除去部
３２・３７・５４  復号化部
３３・３４・３６  データ抽出部
【図１】
2009278223.tif 000003
【図２】
2009278223.tif 000004
【図３】
2009278223.tif 000005
【図４】
2009278223.tif 000006
【図５】
2009278223.tif 000007
【図６】
2009278223.tif 000008