(57)【要約】      （修正有）【課題】プライバシィを保護した生体認証システムを提供する。【解決手段】リレーショナル線形暗号により暗号化した第１生体テンプレートを表す第１線形暗号テキストを受信し302、リレーショナル線形暗号により暗号化した第２生体テンプレートを表す第２線形暗号テキストを受信し310、線形リレーショナル秘密キーを使用して、第１線形暗号テキストと第２線形暗号テキスト間の線形関係を発見する314。更に、リレーショナル近似暗号により暗号化した第１生体テンプレートを表す第１近似暗号テキストを受信し304、リレーショナル近似暗号化スキームにより暗号化した第２生体テンプレートを表す第２近似暗号テキストを受信し312、近似リレーショナル秘密キーを使用して、ハミング距離に関して第１近似暗号テキストと第２近似暗号テキスト間の近似を検出し316、近似および線形関係に基づいてユーザの特定を認証する318。【選択図】図３
2015225343.tif 000002
【特許請求の範囲】
【請求項１】
リレーショナル線形暗号化スキームを使用して暗号化した第１生体テンプレートを表す第１線形暗号テキストを受信し、
前記リレーショナル線形暗号化スキームを使用して暗号化した第２生体テンプレートを表す第２線形暗号テキストを受信し、
線形リレーショナル秘密キーを使用して、前記第１線形暗号テキストと前記第２線形暗号テキスト間の線形関係を発見し、
リレーショナル近似暗号化スキームを使用して暗号化した前記第１生体テンプレートを表す第１近似暗号テキストを受信し、
前記リレーショナル近似暗号化スキームを使用して暗号化した前記第２生体テンプレートを表す第２近似暗号テキストを受信し、
近似リレーショナル秘密キーを使用して、ハミング距離に関する前記第１近似暗号テキストと前記第２近似暗号テキスト間の近似を検出し、そして
前記近似および前記線形関係に基づいてユーザの特定を認証する、方法。
【請求項２】
さらに、
前記第１線形暗号テキストおよび前記第１近似暗号テキストを登録暗号テキストとして記憶し、そして
前記線形リレーショナル秘密キーおよび前記近似リレーショナル秘密キーを受信する、請求項１に記載の方法。
【請求項３】
前記第１生体テンプレートおよび前記第２生体テンプレートは、ビットベクトルを有し、
前記発見は、
特別なベクトルを、ゼロと１の要素、および線形秘密キーの長さである特別な数のディメンジョンを有する第１フィールドのメンバとして定義し、
前記線形リレーショナル秘密キーの累乗まで累乗された前記第１線形暗号テキストの第１要素および前記第２線形暗号テキストの第１要素の対関数として第１の値を計算し、
前記特別なベクトルの対応する要素の累乗まで累乗された数の負数の累乗まで累乗された前記第１線形暗号テキストの各要素および前記第２線形暗号テキストの対応する要素の対関数の積として第２の値を計算し、
前記第１の値が前記第２の値に等しいか決定し、そして
前記第１の値が前記第２の値に等しいことに応答して、前記第１線形暗号テキストが前記第２線形暗号テキストに対して線形であると結論付ける、請求項１に記載の方法。
【請求項４】
前記第１生体テンプレートおよび前記第２生体テンプレートは、p-aryベクトルを有し、
前記発見は、
特別なベクトルを、ゼロからベース数(p)より小さい値までの要素、および線形秘密キーの長さである特別な数のディメンジョンを有する第２フィールドのメンバとして定義し、
前記線形リレーショナル秘密キーの累乗まで累乗された前記第１線形暗号テキストの第１要素および前記第２線形暗号テキストの第１要素の対関数として第１の値を計算し、
負の１および前記特別なベクトルの対応する要素の積の累乗まで累乗され、ゼロがのぞかれた整数セットのサブグループから選択された任意の生成器の累乗まで累乗された前記第１線形暗号テキストの各要素および前記第２線形暗号テキストの対応する要素の対関数の積として第２の値を計算し、
前記第１の値が前記第２の値に等しいか決定し、そして
前記第１の値が前記第２の値に等しいことに応答して、前記第１線形暗号テキストが前記第２線形暗号テキストに対して線形であると結論付ける、請求項１に記載の方法。
【請求項５】
公開キー情報から線形エラー補正コードのデコードオペレータ(DECODE)にアクセスし、
前記第１近似暗号テキストについてのランダム性の和を復元し、
前記ＤＥＣＯＤＥがエラーを返すのに応答して拒絶を出力し、そして
それ以外で、線形確認アルゴリズムを出力し、
前記第１近似暗号テキストについての前記ランダム性の和は、前記ＤＥＣＯＤＥとして定義され、
前記ＤＥＣＯＤＥは、入力としてさらにＣＰＡ復号アルゴリズムを受信し、
前記ＣＰＡ復号アルゴリズムは、
前記ＣＰＡ秘密キー、および
前記第１近似暗号テキストの第１部分と、入力として前記ＣＰＡ秘密キーおよび前記第２近似暗号テキストの前記第１部分を受信する前記ＣＰＡ復号アルゴリズムの和を、入力として受信し、
前記線形確認アルゴリズムは、
前記線形リレーショナル秘密キー、
前記第２近似暗号テキストの前記第１部分、
前記第２近似暗号テキストの前記第２部分、そして
ランダム性の和を、入力として受信する、請求項１に記載の方法。
【請求項６】
プロセッサが、
リレーショナル線形暗号化スキームを使用して暗号化した第１生体テンプレートを表す第１線形暗号テキストを受信し、
前記リレーショナル線形暗号化スキームを使用して暗号化した第２生体テンプレートを表す第２線形暗号テキストを受信し、
線形リレーショナル秘密キーを使用して、前記第１線形暗号テキストと前記第２線形暗号テキスト間の線形関係を発見し、
リレーショナル近似暗号化スキームを使用して暗号化した前記第１生体テンプレートを表す第１近似暗号テキストを受信し、
前記リレーショナル近似暗号化スキームを使用して暗号化した前記第２生体テンプレートを表す第２近似暗号テキストを受信し、
近似リレーショナル秘密キーを使用して、ハミング距離に関する前記第１近似暗号テキストと前記第２近似暗号テキスト間の近似を検出し、そして
前記近似および前記線形関係に基づいてユーザの特定を認証する、動作の実行または実行を制御するように、前記プロセッサにより実行可能なコード化されたプログラミングコードを有する非一時的なコンピュータ読取可能な媒体。
【請求項７】
前記動作は、さらに、
前記第１線形暗号テキストおよび前記第１近似暗号テキストを登録暗号テキストとして記憶し、
前記線形リレーショナル秘密キーおよび前記近似リレーショナル秘密キーを受信する、請求項６に記載の非一時的なコンピュータ読取可能な媒体。
【請求項８】
前記第１生体テンプレートおよび前記第２生体テンプレートは、ビットベクトルを有し、
前記発見は、
特別なベクトルを、ゼロと１の要素、および線形秘密キーの長さである特別な数のディメンジョンを有する第１フィールドのメンバとして定義し、
前記線形リレーショナル秘密キーの累乗まで累乗された前記第１線形暗号テキストの第１要素および前記第２線形暗号テキストの第１要素の対関数として第１の値を計算し、
前記特別なベクトルの対応する要素の累乗まで累乗された数の負数の累乗まで累乗された前記第１線形暗号テキストの各要素および前記第２線形暗号テキストの対応する要素の対関数の積として第２の値を計算し、
前記第１の値が前記第２の値に等しいか決定し、そして
前記第１の値が前記第２の値に等しいことに応答して、前記第１線形暗号テキストが前記第２線形暗号テキストに対して線形であると結論付ける、請求項６に記載の非一時的なコンピュータ読取可能な媒体。
【請求項９】
前記第１生体テンプレートおよび前記第２生体テンプレートは、p-aryベクトルを有し、
前記発見は、
特別なベクトルを、ゼロからベース数(p)より小さい値までの要素、および線形秘密キーの長さである特別な数のディメンジョンを有する第２フィールドのメンバとして定義し、
前記線形リレーショナル秘密キーの累乗まで累乗された前記第１線形暗号テキストの第１要素および前記第２線形暗号テキストの第１要素の対関数として第１の値を計算し、
負の１および前記特別なベクトルの対応する要素の積の累乗まで累乗され、ゼロがのぞかれた整数セットのサブグループから選択された任意の生成器の累乗まで累乗された前記第１線形暗号テキストの各要素および前記第２線形暗号テキストの対応する要素の対関数の積として第２の値を計算し、
前記第１の値が前記第２の値に等しいか決定し、そして
前記第１の値が前記第２の値に等しいことに応答して、前記第１線形暗号テキストが前記第２線形暗号テキストに対して線形であると結論付ける、請求項６に記載の非一時的なコンピュータ読取可能な媒体。
【請求項１０】
前記検出は、
公開キー情報から線形エラー補正コードのデコードオペレータ(DECODE)にアクセスし、
前記第１近似暗号テキストについてのランダム性の和を復元し、
前記ＤＥＣＯＤＥがエラーを返すのに応答して拒絶を出力し、そして
それ以外で、線形確認アルゴリズムを出力し、
前記第１近似暗号テキストについての前記ランダム性の和は、前記ＤＥＣＯＤＥとして定義され、
前記ＤＥＣＯＤＥは、入力としてさらにＣＰＡ復号アルゴリズムを受信し、
前記ＣＰＡ復号アルゴリズムは、
前記ＣＰＡ秘密キー、および
前記第１近似暗号テキストの第１部分と、入力として前記ＣＰＡ秘密キーおよび前記第２近似暗号テキストの前記第１部分を受信する前記ＣＰＡ復号アルゴリズムの和を、入力として受信し、
前記線形確認アルゴリズムは、
前記線形リレーショナル秘密キー、
前記第２近似暗号テキストの前記第１部分、
前記第２近似暗号テキストの前記第２部分、そして
ランダム性の和を、入力として受信する、請求項６に記載の非一時的なコンピュータ読取可能な媒体。
【請求項１１】
リレーショナル線形暗号化スキームを使用して第１平文テキストベクトルを暗号化して、前記第１平文テキストベクトルを表す第１線形暗号テキストを生成し、
リレーショナル近似暗号化スキームを使用して前記第１平文テキストベクトルを暗号化して、前記第１平文テキストベクトルを表す第１近似暗号テキストを生成し、
前記第１線形暗号テキストおよび前記第１近似暗号テキストを認証サーバに通信し、
前記リレーショナル線形暗号化スキームを使用して第２平文テキストベクトルを暗号化して、前記第２平文テキストベクトルを表す第２線形暗号テキストを生成し、
前記リレーショナル近似暗号化スキームを使用して前記第２平文テキストベクトルを暗号化して、前記第２平文テキストベクトルを表す第２近似暗号テキストを生成し、
前記第２線形暗号テキストおよび前記第２近似暗号テキストを前記認証サーバに通信し、
前記リレーショナル線形暗号化スキームのリレーショナル線形キーおよび前記リレーショナル近似暗号化スキームのリレーショナル近似キーを前記認証サーバに通信し、
前記認証サーバから、前記リレーショナル線形キーを使用した前記第１線形暗号テキストと前記第２線形暗号テキストの間の線形関係、および前記リレーショナル近似キーを使用した前記第１近似暗号テキストと前記第２近似暗号テキストの間の近似を示す認証信号を受信する、方法。
【請求項１２】
前記第１平文テキストベクトルは、ユーザからの登録入力として受信された第１生体テンプレートを有し、
前記第２平文テキストベクトルは、ユーザから挑戦入力として受信された第２生体テンプレートを有し、
前記認証信号は、前記第２生体テンプレートが前記ユーザを起源とすることを示す、請求項１１に記載の方法。
【請求項１３】
さらに、前記リレーショナル線形暗号化スキームのキーを生成することを有し、
前記生成は、
前記安全パラメータ中の指数関数である素数の位数の３つの双一次グループを生成し、
前記３つの双一次グループの第１双一次グループの第１生成器をサンプリングし、
前記３つの双一次グループの第２双一次グループの第２生成器をサンプリングし、
ゼロから前記素数の位数より小さい整数までを含む整数セットから、特別な要素数をランダムにサンプリングすることにより、第１線形秘密キーを生成し、
前記整数セットから、前記特別な要素数をランダムにサンプリングすることにより、第２線形秘密キーを生成し、
前記第１生成器である要素、および前記第１線形秘密キーの対応する要素の累乗まで累乗された前記第１生成器である１つ以上の他の要素を有する第１線形公開キーを定義する、請求項１１に記載の方法。
【請求項１４】
前記第１平文テキストベクトルは、p-aryベクトルを有し、ゼロから前記ベース数より小さい数までの要素および前記特別な数のディメンジョンを有する第２フィールドのメンバであり、
前記３つの双一次グループは、前記安全パラメータ内の前記素数の位数の指数関数で、ベース数(p)の１つのモジュールに等しいように生成され、
前記第１公開キーは、ゼロを除去した前記整数セットのサブグループの任意の生成器である他の要素を有し、
前記第２線形公開キーは、前記任意の生成器である他の要素を有し、
前記リレーショナル線形暗号化スキームを使用した前記第１平文テキストベクトルの暗号化は、
前記整数セットからのランダム数のサンプリング、および
前記第１線形暗号テキストの作成を、有し、
前記第１線形暗号テキストは、
前記ランダム数の累乗まで累乗された前記第１生成器である第１要素、および
線形暗号化の累乗まで累乗された前記第１線形公開キーの対応する要素を有する１つ以上の他の要素を有し、
前記線形暗号化の累乗は、前記ランダム数と前記第１平文テキストベクトルの対応する要素の累乗まで累乗された前記任意の生成器の積を有する、請求項１３に記載の方法。
【請求項１５】
前記第１平文テキストベクトルは、ビットベクトルを有し、ゼロおよび１の要素および前記特別な数のディメンジョンを有する第１フィールドのメンバであり、
前記リレーショナル線形暗号化スキームを使用した前記暗号化は、
前記整数セットからのランダム数のサンプリング、および
前記第１線形暗号テキストの作成を有し、
前記第１線形暗号テキストは、
前記ランダム数の累乗まで累乗された前記第生成器である第１要素、および
線形暗号化累乗まで累乗された前記第１線形公開キーの対応する要素である１つ以上の他の要素を有し、
前記線形暗号化累乗は、前記ランダム数と前記第１平文テキストベクトルの対応する要素の累乗までの累乗された数の負数の積を有する、請求項１３に記載の方法。
【請求項１６】
さらに、安全パラメータのための前記リレーショナル近似暗号化スキームのキーを生成することを、有し、
前記生成は、
長さ、前記安全パラメータの同じ順番におけるランク、および選択された最小距離を有する線形エラー補正コード（ＥＣＣ）を選択し、
ＣＰＡ(chosen-plaintext attack)公開キーおよびＣＰＡ秘密キーを出力するＣＰＡ安全暗号化スキームのキー生成アルゴリズムを動作させ、
第１線形公開キー、第２線形公開キー、第１線形秘密キー、第２線形秘密キー、およびリレーショナル線形秘密キーを出力するリレーショナル線形キー生成アルゴリズムを動作させ、
ＥＣＣエンコードオペレータ、ＥＣＣデコードオペレータ、前記ＣＰＡ公開キー、および前記第１線形公開キーとして、第１近似公開キーを定義し、
前記ＥＣＣエンコードオペレータ、前記ＥＣＣデコードオペレータ、前記ＣＰＡ公開キー、および前記第２線形公開キーとして、第２近似公開キーを定義し、
前記ＣＰＡ秘密キーおよび前記第１線形秘密キーとして、第１近似秘密キーを定義し、
前記ＣＰＡ秘密キーおよび前記第２線形秘密キーとして、第２近似秘密キーを定義し、そして
前記ＣＰＡ秘密キーおよび前記リレーショナル線形秘密キーとして、近似リレーショナル秘密キーを定義する請求項１１に記載の方法。
【請求項１７】
前記リレーショナル近似暗号化スキームを使用した前記暗号化は、
ベース数および前記ＥＣＣのランクであるディメンジョンを有する第３フィールドから近似ランダム数をサンプリングし、
前記ＣＰＡ公開キーおよび前記第１平文テキストベクトルの和を入力として受信するＣＰＡ暗号化アルゴリズム、および入力として前記近似ランダム数を受信する前記ＥＣＣエンコードオペレータとして、第１近似暗号テキストの第１部分を定義し、
前記第１線形公開キーおよび前記近似ランダム数を入力として受信する第１線形暗号化アルゴリズムとして、前記第１近似暗号テキストの第２部分を定義する請求項１６に記載の方法。
【請求項１８】
さらに、前記リレーショナル線形暗号化スキームを使用した前記第１線形暗号テキストの復号化を有し、
前記復号化は、前記第１平文テキストベクトルの各要素について、
前記第１線形暗号テキスト内の対応する要素が、第１線形秘密キーの対応する要素までの累乗された前記第１線形暗号テキストの第１要素に等しいか決定し、
前記第１線形暗号テキスト内の対応する前記要素が、前記第１線形秘密キーの前記対応する要素だけ乗じられた負の数までの累乗された前記第１線形暗号テキストの前記第１要素に等しいか決定し、
前記第１線形暗号テキスト内の前記対応する要素が他の値に等しいか決定し、
前記第１線形暗号テキスト内の前記対応する要素が、前記第１線形秘密キーの前記対応する要素までの累乗された前記第１線形暗号テキストの第１要素に等しいことに応答して、前記第１平文テキストベクトルをゼロに設定し、
前記第１線形暗号テキスト内の前記対応する要素が、前記第１線形秘密キーの前記対応する要素だけ乗じられた負の数までの累乗された前記第１線形暗号テキストの前記第１要素に等しいことに応答して、前記第１平文テキストベクトルを１に設定し、
前記第１線形暗号テキスト内の前記対応する要素が、他の値に等しいことに応答して、エラーを返信する、請求項１１に記載の方法。
【請求項１９】
さらに、前記リレーショナル線形暗号化スキームを使用した前記第１線形暗号テキストの復号化を有し、
前記復号化は、前記第１平文テキストベクトルの各要素について、
前記第１線形暗号テキスト内の対応する要素が、前記特別な要素値までの累乗された前記任意の生成器と前記第１線形秘密キーの対応する要素の積までの累乗された前記第１線形暗号テキストの第１要素に等しいか決定し、
前記特別な値の存在に応答して、前記要素を前記特別な値に設定し、そして
前記特別な値が存在しないのに応答して、エラーを出力し、
前記特別な要素値は、前記リレーショナル線形暗号化スキームおよび第２フィールドのメンバの安全パラメータにおける多項式により、範囲が制限される、請求項１１に記載の方法。
【請求項２０】
さらに、前記リレーショナル近似暗号化スキームを使用した前記第１線形暗号テキストの復号化を有し、
前記復号化は、
ＣＰＡ秘密キーおよび前記第１近似暗号テキストの第１部分を入力として受信する選択された平文テキスト攻撃（ＣＰＡ）復号アルゴリズム、および
第１線形秘密キーおよび前記第１近似暗号テキストの第２部分を入力として受信する第１線形復号アルゴリズムの和をとして、前記第１平文テキストベクトルを作成することを有する、請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここで説明する実施形態は、リレーショナル（関係）(relational)暗号化(encryption)に関する。
【背景技術】
【０００２】
ユーザ認証(user authentication)の形式は、生体(biometric)認証を含む。生体認証は、一般にユーザに固有のユーザの生体特性の測定を有する。測定された生体特性またはその表現は、次いでユーザの特定を認証する基礎として使用される。生体特性は、ユーザの指紋、虹彩、静脈、デオキシリボ核酸(deoxyribonucleic acid)(DNA)等を有する。生体特性は、パスワードを思い出すこと無しにユーザが認証されるのを可能にするという利点を有する。生体特性は変更不能であるため、生体認証システムでは、プライバシィが重要である。
【０００３】
ここで請求する主題は、上記のような欠点を解決またはそのような環境においてのみ動作する実施形態に限定されない。むしろ、この背景は、ここで説明するいくつかの実施形態が実行される技術分野の一例を説明するためにのみ提供される。
【発明の概要】
【０００４】
実施形態の１つの態様によれば、方法は、リレーショナル線形暗号化スキームを使用して暗号化した第１生体テンプレートを表す第１線形暗号テキストを受信することを有する。方法は、リレーショナル線形暗号化スキームを使用して暗号化した第２生体テンプレートを表す第２線形暗号テキストを受信することを有する。方法は、線形リレーショナル秘密キーを使用して、第１線形暗号テキストと第２線形暗号テキスト間の線形関係を発見することを有する。方法は、リレーショナル近似暗号化スキームを使用して暗号化した第１生体テンプレートを表す第１近似暗号テキストを受信することを有する。方法は、リレーショナル近似暗号化スキームを使用して暗号化した第２生体テンプレートを表す第２近似暗号テキストを受信することを有する。方法は、近似リレーショナル秘密キーを使用して、ハミング距離に関する第１近似暗号テキストと第２近似暗号テキスト間の近似を検出することを有する。方法は、近似および線形関係に基づいてユーザの特定を認証することを有する。
【０００５】
実施形態の目的および利点は、少なくとも請求範囲で特に指摘された要素、特徴および組合せにより、実現および達成される。
【０００６】
上記の一般的な説明および以下の詳細な説明の両方は、例示および説明のためであり、請求された本発明を限定されるものでないことが理解されるべきである。
【０００７】
例示の実施形態は、付属の図面を使用して、本発明の実施形態の詳細な説明は、付加的な特別な例および詳細により、記述および説明される。
【図面の簡単な説明】
【０００８】
【図１】図１は、例示の動作環境のブロック図である。
【図２】図２は、例示の生体認証環境のブロック図である。
【図３】図３は、生体認証の例示の方法のフロー図である。
【図４Ａ】図４Ａは、リレーショナル暗号化の例示の方法のフロー図である。
【図４Ｂ】図４Ｂは、リレーショナル暗号化の例示の方法のフロー図である。
【図５】図５は、リレーショナル暗号化スキームにおいて線形関係を発見する例示の方法のフロー図である。
【図６】図６は、リレーショナル暗号化スキームにおいて近似を検出する例示の方法のフロー図である。
【図７】図７は、リレーショナル線形暗号化スキームのキー生成の例示の方法のフロー図である。
【図８】図８は、リレーショナル線形暗号化スキームを使用して第１平文テキストベクトルを暗号化する例示の方法のフロー図である。
【図９】図９は、リレーショナル近似暗号化スキームのキー生成の例示の方法のフロー図である。
【図１０】図１０は、リレーショナル近似暗号化スキームを使用して第１平文テキストベクトルを暗号化する例示の方法のフロー図である。
【図１１】図１１は、第１線形暗号テキストを復号する例示の方法のフロー図である。
【図１２】図１２は、第１線形暗号テキストを復号する他の例示の方法のフロー図である。
【発明を実施するための形態】
【０００９】
生体認証の挑戦(challenge)は、ユーザが認証の基礎として使用される生体特性を変更しないということである。例えば、ユーザの指紋またはユーザの虹彩のようなユーザの固有の特徴の１つ以上を記載した生体データを含む生体テンプレート(template)を登録する。もし生体テンプレートが損傷されたら、ユーザは生体テンプレートにより記載された固有の特徴を変更できない。したがって、一旦損傷すると、他の生体テンプレートが登録されるか、または他の生体特性の生体テンプレートが登録される。少なくともこの理由で、生体認証システムは、強力なプライバシィ保証に役立つ。
【００１０】
いくつかの生体認証システムにおいて、安全な生体認証システムを提供するための各種のアプローチが試みられてきた。例えば、いくつかの生体認証システムは、「特徴変換(feature transformation)アプローチ」、「生体暗号システム(biometric cryptosystem)アプローチ」および／または「異体同形(homomorphic)暗号化アプローチ」を実現する。しかし、これらのアプローチのそれぞれは、生体テンプレート、クライアント特定キー、公開キーなどのようなそれぞれ損傷するかもしれない情報の通信に少なくとも部分的に起因する制限されたプライバシィおよび安全性を提供する。
【００１１】
したがって、ここで議論するいくつかの実施形態は、プライバシィ保護の生体認証に関係する。プライバシィ保護の生体認証は、リレーショナル（関係）暗号化に基づく。リレーショナル暗号化は、認証者が平文テキストを復元することまたは純粋な暗号テキストと特別な関係を有する不正な暗号テキストを生成することを可能にすること無しに、暗号テキスト間の関係を、認証者が発見するのを可能にする。例えば、例示の実施形態は、生体認証の１つの方法を有する。この方法は、登録入力を受信することを有する。登録入力は、ユーザの第１生体テンプレートを有する。第１生体テンプレートは、ユーザの生体特性の固有の特徴を表す。この方法は、リレーショナル暗号化スキーム(scheme)にしたがって第１線形暗号テキストおよび第１近似暗号テキストを生成することを有する。この方法は、第１線形暗号テキストおよび第１近似暗号テキストを認証サーバに通信することを有する。この方法は、挑戦(challenge)入力を受信することを有する。挑戦入力は、第２生体テンプレートを有する。第２生体テンプレートは、ユーザの生体特性の１つ以上の固有の特徴を表す。この方法は、リレーショナル暗号化スキームにしたがって第２線形暗号テキストおよび第２近似暗号テキストを生成することを有する。この方法は、第２線形暗号テキストおよび第２近似暗号テキストを認証サーバに通信することを有する。認証サーバは、第１と第２線形暗号テキスト間の線形関係性を発見し、第１と第２近似暗号テキスト間の近似を検出する。この方法は、認証サーバから、認証決定を示す信号を受け取ることを有する。認証決定は、線形関係性および／または近似が存在するか否かに基づく。本発明の実施形態は、付属の図面を参照して説明される。
【００１２】
図１は、ここで説明する少なくとも１つの実施形態にしたがって配置された例示の動作環境１００のブロック図である。動作環境１００では、リレーショナル暗号化が実行される。リレーショナル暗号化は、第１エンティティ(entity)１５２が第２エンティティ１５０により提供された２つ以上の暗号化テキスト中で１つ以上の関係性を決定するのを可能にする暗号プリミティブを有する。特に、リレーショナル暗号化は、第１エンティティ１５２が、２つ以上の暗号テキスト間の線形関係性を発見し、１つ以上の暗号テキスト間の近似を検出するのを可能にする。さらに、リレーショナル暗号化は、第１エンティティ１５２が、暗号テキストから平文テキストを復元し、特別な純粋の暗号テキストと特別な関係を有する不正な暗号テキストを生成することを許可しない。
【００１３】
リレーショナル暗号化は、各種の環境で実現される。例えば、リレーショナル暗号化は、個人がその居場所を秘密にすることを望むが、半信頼サービス(semi-trusted service)が居場所間の近似を検出可能である社会環境で実現される。さらに、リレーショナル暗号化は、画像比較環境で実現される。近似が、データベースからの画像間で検出され、画像間の類似性を決定する。画像のプライバシィは維持される。ユーザは、データベース上に画像を公開すること無しに、リレーショナル暗号化を使用して画像をサーチする。さらに、リレーショナル暗号化は、私的データ記憶環境でも実現される。ユーザは、そのデータを暗号化し、暗号化データをデータベースに通信する。解析（例えば、記憶、分類等）は、暗号データが復号されるリスク（危険）無しに、暗号データ上で実行される。
【００１４】
例えば、第２エンティティ１５０は、第１平文テキストベクトル１４２Ａおよび第２平文テキストベクトル１４２Ｂ（一般には、平文ベクトル１４２または複数の平文ベクトル１４２）を受信する。平文ベクトル１４２は、生体テンプレート、位置情報などのようなデータセットを有する。第２エンティティ１５０は、第１平文テキストベクトル１４２Ａの暗号化バージョンを有する第１暗号テキストを、第１エンティティ１５２に通信する。その後で、第２エンティティ１５０は、第２平文テキストベクトル１４２Ｂの暗号化バージョンを有する第２暗号テキストを、第１エンティティ１５２に通信する。第１エンティティ１５２は、第１暗号テキストと第２暗号テキストの間に線形関係があるか否か見つけ出し、第１暗号テキストと第２暗号テキストの間の近似を検出する。近似は、いくつかの実施形態では、ハミング距離(Hamming distance)についてである。
【００１５】
しかし、リレーショナル暗号化は、第１エンティティ１５２が、第１および第２暗号テキストから平文テキストベクトルを作成することを許可しない。さらに、リレーショナル暗号化は、第１エンティティ１５２が、特定の線形関係を有するおよび／または第１暗号テキストおよび／または第２暗号テキストと特別な近似を有する第３暗号テキストベクトルを作成することを許可しない。図１は、２つの平文テキストベクトル１４２、およびしたがって２つの暗号テキストを有する実施形態を示す。いくつかの実施形態では、２つ以上の平文テキストベクトル１４２およびしたがって２つ以上の暗号テキストは、動作環境１００に含まれる。
【００１６】
リレーショナル暗号化は、１つ以上のリレーショナルキー（鍵）を有する。リレーショナルキーは、公開および／またはサインキーに類似しており、第１エンティティ１５２により提供または発生される。リレーショナルキーは、暗号テキスト間の関係性の決定を可能にするが、暗号テキストの解読または平文テキストベクトル１４２の復元を許可しない。さらに、リレーショナルキーは、特別な暗号テキストと特別な関係を有する暗号テキストの作成を許可しない。
【００１７】
いくつかの実施形態では、リレーショナル暗号は、アルゴリズムの組(tuple)を有する関係（リレーション）についてのリレーションナル暗号化スキームにしたがって定義される。アルゴリズムは、キー生成アルゴリズム、第１暗号アルゴリズム、第１復号アルゴリズム、第２暗号アルゴリズム、第２復号アルゴリズム、および確認アルゴリズムを有する。リレーションは、３組のサブセットとして定義される。さらに、リレーションおよびアルゴリズムは、１つ以上の正解条件を満たす。例えば、リレーションは、次の例示の正解条件を満たす。
【００１８】
【数１】
2015225343.tif 000003
【００１９】
リレーションナル暗号化スキームは、リレーションナルキーが特別な暗号テキストに特別なリレーションを有する暗号テキストの作成を許可せず、特別な暗号テキストから平文テキストベクトル１４２の復元を許可しないという意味で、安全である。例えば、リレーションナル暗号化スキームは、もし以下の式を維持するならば安全である。
【００２０】
１．Kx(lλ)が、KeyGen(lλ)を動作させ、次に出力(pkx,skx,pky,sky,skR)および出力(pkx,skx)を取るアルゴリズムである。そして、(Kx,EncX,DecX)はIND-CPAの安全(secure)である。
２．Ky(lλ)が、KeyGen(lλ)を動作させ、次に出力(pkx,skx,pky,sky,skR)および出力(pky,sky)を取るアルゴリズムである。そして、(Ky,EncY,DecY)はIND-CPAの安全(secure)である。
３．KR(lλ)が、KeyGen(lλ)を動作させ、次に出力(pkx,skx,pky,sky,skR)および出力(pkx,skxy,skR)を取るアルゴリズムである。そして、EncX(pkx,・)およびEncY(pky,・)はskRの知識で与えられる一方向の関数である。
上記の式で、pkx,skx,psy,sky,KeyGen,EncX(),λ，およびEncY()は上記と同じである。DecXは第１復号アルゴリズムを表す。DecYは第２復号アルゴリズムを表す。Kx(),Ky(),およびKR()式の通りである。シンボル・はいずれかの値を示す。用語"IND-CPA"は選択平文テキスト攻撃下での識別性の速記法を表す。いくつかの他の実施形態では、(Ky,EncY,DecY)および／または(Kx,EncX,DecX)は、選択暗号テキスト攻撃（例えば、IND-CCA1またはIND-CCA2)または他のいかなる適切な安全計算(metric)の下での識別性のような他の演算安全計算にしたがって安全である。
【００２１】
さらに、いくつかの実施形態では、リレーションナル暗号化スキームは、リレーションナル線形暗号化スキームを有する。リレーションナル線形暗号化スキームは、次に示す例示の線形関係式にしたがってリレーションを定義する。
【００２２】
【数２】
2015225343.tif 000004
【００２３】
さらに、いくつかの実施形態では、リレーションナル暗号化スキームは、次の例示の近似式にしたがってリレーションを定義するリレーションナル近似暗号化スキームを有する。
【００２４】
【数３】
2015225343.tif 000005
【００２５】
ここで議論するリレーションナル暗号化スキームは、図１の動作環境１００で実現される。リレーションナル暗号化スキームは、第２エンティティ１５０が第１エンティティ１５２に暗号化した情報を通信するのを可能にし、第１エンティティ１５２が暗号化された情報中で線形リレーションを発見および／または暗号化された情報間の近似度を決定するのを可能にする。
【００２６】
動作環境１００は、第２エンティティ１５０に関係するユーザ装置１０２および第１エンティティ１５２に関係する認証サーバ１４０を有する。ユーザ装置１０２および認証サーバ１４０は、動作環境１００内で実現され、リレーションナル暗号化を実行する。
【００２７】
ユーザ装置１０２および認証サーバ１４０は、ネットワーク１０７を介してリレーションナル暗号化に関係する情報および／またはデータ（例えば、暗号テキスト、キー、平文ベクトル１４２等）の生成および通信を可能にする演算装置を有する。ユーザ装置１０２のいくつかの例は、携帯電話、スキャン装置、スマートフォン、タブレット型コンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セット・トップ・ボックスまたは接続装置（例えば、スマートウオッチ、スマートメガネ、スマートペドメータ、または他の接続装置）を有する。認証サーバ１４０のいくつかの例は、ハードウェアサーバ、またはサーバとして機能するように構成された他のプロセッサベースの演算装置を有する。
【００２８】
ネットワーク１０７は、有線または無線である。ネットワーク１０７は、スター構成、トークンリング構成、または他の構成を含む多数の構成を有する。さらに、ネットワーク１０７は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）、および／または複数の装置が通信する他の相互接続データパスを有する。いくつかの例では、ネットワーク１０７は、ピア−ツゥ−ピア(peer-to-peer)ネットワークを有する。ネットワーク１０７は、各種の異なる通信プロトコルでデータを送信する電話通信ネットワークに結合されてもまたはその一部を有してもよい。いくつかの例では、ネットワーク１０７は、BLUETOOTH（登録商標）通信ネットワークまたはショートメッセージサービス（ＳＭＳ）、マルチメディアメッセージサービス（ＭＭＳ）、ハイパーテキスト送信プロトコル（ＨＴＴＰ），直接データ接続、無線アプリケーションプロトコル（ＷＡＰ）、e-mail等を介してデータの送受信を行うセルラー通信ネットワークを有する。
【００２９】
ユーザ装置１０２は、リレーショナル暗号／復号モジュール(enc/dec module)１１０、プロセッサ１２４Ａ、メモリ１２２Ａ、および通信ユニット１２６Ａを有する。ｅｎｃ／ｄｅｃモジュール１１０、プロセッサ１２４Ａ、メモリ１２２Ａ、および通信ユニット１２６Ａは、バス１２０Ａを介して接続されている。認証サーバ１４０は、リレーショナル認証モジュール１０８、プロセッサ１２４Ｂ、メモリ１２２Ｂ、および通信ユニット１２６Ｂを有する。リレーショナル認証モジュール１０８、プロセッサ１２４Ｂ、メモリ１２２Ｂ、および通信ユニット１２６Ｂは、バス１２０Ｂを介して接続されている。
【００３０】
プロセッサ１２４Ａおよび１２４Ｂは、ここでは一般に、プロセッサ１２４またはプロセッサ群１２４として言及され、メモリ１２２Ａおよび１２２Ｂは、ここでは一般に、メモリ１２２として言及され、通信ユニット１２６Ａおよび１２６Ｂは、ここでは一般に、通信ユニット１２６または通信ユニット群１２６として言及され、バス１２０Ａおよび１２０Ｂは、ここでは一般に、バス１２０またはバス群１２０として言及される。
【００３１】
プロセッサ１２４は、アリスメティック論理ユニット(ALU)、マイクロプロセッサ、汎用コントローラ、または演算およびプライバシィ保護を実行する他のプロセッサアレイを有する。プロセッサ１２４は、バス１２０に接続され、他の要素（例えば、１０８、１１０、１２２、および１２６）と通信する。プロセッサ１２４は、一般にデータ信号を処理し、コンプレックス命令セットコンピュータ(complex instruction set computer: CISC)アーキテクチャ、リデュースド命令セットコンピュータ(reduced instruction set computer: RISC)アーキテクチャ、または命令セットの組み合わせを組み込んだアーキテクチャを含む各種のコンピューティングアーキテクチャを有する。図１において、ユーザ装置１０２および認証サーバ１４０は、単一プロセッサ１２４を有する。しかし、ユーザ装置１０２および／または認証サーバ１４０は、多重プロセッサを有してもよい。他のプロセッサ、オペレーティングシステム、および物理的な構成も可能である。
【００３２】
メモリ１２２は、１つ以上のプロセッサ１２４により実行される命令および／またはデータを記憶する。メモリ１２２は、他の要素との通信のため、バス１２０に接続される。命令および／またはデータは、ここで説明する技術または方法を実行するためのコードを有する。メモリ１２２は、ＤＲＡＭメモリ装置、ＳＲＡＭメモリ装置、フラッシュメモリ、またはいくつかのの他のメモリ装置を有する。いくつかの実施形態では、メモリ１２２は、不揮発性メモリまたは類似の永久記憶装置、およびハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置、またはより永久的な基礎技術で情報を記憶する他の大容量装置を含む媒体を有する。
【００３３】
通信ユニット１２６は、ユーザ装置１０２および／または認証サーバ１４０の１つ以上にデータを送信するかまたはそれからデータを受信するように構成される。通信ユニット１２６は、バス１２０に接続される。いくつかの実施形態では、通信ユニット１２６は、ネットワーク１０７への直接の物理的な接続用ポートまたは他の通信チャネルを有する。例えば、通信ユニット１２６は、図１のオペレーティング環境１００の要素との有線通信のためのＵＳＢ、ＳＤ、ＣＡＴ−５、または類似のポートを有する。いくつかの実施形態では、通信ユニット１２６は、IEEE 802.11,IEEE 802.16, BLUETOOTH（登録商標）、または他の適当な無線通信方法を含む１つ以上の無線通信方法を使用する通信チャネルを介してデータを交換するための無線トランシーバを有する。
【００３４】
いくつかの実施形態では、通信ユニット１２６は、ＳＭＳ、ＭＭＳ、ＨＴＴＰ、直接データ接続、ＷＡＰ、e-mail、または他の適切な型式の電子通信を介することを含むセルラー通信ネットワーク上で、データの送信および受信のためのセルラー通信トランシーバを有する。いくつかの実施形態では、通信ユニット１２６は、有線ポートおよび無線トランシーバを有する。通信ユニット１２６は、送信制御プロトコル／インターネットプロトコル(TCP/IP)、ＨＴＴＰ、ＨＴＴＰセキュア（ＨＴＴＰＳ）、および単純なメール送信プロトコル（ＳＭＴＰ）等を含む標準ネットワークプロトコルを使用して、ファイルおよび／または媒体対象物を分配するためのネットワーク１０７への他の接続を提供もする。
【００３５】
ｅｎｃ／ｄｅｃモジュール１１０は、上記で定義したリレーショナル暗号化スキームまたは上記で議論した特徴の１つ以上を有するようなリレーショナル暗号化スキームをセットアップするように構成される。ｅｎｃ／ｄｅｃモジュール１１０は、平文テキストベクトル１４２を受信し、平文テキストベクトル１４２を暗号化し、暗号テキストをネットワーク１０７を介して認証サーバ１４０に通信する。さらに、ｅｎｃ／ｄｅｃモジュール１１０は、暗号テキストを復号して１つ以上の平文テキストベクトル１４２を作成するように構成されている。ｅｎｃ／ｄｅｃモジュール１１０が暗号化および／または復号化処理を実行するように構成された実施形態では、ｅｎｃ／ｄｅｃモジュール１１０は、暗号化および／または復号化アルゴリズムおよび／またはここで議論した暗号化および／または復号化キーを使用して、暗号化および／または復号化処理を実行する。
【００３６】
ｅｎｃ／ｄｅｃモジュール１１０がリレーショナル暗号化スキームをセットアップするように構成されるいくつかの実施形態では、ｅｎｃ／ｄｅｃモジュール１１０は、１つ以上のリレーショナル秘密キーおよび／または確認アルゴリズムを、認証サーバ１４０のリレーショナル認証モジュール１０８に通信するように構成されている。いくつかの実施形態では、リレーショナル認証モジュール１０８は、リレーショナル秘密キーおよび／または確認アルゴリズムをローカルに生成する、および／またはリレーショナル秘密キーおよび／または確認アルゴリズムを他のソースから取得する。
【００３７】
リレーショナル認証モジュール１０８は、暗号テキスト、リレーショナル秘密キー、確認アルゴリズム、またはそれらの組み合わせを、ｅｎｃ／ｄｅｃモジュール１１０または他のソースから受信するように構成されている。次に、リレーショナル認証モジュール１０８は、暗号テキスト間に線形関係を発見するか、および／または暗号テキスト間に近似を検出する。リレーショナル認証モジュール１０８は、リレーショナル秘密キーおよび／または確認アルゴリズムを使用して、暗号テキスト間に線形関係を発見すると共に近似を検出する。
【００３８】
図１の動作環境１００において、ｅｎｃ／ｄｅｃモジュール１１０は、線形暗号化／復号化モジュール１１２、近似暗号化／復号化モジュール１１４、通信モジュール１１６、およびセットアップモジュール１４４を有する。さらに、リレーショナル認証モジュール１０８は、サーバ通信モジュール１３４、線形認証モジュール１３２、および近似認証モジュール１２８を有する。いくつかの実施形態では、セットアップモジュール１４４またはセットアップモジュール１４４に属する１つ以上の動作を実行するように構成されたモジュールは、リレーショナル認証モジュール１０８内に含まれる。
【００３９】
ｅｎｃ／ｄｅｃモジュール１１０、線形暗号化／復号化モジュール１１２、近似暗号化／復号化モジュール１１４、通信モジュール１１６、セットアップモジュール１４４、リレーショナル認証モジュール１０８、サーバ通信モジュール１３４、線形認証モジュール１３２、および近似認証モジュール１２８は、まとめてリレーショナルモジュールとして言及される。リレーショナルモジュールの１つ以上は、ここで説明した１つ以上の動作を実行するように構成された１つ以上のルーチンを含むソフトウェアとして実現される。リレーショナルモジュールは、ここで説明した機能を提供するようにプロセッサ１２４により実行可能な命令セットを有する。いくつかの例では、リレーショナルモジュールは、メモリ１２２に記憶されるか、少なくとも一時的にメモリ１２２にロードされ、プロセッサ１２４の１つ以上によりアクセス可能で実行可能である。リレーショナルモジュールの１つ以上は、バス１２０の１つ以上を介して、プロセッサ１２４の１つ以上を協働および通信するように適応されている。
【００４０】
一般的にリレーショナルモジュールを参照すると、通信モジュール１１６および／またはサーバ通信モジュール１３４は、ｅｎｃ／ｄｅｃモジュール１１０またはリレーショナル認証モジュール１０８と、ユーザ装置１０２または認証サーバ１４０（例えば、１２２、１２４、および１２６）の他の要素との間の通信を取り扱うように構成されている。通信モジュール１１６および／またはサーバ通信モジュール１３４は、通信ユニット１２６を介して、ユーザ装置１０２または認証サーバ１４０にデータを送信するかまたはそれからデータを受信するように構成されている。いくつかの例では、通信モジュール１１６および／または通信モジュール１３４は、他のリレーショナルモジュールと協働し、通信ユニット１２６を介して、ユーザ装置１０２または認証サーバ１４０からデータを受信するおよび／またはそれにデータを送信するように構成されている。
【００４１】
線形暗号化／復号化モジュール１１２は、平文テキストベクトル１４２を暗号化して線形暗号テキストを生成することに関係するおよび／または線形暗号テキストの復号化に関係する１つ以上の動作を実行するように構成されている。線形認証モジュール１３２は、線形暗号テキストに関係する１つ以上の動作を実行するように構成されている。例えば、線形認証モジュール１３２は、２つ以上の線形暗号テキストの線形関係を発見するように構成されている。
【００４２】
近似暗号化／復号化モジュール１１４は、平文テキストベクトル１４２を暗号化して近似暗号テキストを生成することに関係するおよび／または近似暗号テキストの復号化に関係する１つ以上の動作を実行するように構成されている。近似認証モジュール１２８は、近似暗号テキストに関係する１つ以上の動作を実行するように構成されている。例えば、近似認証モジュール１２８は、２つ以上の近似暗号テキスト間の近似関係を検出するように構成されている。
【００４３】
セットアップモジュール１４４は、１つ以上のキー（例えば、公開キー、秘密キー、リレーショナル秘密キー）および／または１つ以上のアルゴリズム（例えば、暗号化アルゴリズム、復号化アルゴリズム、および確認アルゴリズム）を生成するように構成されている。セットアップモジュール１４４は、次にキーおよびアルゴリズムの１つ以上を、通信モジュール１１６およびサーバ通信モジュール１３４を介してリレーショナル認証モジュール１０８に、または線形暗号化／復号化モジュール１１２および近似暗号化／復号化モジュール１１４に通信するように構成されている。
【００４４】
以下のセクションでは、リレーショナル線形暗号化スキームが説明され、それに続いてリレーショナル近似暗号化スキームが説明される。リレーショナル線形暗号化スキームは、ビットベクトルを参照して、次いでｐ−ａｒｙベクトルを参照して説明される。記載のそれぞれにおいて、セットアップモジュール１４４はキーを生成し、そのキーについてまず説明される。キーを使用して、線形暗号化／復号化モジュール１１２または近似暗号化／復号化モジュール１１４は暗号化を実行し、それについてはその次に説明される。暗号テキスト（例えば、線系暗号テキストまたは近似暗号テキスト）は、次に線形認証モジュール１３２および近似認証モジュール１２８の１つに通信され、そこで線形関係が発見されるかまたは近似が検出される。最後に、線形暗号化／復号化モジュール１１２または近似暗号化／復号化モジュール１１４により実行される暗号テキストの復号が説明される。
【００４５】
リレーショナル線形暗号化スキーム
暗号テキスト間に線形関係を発見するのに含まれる１つ以上の動作では、セットアップモジュール１４４は、平文テキストベクトル１４２および／または暗号テキストの要素のベース数に少なくとも部分的に基づく。例えば、要素のベース数は、２つ（例えば、２値またはビットベクトル）を有する。したがって、平文テキストベクトル１４２および暗号テキストは、ゼロまたは１を含む要素を有する。または、要素のベース数は、３つ（例えば、３次aryベクトル）を有する。したがって、平文テキストベクトル１４２および暗号テキストは、ゼロ、１または２を含む要素を有する。一般に、ベース数は、変数"p"（例えば、p-aryベクトル）により表される。p-aryベクトルは、ゼロ、１、…p-2、およびp-1を含む要素を有する。リレーショナル線形暗号化スキームは、平文テキストベクトル１４２および／または暗号テキストがビットベクトルまたはp-aryベクトルであるかに基づいて少し異なる。ビットベクトルのリレーショナル線形暗号化スキームをまず説明し、その次にp-aryベクトルのリレーショナル線形暗号化スキームを説明する。
【００４６】
ビットベクトルまたはp-aryベクトルのリレーショナル線形暗号化スキームにおいて、セットアップモジュール１４４は、リレーショナル線形暗号化スキームのキーを生成するように構成されている。図示の実施形態では、セットアップモジュール１４４は、第１線形秘密キー、第２線形秘密キー、第１線形公開キー、第２線形公開キー、および線形リレーショナル秘密キー(合わせて「線形キー」）を生成する。線形キーは、線形暗号テキストを生成し、および線形暗号テキスト間の線形関係を発見するために、平文テキストベクトル１４２を暗号化するのを使用される。
【００４７】
例えば、第１線形公開キーは、第１線形暗号テキストを生成するために第１平文テキストベクトル１４２Ａを暗号化するのに、線形暗号化／復号化モジュール１１２により使用される。第１線形暗号テキストは、通信モジュール１１６により認証サーバ１４０に通信され、そこで登録暗号テキスト１３０として記憶される。第２線形公開キーは、第２線形暗号テキストを生成するために第２平文テキストベクトル１４２Ｂを暗号化するのに、線形暗号化／復号化モジュール１１２により使用される。第２線形暗号テキストは、通信モジュール１１６により認証サーバ１４０に通信される。線形リレーショナル秘密キーは、第２線形暗号テキストと第１線形暗号テキスト間の線形関係を発見するために、認証サーバ１４０で、特に線形認証モジュールにより使用され、線形関係は登録暗号テキスト１３０として記憶される。
【００４８】
第１および第２線形秘密キーは、１つ以上の線形暗号テキストを復号するために、線形暗号化／復号化モジュール１１２により使用される。例えば、第１線形暗号テキストは、第１秘密キーを使用して復号される。さらに、第１および第２線形秘密キーは、リレーショナル線形キーを生成するために、セットアップモジュール１４４により使用される。線形キーおよび上記の動作のいくつかの付加的な詳細は、ビットベクトルおよびp-aryベクトル用が以下に提供される。
【００４９】
ビットベクトルリレーショナル線形暗号化スキーム
ビットベクトルが使用される実施形態では、線形キーが安全パラメータ用に生成される。一般に、ここで使用される安全パラメータは、キーの長さに関係する。キーを生成するため、セットアップモジュール１４４は、素数の位数の３つの双一次グループを生成する。素数の位数は、安全パラメータ中の指数関数である。セットアップモジュール１４４は、３つの双一次グループの第１双一次グループの第１生成器をサンプルし、３つの双一次グループの第２双一次グループの第２生成器をサンプルする。
【００５０】
セットアップモジュール１４４は、整数の組（整数セット）から要素の特別な数をランダムにサンプルすることにより、第１線形秘密キーを生成する。整数セットは、ゼロから、素数の位数の値から１を減算した数までの数を有する。セットアップモジュール１４４は、整数セットから特別な数の要素をランダムにサンプルすることにより、第２線形秘密キーを生成する。
【００５１】
セットアップモジュール１４４は、第１線形公開キーを定義する。第１線形公開キーは、第１生成器である要素を有する。第１線形公開キーは、第１線形秘密キーの対応する要素の累乗までの累乗された第１生成器を有する１つ以上の他の要素をさらに有する。いくつかの実施形態では、第１生成器である要素は、第１線形公開キーの第１要素であり、第１線形公開キーは、第１線形公開キーと第１線形秘密キーの間の対応性については計算されない。例えば、これらおよび他の実施形態では、第１線形公開キーの（例えば、第１要素を計算するための）「６番目」の要素は、第１線形秘密キーの５番目の要素の累乗までの累乗である第１生成器を有する。この出願を通して、同様の規定は、要素間の対応性について使用される。
【００５２】
セットアップモジュール１４４は、第２線形公開キーを定義する。第２線形公開キーは、第２生成器である要素を有する。第２線形公開キーは、第２線形秘密キーの対応する要素の累乗まで累乗された第２生成器を有する１つ以上の他の要素をさらに有する。いくつかの実施形態では、第２生成器である要素は、第２線形公開キーの第１要素であり、それは第２線形公開キーと第２線形秘密キーの要素間の対応性については計算されない。
【００５３】
セットアップモジュール１４４は、線形リレーショナル秘密キーを定義する。線形リレーショナル秘密キーの各要素は、第２線形秘密キーの対応する要素と第１線形秘密キーの対応する要素の和を有する。例えば、線系リレーショナル秘密キーの５番目の要素は、第１線形秘密キーの５番目の要素と第２線形秘密キーの５番目の要素の和を有する。
【００５４】
いくつかの実施形態では、線形キーの生成は、次の例示の線形ビットベクトルキー方程式に従う。
【００５５】
【数４】
2015225343.tif 000006
【００５６】
線形暗号化／復号化モジュール１１２は、平文テキストベクトル１４２を暗号化する。線形暗号化／復号化モジュール１１２は、平文テキストベクトル１４２を受信する。さらにまたは別に、通信モジュール１１６は、平文テキストベクトル１４２を受信し、平文テキストベクトル１４２を線形暗号化／復号化モジュール１１２に通信する。
【００５７】
平文テキストベクトル１４２は、第１フィールドのメンバを有する。第１フィールドは、ゼロと、１と、特別な数のディメンジョンと、を有する。フィールドの要素は、要素のベース数により決定される。例えば、ビットベクトルでは、第１フィールドはゼロと１の要素を有し、p-aryベクトルでは、フィールドはゼロ、１、…p-1の要素を有する。
【００５８】
線形暗号化／復号化モジュール１１２は、整数セットからランダム数をサンプルする。線形暗号化／復号化モジュール１１２は、次に第１線形暗号テキストおよび第２線形暗号テキストを作成する。第１線形暗号テキストは、ランダム数の累乗まで累乗された第１生成器である第１要素を有する。第１線形暗号テキストは、さらに、線形暗号化累乗まで累乗された第１線形公開キーの対応する要素を有する１つ以上の要素を有する。第１線形暗号テキスト用の線形暗号累乗は、第１平文テキストベクトル１４２Ａの対応する要素の累乗まで累乗された数の負数を乗じたランダム数を有する。いくつかの実施形態では、第１線形暗号テキストの第１要素は、対応性について計算されない。
【００５９】
第２線形暗号テキストは、ランダム数の累乗まで累乗された第２生成器である第１要素を有する。第２線形暗号テキストは、さらに、線形暗号化累乗まで累乗された第２線形公開キーの対応する要素を有する１つ以上の要素を有する。第２線形暗号テキスト用の線形暗号累乗は、第２平文テキストベクトル１４２Ｂの対応する要素の累乗まで累乗された数の負数を乗じたランダム数を有する。いくつかの実施形態では、第２線形暗号テキストの第１要素は、対応性について計算されない。
【００６０】
いくつかの実施形態では、線形暗号化／復号化モジュール１１２は、次の例示の線形ビットベクトル暗号化方程式にしたがって、平文テキストベクトル１４２を暗号化する。
【００６１】
【数５】
2015225343.tif 000007
【００６２】
線形ビットベクトル暗号化方程式において、<>,cx,cy,g0,h0,gi,hi,i,およびnは上記の通りである。さらに、線形ビットベクトル暗号化方程式において、パラメータcxは第１線形暗号テキストを表し、パラメータcyは第２線形暗号テキストを表す。パラメータmIは第１平文テキストベクトル１４２Ａを表す。パラメータmIiは第１平文テキストベクトル１４２Ａの要素を表す。パラメータm2は第２平文テキストベクトル１４２Ｂを表す。パラメータm2iは第２平文テキストベクトル１４２Ｂの要素を表す。パラメータFは第１フィールドを表す。フィールドの次の添え字は第１フィールドのベース数を表す。第１フィールドの次の添え字nは第１フィールドのディメンジョンを表す。
【００６３】
線形ビットベクトル暗号化方程式は、上記で議論した第１暗号化アルゴリズム(EncX)および第２暗号化アルゴリズム(EncY)を定義する。例えば、第１暗号化アルゴリズムは、第１平文テキストベクトル１４２Ａおよび第１線形公開キーを与えると、第１暗号化アルゴリズムがランダム数をサンプルし、次の式で表されるcxとして第１線形暗号テキストを作成する。
【００６４】
【数６】
2015225343.tif 000008
【００６５】
同様に、第２暗号化アルゴリズムは、第１平文テキストベクトル１４２Ａおよび第２線形公開キーを与えると、第２暗号化アルゴリズムがランダム数をサンプルし、次の式で表されるcyとして第２線形暗号テキストを作成する。
【００６６】
【数７】
2015225343.tif 000009
【００６７】
第１線形暗号テキストおよび第２線形暗号テキストは、線形認証モジュール１３２に通信される。さらにまたは別に、第１線形暗号テキストおよび第２線形暗号テキストは、ネットワーク１０７を介して認証サーバに通信される。認証サーバモジュール１３４は、第１線形暗号テキストおよび第２線形暗号テキストを受信し、第１線形暗号テキストおよび第２線形暗号テキストを線形認証モジュール１３２に通信する。
【００６８】
いくつかの実施形態では、第１線形暗号テキストは、第２線形暗号テキストの通信の前に線形認証モジュール１３２に通信される。線形認証モジュール１３２は、第１線形暗号テキストをメモリ１２２Ｂに登録暗号テキスト１３０として記憶する。第１線形暗号テキストの通信後、第２線形暗号テキストが線形認証モジュール１３２に通信される。さらに、セットアップモジュール１４４は、リレーショナル線形キーを線形認証モジュール１３２に通信する。
【００６９】
リレーショナル暗号化が認証に使用されるいくつかの実施形態では、第１線形暗号テキストは、登録暗号テキスト１３０として記憶される。登録暗号テキスト１３０は、第２線形暗号テキストとのまたは他のそれに続く線形暗号テキストとの比較の基礎として使用される。他のリレーショナル暗号化を行う実施形態では、第１線形暗号テキストは、登録暗号テキスト１３０として記憶されない。例えば、第１線形暗号テキストおよび第２線形暗号テキストは、それらをまたは両方を記憶すること無しに解析される。
【００７０】
線形認証モジュール１３２は、第１線形暗号テキストと第２線形暗号テキスト間の線形関係を発見するように構成されている。線形関係を発見するため、線形認証モジュール１３２は、特別なベクトルを定義する。特別なベクトルは、第１フィールドのメンバである。線形認証モジュール１３２により決定される認証の問題は、特別なベクトルが第１平文テキストベクトル１４２Ａおよび第２平文テキストベクトル１４２Ｂの和であるか決定することである。
【００７１】
線形認証モジュール１３２は、線形リレーショナル秘密キーの累乗まで累乗された第１平文テキストの第１要素（例えば、ランダム数の累乗まで累乗された第１生成器）および第２平文テキストの第１要素（例えば、ランダム数の累乗まで累乗された第２生成器）の対関数として、第１の値を計算する。
【００７２】
線形認証モジュール１３２は、特別なベクトルの対応する要素の累乗まで累乗された数の負数の累乗まで累乗された第１平文テキストの各要素および第２平文テキスト内の対応する要素の対関数の積として、第２の値を計算する。
【００７３】
線形認証モジュール１３２は、第１の値が第２の値に等しいか決定する。第１の値が第２の値に等しいことに応答して、線形認証モジュール１３２は、第１線形暗号テキストが第２線形暗号テキストおよび定義したベクトルに線形に関係すると結論付ける。
【００７４】
いくつかの実施形態では、線形認証モジュール１３２は、次の例示の線形ビットベクトル確認方程式にしたがって、第１線形暗号テキストと第２線形暗号テキストの間の線形関係を発見する。
【００７５】
【数８】
2015225343.tif 000010
【００７６】
さらに、いくつかの実施形態では、線形暗号化／復号化モジュール１１２は、第１および／または第２線形暗号テキストを復号する。線形暗号化／復号化モジュール１１２は、線形暗号テキストの値に基づいて、結果である平文テキストベクトル１４２の各要素を決定する。例えば、値は、第１線形暗号テキストを復号することにより作成される第１平文テキストベクトルの各要素（例えば、第１平文テキストベクトル１４２Ａ）について決定される。
【００７７】
各要素について、線形暗号化／復号化モジュール１１２は、（１）第１線形暗号テキスト内の対応する要素は、第１線形秘密キーの対応する要素まで累乗された第１線形暗号テキストの第１要素に等しいか、（２）第１線形暗号テキスト内の対応する要素は、第１線形秘密キーの対応する要素が乗じられた数の負数まで累乗された第１線形暗号テキストの第１要素に等しいか、（３）第１線形暗号テキスト内の対応する要素は、他の値に等しいかを決定する。
【００７８】
第１線形暗号テキスト内の対応する要素が、第１線形秘密キーの対応する要素まで累乗された第１線形暗号テキストの第１要素に等しいこと（例えば、直前の段落の（１））に応答して、線形暗号化／復号化モジュール１１２は、第１平文テキストベクトル１４２Ａの要素をゼロに設定する。第１線形暗号テキスト内の対応する要素が、第１線形秘密キーの対応する要素が乗じられた数の負数まで累乗された第１線形暗号テキストの第１要素に等しいこと（例えば、直前の段落の（２））に応答して、線形暗号化／復号化モジュール１１２は、第１平文テキストベクトル１４２Ａの要素を１に設定する。第１線形暗号テキスト内の対応する要素は、他の値に等しいこと（例えば、直前の段落の（３））に応答して、線形暗号化／復号化モジュール１１２は、エラーを返信する。第２線形暗号テキストは、第２線形秘密キーおよび第２線形暗号テキストを使用して、同様に復号される。
【００７９】
いくつかの実施形態では、線形暗号化／復号化モジュール１１２は、次の例示の線形ビットベクトル復号方程式にしたがって線形暗号テキストを復号する。
【００８０】
【数９】
2015225343.tif 000011
【００８１】
線形ビットベクトル復号方程式は、上記で議論した第１復号アルゴリズム(DecX)および第２復号アルゴリズム(DecY)を定義する。例えば、第１復号アルゴリズムは、第１線形暗号テキストおよび第１線形秘密キーが与えられると、第１復号アルゴリズムは、次の方程式にしたがって、ビットごとに第１平文テキストベクトル１４２を作成する。
【００８２】
【数１０】
2015225343.tif 000012
【００８３】
同様に、第２復号アルゴリズムは、第２線形暗号テキストおよび第２線形秘密キーが与えられると、第２復号アルゴリズムは、次の方程式にしたがって、ビットごとに第２平文テキストベクトル１４２Ｂを作成する。
【００８４】
【数１１】
2015225343.tif 000013
【００８５】
Ｐ−ＡＲＹベクトルリレーショナル線形暗号化スキーム
p-aryベクトル（例えば、平文テキスト１４２および／または暗号テキストがp-aryベクトルである）が使用される実施形態では、線形キーは安全パラメータ用に生成される。キーを生成するため、セットアップモジュール１４４は、素数の位数の３つの双一次グループを生成する。素数の位数は、安全パラメータ中の指数関数で、ベース数(p)を法(modulo)とする１に等しい。したがって、これらの実施形態では、サブグループは、ゼロを除去した整数セット内に存在する。サブグループは、ベース数の位数を有する。セットアップモジュール１４４は、サブグループの任意の生成器を選択する。
【００８６】
セットアップモジュール１４４は、第１生成器および第２生成器をサンプルする。第１生成器は第１双一次グループからサンプルされ、第２生成器は第２双一次グループからサンプルされる。第１線形秘密キーおよび第２線形秘密キーは、ビットベクトルを使用する実施形態を参照して上記のように生成される。
【００８７】
セットアップモジュール１４４は、第１生成器である要素を有する第１線形公開キーを定義する。第１線形公開キーは、第１線形秘密キーの対応する要素の累乗まで累乗された第１生成器を有する１つ以上の他の要素をさらに有する。さらに、第１線形公開キーの要素は、任意の生成器を有する。いくつかの実施形態では、第１線形公開キーの第１要素は任意の生成器であり、第１線形公開キーの第２要素は、第１生成器である。第２線形公開キーの第１および第２要素は、対応性について計算されない。
【００８８】
セットアップモジュール１４４は、第２線形公開キーを定義する。第２線形公開キーは、第２生成器である要素を有する。第２線形公開キーは、第２線形秘密キーの対応する要素の累乗まで累乗された第２生成器を有する１つ以上の他の要素をさらに有する。いくつかの実施形態では、第２線形公開キーの第１要素は、任意の生成器であり、第２線形公開キーの第２要素は第２生成器である。第２線形公開キーの第１および第２要素は、対応性については計算されない。
【００８９】
セットアップモジュール１４４は、線形リレーショナル秘密キーを定義する。線形リレーショナル秘密キーの各要素は、第２線形秘密キーの対応する要素と第１線形秘密キーの対応する要素の和を有する。
【００９０】
いくつかの実施形態では、線形キーの生成は、次の例示の線形p-aryベクトルキー方程式に従う。
【００９１】
【数１２】
2015225343.tif 000014
【００９２】
線形p-aryベクトルキー方程式において、<>,g0,h0,gi,hi,ai,bi,i,n,Z,F,skR,r,G1,G2,GT,q,pkxlin,skxlin,pkylin,skylin,skRlin,←およびλは一般的に上記の通りである。さらに、pkxlin,skxlin,pkylin,skylin,およびskRlinは、少なくとも上記で議論したキー生成アルゴリズムの線形部分出力を表す。
【００９３】
パラメータpはベース数を表す。パラメータJpは次数pのサブグループを表す。パラメータωは任意の生成器を表す。オペレータmodはモジュロ関数(modulo function)を表す。Zの次の上添え字"*"は整数セットからゼロが除去されたことを表す。
【００９４】
線形暗号化／復号化モジュール１１２は、平文テキストベクトル１４２を受信する。さらにまたは別に、通信モジュール１１６は、平文テキストベクトル１４２を受信し、平文テキストベクトル１４２を線形暗号化／復号化モジュール１１２に通信する。平文テキストベクトル１４２は、第２フィールドのメンバを有する。第２フィールドは、ゼロの値からベース数から変じた１値（例えば、0,1,...,p-1)を有する要素を有する。
【００９５】
線形暗号化／復号化モジュール１１２は、整数セットからランダム数をサンプルする。線形暗号化／復号化モジュール１１２は、次に第１線形暗号テキストおよび第２線形暗号テキストを作成する。第１線形暗号テキストは、ランダム数の累乗まで累乗された第１生成器である第１要素を有する。さらに、第１線形暗号テキストは、線形暗号化累乗まで累乗された第１線形公開キーの対応する要素を有する１つ以上の他の要素を有する。第１線形暗号テキスト用の線形暗号累乗は、第１平文テキストベクトル１４２Ａの対応する要素の累乗まで累乗され、任意の生成器により乗じたランダム数を有する。いくつかの実施形態では、第１線形暗号テキストの第１要素は、対応性について計算されない。
【００９６】
第２線形暗号テキストは、ランダム数の累乗まで累乗された第２生成器である第１要素を有する。さらに、第２線形暗号テキストは、線形暗号化累乗まで累乗された第２線形公開キーの対応する要素を有する１つ以上の他の要素を有する。第２線形暗号テキスト用の線形暗号累乗は、第２平文テキストベクトル１４２Ｂの対応する要素の累乗まで累乗された任意の生成器により乗じたランダム数を有する。いくつかの実施形態では、第２線形暗号テキストの第１要素は、対応性について計算されない。
【００９７】
いくつかの実施形態では、線形暗号化／復号化モジュール１１２は、次の例示の線形p-aryベクトル暗号化方程式にしたがって、平文テキストベクトル１４２を暗号化する。
【００９８】
【数１３】
2015225343.tif 000015
【００９９】
線形p-aryベクトル暗号化方程式において、<>,m1,m1i,m2,m2i,cx,cy,g0,h0,gi,hi,i,およびnは上記の通りである。パラメータFは第２フィールドを表す。第２フィールドの次の添え字pは第２フィールドのベース数を表す。第２フィールドの次の添え字nは第２フィールドのディメンジョンを表す。第２フィールドのディメンジョンは特別な数である。
【０１００】
線形p-aryベクトル暗号化方程式は、上記で議論した第１暗号化アルゴリズム(EncX)および第２暗号化アルゴリズム(EncY)を定義する。例えば、第１暗号化アルゴリズムは、第１平文テキストベクトル１４２Ａおよび第１線形公開キーを与えると、第１暗号化アルゴリズムがランダム数をサンプルし、次の式で表されるcxとして第１線形暗号テキストを作成する。
【０１０１】
【数１４】
2015225343.tif 000016
【０１０２】
同様に、第２暗号化アルゴリズムは、第１平文テキストベクトル１４２Ａおよび第２線形公開キーを与えると、第２暗号化アルゴリズムがランダム数をサンプルし、次の式で表されるcyとして第２線形暗号テキストを作成する。
【０１０３】
【数１５】
2015225343.tif 000017
【０１０４】
第１線形暗号テキストおよび第２線形暗号テキストは、線形認証モジュール１３２に通信される。さらにまたは別に、第１線形暗号テキストおよび第２線形暗号テキストは、ネットワーク１０７を介して認証サーバに通信される。認証サーバモジュール１３４は、第１線形暗号テキストおよび第２線形暗号テキストを受信し、第１線形暗号テキストおよび第２線形暗号テキストを線形認証モジュール１３２に通信する。
【０１０５】
線形関係を発見するため、線形認証モジュール１３２は、特別なベクトルを定義する。特別なベクトルは、第２フィールドのメンバである。特別なベクトルは、第１平文テキストベクトル１４２Ａおよび第２平文テキストベクトル１４２Ｂの和として定義される。線形認証モジュール１３２は、線形リレーショナル秘密キーの累乗まで累乗された第１平文テキストの第１要素（例えば、ランダム数の累乗まで累乗された第１生成器）および第２平文テキストの第１要素（例えば、ランダム数の累乗まで累乗された第２生成器）の対関数として、第１の値を計算する。
【０１０６】
線形認証モジュール１３２は、負数１と特別なベクトルの対応する要素の積の累乗まで累乗された任意の生成器の累乗まで累乗された第１平文テキストの各要素および第２平文テキスト内の対応する要素の対関数の積として、第２の値を計算する。
【０１０７】
線形認証モジュール１３２は、第１の値が第２の値に等しいか決定する。第１の値が第２の値に等しいことに応答して、線形認証モジュール１３２は、第１線形暗号テキストが第２線形暗号テキストに線形に関係すると結論付ける。
【０１０８】
いくつかの実施形態では、線形認証モジュール１３２は、次の例示の線形p-aryベクトル確認方程式にしたがって、第１線形暗号テキストと第２線形暗号テキストの間の線形関係を発見する。
【０１０９】
【数１６】
2015225343.tif 000018
【０１１０】
線形p-aryベクトル確認方程式は、上記で議論した確認アルゴリズム(Verify)を定義する。例えば、確認アルゴリズムは、暗号テキスト、特別なベクトル、およびリレーショナル線形キーが与えられ、次の等価性式をチェックすることとして定義される。
【０１１１】
【数１７】
2015225343.tif 000019
【０１１２】
さらに、いくつかの実施形態では、線形暗号化／復号化モジュール１１２は、第１および／または第２線形暗号テキストを復号する。線形暗号化／復号化モジュール１１２は、線形暗号テキストの値に基づいて、結果である平文テキストベクトル１４２の各要素を決定する。例えば、値は、第１線形暗号テキストを復号することにより作成される第１平文テキストベクトルの各要素（例えば、第１平文テキストベクトル１４２Ａ）について決定される。
【０１１３】
暗号テキストを復号するため、特別な要素値が決定される。特別な要素値は、安全パラメータにおける多項式により範囲が決められる。さらに、特別な要素値は、ベース数を有する要素を含むフィールドのメンバである。第１平文テキストベクトル１４２Ａの各要素について、線形暗号化／復号化モジュール１１２は、第１線形暗号テキスト内の対応する要素が、特別な要素値まで累乗された任意の生成器と第１線形秘密キーの対応する要素の積まで累乗された第１線形暗号テキストの第１要素に等しくなるような特別な要素値が存在するか決定する。
【０１１４】
第１線形暗号テキスト内の対応する要素が、特別な要素値まで累乗された任意の生成器と第１線形秘密キーの対応する要素の積まで累乗された第１線形暗号テキストの第１要素に等しくなるような特別な要素値が存在することに応答して、線形暗号化／復号化モジュール１１２は、要素を特別な要素値に設定する。
【０１１５】
そのような特別な要素値が存在しないことに応答して、線形暗号化／復号化モジュール１１２は、エラーを返信する。第２線形暗号テキストは、第２線形秘密キーおよび第２線形暗号テキストを使用して、同様に復号される。
【０１１６】
いくつかの実施形態では、線形暗号化／復号化モジュール１１２は、次の例示の線形p-aryベクトル復号方程式にしたがって線形暗号テキストを復号する。
【０１１７】
【数１８】
2015225343.tif 000020
【０１１８】
線形p-aryベクトル復号方程式は、上記で議論した第１復号アルゴリズム(DecX)および第２復号アルゴリズム(DecY)を定義する。例えば、第１復号アルゴリズムは、第１線形暗号テキストおよび第１線形秘密キーが与えられると、第１復号アルゴリズムは、次の方程式にしたがって、ビットごとに第１平文テキストベクトル１４２を作成する。
【０１１９】
【数１９】
2015225343.tif 000021
【０１２０】
同様に、第２復号アルゴリズムは、第２線形暗号テキストおよび第２線形秘密キーが与えられると、第２復号アルゴリズムは、次の方程式にしたがって、ビットごとに第２平文テキストベクトル１４２Ｂを作成する。
【０１２１】
【数２０】
2015225343.tif 000022
【０１２２】
リレーショナル近似暗号化スキーム
リレーショナル近似暗号化スキームは、近似暗号テキスト間の近似を決定するのに使用される。いくつかの実施形態では、近似は、ハミング距離に関して提供される。リレーショナル近似暗号化スキームにおいて、セットアップモジュール１４４は、キーを生成する。キーを使用して、近似暗号化／復号化モジュール１１４は、平文テキストベクトル１４２の暗号化および／または復号化を実行する。近似暗号テキストは、近似認証モジュール１２８に通信され、そこで近似暗号テキスト間の近似が検出される。
【０１２３】
例えば、セットアップモジュール１４４は、選択平文テキスト攻撃(chosen-plaintext attack: CPA)キー生成アルゴリズムおよび線形キー生成アルゴリズムの出力を生成する。例えば、セットアップモジュール１４４は、他のところで説明したように、線形キーを動作させる。ＣＰＡキー生成アルゴリズムは、ＣＰＡ公開キーおよびＣＰＡ秘密キーを出力する。線形キー生成アルゴリズムは、上記のように、pkxlin,skxlin,pkylin,skylin,およびskRlinを出力する。
【０１２４】
さらに、セットアップモジュール１４４は、エラー補正コード(ECC)を選択する。ＥＣＣは、線形エラー補正コードスキームである。ＥＣＣは、長さ、ランク、および距離を有する。さらに、ＥＣＣは、ＥＣＣコード化オペレータ(ENCODE)およびＥＣＣデコード化オペレータ(DECODE)を有する。セットアップモジュール１４４は、第１近似秘密キー、第２近似秘密キー、第１近似公開キー、第２近似公開キー、および近似リレーショナル秘密キー（合わせて「近似キー」）を有する。近似キーは、リレーショナル暗号化において、平文テキストベクトル１４２を暗号化して近似暗号テキストを生成し、近似暗号テキストを復号し、そして近似暗号テキスト間の近似を検出するのに使用される。
【０１２５】
第１近似秘密キーは、ＣＰＡ秘密キーおよび第１線形秘密キーに基づいて定義される。第２近似秘密キーは、ＣＰＡ秘密キーおよび第２線形秘密キーに基づいて定義される。第１近似公開キーは、ＥＮＣＯＤＥ、ＤＥＣＯＤＥ、ＣＰＡ公開キー、および第１線形公開キーに基づいて定義される。第２近似公開キーは、ＥＮＣＯＤＥ、ＤＥＣＯＤＥ、ＣＰＡ公開キー、および第２線形公開キーに基づいて定義される。近似リレーショナル秘密キーは、ＣＰＡ秘密キー、および線形リレーショナル秘密キーに基づいて定義される。
【０１２６】
いくつかの実施形態において、セットアップモジュール１４４は、次の例示の近似キー生成方程式にしたがって近似キーを生成する。
【０１２７】
【数２１】
2015225343.tif 000023
【０１２８】
近似キー生成方程式において、pkxlin,pkylin,skxlin,skylin,skRlin,および←は、上記の通りである。パラメータpkCPAはＣＰＡ公開キーを表す。パラメータskCPAはＣＰＡ秘密キーを表す。パラメータKeyGenCPAはＣＰＡキー生成アルゴリズムを表す。パラメータpkxproxは第１近似公開キーを表す。パラメータpkyproxは第２近似公開キーを表す。パラメータskxproxは第１近似秘密キーを表す。パラメータskyproxは第２近似秘密キーを表す。パラメータskRproxは近似リレーショナル秘密キーを表す。さらに、パラメータpkxprox,skxprox,pkyprox,skyprox,およびskRproxは、上記で議論したキー生成アルゴリズム(KeyGen)の出力の少なくとも近似部分を表す。
【０１２９】
第１近似公開キーは、近似暗号化／復号化モジュール１１４により、第１平文テキストベクトル１４２Ａを暗号化して、第１近似暗号テキストを生成するのに使用される。近似暗号化／復号化モジュール１１４は、平文テキストベクトル１４２を受信する。さらにまたは別に、通信モジュール１１６は、平文テキストベクトル１４２を受信し、平文テキストベクトル１４２を近似暗号化／復号化モジュール１１４に通信する。平文テキストベクトル１４２は、第１または第２フィールドのメンバを有する。
【０１３０】
近似暗号化／復号化モジュール１１４は、第３フィールドから近似ランダム数をサンプルする。第３フィールドは、ベース数およびＥＣＣのランクであるディメンジョンを有する。近似暗号化／復号化モジュール１１４は、第１近似暗号テキストおよび第２近似暗号テキストを作成する。第１近似暗号テキストおよび第２近似暗号テキストのそれぞれは、２つの部分を有する。第１近似暗号テキストの第１の部分は、ＣＰＡ公開キーおよび第１平文テキストベクトル１４２Ａと入力として近似ランダム数を受信するＥＮＣＯＤＥの和を入力として受信するＣＰＡ暗号化アルゴリズムを有する。第１近似暗号テキストの第２の部分は、第１線形公開キーおよび近似ランダム数を受信する第１線形暗号化アルゴリズムを有する。
【０１３１】
第２近似暗号テキストの第１の部分は、ＣＰＡ公開キーおよび第２平文テキストベクトル１４２Ｂと入力として近似ランダム数を受信するＥＮＣＯＤＥの和を入力として受信するＣＰＡ暗号化アルゴリズムを有する。第２近似暗号テキストの第２の部分は、第２線形公開キーおよび近似ランダム数を入力として受信する第２線形暗号化アルゴリズムを有する。
【０１３２】
いくつかの実施形態において、近似暗号テキストは、次の例示の近似暗号化方程式にしたがって近似キーを生成される。
【０１３３】
【数２２】
2015225343.tif 000024
【０１３４】
近似暗号化方程式において、ENCODE,m1,m2,pkcpa,pkxlin,およびpkylinは、上記の通りである。EncCPAはＣＰＡ暗号化アルゴリズムを表す。パラメータcxp1は、第１近似暗号テキストの第１部分を表す。パラメータcxp2は、第１近似暗号テキストの第２部分を表す。パラメータcxpは、第１近似暗号テキストを表す。パラメータcyp1は、第２近似暗号テキストの第１部分を表す。パラメータcyp2は、第２近似暗号テキストの第２部分を表す。パラメータcypは、第２近似暗号テキストを表す。パラメータEncXLinearは、第１線形暗号化アルゴリズムを表す。パラメータEncYLinearは、第２線形暗号化アルゴリズムを表す。
【０１３５】
第１近似暗号テキストは、通信モジュール１１６により認証サーバ１４０に通信され、そこで登録暗号テキスト１３０として記憶される。第２近似公開キーは、近似暗号化／復号化モジュール１１４により、第２平文テキストベクトル１４２Ｂを暗号化して第２近似暗号テキストを生成するのに使用される。第２近似暗号テキストは、通信モジュール１１６により認証サーバ１４０に通信される。近似リレーショナル秘密キーは、認証サーバ１４０において、特に近似認証モジュール１２８により、第２近似暗号テキストおよび第１近似暗号テキスト間の近似を検出するのに使用され、それは登録暗号テキスト１３０として記憶される。
【０１３６】
近似認証モジュール１２８は、第１近似暗号テキストと第２近似暗号テキスト間の近似を検出するように構成される。近似を検出するため、近似認証モジュール１２８は、公開キー情報内で利用可能なＤＥＣＯＤＥにアクセスする。近似認証モジュール１２８は、第１近似暗号テキストについてのランダム性の和を復元する。第１近似暗号テキストについてのランダム性の和は、入力としてＣＰＡ復号アルゴリズムを受信し、さらに入力としてＣＰＡ秘密キーおよび第１近似暗号テキストの第１部分の和を受信するＤＥＣＯＤＥとして定義され、ＣＰＡ復号アルゴリズムは入力としてＣＰＡ秘密キーおよび第２近似暗号テキストの第１部分を受信する。
【０１３７】
もしＤＥＣＯＤＥがエラーを返信すると、近似認証モジュール１２８は、拒絶を返信する。さらに、近似認証モジュール１２８は、入力として線形リレーショナル秘密キー、第２近似暗号テキストの第１部分、第２近似暗号テキストの第２部分、およびランダム性の和を受信する線形確認アルゴリズムを出力する。
【０１３８】
このように、近似確認アルゴリズムは、第１近似暗号テキスト、第２近似暗号テキスト、および近似秘密キーを受信するように定義されている。近似確認アルゴリズムは、ランダム性の和を復元し、拒絶を出力するか、入力として線形リレーショナル秘密キー、第２近似暗号テキストの第１部分、第２近似暗号テキストの第２部分、およびランダム性の和を入力として受信する線形確認アルゴリズムを出力する。例えば、近似認証モジュール１２８は、次の例示の近似確認アルゴリズムにしたがって１つ以上の動作を実行する。
【０１３９】
【数２３】
2015225343.tif 000025
【０１４０】
近似確認アルゴリズムにおいて、skcpa,cx1,cx2,cy2,⊥,skRlin,およびDECODEは上記の通りである。パラメータOutputは、近似認証モジュール１２８の出力を示す。パラメータZrsはランダム性の和を表す。パラメータDecCPAは、ＣＰＡ復号アルゴリズムを表す。VerifyLinearは線形確認アルゴリズムを表す。
【０１４１】
さらに、いくつかの実施形態では、近似暗号化／復号化モジュール１１４は、第１および／または第２近似暗号テキストを復号する。近似暗号化／復号化モジュール１１４は、第１近似暗号テキストおよび第１近似秘密キー、または第２近似暗号テキストおよび第２近似秘密キーを使用して、平文テキストベクトル１４２を作成する。いくつかの実施形態では、近似暗号化／復号化モジュール１１４は、次の例示の近似復号方程式に従う。
【０１４２】
【数２４】
2015225343.tif 000026
【０１４３】
近似復号方程式において、DecCPA,skcpa,cx1,cx2,cy1,cy2,skxlin,およびskylinは上記の通りである。パラメータDecXlinearは第１線形復号アルゴリズムを表す。
【０１４４】
ここまで説明したリレーショナル近似暗号化スキームは、次の条件が真であれば安全である。
【０１４５】
【数２５】
2015225343.tif 000027
【０１４６】
この条件で、KeyGenCPA,EncCPA,DecCPA,KeyGenLinear,EncXlinear,DecXlinear,EncYLinear,DecYlinear,VerifyLinear,およびFは、上記の通りである。ECCはＥＣＣを表す。パラメータnは長さを表し、kはランクを表し、そして２σは距離を表す。
【０１４７】
図２は、ここで説明した少なくとも１つの実施形態にしたがって配置された生体認証システム（生体システム）２００のブロック図である。生体システム２００は、図１の動作環境１００の例に含まれるかまたはそれを含み、そこでは認証サービスが提供される。生体システム２００では、ユーザ２０６の認証は、認証サーバ１４０により実行される。生体システム２００では、図１を参照して議論したリレーショナル暗号化が、ユーザ２０６の特定を認証するのに使用される。
【０１４８】
認証サービスは、登録プロセスおよび認証プロセスを有する。登録プロセスは、認証プロセスで使用されるユーザ２０６から情報およびデータを取得することを有する。認証プロセスは、時間的に後で（登録プロセスに続いて）生じる。認証プロセスでは、ユーザ２０６の特定は、図１を参照して議論したリレーショナル暗号化動作の１つ以上を使用して認証される。一般に、ユーザ２０６の特定は、説明したように、第１線形暗号テキストと第２線形暗号テキスト間の線形関係を発見し、第１近似暗号テキストと第２近似暗号テキスト間の近似を検出することにより認証される。第１線形暗号テキストおよび第１近似暗号テキストは、第１生体テンプレートの形で、ユーザ２０６により提供される。第１生体テンプレートは、図１の第１平文テキストベクトル１４２Ａまたは図２の登録入力２３２に含まれる。
【０１４９】
ユーザ２０６および／または（以下で議論する）作為者(imposter)２２２は、１つ以上の生体特性を有する個人を有する。生体特性は、１つ以上の特有の特徴を有する。例えば、生体特性は、背および／または深いしわのパターンを有するユーザ２０６の指紋を有する。ユーザ２０６は、いくつかの実施形態ではユーザ装置１０２に関係している。例えば、ユーザ２０６は、ユーザ装置１０２を所有するかまたは普通に動作させる。いくつかの実施形態では、ユーザ２０６は、特にユーザ装置１０２に関係している。例えば、ユーザ装置１０２は、ユーザ２０６を有する複数のユーザに公開でアクセス可能である。いくつかの実施形態では、作為者２２２は、生体特性を表す入力を提供するエンティティを有する。
【０１５０】
いくつかの実施形態では、ユーザ装置１０２は、センサ２９８を有する。センサ２９８は、例えば、ユーザ２０６を認証するのに使用される生体特性を測定するかまたは捕捉するように構成されたハードウェア装置を有する。ユーザ２０６の生体特性が測定されるかまたは捕捉された時、ユーザ装置１０２は生体テンプレートを生成する。生体テンプレートは、生体特性を表し、ユーザ２０６の生体特性の特有な特徴の少なくともいくつかを有している。生体テンプレートは、例えば、生体特性のグラフィックな表現および／またはアルゴリズム的表現を有する。
【０１５１】
センサ２９８のいくつかの例は、指紋スキャナ、虹彩画像を捕えるように構成されたカメラ、ＤＮＡを測定するように構成された装置、心臓レートを捕えるように構成された心臓レートモニタ、骨格筋肉により生成される電気的な活動を捕えるように構成された装着可能な電子筋収縮センサ、または生体特性を測定するかまたは捕えるように構成された他のセンサ２９８を有する。
【０１５２】
図示の生体システム２００では、センサ２９８は、ユーザ装置１０２に含まれる。他の実施形態では、センサ２９８は、ユーザ装置１０２またはそこに含まれるプロセッサに通信可能に接続される。例えば、線さ２９８は、図１のネットワーク１０７のようなネットワークを介して、ユーザ装置１０２に信号を通信するように構成されている。図２では１つのセンサ２９８のみが示されているが、いくつかの実施形態では、ユーザ装置１０２は１つ以上のセンサ２９８を有する。
【０１５３】
enc/decモジュール１１０は、登録入力２３２から第１暗号テキストおよび近似暗号テキストを生成する。次に、enc/decモジュール１１０は、第１暗号テキストおよび近似暗号テキストを、登録データ２３４として認証サーバ１４０に通信する。
【０１５４】
リレーショナル認証モジュール１０８は、第１線形暗号テキストおよび第１近似暗号テキストを登録暗号テキスト１３０として記憶する。登録暗号テキスト１３０は、ユーザ２０６に関係する。例えば、ユーザ２０６は、ユーザ特定器に関係する。登録暗号テキスト１３０は、いくつかの実施形態では、メモリ１２２Ｂに記憶される。
【０１５５】
次に、enc/decモジュール１１０は、第１挑戦入力２３６Ａまたは第２挑戦入力２３６Ｂ（一般に、挑戦入力２３６）を受信する。第１挑戦入力２３６Ａおよび第２挑戦入力２３６Ｂは、ユーザ２０６またはその特定を認証される作為者２２２による試みである。第１挑戦入力２３６Ａおよび第２挑戦入力２３６Ｂは、例えば、センサ２９８により読み取られた第２生体テンプレートを有する。第２生体テンプレートは、ユーザ２０６または作為者２２２の生体特性の特有の特徴を表す。
【０１５６】
enc/decモジュール１１０は、挑戦入力２３６から第２線形暗号テキストおよび第２近似暗号テキストを生成する。enc/decモジュール１１０は、第２線形暗号テキストおよび第２近似暗号テキストを、挑戦データ２３８として認証サーバ１４０に通信する。
【０１５７】
リレーショナル認証モジュール１０８は、挑戦データ２３８を受信する。リレーショナル認証モジュール１０８は、次にユーザ２０６用の登録暗号テキスト１３０を抽出する。
【０１５８】
リレーショナル認証モジュール１０８は、登録暗号テキスト１３０として記憶された第１線形暗号テキストとユーザ装置１０２から受信した第２線形暗号テキストの間の線形関係を決定する。さらに、リレーショナル認証モジュール１０８は、登録暗号テキスト１３０として記憶された第１近似暗号テキストとユーザ装置１０２から受信した第２近似暗号テキストの間の近似関係を決定する。
【０１５９】
第１線形暗号テキストが第２線形暗号テキストに対して線形関係を有することおよび第１近似暗号テキストと第２近似暗号テキストの間に特別な近似があることに応答して、認証サーバ１４０は、第１生体テンプレートと第２生体テンプレート間に近似的な類似性が存在すると決定する。
【０１６０】
このように、ユーザ２０６により提供された第１挑戦入力２３６Ａが第２線形暗号テキストおよび第２近似暗号テキストに基づくならば、第１線形暗号テキストと第２線形暗号テキスト間に線形関係があり、第１近似暗号テキストと第２近似暗号テキスト間に近似がある。
【０１６１】
しかし、もし作為者２２２により提供された第２挑戦入力２３６Ｂが第２線形暗号テキストおよび第２近似暗号テキストに基づくならば、第１線形暗号テキストと第２線形暗号テキスト間に線形関係が無く、第１近似暗号テキストと第２近似暗号テキスト間に近似が無い。
【０１６２】
線形関係および／または近似に基づき、リレーショナル認証モジュール１０８は、認証決定を行う。例えば、リレーショナル認証モジュール１０８は、挑戦データ２３８がユーザ２０６または作為者２２２で発生したかを決定する。リレーショナル認証モジュール１０８は、線形関係の発見および／または近似の検出に基づいて、認証信号２４２を通信する。enc/decモジュール１１０は、認証信号２４２を受信する。
【０１６３】
本開示の範囲を逸脱すること無しに、生体システム２００について、変形例、付加、または除去が行える。特に、図２に示した実施形態は、ひとりのユーザ２０６、１つのユーザ装置１０２、および１つの認証サーバ１４０を有する。しかし、本開示は、ひとり以上のユーザ２０６、１つ以上のユーザ装置１０２、１つ以上の認証サーバ１４０、またはそれらの組み合わせを有してもよい。
【０１６４】
さらに、ここで説明した実施形態における各種の要素の分離は、すべての実施形態で分離が発生することを示しているわけではない。記載の要素が単一の要素にまとめられるか、または複数の要素に分離されることは、ここでの開示の利点であると理解される。例えば、いくつかの実施形態では、enc/decモジュール１１０および／またはそれに付随する１つ以上の機能性は、認証サーバ１４０におけるモジュールにより実行されてもよい。
【０１６５】
リレーショナル認証モジュール１０８および／またはenc/decモジュール１１０は、生体認証用のコードおよびルーチンを有する。いくつかの実施形態では、リレーショナル認証モジュール１０８および／またはenc/decモジュール１１０は、例えば、ユーザ装置１０２に記憶された薄いクライアントアプリケーション(thin-client application)または他の演算装置として部分的に、そして認証サーバ１４０に記憶された要素として部分的に、動作する。いくつかの実施形態では、リレーショナル認証モジュール１０８および／またはenc/decモジュール１１０は、フィールドプログラマブルゲートアレイ(FPGA)またはアプリケーションスペシフィック集積回路(ASIC)を有するハードウェアを使用して、実現される。いくつかの他の例では、リレーショナル認証モジュール１０８および／またはenc/decモジュール１１０は、ハードウェアおよびソフトウェアの組み合わせを使用して実現される。
【０１６６】
図３は、ここで説明した少なくとも１つの実施形態にしたがって配置した生体認証の例示の方法３００のフロー図である。方法３００は、図２の生体システム２００または図１の動作環境１００におけるような生体認証システムで実行される。方法３００は、ここで説明した認証サーバ１４０により、いくつかの実施形態でプログラムにより実行される。認証サーバ１４０は、非一時的コンピュータ読取可能な媒体（例えば図１のメモリ１２２Ｂ）を有するかまたはそれに通信可能に接続され、媒体は方法３００の実行または実行制御を行うようにプロセッサにより実行可能なプログラミングコードまたは命令がそこに記憶されるかコード化される。さらにまたは別に、認証サーバ１４０は方法３００の実行または実行制御を行うようにコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ｂ）を有する。個別のブロックとして示されているが、各種ブロックは、所望の実現方法に応じて、付加的なブロックに分割されるか、少ないブロックに組み合わせるか、または除去するかできる。
【０１６７】
方法３００は、ブロック３０２で開始する。ブロック３０２で、第１線形暗号テキストが受信される。第１線形暗号テキストは、リレーショナル線形暗号化スキームを使用して暗号化された第１生体テンプレートを表す。ブロック３０４で、第１近似暗号テキストが受信される。第１近似暗号テキストは、リレーショナル近似暗号化スキームを使用して暗号化された第１生体テンプレートを表す。
【０１６８】
ブロック３０６で、第１線形暗号テキストおよび第１近似暗号テキストは、登録暗号テキストとして記憶される。ブロック３０８で、線形リレーショナル秘密キーおよび近似リレーショナル秘密キーが受信される。ブロック３１０で、第２近似暗号テキストが受信される。第２近似暗号テキストは、リレーショナル近似暗号化スキームを使用して暗号化した第２生体テンプレートを表す。ブロック３１２で、第２線形暗号テキストが受信される。第２線形暗号テキストは、リレーショナル線形暗号化スキームを使用して暗号化した第２生体テンプレートを表す。
【０１６９】
ブロック３１４で、第１線形暗号テキストと第２線形暗号テキスト間の線形関係が、線形リレーショナル秘密キーを使用して発見される。ブロック３１６で、第１近似暗号テキストと第２近似暗号テキスト間の近似が、近似リレーショナル秘密キーを使用して検出される。近似は、ハミング距離の多項式で決定される。ブロック３１８で、ユーザの特定が、近似および線形関係に基づいて決定される。
【０１７０】
当業者であれば、このおよび他の手法および方法について、プロセスおよび方法で実行される機能が異なる順番でも行えることが理解される。さらに、概略のステップおよび動作は、例示の目的でのみ提示され、ステップおよび動作のいくつかは任意であり、開示の実施形態から逸脱すること無しに、より少ないステップおよび動作に組み合わせることも、付加的なステップおよび動作に拡張することもできる。
【０１７１】
図４Ａおよび図４Ｂは、ここで説明した少なくとも１つの実施形態にしたがって配置されたリレーショナル暗号化の例示の方法４００のフロー図である。方法４００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法４００は、ここで説明したユーザ装置１０２によりいくつかの実施形態でプログラムにより実行される。ユーザ装置１０２は、方法４００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ａ）に通信可能に接続される。さらにまたは別に、ユーザ装置１０２は、方法４００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ａ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することもできる。
【０１７２】
図４Ａを参照すると、方法４００は、ブロック４０２で開始する。ブロック４０２で、リレーショナル線形暗号化スキームのキーが生成される。リレーショナル線形暗号化スキームのキーは、安全パラメータ用に生成される。ブロック４０４で、第１平文テキストベクトルはリレーショナル線形暗号化スキームを使用して暗号化される。第１平文テキストベクトルの暗号化は、第１平文テキストベクトルを表す第１線形暗号テキストを生成する。ブロック４０６で、リレーショナル近似暗号化スキームが生成される。リレーショナル線形暗号化スキームのキーは、安全パラメータ用に生成される。ブロック４０８で、第１平文テキストベクトルはリレーショナル近似暗号化スキームを使用して暗号化される。リレーショナル近似暗号化スキームを使用した第１平文テキストベクトルの暗号化は、第１平文テキストベクトルを表す第１近似暗号テキストを生成する。ブロック４１０で、第１線形暗号テキストおよび第１近似暗号テキストは、認証サーバに通信される。
【０１７３】
ブロック４１２で、第２平文テキストベクトルは、リレーショナル線形暗号化スキームを使用して暗号化される。第２平文テキストベクトルの暗号化は、第２平文テキストベクトルを表す第２線形暗号テキストを生成する。図４Ｂを参照すると、ブロック４１４で、第２平文テキストベクトルは、リレーショナル近似暗号化スキームを使用して暗号化される。リレーショナル近似暗号化スキームを使用した第２平文テキストベクトルの暗号化は、第２近似暗号テキストを生成する。ブロック４１６で、第２線形暗号テキストおよび第２近似暗号テキストは、認証サーバに通信される。ブロック４１８で、ブロック４０２で生成されたリレーショナル形暗号化スキームのキーは、認証サーバに通信される。キーは、リレーショナル線形キーおよびリレーショナル近似キーを有する。
【０１７４】
ブロック４２０で、認証信号が、認証サーバから受信される。認証信号は、リレーショナル線形キーを使用して発見した第１線形暗号テキストと第２線形暗号テキスト間の線形関係、およびリレーショナル近似キーを使用して検出した第１近似暗号テキストと第２近似暗号テキスト間の近似を示す。いくつかの実施形態では、第１平文テキストベクトルは、ユーザから登録入力として受信した第１生体テンプレートを有する。さらに、第２平文テキストベクトルは、挑戦入力として受信した第２生体テンプレートを有する。これらおよび他の実施形態では、認証信号は、第２生体テンプレートがユーザで発生したかを示す。
【０１７５】
ブロック４２２で、第１線形暗号テキストは、リレーショナル線形暗号化スキームを使用して復号される。ブロック４２４で、第１近似暗号テキストは、リレーショナル近似暗号化スキームを使用して復号される。例えば、リレーショナル近似暗号化スキームを使用した第１近似暗号テキストの復号は、第１平文テキストベクトルの作成を有する。第１平文テキストベクトルは、入力としてＣＰＡ暗号キーおよび第１近似暗号テキストの第１部分を受信するＣＰＡ復号アルゴリズムおよび入力として第１線形秘密キーおよび第１近似暗号テキストの第２部分を受信する第１線形復号アルゴリズムの和として作成される。
【０１７６】
図５は、ここで説明した実施形態の少なくとも１つにしたがって配置されたリレーショナル暗号化スキームにおける線形関係を発見する例示の方法５００のフロー図である。方法５００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法５００は、ここで説明した認証サーバ１４０によりいくつかの実施形態でプログラムにより実行される。認証サーバ１４０は、方法５００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ｂ）に通信可能に接続される。さらにまたは別に、認証サーバ１４０は、方法５００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ｂ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することもできる。
【０１７７】
方法５００は、ブロック５０２で開始する。ブロック５０２で、特別なベクトルが定義される。特別なベクトルは、第１フィールドのメンバである。特別なベクトルは、ゼロと１と線形秘密キーの長さである特別な数のディメンジョンの要素を有する。さらにまたは別に、特別なベクトルは、第２フィールドのメンバを有する。第２フィールドのメンバは、ゼロから、ベース数および特別な数のディメンジョンより小さな数までを有する。
【０１７８】
ブロック５０４で、第１の値が計算される。第１の値は、線形リレーショナル秘密キーの累乗まで累乗された第１線形暗号テキストの第１要素および第２線形暗号テキストの第１要素の対関数として計算される。ブロック５０６で、第２の値が計算される。いくつかの実施形態では、第２の値は、特別なベクトルの対応する要素の累乗まで累乗された数の負数の累乗まで累乗された第１線形暗号テキストの各要素および第２線形暗号テキストの対応する要素の対関数の積である。いくつかの実施形態では、第２の値は、負の１と特別なベクトルの対応する要素の積の累乗まで累乗された任意の生成器の累乗まで累乗された第１線形暗号テキストの各要素および第２線形暗号テキストの対応する要素の対関数の積である。任意の生成器は、ゼロを除去した整数セットのサブグループから選択される。
【０１７９】
ブロック５０８で、第１の値が第２の値に等しいか決定される。第１の値が第２の値に等しいことに応答して（ブロック５０８で、"Yes"）、方法５００は、ブロック５１０に進む。ブロック５１０で、第１暗号テキストは第２暗号テキストに線形であると結論付けられる。第１の値が第２の値に等しくないことに応答して（ブロック５０８で、"No"）、方法５００は、ブロック５１２に進む。ブロック５１２で、エラーが出力され、それは第１線形暗号テキストが第２線形暗号テキストに線形でないことを示す。
【０１８０】
図６は、ここで説明した少なくとも１つの実施形態にしたがって配置した近似を検出する例示の方法６００のフロー図である。方法６００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法６００は、ここで説明した認証サーバ１４０によりいくつかの実施形態でプログラムにより実行される。認証サーバ１４０は、方法６００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ｂ）に通信可能に接続される。さらにまたは別に、認証サーバ１４０は、方法６００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ｂ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することもできる。
【０１８１】
方法６００は、ブロック６０２で開始する。ブロック６０２で、ＤＥＣＯＤＥが公開キー情報からアクセスされる。ブロック６０４で、ランダム性の和が復元される。ランダム性の和は、第１近似暗号テキストについて受信される。第１近似暗号テキストについてのランダム性の和はＤＥＣＯＤＥとして定義され、ＤＥＣＯＤＥは、入力として（ａ）ＣＰＡ秘密キーおよび（ｂ）第１近似暗号テキストの第１部分の和をさらに受信するＣＰＡ復号アルゴリズム、および入力としてＣＰＡ秘密キーおよび第２近似暗号テキストの第１部分を受信するＣＰＡ復号アルゴリズムを、入力として受信する。
【０１８２】
ブロック６０６で、ＤＥＣＯＤＥがエラーを返信するのに応答して、拒絶が出力される。ブロック６０８で、そうでなければ線形確認アルゴリズムが出力される。線形確認アルゴリズムは、線形リレーショナル秘密キー、第２近似暗号テキストの第１部分、第２近似暗号テキストの第２部分、およびランダム性の和を入力として受信する。
【０１８３】
図７は、ここで説明した少なくとも１つの実施形態にしたがって配置したリレーショナル線形暗号化スキームのキー生成の例示の方法７００のフロー図である。方法７００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法７００は、ここで説明したユーザ装置１０２によりいくつかの実施形態でプログラムにより実行される。ユーザ装置１０２は、方法７００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ａ）に通信可能に接続される。さらにまたは別に、ユーザ装置１０２は、方法７００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ａ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することもできる。
【０１８４】
方法７００は、ブロック７０２で開始する。ブロック７０２で、双一次グループが生成される。いくつかの実施形態では、双一次グループは、素数の位数である。素数の位数は、安全パラメータにおける指数関数である。さらにまたは別に、素数の位数は、安全パラメータにおける指数関数で且つベース数(p)の１基本単位(module)に等しい。例えば、平文テキストベクトルがビットベクトルを有する実施形態では、素数の位数は安全パラメータにおける指数関数である。平文テキストベクトルがp-aryベクトルを有する実施形態では、素数の位数は、安全パラメータにおける指数関数で且つベース数(p)の１基本単位に等しい。
【０１８５】
ブロック７０４で、生成器がサンプルされる。例えば、第１生成器は、第１双一次グループからサンプルされ、第２生成器は第２双一次グループからサンプルされる。ブロック７０６で、線形秘密キーが生成される。例えば、第１線形秘密キーおよび第２線形秘密キーは、整数セットから特定の番号の要素をランダムにサンプルすることにより生成される。整数セットは、ゼロから素数の位数より小さい数を有する。
【０１８６】
ブロック７０８で、線形公開キーが定義される。例えば、第１線形公開キーは、第１生成器である１つの要素と、第１線形秘密キーの対応する要素の累乗まで累乗された第１生成器である他の要素の１つ以上と、を有する。いくつかの実施形態では、第１線形公開キーは、任意の生成器をさらに有する。任意の生成器は、ゼロを除去した整数セットのサブグループから選択される。さらに、第２線形公開キーが定義される。第２線形公開キーは、第２生成器である１つの要素と、第２線形秘密キーの対応する要素の累乗まで累乗された第２生成器である他の要素の１つ以上と、を有する。いくつかの実施形態では、第２線形公開キーは、任意の生成器である要素をさらに有する。
【０１８７】
ブロック７１０で、線形リレーショナル秘密キーが定義される。線形リレーショナル秘密キーの各要素は、第２線形秘密キーの対応する要素および第１線形秘密キーの対応する要素の和を有する。
【０１８８】
図８は、ここで説明した少なくとも１つの実施形態にしたがって配置したリレーショナル線形暗号化スキームを使用した第１平文テキストの暗号化の例示の方法８００のフロー図である。方法８００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法８００は、ここで説明したユーザ装置１０２によりいくつかの実施形態でプログラムにより実行される。ユーザ装置１０２は、方法８００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ａ）に通信可能に接続される。さらにまたは別に、ユーザ装置１０２は、方法８００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ａ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することもできる。
【０１８９】
方法８００は、ブロック８０で開始する。ブロック８０２で、ランダム数がサンプルされる。ランダム数は整数セットからサンプルされる。ブロック８０４で、第１線形暗号テキストが作成される。第１線形暗号テキストの第１要素は、ランダム数の累乗まで累乗された第１生成器である。さらに、第１線形暗号テキストの他の１つ以上の要素は、線形暗号化累乗まで累乗された第１線形公開キーの対応する要素を有する。いくつかの実施形態では、線形暗号化累乗は、ランダム数および第１平文テキストベクトルの対応する要素の累乗まで累乗された数の負数の積を有する。いくつかの実施形態では、線形暗号化累乗は、ランダム数および第１平文テキストベクトルの対応する要素の累乗まで累乗された数の任意の生成器の積を有する。
【０１９０】
図９は、ここで説明した少なくとも１つの実施形態にしたがって配置したリレーショナル線形暗号化スキームのキー生成の例示の方法９００のフロー図である。方法９００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法９００は、ここで説明したユーザ装置１０２によりいくつかの実施形態でプログラムにより実行される。ユーザ装置１０２は、方法９００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ａ）に通信可能に接続される。さらにまたは別に、ユーザ装置１０２は、方法９００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ａ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することもできる。
【０１９１】
方法９００は、ブロック９０２で開始する。ブロック９０２で、ＥＣＣが選択される。ＥＣＣは、長さ、安全パラメータの同じ次数におけるランク、および選択された最小距離を有する。ブロック９０４で、ＣＰＡ安全暗号化スキームのキー生成アルゴリズムが動作される。ＣＰＡ安全暗号化スキームは、ＣＰＡ公開キーおよびＣＰＡ秘密キーを出力する。ブロック９０６で、リレーショナルキー生成アルゴリズムが動作される。リレーショナルキー生成アルゴリズムは、第１線形公開キー、第２線形公開キー、第１線形秘密キー、第２線形秘密キー、およびリレーショナル線形秘密キーを出力する。
【０１９２】
ブロック９０７で、近似公開キーが定義される。例えば、第１近似公開キーは、ＥＮＣＯＤＥ、ＤＥＣＯＤＥ、ＣＰＡ公開キー、および第１線形公開キーに基づいて定義される。さらに、第２近似公開キーは、ＥＮＣＯＤＥ、ＤＥＣＯＤＥ、ＣＰＡ公開キー、および第２線形公開キーに基づいて定義される。ブロック９０８で、近似秘密キーが定義される。例えば、第１近似秘密キーは、ＣＰＡ秘密キーおよび第１線形秘密キーに基づいて定義される。さらに、第２近似秘密キーは、ＣＰＡ秘密キーおよび第２線形秘密キーに基づいて定義される。ブロック９１０で、近似リレーショナル秘密キーが定義される。例えば、近似リレーショナル秘密キーは、ＣＰＡ秘密キーおよびリレーショナル線形秘密キーに基づいて定義される。
【０１９３】
図１０は、ここで説明した少なくとも１つの実施形態にしたがって配置した、リレーショナル近似暗号化スキームを使用して第１平文テキストを暗号化する例示の方法１０００のフロー図である。方法１０００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法１０００は、ここで説明したユーザ装置１０２によりいくつかの実施形態でプログラムにより実行される。ユーザ装置１０２は、方法１０００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ａ）に通信可能に接続される。さらにまたは別に、ユーザ装置１０２は、方法１０００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ａ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することも、除去することもできる。
【０１９４】
方法１０００は、ブロック１００２で開始する。ブロック１００２で、近似ランダム数がサンプルされる。近似ランダム数は、第３フィールドからサンプルされる。第３フィールドは、ベース数およびＥＣＣのランクであるディメンジョンを有する。ブロック１００４で、第１近似暗号テキストの第１部分が定義される。第１部分は、ＣＰＡ公開キー、および第１平文テキストおよび入力として近似ランダム数を受信するＥＮＣＯＤＥの和を、入力として受信するＣＰＡ暗号化アルゴリズムとして定義される。
【０１９５】
ブロック１００６で、第１近似暗号テキストの第２部分が定義される。第２部分は、入力として第１線形公開キーおよび近似ランダム数を受信する第１線形暗号化アルゴリズムとして定義される。
【０１９６】
図１１は、ここで説明した少なくとも１つの実施形態にしたがって配置した、第１線形暗号テキストを復号する例示の方法１１００のフロー図である。方法１１００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法１１００は、ここで説明したユーザ装置１０２によりいくつかの実施形態でプログラムにより実行される。ユーザ装置１０２は、方法１１００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ａ）に通信可能に接続される。さらにまたは別に、ユーザ装置１０２は、方法１１００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ａ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することも、除去することもできる。
【０１９７】
方法１１００は、ブロック１１０２で開始する。ブロック１１０２で、第１線形暗号テキストにおける対応する要素が、特別な要素値まで累乗された任意の生成器と第１線形秘密キーの対応する要素の累乗まで累乗された第１線形暗号テキストの第１要素に等しいような特別な要素値が存在するか決定される。特別な要素値の存在（ブロック１１０２における"Yes")に応じて、要素は特別な要素値に設定される。特別な要素値が存在しないこと（ブロック１１０２における"No")に応じて、エラーが出力される。
【０１９８】
図１２は、ここで説明した少なくとも１つの実施形態にしたがって配置した、第１線形暗号テキストを復号する例示の他の方法１２００のフロー図である。方法１２００は、図２の生体システム２００または図１の動作環境１００のような生体認証システムで実行される。方法１２００は、ここで説明したユーザ装置１０２によりいくつかの実施形態でプログラムにより実行される。ユーザ装置１０２は、方法１２００の実行または実行の制御をプロセッサにより行えるプログラミングコードまたは命令を記憶またはその上にコード化した非一時的コンピュータ読取可能な媒体（例えば、図１のメモリ１２２Ａ）に通信可能に接続される。さらにまたは別に、ユーザ装置１０２は、方法１１００の実行または実行の制御を行うコンピュータ命令を実行するように構成されたプロセッサ（例えば、図１のプロセッサ１２４Ａ）を有する。図では個別のブロックとして示されているが、各種のブロックは、所望の実現方法に応じて、付加的なブロックに分割することも、より少ないブロックに結合することも、除去することもできる。
【０１９９】
方法１２００は、ブロック１２０２で開始する。ブロック１２０２で、第１線形暗号テキストにおける対応する要素が、第１線形秘密キーの対応する要素まで累乗された第１線形暗号テキストの第１要素に等しいか決定される。第１線形暗号テキストにおける対応する要素が、第１線形秘密キーの対応する要素まで累乗された第１線形暗号テキストの第１要素等しいこと（ブロック１２０２における"Yes")に応じて、方法１２００はブロック１２０８に進む。ブロック１２０８で、第１平文テキストベクトルの要素はゼロに設定される。
【０２００】
第１線形暗号テキストにおける対応する要素が、第１線形秘密キーの対応する要素まで累乗された第１線形暗号テキストの第１要素等しくないこと（ブロック１２０２における"No")に応じて、方法１２００はブロック１２０４に進む。ブロック１２０４で、第１線形暗号テキストにおける対応する要素が、第１線形秘密キーの対応する要素を乗じた数の負数まで累乗された第１線形暗号テキストの第１要素等しくか決定される。第１線形暗号テキストにおける対応する要素が、第１線形秘密キーの対応する要素を乗じた数の負数まで累乗された第１線形暗号テキストの第１要素等しいこと（ブロック１２０４における"Yes")に応じて、方法１２００はブロック１２１０に進む。ブロック１２１０で、第１平文テキストベクトルの要素は、１に設定される。第１線形暗号テキストにおける対応する要素が、第１線形秘密キーの対応する要素を乗じた数の負数まで累乗された第１線形暗号テキストの第１要素等しくないこと（ブロック１２０４における"No")に応じて、方法１２００はブロック１２０６に進む。ブロック１２０６で、第１線形暗号テキストにおける対応する要素が他の値に等しいか決定される。第１線形暗号テキストにおける対応する要素が他の値に等しいこと（ブロック１２０６における"Yes")に応答して、方法１２００はブロック１２１２に進む。ブロック１２１２で、エラーが返信される。
【０２０１】
ここで説明した実施形態は、これまで詳細に議論したように、各種のコンピュータハードウェアまたはソフトウェアモジュールを含む専用のまたは汎用のコンピュータの使用を有する。
【０２０２】
ここで説明した実施形態は、コンピュータ読取可能な媒体を使用して実現され、媒体は記憶されたコンピュータ実行可能な命令またはデータ構造を担持または有する。このようなコンピュータ読取可能な媒体は、汎用または瀬引用のコンピュータによりアクセスされる利用可能な媒体である。それにより制限されない例として、このようなコンピュータ読取可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光学ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶装置、フラッシュメモリ装置（例えば、固体メモリデバイス）、またはコンピュータ実行可能な命令またはデータ構造の形で所望のプログラムコードを担持または記憶するのに使用され、汎用のまたは専用のコンピュータによりアクセスされる他の記憶媒体を含む非一時的および／または確実なコンピュータ読取可能な記憶媒体を有する。上記の組み合わせは、コンピュータ読取可能な媒体の範囲に含まれる。
【０２０３】
コンピュータ実行可能な命令は、例えば、汎用コンピュータ、専用コンピュータまたは特別な専用処理装置に、あるファンクションまたはファンクションのグループを実行させる命令およびデータを有する。主題は構造的な特徴および／または方法論的動きを特定する言語で記載されているが、特許請求の範囲に定義した主題はかならずしも上記の特別な特徴または動きに限定されないと理解される。むしろ、上記の特別な特徴および動きは、特許請求の範囲を実現する例示の形式として開示される。
【０２０４】
ここで使用した用語「モジュール」または「要素」は、コンピューティングシステムで実行するソフトウェアのオブジェクトまたはルーチンを示す。ここで説明した異なる要素、モジュール、エンジン、およびサービスは、コンピューティングシステムで実行するオブジェクトまたはプロセスとして実現される（例えば、分離したスレッド）。いくつかの実施形態では、ここで説明したモジュール、エンジン、およびサービスは、コンピューティングシステムで実行するオブジェクトまたはプロセス（例えば、分離したスレッド）で実現される。ここで説明したシステムおよび方法は、（記憶されるかおよび／または汎用のハードウェアにより実行される）ソフトウェアで実現するように一般的に述べたが、特別なハードウェア構成またはソフトウェアと特別なハードウェア構成の組み合わせも可能であり、企画してもよい。この記載で、「コンピューティングエンティティ」は、ここであらかじめ定義したようないかなるコンピューティングシステムでも、コンピューティングシステム上で動作するいかなるモジュールまたはモジュールの組み合わせでもよい。
【０２０５】
ここで引用したすべての例および条件付き言語は、発明者により従来の技術を更に推し進めるために提供された発明と概念を読者が理解するのを支援する教育的目的のためであり、そのように特定的に引用した例と条件に制限されるものではないと解釈されるべきである。本開示の実施形態を詳細に記述したが、種々の変更、置換、および改造が、本開示の精神と範囲を逸脱することなく実施形態に対して行えるということは理解されたい。
【図１】
2015225343.tif 000028
【図２】
2015225343.tif 000029
【図３】
2015225343.tif 000030
【図４Ａ】
2015225343.tif 000031
【図４Ｂ】
2015225343.tif 000032
【図５】
2015225343.tif 000033
【図６】
2015225343.tif 000034
【図７】
2015225343.tif 000035
【図８】
2015225343.tif 000036
【図９】
2015225343.tif 000037
【図１０】
2015225343.tif 000038
【図１１】
2015225343.tif 000039
【図１２】
2015225343.tif 000040
【手続補正書】
【提出日】平成27年4月17日(2015.4.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リレーショナル線形暗号化スキームを使用して暗号化した第１生体テンプレートを表す第１線形暗号テキストを受信し、
前記リレーショナル線形暗号化スキームを使用して暗号化した第２生体テンプレートを表す第２線形暗号テキストを受信し、
線形リレーショナル秘密キーを使用して、前記第１線形暗号テキストと前記第２線形暗号テキスト間の線形関係を発見し、
リレーショナル近似暗号化スキームを使用して暗号化した前記第１生体テンプレートを表す第１近似暗号テキストを受信し、
前記リレーショナル近似暗号化スキームを使用して暗号化した前記第２生体テンプレートを表す第２近似暗号テキストを受信し、
近似リレーショナル秘密キーを使用して、ハミング距離に関する前記第１近似暗号テキストと前記第２近似暗号テキスト間の近似を検出し、そして
前記近似および前記線形関係に基づいてユーザの特定を認証する、方法。
【請求項２】
さらに、
前記第１線形暗号テキストおよび前記第１近似暗号テキストを登録暗号テキストとして記憶し、そして
前記線形リレーショナル秘密キーおよび前記近似リレーショナル秘密キーを受信する、請求項１に記載の方法。
【請求項３】
前記第１生体テンプレートおよび前記第２生体テンプレートは、ビットベクトルを有し、
前記発見は、
特別なベクトルを、ゼロと１の要素、および線形秘密キーの長さである特別な数のディメンジョンを有する第１フィールドのメンバとして定義し、
前記線形リレーショナル秘密キーの累乗まで累乗された前記第１線形暗号テキストの第１要素および前記第２線形暗号テキストの第１要素の対関数として第１の値を計算し、
前記特別なベクトルの対応する要素の累乗まで累乗された数の負数の累乗まで累乗された前記第１線形暗号テキストの各要素および前記第２線形暗号テキストの対応する要素の対関数の積として第２の値を計算し、
前記第１の値が前記第２の値に等しいか決定し、そして
前記第１の値が前記第２の値に等しいことに応答して、前記第１線形暗号テキストが前記第２線形暗号テキストに対して線形であると結論付ける、請求項１に記載の方法。
【請求項４】
前記第１生体テンプレートおよび前記第２生体テンプレートは、p-aryベクトルを有し、
前記発見は、
特別なベクトルを、ゼロからベース数(p)より小さい値までの要素、および線形秘密キーの長さである特別な数のディメンジョンを有する第２フィールドのメンバとして定義し、
前記線形リレーショナル秘密キーの累乗まで累乗された前記第１線形暗号テキストの第１要素および前記第２線形暗号テキストの第１要素の対関数として第１の値を計算し、
負の１および前記特別なベクトルの対応する要素の積の累乗まで累乗され、ゼロがのぞかれた整数セットのサブグループから選択された任意の生成器の累乗まで累乗された前記第１線形暗号テキストの各要素および前記第２線形暗号テキストの対応する要素の対関数の積として第２の値を計算し、
前記第１の値が前記第２の値に等しいか決定し、そして
前記第１の値が前記第２の値に等しいことに応答して、前記第１線形暗号テキストが前記第２線形暗号テキストに対して線形であると結論付ける、請求項１に記載の方法。
【請求項５】
公開キー情報から線形エラー補正コードのデコードオペレータ(DECODE)にアクセスし、
前記第１近似暗号テキストについてのランダム性の和を復元し、
前記ＤＥＣＯＤＥがエラーを返すのに応答して拒絶を出力し、そして
それ以外で、線形確認アルゴリズムを出力し、
前記第１近似暗号テキストについての前記ランダム性の和は、前記ＤＥＣＯＤＥとして定義され、
前記ＤＥＣＯＤＥは、入力としてさらにＣＰＡ復号アルゴリズムを受信し、
前記ＣＰＡ復号アルゴリズムは、
前記ＣＰＡ秘密キー、および
前記第１近似暗号テキストの第１部分と、入力として前記ＣＰＡ秘密キーおよび前記第２近似暗号テキストの前記第１部分を受信する前記ＣＰＡ復号アルゴリズムの和を、入力として受信し、
前記線形確認アルゴリズムは、
前記線形リレーショナル秘密キー、
前記第２近似暗号テキストの前記第１部分、
前記第２近似暗号テキストの前記第２部分、そして
ランダム性の和を、入力として受信する、請求項１に記載の方法。
【請求項６】
プロセッサに、
リレーショナル線形暗号化スキームを使用して暗号化した第１生体テンプレートを表す第１線形暗号テキストを受信し、
前記リレーショナル線形暗号化スキームを使用して暗号化した第２生体テンプレートを表す第２線形暗号テキストを受信し、
線形リレーショナル秘密キーを使用して、前記第１線形暗号テキストと前記第２線形暗号テキスト間の線形関係を発見し、
リレーショナル近似暗号化スキームを使用して暗号化した前記第１生体テンプレートを表す第１近似暗号テキストを受信し、
前記リレーショナル近似暗号化スキームを使用して暗号化した前記第２生体テンプレートを表す第２近似暗号テキストを受信し、
近似リレーショナル秘密キーを使用して、ハミング距離に関する前記第１近似暗号テキストと前記第２近似暗号テキスト間の近似を検出し、そして
前記近似および前記線形関係に基づいてユーザの特定を認証する、動作の実行または実行を制御するように、動作させるプログラム。
【請求項７】
前記プロセッサに、さらに、
前記第１線形暗号テキストおよび前記第１近似暗号テキストを登録暗号テキストとして記憶し、
前記線形リレーショナル秘密キーおよび前記近似リレーショナル秘密キーを受信する、動作を行わせる請求項６に記載のプログラム。
【請求項８】
前記第１生体テンプレートおよび前記第２生体テンプレートは、ビットベクトルを有し、
前記発見は、
特別なベクトルを、ゼロと１の要素、および線形秘密キーの長さである特別な数のディメンジョンを有する第１フィールドのメンバとして定義し、
前記線形リレーショナル秘密キーの累乗まで累乗された前記第１線形暗号テキストの第１要素および前記第２線形暗号テキストの第１要素の対関数として第１の値を計算し、
前記特別なベクトルの対応する要素の累乗まで累乗された数の負数の累乗まで累乗された前記第１線形暗号テキストの各要素および前記第２線形暗号テキストの対応する要素の対関数の積として第２の値を計算し、
前記第１の値が前記第２の値に等しいか決定し、そして
前記第１の値が前記第２の値に等しいことに応答して、前記第１線形暗号テキストが前記第２線形暗号テキストに対して線形であると結論付ける、請求項６に記載のプログラム。
【請求項９】
前記第１生体テンプレートおよび前記第２生体テンプレートは、p-aryベクトルを有し、
前記発見は、
特別なベクトルを、ゼロからベース数(p)より小さい値までの要素、および線形秘密キーの長さである特別な数のディメンジョンを有する第２フィールドのメンバとして定義し、
前記線形リレーショナル秘密キーの累乗まで累乗された前記第１線形暗号テキストの第１要素および前記第２線形暗号テキストの第１要素の対関数として第１の値を計算し、
負の１および前記特別なベクトルの対応する要素の積の累乗まで累乗され、ゼロがのぞかれた整数セットのサブグループから選択された任意の生成器の累乗まで累乗された前記第１線形暗号テキストの各要素および前記第２線形暗号テキストの対応する要素の対関数の積として第２の値を計算し、
前記第１の値が前記第２の値に等しいか決定し、そして
前記第１の値が前記第２の値に等しいことに応答して、前記第１線形暗号テキストが前記第２線形暗号テキストに対して線形であると結論付ける、請求項６に記載のプログラム。
【請求項１０】
前記検出は、
公開キー情報から線形エラー補正コードのデコードオペレータ(DECODE)にアクセスし、
前記第１近似暗号テキストについてのランダム性の和を復元し、
前記ＤＥＣＯＤＥがエラーを返すのに応答して拒絶を出力し、そして
それ以外で、線形確認アルゴリズムを出力し、
前記第１近似暗号テキストについての前記ランダム性の和は、前記ＤＥＣＯＤＥとして定義され、
前記ＤＥＣＯＤＥは、入力としてさらにＣＰＡ復号アルゴリズムを受信し、
前記ＣＰＡ復号アルゴリズムは、
前記ＣＰＡ秘密キー、および
前記第１近似暗号テキストの第１部分と、入力として前記ＣＰＡ秘密キーおよび前記第２近似暗号テキストの前記第１部分を受信する前記ＣＰＡ復号アルゴリズムの和を、入力として受信し、
前記線形確認アルゴリズムは、
前記線形リレーショナル秘密キー、
前記第２近似暗号テキストの前記第１部分、
前記第２近似暗号テキストの前記第２部分、そして
ランダム性の和を、入力として受信する、請求項６に記載のプログラム。
【請求項１１】
リレーショナル線形暗号化スキームを使用して第１平文テキストベクトルを暗号化して、前記第１平文テキストベクトルを表す第１線形暗号テキストを生成し、
リレーショナル近似暗号化スキームを使用して前記第１平文テキストベクトルを暗号化して、前記第１平文テキストベクトルを表す第１近似暗号テキストを生成し、
前記第１線形暗号テキストおよび前記第１近似暗号テキストを認証サーバに通信し、
前記リレーショナル線形暗号化スキームを使用して第２平文テキストベクトルを暗号化して、前記第２平文テキストベクトルを表す第２線形暗号テキストを生成し、
前記リレーショナル近似暗号化スキームを使用して前記第２平文テキストベクトルを暗号化して、前記第２平文テキストベクトルを表す第２近似暗号テキストを生成し、
前記第２線形暗号テキストおよび前記第２近似暗号テキストを前記認証サーバに通信し、
前記リレーショナル線形暗号化スキームのリレーショナル線形キーおよび前記リレーショナル近似暗号化スキームのリレーショナル近似キーを前記認証サーバに通信し、
前記認証サーバから、前記リレーショナル線形キーを使用した前記第１線形暗号テキストと前記第２線形暗号テキストの間の線形関係、および前記リレーショナル近似キーを使用した前記第１近似暗号テキストと前記第２近似暗号テキストの間の近似を示す認証信号を受信する、方法。
【請求項１２】
前記第１平文テキストベクトルは、ユーザからの登録入力として受信された第１生体テンプレートを有し、
前記第２平文テキストベクトルは、ユーザから挑戦入力として受信された第２生体テンプレートを有し、
前記認証信号は、前記第２生体テンプレートが前記ユーザを起源とすることを示す、請求項１１に記載の方法。
【請求項１３】
さらに、前記リレーショナル線形暗号化スキームのキーを生成することを有し、
前記生成は、
前記安全パラメータ中の指数関数である素数の位数の３つの双一次グループを生成し、
前記３つの双一次グループの第１双一次グループの第１生成器をサンプリングし、
前記３つの双一次グループの第２双一次グループの第２生成器をサンプリングし、
ゼロから前記素数の位数より小さい整数までを含む整数セットから、特別な要素数をランダムにサンプリングすることにより、第１線形秘密キーを生成し、
前記整数セットから、前記特別な要素数をランダムにサンプリングすることにより、第２線形秘密キーを生成し、
前記第１生成器である要素、および前記第１線形秘密キーの対応する要素の累乗まで累乗された前記第１生成器である１つ以上の他の要素を有する第１線形公開キーを定義する、請求項１１に記載の方法。
【請求項１４】
前記第１平文テキストベクトルは、p-aryベクトルを有し、ゼロから前記ベース数より小さい数までの要素および前記特別な数のディメンジョンを有する第２フィールドのメンバであり、
前記３つの双一次グループは、前記安全パラメータ内の前記素数の位数の指数関数で、ベース数(p)の１つのモジュールに等しいように生成され、
前記第１公開キーは、ゼロを除去した前記整数セットのサブグループの任意の生成器である他の要素を有し、
前記第２線形公開キーは、前記任意の生成器である他の要素を有し、
前記リレーショナル線形暗号化スキームを使用した前記第１平文テキストベクトルの暗号化は、
前記整数セットからのランダム数のサンプリング、および
前記第１線形暗号テキストの作成を、有し、
前記第１線形暗号テキストは、
前記ランダム数の累乗まで累乗された前記第１生成器である第１要素、および
線形暗号化の累乗まで累乗された前記第１線形公開キーの対応する要素を有する１つ以上の他の要素を有し、
前記線形暗号化の累乗は、前記ランダム数と前記第１平文テキストベクトルの対応する要素の累乗まで累乗された前記任意の生成器の積を有する、請求項１３に記載の方法。
【請求項１５】
前記第１平文テキストベクトルは、ビットベクトルを有し、ゼロおよび１の要素および前記特別な数のディメンジョンを有する第１フィールドのメンバであり、
前記リレーショナル線形暗号化スキームを使用した前記暗号化は、
前記整数セットからのランダム数のサンプリング、および
前記第１線形暗号テキストの作成を有し、
前記第１線形暗号テキストは、
前記ランダム数の累乗まで累乗された前記第生成器である第１要素、および
線形暗号化累乗まで累乗された前記第１線形公開キーの対応する要素である１つ以上の他の要素を有し、
前記線形暗号化累乗は、前記ランダム数と前記第１平文テキストベクトルの対応する要素の累乗までの累乗された数の負数の積を有する、請求項１３に記載の方法。
【請求項１６】
さらに、安全パラメータのための前記リレーショナル近似暗号化スキームのキーを生成することを、有し、
前記生成は、
長さ、前記安全パラメータの同じ順番におけるランク、および選択された最小距離を有する線形エラー補正コード（ＥＣＣ）を選択し、
ＣＰＡ(chosen-plaintext attack)公開キーおよびＣＰＡ秘密キーを出力するＣＰＡ安全暗号化スキームのキー生成アルゴリズムを動作させ、
第１線形公開キー、第２線形公開キー、第１線形秘密キー、第２線形秘密キー、およびリレーショナル線形秘密キーを出力するリレーショナル線形キー生成アルゴリズムを動作させ、
ＥＣＣエンコードオペレータ、ＥＣＣデコードオペレータ、前記ＣＰＡ公開キー、および前記第１線形公開キーとして、第１近似公開キーを定義し、
前記ＥＣＣエンコードオペレータ、前記ＥＣＣデコードオペレータ、前記ＣＰＡ公開キー、および前記第２線形公開キーとして、第２近似公開キーを定義し、
前記ＣＰＡ秘密キーおよび前記第１線形秘密キーとして、第１近似秘密キーを定義し、
前記ＣＰＡ秘密キーおよび前記第２線形秘密キーとして、第２近似秘密キーを定義し、そして
前記ＣＰＡ秘密キーおよび前記リレーショナル線形秘密キーとして、近似リレーショナル秘密キーを定義する請求項１１に記載の方法。
【請求項１７】
前記リレーショナル近似暗号化スキームを使用した前記暗号化は、
ベース数および前記ＥＣＣのランクであるディメンジョンを有する第３フィールドから近似ランダム数をサンプリングし、
前記ＣＰＡ公開キーおよび前記第１平文テキストベクトルの和を入力として受信するＣＰＡ暗号化アルゴリズム、および入力として前記近似ランダム数を受信する前記ＥＣＣエンコードオペレータとして、第１近似暗号テキストの第１部分を定義し、
前記第１線形公開キーおよび前記近似ランダム数を入力として受信する第１線形暗号化アルゴリズムとして、前記第１近似暗号テキストの第２部分を定義する請求項１６に記載の方法。
【請求項１８】
さらに、前記リレーショナル線形暗号化スキームを使用した前記第１線形暗号テキストの復号化を有し、
前記復号化は、前記第１平文テキストベクトルの各要素について、
前記第１線形暗号テキスト内の対応する要素が、第１線形秘密キーの対応する要素までの累乗された前記第１線形暗号テキストの第１要素に等しいか決定し、
前記第１線形暗号テキスト内の対応する前記要素が、前記第１線形秘密キーの前記対応する要素だけ乗じられた負の数までの累乗された前記第１線形暗号テキストの前記第１要素に等しいか決定し、
前記第１線形暗号テキスト内の前記対応する要素が他の値に等しいか決定し、
前記第１線形暗号テキスト内の前記対応する要素が、前記第１線形秘密キーの前記対応する要素までの累乗された前記第１線形暗号テキストの第１要素に等しいことに応答して、前記第１平文テキストベクトルをゼロに設定し、
前記第１線形暗号テキスト内の前記対応する要素が、前記第１線形秘密キーの前記対応する要素だけ乗じられた負の数までの累乗された前記第１線形暗号テキストの前記第１要素に等しいことに応答して、前記第１平文テキストベクトルを１に設定し、
前記第１線形暗号テキスト内の前記対応する要素が、他の値に等しいことに応答して、エラーを返信する、請求項１１に記載の方法。
【請求項１９】
さらに、前記リレーショナル線形暗号化スキームを使用した前記第１線形暗号テキストの復号化を有し、
前記復号化は、前記第１平文テキストベクトルの各要素について、
前記第１線形暗号テキスト内の対応する要素が、前記特別な要素値までの累乗された前記任意の生成器と前記第１線形秘密キーの対応する要素の積までの累乗された前記第１線形暗号テキストの第１要素に等しいか決定し、
前記特別な値の存在に応答して、前記要素を前記特別な値に設定し、そして
前記特別な値が存在しないのに応答して、エラーを出力し、
前記特別な要素値は、前記リレーショナル線形暗号化スキームおよび第２フィールドのメンバの安全パラメータにおける多項式により、範囲が制限される、請求項１１に記載の方法。
【請求項２０】
さらに、前記リレーショナル近似暗号化スキームを使用した前記第１線形暗号テキストの復号化を有し、
前記復号化は、
ＣＰＡ秘密キーおよび前記第１近似暗号テキストの第１部分を入力として受信する選択された平文テキスト攻撃（ＣＰＡ）復号アルゴリズム、および
第１線形秘密キーおよび前記第１近似暗号テキストの第２部分を入力として受信する第１線形復号アルゴリズムの和をとして、前記第１平文テキストベクトルを作成することを有する、請求項１１に記載の方法。
【外国語明細書】
2015225343000001.pdf