(57)【特許請求の範囲】
【請求項１】
第１の暗号化された入力データを受信するステップであって、前記第１の暗号化された入力データは、加法準同型暗号システムによりビット単位で暗号化された入力データを有する、ステップと、
プロセッサが、分類ツリーの各ノードごとに、前記第１の暗号化された入力データを用いて、分類器により関数を計算するステップであって、前記分類ツリーは、１つ以上の多重特徴分裂を有する多変数ツリーである決定ツリーを有する、ステップと、
前記各ノードごとに前記関数を計算した結果の暗号化されたバージョンを有する第２の暗号化されたデータを送信するステップと、
前記加法準同型暗号システムにより夫々暗号化された第１の暗号化されたベクトル及び第２の暗号化されたベクトルを受信するステップであって、前記第１の暗号化されたベクトルは、前記分類ツリーにおける各ノードでの分類決定を含むベクトルの暗号化されたバージョンを含み、前記第２の暗号化されたベクトルは、前記分類ツリーにおける各ノードでの分類決定を含む前記ベクトルの余を含み、前記第１の暗号化されたベクトル及び前記第２の暗号化されたベクトルの夫々は、Ｐ次元の暗号化された２進ベクトルであり、前記第２の暗号化されたベクトルにおける暗号化されたデータの順序は、前記分類ツリーにおけるノード位置を示さない、ステップと、
前記分類ツリーにおける経路内の各ノードごとに、該各ノードでの分類決定に基づき前記第１の暗号化されたベクトル又は前記第２の暗号化されたベクトルのいずれかから値を選択し、該値に基づき前記加法準同型暗号システムにより前記第１の暗号化されたベクトル及び前記第２の暗号化されたベクトルから選択される値を用いて値のベクトルを計算するステップと、
前記値のベクトルを送信するステップであって、該ベクトルにおける各値の復号化がクラス値の領域における単一の要素をもたらし且つ前記分類ツリーにおける対応するクラスが前記入力データについて得られる、ステップと
を有する方法。
【請求項２】
前記決定ツリーは、不平衡である、
請求項１に記載の方法。
【請求項３】
前記決定ツリーは、１又はそれ以上の１／２分裂を含む、
請求項１に記載の方法。
【請求項４】
前記分類決定は、分裂決定を有する、
請求項１に記載の方法。
【請求項５】
前記関数は、分裂規則を表す、
請求項１に記載の方法。
【請求項６】
前記第２の暗号化されたデータにおける各ノードと関連する暗号化されたデータの順序は、前記分類ツリーにおけるノード位置を示さない、
請求項１に記載の方法。
【請求項７】
前記値のベクトルを計算することは、経路におけるノードの数、該経路におけるノードと関連するクラスラベル、前記値のベクトル及び暗号化関数を用いて行われる、
請求項１に記載の方法。
【請求項８】
コンピュータによって実行される場合に、該コンピュータに、
第１の暗号化された入力データを受信するステップであって、前記第１の暗号化された入力データは、加法準同型暗号システムによりビット単位で暗号化された入力データを有する、ステップと、
分類ツリーの各ノードごとに、前記第１の暗号化された入力データを用いて、分類器により関数を計算するステップであって、前記分類ツリーは、１つ以上の多重特徴分裂を有する多変数ツリーである決定ツリーを有する、ステップと、
前記各ノードごとに前記関数を計算した結果の暗号化されたバージョンを有する第２の暗号化されたデータを送信するステップと、
前記加法準同型暗号システムにより夫々暗号化された第１の暗号化されたベクトル及び第２の暗号化されたベクトルを受信するステップであって、前記第１の暗号化されたベクトルは、前記分類ツリーにおける各ノードでの分類決定を含むベクトルの暗号化されたバージョンを含み、前記第２の暗号化されたベクトルは、前記分類ツリーにおける各ノードでの分類決定を含む前記ベクトルの余を含み、前記第１の暗号化されたベクトル及び前記第２の暗号化されたベクトルの夫々は、Ｐ次元の暗号化された２進ベクトルであり、前記第２の暗号化されたベクトルにおける暗号化されたデータの順序は、前記分類ツリーにおけるノード位置を示さない、ステップと、
前記分類ツリーにおける経路内の各ノードごとに、該各ノードでの分類決定に基づき前記第１の暗号化されたベクトル又は前記第２の暗号化されたベクトルのいずれかから値を選択し、該値に基づき前記加法準同型暗号システムにより前記第１の暗号化されたベクトル及び前記第２の暗号化されたベクトルから選択される値を用いて値のベクトルを計算するステップと、
前記値のベクトルを送信するステップであって、該ベクトルにおける各値の復号化がクラス値の領域における単一の要素をもたらし且つ前記分類ツリーにおける対応するクラスが前記入力データについて得られる、ステップと
を実行させるコンピュータ読出可能なコードを有するコンピュータプログラム。
【請求項９】
前記決定ツリーは、不平衡である、
請求項８に記載のコンピュータプログラム。
【請求項１０】
前記決定ツリーは、１又はそれ以上の１／２分裂を含む、
請求項８に記載のコンピュータプログラム。
【請求項１１】
前記分類決定は、分裂決定を有する、
請求項８に記載のコンピュータプログラム。
【請求項１２】
前記関数は、分裂規則を表す、
請求項８に記載のコンピュータプログラム。
【請求項１３】
前記第２の暗号化されたデータにおける各ノードと関連する暗号化されたデータの順序は、前記分類ツリーにおけるノード位置を示さない、
請求項８に記載のコンピュータプログラム。
【請求項１４】
前記値のベクトルを計算することは、経路におけるノードの数、該経路におけるノードと関連するクラスラベル、前記値のベクトル及び暗号化関数を用いて行われる、
請求項８に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、分類器及び分類におけるその使用の分野に係り、より具体的には、本発明の実施形態は、安全且つオブリビアス（oblivious）な処理を用いる実施形態を含む、ツリーに基づく分類法及びデータ観測法を組み合わせることに係る。
【背景技術】
【０００２】
クラウドコンピュータモデルは、主に、投資が不要であり、柔軟性があり、且つ運用コストが削減されることから、多くのビジネスを魅了している。クラウドコンピュータモデルは、企業がビジネスを行う方法を、利用ごとに支払うユーティリティモデルへと変えた。ＣａａＳ（Computing  as  a  Service）は、企業が、実施許諾を受けたソフトウェアのコピー、自身の処理ロジック及び計算ハードウェアのセットアップを社内で有する必要なしに、計算能力及び処理ロジックを利用することができるクラウドコンピュータの新興のブランチである。演算処理の１タイプは、このような使用のための候補であるツリーに基づく分類である。データの指数関数的な成長に伴い、大容量のデータセットに対してパターン認識及びマイニングを行う真の必要性が存在する。
【０００３】
たとえＣａａＳが多くの利点を提供するとしても、セキュリティ及びプライバシーに対する懸念は、依然として、多くの企業をクラウドへ移行させない主たる要因である。ユーザは、データを明らかにすることなく、サービスプロバイダがデータに対して演算処理を行うことを可能にする必要があるので、入力データを保護することは困難である。サービスとしての分類（classification  as  a  service）は、サービスプロバイダがツリーをトレーニングするために使用するトレーニングセット及び分類器を保護する更なる課題を有する。
【０００４】
以下のシナリオについて考える。ユーザ（クライアント）は画像の組（Ｘ）を有する。ユーザは、画像が例えば顔を含むかどうかを決定するために、画像を分類したいと望むことがある。ユーザは、画像を分類するための分類アルゴリズムを実行するリソース及び／又は技能を有していない。従って、ユーザは、分類タスクｆを遠隔の分類器（クラウド内のサーバ）に委託し、決定ｆ（ｘ）（なお、ｘ∈Ｘ）を得たいと望む。以下は、セキュリティ及びプライバシーの要求である。
１．ユーザは、画像（ｘ個の値）を分類器に明らかにしたくない。
２．分類器は、ｆ（ｘ）から推論され得る情報以外、その分類アルゴリズムｆをユーザに明らかにしたくない。
３．ユーザは、分類決定ｆ（ｘ）を分類器に学習させたくない。
【０００５】
以下は、当該技術でよく知られている計算原理の幾つかに関する簡単な説明である。
【０００６】
［計算原理］
・紛失通信（Oblivious  Transfer）（ＯＴ）
２分の１（1-out-of-2）紛失通信（ＯＴ１２）において、１つのパーティ、すなわち送信側は、２つの文字列（Ｍ０，Ｍ１）から成る入力を有し、第２のパーティ、すなわち選択側の入力は、ビットσである。選択側は、Ｍσを学習するべきであるが、Ｍ１−σについては何ら学習すべきでなく、一方、送信側は、σに関する情報を何も得るべきではない。Ｎ分の１紛失通信（ＯＴ１Ｎ）は、ＯＴ１２の拡張であり、選択側は１つのＭｉ（１≦ｉ≦Ｎ）のみを学習する。Ｎ分のｋ紛失通信（ＯＴｋＮ）は、ＯＴ１Ｎの一般化である。更なる情報のために、M.  O.  Rabin、“How  to  Exchange  Secrets  with  Oblivious  Transfer”、Cryptology  ePrint  Archive、Report  2005/187、２００５年、http://eprint.iacr.org/（非特許文献１）、S.  Even等、“A  Randomized  Protocol  for  Signing  Contracts”、Commun.  ACM、28(6):637-647、１９８５年（非特許文献２）、及びM.  Naor等、“Efficient  Oblivious  Transfer  Protocols”、SODA’01:  Proceedings  of  the  twelfth  annual  ACM-SIAM  symposium  on  Discrete  algorithms、448-457頁、米国ペンシルベニア州フィラデルフィア、２００１年、Society  for  Industrial  and  Applied  Mathematics（非特許文献３）を参照されたし。
【０００７】
・秘密多項式評価法（Oblivious  Polynomial  Evaluation）
秘密多項式評価法（ＯＰＥ）プロトコルは２つのパーティ、すなわち、何らかの有限フィールド＋ｐにわたる多項式ｆを有する送信側と、入力ｘ∈＋ｐを有する受信側とを有する。プロトコルの終わりに、受信側はｆ（ｘ）のみを学習し、送信側は何も学習しない。ＯＰＥに関する更なる情報のために、M.  Naor等、“Oblivious  Transfer  and  Polynomial  Evaluation”、SODA  ’99:  Proceedings  of  the  thirtyfirst  annual  ACM  symposium  on  Theory  of  computing、245-254頁、米国ニューヨーク州ニューヨーク、１９９９年、ACM（非特許文献４）、H.  -D.  Li等、“Oblivious  Polynomial  Evaluation”、J.  Comput.  Sci.  Technol.、19(4):550-554、２００４年（非特許文献５）、M.  Naor等、“Oblivious  Polynomial  Evaluation”、SIAM  J.  Comput.、  35(5):1254-1281、２００６年（非特許文献６）、及びY.  -C.  Chang等、“Oblivious  Polynomial  Evaluation  and  Oblivious  Neural  Learning”、Teor.  Comput.  Sci.、341(1):39-54、２００５年（非特許文献７）を参照されたし。
【０００８】
・準同型暗号化（Homomorphic  Encryption）
非対称暗号化システムは、キー生成、暗号化（Ｅ）及び復号化（Δ）関数から成り、何らかの所与のパブリックキー及びプレーンテキスト空間における何らかの２つのプレーンテキストメッセージｍ１、ｍ２に関し、以下の暗号化関係：
【数１】
0005957918.tif 000002
が有効である場合に、準同型である。ここで、
（外１）
0005957918.tif 000003
は２項演算子である。演算子が加算であるとき、暗号化システムは加法準同型であり（例えば、P.  Paillier、“Public-Key  Cryptosystems  Based  On  Composite  Degree  Residuosity  Classes”、EUROCRYPT  ’99:  Proceedings  of  the  17th  international  conference  on  Theory  and  application  cryptographic  techniques、223-238頁、ベルリン、ハイデルベルク、１９９９年、シュプリンガー出版（非特許文献８））、演算子が乗算であるとき、暗号化システムは乗法準同型である（T.  El  Gamal、“A  Public  Key  Cryptosystem  and  a  Signature  Scheme  Based  On  Discrete  Logarithms”、Proceedings  of  CRYPTO  84  on  Advances  in  cryptology、10-18頁、米国ニューヨーク州ニューヨーク、１９８５年、シュプリンガー出版（非特許文献９））。
【０００９】
［紛失通信］
従来のＯＴプロトコルは全てパブリックキー暗号化（ＰＫＣ）を必要とする。ＰＫＣは冪剰余（modular  exponetiation）を伴う。従って、計算オーバヘッドは、その計算オーバヘッドよりも厳しい。ここで、ＯＴ１２及びＯＴ１Ｎの実施について記載する。これは、非特許文献３によって提案されているプロトコルに密接に従う。
【００１０】
・１／２紛失通信
選択側の入力は、σ∈０，１であり、送信側の入力は、２つの文字列Ｍ０，Ｍ１である。選択側の出力は、Ｍσである。プロトコルは、素数位数（prime  order）のグループ・ｑにわたって動作し、ｇは、該グループの生成元である。構文は、ランダムオラクルとしてモデル化される、すなわち、如何なる参加者も利用可能であり且つ例えばＳＨＡ等のハッシュ関数として通常は実施される真ランダム関数として選択される、関数Ｈを使用する。
【００１１】
・エルガマル（ElGamal）暗号化を用いるプロトコル
１．送信側は、ランダム要素ｒｓ∈・ｑを選択し、それを公開する。
２．選択側は、ランダム要素ｒｓ∈・ｑをとり、パブリックキーＰＫσ＝ｇｒｃ及びＰＫ１−σ＝ｒｓ／ＰＫσを設定し、ＰＫ０を送信側に送る。
３．送信側は、ＰＫ１＝ｒｓ／ＰＫ０を計算し、ランダム要素ｒ１，ｒ２∈・ｑを選択する。送信側は、
（外２）
0005957918.tif 000004
としてＥ０によってＭ０を暗号化する（なお、
（外３）
0005957918.tif 000005
は、ビット単位の２項演算子である。）とともに、
（外４）
0005957918.tif 000006
を暗号化し、それらを選択側に送る。
４．選択側は、Ｈ（（ｇｒσ）ｒｃ）＝Ｈ（ＰＫσｒσ）を計算し、それを用いてＭσを復号化する。
【００１２】
同じｒ＝ｒ１＝ｒ２は、同レベルのプライバシー及びセキュリティを提供するために使用され得る。同じｒによれば、送信側は、３つの累乗（うち１つは、プロトコルが始まる前に予め計算され得る。）を計算する必要があり、選択側は、２つの累乗（うち１つは予め計算され得る。）を計算する必要がある。ｑはｎビット素数位数であるとすると、通信複雑度は２ｎ（選択側から）＋ｎ＋２ｌｏｇ２｜Ｍ｜（送信側から）である。複雑度は、メッセージが・ｑの要素であり、且つ、１つのランダム値ｒが使用される場合に、５ｎである。
【００１３】
［秘密多項式評価法］
非特許文献７によって紹介されているＯＰＥプロトコルは、ＯＴ１２を用いる。
【００１４】
多項式は、有限フィールド＋ｑにわたる。なお、ｑは、ｌビット素数である。受信側は入力ｘ＊∈＋ｑを有し、送信側は、
（外５）
0005957918.tif 000007
を有する。
【００１５】
各係数ａｉは、以下：
【数２】
0005957918.tif 000008
のように表される。
【００１６】
夫々のｉ∈［１，ｄ］及び夫々のｊ∈［１，ｌ］について、受信側は、以下：
【数３】
0005957918.tif 000009
のように値ｖｉｊを計算する。
【００１７】
夫々のｉ∈［１，ｄ］について、以下：
【数４】
0005957918.tif 000010
が適用できる点に留意すべきである。
【００１８】
プロトコルがＯＴ１２を用いるならば：
１．受信側は、（ｒｉｊ，ｖｉｊ＋ｒｉｊ）のｄｌ個の対を用意する。なお、各ｒｉｊは、＋ｑからランダムに一様に選択される。
２．（ｒｉｊ，ｖｉｊ＋ｒｉｊ）の各対ごとに、送信側は、ａｉｊ＝０の場合にはｒｉｊを、それ以外の場合にはｖｉｊ＋ｒｉｊを得るよう、受信側とともにＯＴ１２を実行する。
３．送信側は、
【数５】
0005957918.tif 000011
に等しいｄｌのＯＴ１２プロトコルの出力とａ０との和を計算する。受信側は、送信側の出力から
（外６）
0005957918.tif 000012
を減じて、ｆ（ｘ＊）を得る。
【００１９】
このプロトコルにおける支配的な動作は、ＯＴ１２動作である。複雑度は、ＯＴ１２の複雑性のｄｌ倍である（ＯＴ１２ごとに５つの累乗及び３つの逆演算）。
【００２０】
加法準同型暗号化（ＨＥ）を用いるプロトコルは、以下の通りである：
１．受信側は、Ｅ（ｖｉｊ）のｄｌ個の値を準備する。
２．Ｅｉｊの各値ごとに、送信側は、ａｉｊ＝０の場合には１を、それ以外の場合にはＥ（ｖｉｊ）をとる。
３．送信側は、
【数６】
0005957918.tif 000013
に等しいｄｌ個の暗号化された値の出力とａ０との和を計算する。受信側は、復号化して、ｆ（ｘ＊）を得る。
【００２１】
このプロトコルにおける支配的な動作は、ＨＥ動作である。複雑度は、暗号化の複雑度の２ｄｌ倍である（すなわち、暗号化ごとに１つの累乗）。最初のプロトコルと比較して、第２のアプローチにおける累乗の数は半分に減らされる。最初のプロトコルと比較して、暗号文空間がプレーンテキスト空間と同じであるとすると、第２のアプローチにおける通信複雑度は、３分の２だけ減らされる。
【００２２】
上記に関連する更なる技術は、ＰＰＤＭ（Privacy  Preserving  Data  Mining）を含む。ＰＰＤＭ研究において、主な焦点は、プライバシー及びセキュリティに対する懸念に対処しながら、集合的に予測モデルを学習することであった。かかる研究において、２つの主枝の問題が存在する。両主枝の最終目標は、予測モデルをトレーニングすることであるが、２つの主枝は異なる憶測を立て且つ異なる設定を有する。第１のカテゴリ（摂動入力の問題）は、データマイニング部、すなわち、分類器への入力を秘密のままとしながら、予測モデルを生成するという課題に対処する。第２のカテゴリ（非公開パーティ入力の問題）は、次の問題に対処する：入力データを有する幾つかのパーティが存在し、それは、集合的に、自分たちの入力データを他の関連するパーティに秘密にしながら、予測モデルを生成したいと望む。
【発明の概要】
【発明が解決しようとする課題】
【００２３】
非公開パーティ入力の問題において、異なるパーティからの入力データは、水平又は垂直のいずれかの方向において分割される。水平分割されたデータによれば、各パーティは、考慮中の全ての機能に対する完全なデータ設定を有する。対照的に、垂直分割されたデータによれば、各パーティは、考慮中の機能に対する完全なデータ設定を有さない。すなわち、夫々が、完全なデータ設定を構成するよう部分的な入力データを有する。理想的な状況においては、データマイニング手順の終わりに、各パーティは、垂直又は水平に分割された自身のデータのみと、トレーニングされた予測モデルとを知っている。
【００２４】
摂動入力の問題において、その名の通り、入力データを所有するユーザは、データマイニング処理の前に“ノイズ”（例えば、一般化、歪み、等）をデータに加え、次いで、原の累積部分（原の値ではない。）を回復するために再構成技術を用いる。ノイズは、分類器からデータを隠す。しかし、そのような方法が提供するプライバシー及びセキュリティのレベルを定量化することは困難である。更に、予測モデルは、ノイズに起因して同程度の偽陽性及び陰性を有する。摂動データから予測モデルを学習した後、モデルは非摂動データを分類することができる。ユーザ入力を保護するために、ユーザは、局所的に分類アルゴリズムを実行するために予測モデルを与えられる。かかるアプローチはユーザ入力のプライバシーを保つが、予測モデルを保護することはできない。
【００２５】
従って、本発明は、上記を鑑み、ユーザと分類器との間で相互にプライバシー及びセキュリティを満足することができる、暗号化技術を用いたツリーに基づく分類のための方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【００２６】
分類のための方法及び装置について開示する。一実施形態において、方法は、第１の位置で分類ツリーを有する分類器によってユーザ入力のツリーに基づく分類を行うステップであって、前記第１の位置とは異なる第２の位置とデータを交換して、前記ユーザ入力を取得し、単準同型暗号化を用いてユーザに分類の結果を提供し、それにより、前記ユーザ入力が前記分類器に対して隠され、前記分類ツリーが前記ユーザに対して隠され、前記分類器の出力が前記分類器に対して隠されるようにするステップを有する。
【発明の効果】
【００２７】
本発明の実施形態によれば、ユーザと分類器との間で相互にプライバシー及びセキュリティを満足することができる、暗号化技術を用いたツリーに基づく分類のための方法及び装置を提供することが可能となる。
【図面の簡単な説明】
【００２８】
【図１】本願で用いられる表記法により決定ツリーの例を表す。
【図２】本願で記載されるアプローチを用いてデータを処理する工程の一実施形態のフロー図である。
【図３】分類器で実行されるアルゴリズムの一実施形態の擬似コードを表す。
【図４】線形な分類ツリーを用いてデータを分類する工程の一実施形態のフロー図である。
【図５】分類器を使用するときにユーザ端末によって行われる動作のアルゴリズムの一実施形態のための擬似コードである。
【図６】線形な分類ツリーを用いてデータを分類する工程の一実施形態のフロー図である。
【図７】各内部ノードでの分裂規則を評価するために分類器で実行されるアルゴリズムの一実施形態のための擬似コードである。
【図８】分類ツリーを用いて分類を行う分類器での分裂規則評価のための工程の一実施形態のフロー図である。
【図９】本願で使用される表記法により分類ツリーの例を表す。
【図１０】図９の分類ツリーの例を表す。
【図１１】コンピュータシステムのブロック図である。
【発明を実施するための形態】
【００２９】
本発明は、本発明の様々な実施形態に係る以下に与えられる詳細な説明及び添付の図面から、より十分に理解されるであろう。なお、それらの実施形態は、本発明を具体的な実施形態に限定するものではなく、説明及び理解のためにのみ挙げられている。
【００３０】
以下は、オブリビアスなツリーに基づく分類を行うための新規なアプローチを開示する。１つのアプローチは、紛失通信プロトコルに基づき、一方、他のアプローチは、加法準同型暗号化システムに基づく。一実施形態において、ツリーに基づく分類は、既存のプロトコルよりもずっと有効である新規な秘密多項式評価法プロトコルに基づく準同型暗号化と組み合わされる。一実施形態において、新しいプロトコルが構築され、実際的な暗号化技術が用いられ、それにより、暗号化されたデータに対する特定の算術演算の実行を可能にする。
【００３１】
ここで記載される技術は、幾つかのモデルにおいて使用されてよい。
【００３２】
以下の記載において、多数の詳細が、本発明のより完全な説明を提供するために示されている。しかし、当業者には当然のことながら、本発明は、それらの具体的な詳細によらずに実施されてよい。他の事例では、よく知られている構成及び装置は、本発明を不明りょうにすることを回避するために、詳細にというよりも、ブロック図形式において示されている。
【００３３】
次の詳細な記載の幾つかの部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズム及びシンボル表現に関連して与えられている。それらのアルゴリズム的記述及び表現は、データ処理技術における当業者によって他の当業者に自身の研究の内容を最も効果的に伝えるために使用される手段である。アルゴリズムは、ここでは、概して、所望の結果をもたらすセルフコンシステントな一連のステップであると考えられる。ステップは、物理量の物理的処置を必要とするものである。通常、必然的ではないが、それらの量は、記憶され、転送され、結合され、比較され、且つ、別なふうに扱わされることが可能な電気的又は磁気的な信号の形態をとる。それらの信号をビット、値、要素、シンボル、文字、項、数等と呼ぶことは、主に公共的使用のために、時々便利である。
【００３４】
しかし、それらの及び同様の用語の全ては、適切な物理量と関連づけられるべきであり、単にそれらの量に適用される便利なラベルに過ぎないことが、念頭に置かれるべきである。以下の議論から明らかなように、具体的に別なふうに述べられない限り、明細書全体を通じて、「処理」又は「演算」又は「計算」又は「決定」又は「表示」等の語を用いる議論は、コンピュータシステムのレジスタ及びメモリ内で物理（電子）量として表されるデータを扱い、コンピュータシステムのメモリ若しくはレジスタ又はその他情報記憶、送信又は表示装置等内の物理量として同様に表される他のデータに変換するコンピュータシステム又は同様の電子演算装置の動作又は処理をいう。
【００３５】
また、本発明は、ここでは、演算を行うための装置に係る。この装置は、必要とされる目的のために特別に構成されてよく、あるいは、それは、コンピュータに記憶されるコンピュータプログラムによって選択的にアクティブにされ又は再構成される汎用のコンピュータを有してよい。そのようなコンピュータプログラムは、例えば、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ及び光磁気ディスクを含む何らかのタイプのディスク、読出専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光学カード、又は電子的な命令を記憶するのに適しており且つ夫々コンピュータシステムバスに結合されている何らかのタイプの媒体等の、しかしそれらに限定されないコンピュータ読出可能な記憶媒体に記憶されてよい。
【００３６】
ここで提示されるアルゴリズム及び表示は、本質的に、何らかの特定のコンピュータ又は他の装置とは無関係である。様々な汎用システムが、ここでの教示に従うプログラムとともに使用されてよく、あるいは、必要とされる方法ステップを実行するためのより専門の装置を構成することが便利となりうる。様々なそのようなシステムのための必要とされる構成は、以下の記載から明らかである。更に、本発明は、何らかの特定のプログラミング言語を参照して記載されない。様々なプログラミング言語が、ここで記載される本発明の教示を実施するために使用されてよいことは、明らかである。
【００３７】
機械読出可能な媒体は、機械（例えば、コンピュータ）によって読出可能な形で情報を記憶又は送信するための如何なるメカニズムも含む。例えば、機械読出可能な媒体には、読出専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス等がある。
【００３８】
［表記法］
【表１】
0005957918.tif 000014
表１は、ここで使用される全てのシンボル及び表記を集約する。
【００３９】
［ＩＤ３アルゴリズム］
最初に、単一変数線形決定のみを必要とする場合に２に設定された分岐因子を有するツリーに基づいて入力データを非公開で分類することに焦点を当てる。次いで、当該技術は、多変数決定ツリーに拡張される。
【００４０】
以下が仮定される：
・分類ツリーは既に学習されている。
・分岐因子は２である。
・カテゴリ及びクラスラベルの数は公然である。
【００４１】
２つのパーティが存在する。１つは、非公開の入力ベクトルｘ＝（ｘ１，ｘ２，・・・，ｘｎ）ｔを有するユーザ端末であり、他は、トレーニングされた分類ツリーを有する分類器である。ユーザ端末は、全てのとり得るクラスラベルＣ＝｛ｗ１，ｗ２，・・・，ｗｔ｝から自身の入力のクラスラベルを見つけたいと望む。プライバシー及びセキュリティの要求は、以下の通りである。
１．ユーザ端末は、ｘを分類器に対して明らかにしたくない。
２．分類器は、ユーザ端末に対して分類ツリー、特に、ツリーによって計算される決定を明らかにしたくない。
３．ユーザ端末は、自身の入力についてのクラスラベルを分類器に対して明らかにしたくない。
【００４２】
分類ツリーの一例が図１に示されている。
【００４３】
多数のアプローチがここで提案されている。一実施形態において、ＯＴ１２は、ツリーの内部ノードの評価のために使用される。他の実施形態において、加法準同型暗号化は、ツリーの内部ノードの評価のために使用される。これらのアプローチのいずれもが、クラスラベルの評価のために加法準同型暗号化を使用する。ここでの目的のために、前者は、ＯＴに基づくアプローチと呼ばれ、後者は、ＨＥに基づくアプローチと呼ばれる。
【００４４】
図２は、２つのアプローチのいずれか一方を用いてデータを処理する工程の一実施形態のフロー図である。処理は、ハードウェア（回路、専用のロジック、等）、ソフトウェア（汎用のコンピュータシステム又は専用の機械で実行されるもの）、又はそれらの組み合わせを有する処理ロジックによって実行される。一実施形態において、処理ロジックは分類器の部分である。
【００４５】
図２を参照すると、処理は、第１の位置で分類ツリーを有する分類器によってユーザ入力のツリーに基づく分類を行う処理ロジックを有し、該処理ロジックは、第１の位置とは異なる第２の位置とデータを交換して、ユーザ入力を取得し、単準同型暗号化を用いてユーザ端末に分類の結果を提供することを含み、それにより、ユーザ入力は分類器に対して隠され、分類ツリーがユーザ端末に対して隠される（処理ブロック２０１）。一実施形態において、単準同型暗号化（singly  homomorphic  encryption）は、分類のための重みと、入力のビット単位の多項式表現とを用いる。一実施形態において、多項式表現は、和として多項式を表す。一実施形態において、単準同型暗号化は、加法準同型暗号化を有する。一実施形態において、単準同型暗号化は、準同型暗号化に基づく秘密多項式評価法プロトコルを有する。
【００４６】
［ＯＴに基づくアプローチ］
ユーザ端末は、分類器と協働して、分類ツリーにおける各ノードごとにＯＰＥプロトコルを実行する。分類器は、ユーザ端末が分類ツリーにおけるノードの相対位置を学習しないように、一様にランダムにノードを選択する。一般性を失うことなく、分類ノードにおけるノードが、何らかの決定論的だがランダムな順序で、１からｍまでインデックスを付されるとする。ノードｉでのｎ次元の特徴ベクトルはｙｉ＝｛ｙ１，ｙ２，・・・，ｙｎ｝であるとする。各ノードｉでの分裂規則ｆｉは形式ｘｔｙｉ≦θｉを有するとする。なお、θｉは閾値である。一実施形態において、関数ｆは、この技術の使用前に与えられる。それは、顔や、頁上の書式に対するマーク等の分類器であってよい。一実施形態において、特定の関数は、決定ツリーにおけるノードにおいて実施される。ツリーは前もってトレーニングされている。一実施形態において、関数のクラスは、「一次関数」又は「ドット積関数」である。それらは、決定ツリーにおいて最も幅広く使用されている。
【００４７】
ランダム関数ｆｉ（ｘ，ｙｉ，θｉ）→｛０，１｝を用いてノードｉでの分裂規則を表すことができる。ここで、１は、分裂規則が満足されたこと（すなわち、「はい（yes）」）を示す。関数ｆｉは：
【数７】
0005957918.tif 000015
のように定義されてよい。
【００４８】
ユーザ端末は、分類器と協働してｍ回のＯＰＥプロトコルを実行し、ユーザ端末は、各ノードインデックスｉごとに０又は１（ｆｉの出力であり何ものでもない。）のいずれかを学習し、分類器は、ユーザ端末の入力及び出力に関して何も学習しない。最後に、ユーザ端末は、全ての出力のビットベクトルＺを構成し、オブリビアスにクラスラベルを学習するよう分類器とともに他のプロトコルを実行する。
【００４９】
上記の方法により最終的な分類決定（すなわち、分類ツリーにおいてリーフノードに割り当てられるクラス）をオブリビアスに評価するために、各内部ノードでオブリビアスに評価される二分決定（binary  decisions）を多項式に変換する必要がある。しかし、このシナリオのために多項式を構成することは、可能性の数が内部ノードの数ｍとともに指数関数的に増大するので、分類ツリーに２、３のノードしか存在しない簡単な場合を除いて、一般的に、法外に費用がかかる。従って、一実施形態において、大きな分類ツリーに対して加法準同型暗号化システムを用いてオブリビアスにクラスを得るための別の技術が使用される。
【００５０】
分類ツリーにおける各経路ごとに、ユーザ端末は、以下のように２つのベクトルＺ’及びＺ”を計算し、分類器に与える：
【数８】
0005957918.tif 000016
ここで、Ｅは加法準同型暗号化であり、且つ、１≦ｉ≦ｍである。各経路はリーフノード及びその関連するクラスに対応する点に留意すべきである。ユーザ端末はプライベートキーを有する。分類器は乱数ｒ∈・ｐを選択する。
【００５１】
インデックスｊを有する経路ｔでの各ノードごとに、分類器は、分類決定に依存してＺ’［ｊ］又はＺ”［ｊ］をとり、（Ｚ’［ｊ］）ｒ又は（Ｚ”［ｊ］）ｒを計算する。分類器は、各経路に沿って（ルートからリーフノードまで）全てのインデックスについて計算値を乗じる。この値は、ここでは、ｕｔと呼ばれる。分類器は、
ｖｔ＝ｕｔ×Ｅ（−ｈ×ｒ）×Ｅ（ｗｔ）
を計算する。ここで、ｈは、経路における内部ノードの数（すなわち、ツリー高さ）であり、ｗｔは、経路ｔ（１≦ｔ≦Ｐ）のリーフノードに関連するクラスラベルであり、Ｐ回の別々の乗算を実行する。分類器は、ベクトルＶ＝｛ｖ１，ｖ２，・・・，ｖＰ｝を生成する。ユーザ端末がベクトルＶの各要素を復号化するとき、クラス値の領域にはただ１つの要素しか存在せず、従って、ユーザ端末は、自身の入力ｘについて対応するクラスを得る。
【００５２】
分類器は、付加的な計算及び通信費用を擬制にして、更に分類ツリーを隠すよう偽のノードを導入してよい。
【００５３】
・複雑性の分析
以下は、分類ツリーにおける内部ノードのハイレベルな複雑性分析を示す。ｎ個の特徴及びｍ個の内部ノードが存在する。完全なＯＴに基づくアプローチのためのプロトコルが素数位数の有限フィールド＋ｐにわたって動作し、且つ、属性値がｌビット（０−２ｌ）であるとする。同じＯＰＥプロトコルは、ｎ個の一次（ｄ＝１）多項式の集合として各ｆｉを考えることによって、適用される。ＯＴ１２を用いるＯＰＥプロトコルに関し、全部でｎｍｄｌ＝ｍｎｌ回のＯＴ１２動作が実行される。すなわち、おおよそ５ｎｍｌ回の累乗及び６ｎｍｌｌｏｇ２｜ｐ｜ビットである。ＨＥを用いるＯＰＥプロトコルに関し、全部で２ｎｌ回のＨＥ動作が実行される。すなわち、２ｎｌ回の累乗及び２ｎｌｌｏｇ２｜ｐ｜ビットである。後者の複雑性は、暗号化される値が再利用され得るので、ｍとは無関係である点に留意すべきである（加算、乗算、及び除算の各演算は、上記の分析においては考慮されない点に留意すべきである。）。
【００５４】
・プロトコルの例
図３は、分類器で実行されるアルゴリズムの一実施形態の擬似コードを表す。そのような擬似コードは、当業者にはよく理解されている。
【００５５】
図４は、線形な分類ツリー（例えば、決定ツリー）を用いてデータを分類する工程の一実施形態のフロー図である。処理は、ハードウェア（回路、専用のロジック、等）、ソフトウェア（汎用のコンピュータシステム又は専用の機械で実行されるもの）、又はそれらの組み合わせを有する処理ロジックによって実行される。一実施形態において、処理ロジックは分類器の部分であってよい。処理ロジックは、図３において記載される擬似コードを実施する命令を実行してよい。
【００５６】
図４を参照して、処理は、処理ロジックが第１の暗号化された入力データを受信することによって開始する（処理ブロック４０１）。一実施形態において、第１の暗号化された入力データは、加法準同型暗号化システムによりビット単位で暗号化された入力データを有する。
【００５７】
次に、処理ロジックは、分類ツリーの各ノードごとに、第１の暗号化されたデータを用いて、分類器により関数を計算する（処理ブロック４０２）。一実施形態において、分類ツリーは、決定ツリーを有する。一実施形態において、決定ツリーは、１又はそれ以上の多重特徴分裂（multiple-feature  split）を有する多変数ツリーである。一実施形態において、決定ツリーは不平衡である。一実施形態において、決定ツリーは、１又はそれ以上の１／２分裂を含む。一実施形態において、関数は分裂規則を表す。
【００５８】
分類ツリー上の各ノードごとに関数を計算した後、処理ロジックは、その各ノードごとに関数を計算した結果の暗号化されたバージョンを有する第２の暗号化されたデータを送信する（処理ブロック４０３）。
【００５９】
その後、処理ロジックは、第１及び第２の暗号化されたベクトルを受信する（処理ブロック４０４）。第１の暗号化されたベクトルは、分類ツリーにおける各ノードでの分類決定を含むベクトルの暗号化されたバージョンを含み、第２の暗号化されたベクトルは、分類ツリーにおける各ノードでの分類決定を含むベクトルの余（complementary）を含む。相補的な２進ベクトルは、各“０”エントリが“１”により置換され、各“１”エントリが“０”により置換されるものである点に留意すべきである。一実施形態において、第１及び第２の暗号化されたベクトルは、Ｐ次元の暗号化された２進ベクトルである。一実施形態において、第２の暗号化されたデータにおける各ノードと関連する暗号化されたデータの順序は、分類ツリーにおけるノード位置を示さない。一実施形態において、分類決定は分裂決定を有する。
【００６０】
第１及び第２の暗号化されたベクトルのデータを用いて、分類ツリーにおける経路内の夫々のノードについて、処理ロジックは、その各ノードでの分類決定に基づき第１及び第２の暗号化されたベクトルのいずれかから値を選択し、その値に基づく値のベクトルを第１及び第２の暗号化されたベクトルから選択される値を用いて計算する（処理ブロック４０５）。一実施形態において、値のベクトルを計算することは、経路におけるノードの数、該経路におけるノードと関連するクラスラベル、値のベクトル及び暗号化関数を用いて行われる。暗号関数は、値のベクトルを暗号化するために使用される同じ準同型暗号化関数であってよい（例えば、パイエ（Pailler）準同型暗号化システム）。
【００６１】
その後、処理ロジックは値のベクトルを送信し、該値のベクトルから、分類ツリーにおけるノードに割り当てられる対応するクラスが得られる（処理ブロック４０６）。
【００６２】
［ＨＥに基づくアプローチ］
ハイレベルな技術は、ユーザ端末が、加法準同型暗号化システムを用いて入力データｘをビット単位で暗号化し、分類器が、それらの暗号化された値を用いて、夫々のノードｉについて暗号データに対してｘｔｙｉ−θｉを計算することである。ユーザ端末は、各ノードでの分裂決定を決定するために、それらの暗号化された値を復号化する。ＯＴに基づくアプローチとは異なり、内部ノードを評価するためのユーザ端末における作業の量は、分類ツリーにおけるノードの数ｍとは無関係であり、このことはユーザ端末における計算費用を大いに削減する点に留意すべきである。ビットベクトルＺが計算されると、クラスラベルの評価は、ＯＴに基づくアプローチにおいて先に記載されたものと同様である。
【００６３】
より具体的には、ｘに含まれる要素に関し、ユーザ端末は、ＯＰＥプロトコルにおいて見られるようにｖｉｊ値を計算し、次いで、ユーザ端末で起動される加法準同型暗号化システムにより各ｖｉｊ値を暗号化する（すなわち、ユーザ端末はプライベートキーを有する。）。ユーザ端末は、ｎ×ｌ個の暗号化されたｖｉｊを分類器に送る。ｙｉに含まれる夫々の要素に関し、分類器は、ｘｔｙｉを計算するために、要素の非零ビット位置に基づき正しい暗号化されたｖｉｊをとり、それらを掛け合わせる。分類器は、それにθｉの暗号化された加法逆（additive  inverse）を乗じることによって、閾値θｉを減じる。夫々のノードｉに関し、分類器は上記の計算を行って、ｍ個の暗号化された要素のベクトルを用意する。ユーザ端末はこのベクトルを復号化し、各ノードでの分裂決定を示すビットベクトルＺを計算する。ユーザ端末と分類器との間の残りの相互作用は、上記のＯＴアプローチと同様である。このアプローチは、加法準同型暗号化システムの利用可能性にのみ依存する点に留意すべきである。
【００６４】
・プロトコルの例
図５は、分類器を用いる場合にユーザ端末によって行われる動作のアルゴリズムの一実施形態のための擬似コードである。
【００６５】
図６は、線形な分類ツリー（例えば、決定ツリー）を用いてデータを分類する工程の一実施形態のフロー図である。処理は、ハードウェア（回路、専用のロジック、等）、ソフトウェア（汎用のコンピュータシステム又は専用の機械で実行されるもの）、又はそれらの組み合わせを有する処理ロジックによって実行される。一実施形態において、処理ロジックは、分類器と通信しているクライアント（すなわち、分類器にアクセスしている及び／又は分類器を使用している装置又はサービス）の部分である。処理ロジックは、図５において記載される擬似コードを実施する命令を実行してよい。
【００６６】
図６を参照して、処理は、処理ロジックが、暗号化された入力データを生成するために加法準同型暗号化システムを用いて入力データのビット単位の暗号化を実行することによって、開始する（処理ブロック６０１）。処理ロジックは、この情報を分類器に送信する。
【００６７】
その後、処理ロジックは、分類器から、入力データを用いて分類ツリーの各ノードでの分類決定を評価した結果を含むベクトルを受信する（処理ブロック６０２）。
【００６８】
ベクトルに含まれるデータを用いて、処理ロジックは、分類ツリーにおける各ノードでの分類決定を含むベクトルの暗号化されたバージョンを含む第１の暗号化されたベクトルと、分類ツリーにおける各ノードでの分類決定を含むベクトルの余を含む第２の暗号化されたベクトルとを生成し（処理ブロック６０３）、第１及び第２の暗号化されたベクトルを分類器に送信する（処理ブロック６０４）。
【００６９】
次に、処理ロジックは、分類器から、第１及び第２の暗号化されたベクトルを用いて分類器によって計算された暗号化されたクラスラベルを受信する（処理ブロック６０５）。この情報から、処理ロジックは、入力データについてのクラスラベルを検出する（処理ブロック６０６）。
【００７０】
図７は、各内部ノードでの分裂規則を評価する分類器で実行されるアルゴリズムの一実施形態のための擬似コードである。
【００７１】
図８は、分類ツリー（例えば、決定ツリー）を用いて分類を行う分類器での分裂規則評価のための工程の一実施形態のフロー図である。処理は、ハードウェア（回路、専用のロジック、等）、ソフトウェア（汎用のコンピュータシステム又は専用の機械で実行されるもの）、又はそれらの組み合わせを有する処理ロジックによって実行される。一実施形態において、処理ロジックは分類器の部分である。処理ロジックは、図７において記載される擬似コードを実施する命令を実行してよい。
【００７２】
図８を参照して、処理は、処理ロジックが、加法準同型暗号化システムを用いて入力データを暗号化することで生成された暗号化された入力データを受信することによって、開始する（処理ブロック８０１）。
【００７３】
暗号化された入力データを用いて、処理ロジックは、少なくとも、分類ツリーにおける各ノードごとに暗号データに対する関数を計算し、その各ノードごとに関数を計算した結果を用いて複数の要素を有する出力ベクトル生成し、該出力ベクトルをユーザ端末に送信することによって、分類ツリーの各ノードでの分類決定を評価する（処理ブロック８０２）。一実施形態において、分類ツリーは、決定ツリーを有する。一実施形態において、決定ツリーは、１又はそれ以上の多重特徴分裂を有する多変数ツリーである。一実施形態において、決定ツリーは不平衡である。一実施形態において、決定ツリーは、１又はそれ以上の１／２分裂を含む。一実施形態において、分類決定は、分裂決定を有する。一実施形態において、関数は、分裂規則を表す。
【００７４】
その後、処理ロジックは、分類ツリーにおける各ノードでの分類決定を含むベクトルの暗号化されたバージョンを含む第１の暗号化されたベクトルと、分類ツリーにおける各ノードでの分類決定を含むベクトルの余を含む第２の暗号化されたベクトルとを受信する（処理ブロック８０３）。
【００７５】
第１及び第２の暗号化されたベクトルを用いて、処理ロジックは、分類ツリーにおける経路内の夫々のノードについて、その各ノードでの分類決定に基づき第１及び第２の暗号化されたベクトルのいずれかから値を選択し、その値に基づく値のベクトルを計算する（処理ブロック８０４）。
【００７６】
その後、処理ロジックは値のベクトルを送信し、該値のベクトルから、分類ツリーにおけるノードに割り当てられる対応するクラスが得られる（処理ブロック８０５）。
【００７７】
・複雑性の分析
内部ノードの評価のために、ユーザ端末は、ｎｌ回の準同型暗号化演算を実行する。夫々の内部ノードについて、分類器は、最悪の場合に、１回の準同型暗号化演算及びｎ＋１回の剰余乗算（modular  multiplication）を実行する。全体として、分類器は、内部ノードを評価するために、ｍ回の暗号化及び（ｎ−１）ｍ回の剰余乗算を実行する。リーフノードの評価のために、ユーザ端末は、ｍ回の復号化及び２ｍ回の暗号化を実行し、分類器は、（ｈ＋１）Ｐ回の剰余乗算及びＰ回の暗号化を実行する。全体として、ユーザ端末は、ｎｌ＋２ｍ個の暗号文を送信し、分類器は、ｍ＋Ｐ個の暗号文を送信する。
【００７８】
法ｎの下で、剰余乗算がＯ（ｌｏｇｎ）をとり、冪剰余がＯ（ｎｌｏｇｎ）をとるとする。法ｎを有するパイエ暗号化システムが使用される場合、ユーザ端末における全体の計算複雑度は、
Ｏ（（ｎｌ＋２ｍ＋ｍ）ｐ２ｌｏｇｐ２）＝Ｏ（（ｎｌ＋３ｍ）ｐ２ｌｏｇｐ２）
であり、分類器は、
Ｏ（（ｍ＋Ｐ）ｐ２ｌｏｇｐ２＋（（ｎ＋１）ｍ＋（ｈ＋１）Ｐ）ｌｏｇｐ２）
＝Ｏ（（ｍ＋Ｐ）ｐ２ｌｏｇｐ２＋（ｎｍ＋ｈＰ）ｌｏｇｐ２）
である。
【００７９】
全体の通信複雑度は、Ｏ（（ｎｌ＋２ｎ＋ｍ＋Ｐ）ｌｏｇｐ２）ビットである。
【００８０】
・多変数決定ツリー
ＨＥに基づくアプローチ位は、多変数決定ツリーにおける各ノードで複数の特徴を有する線形決定を評価するために容易に拡張され得る点に留意すべきである。その場合に、各ｙｉは、１又はそれ以上の非零要素を有する。ユーザ端末においては複雑性に対する課題は存在しないが、分類器での計算複雑性は増大する。夫々のノードについて、最悪の場合に、分類器は、単変量の場合のＯ（ｎ）倍の計算を行う必要がある。
【００８１】
［例］
幾つかの例が、基本的なアプローチを明らかにするために、以下で与えられる。それらの例は、主に、ＯＴに基づくアプローチに係るが、自明に、ＨＥに基づくアプローチに転用され得る点に留意すべきである。
【００８２】
・ハイレベルな例
分類ツリーが図９において見られるようなものである簡単な例を考える。３つの特徴ｘ１、ｘ２、ｘ３と、２つのクラスラベルＡ、Ｂとが存在する。
【００８３】
以下：
ノード１に関し、
ｙ１＝｛１，０，０｝、ｆ１（ｘ，ｙ１，θ１）＝ｒ１ｘ１−ｒ１θ１、
ノード２に関し、
ｙ２＝｛０，１，０｝、ｆ２（ｘ，ｙ２，θ２）＝ｒ２ｘ２−ｒ２θ２、
ノード３に関し、
ｙ３＝｛０，１，０｝、ｆ３（ｘ，ｙ３，θ３）＝ｒ３ｘ２−ｒ３θ３
を有する。
【００８４】
これは比較的簡単な例であるから、関数は、最終出力を決定し且つＯＰＥを使用するために構成される。関数はｇであるとする。関数ｇは、以下の入力表２に従う（表は更に簡略化さえ得る点に留意すべきである。）。
【表２】
0005957918.tif 000017
【数９】
0005957918.tif 000018
【００８５】
ユーザ端末は、ベクトルＺ＝｛ｚ１，ｚ２，ｚ３｝を評価し、クラスを得るためにそれらの値をｇ（Ｚ）に代入する。
【００８６】
・詳細例１−ＯＰＥ及び１つの分裂規則の評価
以下は、パラメータである。目的は、分類ツリーにおけるノードでの分裂の充足可能性をオブリビアスに評価することである。
・ｐ＝３８３（９ビット素数）
・ｇ＝３７９（乗法サイクルグループＺ３８３＊の生成元）
・ｑ＝１２８（稼動すべき比較プロトコルに関し、ｑ＜ｐ／２。ｑの長さ、ｌ＝７ビット）
・ｆ（ｘ）＝５ｘ（次数ｄ＝１）。
【００８７】
ユーザ端末は値ｘ＝３を有し、分類器の閾値θ＝１０であるとする。閾値は、当該技術において標準である分類器の設計に基づく点に留意すべきである。プロトコルの目的は、ユーザ端末が、出力又は入力のいずれも分類器に知らせることなく、ｆ（ｘ）−θの値（符号）を知ることである。ＯＰＥプロトコルによらずに、答えは、５×３−１０＝５である。
【００８８】
ユーザ端末は、以下の行列Ｖを計算する（この場合に、ｆの次数が１であるから、Ｖはベクトルである。）。ここで、ｖ（ｉ，ｊ）＝２ｊ−１・ｖｉであり、ｉは指数であり、ｊはビット位置である。すなわち、
Ｖ＝（２０・３  ２１・３  ２２・３  ２３・３  ２４・３  ２５・３  ２６・３）
＝（３  ６  １２  ２４  ４８  ９６  １９２）
である。
【００８９】
また、ユーザ端末は、以下のランダム値行列Ｒ：
Ｒ＝（１１  １６  １  １２  ３  ５  ２）
を計算する。各値はｑ／ｄｌ、すなわち１２８／７によって境界され、Ｖに含まれる値と一対一の対応を有する。
【００９０】
分類器は、係数のｊ番目のビットの値に依存して、夫々の係数ｉについて、ｒｉｊ又はｖｉｊのいずれかを得る。ユーザ端末は、分類器がｌ＝７回のＯＴ１２プロトコルを通じてこの演算を行うので、分類器がどの成分を得るのかを知らない。従って、ユーザ端末は、ｆ（ｘ）の係数５を知らない。同時に、分類器は、夫々のＯＴ１２プロトコルについてユーザ端末によって送信される２つの値のうち１つの値しか知らないので、ユーザ端末での入力値ｘ＝５を知らない。
【００９１】
分類器は、最初に、係数ビット行列Ｃ：
Ｃ＝（１  ０  １  ０  ０  ０  ０）
を構成する。ｃｉｊは、係数ｉのｊ番目のビットの値である。
【００９２】
ＯＴ１２を用いて、分類器は、第１及び第３の係数のみが非零であるから、以下の値：
Ｍ＝（３＋１１  １６  １２＋１  ３  ５  ２）
を得る。従って、分類器は、Ｍにおいてそれら２つの位置についてはｖｉｊ及びｒｉｊをとり、他の位置についてはｖｉｊのみをとる。
【００９３】
分類器はΣｍｉｊ＝６５を計算し、値ｏｓ＝６５−１０＝５５を送信する。ユーザ端末は、ｏｓ−Σｒｉｊ＝５５−５０＝５を計算し、それが分裂規則ｆ（ｘ）＞ｔを満足すると決定する（∵５＜１２８）。分類器は、最終のクラスラベルが、ユーザ端末のみが知っているランダム値内に隠されているので、分裂決定を知らない点に留意すべきである。
【００９４】
・詳細例２−ＯＰＥ及び１つの分裂規則の評価
ユーザ端末の値ｘを除いて、詳細例１におけるあらゆることが本例についても変わらないままである。ここで、ｘ＝１とする。
【００９５】
ユーザ端末は、以下の値：
Ｖ＝（１  ２  ４  ８  １６  ３２  ６４）
Ｒ＝（１３  １１  ２  １３  ５  ４  １）
を計算する。
【００９６】
分類器は、以下の値：
Ｍ＝（１＋１３  １１  ４＋２  １３  ５  ４  １）
を得る。
【００９７】
分類器は、Σｍｉｊ＝５４を計算し、値ｏｓ＝５４−１０＝４４を送信する。ユーザ端末は、ｏｓ−Σｒｉｊ＝４４−４９＝−５＝３７８を計算し、それが分裂規則ｆ（ｘ）＞θを満足しないと決定する（∵３７８＞１２８）。
【００９８】
・詳細例３−ＯＰＥ及び１つの分裂規則の評価（より高い次数）
関数ｆ（ｘ）を除いて、詳細例１におけるあらゆることが本例についても変わらないままである。ｆ（ｘ）＝５ｘ＋２ｘ２（ｄ＝２）とする。上記の例は全て、一次多項式を用いるが、本例では、二次多項式が用いられる。自明に、これをより高い次数の多項式に拡張することができる。
【００９９】
ユーザ端末は、以下の値：
【数１０】
0005957918.tif 000019
を計算する。
【０１００】
分類器は、ＯＴ１２プロトコルにより、以下の値：
【数１１】
0005957918.tif 000020
を得る。
【０１０１】
分類器は、Σｉ，ｊｍｉｊ＝５４を計算し、値ｏｓ＝９３−１０＝８３を送信する。ユーザ端末は、ｏｓ−Σｒ（ｉ、ｊ）＝８３−６０＝３３を計算し、それが分裂規則ｆ（ｘ）＞θを満足すると決定する（∵３３＜１２８）。
【０１０２】
値８３は、充足可能性に関して何も分類器に示さない点に留意すべきである。例えば、ランダム値の和は、分類器の出力よりも大きいことがあり、この場合には、ユーザ端末での入力は、分類器出力が１２８よりも小さい場合でさえ、分裂規則を満足しない。
【０１０３】
・詳細例４−簡単な分類ツリー
図１０は、考慮中の簡単な分類ツリーを示す。図１０を参照して、３つの成分ｘ１、ｘ２、ｘ３が存在する。２つのクラスラベルＡ及びＢは、夫々、１及び２としてエンコードされる。分裂規則出力は２進値であり、１は、ユーザ端末での入力が形式ｘｉ＞θｉの分類規則を満足することを示す。
【０１０４】
この例は、多変数の場合を扱う。具体的に、関数は、１次関数の集合として形成される。
【０１０５】
ｇは上記の決定関数であるとする。表２を用いて、ｇは、以下：
【数１２】
0005957918.tif 000021
のように求められる。ここでｚｉは、ノードｉでの規則の充足可能性である。
【０１０６】
第１に、どのようにユーザ端末が分類ツリーの内部ノードをオブリビアスに評価するのかが検討される。ユーザ端末及び分類器は、以下のような集合アプローチ（aggregated  approach）において３つのＯＰＥプロトコルを実行する。
【０１０７】
ユーザ入力がｘ＝｛１５，５０，２５｝であるとする。上記と同じ公然のパラメータを用いて、ユーザ端末は、以下：
【数１３】
0005957918.tif 000022
のようにＶ及びＲを計算する。
【０１０８】
分類器は、夫々の内部ノードについて、以下の値：
ノード１については、
【数１４】
0005957918.tif 000023
ノード２については、
【数１５】
0005957918.tif 000024
ノード３については、
【数１６】
0005957918.tif 000025
を得る。
【０１０９】
ランダム値は、実際のシステムにおいては、これらの例における値よりもずっと大きい点に留意すべきである。ここでは、簡単のために、小さい数が使用されている。
【０１１０】
ノード１に関し、分類器は、ΣＭ１＝７５を計算し、値ｏｓ＝７５−１０＝６５を送信する。ユーザ端末は、ｏｓ−ΣＲ１＝６５−６０＝５を計算し、それが分裂規則ｆ（ｘ）＞θを満足すると決定する（∵５＜１２８）。従って、ｚ１＝１。
【０１１１】
ノード２に関し、分類器は、ΣＭ２＝１１２を計算し、値ｏｓ＝１１２−７５＝３７を送信する。ユーザ端末は、ｏｓ−ΣＲ２＝３７−６２＝−２５＝３５８を計算し、それが分裂規則ｆ（ｘ）＞θを満足しないと決定する（∵３５８＞１２８）。従って、ｚ１＝０。
【０１１２】
ノード３に関し、ユーザは同様に、ｚ３＝０と決定する。
【０１１３】
このとき、関数ｇ、すなわち分類決定は、オブリビアスに評価される。
【０１１４】
ユーザ端末は、以下：
【数１７】
0005957918.tif 000026
のようにＶ及びＲを計算する。
【０１１５】
分類器は、以下の値：
【数１８】
0005957918.tif 000027
を得て、ｇ（Ｚ）＝３８２ｚ２＋２を評価する。
【０１１６】
分類器は、ΣＭ＝５５を計算し、ｏｓ＝５５＋２＝５７を送信する。ユーザ端末は、ｏｓ−ΣＲ＝５７−５５＝２を計算し、クラスはＢであるとオブリビアスに決定する。
【０１１７】
明らかなように、各ノードでのＯＰＥプロトコルは、分類器がｘ及び分裂決定を学習せず、且つ、ユーザ端末が分裂規則を学習しないことを確かにする。
【０１１８】
［コンピュータシステムの例］
図１１は、ここで記載される動作の１又はそれ以上を実行することができる、例となるコンピュータシステムのブロック図である。図１１を参照して、コンピュータシステム１１００は、例となるクライアント又はサーバコンピュータシステムを有してよい。コンピュータシステム１１００は、情報通信のための通信メカニズム又はバス１１１１と、情報処理のための、バス１１１１と結合されたプロセッサ１１１２とを有する。プロセッサ１１１２は、マイクロプロセッサを含むが、例えば、Ｐｅｎｔｉｕｍ（登録商標）、ＰｏｗｅｒＰＣ（登録商標）、Ａｌｐｈａ（登録商標）等のマイクロプロセッサに限られない。
【０１１９】
システム１１００は、更に、プロセッサ１１１２によって実行される命令及び情報を記憶するための、バス１１１１と結合されたランダムアクセスメモリ（ＲＡＭ）又は他の動的記憶装置１１０４を有する。メインメモリ１１０４は、また、プロセッサ１１１２による命令の実行の間一時的に変数又は他の中間情報を記憶するためにも使用されてよい。
【０１２０】
コンピュータシステム１１００は、また、プロセッサ１１１２のための静的な情報及び命令を記憶するための、バス１１１１と結合された読出専用メモリ（ＲＯＭ）及び／又は他の静的記憶装置１１０６と、磁気ディスク又は光ディスク及びその対応するディスクドライブ等のデータ記憶装置１１０７とを有する。データ記憶装置１１０７は、情報及び命令を記憶するためにバス１１１１と結合されている。命令は、上記の動作を実行するために使用されてよい。
【０１２１】
コンピュータシステム１１００は、更に、コンピュータユーザに情報を表示するための、バス１１１１と結合された陰極線管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）等のディスプレイ装置１１２１に結合されてよい。英数字及び他のキーを有する英数字入力装置１１２２も、情報及びコマンド選択をプロセッサ１１１２に伝えるためにバス１１１１と結合されてよい。更なるユーザ入力装置は、方向情報及びコマンド選択をプロセッサ１１１２に伝え、ディスプレイ装置１１２１でのカーソル移動を制御するための、バス１１１１と結合されたマウス、トラックボール、トラックパッド、スタイラス、又はカーソル方向キー等のカーソル制御部１１２３である。
【０１２２】
バス１１１１と結合される他の装置はハードコピー装置１１２４である。これは、用紙、フィルム、又は同様の媒体等の媒体に情報を残すために使用されてよい。バス１１１１と結合される他の装置は、電話機又は持ち運び可能な手のひらサイズの装置との通信のための有線／無線通信機能部１１２５である。
【０１２３】
システム１１００及び関連するハードウェアの構成要素は本発明において使用されてよい点に留意すべきである。しかし、当然のことながら、他の構成のコンピュータシステムは一部又は全ての装置を有してよい。
【０１２４】
本発明の多くの代替案及び変形例は、きっと、上記の説明を読むことで当業者には明らかになるであろうが、当然のことながら、異例として図示及び記載される如何なる特定の実施形態も限定と見なされるべきではない。従って、様々な実施形態の詳細への言及は、本発明にとって必須と見なされる特徴のみを挙げる特許請求の範囲の適用範囲を限定するものではない。
【先行技術文献】
【非特許文献】
【０１２５】
【非特許文献１】M.  O.  Rabin、“How  to  Exchange  Secrets  with  Oblivious  Transfer”、Cryptology  ePrint  Archive、Report  2005/187、２００５年、http://eprint.iacr.org/
【非特許文献２】S.  Even等、“A  Randomized  Protocol  for  Signing  Contracts”、Commun.  ACM、28(6):637-647、１９８５年
【非特許文献３】M.  Naor等、“Efficient  Oblivious  Transfer  Protocols”、SODA’01:  Proceedings  of  the  twelfth  annual  ACM-SIAM  symposium  on  Discrete  algorithms、448-457頁、米国ペンシルベニア州フィラデルフィア、２００１年、Society  for  Industrial  and  Applied  Mathematics
【非特許文献４】M.  Naor等、“Oblivious  Transfer  and  Polynomial  Evaluation”、SODA  ’99:  Proceedings  of  the  thirtyfirst  annual  ACM  symposium  on  Theory  of  computing、245-254頁、米国ニューヨーク州ニューヨーク、１９９９年、ACM
【非特許文献５】H.  -D.Li等、“Oblivious  Polynomial  Evaluation”、J.  Comput.  Sci.  Technol.、19(4):550-554、２００４年
【非特許文献６】M.  Naor等、“Oblivious  Polynomial  Evaluation”、SIAM  J.  Comput.、  35(5):1254-1281、２００６年
【非特許文献７】Y.  -C.  Chang等、“Oblivious  Polynomial  Evaluation  and  Oblivious  Neural  Learning”、Teor.  Comput.  Sci.、341(1):39-54、２００５年
【非特許文献８】P.  Paillier、“Public-Key  Cryptosystems  Based  On  Composite  Degree  Residuosity  Classes”、EUROCRYPT  ’99:  Proceedings  of  the  17th  international  conference  on  Theory  and  application  cryptographic  techniques、223-238頁、ベルリン、ハイデルベルク、１９９９年、シュプリンガー出版
【非特許文献９】T.  El  Gamal、“A  Public  Key  Cryptosystem  and  a  Signature  Scheme  Based  On  Discrete  Logarithms”、Proceedings  of  CRYPTO  84  on  Advances  in  cryptology、10-18頁、米国ニューヨーク州ニューヨーク、１９８５年、シュプリンガー出版
【符号の説明】
【０１２６】
１１００  コンピュータシステム
１１０４  動的記憶装置
１１０６  静的記憶装置
１１０７  データ記憶装置
１１１１  バス
１１１２  プロセッサ
１１２１  ディスプレイ装置
１１２２  英数字入力装置
１１２３  カーソル制御部
１１２４  ハードコピー装置
【図１】
0005957918.tif 000028
【図２】
0005957918.tif 000029
【図３】
0005957918.tif 000030
【図４】
0005957918.tif 000031
【図５】
0005957918.tif 000032
【図６】
0005957918.tif 000033
【図７】
0005957918.tif 000034
【図８】
0005957918.tif 000035
【図９】
0005957918.tif 000036
【図１０】
0005957918.tif 000037
【図１１】
0005957918.tif 000038