"サーバ、ユーザ端末および判定サーバを有する判定システムにおける暗号化値判定方法であって、前記サーバは、a0暗号化すべき値が所定のグループに属する値である第1の値か、前記グループには属さない値である第2の値かを判定し、a1前記第1の値に対しては、第1の暗号鍵による暗号化処理を行って、第1の暗号化値を算出し、a2前記第1の暗号化値に対し、第2の暗号鍵による第2の暗号化処理を行って、第2の暗号化値を算出し、前記第1の値と、前記第1の暗号化値と、を判定用データに対応付けて格納し、a3前記第2の値に対しては、ランダムな値を第2の暗号化値として算出し、当該第2の値と、当該第2の暗号化値と、を判定用データに対応付けて格納し、a4前記判定用データと、前記第1の暗号鍵を前記ユーザ端末へ送信し、a5前記第2の暗号鍵を、前記判定サーバへ送信し、前記ユーザ端末は、a6入力部を介して任意の値が入力されると、前記任意の値が前記第1の値に該当する場合、前記第1の値に対応する前記第2の暗号化値を取得し、前記任意の値が前記第2の値に該当する場合、前記第2の値に対応する前記第2の暗号化値を取得し、a7前記任意の値に対し、前記第1の暗号鍵による前記第1の暗号化処理を行って、第3の暗号化値を算出し、a8前記判定用データから前記任意の値に対応する前記第2の暗号化値を取得し、a9前記第3の暗号化値と、当該取得した第2の暗号化値と、を対とした通信データを前記判定サーバへ送信し、前記判定サーバは、a10前記ユーザ端末から送信された第2の暗号化値を、前記第2の暗号鍵を用いて、復号化した復号値を算出し、a11前記復号値と、前記第3の暗号化値と、が一致するか否かを判定し、該判定結果を前記第1のサーバへ送信することを特徴とする暗号化値判定方法。前記第1の値は、所定のしきい値を超えていない値であり、前記第2の値は、所定のしきい値を超えている値であり、前記サーバは、前記しきい値および前記しきい値から1減算した減算しきい値のそれぞれについて、前記第1の値および前記第2の値を2進数展開し、所定のビット毎に区切った桁毎に、前記a0~a5の処理を行い、前記ユーザ端末は、前記しきい値および前記しきい値から1減算した減算しきい値のそれぞれについて、前記任意の値を2進数展開し、所定のビット毎に区切った桁毎に、前記a6~a9の処理を行い、前記判定サーバは、前記しきい値から1減算した値である減算しきい値のそれぞれについて、前記桁毎に、処理対象となっている桁に関する前記判定用データと、前記通信データと、を基に、前記a10およびa11の処理を行うことを特徴とする請求項1に記載の暗号化値判定方法。前記第1の値は、所定のしきい値を超えている値であり、前記第2の値は、所定のしきい値を超えていない値であり、前記サーバは、前記しきい値および前記しきい値から1減算した減算しきい値のそれぞれについて、前記第1の値および前記第2の値を2進数展開し、所定のビット毎に区切った桁毎に、前記a0~a5の処理を行い、前記ユーザ端末は、前記しきい値および前記しきい値から1減算した減算しきい値のそれぞれについて、前記任意の値を2進数展開し、所定のビット毎に区切った桁毎に、前記a6~a9の処理を行い、前記判定サーバは、前記しきい値から1減算した値である減算しきい値のそれぞれについて、前記桁毎に、処理対象となっている桁に関する前記判定用データと、前記通信データと、を基に、前記a10およびa11の処理を行うことを特徴とする請求項1に記載の暗号化値判定方法。前記第1の値は、所定のしきい値を超えていない値であり、前記第2の値は、所定のしきい値を超えている値であり、前記サーバは、前記第1の値および前記第2の値を2進数展開し、所定のビット毎に区切った桁毎に、前記a0~a5の処理を行い、前記ユーザ端末は、前記任意の値を2進数展開し、所定のビット毎に区切った桁毎に、前記a6~a9の処理を行い、前記桁の値を1加算した値について、前記桁毎に、前記a6~a9の処理を行い、前記判定サーバは、前記桁毎に、処理対象となっている桁に関し、前記加算を行っていない桁および前記加算した桁のそれぞれについての前記判定用データと、前記通信データと、を基に、前記a10の処理を行った後、前記a11の処理を行うことを特徴とする請求項1に記載の暗号化値判定方法。前記第1の値は、所定のしきい値を超えている値であり、前記第2の値は、所定のしきい値を超えていない値であり、前記サーバは、前記第1の値および前記第2の値を2進数展開し、所定のビット毎に区切った桁毎に、前記a0~a5の処理を行い、前記ユーザ端末は、前記任意の値を2進数展開し、所定のビット毎に区切った桁毎に、前記a6~a9の処理を行い、前記桁の値を1加算した値について、前記桁毎に、前記a6~a9の処理を行い、前記判定サーバは、前記桁毎に、処理対象となっている桁に関し、前記加算を行っていない桁および前記加算した桁のそれぞれについての前記判定用データと、前記通信データと、を基に、前記a10の処理を行った後、前記a11の処理を行うことを特徴とする請求項1に記載の暗号化値判定方法。サーバ、ユーザ端末および判定サーバを有する判定システムにおける暗号化値判定方法であって、前記サーバは、b0暗号化すべき値が所定のグループに属する値である第1の値か、前記グループには属さない値である第2の値かを判定し、b1前記第1の値に対しては、第1の暗号鍵による暗号化処理を行って、第1の暗号化値を算出し、前記第1の値と、前記第1の暗号化値と、を判定用データに対応付けて格納し、b2前記第1の暗号化値に対し、準同型暗号である第2の暗号鍵による第2の暗号化処理を行って、第2の暗号化値を算出し、当該第2の値と、当該第2の暗号化値と、を判定用データに対応付けて格納し、b3前記第2の値に対しては、ランダムな値を第2の暗号化値として算出し、b4前記判定用データと、前記第1の暗号鍵と、前記第2の暗号鍵を前記ユーザ端末へ送信し、b5前記第2の暗号鍵に対応する復号鍵を、前記判定サーバへ送信し、前記ユーザ端末は、b6入力部を介して任意の値が入力されると、前記任意の値が前記第1の値に該当する場合、前記第1の値に対応する前記第2の暗号化値を取得し、前記任意の値が前記第2の値に該当する場合、前記第2の値に対応する前記第2の暗号化値を取得し、b7前記任意の値に対し、前記第1の暗号鍵による前記第1の暗号化処理を行って、第3の暗号化値を算出し、b8前記判定用データから前記任意の値に対応する前記第2の暗号化値を取得し、b9乱数を生成し、b10前記乱数を、前記第2の暗号鍵による前記第2の暗号化処理を行って乱数暗号値を算出し、b11前記乱数を、前記第3の暗号化値に乗算した第4の暗号化値を算出し、b12前記乱数暗号化値を、前記取得した第2の暗号化値に乗算した第5の暗号化値を算出し、b13前記第4の暗号化値と、前記第5の暗号化値と、を対とした通信データを前記判定サーバへ送信し、前記判定サーバは、b14前記ユーザ端末から送信された第5の暗号化値を、前記復号鍵を用いて、復号化した復号値を算出し、b15前記復号値と、前記第4の暗号化値と、が一致するか否かを判定し、該判定結果を前記第1のサーバへ送信することを特徴とする暗号化値判定方法。前記第1の値は、所定のしきい値を超えていない値であり、前記第2の値は、所定のしきい値を超えている値であり、前記サーバは、前記しきい値および前記しきい値から1減算した減算しきい値のそれぞれについて、前記第1の値および前記第2の値を2進数展開し、所定のビット毎に区切った桁毎に、前記b0~b5の処理を行い、前記ユーザ端末は、前記しきい値および前記しきい値から1減算した減算しきい値のそれぞれについて、前記任意の値を2進数展開し、所定のビット毎に区切った桁毎に、前記b6~b13の処理を行い、前記判定サーバは、前記しきい値から1減算した値である減算しきい値のそれぞれについて、前記桁毎に、処理対象となっている桁に関する前記判定用データと、前記通信データと、を基に、前記b14およびb15の処理を行うことを特徴とする請求項6に記載の暗号化値判定方法。前記第1の値は、所定のしきい値を超えている値であり、前記第2の値は、所定のしきい値を超えていない値であり、前記サーバは、前記しきい値および前記しきい値から1減算した減算しきい値のそれぞれについて、前記第1の値および前記第2の値を2進数展開し、所定のビット毎に区切った桁毎に、前記b0~b5の処理を行い、前記ユーザ端末は、前記しきい値および前記しきい値から1減算した減算しきい値のそれぞれについて、前記任意の値を2進数展開し、所定のビット毎に区切った桁毎に、前記b6~b13の処理を行い、前記判定サーバは、前記しきい値から1減算した値である減算しきい値のそれぞれについて、前記桁毎に、処理対象となっている桁に関する前記判定用データと、前記通信データと、を基に、前記b14およびb15の処理を行うことを特徴とする請求項6に記載の暗号化値判定方法。前記第1の値は、所定のしきい値を超えていない値であり、前記第2の値は、所定のしきい値を超えている値であり、前記サーバは、前記第1の値および前記第2の値を2進数展開し、所定のビット毎に区切った桁毎に、前記b0~b5の処理を行い、前記ユーザ端末は、前記任意の値を2進数展開し、所定のビット毎に区切った桁毎に、前記b6~b13の処理を行い、前記桁の値を1加算した値について、前記桁毎に、前記b6~b13の処理を行い、前記判定サーバは、前記桁毎に、処理対象となっている桁に関し、前記加算を行っていない桁および前記加算した桁のそれぞれについての前記判定用データと、前記通信データと、を基に、前記b14の処理を行った後、前記b15の処理を行うことを特徴とする請求項6に記載の暗号化値判定方法。前記第1の値は、所定のしきい値を超えている値であり、前記第2の値は、所定のしきい値を超えていない値であり、前記サーバは、前記第1の値および前記第2の値を2進数展開し、所定のビット毎に区切った桁毎に、前記b0~b5の処理を行い、前記ユーザ端末は、前記任意の値を2進数展開し、所定のビット毎に区切った桁毎に、前記b6~b13の処理を行い、前記桁の値を1加算した値について、前記桁毎に、前記b6~b13の処理を行い、前記判定サーバは、前記桁毎に、処理対象となっている桁に関し、前記加算を行っていない桁および前記加算した桁のそれぞれについての前記判定用データと、前記通信データと、を基に、前記b14の処理を行った後、前記b15の処理を行うことを特徴とする請求項6に記載の暗号化値判定方法。サーバ、ユーザ端末および判定サーバを有する判定システムであって、前記サーバは、a0暗号化すべき値が所定のグループに属する値である第1の値か、前記グループには属さない値である第2の値かを判定し、a1前記第1の値に対しては、第1の暗号鍵による暗号化処理を行って、第1の暗号化値を算出し、a2前記第1の暗号化値に対し、第2の暗号鍵による第2の暗号化処理を行って、第2の暗号化値を算出し、前記第1の値と、前記第1の暗号化値と、を判定用データに対応付けて格納し、a3前記第2の値に対しては、ランダムな値を第2の暗号化値として算出し、当該第2の値と、当該第2の暗号化値と、を判定用データに対応付けて格納し、a4前記判定用データと、前記第1の暗号鍵を前記ユーザ端末へ送信し、a5前記第2の暗号鍵を、前記判定サーバへ送信し、前記ユーザ端末は、a6入力部を介して任意の値が入力されると、前記任意の値が前記第1の値に該当する場合、前記第1の値に対応する前記第2の暗号化値を取得し、前記任意の値が前記第2の値に該当する場合、前記第2の値に対応する前記第2の暗号化値を取得し、a7前記任意の値に対し、前記第1の暗号鍵による前記第1の暗号化処理を行って、第3の暗号化値を算出し、a8前記判定用データから前記任意の値に対応する前記第2の暗号化値を取得し、a9前記第3の暗号化値と、当該取得した第2の暗号化値と、を対とした通信データを前記判定サーバへ送信し、前記判定サーバは、a10前記ユーザ端末から送信された第2の暗号化値を、前記第2の暗号鍵を用いて、復号化した復号値を算出し、a11前記復号値と、前記第3の暗号化値と、が一致するか否かを判定し、該判定結果を前記第1のサーバへ送信することを特徴とする判定システム。サーバ、ユーザ端末および判定サーバを有する判定システムであって、前記サーバは、b0暗号化すべき値が所定のグループに属する値である第1の値か、前記グループには属さない値である第2の値かを判定し、b1前記第1の値に対しては、第1の暗号鍵による暗号化処理を行って、第1の暗号化値を算出し、前記第1の値と、前記第1の暗号化値と、を判定用データに対応付けて格納し、b2前記第1の暗号化値に対し、準同型暗号である第2の暗号鍵による第2の暗号化処理を行って、第2の暗号化値を算出し、当該第2の値と、当該第2の暗号化値と、を判定用データに対応付けて格納し、b3前記第2の値に対しては、ランダムな値を第2の暗号化値として算出し、b4前記判定用データと、前記第1の暗号鍵と、前記第2の暗号鍵を前記ユーザ端末へ送信し、b5前記第2の暗号鍵に対応する復号鍵を、前記判定サーバへ送信し、前記ユーザ端末は、b6入力部を介して任意の値が入力されると、前記任意の値が前記第1の値に該当する場合、前記第1の値に対応する前記第2の暗号化値を取得し、前記任意の値が前記第2の値に該当する場合、前記第2の値に対応する前記第2の暗号化値を取得し、b7前記任意の値に対し、前記第1の暗号鍵による前記第1の暗号化処理を行って、第3の暗号化値を算出し、b8前記判定用データから前記任意の値に対応する前記第2の暗号化値を取得し、b9乱数を生成し、b10前記乱数を、前記第2の暗号鍵による前記第2の暗号化処理を行って乱数暗号値を算出し、b11前記乱数を、前記第3の暗号化値に乗算した第4の暗号化値を算出し、b12前記乱数暗号化値を、前記取得した第2の暗号化値に乗算した第5の暗号化値を算出し、b13前記第4の暗号化値と、前記第5の暗号化値と、を対とした通信データを前記判定サーバへ送信し、前記判定サーバは、b14前記ユーザ端末から送信された第5の暗号化値を、前記復号鍵を用いて、復号化した復号値を算出し、b15前記復号値と、前記第4の暗号化値と、が一致するか否かを判定し、該判定結果を前記第1のサーバへ送信することを特徴とする判定システム。ところで、例えば、会社がある値に関する統計をとるために、ユーザから値に関する情報を取得したい場合がある。例えば、自動車会社が、ある車に関する値を、ユーザから取得して統計するために、まず、自動車整備会社にその値を集めさせ、その値があるしきい値を超えているか否かを自動車整備会社に判定させ、その結果を自動車会社で取得統計したい場合がある。このような場合、自動車会社は、自動者整備会社にしきい値に関する情報を知られたくないことがある。このような場合、非特許文献1および非特許文献2に記載された技術では、サービス提供者前記した例では自動車会社などはサーバに預託する暗号化したデータの完全一致検索しかできず、値の大小比較はできない。つまり、サービス提供者が、ユーザによって送信された値に対し、あるしきい値に対する大小で、その後の処理を決定したい場合、非特許文献1、非特許文献2の検索技術ではユーザから送信される値が取りうるすべての値に対する一致検索を実行することでしかしきい値に対する大小情報を決めることができず、非効率的である。また、このような処理は判定者前記した例では自動車整備会社にユーザの値の情報の多く、またはすべてを開示してしまうことにつながり、安全性の観点から不適である。また、ユーザが送信しうる値の個数が少ない場合、決定性の暗号では通信データの頻度解析により、ユーザの傾向が露呈するおそれがある。また、非特許文献3に記載された技術を、前記したしきい値判定に用いる場合、ユーザの値の情報が多く漏れてしまう。実際、しきい値判定サーバ前記した例では自動車整備会社に設置されているサーバがしきい値を種々に変えながらユーザに比較プロトコルの要求をした場合、ユーザの値の特定まで可能になり、秘匿性が十分保てない。さらに、ユーザが取りうる値が大きくなり、その値の個数が比較的大きい場合、計算量や通信量が膨大になる個数または値の最大値が232の場合、232回の暗号処理と、数ギガバイトのデータ送信が必要となる。このような背景に鑑みて本発明がなされたのであり、本発明は、暗号化対象値の条件に関する情報を他者に漏洩しないことを課題とする。前記課題を解決するため、本発明は、サーバ、ユーザ端末および判定サーバを有する判定システムにおける暗号化値判定方法であって、前記サーバは、a0暗号化すべき値が所定のグループに属する値である第1の値か、前記グループには属さない値である第2の値かを判定し、a1前記第1の値に対しては、第1の暗号鍵による暗号化処理を行って、第1の暗号化値を算出し、a2前記第1の暗号化値に対し、第2の暗号鍵による第2の暗号化処理を行って、第2の暗号化値を算出し、前記第1の値と、前記第1の暗号化値と、を判定用データに対応付けて格納し、a3前記第2の値に対しては、ランダムな値を第2の暗号化値として算出し、当該第2の値と、当該第2の暗号化値と、を判定用データに対応付けて格納し、a4前記判定用データと、前記第1の暗号鍵を前記ユーザ端末へ送信し、a5前記第2の暗号鍵を、前記判定サーバへ送信し、前記ユーザ端末は、a6入力部を介して任意の値が入力されると、前記任意の値が前記第1の値に該当する場合、前記第1の値に対応する前記第2の暗号化値を取得し、前記任意の値が前記第2の値に該当する場合、前記第2の値に対応する前記第2の暗号化値を取得し、a7前記任意の値に対し、前記第1の暗号鍵による前記第1の暗号化処理を行って、第3の暗号化値を算出し、a8前記判定用データから前記任意の値に対応する前記第2の暗号化値を取得し、a9前記第3の暗号化値と、当該取得した第2の暗号化値と、を対とした通信データを前記判定サーバへ送信し、前記判定サーバは、a10前記ユーザ端末から送信された第2の暗号化値を、前記第2の暗号鍵を用いて、復号化した復号値を算出し、a11前記復号値と、前記第3の暗号化値と、が一致するか否かを判定し、該判定結果を前記第1のサーバへ送信することを特徴とする。本発明によれば、暗号化対象値の条件に関する情報を他者に漏洩しないことが可能となる。次に、本発明を実施するための形態実施形態というについて、適宜図面を参照しながら詳細に説明する。《システム構成》図1は、本実施形態に係る秘匿しきい値判定システムの構成例を示す図である。図1の構成は、後記する第1~第4実施形態に共通の構成である。秘匿しきい値判定システムAは、ユーザ端末1と、サービス提供者サーバサーバ2と、しきい値判定サーバ判定サーバ3とがネットワーク4を介して互いに接続された構成となっている。ここで、前記した例を用いると、サービス提供者サーバ2は自動車会社に設置され、しきい値判定サーバ3は自動車整備会社に設置され、ユーザ端末1は自動車のユーザが所有している端末である。ユーザ端末1は、秘匿化した値をしきい値判定サーバ3へ送信する暗号データの生成および送信を行う。サービス提供者サーバ2は、後記する秘匿しきい値判定用の暗号化鍵、復号化鍵およびしきい値判定用データ判定用データの生成、さらにしきい値判定サーバ3によるしきい値判定結果を受信する。しきい値判定サーバ3は、ユーザ端末1が送信した暗号化された通信データを受信し、しきい値判定を実行し、その結果をサービス提供者サーバ2へ送信する。《第1実施形態》次に、図2~図8を参照して、本発明に係る第1実施形態を説明する。ユーザ端末図2は、第1実施形態に係るユーザ端末の構成例を示す図である。ユーザ端末1は、制御部11と、記憶部12と、情報を入力する入力部13と、情報を出力する出力部14と、外部装置との情報の送受信を行う通信部15とを有する。制御部11は、全体処理部111と、暗号化部112と、基本演算部113とを有する。全体処理部111は、ユーザ端末1における処理を統括制御したり、入力部13を介して、受け付けた情報を記憶部12に格納したり、サービス提供者サーバ2や、しきい値判定サーバ3との情報を送受信を制御する。また、全体処理部111は、平文データを、出力部14に表示する処理を行ったり、記憶部12に格納されている平文データを読み込み、それぞれ、暗号化部112や、基本演算部113に平文データの暗号化処理を行わせたり、暗号化された通信データや、ユーザ端末1の属性データや、一時情報を、通信部15を介して、しきい値判定サーバ3図1へ送信する。暗号化部112は、平文データと、秘密鍵が入力されると、秘密鍵を用いて暗号化を行い、出力された暗号化データを一時情報として記憶部12に格納する。なお、暗号化部112は、標準的な共通鍵暗号アルゴリズムの実装により実現可能である。基本演算部113は、加算、減算、比較演算などの基本的な算術演算に関する処理を行う。記憶部12には、通信データと、秘密鍵と、しきい値判定用データと、一時情報が格納されている。通信データは、平文データと、ユーザ端末1の属性データとを有している。秘密鍵は、平文データを暗号化する際に用いられる。しきい値判定用データは、しきい値判定サーバ3にしきい値判定を依頼する際に用いるデータを特定する情報であり、その詳細は後記する。なお、安全性の観点から、しきい値判定用データは、ユーザ端末1において秘密に管理されるべき情報である。一時情報は、制御部11での処理で一時的に必要となる情報が格納される。サービス提供者サーバ図3は、第1実施形態に係るサービス提供者サーバの構成例を示す図である。サービス提供者サーバ2は、制御部21と、記憶部22と、情報を入力する入力部23と、情報を出力する出力部24と、外部装置との情報の送受信を行う通信部25とを有する。制御部21は、全体処理部211と、暗号化部212と、復号化部213と、乱数生成部214と、基本演算部215とを有する。全体処理部211は、サービス提供者サーバ2における処理を統括制御したり、入力部201を介して、入力を受け付けた情報を記憶部22に格納したり、しきい値判定サーバ3や、ユーザ端末1との情報の送受信を制御する。暗号化部212は、入力されたデータを暗号化する。例えば、暗号化部212は、平文データと、秘密鍵が入力されたとき、秘密鍵を用いた暗号化処理を行い、暗号化されたデータを一時情報として記憶部22に格納する。また、例えば、暗号化部212は、暗号化された情報に対し、秘密鍵を用いて、さらに暗号化処理を行い、暗号化されたデータを一時情報として記憶部22に格納する。なお、暗号化部212は、例えば、標準的な共通鍵暗号アルゴリズムの実装により実現可能である。復号化部213は、暗号化されたデータを復号化する。例えば、復号化部213は、暗号化された情報と、秘密鍵が入力されたとき、対応する復号化を行い、出力されたデータを一時情報として記憶部22に格納する。乱数生成部214は、秘密鍵などを用いて擬似乱数を生成する。このとき、秘密鍵のデータ値は、乱数生成部214によって、新しいデータ値に更新され、再び、全体処理部211により記憶部22に格納される。なお、乱数生成部214は、温度、時間、電力量などの物理現象や、乱数生成アルゴリズムを用いて乱数を生成出力してもよい。基本演算部215は、加算、減算、比較演算などの基本的な算術演算を行う。記憶部22には、通信データと、秘密鍵と、しきい値判定用データと、一時情報とが格納されている。通信データは、平文データと、ユーザ端末1の属性データ図2を特定する情報であるユーザ属性データとを有している。秘密鍵は、情報を暗号化する際に用いられる鍵であり、ユーザ端末1や、しきい値判定サーバ3へ送信されるものである。しきい値判定用データは、しきい値判定サーバ3にしきい値判定を依頼する際に用いるデータを特定する情報であり、その詳細は後記する。なお、安全性の観点から、しきい値判定用データは、ユーザ端末1において秘密に管理されるべき情報である。一時情報は、制御部21での処理で一時的に必要となる情報が格納される。しきい値判定サーバ図4は、第1実施形態に係るしきい値判定サーバの構成例を示す図である。しきい値判定サーバ3は、制御部31と、記憶部32と、情報を入力する入力部33と、情報を出力する出力部34と、外部装置との情報の送受信を行う通信部35とを有する。制御部31は、全体処理部311と、暗号化部312と、復号化部313と、基本演算部314と、判定部315とを有する。全体処理部311は、しきい値判定サーバ3における処理を統括制御したり、ユーザ端末1や、サービス提供者サーバ2との情報の送受信を制御する。例えば、全体処理部311は、通信部35を介して、ユーザ端末1からデータを受信する処理を行ったり、通信部35を介して、判定部315の出力結果を、サービス提供者サーバ2へ送信する。復号化部313は、暗号化されたデータを復号化する。例えば、復号化部313は、暗号化された情報と、秘密鍵が入力されると、対応する復号化を行い、出力されたデータを一時情報として記憶部32に格納する。暗号化部312は、暗号化処理を行う。なお、しきい値判定サーバ3において、暗号化部312は省略可能である。基本演算部314は、加算、減算、比較演算などの基本的な算術演算に関する処理を行う。判定部315は、2つのデータ値の一致不一致を判定し、この判定結果をデータとして出力する。記憶部32には、秘密鍵と、一時情報とが格納されている。秘密鍵は、ユーザ端末1から送信された暗号化された情報を復号する際に用いられる。一時情報は、制御部31での処理で必要となる情報である。ハードウェア構成図5は、ユーザ端末、サービス提供者サーバ、しきい値判定サーバであるコンピュータのハードウェア構成を示す図である。コンピュータ5つまり、ユーザ端末1、サービス提供者サーバ2、しきい値判定サーバ3は、CPUCentralProcessingUnit51、メモリ52、HDDHardDiskDriveなどの外部記憶装置53、CDCompactDiskなどのデータを読み取るCDDCompactDiskDriveなどの読書装置54、キーボードなどの入力装置55、ディスプレイなどの出力装置56、NICNetworkInterfaceCardなどの通信装置57を有する一般的なPCPersonalComputerで実現される。図2~図4の各部11,111~113,21,211~215,31,311~315は、外部記憶装置53などに格納されているプログラムが、メモリ52に展開され、CPU51によって実行されることにより具現化する。《フローチャート》しきい値判定用データ生成処理図6は、第1実施形態に係るしきい値判定用データ生成処理の手順を示すフローチャートである。この処理は、サービス提供者サーバ2によって行われる処理である。まず、サービス提供者サーバ2の基本演算部215が、インデックスiを1にセットするS101。次に、基本演算部215は、iが暗号化対象値であるか否かを判定するS102。ここで、暗号化対象値とは、サービス提供者がYesと判定してほしい値であるつまり、サービス提供者が情報として取得したい値である。例えば、nをしきい値としてn以下の値をサービス提供者がYesの判定としてほしい場合は、ステップS102において、基本演算部215がi≦nの判定を行う。また、逆にnをしきい値としてn以上の値をサービス提供者がYesの判定としてほしい場合は、ステップS102において、基本演算部215がi≧nの判定を行う。あるいは、pからqp<qの間の値をサービス提供者がYesの判定としてほしい場合は、ステップS102において、基本演算部215がp≦i≦qの判定を行う。または、偶数をサービス提供者がYesの判定としてほしい場合は、ステップS102において、基本演算部215がi=偶数であるか否かの判定を行う。以下、第1実施形態および第2実施形態において、しきい値とは、暗号化対象値の条件とする。ステップS102の結果、iが暗号化対象値第1の値である場合ステップS102→Yes、暗号化部212が記憶部22から秘密鍵k1第1の暗号鍵を読み出し、iを平文、k1を秘密鍵とした暗号化処理Ek1,i第1の暗号化処理を行って、暗号値ei第1の暗号化値を算出しS103、算出した暗号値eiを一時情報として記憶部22に格納する。なお、各装置1~3において、算出された値は、一時情報として各記憶部12,22,32に格納されるが、以降、この処理に関する記述を省略する。次に、暗号化部212は、記憶部22から秘密鍵k2第2の暗号鍵を読み出すとともに、ステップS103で算出した暗号値eiを読み出し、eiを平文、k2を秘密鍵とした暗号化処理Ek2,ei第2の暗号化処理を行って、暗号値Ri第2の暗号化値を算出するS104。つまり、暗号化部212は2重暗号を行う。次に、暗号化部212は、iと、ステップS104で算出した暗号値Riの対i,Riを記憶部22のしきい値判定用データに加えるS105。そして、基本演算部215はiの値に1を加算したものをiとして置き換えS106、ステップS102へ処理を戻す。ステップS102の結果、iが暗号化対象値ではない第2の値場合ステップS102→No、基本演算部215が、i<mであるか否かを判定するS107。ここで、mはiがとり得る最大値であり、予めサービス提供者サーバ2に登録されているものである。ステップS107の結果、i<mである場合S107→Yes、乱数生成部214は乱数Ri第2の暗号化値を生成しS108、iとステップS108で生成した乱数Riの対i,Riをしきい値判定用データに加えるS109。そして、基本演算部215はiの値に1を加算したものをiとして置き換えS110、ステップS102へ処理を戻す。ステップS107の結果、i≧mである場合S107→No、全体処理部211はしきい値判定用データと、記憶部22の秘密鍵k1を、他者に情報が漏洩しない方法を用いて、ユーザ端末1へ送付するS111。しきい値判定用データおよび秘密鍵k1の送付は、暗号化による送信でもよいし、しきい値判定用データおよび秘密鍵k1を格納した媒体を物理的に送付してもよい。サービス提供者サーバ2から送付されたしきい値判定用データおよび秘密鍵k1を受け取ったユーザ端末1は、しきい値判定用データと秘密鍵k1を記憶部22に格納する。次に、全体処理部211は秘密鍵k2を、他者に情報が漏洩しない方法を用いて、しきい値判定サーバ3へ送付するS112。秘密鍵k2の送付は、暗号化による送信でもよいし、秘密鍵k2を格納した媒体を、物理的に送付してもよい。サービス提供者サーバ2から送付された秘密鍵k2を受け取ったしきい値判定サーバ3は、秘密鍵k2を記憶部22に格納する。通信データ生成処理図7は、第1実施形態に係る通信データ生成処理の手順を示すフローチャートである。この処理は、ユーザ端末1によって行われる処理である。まず、入力部13を介して、しきい値判定サーバ3で判定してもらう値判定対象値jがユーザ端末1に入力されるS201。そして、ユーザ端末1の暗号化部112は、記憶部12から、図6のステップS111でサービス提供者サーバ2から送付された秘密鍵k1を読み出し、jを平文、k1を秘密鍵第1の暗号鍵とした暗号化処理Ek1,j第1の暗号化処理を行って、暗号値ej第3の暗号化値を算出するS202。次に、基本演算部113は、図6のステップS111でサービス提供者サーバ2から送付されたしきい値判定用データを参照して、jに対応する暗号値Rj第2の暗号化値を読み出すS203。このときの暗号値Rjは、ステップS103,S104で算出されたものと、ステップS108で算出されたものの2種類のうち、どちらかの暗号値Rjとなる。そして、全体処理部111は、データの対ej,Rjと、記憶部12の属性情報とを通信データとしてしきい値判定サーバ3へ送信するS204。属性情報には、ユーザの識別情報IDIdentificationや、判定対象値jの識別情報などが含まれる。なお、通信データに属性情報が含まれていなくてもよい。しきい値判定処理図8は、第1実施形態に係るしきい値判定処理の手順を示すフローチャートである。この処理は、しきい値判定サーバ3によって行われる処理である。まず、しきい値判定サーバ3が、図7のステップS204で送信された通信データej,Rjを受信するS301。次に、復号化部313は、記憶部32から、図6のステップS112で送付された秘密鍵k2を読み出し、Rjを暗号値第2の暗号化値、k2を復号鍵第2の暗号鍵として復号化処理Dk2,Rjを行い、復号値djを算出するS302。そして、判定部315は、ej第3の暗号化値=djであるか否かを判定するS303。ステップS303の結果、ej=djである場合S303→Yes、全体処理部311は、判定対象値が暗号化対象値であることを示すYesをサービス提供者サーバ2へ送信するS304。ステップS303の結果、ej≠djである場合S303→No、全体処理部311は、判定対象値が暗号化対象値でないことを示すNoをサービス提供者サーバ2へ送信するS305。以上の処理を説明すると、図6のしきい値判定用データ生成処理において、暗号化対象値は、暗号化規則に基づいて暗号化している。従って、判定対象値が暗号化対象値であれば、ステップS302で復号された値は、図6のステップS103で算出された値と一致するはずである。一方、図6のしきい値判定用データ生成処理において、暗号化対象値でない値はランダムな値が割り当てられる。従って、判定対象値が暗号化対象値でなければ、ステップS302で復号された値は、ランダムな値と比較されることになるので、ステップS303で不一致となる。このようにして、しきい値判定サーバ3は、判定対象値が暗号化対象値であるか否かを判定する。なお、ステップS304あるいはステップS305の処理において、ユーザ端末1などの属性情報を付加して送信してもよい。第1実施形態のまとめ第1実施形態によれば、ユーザ端末1は、しきい値判定処理のための秘密鍵k2を知らないため、しきい値判定用データを用いても、ユーザ端末1はしきい値判定処理を行うことはできない。そのため、ユーザ端末1のユーザはしきい値つまり、暗号化対象値となるための条件を知ることはできない。一方、しきい値判定サーバ3にはしきい値判定用データを送信されないため、しきい値判定サーバ3のユーザは、しきい値を知ることができない。また、ユーザ端末1が送信するデータの対ej,Rjのうち、ejは判定対象値jを、しきい値判定サーバ3に送信されていない秘密鍵k1で暗号化した値であるので、しきい値判定サーバ3のユーザは判定対象値jを知ることができない。従って、サービス提供者サービス提供者サーバ2のユーザは第3者にしきい値を知られることなく、ある値がしきい値以上なのか、以下なのかを知ることができる。このようにすることで、暗号化対象値に関する情報漏洩のおそれなく外部委託できるため、ユーザ、またはサービス提供者の処理コスト軽減が可能となる。《第2実施形態》次に、図9~図13を参照して、本発明の第2実施形態を説明する。第1実施形態に記載した方法は、しきい値判定が複数回発生する場合、判定対象値jが同じであれば、送信されるデータ対ej,Rjも同じとなる。このことが原因となって傾向情報が漏洩するおそれがある。そこで、第2実施形態では送信されるデータ対ej,Rjをランダム化した上で、公開鍵準同型暗号準同型暗号によって暗号化する。ここで、公開鍵準同型暗号とは、平文m1と、m2に対する暗号値が、それぞれc1、c2である場合、c1c2がm1m2に対する暗号値となっている公開鍵暗号方式である。すなわち、暗号化処理Encに対し、Encm1m2=Encm1Encm2となる暗号方式である。ここで、とはそれぞれ暗号値空間、平文空間に定義されている、加法や乗法などの演算であり、各公開鍵準同型暗号に依存して決まる。また、Encは公開鍵準同型暗号による暗号化処理を示す。公開鍵準同型暗号として、例えば、ElGamal暗号や、楕円ElGamal暗号などを利用することができる。ユーザ端末図9は、第2実施形態に係るユーザ端末の構成例を示す図である。図9のユーザ端末1aが、図2に示すユーザ端末1と異なる点は、制御部11aが公開鍵準同型暗号方式による暗号化処理を行う公開鍵準同型暗号化部114と、乱数を生成する乱数生成部115を有し、記憶部12aの通信データに、公開鍵準同型暗号化処理に用いる公開準同型暗号鍵を含んでいることである。その他は、図2に示すユーザ端末1と同様の構成を有するため、図3と同一の符号を付して説明を省略する。サービス提供者サーバ図10は、第2実施形態に係るサービス提供者サーバの構成例を示す図である。図10に示すサービス提供者サーバ2aが、図3に示すサービス提供者サーバ2と異なる点は、制御部21aが公開鍵準同型暗号方式による暗号化処理を行う公開鍵準同型暗号化部216を有し、記憶部22aの通信データに、公開鍵準同型暗号化処理に用いる公開準同型暗号鍵を含んでいることである。その他は、図3に示すサービス提供者サーバ2と同様の構成を有するため、図2と同一の符号を付して説明を省略する。なお、しきい値判定サーバ3は、図4と同様の構成を有するので、同一の符号を付し、図示および説明を省略する。なお、図9および図10の各部11a,111~115,21a,211~216も図5における外部記憶装置53などに格納されているプログラムが、メモリ52に展開され、CPU51によって実行されることにより具現化する。《フローチャート》しきい値判定用データ生成処理図11は、第2実施形態に係るしきい値判定用データ生成処理の手順を示すフローチャートである。この処理は、サービス提供者サーバ2aによって行われる処理である。この処理が図6の処理と異なっている点は、図6のステップS104に相当する処理において、公開鍵準同型暗号化部216がeiを平文、pkを公開準同型暗号鍵とした暗号化処理Encpk,eiを行って、暗号値Riを算出している点であるS404。また、図6のステップS111に相当する処理において、全体処理部311が、秘密鍵k1とともに、公開準同型暗号鍵pk第2の暗号鍵をユーザ端末1へ送付しているS411点も、図6の処理と異なっている。また、図6のステップS112の処理において、全体処理部311が、秘密鍵k2の代わりに準同型暗号秘密鍵sk復号鍵を、他者に情報が漏洩しない方法を用いて、しきい値判定サーバ3へ送付するS412。その他は、図6の処理と同様であるため、説明を省略する。通信データ生成処理図12は、第2実施形態に係る通信データ生成処理の手順を示すフローチャートである。この処理は、ユーザ端末1aによって行われる処理である。図12において、ステップS501~S503の処理は、図7のステップS201~S203と同様であるため、説明を省略する。ステップS503の後、乱数生成部115は、乱数rを生成するS504。公開鍵準同型暗号化部114は、図11のステップS411でサービス提供者サーバ2から送付された公開準同型暗号鍵pkを読み出し、乱数rを平文、pkを公開準同型暗号鍵とした暗号化処理Encpk,rを行って、暗号値R乱数暗号値を算出しするS505。次に、基本演算部113は、erj第4の暗号化値=ejrと、Rrj第5の暗号化値=RjRを計算するS506。ここで、は四則演算における乗算を示し、は暗号空間で定義される乗法を示す。そして、全体処理部111は、ステップS506で生成したデータの対erj,Rrjと、記憶部12aの属性情報とを通信データとしてしきい値判定サーバ3へ送信するS507。属性情報には、ユーザの識別情報IDや、判定対象値jの識別情報などが含まれる。なお、通信データに属性情報が含まれていなくてもよい。しきい値判定処理図13は、第2実施形態に係るしきい値判定処理の手順を示すフローチャートである。この処理は、しきい値判定サーバ3によって行われる処理である。まず、しきい値判定サーバ3が、図11のステップS507で送信された通信データerj,Rrjを受信するS601。次に、復号化部313は、記憶部32から図11のステップS412でサービス提供者サーバ2から送信された準同型暗号秘密鍵skを読み出し、Rrjを暗号値第5の暗号化値、skを復号鍵とした復号化処理Decsk、Rrjを行って、復号値drj実際にはjを暗号化した値を算出するS602。ここで、Decは公開鍵準同型暗号による復号化処理を示す。そして、判定部315は、erj第4の暗号化値=drjであるか否かを判定するS603。ステップS603の結果、erj=drjである場合S603→Yes、全体処理部311は、判定対象値が暗号化対象値であることを示すYesをサービス提供者サーバ2へ送信するS604。ステップS603の結果、erj≠drjである場合S603→No、全体処理部311は、判定対象値が暗号化対象値でないことを示すNoをサービス提供者サーバ2へ送信するS605。なお、ステップS304あるいはステップS305の処理において、ユーザ端末1などの属性情報も付加して送信してもよい。本実施形態では、しきい値判定を複数回行う場合であって、ユーザ端末1から送信される判定対象値jに、頻度などの統計的偏りがあったとしても、ユーザ端末1から送信されるデータ対erj,Rrjは毎回、乱数によるマスクがかけられているため、しきい値判定サーバ3のユーザは、しきい値との比較結果以外の情報を得ることができないので、第1実施形態より、暗号化のレベルを向上することができる。《第3実施形態》第1実施形態および第2実施形態による方法では、ユーザ端末1による判定対象値jが取りうる値の個数に比例して、しきい値判定用データも大きくなってしまう。これに対し、第3実施形態および第4実施形態では、判定対象値を適当な桁で分割して、桁ごとでしきい値判定を行い、その結果を基に判定対象値がしきい値より大きいか否かあるいは、小さいか否かを判定する方法である。なお、第1実施形態および第2実施形態では、判定対象値があるグループしきい値より大きいや、しきい値より小さいや、ある範囲の値であるかや、偶数であるかなどに属しているか否かを判定可能であったが、第3実施形態および第4実施形態では、しきい値より大きい、あるいは、しきい値より小さいといった判定のみ可能となる。以下、第3実施形態および第4実施形態における処理手順をフローチャートで説明する。なお、第3実施形態および第4実施形態におけるユーザ端末1、サービス提供者サーバ2およびしきい値判定サーバ3の構成は、第1実施形態で示した構成と同様であるため、図示および説明を省略する。<フローチャート>しきい値判定用データ生成処理図14は、第3実施形態に係るしきい値判定用データ生成処理の手順を示すきフローチャートである。この処理は、サービス提供者サーバ2によって行われる処理である。桁数の値としてzが入力部23を介して入力されている。そして、基本演算部215は、桁のインデックスbを0にセットするS701。ここで、桁数とは、判定対象値を2進展開して所定のビット毎に区切ったときの数である。ここで、2進数表現をBと表記し、10進数表現をDと表記することとする。例えば、判定対象値が1780Dだとすると、この値を2進展開したものは011011110100となる。秘匿しきい値判定システムAが4ビット毎に値の判定を行うとすると、前記した値は011011110100Bと区切られることとなる。本実施形態では、先頭の桁から0桁目b=0、1桁目b=1、と数えることを定義する。従って、この例において0桁目は0100Bとなり、1桁目は1111Bとなり、2桁目は0110Bとなる。次に、基本演算部215は、b=zである否かを判定するS702。ステップS702の結果、b≠zである場合S702→No、基本演算部215が、インデックスiを1にセットするS703。そして、基本演算部215はiを2進展開する。基本演算部215は、iが、処理対象となっている桁におけるしきい値na以下であるか否かを判定するS704。ここで、naは、各桁におけるしきい値である。しきい値が1000Dであったとすると、このしきい値を2進展開した値は001111101000Bとなる。よって、0桁目b=0のna=1000B=8D、1桁目b=1のna=1110B=14D、2桁目b=2のna=0011B=3Dとなる。その後、基本演算部215および暗号化部212がステップS705~S712の処理を行う。ステップS705~S712の処理において、しきい値判定用データに現在処理している桁bが追加されること以外は、図6のステップS103~S110と同様であるため説明を省略する。なお、4ビット毎に桁を区切っている場合、ステップS709におけるmは、m=1111B=15Dである。ステップS709の結果、i>mである場合S709→No、基本演算部215は、na<nbであるか否かを判定するS713。ここで、nbは各桁におけるしきい値から2を減算した値である。例えば、0桁目におけるしきい値がna=8Dであれば、nb=6Dとなる。ステップS713の結果、na≧nbである場合S713→No、基本演算部215はnaの値から1を減算したものをnaとして置き換えS714、ステップS704へ処理を戻す。ステップS713の結果、na<nbである場合S709→Yes、基本演算部215はbの値に1を加算したものをbとして置き換えS715、ステップS702へ処理を戻す。ステップS702の結果、b=zである場合S702→Yes、全体処理部211は、各桁bのしきい値判定用データと、秘密鍵k1と、桁数zを、他者に情報が漏洩しない方法を用いて、ユーザ端末1へ送付するS716。しきい値判定用データおよび秘密鍵k1の送付は、暗号化による送信でもよいし、しきい値判定用データおよび秘密鍵k1を格納した媒体を物理的に送付してもよい。次に、全体処理部211は秘密鍵k2と、桁数zを、他者に情報が漏洩しない方法を用いて、しきい値判定サーバ3へ送付するS717。秘密鍵k2、桁数zの送付は、暗号化による送信でもよいし、秘密鍵k2、桁数zを格納した媒体を、物理的に送付してもよい。ここで、送付されるしきい値判定用データは、各桁毎に2つ送付されることになる。つまり、各桁におけるしきい値の初期値つまり、naの初期値をnとすると、nに対応したしきい値判定用データと、n-1に対応したしきい値判定用データである。なお、しきい値判定用データには、どのしきい値に対応する情報が格納されている。例えば、しきい値nに対応するしきい値判定用データには1が対応付けられ、しきい値n-1に対応するしきい値判定用データには2が対応付けられる。しきい値に対応する情報は、しきい値そのものでなければ、どのような情報でもよい。通信データ生成処理図15は、第3実施形態に係る通信データ生成処理の手順を示すフローチャートである。この処理は、ユーザ端末1によって行われる処理である。まず、入力部13を介して、判定対象値hがユーザ端末1に入力されるS801。次に、基本演算部113がhを2進展開し、aビット毎に分割するS802。aはサービス提供者サーバ2から送付されるデータなどに含まれる。そして、基本演算部113は、桁数を示すインデックスbを0にセットするS803。次に、基本演算部113は、nc<ndであるか否かを判定するS804。ここで、ncは現在処理している桁のしきい値に関する情報である。図14で説明したように、しきい値判定用データには、桁毎のしきい値図14におけるnaの初期値をnとしたとき、nであるか、n-1であるかに関する情報が対応付けられているが、対応付けられている情報はしきい値そのものではない。例えば、しきい値nに対応する情報として1、しきい値n-1に対応付けられている情報として2がしきい値判定用データに対応付けられているとすると、ncのとり得る値は1,2であり、nd=3となる。ステップS804の結果、nc<ndである場合S804→Yes、基本演算部113は、b=zであるか否かを判定するS805。zは、図14のステップS716でサービス提供者サーバ2から送られた桁数zである。ステップS805の結果、b=zである場合S805→Yes、基本演算部113はncの値から1を減算したものをncとして置き換えS806、ステップS804へ処理を戻す。ここでは、送付されたしきい値判定用データに対応付けられている桁毎のしきい値の情報が1、2であることを前提として処理の説明を行っているが、その他の情報を対応付けている場合、ステップS806の処理はそれぞれの処理に対応した処理となる。ステップS805の結果、b≠zである場合S805→No、暗号化部112は、hのb桁目の値をjとして、ステップS807、S808の処理を行う。例えば、判定対象値hが1780Dだとすると、この値を2進展開した値は、前記したように011011110100Bとなる。4ビットごとで桁分けして処理している場合、b=1であれば、j=1111B=15Dとなる。ステップS807、S808の処理は、図7のステップS202、S203と同様であるため説明を省略する。ステップS808の処理の後、基本演算部113は、bの値に1を加算したものをbとして置き換えS809、ステップS804へ処理を戻す。ステップS804の結果、nc≧nbである場合S804→No、全体処理部111は、データの対b,ej,Rjと、記憶部12の属性情報とを通信データとしてしきい値判定サーバ3へ送信するS810。また、b=0,1,,z-1である。なお、しきい値判定用データには、桁毎のしきい値に関する情報が付与される。ここで付与される情報は、しきい値そのものでなければ、どのような情報でもよいが、ここではしきい値nに対応する情報として1、しきい値n-1に対応する情報として2を使用することとする。属性情報には、ユーザの識別情報IDや、判定対象値hの識別情報などが含まれる。なお、通信データに属性情報が含まれていなくてもよい。しきい値判定処理図16は、第3実施形態に係るしきい値判定処理の手順を示すフローチャートである。この処理は、しきい値判定サーバ3によって行われる処理である。まず、しきい値判定サーバ3が、図15のステップS810で送信された通信データb,ej,Rjを受信するS901。ここで、b=0,1,,z-1である。まず、基本演算部314は、桁数を示すインデックスfを0にセットするS902。zは、図14のステップS714でサービス提供者サーバ2から送られた桁数zである。続いて、基本演算部314は、f=zであるか否かを判定するS903。ステップS804の結果、f≠zである場合S903→No、復号化部313は、ステップS901で受信した通信データのうち、しきい値nに対応する通信データから現在の桁数のインデックスfに対応しているb=fRjを抽出し、これをRj1とし、図8のステップS302と同様の手順で平文dj1を算出するS904。次に、復号化部313は、しきい値n-1に対応する通信データから現在の桁数のインデックスfに対応しているb=fRjを抽出し、これをRj2とし、図8のステップS302と同様の手順で平文dj2を算出するS905。そして、判定部315が、Rj1の抽出元の通信データからejを抽出し、これをej1とするとともに、Rj2の抽出元の通信データからejを抽出し、これをej2とする。そして、判定部315は、ej1=dj1の判定と、ej2=dj2の判定とを行うS906。ej1=dj1かつej2=dj2であった場合をOK,OKと記載し、ej1≠dj1かつej2≠dj2であった場合をNG,NGと記載する。また、ej1=dj1かつej2≠dj2であった場合をOK,NGと記載する。なお、後記して説明するようにNG,OKとなることはない。ステップS906の結果、OK,OKであった場合S906→OK,OK、全体処理部311は、判定対象値が暗号化対象値であることを示すYesをサービス提供者サーバ2へ送信してS907、処理を終了する。ステップS906の結果、NG,NGであった場合S906→NG,NG、全体処理部311は、判定対象値がが暗号化対象値でないことを示すNoをサービス提供者サーバ2へ送信してS908、処理を終了する。ステップS906の結果、OK,NGであった場合S906→OK,NG、基本演算部314はfの値に1を加算したものをfとして置き換えS909、ステップS903へ処理を戻す。ステップS903の結果、f=zである場合S903→Yes、すべての桁において、ej=djであることになるため、全体処理部311は、判定対象値が暗号化対象値であることを示すYesをサービス提供者サーバ2へ送信してS910、処理を終了する。なお、ステップS909あるいはステップS910の処理において、ユーザ端末1などの属性情報も付加して送信してもよい。以上の内容を具体例を使用して説明する。例として、1791D011011111111Bが全体のしきい値であるものとする。なお、ここでは、理解を容易にするため、平文で説明するが、実際には暗号化された値で比較が行われる。、判定対象値がhを2進展開したときの最初の桁の各値jについて、ステップS906の判定結果のパターンを示すと、以下のようになる。ここで、しきい値nは、1791D011011111111Bにおける最初の桁の値この例では0110B=6Dであるものとする。ここで、最初の桁が0000~0101Bである場合つまり、ステップS906の判定結果がOK,OKである場合、判定対象値がhは明らかにしきい値より小さい。従って、これ以降の処理を行うことなく、しきい値判定サーバ3はYesを送信して、処理を終了する図16のS907に相当。また、最初の桁が0111~1111Bである場合つまり、ステップS906の判定結果がNG,NGである場合、、判定対象値がhは明らかにしきい値より大きい。従って、これ以降の処理を行うことなく、しきい値判定サーバ3はNoを送信して、処理を終了する図16のS908に相当。最初の桁が0110Bの場合つまり、ステップS906の判定結果がOK,NGである場合は、しきい値判定サーバ3は、この桁だけでは、、判定対象値がhが全体のしきい値より大きいか、小さいかを判定することができないので、次の桁について同様の判定を行う図16のS909に相当。なお、この表に示すように、しきい値nによる判定がNGとなり、しきい値n-1による判定がOKとなることはない。ここでは、しきい値より小さい値をYesと判定する場合を示したが、しきい値より大きい値をYesと判定したい場合、サービス提供者サーバ2は図14のステップS704の不等号を反転させればよい。また、ある範囲内の値をYesと判定したい場合は、サービス提供者サーバ2はステップS704で、その範囲内にiが入っている場合に図14のステップS704→Yesとし、それ以外はステップS704→Noとすればよい。<第3実施形態のまとめ>第3実施形態によれば、各桁ごとにしきい値判定用データを用意する必要があるが、各桁での取りうる値の個数を低く抑えられるため各桁におけるしきい値判定用データが小さいため、大きな範囲の値を扱う場合でも、しきい値判定用データのデータサイズを小さくすることができる。《第4実施形態》《フローチャート》しきい値判定用データ生成処理図17は、第4実施形態に係るしきい値判定用データ生成処理の手順を示すきフローチャートである。この処理は、サービス提供者サーバ2によって行われる処理である。桁数の値としてzが入力部23を介して入力されている。そして、基本演算部215は、桁のインデックスbを0にセットするS1001。ここで、桁および桁数に関する定義は第3実施形態と同様のものである。次に、基本演算部215は、b=zである否かを判定するS1002。ステップS1002の結果、b=zである場合S1002→Yes、基本演算部215が、インデックスiを1にセットするS1003。そして、基本演算部215はiを2進展開する。基本演算部215は、iが、処理対象となっている桁におけるしきい値na以上であるか否かを判定するS1004。ここで、nbは、各桁におけるしきい値である。しきい値が1000Dであったとすると、このしきい値を2進展開した値は001111101000Bとなる。よって、0桁目b=0のna=1000B=8D、1桁目b=1のna=1110B=14D、2桁目b=2のna=0011B=3Dとなる。その後、基本演算部215および暗号化部212がステップS1005~S1012の処理を行う。ステップS1005~S1012の処理において、しきい値判定用データに現在処理している桁bが追加されること以外は、図6のステップS113~S120と同様であるため説明を省略する。なお、4ビット毎に桁を区切っている場合、ステップS1009におけるmは、m=1111B=15Dである。ステップS1009の結果、i>mである場合S1009→No、基本演算部215はbの値に1を加算したものをbとして置き換えS1013、ステップS1002へ処理を戻す。ステップS1002の結果、b=zである場合S1002→Yes、全体処理部211は、各桁bのしきい値判定用データと、秘密鍵k1と、桁数zを、他者に情報が漏洩しない方法を用いて、ユーザ端末1へ送付するS1014。しきい値判定用データおよび秘密鍵k1の送付は、暗号化による送信でもよいし、しきい値判定用データおよび秘密鍵k1を格納した媒体を物理的に送付してもよい。次に、全体処理部211は秘密鍵k2と、桁数zを、他者に情報が漏洩しない方法を用いて、しきい値判定サーバ3へ送付するS1015。秘密鍵k2、桁数zの送付は、暗号化による送信でもよいし、秘密鍵k2、桁数zを格納した媒体を、物理的に送付してもよい。通信データ生成処理図18は、第4実施形態に係る通信データ生成処理の手順を示すフローチャートである。この処理は、ユーザ端末1において行われる処理である。図18のステップS1101~S1106は、図15のステップS801~S803,S805~S808と同様であるので説明を省略する。ステップS1106の後、暗号化部212は、j1の場合についても、図15のステップS807,S808と同様の処理を行って、しきい値判定用データからRj1を読み出すS1107,S1108。ここで、jは、第3実施形態と同様、判定対象値におけるb桁目の値である。次に、基本演算部113は、bの値に1を加算したものをbとして置き換えS1109、ステップS1104へ処理を戻す。ステップS1104の結果、b=zである場合S1104→Yes、全体処理部211は、b,ej,Rjと、b,ej1,Rj1と、記憶部12の属性情報とを通信データとしてしきい値判定サーバ3へ送信するS1110。ここで、b=0,1,,z-1である。しきい値判定処理図19は、第4実施形態に係るしきい値判定処理の手順を示すフローチャートである。この処理は、しきい値判定サーバ3によって行われる処理である。まず、しきい値判定サーバ3が、図18のステップS1110で送信された通信データb,ej,Rjおよびb,ej1,Rj1を受信するS1201。ここで、b=0,1,,z-1である。図19のステップS1202,S1203は、図16のステップS902,S903と同様の処理であるため、説明を省略する。そして、復号化は、Rjを暗号値、図17のステップS1015で送付された秘密鍵k2を復号鍵とした復号化処理Dk2,Rjを行い、平文djを算出するS1204。さらに、復号化部313は、Rj1を暗号値、図17のステップS1015で送付された秘密鍵k2を復号鍵とした復号化処理Dk2,Rj1を行い、平文dj1を算出するS1205。そして、判定部315は、ej=djの判定と、ej1=dj1の判定とを行うS1206。ステップS1206の結果、ej=djかつej1=dj1であった場合をOK,OKと記載し、ej≠djかつej1≠dj1であった場合をNG,NGと記載する。また、ej=djかつej1≠dj1であった場合をOK,NGと記載するステップS1206の結果、OK,OKであった場合S1206→OK,OK、全体処理部311は、判定対象値が暗号化対象値であることを示すYesをサービス提供者サーバ2へ送信してS1207、処理を終了する。ステップS1206の結果、NG,NGであった場合S1206→NG,NG、全体処理部311は、判定対象値が暗号化対象値でないことを示すNoをサービス提供者サーバ2へ送信してS1208、処理を終了する。ステップS1206の結果、OK,NGであった場合S1206→OK,NG、基本演算部214は、桁数を示すインデックスfの値に1を加算したものをfとして置き換えS1209、ステップS1203へ処理を戻す。ステップS1203の結果、f=zである場合S1203→Yes、すべての桁において、ej=djであることになるため、全体処理部311は、判定対象値が暗号化対象値であることを示すYesをサービス提供者サーバ2へ送信してS1210、処理を終了する。なお、ステップS1207,S1208あるいはステップS1210の処理において、ユーザ端末1などの属性情報も付加して送信してもよい。以上の内容を具体例を使用して説明する。そして、1791D011011111111Bが全体のしきい値であるものとする。なお、ここでは、理解を容易にするため、平文で説明するが、実際には暗号化された値で比較が行われる。判定対象値hを2進展開したときの最初の桁の各値jについて、ステップS1206の判定結果のパターンを示すと、以下のようになる。ここで、しきい値nは、1791D011011111111Bにおける最初の桁の値この例では0110B=6Dである。ここで、最初の桁の値jが0000~0101Bである場合つまり、ステップS1206の判定結果がOK,OKである場合、判定対象値hは明らかにしきい値より小さい。従って、これ以降の処理を行うことなく、しきい値判定サーバ3はYesを送信して、処理を終了する図19のS1207に相当。また、最初の桁の値jが0111~1111Bである場合つまり、ステップS1206の判定結果がNG,NGである場合、判定対象値hは明らかにしきい値より大きい。従って、これ以降の処理を行うことなく、しきい値判定サーバ3はNoを送信して、処理を終了する図19のS1208に相当。最初の桁が0110Bの場合つまり、ステップS1206の判定結果がOK,NGである場合は、しきい値判定サーバ3は、この桁だけでは、判定対象値hが全体のしきい値より大きいか、小さいかを判定することができないので、次の桁について同様の判定を行う図19のS1209に相当。なお、前記した表示示すように、jについての判定がNGで、j1についての判定がOKとなることはない。ここでは、しきい値より小さい値をYesと判定する場合を示したが、しきい値より大きい値をYesと判定したい場合、サービス提供者サーバ2は図17のステップS1004の不等号を反転させればよい。また、ある範囲内の値をYesと判定したい場合は、サービス提供者サーバ2はステップS1004で、その範囲内にiが入っている場合に図14のステップS1004→Yesとし、それ以外はステップS1004→Noとすればよい。<第4実施形態についてのまとめ>第3実施形態では、各桁のしきい値判定用データが、しきい値nに対応したものと、しきい値n-1に対応したものとの2つが必要であるが、第4実施形態によれば、しきい値nに対応したしきい値判定用データ1つを各桁に関して用意すればよいので、第3実施形態の場合と比較して、しきい値判定用データを半分にすることができる。なお、第3実施形態、第4実施形態では、第1実施形態に基づいた処理を説明したが、第2実施形態のように公開鍵準同型暗号準同型暗号を用いてもよい。この場合、サービス提供者サーバ2は、図10に示すサービス提供者サーバ2aと同様の構成となり、ユーザ端末1は、図9に示すユーザ端末1aと同様の処理となる。また、各処理は、以下に記載するような処理となる。第3実施形態に第2実施形態の公開鍵準同型暗号を用いた場合図14のステップS705~S708の処理が、図11のステップS403~S406と同様の処理となり、ステップS711の処理がステップS409と同様の処理となり、、ステップS716,S717の処理がステップS411,S412と同様の処理となる。なお、しきい値判定用サーバに桁数bに関する情報と、しきい値n,n-1に関する情報が加えられるのは当然である。図15のステップS807,S808の処理が、図12のステップS502~S506と同様の処理となり、ステップS810の処理がステップS507において桁数bの情報が加わった処理となる。図16のステップS901が、図13のステップS601と同様の処理となり、ステップS904,S905の処理が、それぞれステップS602と同様の処理となる。第4実施形態に第2実施形態の公開鍵準同型暗号を用いた場合図17のステップS1005~S1008の処理が、図11のステップS403~S406と同様の処理となり、ステップS1011の処理がステップS409と同様の処理となり、、ステップS1014,S1015の処理がステップS411,S412と同様の処理となる。なお、しきい値判定用サーバに桁数bに関する情報が加えられるのは当然である。図18のステップS1107,S1108の処理が、図12のステップS502~S506と同様の処理となり、ステップS1110の処理がステップS507において桁数bの情報が加わった処理となる。図19のステップS1201が、図13のステップS601と同様の処理となり、ステップS1204,S1205の処理が、それぞれステップS602と同様の処理となる。なお、それぞれの処理は、暗号化対象数値が、しきい値より大きい以上場合、あるいはしきい値より小さい以下場合のそれぞれに適用可能である。《適用例1》例えば、第1~第4実施形態に記載の技術を自動車メーカが、自動車購入者の保持する車両の状態把握のために車両の内部に蓄積している種々の制御データを定期的に収集し、各データについてしきい値判定を行うことに適用することができる。自動車メーカは、整備や修理について、自動車整備会社に委託し、整備マニュアルなどの情報は提供しているとする。しかし、状態把握のために必要な制御データは自動車メーカにとっては、重要なノウハウであり、そのデータが漏洩することはノウハウを蓄積するために行った投資を無駄にすることになるため、秘匿化して守る必要がある。そのため、車両のデータとしきい値をともに秘匿化しつつ、自動車整備会社において、あるしきい値を超えているか否か判定可能であるような方式が必要となる。この適用例1では、ユーザ端末1は自動車購入者の保持する車両に設置され、サービス提供者サーバ2は自動車メーカに設置され、しきい値判定サーバ3が自動車整備会社に設置されることになる。自動車メーカに設置されたサービス提供者サーバ2は、第1~第4実施形態に記載されたいずれかの方法によるしきい値判定用データ生成方法で、制御データに対するしきい値判定用データや、暗号用の各鍵を生成する。車両に設置されているユーザ端末1には販売時にしきい値判定用データや、暗号化のための各鍵などを格納しておき、自動車整備会社に対しては、要請に従って必要なデータ復号化のための各鍵などを安全に送信する。このとき、同一の車種について同一の鍵で実施してもよいし、自動車購入者ごとに鍵を変えてもよい。整備の際には、自動車整備会社のしきい値判定サーバ3は車両のユーザ端末1に対して、しきい値判定に必要な制御データ通信データの生成を要求し、車両のユーザ端末1は第1~第4実施形態におけるいずれかの通信データ生成処理の手順に従い、制御データ通信データを生成して、自動車整備会社のしきい値判定サーバ3へ通信データを送信する。通信データ送信の方法は、有線/無線による専用回線を介してもよいし、インターネットなどのネットワーク4を介してもよい。自動車整備会社のしきい値判定サーバ3は第1~第4実施形態のいずれかのしきい値判定処理を実行し、その結果がNOの場合例えば、しきい値を超えている場合は、整備マニュアルに従い整備、修理を行うようにする。また、制御データの種類によっては、自動車メーカに連絡してもよい。《適用例2》また、例えば、第1~第4実施形態に記載の技術を電力会社が、各家庭における消費電力や、太陽電池パネルなどの発電量に関するデータを収集するために適用してもよい。この場合、ユーザ端末1は各家庭に設置され、サービス提供者サーバ2は電力会社に設置され、しきい値判定サーバ3は変電所などに設置される。"