JP6805584B2 - Relationship encryption - Google Patents

Relationship encryption Download PDF

Info

Publication number
JP6805584B2
JP6805584B2 JP2016134055A JP2016134055A JP6805584B2 JP 6805584 B2 JP6805584 B2 JP 6805584B2 JP 2016134055 A JP2016134055 A JP 2016134055A JP 2016134055 A JP2016134055 A JP 2016134055A JP 6805584 B2 JP6805584 B2 JP 6805584B2
Authority
JP
Japan
Prior art keywords
proximity
ciphertext
linear
linearity
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016134055A
Other languages
Japanese (ja)
Other versions
JP2017022704A (en
Inventor
良多 蒲刈
良多 蒲刈
武司 下山
武司 下山
津田 宏
宏 津田
義典 柳沼
義典 柳沼
マンダル・アブラディップ
ロイ・アーナブ
モンゴメリー・ハート
利幸 石黒
利幸 石黒
晃兵 重田
晃兵 重田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/797,025 external-priority patent/US9577831B2/en
Priority claimed from US15/040,950 external-priority patent/US9660991B2/en
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2017022704A publication Critical patent/JP2017022704A/en
Application granted granted Critical
Publication of JP6805584B2 publication Critical patent/JP6805584B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

[関連出願の参照]
本願は、米国特許出願第14/287,051号、2014年5月25日出願の一部継続出願である米国特許出願第14/797,025号、2015年7月10日出願の一部継続出願である。前記の出願の全内容は、参照により本願明細書に組み込まれる。
[Refer to related applications]
This application is a partial continuation of US Patent Application No. 14 / 287,051, a partial continuation of the May 25, 2014 application, US Patent Application No. 14 / 797,025, and a partial continuation of the July 10, 2015 application. It is an application. The entire contents of the above application are incorporated herein by reference.

本願明細書で議論される実施形態は、関係暗号化に関する。 The embodiments discussed herein relate to relational encryption.

ユーザ認証の形式は、生体認証を含み得る。生体認証は、通常、ユーザに対して一意であるユーザのバイオメトリック特徴を測定するステップを含む。測定されたバイオメトリック特徴、又はその表現は、次に、ユーザの同一性を認証する基礎として用いられる。バイオメトリック特徴は、ユーザの指紋、虹彩、静脈、DAN(deoxyribonucleic acid)のセクション、等生体認証は、パスワードを記憶している必要がなく、ユーザを認証することが可能であるという利点を有し得る。バイオメトリック特徴は不変であるので、生体認証システムにおいてプライバシが重要である。 The form of user authentication may include biometric authentication. Biometrics typically involves measuring a user's biometric characteristics that are unique to the user. The measured biometric features, or representations thereof, are then used as the basis for authenticating the user's identity. Biometric features include the user's fingerprint, iris, veins, section of DAN (deoxyribonucleic acid), etc. Biometrics has the advantage that it is possible to authenticate the user without having to remember the password. obtain. Privacy is important in biometric systems because the biometric features are immutable.

本願明細書で請求される主題は、上述のような欠点を解決する実施形態や上述のような環境でのみ機能する実施形態に限定されない。むしろ、この背景技術は、単に、本願明細書に記載される複数の実施形態が実施される技術分野の一例を説明するために提供される。 The subject matter claimed herein is not limited to embodiments that resolve the shortcomings described above or that function only in the environment described above. Rather, this background technique is provided solely to illustrate an example of a technical field in which the plurality of embodiments described herein are implemented.

一実施形態の一態様によると、関係暗号化を用いる近接性検証の方法は、セキュリティパラメータに関連するランダム化レベルに処理され且つ関係線形性暗号化方式を用いて暗号化された情報を表す線形性暗号文を受信するステップと、線形性関係秘密キーを用いて、前記線形性暗号文と登録線形性暗号文との間の線形性関係を決定するステップと、前記ランダム化レベルに処理され且つ関係近接性暗号化方式を用いて暗号化された前記情報を表す近接性暗号文を受信するステップと、近接性関係秘密キーを用いて、前記近接性暗号文と登録近接性暗号文との間の近接性関係を決定するステップと、前記セキュリティパラメータ、前記線形性関係、及び前記近接性関係に基づき、前記近接性暗号文と前記登録近接性暗号文との間の概算類似性を決定するステップと、ユーザ装置に割り当てられた第1の検証キーと前記複数の認証サーバのうちの1つに割り当てられた第2の検証キーとの組合せが、前記概算類似性を決定するステップの結果にアクセスすることを許す場合に、1又は複数の認証サーバから前記ユーザ装置へ、前記近接性暗号文と前記登録近接性暗号文との間の前記概算類似性が存在するか否かを示す認証信号を通信し、前記第1及び第2の検証キーの前記組合せが前記概算類似性を決定するステップの結果にアクセスすることを許さない場合に、前記認証信号が、前記近接性暗号文と前記登録近接性暗号文との間に前記概算類似性が存在することを示すか否かに拘わらず、前記ユーザ装置に前記認証信号を通信しないステップと、を有する。 According to one aspect of an embodiment, the proximity verification method using relational encryption is linear representing information that has been processed to a randomization level associated with security parameters and encrypted using relational linear cryptography. The step of receiving the sex cipher, the step of determining the linear relationship between the linear cipher and the registered linear cipher using the linear relationship secret key, and the process of processing to the randomization level and Between the step of receiving a proximity cipher representing the information encrypted using the relational proximity encryption method and the proximity cryptographic text and the registered proximity cipher using the proximity relational secret key. And the step of determining the approximate similarity between the proximity cipher and the registered proximity cipher based on the security parameters, the linearity, and the proximity relationship. And the combination of the first verification key assigned to the user device and the second verification key assigned to one of the plurality of authentication servers accesses the result of the step of determining the approximate similarity. When allowed to do so, one or more authentication servers send an authentication signal to the user device indicating whether or not the approximate similarity between the proximity cipher and the registered proximity cipher exists. If the authentication signal communicates and does not allow the combination of the first and second verification keys to access the result of the step of determining the approximate similarity, the authentication signal is the proximity cipher and the registered proximity. It has a step of not communicating the authentication signal to the user apparatus, whether or not it indicates that the approximate similarity exists with the sex cipher.

一実施形態の別の態様によると、方法は、医療及び生物学的情報を受信するステップと、平文ベクトルとしてランダム化レベルに前記医療及び生物学的情報を処理するステップであって、前記ランダム化レベルはセキュリティレベルに関連する、ステップと、を有する。方法は、前記平文ベクトルを表す線形性暗号文を生成するために、関係線形性暗号化方式を用いて前記平文ベクトルを暗号化するステップと、前記平文ベクトルを表す近接性暗号文を生成するために、関係近接性暗号化方式を用いて前記平文ベクトルを暗号化するステップと、前記線形性暗号文及び前記近接性暗号文を認証サーバに通信するステップと、を更に有する。方法は、関係線形性キーを用いて発見された線形性暗号文と登録線形性暗号文との間の線形性関係と、医療及び生物学的情報を表し且つ関係近接性キーを用いて検出された近接性暗号文と登録近接性暗号文との間の近接性と、を示すセキュリティレベルの認証信号を前記認証サーバから受信するステップを更に有しても良い。 According to another aspect of one embodiment, the method is a step of receiving medical and biological information and a step of processing the medical and biological information at a randomized level as a plaintext vector, said randomization. The level has steps and, which are related to the security level. The method is to encrypt the plaintext vector using a relational linear encryption method in order to generate a linear cipher that represents the plaintext vector, and to generate a proximity cipher that represents the plaintext vector. Further, the plaintext vector is encrypted by using the relational proximity encryption method, and the linear text and the proximity cipher are communicated with the authentication server. The method represents the linear relationship between the linear ciphertext and the registered linear ciphertext found using the relational linearity key and medical and biological information and is detected using the relational proximity key. It may further have a step of receiving a security level authentication signal indicating the proximity between the proximity ciphertext and the registered proximity ciphertext from the authentication server.

実施形態の目的及び利点が理解され、少なくとも特に特許請求の範囲で指摘された要素、特徴及び組合せを用いて達成されるだろう。 The objectives and advantages of the embodiments will be understood and will be achieved using at least the elements, features and combinations noted in the claims.

上述の全体的説明及び以下の詳細な説明の両方は、例示及び説明のためであり、特許請求の範囲を限定しないことが理解される。 It is understood that both the general description above and the detailed description below are for illustration and explanation purposes only and do not limit the scope of the claims.

例示的な実施形態は、添付の図面を用いて、更なる特異性及び詳細事項と共に記載され説明される。
例示的な動作環境のブロック図である。 例示的な生体認証環境のブロック図である。 生体認証の例示的な方法のフロー図である。 関係暗号化の例示的な方法のフロー図である。 関係暗号化の例示的な方法のフロー図である。 関係暗号化方式の線形性関係を発見する例示的な方法のフロー図である。 関係暗号化方式の近接性を検出する例示的な方法のフロー図である。 関係線形性暗号化方式のキー生成の例示的な方法のフロー図である。 関係線形性暗号化方式を用いる第1の平文ベクトルを暗号化する例示的な方法のフロー図である。 関係近接性暗号化方式のキー生成の例示的な方法のフロー図である。 関係近接性暗号化方式を用いる第1の平文ベクトルを暗号化する例示的な方法のフロー図である。 第1の線形性暗号文を復号化する例示的な方法のフロー図である。 第1の線形性暗号文を復号化する別の例示的な方法のフロー図である。 例示的な動作環境のブロック図である。 関係暗号化方式を用いる不均一分散データを暗号化する例示的な方法のフロー図である。 本願明細書に記載の少なくとも1つの実施形態に従って全て構成される、不均一分散データを処理する例示的な方法のフロー図である。 別の例示的な動作環境のブロック図である。 関係暗号化を用いる近接性検証の方法の第1の例を説明する図である。 関係暗号化を用いる近接性検証の方法の第2の例を説明する図である。 関係暗号化を用いる近接性検証の方法の第3の例を説明する図である。 関係暗号化を用いる近接性検証の方法の第4の例を説明する図である。 関係暗号化を用いる近接性検証の方法の第5の例を説明する図である。 アクセス制限テーブルの一例を示す。 関係暗号化を用いる近接性検証の方法の第6の例を説明する図である。 更に別の例示的な動作環境のブロック図である。 本願明細書に記載の少なくとも1つの実施形態により配置される更なる例示的な動作環境100のブロック図を示す。
Exemplary embodiments are described and described with reference to the accompanying drawings, along with additional specificity and details.
It is a block diagram of an exemplary operating environment. It is a block diagram of an exemplary biometric authentication environment. It is a flow chart of the exemplary method of biometric authentication. It is a flow diagram of an exemplary method of relational encryption. It is a flow diagram of an exemplary method of relational encryption. It is a flow diagram of an exemplary method for discovering a linear relationship of a relational encryption method. It is a flow chart of an exemplary method for detecting the proximity of a relational encryption method. It is a flow diagram of the example method of the key generation of the relational linearity encryption method. It is a flow diagram of an exemplary method of encrypting a first plaintext vector using a relational linearity encryption method. It is a flow chart of the example method of the key generation of the relational proximity encryption method. It is a flow chart of the exemplary method of encrypting the first plaintext vector using the relational proximity encryption method. It is a flow chart of the exemplary method of decrypting the first linear ciphertext. It is a flow chart of another exemplary method of decrypting the first linear ciphertext. It is a block diagram of an exemplary operating environment. It is a flow diagram of an exemplary method of encrypting non-uniformly distributed data using a relational encryption method. FIG. 5 is a flow chart of an exemplary method of processing non-uniformly distributed data, all configured according to at least one embodiment described herein. It is a block diagram of another exemplary operating environment. It is a figure explaining the 1st example of the proximity verification method using relational encryption. It is a figure explaining the 2nd example of the proximity verification method using relational encryption. It is a figure explaining the third example of the proximity verification method using relational encryption. It is a figure explaining the 4th example of the proximity verification method using relational encryption. It is a figure explaining the 5th example of the proximity verification method using relational encryption. An example of the access restriction table is shown. It is a figure explaining the sixth example of the proximity verification method using relational encryption. It is a block diagram of still another exemplary operating environment. A block diagram of a further exemplary operating environment 100 arranged by at least one embodiment described herein is shown.

生体認証の課題は、ユ―ザが認証の基礎として用いられるバイオメトリック特徴を変更できないことであり得る。例えば、ユーザは、ユーザの指紋又はユーザの虹彩パターンのようなユーザの1又は複数のユニークな特徴を表すバイオメトリックデータを含むバイオメトリックテンプレートを登録しても良い。バイオメトリックテンプレートが危険に晒される場合、ユーザは、バイオメトリックテンプレートにより表されるユニークな特徴を変更することができない。したがって、一旦、危険に晒されると、別のバイオメトリックテンプレートが登録されても良く、又は、別のバイオメトリック特徴のバイオメトリックテンプレートが登録されても良い。少なくともこの理由から、生体認証システムは、強力なプライバシ保証の利益を享受し得る。現実のバイオメトリックデータでは、バイオメトリックデータは、著しく不均一であり得る。 The challenge of biometrics may be that the user cannot change the biometric features used as the basis for authentication. For example, the user may register a biometric template containing biometric data representing one or more unique features of the user, such as the user's fingerprint or the user's iris pattern. If the biometric template is at risk, the user cannot change the unique features represented by the biometric template. Therefore, once at risk, another biometric template may be registered, or a biometric template of another biometric feature may be registered. At least for this reason, biometric systems can benefit from strong privacy guarantees. In real-life biometric data, the biometric data can be significantly non-uniform.

幾つかの生体認証システムでは、セキュアな生体認証システムを提供するために種々のアプローチが実施されてきた。例えば、幾つかの生体認証システムは、「特徴変換アプローチ」、「生体暗号システムアプローチ」、及び/又は「同形暗号化アプローチ」を実装する。しかしながら、これらのアプローチの各々は、少なくとも部分的には、バイオメトリックテンプレート、クライアント固有キー、公開キー、等のような各々が危険に晒され得る情報の通信を理由として、限られたプライバシ及びセキュリティしか提供しない。 In some biometric systems, various approaches have been implemented to provide a secure biometric system. For example, some biometric authentication systems implement a "feature conversion approach", a "biocryptographic system approach", and / or an "isomorphic cryptographic approach". However, each of these approaches has limited privacy and security, at least in part, due to the communication of information that could endanger each, such as biometric templates, client-specific keys, public keys, etc. Only provide.

したがって、本願明細書で議論する幾つかの実施形態は、プライバシ保護生体認証に関連する。プライバシ保護生体認証は、関係暗号化に基づいても良い。関係暗号化(又はリレーショナル暗号化)は、リレーショナルキーを用いた暗号化方法である。関係暗号化は、認証側(authenticator)に平文を復元させずに又は本物の暗号文との特定の関係を有する不正暗号文を生成させずに、認証側に暗号文の間の関係を発見させる。例えば、例示的な実施形態は、生体認証の方法を有する。方法は、登録入力を受信するステップを有しても良い。登録入力は、ユーザの第1のバイオメトリックテンプレートを有しても良い。第1のバイオメトリックテンプレートは、ユーザのバイオメトリック特徴のユニークな特徴を表しても良い。方法は、関係暗号化方式に従って、第1の線形性暗号文及び第1の近接性暗号文を生成するステップを有しても良い。方法は、第1の線形性暗号文及び第1の近接性暗号文を認証サーバに通信するステップを有しても良い。方法は、チャレンジ(challenge)入力を受信するステップを有しても良い。チャレンジ入力は、第2のバイオメトリックテンプレートを有しても良い。第2のバイオメトリックテンプレートは、ユーザのバイオメトリック特徴の1又は複数のユニークな特徴を表しても良い。方法は、関係暗号化方式に従って、第2の線形性暗号文及び第2の近接性暗号文を生成するステップを有しても良い。方法は、第2の線形性暗号文及び第2の近接性暗号文を認証サーバに通信するステップを有しても良い。認証サーバは、第1及び第2の線形性暗号文の間の線形性関係を発見し、第1及び第2の近接性暗号文の間の近接性を検出しても良い。方法は、認証サーバから、認証決定を示す信号を受信するステップを有しても良い。認証決定は、線形性関係及び/又は近接性の存在又は不存在に基づいても良い。 Therefore, some embodiments discussed herein relate to privacy-protected biometrics. Privacy-protected biometrics may be based on relationship encryption. Relational encryption (or relational encryption) is an encryption method using a relational key. Relationship encryption allows the authenticator to discover the relationship between ciphertexts without having the authenticator restore the plaintext or generate a fraudulent ciphertext that has a specific relationship with the real ciphertext. .. For example, an exemplary embodiment has a method of biometric authentication. The method may include a step of receiving a registration input. The registration input may have a user's first biometric template. The first biometric template may represent the unique features of the user's biometric features. The method may include steps to generate a first linear ciphertext and a first proximity ciphertext according to the relational encryption scheme. The method may include a step of communicating a first linear ciphertext and a first proximity ciphertext to an authentication server. The method may have a step of receiving a challenge input. The challenge input may have a second biometric template. The second biometric template may represent one or more unique features of the user's biometric features. The method may include steps to generate a second linear ciphertext and a second proximity ciphertext according to the relational encryption scheme. The method may include a step of communicating a second linear ciphertext and a second proximity ciphertext to the authentication server. The authentication server may discover the linear relationship between the first and second linear ciphertexts and detect the proximity between the first and second proximity ciphertexts. The method may include a step of receiving a signal indicating an authentication decision from the authentication server. The certification decision may be based on the presence or absence of linearity relationships and / or proximity.

幾つかの実施形態では、基礎データは、線形性又は近接性暗号文を生成する前に、先ず処理されても良い。例えば、基礎データは、基礎にある平文の中のランダム化レベルを提供し得る線形抽出器(linear extractor)を通されても良い。本開示の実施形態を、添付の図面を参照して以下に説明する。 In some embodiments, the underlying data may be processed first before generating the linear or proximity ciphertext. For example, the underlying data may be passed through a linear extractor that can provide a level of randomization within the underlying plaintext. Embodiments of the present disclosure will be described below with reference to the accompanying drawings.

図1は、本願明細書に記載の少なくとも1つの実施形態により配置される例示的な動作環境100のブロック図を示す。動作環境100では、関係暗号化が実行されても良い。関係暗号化は、第1のエンティティ152が、第2のエンティティ150により提供される2以上の暗号文の間の1又は複数の関係を決定できるようにする暗号プリミティブを有しても良い。特に、関係暗号化は、第1のエンティティ152に2以上の暗号文の間の線形性関係を発見させ、2以上の暗号文の間の近接性を検出させる。さらに、関係暗号化は、第1のエンティティ152に暗号文から平文を復元させ、又は特定の本物の暗号文との特定の関係を有する不正暗号文を構築させる。 FIG. 1 shows a block diagram of an exemplary operating environment 100 arranged according to at least one embodiment described herein. In the operating environment 100, relational encryption may be executed. The relational encryption may have a cryptographic primitive that allows the first entity 152 to determine one or more relationships between two or more ciphertexts provided by the second entity 150. In particular, relational encryption causes the first entity 152 to discover a linear relationship between two or more ciphertexts and detect the proximity between two or more ciphertexts. In addition, relational encryption causes a first entity 152 to recover plaintext from a ciphertext or to construct a fraudulent ciphertext that has a particular relationship with a particular real ciphertext.

関係暗号化は、種々の環境において実装されても良い。例えば、関係暗号化は、個人が彼らの位置を非公開に保ちたいと望む社会環境において実施されても良いが、半ば信頼できるサービスは、位置同士の近接性の検出を可能にし得る。さらに、関係暗号化は、画像比較環境において実施されても良い。近接性は、画像同士の類似性を決定するために、データベースからの画像の間で検出されても良い。画像のプライバシは維持されても良い。ユーザは、データベースにある画像に触れずに、関係暗号化を用いて画像を検索しても良い。さらに、関係暗号化は、私的データ記憶環境において実施されても良い。ユーザは、そのデータを暗号化し、暗号化データをデータベースに通信しても良い。分析(例えば、記憶、クラスタリング、等)は、暗号化データが解読されるリスクを伴わず、暗号化データに対して実行され得る。 Relationship encryption may be implemented in various environments. For example, relationship encryption may be performed in a social environment where individuals want to keep their location private, but semi-reliable services may allow detection of location-to-location proximity. Further, the relational encryption may be performed in the image comparison environment. Proximity may be detected between images from the database to determine the similarity between the images. The privacy of the image may be maintained. The user may search for the image using relational encryption without touching the image in the database. In addition, relational encryption may be performed in a private data storage environment. The user may encrypt the data and communicate the encrypted data to the database. Analysis (eg, storage, clustering, etc.) can be performed on the encrypted data without the risk of the encrypted data being decrypted.

例えば、第2のエンティティ150は、第1の平文ベクトル142A及び第2の平文ベクトル142B(通常、平文ベクトル142又は複数の平文ベクトル142)を受信しても良い。平文ベクトル142は、バイオメトリックテンプレート、位置情報、等のような任意のデータセットを有しても良い。第2のエンティティ150は、第1の平文ベクトル142Aの暗号化バージョンを有する第1の暗号文を第1のエンティティ152に通信しても良い。後に、第2のエンティティ150は、第2の平文ベクトル142Bの暗号化バージョンを有する第2の暗号文を第1のエンティティ152に通信しても良い。第1のエンティティ152は、第1の暗号文と第2の暗号文との間に線形性関係があるか否かを発見しても良く、第1の暗号文と第2の暗号文との間の近接性を検出しても良い。幾つかの実施形態では、近接性は、ハミング距離の観点であっても良い。 For example, the second entity 150 may receive the first plaintext vector 142A and the second plaintext vector 142B (usually the plaintext vector 142 or a plurality of plaintext vectors 142). The plaintext vector 142 may have arbitrary data sets such as biometric templates, location information, and so on. The second entity 150 may communicate a first ciphertext having an encrypted version of the first plaintext vector 142A to the first entity 152. Later, the second entity 150 may communicate a second ciphertext with an encrypted version of the second plaintext vector 142B to the first entity 152. The first entity 152 may discover whether or not there is a linear relationship between the first ciphertext and the second ciphertext, and the first ciphertext and the second ciphertext Proximity between them may be detected. In some embodiments, proximity may be in terms of Hamming distance.

しかしながら、関係暗号化は、第1のエンティティ152が、第1及び第2の暗号文から平文ベクトル142を構築することを許さない。さらに、関係暗号化は、第1のエンティティ152が、第1の暗号文及び/又は第2の暗号文と特定の線形性関係及び/又は特定の近接性を有する第3の暗号文を構築することを許さない。図1は、2つの平文ベクトル142と、したがって2つの暗号文と、を有する実施形態を示す。幾つかの実施形態では、2つより多い平文ベクトル142と、したがって2つより多い暗号文とが、動作環境100に含まれても良い。 However, relational encryption does not allow the first entity 152 to construct the plaintext vector 142 from the first and second ciphertexts. In addition, relational encryption causes the first entity 152 to construct a third ciphertext having a particular linear relationship and / or a particular proximity to the first ciphertext and / or the second ciphertext. I won't allow that. FIG. 1 shows an embodiment having two plaintext vectors 142 and thus two ciphertexts. In some embodiments, more than two plaintext vectors 142 and thus more than two ciphertexts may be included in the operating environment 100.

関係暗号化は、1又は複数の関係キーを有しても良い。関係キーは、公開及び/又は署名キーと同様であっても良く、第1のエンティティ152に提供され又はそれにより生成されても良い。関係キーは、暗号文の間の関係の決定を可能にし得るが、暗号文の復号化又は平文ベクトル142の復元を許さない。さらに、関係キーは、特定の暗号文との特定の関係を有する暗号文の構築を許さない。 The relationship encryption may have one or more relationship keys. The relationship key may be similar to the public and / or signature key and may be provided to or generated by the first entity 152. The relationship key may allow the determination of the relationship between the ciphertexts, but does not allow the decryption of the ciphertexts or the restoration of the plaintext vector 142. Moreover, the relationship key does not allow the construction of ciphertexts that have a particular relationship with a particular ciphertext.

幾つかの実施形態では、関係暗号化は、アルゴリズムのタプルを有する関係について、関係暗号化方式に従って定められても良い。アルゴリズムは、キー生成アルゴリズム、第1の暗号化アルゴリズム、第1の復号化アルゴリズム、第1の暗号化アルゴリズム、第2の復号化アルゴリズム、及び検証アルゴリズムを有しても良い。関係は、3つのセットの部分集合として定められても良い。さらに、関係及びアルゴリズムは、1又は複数の正確性条件を満たしても良い。例えば、関係は、以下の例示的な正確性条件を満たしても良い。 In some embodiments, the relational encryption may be defined according to the relational cryptography for the relations having tuples of the algorithm. The algorithm may include a key generation algorithm, a first encryption algorithm, a first decryption algorithm, a first encryption algorithm, a second decryption algorithm, and a verification algorithm. Relationships may be defined as subsets of three sets. In addition, the relationships and algorithms may satisfy one or more accuracy conditions. For example, the relationship may meet the following exemplary accuracy conditions.

R⊆XxYxZ
(pkx,skx,pky,sky,skR)←KeyGen(1λ
cx←EncX(pkx,x)
cy←EncY(pky,y)
b←Verify(skR,cx,cy,z)
b≒R(x,y,z)
正確性条件では、Rは関係を表す。演算子⊆は、部分集合演算子を表す。パラメータX、Y、Zはセットを表す。パラメータxは、第1の平文ベクトル142Aを表す。パラメータyは、第2の平文ベクトル142Bを表す。KeyGenは、キー生成アルゴリズムを表す。EncXは、第1の暗号化アルゴリズムを表す。EncYは、第2の暗号化アルゴリズムを表す。Verifyは、検証アルゴリズムを表す。演算子←は、出力演算子を表す。パラメータpkxは、第1の公開キーを表す。パラメータpkyは、第2の公開キーを表す。パラメータskxは、第1の秘密キーを表す。パラメータskyは、第2の秘密キーを表す。パラメータskRは、関係秘密キーを表す。パラメータcxは、第1の暗号文を表す。パラメータcyは、第2の暗号文を表す。パラメータbは、検証アルゴリズムによる出力を表す。パラメータλは、セキュリティパラメータを表す。パラメータzは、検証エンティティにより選択され得る特定の値を表す。演算子≒は、合致(congruency)演算子を表す。正確性条件では、検証アルゴリズムからの出力は、圧倒的な確率を有する関係と合致する。
R⊆XxYxZ
(Pkx, skx, pky, sky, skR) ← KeyGen (1 λ )
cx ← EncX (pkx, x)
cy ← EncY (pky, y)
b ← Verify (skR, cx, cy, z)
b≈R (x, y, z)
In the accuracy condition, R represents a relationship. The operator ⊆ represents a subset operator. The parameters X, Y, Z represent a set. The parameter x represents the first plaintext vector 142A. The parameter y represents the second plaintext vector 142B. KeyGen represents a key generation algorithm. EncX represents the first encryption algorithm. EncY represents a second encryption algorithm. Verify represents a verification algorithm. The operator ← represents an output operator. The parameter pkx represents the first public key. The parameter pky represents the second public key. The parameter skx represents the first private key. The parameter sky represents the second private key. The parameter skR represents the relational secret key. The parameter cx represents the first ciphertext. The parameter cy represents the second ciphertext. The parameter b represents the output by the verification algorithm. The parameter λ represents a security parameter. The parameter z represents a particular value that can be selected by the validation entity. The operator ≒ represents a congruency operator. In the accuracy condition, the output from the verification algorithm matches the relationship with overwhelming probability.

関係暗号化方式は、関係キーが、特定の暗号文との特定の関係を有する暗号文の構築を許さない、及び特定の暗号文からの平文ベクトル142Aの復元を許さない、という意味でセキュアであり得る。例えば、関係暗号化方式は、以下の式が保たれる場合にセキュアであり得る。
1)KeyGen(1λ)を行うアルゴリズムをKx(1λ)として、出力(pkx,skx,pky,sky,skR)及び出力(pkx,skx)を取り入れる。その結果、(Kx,EncX,DecX)はIND−CPAセキュアである。
2)KeyGen(1λ)を行うアルゴリズムをKy(1λ)として、出力(pkx,skx,pky,sky,skR)及び出力(pkx,skx)を取り入れる。その結果、(Ky,EncY,DecY)はIND−CPAセキュアである。
3)KeyGen(1λ)を行うアルゴリズムをKR(1λ)として、出力(pkx,skx,pky,sky,skR)及び出力(pkx,skx,skR)を取り入れる。その結果、EncX(pkx,・)及びEncY(pky,・)は、skRが分かる場合に、一方向性関数である。
The relational encryption method is secure in the sense that the relational key does not allow the construction of a ciphertext having a particular relationship with a particular ciphertext and the restoration of the plaintext vector 142A from a particular ciphertext. possible. For example, a relational encryption scheme can be secure if the following equations are preserved.
1) The algorithm for performing KeyGen (1 λ ) is Kx (1 λ ), and the output (pkx, skx, pky, sky, skR) and the output (pkx, skx) are taken in. As a result, (Kx, EncX, DecX) is IND-CPA secure.
2) Let the algorithm for performing KeyGen (1 λ ) be Ky (1 λ ), and take in the output (pkx, skx, pky, sky, skR) and the output (pkx, skx). As a result, (Ky, EncY, DecY) is IND-CPA secure.
3) The algorithm for performing KeyGen (1 λ ) is KR (1 λ ), and the output (pkx, skx, pky, sky, skR) and the output (pkx, skx, skR) are taken in. As a result, EncX (pkx, ·) and EncY (pky, ·) are one-way functions when skR is known.

上述の式では、pkx,skx,pky,sky,skR,KeyGen,EncX()及びEncY()は、上述の通りである。DecXは、第1の復号化アルゴリズムを表す。DecYは、第2の復号化アルゴリズムを表す。Kx()、Ky()、及びKR()は、上記の式において説明した通りである。記号「・」は任意の値を示す。用語「IND−CPA」は、indistinguishability under chosen−plaintext attackの略である。幾つかの他の実施形態では、(Ky,EncY,DecY)及び/又は(Kx,EncX,DecX)は、IND−CCA(indistinguishability under chosen ciphertext attack)(例えば、IND−CCA1又はIND−CCA2)又は任意の他の適切なセキュリティメトリックのような別の計算セキュリティメトリックに従ってセキュアであっても良い。 In the above equation, pkx, skx, pky, sky, skR, KeyGen, EncX () and EncY () are as described above. DecX represents the first decoding algorithm. DecY represents a second decoding algorithm. Kx (), Ky (), and KR () are as described in the above equation. The symbol "・" indicates an arbitrary value. The term "IND-CPA" is an abbreviation for indistinguishability under chosen-plaintext attack. In some other embodiments, (Ky, EncY, DecY) and / or (Kx, EncX, DecX) are IND-CCA (indistinguishability under chosen ciphertext attack) (eg, IND-CCA1 or IND-CCA2) or It may be secure according to another computational security metric like any other suitable security metric.

さらに、幾つかの実施形態では、関係暗号化方式は、関係線形性暗号化方式を有しても良い。関係線形性暗号化方式は、以下の例示的な線形性関係式に従って関係を定めても良い。 Further, in some embodiments, the relational encryption method may have a relational linearity encryption method. The relational linearity encryption method may determine the relation according to the following exemplary linearity relational expression.

R={(x,y,z)|x+y=z∧x,y,z∈F
線形性関係式では、R、x、y、及びzは、上述の通りである。演算子∈は、メンバーシップ演算子を表す。演算子|は、「〜の条件を満たす」(such that)演算子を表す。演算子∧は、論理結合演算子を表す。パラメータFはフィールドを表す。添え字nは、通常、フィールドの次元を表す。フィールドの次元は、本願明細書の別の場所で議論するようなキーのうちの1又は複数の長さを有しても良い。添え字pは、フィールドの基本数(base−number)を表す。例えば、F10 では、フィールドは、10の次元及び3の基本数を有する。3の基本数は、フィールドの各々の要素が0、1、又は2であることを示す。
R = {(x, y, z) | x + y = z∧x, y, z ∈ F n p }
In the linearity relational expression, R, x, y, and z are as described above. The operator ∈ represents a membership operator. The operator | represents a "satisfying the condition of" (such that) operator. The operator ∧ represents a logical join operator. Parameter F represents a field. The subscript n usually represents the dimension of the field. The dimension of the field may have one or more lengths of the keys as discussed elsewhere herein. The subscript p represents the base-number of the fields. For example, the F 10 3, field has a base number of dimensions and 3 of 10. A base number of 3 indicates that each element of the field is 0, 1, or 2.

さらに、幾つかの実施形態では、関係暗号化方式は、以下の例示的な近接性式に従って関係を定める関係近接性暗号化方式を有しても良い。 Further, in some embodiments, the relational encryption method may have a relational proximity encryption method that defines the relation according to the following exemplary proximity formula.

δ={(x,y)|dist(x,y)≦δ∧x,y∈F
近接性式では、R、x、∧、∈、及びyは、上述の通りである。パラメータδは、親密さ(closeness)を定める距離を表す。演算子distは、ハミング距離を表す。線形性関係式におけるように、パラメータFはフィールドを表す。しかしながら、近接性式におけるフィールドは、線形性関係式におけるフィールドとは異なる次元を有しても良い。近接性式におけるフィールドの次元は、線形誤り訂正符号に関連しても良い。
R δ = {(x, y) | dist (x, y) ≤ δ ∧ x, y ∈ F k p }
In the proximity equation, R, x, ∧, ∈, and y are as described above. The parameter δ represents a distance that determines intimacy. The operator dist represents the Hamming distance. Parameter F represents a field, as in the linearity relation. However, the field in the proximity equation may have a different dimension than the field in the linear relation equation. The dimension of the field in the proximity equation may be related to the linear error correction code.

本願明細書で議論する関係暗号化方式は、図1の動作環境100において実施されても良い。関係暗号化方式は、第2のエンティティ150が、暗号化情報を第1のエンティティ152へ通信することを可能にし、第1のエンティティ152が、暗号化情報の間の線形性関係を発見し及び/又は暗号化情報の間の近接性を決定することを可能にしても良い。 The relational encryption method discussed in the present specification may be implemented in the operating environment 100 of FIG. The relational encryption scheme allows the second entity 150 to communicate the cryptographic information to the first entity 152, and the first entity 152 discovers the linear relationship between the cryptographic information and / Or it may be possible to determine the proximity between the encrypted information.

動作環境100は、第2のエンティティ150に関連付けられるユーザ装置102と、第1のエンティティ152に関連付けられる認証サーバ140と、を有しても良い。ユーザ装置102及び認証サーバ140は、関係暗号化を実行するために、動作環境100の中に実装されても良い。 The operating environment 100 may have a user device 102 associated with the second entity 150 and an authentication server 140 associated with the first entity 152. The user apparatus 102 and the authentication server 140 may be implemented in the operating environment 100 in order to perform the relational encryption.

ユーザ装置102及び認証サーバ140は、概して、ネットワーク107を介する、関係暗号化に関連する情報及び/又はデータ(例えば、暗号文、キー、平文ベクトル142A、等)の生成及び通信を可能にする任意のコンピューティング装置を有しても良い。ユーザ装置102の幾つかの例は、携帯電話機、スキャニング装置、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セットトップボックス、又はコネクテッドデバイス(例えば、スマートウォッチ、スマート眼鏡、スマート歩数計、又は任意の他のコネクテッドデバイス)を有しても良い。認証サーバ140の幾つかの例は、ハードウェアサーバ又はサーバとして機能するよう構成される別のプロセッサに基づくコンピューティング装置を有しても良い。 The user apparatus 102 and the authentication server 140 generally allow the generation and communication of information and / or data related to relational encryption (eg, ciphertext, key, plaintext vector 142A, etc.) via network 107. You may have a computing device. Some examples of the user device 102 are mobile phones, scanning devices, smartphones, tablet computers, laptop computers, desktop computers, set-top boxes, or connected devices (eg, smart watches, smart glasses, smart pedometers, or any). It may have other connected devices). Some examples of the authentication server 140 may have a hardware server or a computing device based on another processor configured to act as a server.

ネットワーク107は、有線又は無線であっても良い。ネットワーク107は、スター構成、トークンリング構成若しくは他の構成を含む多数の構成を有しても良い。さらに、ネットワーク107は、LAN(local area network)、WAN(wide area network)(例えば、インターネット)、及び/又は複数の装置が通信できる他の相互接続されたデータ経路を有しても良い。幾つかの例では、ネットワーク107は、ピアツーピアネットワークを有しても良い。ネットワーク107は、種々の異なる通信プロトコルでデータを送信する通信ネットワークの一部に結合され又はそれを含んでも良い。幾つかの例では、ネットワーク107は、Bluetooth(登録商標)通信ネットワーク又はSMS(short messaging service)、MMS(multimedia messaging service)、HTTP(hypertext transfer protocol)、直接データ接続、WAP(wireless application protocol)、電子メール等を介することを含むデータを送信及び受信するセルラ通信ネットワークを有しても良い。 The network 107 may be wired or wireless. The network 107 may have a number of configurations, including star configurations, token ring configurations or other configurations. Further, the network 107 may have a LAN (local area network), a WAN (wide area network) (eg, the Internet), and / or other interconnected data paths through which a plurality of devices can communicate. In some examples, the network 107 may have a peer-to-peer network. The network 107 may be coupled to or include a portion of a communication network that transmits data in a variety of different communication protocols. In some examples, the network 107 is a Bluetooth® communication network or SMS (short messaging service), MMS (multimedia messaging service), HTTP (hypertext transfer protocol), direct data connection, WAP (wireless application protocol), It may have a cellular communication network that transmits and receives data including via e-mail and the like.

ユーザ装置102は、関係暗号化/復号化モジュール(enc/decモジュール)110、プロセッサ124A、メモリ122A、及び通信ユニット126Aを有しても良い。enc/decモジュール110、プロセッサ124A、メモリ122A、及び通信ユニット126Aは、バス120Aにより結合されても良い。認証サーバ140は、関係認証モジュール108、プロセッサ124B、メモリ122B、及び通信ユニット126Bを有しても良い。関係認証モジュール108、プロセッサ124B、メモリ122B、及び通信ユニット126Bは、バス120Bにより結合されても良い。 The user device 102 may include a related encryption / decryption module (enc / dec module) 110, a processor 124A, a memory 122A, and a communication unit 126A. The enc / dec module 110, the processor 124A, the memory 122A, and the communication unit 126A may be connected by the bus 120A. The authentication server 140 may include a related authentication module 108, a processor 124B, a memory 122B, and a communication unit 126B. The relationship authentication module 108, the processor 124B, the memory 122B, and the communication unit 126B may be connected by the bus 120B.

プロセッサ124A及び124Bは、本願明細書では概してプロセッサ124又は複数のプロセッサ124と表される。メモリ122A及び122Bは、本願明細書では概してメモリ122と表される。通信ユニット126A及び126Bは、本願明細書では概して通信ユニット126又は複数の通信ユニット126と表される。バス120A及び120Bは、本願明細書では概してバス120又は複数のバス120と表される。 Processors 124A and 124B are generally referred to herein as processor 124 or a plurality of processors 124. The memories 122A and 122B are generally referred to as memory 122 in the present specification. The communication units 126A and 126B are generally referred to herein as the communication unit 126 or the plurality of communication units 126. Buses 120A and 120B are generally referred to herein as bus 120 or a plurality of buses 120.

プロセッサ124は、計算及びプライバシ保護を実行するためのALU(arithmetic logic unit)、マイクロプロセッサ、汎用制御部、又は何らかの他のプロセッサ又はプロセッサアレイを有しても良い。プロセッサ124は、他のコンポーネント(例えば、108、110、122、及び126)との通信のためにバス120に結合されても良い。プロセッサ124は、概して、データ信号を処理し、CISC(complex instruction set computer)アーキテクチャ、RISC(reduced instruction set computer)アーキテクチャ、又は命令セットの組合せを実施するアーキテクチャを含む種々のコンピューティングアーキテクチャを有しても良い。図1では、ユーザ装置102及び認証サーバ140は、各々、信号プロセッサ124を有しても良い。しかしながら、ユーザ装置102及び/又は認証サーバ140は、複数のプロセッサを有しても良い。他のプロセッサ、オペレーティングシステム、及び物理構成も可能であり得る。 The processor 124 may have an ALU (arithmetic logic unit), a microprocessor, a general purpose controller, or any other processor or processor array for performing computation and privacy protection. Processor 124 may be coupled to bus 120 for communication with other components (eg 108, 110, 122, and 126). Processor 124 generally has a variety of computing architectures, including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture that implements a combination of instruction sets. Is also good. In FIG. 1, the user apparatus 102 and the authentication server 140 may each have a signal processor 124. However, the user device 102 and / or the authentication server 140 may have a plurality of processors. Other processors, operating systems, and physical configurations are also possible.

メモリ122は、プロセッサ124のうちの1又は複数により実行され得る命令及び/又はデータを格納するよう構成されても良い。メモリ122は、他のコンポーネントと通信するためにバス120に結合されても良い。命令及び/又はデータは、本願明細書に記載の技術又は方法を実行するコードを有しても良い。メモリ122は、DRAM素子、SRAM素子、フラッシュメモリ、又は何らかの他のメモリ素子を有しても良い。幾つかの実施形態では、メモリ122は、不揮発性メモリ、又はハードディスクドライブ、フロッピディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置又は従来知られているより永久的に情報を格納する特定の他の大容量記憶装置を含む同様の永久記憶装置及び媒体も有しても良い。 The memory 122 may be configured to store instructions and / or data that may be executed by one or more of the processors 124. The memory 122 may be coupled to the bus 120 to communicate with other components. The instructions and / or data may have code that performs the techniques or methods described herein. The memory 122 may include a DRAM element, a SRAM element, a flash memory, or some other memory element. In some embodiments, the memory 122 is a non-volatile memory or hard disk drive, floppy disk drive, CD-ROM device, DVD-ROM device, DVD-RAM device, DVD-RW device, flash memory device or conventionally known. You may also have similar permanent storage devices and media, including certain other mass storage devices that store information more permanently.

通信ユニット126は、データをユーザ装置102及び/又は認証サーバ140へ送信し及びそれらから受信するよう構成されても良い。通信ユニット126はバス120に結合されても良い。幾つかの実施形態では、通信ユニット126は、ネットワーク107への又は別の通信チャネルへの直接物理接続のためのポートを有しても良い。例えば、通信ユニット126は、USB(universal serial bus)、SD(standard definition)、CAT−5、又は図1の動作環境100のコンポーネントとの有線通信のための同様のポートを有しても良い。幾つかの実施形態では、通信ユニット126は、IEEE802.11、IEEE802.16、BLUETOOTH(登録商標)又は別の適切な無線通信方法を含む1又は複数の無線通信方法を用いて通信チャネルによりデータを交換する無線通信機を有する。 The communication unit 126 may be configured to transmit and / or receive data from the user equipment 102 and / or the authentication server 140. The communication unit 126 may be coupled to the bus 120. In some embodiments, the communication unit 126 may have a port for direct physical connection to network 107 or to another communication channel. For example, the communication unit 126 may have a similar port for wired communication with a USB (universal serial bus), SD (standard definition), CAT-5, or component of the operating environment 100 of FIG. In some embodiments, the communication unit 126 transmits data over a communication channel using one or more wireless communication methods, including IEEE 802.11, IEEE 802.16, Bluetooth® or another suitable wireless communication method. Have a wireless communicator to replace.

幾つかの実施形態では、通信ユニット126は、SMS、MMS、HTTP、直接データ接続、WAP、電子メール、又は別の適切な種類の電子通信を含むセルラ通信ネットワークを介してデータを送信及び受信するセルラ通信通信機を有する。幾つかの実施形態では、通信ユニット126は、有線ポート及び無線通信機を有する。通信ユニット126は、TCP/IP(transmission control protocol/internet protocol)、HTTP、HTTPセキュア(HTTPS)、及びSMTP(simple mail transfer protocol)を含む標準ネットワークプロトコルを用いてファイル及び/又は媒体オブジェクトの分配のためにネットワーク107への他の接続を提供しても良い。 In some embodiments, the communication unit 126 transmits and receives data over a cellular communication network that includes SMS, MMS, HTTP, direct data connection, WAP, email, or another suitable type of electronic communication. It has a cellular communication communication device. In some embodiments, the communication unit 126 has a wired port and a wireless communicator. The communication unit 126 uses standard network protocols including TCP / IP (transmission control protocol / internet protocol), HTTP, HTTP Secure (HTTPS), and SMTP (Simple Mail Transfer Protocol) to distribute files and / or media objects. Other connections to network 107 may be provided for this purpose.

enc/decモジュール110は、上述の関係暗号化方式のような又は上述の特徴のうちの1又は複数を有する、関係暗号化方式を設定するよう構成されても良い。enc/decモジュール110は、次に、平文ベクトル142を受信し、平文ベクトル142を暗号化し、ネットワーク107を介して認証サーバ140へ暗号文を通信しても良い。さらに、enc/decモジュール110は、平文ベクトル142のうちの1又は複数を構築するために、暗号文を復号化するよう構成されても良い。enc/decモジュール110が暗号化及び/又は復号化処理を実行するよう構成される実施形態では、enc/decモジュール110は、本願明細書で議論する暗号化/復号化アルゴリズム及び/又は暗号化/復号化キーを用いて、暗号化及び/又は復号化処理を実行しても良い。 The ench / dec module 110 may be configured to set a relational encryption scheme, such as the relational encryption scheme described above, or having one or more of the features described above. The ench / dec module 110 may then receive the plaintext vector 142, encrypt the plaintext vector 142, and communicate the ciphertext to the authentication server 140 via the network 107. Further, the enc / dec module 110 may be configured to decrypt the ciphertext in order to construct one or more of the plaintext vectors 142. In an embodiment in which the enc / dec module 110 is configured to perform an encryption and / or decryption process, the ench / dec module 110 is an encryption / decryption algorithm and / or an encryption / or encryption / decryption algorithm discussed herein. The decryption key may be used to perform encryption and / or decryption processing.

enc/decモジュール110が関係暗号化方式を設定するよう構成される実施形態では、enc/decモジュール110は、1又は複数の関係秘密キー及び/又は1又は複数の検証アルゴリズムを、認証サーバ140の関係認証モジュール108へ通信するよう構成されても良い。他の実施形態では、関係認証モジュール108は、関係秘密キー及び/又は検証アルゴリズムをローカルに生成しても良く、及び/又は関係秘密キー又は検証アルゴリズムを他のソースから得ても良い。 In an embodiment in which the ench / dec module 110 is configured to set the relational encryption scheme, the ench / dec module 110 applies one or more relational secret keys and / or one or more verification algorithms to the authentication server 140. It may be configured to communicate with the relational authentication module 108. In other embodiments, the relationship authentication module 108 may generate the relationship secret key and / or the verification algorithm locally, and / or may obtain the relationship secret key or verification algorithm from another source.

関係認証モジュール108は、暗号文、関係秘密キー、検証アルゴリズム、又はそれらの何らかの組み合わせを、enc/decモジュール110又は別のソースから受信するよう構成されても良い。関係認証モジュール108は、次に、暗号文の間の線形性関係を発見しても良く、及び/又は暗号文の間の近接性を検出しても良い。関係認証モジュール108は、関係秘密キー及び/又は検証アルゴリズムを用いて、暗号文の間の線形性関係を発見し及び近接性を検出しても良い。 The relational authentication module 108 may be configured to receive the ciphertext, the relational secret key, the verification algorithm, or any combination thereof from the enc / dec module 110 or another source. The relationship authentication module 108 may then discover the linear relationship between the ciphertexts and / or detect the proximity between the ciphertexts. The relationship authentication module 108 may use the relationship secret key and / or the verification algorithm to discover the linear relationship between the ciphertexts and detect the proximity.

図1の動作環境100では、enc/decモジュール110は、線形性暗号化/復号化モジュール112、近接性暗号化/復号化モジュール114、通信モジュール116、及び設定モジュール114を有しても良い。さらに、関係認証モジュール108は、サーバ通信モジュール134、線形性認証モジュール132、及び近接性認証モジュール128を有しても良い。幾つかの実施形態では、設定モジュール144、又は設定モジュール144に属する1又は複数の動作を実行するよう構成されるモジュールは、関係認証モジュール108に含まれても良い。 In the operating environment 100 of FIG. 1, the ench / dec module 110 may include a linear encryption / decryption module 112, a proximity encryption / decryption module 114, a communication module 116, and a setting module 114. Further, the relationship authentication module 108 may include the server communication module 134, the linearity authentication module 132, and the proximity authentication module 128. In some embodiments, the configuration module 144, or a module configured to perform one or more operations belonging to the configuration module 144, may be included in the relationship authentication module 108.

enc/decモジュール110、線形性暗号化/復号化モジュール112、近接性暗号化/復号化モジュール114、通信モジュール116、設定モジュール144、関係認証モジュール108、サーバ通信モジュール134、線形性認証モジュール132、及び近接性認証モジュール128は、集合的に、関係モジュールと表されても良い。関係モジュールのうちの1又は複数は、本願明細書に記載の1又は複数の動作を実行するよう構成される1又は複数のルーチンを含むソフトウェアとして実装されても良い。関係モジュールは、本願明細書に記載する機能を提供するためにプロセッサ124により実行可能な命令セットを有しても良い。幾つかの例では、関係モジュールは、メモリ122に格納され又は少なくとも一時的にそれにロードされても良く、プロセッサ124のうちの1又は複数によりアクセス可能又は実行可能であっても良い。関係モジュールのうちの1又は複数は、バス120のうちの1又は複数を介するプロセッサ124のうちの1又は複数との協働及び通信のために適用されても良い。 enc / dec module 110, linear encryption / decryption module 112, proximity encryption / decryption module 114, communication module 116, setting module 144, relationship authentication module 108, server communication module 134, linearity authentication module 132, And the proximity authentication module 128 may be collectively represented as a related module. One or more of the related modules may be implemented as software that includes one or more routines configured to perform one or more of the operations described herein. The relevant module may have an instruction set executable by processor 124 to provide the functionality described herein. In some examples, the relevant modules may be stored in memory 122 or at least temporarily loaded into it and may be accessible or executable by one or more of processors 124. One or more of the related modules may be applied for collaboration and communication with one or more of the processors 124 via one or more of the buses 120.

概して関係モジュールを参照すると、通信モジュール116及び/又はサーバ通信モジュール134は、それぞれ、enc/decモジュール110又は関係認証モジュール108、及びユーザ装置102若しくは認証サーバ140の他のコンポーネント(例えば、122、124、及び126)との間の通信を扱うよう構成されても良い。通信モジュール116及び/又はサーバ通信モジュール134は、通信ユニット126を介して、ユーザ装置102又は認証サーバ140へデータを送信し及びそれからデータを受信するよう構成されても良い。幾つかの例では、通信モジュール116及び/又はサーバ通信モジュール134は、通信ユニット126を介して、ユーザ装置102又は認証サーバ140からのデータを受信し及び/又は転送するために、他の関係モジュールと協働しても良い。 Generally referring to related modules, the communication module 116 and / or the server communication module 134 is an enc / dec module 110 or a related authentication module 108, and other components of the user device 102 or the authentication server 140 (eg, 122, 124, respectively). , And 126) may be configured to handle communication with. The communication module 116 and / or the server communication module 134 may be configured to transmit data to and receive data from the user device 102 or the authentication server 140 via the communication unit 126. In some examples, the communication module 116 and / or the server communication module 134 is another related module for receiving and / or transferring data from the user apparatus 102 or the authentication server 140 via the communication unit 126. You may collaborate with.

線形性暗号化/復号化モジュール112は、線形性暗号文を構築するために平文ベクトル142を暗号化することに関連する及び/又は線形性暗号文を復号化することに関連する1又は複数の動作を実行するよう構成されても良い。線形性認証モジュール132は、線形性暗号文に関連する1又は複数の動作を実行するよう構成されても良い。例えば、線形性認証モジュール132は、線形性暗号文のうちの2以上の間の線形性関係を発見するよう構成されても良い。 The linear encryption / decryption module 112 relates to encrypting the plaintext vector 142 to construct a linear ciphertext and / or one or more related to decrypting the linear ciphertext. It may be configured to perform the operation. The linearity authentication module 132 may be configured to perform one or more operations related to the linearity ciphertext. For example, the linearity authentication module 132 may be configured to discover a linearity relationship between two or more of the linearity ciphertexts.

線形性暗号化/復号化モジュール114は、近接性暗号文を構築するために平文ベクトル142を暗号化することに関連する及び/又は近接性暗号文を復号化することに関連する1又は複数の動作を実行するよう構成されても良い。近接性認証モジュール128は、近接性暗号文に関連する1又は複数の動作を実行するよう構成されても良い。例えば、近接性認証モジュール128は、近接性暗号文のうちの2以上の間の近接性を検出するよう構成されても良い。 The linear encryption / decryption module 114 relates to encrypting the plaintext vector 142 to construct the proximity ciphertext and / or one or more related to decrypting the proximity ciphertext. It may be configured to perform the operation. The proximity authentication module 128 may be configured to perform one or more operations related to the proximity ciphertext. For example, the proximity authentication module 128 may be configured to detect proximity between two or more of the proximity ciphertexts.

設定モジュール144は、1又は複数のキー(例えば、公開キー、秘密キー、関係秘密キー)及び/又は1又は複数のアルゴリズム(例えば、暗号化アルゴリズム、復号化アルゴリズム、及び検証アルゴリズム)を生成するよう構成されても良い。設定モジュール144は、次に、キー及びアルゴリズムのうちの1又は複数を、通信モジュール116及びサーバ通信モジュール134により関係認証モジュール108に、又は線形性暗号化/復号化モジュール112及び近接性暗号化/復号化モジュール114に、通信しても良い。 Configuration module 144 to generate one or more keys (eg, public key, private key, related secret key) and / or one or more algorithms (eg, encryption algorithm, decryption algorithm, and validation algorithm). It may be configured. The configuration module 144 then transfers one or more of the keys and algorithms to the relationship authentication module 108 by the communication module 116 and the server communication module 134, or to the linear encryption / decryption module 112 and proximity encryption /. You may communicate with the decoding module 114.

以下の段落で、関係線形性暗号化方式に続き、関係近接性暗号化方式が説明される。関係線形性暗号化方式は、ビットベクトルを参照して、次にp−aryベクトルを参照して、説明される。説明の各々において、設定モジュール144はキーを生成する。これは最初に説明される。キーを用いて、線形性暗号化/復号化モジュール112又は近接性暗号化/復号化モジュール114のうちの1つは、暗号化を実行する。これは、次に説明される。暗号文(例えば、線形性暗号文又は近接性暗号文)は、次に、線形性関係が発見され又は近接性が検出される、線形性認証モジュール132及び近接性認証モジュール128のうちの1つに通信されても良い。最後に、線形性暗号化/復号化モジュール112又は近接性暗号化/復号化モジュール114により実行され得る暗号文の復号化が説明される。 In the following paragraphs, the relational proximity encryption method is described following the relational linearity encryption method. The relational linearity encryption scheme is described with reference to the bit vector and then the p-ary vector. In each of the descriptions, the configuration module 144 generates a key. This will be explained first. Using the key, one of the linear encryption / decryption module 112 or the proximity encryption / decryption module 114 performs encryption. This will be explained next. The ciphertext (eg, linear or proximity ciphertext) is then one of linearity authentication module 132 and proximity authentication module 128 for which a linearity relationship is discovered or proximity is detected. May be communicated with. Finally, the decryption of the ciphertext that can be performed by the linear encryption / decryption module 112 or the proximity encryption / decryption module 114 is described.

<関係線形性暗号化方式>
暗号文の間の線形性関係を発見するステップに含まれる1又は複数の動作では、設定モジュール144は、平文ベクトル142及び/又は暗号文の要素の基本数に少なくとも部分的に基づき得るキーを出力しても良い。例えば、要素の基本数は、2(例えば、バイナリ又はビットベクトル)を有しても良い。したがって、平文ベクトル142及び暗号文は、0又は1を有する要素を含んでも良い。代替で、要素の基本数は、3(例えば、tri−ary又はベクトル)を有しても良い。したがって、平文ベクトル142及び暗号文は、0、1、又は2を有する要素を含んでも良い。概して、基本数は、変数「p」により表される(例えば、p−aryベクトル)。p−aryベクトルは、0、1、...、p−2、及びp−1を有し得る要素を含んでも良い。関係線形性暗号化方式は、平文ベクトル142及び/又は暗号文がビットベクトル又はp−aryベクトルであるか否かに基づき、僅かに異なる。先ず、ビットベクトルの関係線形性暗号化方式が議論され、次に、p−aryベクトルの関係線形性暗号化方式が続く。
<Relationship linearity encryption method>
In one or more actions involved in the step of discovering the linearity relationship between ciphertexts, the configuration module 144 outputs a key that can be at least partially based on the plaintext vector 142 and / or the basic number of ciphertext elements. You may. For example, the basic number of elements may have 2 (eg, binary or bit vector). Therefore, the plaintext vector 142 and the ciphertext may include elements having 0 or 1. Alternatively, the basic number of elements may have 3 (eg, tri-ary or vector). Therefore, the plaintext vector 142 and the ciphertext may include elements having 0, 1, or 2. In general, the base number is represented by the variable "p" (eg, a p-ary vector). The p-ary vectors are 0, 1, ... .. .. , P-2, and p-1 may be included. The relational linearity encryption scheme is slightly different based on whether the plaintext vector 142 and / or the ciphertext is a bit vector or a p-ary vector. First, the relational linear encryption method of the bit vector is discussed, and then the relational linear encryption method of the p-ary vector follows.

ビットベクトル及びp−aryベクトルの関係線形性暗号化方式では、設定モジュール144は、関係線形性暗号化方式のキーを生成するよう構成されても良い。図示の実施形態では、設定モジュール144は、第1の線形性秘密キー、第2の線形性秘密キー、第1の線形性公開キー、第2の線形性公開キー、及び線形性関係秘密キー(集合的に、「線形性キー」)を生成しても良い。線形性キーは、平文ベクトル142を暗号化するため、線形性暗号文を生成するため、線形性暗号文を復号化するため、及び線形性暗号文の間の線形性関係を発見するために用いられても良い。 In the relational linearity encryption method of bit vector and p-ary vector, the setting module 144 may be configured to generate the key of the relational linearity encryption method. In the illustrated embodiment, the configuration module 144 has a first linearity secret key, a second linearity secret key, a first linearity public key, a second linearity public key, and a linearity relationship secret key ( Collectively, a "linearity key") may be generated. The linearity key is used to encrypt the plaintext vector 142, to generate the linear ciphertext, to decrypt the linear ciphertext, and to discover the linearity relationship between the linear ciphertexts. May be done.

例えば、第1の線形性公開キーは、第1の平文ベクトル142Aを暗号化して第1の線形性暗号文を生成するために、線形性暗号化/復号化モジュール112により使用されても良い。第1の線形性暗号文は、通信モジュール116により認証サーバ140に通信されても良い。第1の線形性暗号文は、登録暗号文130として認証サーバ140に格納されても良い。第2の線形性公開キーは、第2の平文ベクトル142Bを暗号化して第2の線形性暗号文を生成するために、線形性暗号化/復号化モジュール112により使用されても良い。第2の線形性暗号文は、通信モジュール116により認証サーバ140に通信されても良い。線形性関係秘密キーは、認証サーバ140において、特に線形性認証モジュール132により、第2の線形性暗号文と第1の線形性暗号文との間の線形性関係を発見するために、使用されても良い。この線形性関係は、登録暗号文130として格納される。 For example, the first linearity public key may be used by the linear encryption / decryption module 112 to encrypt the first plaintext vector 142A to generate the first linear ciphertext. The first linear ciphertext may be communicated to the authentication server 140 by the communication module 116. The first linear ciphertext may be stored in the authentication server 140 as the registered ciphertext 130. The second linearity public key may be used by the linear encryption / decryption module 112 to encrypt the second plaintext vector 142B to generate a second linear ciphertext. The second linear ciphertext may be communicated to the authentication server 140 by the communication module 116. The linearity relationship secret key is used in the authentication server 140, especially by the linearity authentication module 132, to discover the linearity relationship between the second linear ciphertext and the first linear ciphertext. You may. This linearity relationship is stored as the registered ciphertext 130.

第1及び第2の線形性秘密キーは、線形性暗号化/復号化モジュール112により、線形性暗号文のうちの1又は複数を復号化するために使用されても良い。例えば、第1の線形性暗号文は、第1の秘密キーを用いて復号化されても良い。さらに、第1及び第2の線形性秘密キーは、設定モジュール144により、関係線形性キーを生成するために使用されても良い。線形性キー及び上述の動作の幾つかの追加の詳細事項は、ビットベクトルについて及びp−aryベクトルについて以下に提供される。 The first and second linearity secret keys may be used by the linear encryption / decryption module 112 to decrypt one or more of the linear ciphertexts. For example, the first linear ciphertext may be decrypted using the first private key. In addition, the first and second linearity secret keys may be used by the configuration module 144 to generate the relational linearity key. The linearity key and some additional details of the above behavior are provided below for bit vectors and for p-ary vectors.

<ビットベクトル関係線形性暗号化方式>
ビットベクトルが実装される実施形態では、線形性キーは、セキュリティパラメータのために生成されても良い。概して、本願明細書で用いられるセキュリティパラメータは、キー長を表しても良い。キーを生成するために、設定モジュール144は、3個の双線形素数位数群(bilinear groups of prime order)を生成しても良い。素数位数は、セキュリティパラメータにおける指数であっても良い。設定モジュール144は、3個の双線形群のうちの第1の双線形群の第1の生成元をサンプリングし、3個の双線形群のうちの第2の双線形群の第2の生成元をサンプリングしても良い。
<Bit vector relation linear encryption method>
In embodiments where bit vectors are implemented, linearity keys may be generated for security parameters. In general, the security parameters used herein may represent key lengths. To generate the key, the configuration module 144 may generate three bilinear groups of prime order. The prime order may be an exponent in the security parameter. The configuration module 144 samples the first generator of the first bilinear group of the three bilinear groups and the second generator of the second bilinear group of the three bilinear groups. The original may be sampled.

設定モジュール144は、整数の集合から特定数の要素をランダムにサンプリングすることにより、第1の線形性秘密キーを生成しても良い。整数の集合は、ゼロから、素数位数−1の値までを有しても良い。設定モジュール144は、整数の集合から特定数の要素をランダムにサンプリングすることにより、第2の線形性秘密キーを生成しても良い。 The configuration module 144 may generate a first linearity secret key by randomly sampling a specific number of elements from a set of integers. The set of integers may have values ranging from zero to prime order-1. The configuration module 144 may generate a second linearity secret key by randomly sampling a specific number of elements from a set of integers.

設定モジュール144は、第1の線形性公開キーを定めても良い。第1の線形性公開キーは、第1の生成元である要素を有しても良い。第1の線形性公開キーは、第1の線形性秘密キーの対応する要素により冪乗される第1の生成元を含む1又は複数の他の要素を更に有しても良い。幾つかの実施形態では、第1の生成元である要素は、第1の線形性公開キーの第1の要素であっても良い。これは、第1の線形性公開キーと第1の線形性秘密キーとの間の対応で説明できない。例えば、上述の及び他の実施形態では、第1の線形性公開キーの「第6の」要素(例えば、第1の要素を説明する)は、第1の線形性秘密キーの第5の要素により冪乗された第1の生成元を有しても良い。本願を通じて、要素間の対応について同様の慣例が実施されても良い。 The configuration module 144 may define a first linearity public key. The first linearity public key may have an element that is the first generator. The first linearity public key may further have one or more other elements, including a first generator that is raised by the corresponding element of the first linearity secret key. In some embodiments, the first generating element may be the first element of the first linearity public key. This cannot be explained by the correspondence between the first linearity public key and the first linearity secret key. For example, in the above and in other embodiments, the "sixth" element of the first linearity public key (eg, the first element is described) is the fifth element of the first linearity secret key. It may have a first generator raised to the power of. Throughout this application, similar conventions may be practiced for correspondence between elements.

設定モジュール144は、第2の線形性公開キーを定めても良い。第2の線形性公開キーは、第2の生成元である要素を有しても良い。第2の線形性公開キーは、第2の線形性秘密キーの対応する要素により冪乗される第2の生成元を含む1又は複数の他の要素を更に有しても良い。幾つかの実施形態では、第2の生成元である要素は、第2の線形性公開キーの第1の要素であっても良い。これは、第2の線形性公開キーと第2の線形性秘密キーとの間の対応において考慮されない。 The configuration module 144 may define a second linearity public key. The second linearity public key may have an element that is the second generator. The second linearity public key may further have one or more other elements, including a second generator that is raised by the corresponding element of the second linearity secret key. In some embodiments, the element that is the second generator may be the first element of the second linearity public key. This is not taken into account in the correspondence between the second linearity public key and the second linearity secret key.

設定モジュール144は、線形性関係秘密キーを定めても良い。線形性関係秘密キーの各々の要素は、第2の線形性秘密キーの対応する要素と第1の線形性秘密キーの対応する要素との和を有しても良い。例えば、線形性関係秘密キーの第5の要素は、第1の線形性秘密キーの第5の要素と第2の線形性秘密キーの第5の要素との和を有しても良い。 The setting module 144 may determine the linearity relation secret key. Each element of the linearity secret key may have the sum of the corresponding element of the second linearity secret key and the corresponding element of the first linearity secret key. For example, the fifth element of the linearity secret key may have the sum of the fifth element of the first linearity secret key and the fifth element of the second linearity secret key.

幾つかの実施形態では、線形性キーの生成は、以下の例示的な線形性ビットベクトルキー式に従っても良い。 In some embodiments, the linearity key generation may follow the following exemplary linearity bit vector key equation.

λが与えられると、qのG,G,Gを生成する

Figure 0006805584
When λ is given, to produce a G 1, G 2, G T of q
Figure 0006805584

線形性ビットベクトルキー式では、←及びλは、概して上述の通りである。さらに、線形性ビットベクトルキー式では、pkxlinは第1の線形性公開キーを表し、skxlinは第1の線形性秘密キーを表し、pkylinは第2の線形性公開キーを表し、skylinは第2の線形性秘密キーを表し、skRlinは関係線形性キーを表す。さらに、パラメータpkxlin、skxlin、pkylin、skylin、及びskRlinは、上述のキー生成アルゴリズム(KeyGen)の出力の少なくとも1つの線形性部分を表しても良い。 In the linearity bit vector key equation, ← and λ are generally as described above. Further, in the linearity bit vector key equation, pkxlin represents the first linearity public key, skxlin represents the first linearity secret key, pkylin represents the second linearity public key, and skylin represents the second linearity public key. Represents the linearity secret key of, and skRlin represents the relational linearity key. In addition, the parameters pkxlin, skxlin, pkylin, skylin, and skRlin may represent at least one linear portion of the output of the key generation algorithm (KeyGen) described above.

パラメータGは、第1の双線形群を表す。パラメータGは、第2の双線形群を表す。パラメータGは、第3の双線形群を表す。パラメータqは素数位数を表す。パラメータgは、第1の生成元及び第1の線形性公開キーの要素を表す。パラメータhは、第2の生成元及び第2の線形性公開キーの要素を表す。パラメータgは、第1の線形性公開キーの他の要素を表す。パラメータhは、第2の線形性公開キーの他の要素を表す。パラメータnは、特定数(例えば、特定の要素数)を表す。パラメータiは、インデックス変数を表す。線形性ビットベクトルキー式では、インデックス変数は、1から特定数までの範囲を有する。パラメータZは、0から、素数位数より1少ない数までの整数の集合を表す。パラメータaは、第1の線形性秘密キーの要素を表す。第1の線形性秘密キーの要素は、整数の集合のランダム値であっても良い。パラメータbは、第2の線形性秘密キーの要素を表す。第2の線形性秘密キーの要素は、整数の集合のランダム値であっても良い。演算子<>は、簡単な表記法を表す。例えば、<b i=1は、b,b,...,bを表す。 The parameter G 1 represents the first bilinear group. Parameter G 2 represents a second bilinear group. Parameter G T represents the third bilinear group. The parameter q represents a prime order. The parameter g 0 represents an element of the first generator and the first linearity public key. The parameter h 0 represents an element of the second generator and the second linearity public key. Parameters g i denotes the other elements of the first linearity public key. Parameter h i represents the other elements of the second linearity public key. The parameter n represents a specific number (for example, a specific number of elements). Parameter i represents an index variable. In the linearity bit vector key equation, the index variable has a range from 1 to a specific number. The parameter Z q represents a set of integers from 0 to a number one less than a prime order. The parameter ai represents an element of the first linearity secret key. The element of the first linearity secret key may be a random value of a set of integers. Parameters b i represents the elements of the second linearity private key. The element of the second linearity secret key may be a random value in a set of integers. The operator <> represents a simple notation. For example, <b i> n i = 1 is, b 1, b 2,. .. .. , B n .

線形性暗号化/復号化モジュール112は、平文ベクトル142を暗号化しても良い。線形性暗号化/復号化モジュール112は、平文ベクトル142を受信しても良い。追加又は代替で、通信モジュール116は、平文ベクトル142を受信し、平文ベクトル142を線形性暗号化/復号化モジュール112に通信しても良い。 The linear encryption / decryption module 112 may encrypt the plaintext vector 142. The linear encryption / decryption module 112 may receive the plaintext vector 142. In addition or alternatives, the communication module 116 may receive the plaintext vector 142 and communicate the plaintext vector 142 to the linear encryption / decryption module 112.

平文ベクトル142は、第1のフィールドのメンバを有しても良い。第1のフィールドは、0及び1の要素、及び特定数の次元を有しても良い。フィールドの要素は、要素の基本数により決定されても良い。例えば、ビットベクトルでは、第1のフィールドは、0及び1の要素を有しても良い。一方、p−aryベクトルでは、フィールドは、0、1、...、p−1の要素を有しても良い。 The plaintext vector 142 may have members of the first field. The first field may have elements 0 and 1 and a certain number of dimensions. The elements of the field may be determined by the basic number of elements. For example, in a bit vector, the first field may have elements 0 and 1. On the other hand, in the p-ary vector, the fields are 0, 1, ... .. .. , P-1 may be included.

線形性暗号化/復号化モジュール112は、整数の集合から乱数をサンプリングしても良い。線形性暗号化/復号化モジュール112は、次に、第1の線形性暗号文及び第2の線形性暗号文を構築しても良い。第1の線形性暗号文は、乱数により冪乗される第1の生成元である第1の要素を有しても良い。第1の線形性暗号文は、線形性暗号化指数により冪乗された第1の線形性公開キーの対応する要素を有する1又は複数の要素を更に有しても良い。第1の線形性暗号文の線形性暗号化指数は、乱数を−1で乗算し、第1の平文ベクトル142Aの対応する要素により冪乗したものを有しても良い。幾つかの実施形態では、第1の線形性暗号文の第1の要素は、対応では説明できない。 The linear encryption / decryption module 112 may sample random numbers from a set of integers. The linear encryption / decryption module 112 may then construct a first linear ciphertext and a second linear ciphertext. The first linear ciphertext may have a first element that is a first generator that is raised to a random number. The first linear ciphertext may further include one or more elements having the corresponding elements of the first linear public key raised to the power of the linear encryption index. The linear encryption exponent of the first linear ciphertext may have a random number multiplied by -1 and raised to the power of the corresponding element of the first plaintext vector 142A. In some embodiments, the first element of the first linear ciphertext cannot be explained in correspondence.

第2の線形性暗号文は、乱数により冪乗される第2の生成元である第1の要素を有しても良い。第2の線形性暗号文は、線形性暗号化指数により冪乗された第2の線形性公開キーの対応する要素を有する1又は複数の要素を更に有しても良い。第2の線形性暗号文の線形性暗号化指数は、乱数を−1で乗算し、第2の平文ベクトル142Bの対応する要素により冪乗したものを有しても良い。幾つかの実施形態では、第2の線形性暗号文の第1の要素は、対応では説明できない。 The second linear ciphertext may have a first element that is a second generator that is raised to a random number. The second linear ciphertext may further include one or more elements having the corresponding elements of the second linear public key raised to the power of the linear encryption index. The linear encryption exponent of the second linear ciphertext may have a random number multiplied by -1 and raised to the power of the corresponding element of the second plaintext vector 142B. In some embodiments, the first element of the second linear ciphertext cannot be explained in correspondence.

幾つかの実施形態では、線形性暗号化/復号化モジュール112は、以下の例示的な線形性ビットベクトル暗号化に従って、平文ベクトル142を暗号化しても良い。

Figure 0006805584
In some embodiments, the linear encryption / decryption module 112 may encrypt the plaintext vector 142 according to the following exemplary linear bit vector encryption.
Figure 0006805584

線形性ビットベクトル暗号化式では、<>、cx,cy,g,h,g,h,i,及びnは、上述の通りである。さらに、線形性ビットベクトル暗号化式では、パラメータcxは第1の暗号文を表し、パラメータcyは第2の暗号文を表す。パラメータm1は、第1の平文ベクトル142Aを表す。パラメータm1は、第1の平文ベクトル142Aの要素を表す。パラメータm2は、第2の平文ベクトル142Bを表す。パラメータm2は、第2の平文ベクトル142Bの要素を表す。パラメータFは第1のフィールドを表す。フィールドの隣にある添え字2は、第1のフィールドの基本数を表す。フィールドの隣にある添え字nは、第1のフィールドの次元を表す。 The linearity bit vector encryption formula, <>, cx, cy, g 0, h 0, g i, h i, i, and n are as described above. Further, in the linearity bit vector encryption formula, the parameter cx represents the first ciphertext and the parameter cy represents the second ciphertext. The parameter m1 represents the first plaintext vector 142A. The parameter m1 i represents an element of the first plaintext vector 142A. The parameter m2 represents the second plaintext vector 142B. The parameter m2 i represents an element of the second plaintext vector 142B. Parameter F represents the first field. The subscript 2 next to the field represents the basic number of the first field. The subscript n next to the field represents the dimension of the first field.

線形性ビットベクトル暗号化式は、上述の第1の暗号化アルゴリズム(EncX)及び第2の暗号化アルゴリズム(EncY)を定めても良い。例えば、第1の暗号化アルゴリズムは次のように定められても良い。第1の平文ベクトル142A及び第1の線形性公開キーが与えられると、第1の暗号化アルゴリズムは、乱数をサンプリングし、cx=g ,<g (―1)m1ir i=1のように第1の線形性暗号文を構築する。同様に、第2の暗号化アルゴリズムは次のように定められても良い。第1の平文ベクトル142A及び第2の線形性公開キーが与えられると、第2の暗号化アルゴリズムは、乱数をサンプリングし、cy=h ,<h (―1)m2ir i=1のように第2の線形性暗号文を構築する。 The linearity bit vector encryption formula may define the first encryption algorithm (EncX) and the second encryption algorithm (EncY) described above. For example, the first encryption algorithm may be defined as follows. When the first plaintext vector 142A and first linearity public key given, first encryption algorithm samples the random number, cx = g r 0, < g i (-1) m1ir> n i = as 1 constructing the first linearity ciphertext. Similarly, the second encryption algorithm may be defined as follows. When the first plaintext vector 142A and second linearity public key given, a second encryption algorithm samples the random number, cy = h r 0, < h i (-1) m2ir> n i = as 1 constructing the second linearity ciphertext.

第1の線形性暗号文及び第2の線形性暗号文は、線形性認証モジュール132に通信されても良い。追加又は代替で、第1の線形性暗号文及び第2の線形性暗号文は、ネットワーク107を介して、認証サーバに通信されても良い。サーバ通信モジュール134は、第1の線形性暗号文及び第2の線形性暗号文を受信し、第1の線形性暗号文及び第2の線形性暗号文を線形性認証モジュール132に通信しても良い。 The first linear ciphertext and the second linear ciphertext may be communicated to the linearity authentication module 132. In addition or alternatives, the first linear ciphertext and the second linear ciphertext may be communicated to the authentication server via network 107. The server communication module 134 receives the first linear ciphertext and the second linear ciphertext, and communicates the first linear ciphertext and the second linear ciphertext with the linearity authentication module 132. Is also good.

幾つかの実施形態では、第1の線形性暗号文は、第2の線形性暗号文の通信の前に、線形性認証モジュール132に通信されても良い。線形性認証モジュール132は、第1の線形性暗号文を登録暗号文130としてメモリ122Bに格納しても良い。第1の線形性暗号文を通信した後に、第2の線形性暗号文は、線形性認証モジュール132に通信されても良い。さらに、設定モジュール144は、関係線形性キーを線形性認証モジュール132に通信しても良い。 In some embodiments, the first linear ciphertext may be communicated to the linearity authentication module 132 prior to the communication of the second linear ciphertext. The linearity authentication module 132 may store the first linear ciphertext as the registered ciphertext 130 in the memory 122B. After communicating the first linear ciphertext, the second linear ciphertext may be communicated to the linearity authentication module 132. Further, the setting module 144 may communicate the relational linearity key to the linearity authentication module 132.

認証のために関係暗号化が用いられる幾つかの実施形態では、第1の線形性暗号文は、登録暗号文130として格納されても良い。登録暗号文130は、第2の線形性暗号文又は任意の他の後続の線形性暗号文との比較の基礎として用いられても良い。関係暗号化を実施する他の実施形態では、第1の線形性暗号文は、登録暗号文130として格納されなくても良い。例えば、第1の線形性暗号文及び第2の線形性暗号文は、それらを格納せずに分析しても良く、又は両者とも格納されても良い。 In some embodiments where relational encryption is used for authentication, the first linear ciphertext may be stored as registered ciphertext 130. The registered ciphertext 130 may be used as the basis for comparison with a second linear ciphertext or any other subsequent linear ciphertext. In other embodiments where the relational encryption is performed, the first linear ciphertext does not have to be stored as the registered ciphertext 130. For example, the first linear ciphertext and the second linear ciphertext may be analyzed without storing them, or both may be stored.

線形性認証モジュール132は、第1の線形性暗号文と第2の線形性暗号文との間の線形性関係を発見するよう構成されても良い。線形性関係を発見するために、線形性認証モジュール132は、特定ベクトルを定めても良い。特定ベクトルは、第1のフィールドのメンバであっても良い。線形性認証モジュール132により決定される認証問題は、特定ベクトルが第1の平文ベクトル142Aと第2の平文ベクトル142Bとの和であるかどうかを決定することであっても良い。 The linearity authentication module 132 may be configured to discover a linear relationship between a first linear ciphertext and a second linear ciphertext. In order to discover the linearity relationship, the linearity authentication module 132 may determine a specific vector. The specific vector may be a member of the first field. The authentication problem determined by the linearity authentication module 132 may be to determine whether the particular vector is the sum of the first plaintext vector 142A and the second plaintext vector 142B.

線形性認証モジュール132は、第1の線形性暗号文の第1の要素(例えば、乱数で冪乗された第1の生成元)及び線形性関係秘密キーで冪乗された第2の線形性暗号文の第1の要素(例えば、乱数で冪乗された第2の生成元)のペアリング関数として、第1の値を計算しても良い。 The linearity authentication module 132 has a first element of the first linearity ciphertext (eg, a first power raised by a random number) and a second linearity raised by a linearity relationship secret key. The first value may be calculated as a pairing function of the first element of the ciphertext (for example, a second power source raised to a power by a random number).

線形性認証モジュール132は、第1の線形性暗号文及び−1を特定ベクトルの対応する要素で冪乗したもので冪乗した第2の線形性暗号文の第2の線形性暗号文の中の対応する要素の各々のペアリング関数の結果として、第2の値も計算しても良い。 The linearity authentication module 132 is in the second linear ciphertext of the first linear ciphertext and the second linear ciphertext obtained by exponentiating -1 with the corresponding element of the specific vector. A second value may also be calculated as a result of the pairing function of each of the corresponding elements of.

線形性認証モジュール132は、第1の値が第2の値に等しいか否かを決定しても良い。第1の値が第2の値と等しいことに応答して、線形性認証モジュール132は、第1の線形性暗号文が第2の線形性暗号文及び定められたベクトルと線形関係にあると結論づけても良い。 The linearity authentication module 132 may determine whether the first value is equal to the second value. In response that the first value is equal to the second value, the linearity authentication module 132 states that the first linear ciphertext is in a linear relationship with the second linear ciphertext and the defined vector. You may conclude.

幾つかの実施形態では、線形性認証モジュール132は、以下の例示的な線形性ビットベクトル検証式に従って、第1の線形性暗号文と第2の線形性暗号文との間の線形性関係を発見する。

Figure 0006805584
In some embodiments, the linearity authentication module 132 establishes a linear relationship between the first linear ciphertext and the second linear ciphertext according to the following exemplary linearity bit vector validation equation. Discover.
Figure 0006805584

線形性ビットベクトル検証式では、<>、cx,cy,g,h,g,h,i,n,F,skR及びrは、上述の通りである。パラメータcxは、第1の線形性暗号文の第1の要素を表す。パラメータcyは、第2の線形性暗号文の第1の要素を表す。パラメータcxは、第1の線形性暗号文の他の要素を表す。パラメータcyは、第2の線形性暗号文の他の要素を表す。パラメータzは、特定ベクトルを表す。パラメータzは、特定ベクトルの要素を表す。演算子eは、ペアリング関数を表す。ペアリング関数は、双線形群に関連しても良い。演算子Πは、積演算子を表す。線形性ビットベクトル検証式は、上述の検証アルゴリズム(Verify)を定めても良い。例えば、検証アルゴリズムは、暗号文、特定ベクトル、及び関係線形性キーが与えられると、以下の等式をチェックするよう定められても良い。

Figure 0006805584
The linearity bit vector verification equation, <>, cx, cy, g 0, h 0, g i, h i, i, n, F, skR and r are as described above. The parameter cx 0 represents the first element of the first linear ciphertext. The parameter cy 0 represents the first element of the second linear ciphertext. The parameter cx i represents another element of the first linear ciphertext. The parameter cy i represents another element of the second linear ciphertext. The parameter z represents a specific vector. Parameter z i represents the elements of a particular vector. The operator e represents a pairing function. The pairing function may be associated with a bilinear group. The operator Π represents the product operator. The linearity bit vector verification formula may define the above-mentioned verification algorithm (Verify). For example, the validation algorithm may be defined to check the following equation given the ciphertext, specific vector, and relational linearity key.
Figure 0006805584

さらに、幾つかの実施形態では、線形性暗号化/復号化モジュール112は、第1の及び/又は第2の線形性暗号文を復号化しても良い。線形性暗号化/復号化モジュール112は、結果として生じる平文ベクトル142の各々の要素を、線形性暗号文の値に基づき、決定しても良い。例えば、値は、第1の線形性暗号文を復号化することにより構築される第1の平文ベクトル(例えば、第1の平文ベクトル142A)の各々の要素について決定されても良い。 Further, in some embodiments, the linear encryption / decryption module 112 may decrypt the first and / or second linear ciphertext. The linear encryption / decryption module 112 may determine each element of the resulting plaintext vector 142 based on the value of the linear ciphertext. For example, the value may be determined for each element of the first plaintext vector (eg, first plaintext vector 142A) constructed by decrypting the first linear ciphertext.

各々の要素について、線形性暗号化/復号化モジュール112は、(1)第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素により冪乗された第1の線形性暗号文の第1の要素に等しいか、(2)第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素で−1を乗算したものにより冪乗された、第1の線形性暗号文の第1の要素に等しいか、又は(3)第1の線形性暗号文の中の対応する要素が、別の値に等しいか、を決定しても良い。 For each element, the linear encryption / decryption module 112 (1) has the corresponding element in the first linear ciphertext multiplied by the corresponding element of the first linear secret key. Equal to the first element of the first linear ciphertext, or (2) the corresponding element in the first linear ciphertext is multiplied by -1 by the corresponding element of the first linearity secret key. Is it equal to the first element of the first linear ciphertext, or (3) the corresponding element in the first linear ciphertext is equal to another value? May be decided.

第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素により冪乗された第1の線形性暗号文の第1の要素に等しいことに応答して(例えば、直前の段落の(1))、線形性暗号化/復号化モジュール112は、第1の平文ベクトル142Aの要素を0(ゼロ)に設定しても良い。第1の線形性暗号文の中の対応する要素が、−1に第1の線形性秘密キーの対応する要素を乗算したものにより冪乗された第1の線形性暗号文の第1の要素に等しいことに応答して(例えば、直前の段落の(2))、線形性暗号化/復号化モジュール112は、第1の平文ベクトル142Aの要素を1に設定しても良い。第1の線形性暗号文の中の対応する要素が別の値に等しいことに応答して(例えば、直前の段落の(3))、線形性暗号化/復号化モジュール112は、エラーを返しても良い。第2の線形性暗号文は、第2の線形性秘密キー及び第2の線形性暗号文を用いて同様に復号化されても良い。 In response to the corresponding element in the first linear ciphertext being equal to the first element of the first linear ciphertext multiplied by the corresponding element of the first linearity secret key (For example, (1) in the immediately preceding paragraph), the linear encryption / decryption module 112 may set the element of the first plaintext vector 142A to 0 (zero). The first element of the first linear ciphertext whose corresponding element in the first linear ciphertext is multiplied by -1 and the corresponding element of the first linearity secret key. In response to (eg, (2) in the previous paragraph), the linear encryption / decryption module 112 may set the element of the first plaintext vector 142A to 1. In response that the corresponding element in the first linear ciphertext is equal to another value (eg, (3) in the previous paragraph), the linear encryption / decryption module 112 returns an error. You may. The second linear ciphertext may be similarly decrypted using the second linearity secret key and the second linearity ciphertext.

幾つかの実施形態では、線形性暗号化/復号化モジュール112は、以下の例示的な線形性ビットベクトル復号化式に従って、線形性暗号文を復号化しても良い。

Figure 0006805584
In some embodiments, the linear encryption / decryption module 112 may decrypt the linear ciphertext according to the following exemplary linear bit vector decoding formula.
Figure 0006805584

線形性ビットベクトル復号化式では、cx,cy,cx,cy,a,b,m1,及びm2は、上述の通りである。パラメータ⊥は、エラーを表す。 The linearity bit vector decoding formula, cx i, cy i, cx 0, cy 0, a i, b i, m1 i, and m @ 2 i are as described above. The parameter ⊥ represents an error.

線形性ビットベクトル復号化式は、上述の第1の復号化アルゴリズム(DecX)及び第2の復号化アルゴリズム(DecY)を定めても良い。例えば、第1の復号化アルゴリズムは次のように定められてもよい。第1の線形性暗号文及び第1の線形性秘密キーが与えられると、第1の復号化アルゴリズムは、次式に従って、ビット毎に、第1の平文ベクトル142を構築しても良い。

Figure 0006805584
The linearity bit vector decoding formula may define the first decoding algorithm (DecX) and the second decoding algorithm (DecY) described above. For example, the first decoding algorithm may be defined as follows. Given the first linear ciphertext and the first linearity secret key, the first decoding algorithm may construct the first plaintext vector 142 bit by bit according to the following equation.
Figure 0006805584

同様に、第2の復号化アルゴリズムは次のように定められても良い。第2の線形性暗号文及び第2の線形性秘密キーが与えられると、第2の復号化アルゴリズムは、次式に従って、ビット毎に、第2の平文ベクトル142Bを構築しても良い。

Figure 0006805584
Similarly, the second decoding algorithm may be defined as follows. Given the second linear ciphertext and the second linearity secret key, the second decoding algorithm may construct a second plaintext vector 142B bit by bit according to the following equation.
Figure 0006805584

<P−ARYベクトル関係線形性暗号化方式>
p−aryベクトルが実装される実施形態では(例えば、平文ベクトル142及び/又は暗号文がp−aryベクトルである)、線形性キーは、セキュリティパラメータについて生成されても良い。キーを生成するために、設定モジュール144は、3個の双線形素数位数群(group of prime order)を生成しても良い。素数位数は、セキュリティパラメータにおける指数であり、1を基本数(p)で割った余り(1 modulo p)に等しくても良い。したがって、これらの実施形態では、ゼロを削除された整数の集合の中に部分群が存在しても良い。部分群は、基本数の順序を有しても良い。設定モジュール144は、部分群の任意の生成元を選択しても良い。
<P-ARY vector relation linearity encryption method>
In embodiments where the p-ary vector is implemented (eg, the plaintext vector 142 and / or the ciphertext is the p-ary vector), the linearity key may be generated for the security parameter. To generate the key, the configuration module 144 may generate three groups of prime orders. The prime order is an exponent in the security parameter and may be equal to the remainder (1 modulo p) of 1 divided by the basic number (p). Therefore, in these embodiments, subgroups may be present in a set of zero-removed integers. Subgroups may have a basic number order. The setting module 144 may select an arbitrary generator of the subgroup.

設定モジュール144は、第1の生成元及び第2の生成元をサンプリングしても良い。第1の生成元は、第1の双線形群からサンプリングされても良く、第2の生成元は、第2の双線形群からサンプリングされても良い。第1の線形性秘密キー及び第2の線形性秘密キーは、ビットベクトルを実装する実施形態に関して上述したように生成されても良い。 The setting module 144 may sample the first generator and the second generator. The first generator may be sampled from the first bilinear group and the second generator may be sampled from the second bilinear group. The first linearity secret key and the second linearity secret key may be generated as described above for embodiments that implement the bit vector.

設定モジュール144は、第1の生成元である要素を含む第1の線形性公開キーを定めても良い。第1の線形性公開キーは、第1の線形性秘密キーの対応する要素により冪乗される第1の生成元を含む1又は複数の他の要素を更に有しても良い。さらに、第1の線形性公開キーの要素は、任意の生成元を有しても良い。幾つかの実施形態では、第1の線形性公開キーの第1の要素は、任意の生成元であっても良く、第1の線形性公開キーの第2の要素は、第1の生成元であっても良い。第2の線形性公開キーの第1及び第2の要素は、対応において考慮されない。 The configuration module 144 may define a first linearity public key that includes an element that is the first generator. The first linearity public key may further have one or more other elements, including a first generator that is raised by the corresponding element of the first linearity secret key. Further, the element of the first linearity public key may have an arbitrary generator. In some embodiments, the first element of the first linearity public key may be any generator, and the second element of the first linearity public key is the first generator. It may be. The first and second elements of the second linearity public key are not considered in the correspondence.

設定モジュール144は、第2の線形性公開キーを定めても良い。第2の線形性公開キーは、第2の生成元である要素を有しても良い。第2の線形性公開キーは、第2の線形性秘密キーの対応する要素により冪乗される第2の生成元を含み得る1又は複数の他の要素を更に有しても良い。さらに、第2の線形性公開キーの要素は、任意の生成元を有しても良い。幾つかの実施形態では、第2の線形性公開キーの第1の要素は、任意の生成元であっても良く、第2の線形性公開キーの第2の要素は、第2の生成元であっても良い。第2の線形性公開キーの第1及び第2の要素は、対応において考慮されない。 The configuration module 144 may define a second linearity public key. The second linearity public key may have an element that is the second generator. The second linearity public key may further have one or more other elements that may include a second generator that is raised by the corresponding element of the second linearity secret key. Further, the element of the second linearity public key may have an arbitrary generator. In some embodiments, the first element of the second linearity public key may be any generator, and the second element of the second linearity public key is the second generator. It may be. The first and second elements of the second linearity public key are not considered in the correspondence.

設定モジュール144は、線形性関係秘密キーを定めても良い。線形性関係秘密キーの各々の要素は、第2の線形性秘密キーの対応する要素と第1の線形性秘密キーの対応する要素との和を有しても良い。 The setting module 144 may determine the linearity relation secret key. Each element of the linearity secret key may have the sum of the corresponding element of the second linearity secret key and the corresponding element of the first linearity secret key.

幾つかの実施形態では、線形性キーの生成は、以下の例示的な線形性p−aryベクトルキー式に従っても良い。 In some embodiments, the generation of linearity keys may follow the following exemplary linearity p-ary vector key equation.

λが与えられると、λにおける指数であり1に等しいq(mod p)のG,G,Gを生成する

Figure 0006805584
When lambda is given, to produce a G 1, G 2, G T equal to 1 be exponential in λ q (mod p)
Figure 0006805584

線形性p−aryベクトルキー式では、<>,g,h,g,h,a,b,i,n,Z,F,skR,r,G,G,G,q,pkxlin,skxlin,pkylin,skylin,skRlin,←,及びλは、概して上述の通りである。パラメータpkxlin、skxlin、pkylin、skylin、及びskRlinは、上述のキー生成アルゴリズムの出力の少なくとも1つの線形性部分を表しても良い。 The linearity p-ary vector key expression, <>, g 0, h 0, g i, h i, a i, b i, i, n, Z, F, skR, r, G 1, G 2, G T , q, pkxlin, skxlin, pkylin, skylin, skRlin, ←, and λ are generally as described above. The parameters pkxlin, skxlin, pkylin, skylin, and skRlin may represent at least one linear part of the output of the key generation algorithm described above.

パラメータpは、基本数を表す。パラメータJは、次数pの部分群を表す。パラメータωは、任意の生成元を表す。演算子modは、モジュロ関数を表す。Zの隣にある「*」は、0(ゼロ)が整数の集合から削除されることを表す。 The parameter p represents a basic number. The parameter J p represents a subgroup of degree p. The parameter ω represents an arbitrary generator. The operator mod represents a modulo function. The "*" next to Z indicates that 0 (zero) is removed from the set of integers.

線形性暗号化/復号化モジュール112は、平文ベクトル142を受信しても良い。追加又は代替で、通信モジュール116は、平文ベクトル142を受信しても良く、平文ベクトル142を線形性暗号化/復号化モジュール112に通信しても良い。平文ベクトル142は、第2のフィールドのメンバを有しても良い。第2のフィールドは、0の値から基本数−1の値までを有する要素(例えば、0,1,...,p−1)を有しても良い。 The linear encryption / decryption module 112 may receive the plaintext vector 142. In addition or as an alternative, the communication module 116 may receive the plaintext vector 142 and may communicate the plaintext vector 142 with the linear encryption / decryption module 112. The plaintext vector 142 may have members of the second field. The second field may have elements (eg, 0, 1, ..., p-1) having a value from 0 to a value of the basic number -1.

線形性暗号化/復号化モジュール112は、整数の集合から乱数をサンプリングしても良い。線形性暗号化/復号化モジュール112は、次に、第1の線形性暗号文及び第2の線形性暗号文を構築しても良い。第1の線形性暗号文は、乱数により冪乗される第1の生成元である第1の要素を有しても良い。さらに、第1の線形性暗号文は、線形性暗号化指数により冪乗された第1の線形性公開キーの対応する要素を有する1又は複数の他の要素を有しても良い。第1の線形性暗号文の線形性暗号化指数は、乱数を任意の生成元で乗算し、第1の平文ベクトル142Aの対応する要素により冪乗したものを有しても良い。幾つかの実施形態では、第1の線形性暗号文の第1の要素は、対応において考慮されない。 The linear encryption / decryption module 112 may sample random numbers from a set of integers. The linear encryption / decryption module 112 may then construct a first linear ciphertext and a second linear ciphertext. The first linear ciphertext may have a first element that is a first generator that is raised to a random number. Further, the first linear ciphertext may have one or more other elements having the corresponding elements of the first linear public key raised to the power of the linear encryption index. The linear encryption exponent of the first linear ciphertext may have a random number multiplied by an arbitrary source and raised to the power of the corresponding element of the first plaintext vector 142A. In some embodiments, the first element of the first linear ciphertext is not considered in the correspondence.

第2の線形性暗号文は、乱数により冪乗される第2の生成元である第1の要素を有しても良い。さらに、第2の線形性暗号文は、線形性暗号化指数により冪乗された第2の線形性公開キーの対応する要素を有する1又は複数の他の要素を有しても良い。第2の線形性暗号文の線形性暗号化指数は、乱数を任意の生成元で乗算し、第2の平文ベクトル142Bの対応する要素により冪乗したものを有しても良い。幾つかの実施形態では、第2の線形性暗号文の第1の要素は、対応において考慮されない。 The second linear ciphertext may have a first element that is a second generator that is raised to a random number. Further, the second linear ciphertext may have one or more other elements having the corresponding elements of the second linear public key raised to the power of the linear encryption index. The linear encryption exponent of the second linear ciphertext may have a random number multiplied by an arbitrary source and raised to the power of the corresponding element of the second plaintext vector 142B. In some embodiments, the first element of the second linear ciphertext is not considered in the correspondence.

幾つかの実施形態では、線形性暗号化/復号化モジュール112は、以下の例示的な線形性p−aryベクトル復号化式に従って、平文ベクトル142を暗号化しても良い。

Figure 0006805584
In some embodiments, the linear encryption / decryption module 112 may encrypt the plaintext vector 142 according to the following exemplary linearity vector decryption equation.
Figure 0006805584

線形性p−aryベクトル暗号化式では、<>、m1,m1,m2,m2,cx,cy,g,h,g,h,i,及びnは、上述の通りである。パラメータFは第2のフィールドを表す。第2のフィールドの隣にある添え字pは、第2のフィールドの基本数を表す。第2のフィールドの隣にある添え字nは、第2のフィールドの次元を表す。第2のフィールドの次元は、特定数であっても良い。 The linearity p-ary vector encryption formula, <>, m1, m1 i , m2, m2 i, cx, cy, g 0, h 0, g i, h i, i, and n, are as described above is there. Parameter F represents the second field. The subscript p next to the second field represents the basic number of the second field. The subscript n next to the second field represents the dimension of the second field. The dimension of the second field may be a specific number.

線形性p−aryベクトル暗号化式は、上述の第1の暗号化アルゴリズム(EncX)及び第2の暗号化アルゴリズム(EncY)を定めても良い。例えば、第1の暗号化アルゴリズムは次のように定められてもよい。第1の平文ベクトル142A及び第1の線形性公開キーが与えられると、第1の暗号化アルゴリズムは、乱数をサンプリングし、次式のように第1の線形性暗号文を構築する。

Figure 0006805584
同様に、第2の暗号化アルゴリズムは次のように定められても良い。第1の平文ベクトル142A及び第2の線形性公開キーが与えられると、第2の暗号化アルゴリズムは、乱数をサンプリングし、次式のように第2の線形性暗号文を構築する。
Figure 0006805584
The linearity p-ary vector encryption formula may define the first encryption algorithm (EncX) and the second encryption algorithm (EncY) described above. For example, the first encryption algorithm may be defined as follows. Given the first plaintext vector 142A and the first linearity public key, the first encryption algorithm samples a random number and constructs the first linear ciphertext as in the following equation.
Figure 0006805584
Similarly, the second encryption algorithm may be defined as follows. Given the first plaintext vector 142A and the second linearity public key, the second encryption algorithm samples a random number and constructs a second linearity ciphertext as in the following equation.
Figure 0006805584

第1の線形性暗号文及び第2の線形性暗号文は、線形性認証モジュール132に通信されても良い。追加又は代替で、第1の線形性暗号文及び第2の線形性暗号文は、ネットワーク107を介して、認証サーバに通信されても良い。サーバ通信モジュール134は、第1の線形性暗号文及び第2の線形性暗号文を受信し、第1の線形性暗号文及び第2の線形性暗号文を線形性認証モジュール132に通信しても良い。 The first linear ciphertext and the second linear ciphertext may be communicated to the linearity authentication module 132. In addition or alternatives, the first linear ciphertext and the second linear ciphertext may be communicated to the authentication server via network 107. The server communication module 134 receives the first linear ciphertext and the second linear ciphertext, and communicates the first linear ciphertext and the second linear ciphertext with the linearity authentication module 132. Is also good.

線形性関係を発見するために、線形性認証モジュール132は、特定ベクトルを定めても良い。特定ベクトルは、第2のフィールドのメンバであっても良い。;特定ベクトルは、第1の平文ベクトル142Aと第2の平文ベクトル142Bとの和として定められても良い。線形性認証モジュール132は、第1の線形性暗号文の第1の要素(例えば、乱数により冪乗された第1の生成元)及び線形性関係秘密キーで冪乗された第2の線形性暗号文の第1の要素(例えば、乱数により冪乗された第2の生成元)のペアリング関数として、第1の値を計算しても良い。 In order to discover the linearity relationship, the linearity authentication module 132 may determine a specific vector. The specific vector may be a member of the second field. The specific vector may be defined as the sum of the first plaintext vector 142A and the second plaintext vector 142B. The linearity authentication module 132 has a first element of the first linearity ciphertext (eg, a first source raised by a random number) and a second linearity raised by a linearity relationship secret key. The first value may be calculated as a pairing function of the first element of the ciphertext (for example, a second power source raised to a power by a random number).

線形性認証モジュール132は、第1の線形性暗号文の各々の要素と、−1及び特定ベクトルの対応する要素の積により冪乗した任意の生成元で冪乗した第2の線形性暗号文の対応する要素と、のペアリング関数の結果として、第2の値も計算しても良い。 The linearity authentication module 132 is a second linear ciphertext raised to an arbitrary source raised by the product of each element of the first linear ciphertext and the corresponding elements of -1 and a particular vector. A second value may also be calculated as a result of the pairing function with the corresponding element of.

線形性認証モジュール132は、第1の値が第2の値に等しいか否かを決定しても良い。第1の値が第2の値と等しいことに応答して、線形性認証モジュール132は、第1の線形性暗号文が第2の線形性暗号文と線形関係にあると結論づけても良い。 The linearity authentication module 132 may determine whether the first value is equal to the second value. In response that the first value is equal to the second value, the linearity authentication module 132 may conclude that the first linear ciphertext is in a linear relationship with the second linear ciphertext.

幾つかの実施形態では、線形性認証モジュール132は、以下の例示的な線形性p−aryベクトル検証式に従って、第1の線形性暗号文と第2の線形性暗号文との間の線形性関係を発見する。

Figure 0006805584
In some embodiments, the linearity authentication module 132 follows the following exemplary linearity p-ary vector validation equation for the linearity between the first linear ciphertext and the second linear ciphertext. Discover relationships.
Figure 0006805584

線形性p−aryベクトル検証式では、パラメータ及び演算子は上述の通りである。 In the linearity p-ary vector verification formula, the parameters and operators are as described above.

線形性p−aryベクトル検証式は、上述の検証アルゴリズム(Verify)を定めても良い。例えば、検証アルゴリズムは、暗号文、特定ベクトル、及び関係線形性キーが与えられると、以下の等式をチェックするよう定められても良い。

Figure 0006805584
The linearity p-ary vector verification formula may define the above-mentioned verification algorithm (Verify). For example, the validation algorithm may be defined to check the following equation given the ciphertext, specific vector, and relational linearity key.
Figure 0006805584

さらに、幾つかの実施形態では、線形性暗号化/復号化モジュール112は、第1の及び/又は第2の線形性暗号文を復号化しても良い。線形性暗号化/復号化モジュール112は、結果として生じる平文ベクトル142の各々の要素を、線形性暗号文の値に基づき、決定しても良い。例えば、値は、第1の線形性暗号文を復号化することにより構築される第1の平文ベクトル(例えば、第1の平文ベクトル142A)の各々の要素について決定されても良い。 Further, in some embodiments, the linear encryption / decryption module 112 may decrypt the first and / or second linear ciphertext. The linear encryption / decryption module 112 may determine each element of the resulting plaintext vector 142 based on the value of the linear ciphertext. For example, the value may be determined for each element of the first plaintext vector (eg, first plaintext vector 142A) constructed by decrypting the first linear ciphertext.

暗号文を復号化するために、特定要素値が決定されても良い。特定要素値は、セキュリティパラメータにおいて多項式により結合されても良い。さらに、特定要素値は、基本数を含む要素を有するフィールドのメンバであっても良い。第1の平文ベクトル142Aの各々の要素について、線形性暗号化/復号化モジュール112は、第1の線形性暗号文の中の対応する要素が、特定要素値により冪乗された任意の生成元と第1の線形性秘密キーの対応する要素との積により冪乗された第1の線形性暗号文の第1の要素と等しくなるような、特定要素値が存在するか否かを決定しても良い。 A specific element value may be determined in order to decrypt the ciphertext. The specific element values may be connected by a polynomial in the security parameter. Further, the specific element value may be a member of a field having an element including a basic number. For each element of the first plaintext vector 142A, the linear encryption / decryption module 112 is an arbitrary source in which the corresponding element in the first linear ciphertext is raised to a power by a specific element value. Determines if there is a specific element value that is equal to the first element of the first linear ciphertext raised by the product of the first linearity secret key and the corresponding element. You may.

第1の線形性暗号文の中の対応する要素が、特定要素値により冪乗された任意の生成元と第1の線形性秘密キーの対応する要素との積により冪乗された第1の線形性暗号文の第1の要素と等しくなるような、特定要素値が存在することに応答して、線形性暗号化/復号化モジュール112は、要素を特定要素値に設定する。 The first linear ciphertext whose corresponding element is raised by the product of any source raised to the power of a particular element value and the corresponding element of the first linearity secret key. In response to the existence of a specific element value that is equal to the first element of the linear ciphertext, the linear encryption / decryption module 112 sets the element to the specific element value.

そのような特定要素値が存在しないことに応答して、線形性暗号化/復号化モジュール112は、エラーを出力しても良い。第2の線形性暗号文は、第2の線形性秘密キー及び第2の線形性暗号文を用いて同様に復号化されても良い。 In response to the absence of such a particular element value, the linear encryption / decryption module 112 may output an error. The second linear ciphertext may be similarly decrypted using the second linearity secret key and the second linearity ciphertext.

幾つかの実施形態では、線形性暗号化/復号化モジュール112は、以下の例示的な線形性p−aryベクトル復号化式に従って、線形性暗号文を復号化しても良い。

Figure 0006805584
In some embodiments, the linear encryption / decryption module 112 may decrypt the linear ciphertext according to the following exemplary linearity vector decoding formula.
Figure 0006805584

線形性p−aryベクトル復号化式では、cx,cy,cx,cy,a,b,m1,及びm2は、上述の通りである。パラメータ⊥は、エラーを表す。パラメータμは、特定要素値を表す。 The linearity p-ary vector decoding formula, cx i, cy i, cx 0, cy 0, a i, b i, m1 i, and m @ 2 i are as described above. The parameter ⊥ represents an error. The parameter μ represents a specific element value.

線形性p−aryベクトル復号化式は、上述の第1の復号化アルゴリズム(DecX)及び第2の復号化アルゴリズム(DecY)を定めても良い。例えば、第1の復号化アルゴリズムは次のように定められてもよい。第1の線形性暗号文及び第1の線形性秘密キーが与えられると、第1の復号化アルゴリズムは、次式に従って、ビット毎に、第1の平文ベクトル142Aを構築しても良い。

Figure 0006805584
The linearity p-ary vector decoding formula may define the first decoding algorithm (DecX) and the second decoding algorithm (DecY) described above. For example, the first decoding algorithm may be defined as follows. Given the first linear ciphertext and the first linearity secret key, the first decoding algorithm may construct the first plaintext vector 142A bit by bit according to the following equation.
Figure 0006805584

同様に、第2の復号化アルゴリズムは次のように定められても良い。第2の線形性暗号文及び第2の線形性秘密キーが与えられると、第2の復号化アルゴリズムは、次式に従って、ビット毎に、第2の平文ベクトル142Bを構築しても良い。

Figure 0006805584
Similarly, the second decoding algorithm may be defined as follows. Given the second linear ciphertext and the second linearity secret key, the second decoding algorithm may construct a second plaintext vector 142B bit by bit according to the following equation.
Figure 0006805584

<関係近接性暗号化方式>
関係近接性暗号化方式は、近接性暗号文の間の近さ(closeness)を決定するために用いられても良い。幾つかの実施形態では、近接性は、ハミング距離の観点で提供されても良い。関係近接性暗号化方式では、設定モジュール144は、キーを生成する。キーを用いて、近接性暗号化/復号化モジュール114は、平文ベクトル142の暗号化及び/又は復号化を実行する。近接性暗号文は、次に、近接性認証モジュール128に通信されても良い。近接性認証モジュール128では、近接性暗号文の間の近接性が検出されても良い。
<Relationship proximity encryption method>
The relational proximity encryption method may be used to determine the closeness between the proximity ciphertexts. In some embodiments, accessibility may be provided in terms of Hamming distance. In the relational proximity encryption scheme, the configuration module 144 generates a key. Using the key, the proximity encryption / decryption module 114 performs encryption and / or decryption of the plaintext vector 142. The proximity ciphertext may then be communicated to the proximity authentication module 128. The proximity authentication module 128 may detect proximity between proximity ciphertexts.

例えば、設定モジュール144は、CPA(chosen−plaintext attack)キー生成アルゴリズム及び線形性キー生成アルゴリズムの出力を生成しても良い。例えば、設定モジュール144は、本願明細書の別の場所に記載のように、線形性キーを起動(run)する。CPAキー生成アルゴリズムは、CPA公開キー及びCPA秘密キーを出力しても良い。線形性キー生成アルゴリズムは、上述のpkxlin,skxlin,pkylin,skylin,及びskRlinを出力しても良い。 For example, the configuration module 144 may generate output of a CPA (chosen-plaintext attack) key generation algorithm and a linearity key generation algorithm. For example, the configuration module 144 runs the linearity key, as described elsewhere herein. The CPA key generation algorithm may output a CPA public key and a CPA private key. The linearity key generation algorithm may output the above-mentioned pkxlin, skxlin, pkylin, skylin, and skRlin.

さらに、設定モジュール144は、誤り訂正符号(error correcting code:ECC)を選択しても良い。ECCは、線形誤り訂正符号方式であっても良い。ECCは、長さ、ランク、及び距離を有しても良い。さらに、ECCは、ECC符号化演算子(ENCODE)及びECC復号化演算子(DECODE)も有しても良い。設定モジュール144は、次に、第1の近接性秘密キー、第2の近接性秘密キー、第1の近接性公開キー、第2の近接性公開キー、及び近接性関係秘密キー(集合的に、「近接性キー」)を生成しても良い。近接性キーは、関係暗号化において、平文ベクトル142を暗号化して近接性暗号文を生成するため、近接性暗号文を復号化するため、及び近接性暗号文の間の近接性を検出するために使用される。 Further, the setting module 144 may select an error correcting code (ECC). ECC may be a linear error correction coding method. ECC may have length, rank, and distance. In addition, ECC may also have an ECC encoding operator (ENCODE) and an ECC decoding operator (DECODE). The configuration module 144 then comprises a first proximity secret key, a second proximity secret key, a first proximity public key, a second proximity public key, and a proximity relationship secret key (collectively). , "Accessibility key") may be generated. The proximity key is used in relational encryption to encrypt the plaintext vector 142 to generate the proximity ciphertext, to decrypt the proximity ciphertext, and to detect the proximity between the proximity ciphertexts. Used for.

第1の近接性秘密キーは、CPA秘密キー及び第1の線形性秘密キーに基づき定められても良い。第2の近接性秘密キーは、CPA秘密キー及び第2の線形性秘密キーに基づき定められても良い。第1の近接性公開キーは、ENCODE、DECODE、CPA公開キー及び第1の線形性公開キーに基づき定められても良い。第2の近接性公開キーは、ENCODE、DECODE、CPA公開キー及び第2の線形性公開キーに基づき定められても良い。近接性関係秘密キーは、CPA秘密キー及び線形性関係秘密キーに基づき定められても良い。 The first proximity secret key may be determined based on the CPA secret key and the first linearity secret key. The second proximity secret key may be determined based on the CPA secret key and the second linearity secret key. The first accessibility public key may be determined based on the ENCODE, DECODE, CPA public key and the first linearity public key. The second accessibility public key may be determined based on the ENCODE, DECODE, CPA public key and the second linearity public key. The proximity relationship secret key may be determined based on the CPA secret key and the linearity relationship secret key.

幾つかの実施形態では、設定モジュール144は、以下の例示的な近接性キー生成式に従って、近接性キーを生成しても良い。

Figure 0006805584
In some embodiments, the configuration module 144 may generate an accessibility key according to the following exemplary accessibility key generation equation.
Figure 0006805584

近接性キー生成式において、pkxlin,pkylin,skxlin,skylin,skRlin,←,X,m,及びnは上述の通りである。パラメータpkCPAは、CPA公開キーを表す。パラメータskCPAは、CPA秘密キーを表す。パラメータKeyGenCPAは、CPAキー生成アルゴリズムを表す。パラメータpkxproxは、第1の近接性公開キーを表す。パラメータpkyproxは、第2の近接性公開キーを表す。パラメータskxproxは、第1の近接性秘密キーを表す。パラメータskyproxは、第2の近接性秘密キーを表す。パラメータskRproxは、近接性関係秘密キーを表す。さらに、パラメータpkxprox、skxprox、pkyprox、skyprox、及びskRproxは、上述のキー生成アルゴリズム(KeyGen)の出力の少なくとも1つの近接性部分を表しても良い。パラメータXは線形抽出器(extractor)を表す。特定の反復が以上に説明されたが、任意の線形抽出器が使用されても良い。 In the proximity key generation formula, pkxlin, pkylin, skxlin, skylin, skRlin, ←, X, m, and n are as described above. The parameter pkCPA represents a CPA public key. The parameter skCPA represents the CPA private key. The parameter KeyGenCPA represents a CPA key generation algorithm. The parameter pkxprox represents the first accessibility public key. The parameter pkyprox represents a second accessibility public key. The parameter skxprox represents the first proximity secret key. The parameter skyprox represents a second proximity secret key. The parameter skRprox represents the proximity relationship secret key. In addition, the parameters pkxprox, skxprox, pkyprox, skyprox, and skRprox may represent at least one proximity portion of the output of the key generation algorithm (KeyGen) described above. The parameter X represents a linear extractor. Although the particular iterations have been described above, any linear extractor may be used.

第1の線形性公開キーは、第1の平文ベクトル142Aを暗号化して第1の近接性暗号文を生成するために、近接性暗号化/復号化モジュール114により使用されても良い。近接性暗号化/復号化モジュール114は、平文ベクトル142を受信しても良い。追加又は代替で、通信モジュール116は、平文ベクトル142を受信し、平文ベクトル142を近接性暗号化/復号化モジュール114に通信しても良い。平文ベクトル142は、第1又は第2のフィールドのメンバを有しても良い。 The first linearity public key may be used by the proximity encryption / decryption module 114 to encrypt the first plaintext vector 142A to generate the first proximity ciphertext. The proximity encryption / decryption module 114 may receive the plaintext vector 142. In addition or alternatives, the communication module 116 may receive the plaintext vector 142 and communicate the plaintext vector 142 with the proximity encryption / decryption module 114. The plaintext vector 142 may have members of the first or second field.

近接性暗号化/復号化モジュール114は、第3のフィールドから近接性乱数をサンプリングしても良い。第3のフィールドは、基本数と、ECCのランクであっても良い次元と、を有しても良い。近接性暗号化/復号化モジュール114は、次に、第1の近接性暗号文及び第2の近接性暗号文を構築しても良い。第1の近接性暗号文及び第2の近接性暗号文の各々は、2つの部分を有しても良い。第1の近接性暗号文の第1の部分は、CPA公開キーと第1の平文ベクトル142Aの和とを入力として受信するCPA暗号化アルゴリズム、及び近接性乱数を入力として受信するENCODEを有しても良い。第1の近接性暗号文の第2の部分は、第1の線形性公開キーと近接性乱数とを受信する第1の線形性暗号化アルゴリズムを有しても良い。 The proximity encryption / decryption module 114 may sample the proximity random number from the third field. The third field may have a base number and a dimension which may be the rank of ECC. The proximity encryption / decryption module 114 may then construct a first proximity ciphertext and a second proximity ciphertext. Each of the first proximity ciphertext and the second proximity ciphertext may have two parts. The first part of the first proximity ciphertext has a CPA encryption algorithm that receives the sum of the CPA public key and the first plaintext vector 142A as input, and ENCODE that receives the proximity random number as input. You may. The second part of the first proximity ciphertext may have a first linear encryption algorithm that receives a first linearity public key and a proximity random number.

第2の近接性暗号文の第1の部分は、CPA公開キーと第2の平文ベクトル142Bの和とを入力として受信するCPA暗号化アルゴリズム、及び近接性乱数を入力として受信するENCODEを有しても良い。第2の近接性暗号文の第2の部分は、第2の線形性公開キーと近接性乱数とを入力として受信する第2の線形性暗号化アルゴリズムを有しても良い。 The first part of the second proximity ciphertext has a CPA encryption algorithm that receives the sum of the CPA public key and the second plaintext vector 142B as input, and ENCODE that receives the proximity random number as input. You may. The second part of the second proximity ciphertext may have a second linearity encryption algorithm that receives a second linearity public key and a proximity random number as inputs.

幾つかの実施形態では、近接性暗号文は、以下の例示的な近接性暗号化式に従って生成されても良い。

Figure 0006805584
In some embodiments, the proximity ciphertext may be generated according to the following exemplary proximity encryption formula.
Figure 0006805584

近接性暗号化式において、ENCODE,m1,m2,pkcpa,pkxlin,及びpkylinは、上述の通りである。EncCPAは、CPA暗号化アルゴリズムを表す。パラメータcxp1は、第1の近接性暗号文の第1の部分を表す。パラメータcxp2は、第1の近接性暗号文の第2の部分を表す。パラメータcxpは、第1の近接性暗号文を表す。パラメータcyp1は、第2の近接性暗号文の第1の部分を表す。パラメータcyp2は、第2の近接性暗号文の第2の部分を表す。パラメータcypは、第2の近接性暗号文を表す。パラメータEncXLinearは、第1の線形性暗号化アルゴリズムを表す。パラメータEncYLinearは、第2の線形性暗号化アルゴリズムを表す。 In the proximity encryption formula, ENCODE, m1, m2, pkcpa, pkxlin, and pkylin are as described above. EncCPA represents a CPA encryption algorithm. The parameter cxp1 represents the first part of the first proximity ciphertext. The parameter cxp2 represents the second part of the first proximity ciphertext. The parameter cxp represents the first proximity ciphertext. The parameter cyp1 represents the first part of the second proximity ciphertext. The parameter cyp2 represents the second part of the second proximity ciphertext. The parameter cyp represents a second proximity ciphertext. The parameter EncXLinear represents a first linear encryption algorithm. The parameter EncYLinear represents a second linear encryption algorithm.

第1の近接性暗号文は、通信モジュール116により認証サーバ140に通信されても良い。第1の近接性暗号文は、登録暗号文130として認証サーバ140に格納されても良い。第2の近接性公開キーは、第2の平文ベクトル142Bを暗号化して第2の近接性暗号文を生成するために、近接性暗号化/復号化モジュール114により使用されても良い。第2の近接性暗号文は、通信モジュール116により認証サーバ140に通信されても良い。近接性関係秘密キーは、認証サーバ140において、特に近接性認証モジュール128により、第2の近接性暗号文と第1の近接性暗号文との間の近接性を検出するために、使用されても良い。この近接性は、登録暗号文130として格納される。 The first proximity ciphertext may be communicated to the authentication server 140 by the communication module 116. The first proximity ciphertext may be stored in the authentication server 140 as the registered ciphertext 130. The second proximity public key may be used by the proximity encryption / decryption module 114 to encrypt the second plaintext vector 142B to generate a second proximity ciphertext. The second proximity ciphertext may be communicated to the authentication server 140 by the communication module 116. The proximity relationship secret key is used in the authentication server 140, especially by the proximity authentication module 128, to detect the proximity between the second proximity ciphertext and the first proximity ciphertext. Is also good. This proximity is stored as the registered ciphertext 130.

近接性認証モジュール128は、第1の近接性暗号文と第2の近接性暗号文との間の近接性を検出するよう構成されても良い。近接性を検出するために、近接性認証モジュール128は、公開キー情報で利用可能なDECODEにアクセスしても良い。近接性認証モジュール128は、第1の近接性暗号文のランダム性の和(randomness sum)を復元しても良い。第1の近接性暗号文のランダム性の和は、DECODEとして定められても良い。DECODEは、CPA秘密キーと第1の近接性暗号文の第1の部分の和とを入力として受信するCPA復号化アルゴリズムと、CPA秘密キーと第2の近接性暗号文の第1の部分とを入力として受信するCPA復号化アルゴリズムと、を入力として受信する。 The proximity authentication module 128 may be configured to detect the proximity between the first proximity ciphertext and the second proximity ciphertext. To detect the proximity, the proximity authentication module 128 may access the DECODE available in the public key information. The proximity authentication module 128 may restore the randomness sum of the first proximity ciphertext. The sum of the randomness of the first proximity ciphertext may be defined as DECODE. DECODE is a CPA decoding algorithm that receives the sum of the CPA secret key and the first part of the first proximity ciphertext as input, and the CPA secret key and the first part of the second proximity ciphertext. Is received as an input with a CPA decoding algorithm.

DECODEがエラーを返す場合、近接性認証モジュール128は、拒否を返しても良い。さらに、近接性認証モジュール128は、線形性検証アルゴリズムを出力しても良い。線形性検証アルゴリズムは、線形性関係秘密キー、第2の近接性暗号文の第1の部分、第2の近接性暗号文の第2の部分、及びランダム性の和を入力として受信する。 If DECODE returns an error, the proximity authentication module 128 may return a denial. Further, the proximity authentication module 128 may output a linearity verification algorithm. The linearity verification algorithm receives the linearity relation secret key, the first part of the second proximity ciphertext, the second part of the second proximity ciphertext, and the sum of the randomness as inputs.

したがって、近接性検証アルゴリズムは、第1の近接性暗号文、第2の近接性暗号文、及び近接性秘密キーを受信するよう定められても良い。近接性検証アルゴリズムは、ランダム性の和を復元し、拒否又は線形性検証アルゴリズムを出力しても良い。線形性検証アルゴリズムは、線形性関係秘密キー、第2の近接性暗号文の第1の部分、第2の近接性暗号文の第2の部分、及びランダム性の和を入力として受信する。例えば、近接性認証モジュール128は、以下の例示的な近接性検証アルゴリズムに従って、もう1度、演算を実行しても良い。

Figure 0006805584
Therefore, the proximity verification algorithm may be defined to receive the first proximity ciphertext, the second accessibility ciphertext, and the accessibility secret key. The proximity verification algorithm may restore the sum of randomness and output a rejection or linearity verification algorithm. The linearity verification algorithm receives the linearity relation secret key, the first part of the second proximity ciphertext, the second part of the second proximity ciphertext, and the sum of the randomness as inputs. For example, the proximity authentication module 128 may perform the operation again according to the following exemplary proximity verification algorithm.
Figure 0006805584

近接性検証アルゴリズムにおいて、skcpa,cx1,cx2,cy1,cy2,⊥,skRlin,X,及びDECODEは、上述の通りである。パラメータOutputは、近接性認証モジュール128の出力を示す。パラメータZrsは、ランダム性の和を表す。DecCPAは、CPA復号化アルゴリズムを表す。VerifyLinearは、線形性検証アルゴリズムを表す。 In the proximity verification algorithm, skcpa, cx1, cx2, cy1, cy2, ⊥, skRlin, X, and DECODE are as described above. The parameter Output indicates the output of the proximity authentication module 128. The parameter Z rs represents the sum of randomness. DecCPA represents a CPA decoding algorithm. VerifyLinear represents a linearity verification algorithm.

本願明細書に記載の関係近接性暗号化方式は、以下の条件が真である場合にセキュアであり得る。ECCは、(n,k,2δ)線形誤り訂正方式である;(KeyGenCPA,EncCPA,DecCPA)は、IND−CPAセキュア暗号化方式である;(KeyGenLinear,EncXLinear,DecXLinear,EncYLinear,DecYLinear,VerifyLinear)は、F における線形性の関係暗号化方式である。 The relational proximity encryption scheme described herein can be secure if the following conditions are true: ECC is a (n, k, 2δ) linear error correction method; (KeyGenCPA, EncCPA, DecCPA) is an IND-CPA secure encryption method; (KeyGenLinear, EncXLinear, DecXLinear, EncYLinear, DecYLinear, DecYLinear) , F k 2 is a linear relational encryption method.

条件の中で、KeyGenCPA,EncCPA,DecCPA,KeyGenLinear,EncXLinear,DecXLinear,EncYLinear,DecYLinear,VerifyLinear,及びFは、上述の通りである。ECCはECCを表す。パラメータnは長さを表し、kはランクを表し、2δは距離を表す。 Among the conditions, KeyGenCPA, EncCPA, DecCPA, KeyGenLinear, EncXLinear, DecXLinear, EncYLinear, DecYLinear, VerifyLinear, and F are as described above. ECC stands for ECC. The parameter n represents the length, k represents the rank, and 2δ represents the distance.

図2は、本願明細書に記載の少なくとも1つの実施形態に従って構成される生体認証システム(バイオメトリックシステム)200のブロック図を示す。生体認証システム200は、認証サービスが提供される図1の例示的な動作環境100に含まれ又はそれを含んでも良い。生体認証システム200では、ユーザ206の認証は、認証サーバ140により実行されても良い。生体認証システム200では、図1を参照して議論した関係暗号化は、ユーザ206の同一性を認証するために用いられても良い。 FIG. 2 shows a block diagram of a biometric authentication system (biometric system) 200 configured according to at least one embodiment described herein. The biometric authentication system 200 is included in or may be included in the exemplary operating environment 100 of FIG. 1 in which the authentication service is provided. In the biometric authentication system 200, the authentication of the user 206 may be executed by the authentication server 140. In the biometric authentication system 200, the relationship encryption discussed with reference to FIG. 1 may be used to authenticate the identity of user 206.

認証サービスは、登録処理及び認証処理を有しても良い。登録処理は、認証処理において使用され得る情報及びデータをユーザ206から得るステップを有しても良い。認証処理は、時間的に後に(例えば、登録処理に続いて)生じても良い。認証処理では、ユーザ206の同一性は、図1を参照して議論した関係暗号化動作のうちの1又は複数を用いて認証されても良い。概して、ユーザ206の同一性は、本願明細書に記載のように、第1の線形性暗号文と第2の線形性暗号文との間の線形性を発見することにより、及び第1の近接性暗号文と第2の近接性暗号文との間の近接性を検出することにより、認証されても良い。第1の線形性暗号文及び第1の近接性暗号文は、第1のバイオメトリックテンプレートの形式で、ユーザ206により提供されても良い。第1のバイオメトリックテンプレートは、図1の第1の平文ベクトル142A及び/又は図2の登録入力に含まれても良い。 The authentication service may have a registration process and an authentication process. The registration process may include a step of obtaining information and data that can be used in the authentication process from the user 206. The authentication process may occur later in time (eg, following the registration process). In the authentication process, the identity of the user 206 may be authenticated using one or more of the relational encryption operations discussed with reference to FIG. In general, the identity of user 206 is determined by discovering the linearity between the first linear ciphertext and the second linear ciphertext, and by first proximity, as described herein. It may be authenticated by detecting the proximity between the sex ciphertext and the second proximity ciphertext. The first linear ciphertext and the first proximity ciphertext may be provided by user 206 in the form of a first biometric template. The first biometric template may be included in the first plaintext vector 142A and / or the registration input of FIG.

ユーザ206及び/又は偽者222(後述する)は、1又は複数のバイオメトリック特徴を有する個人を有しても良い。バイオメトリック特徴は、1又は複数のユニークな特徴を有しても良い。例えば、バイオメトリック特徴は、畝及び/又畝間のパターンを有する、ユーザ206の指紋を有しても良い。幾つかの実施形態では、ユーザ206は、ユーザ装置102と関連付けられても良い。例えば、ユーザ206は、ユーザ装置102を所有し又は定期的に操作しても良い。幾つかの実施形態では、ユーザ206は、ユーザ装置102と具体的に関連付けられなくても良い。例えば、ユーザ装置102は、ユーザ206を含む複数のユーザにより公的にアクセス可能であっても良い。幾つかの実施形態では、偽者222は、バイオメトリック特徴を表し得る入力を供給するエンティティを有しても良い。 User 206 and / or fake 222 (discussed below) may have an individual with one or more biometric features. The biometric feature may have one or more unique features. For example, the biometric feature may have a fingerprint of user 206 with a pattern of ridges and / or ridges. In some embodiments, the user 206 may be associated with the user device 102. For example, the user 206 may own or periodically operate the user device 102. In some embodiments, the user 206 does not have to be specifically associated with the user device 102. For example, the user device 102 may be publicly accessible by a plurality of users, including the user 206. In some embodiments, the fake 222 may have an entity that supplies an input that can represent a biometric feature.

幾つかの実施形態では、ユーザ装置102は、センサ298を有してもよい。センサ298は、例えばユーザ206を認証するために使用されるバイオメトリック特徴を測定する又はキャプチャするよう構成されるハードウェア装置を有しても良い。ユーザ206のバイオメトリック特徴が測定され又はキャプチャされると、ユーザ装置102は、バイオメトリックテンプレートを生成しても良い。バイオメトリックテンプレートは、バイオメトリック特徴を表しても良く、ユーザ206のバイオメトリック特徴のユニークな特徴のうちの少なくとも幾つかを有しても良い。バイオメトリックテンプレートは、例えば、バイオメトリック特徴のグラフィカル表現及び/又はアルゴリズム表現を有しても良い。 In some embodiments, the user device 102 may have a sensor 298. Sensor 298 may have hardware devices configured to measure or capture biometric features used, for example, to authenticate user 206. When the biometric features of user 206 are measured or captured, user equipment 102 may generate a biometric template. The biometric template may represent biometric features and may have at least some of the unique features of user 206 biometric features. The biometric template may have, for example, a graphical representation and / or an algorithmic representation of the biometric features.

センサ298の幾つかの例は、指紋スキャナ、虹彩の画像をキャプチャするよう構成されるカメラ、DNAを測定するよう構成される装置、心拍をキャプチャするよう構成される心拍モニタ、骨格筋により生成される電気的活動をキャプチャするよう構成されるウエアラブル筋電センサ、又はバイオメトリック特徴を測定し又はキャプチャするよう構成される任意の他のセンサ298、を有しても良い。 Some examples of the sensor 298 are generated by a fingerprint scanner, a camera configured to capture iris images, a device configured to measure DNA, a heart rate monitor configured to capture heartbeats, and skeletal muscles. It may have a wearable myoelectric sensor configured to capture electrical activity, or any other sensor 298 configured to measure or capture biometric features.

図示の生体認証システム200では、センサ298は、ユーザ装置102に含まれる。他の実施形態では、センサ298は、ユーザ装置102又はそれに含まれるプロセッサに通信可能に結合されても良い。例えば、センサ298は、図1のネットワーク107のようなネットワークを介してユーザ装置102に信号を通信するよう構成されても良い。図2には1個のみのセンサ298が示されるが、幾つかの実施形態では、ユーザ装置102は、1又は複数のセンサ298を有しても良い。 In the illustrated biometric authentication system 200, the sensor 298 is included in the user device 102. In other embodiments, the sensor 298 may be communicably coupled to the user device 102 or a processor included therein. For example, the sensor 298 may be configured to communicate a signal to the user device 102 via a network such as the network 107 of FIG. Although FIG. 2 shows only one sensor 298, in some embodiments the user device 102 may have one or more sensors 298.

enc/decモジュール110は、第1の線形性暗号文及び第1の近接性暗号文を登録入力232から生成しても良い。enc/decモジュール110は、次に、第1の線形性暗号文及び第1の近接性暗号文を登録データ234として、認証サーバ140に通信しても良い。 The enc / dec module 110 may generate a first linear ciphertext and a first proximity ciphertext from the registration input 232. The ench / dec module 110 may then communicate with the authentication server 140 using the first linear ciphertext and the first proximity ciphertext as registration data 234.

関係認証モジュール108は、第1の線形性暗号文及び第1の近接性暗号文を登録暗号文130として格納しても良い。登録暗号文130は、ユーザ206に関連付けられても良い。例えば、ユーザ206は、関連付けられたユーザ識別子を有しても良い。幾つかの実施形態では、登録暗号文130は、メモリ122Bに格納されても良い。 The relational authentication module 108 may store the first linear ciphertext and the first proximity ciphertext as the registered ciphertext 130. The registered ciphertext 130 may be associated with the user 206. For example, user 206 may have an associated user identifier. In some embodiments, the registered ciphertext 130 may be stored in memory 122B.

enc/decモジュール110は、次に、第1のチャレンジ入力236A又は第2のチャレンジ入力236B(概して、チャレンジ入力236)を受信しても良い。第1のチャレンジ入力236A及び第2のチャレンジ入力236Bは、ユーザ206又は偽者222による、彼らの同一性を認証させる試みであっても良い。第1のチャレンジ入力236A及び/又は第2のチャレンジ入力236Bは、例えば、センサ298により読み取られた第2のバイオメトリックテンプレートを有しても良い。第2のバイオメトリックテンプレートは、ユーザ206又は偽者222のバイオメトリック特徴のユニークな特徴を表しても良い。 The ench / dec module 110 may then receive a first challenge input 236A or a second challenge input 236B (generally a challenge input 236). The first challenge input 236A and the second challenge input 236B may be an attempt by the user 206 or the fake 222 to authenticate their identity. The first challenge input 236A and / or the second challenge input 236B may have, for example, a second biometric template read by sensor 298. The second biometric template may represent the unique features of the biometric features of user 206 or fake 222.

enc/decモジュール110は、第2の線形性暗号文及び第2の近接性暗号文をチャレンジ入力236から生成しても良い。enc/decモジュール110は、次に、第2の線形性暗号文及び第2の近接性暗号文をチャレンジデータ238として、認証サーバ140に通信しても良い。 The enc / dec module 110 may generate a second linear ciphertext and a second proximity ciphertext from the challenge input 236. The ench / dec module 110 may then communicate with the authentication server 140 using the second linear ciphertext and the second proximity ciphertext as challenge data 238.

関係認証モジュール108は、チャレンジデータ238を受信しても良い。関係認証モジュール108は、次に、ユーザ206の登録暗号文130を読み出しても良い。 The relationship authentication module 108 may receive the challenge data 238. The relational authentication module 108 may then read the registered ciphertext 130 of the user 206.

関係認証モジュール108は、登録暗号文130として格納された第1の線形性暗号文とユーザ装置102から受信した第2の線形性暗号文との間の線形性関係を決定しても良い。さらに、関係認証モジュール108は、登録暗号文130として格納された第1の近接性暗号文とユーザ装置102から受信した第2の近接性暗号文との間の近接性関係を決定しても良い。 The relationship authentication module 108 may determine the linear relationship between the first linear ciphertext stored as the registered ciphertext 130 and the second linear ciphertext received from the user apparatus 102. Further, the relationship authentication module 108 may determine the proximity relationship between the first proximity ciphertext stored as the registered ciphertext 130 and the second proximity ciphertext received from the user apparatus 102. ..

第1の線形性暗号文が第2の線形性暗号文と線形性関係を有し、及び第1の近接性暗号文と第2の近接性暗号文との間の特定の近接性が存在することに応答して、認証サーバ140は、第1のバイオメトリックテンプレートと第2のバイオメトリックテンプレートとの間に概算類似性が存在すると決定しても良い。 The first linear ciphertext has a linear relationship with the second linear ciphertext, and there is a particular proximity between the first proximity ciphertext and the second proximity ciphertext. In response, the authentication server 140 may determine that there is an approximate similarity between the first biometric template and the second biometric template.

したがって、ユーザ206により提供される第1のチャレンジ入力236Aが、第2の線形性暗号文及び第2の近接性暗号文の基礎である場合、第1の線形性暗号文と第2の線形性暗号文との間に線形性関係が存在し、第1の近接性暗号文と第2の近接性暗号文との間に近接性が存在し得る。 Therefore, if the first challenge input 236A provided by user 206 is the basis of the second linear ciphertext and the second proximity ciphertext, then the first linear ciphertext and the second linearity There may be a linear relationship with the ciphertext and there may be proximity between the first proximity ciphertext and the second proximity ciphertext.

しかしながら、偽者222により提供される第2のチャレンジ入力236Bが、第2の線形性暗号文及び第2の近接性暗号文の基礎である場合、第1の線形性暗号文と第2の線形性暗号文との間に線形性関係が存在せず、第1の近接性暗号文と第2の近接性暗号文との間に近接性が存在しない。 However, if the second challenge input 236B provided by the fake 222 is the basis of the second linear ciphertext and the second proximity ciphertext, then the first linear ciphertext and the second linearity There is no linear relationship with the ciphertext, and there is no proximity between the first proximity ciphertext and the second proximity ciphertext.

線形性関係及び/又は近接性に基づき、関係認証モジュール108は、認証を決定できる。例えば、関係認証モジュール108は、チャレンジデータ238がユーザ206又は偽者222に起因するかを決定しても良い。関係認証モジュール108は、線形性関係の発見及び/又は近接性の検出に基づき、認証信号242を通信しても良い。enc/decモジュール110は、認証信号242を受信しても良い。 Based on the linearity relationship and / or the proximity, the relationship authentication module 108 can determine the authentication. For example, the relationship authentication module 108 may determine whether the challenge data 238 is due to the user 206 or the fake 222. The relationship authentication module 108 may communicate the authentication signal 242 based on the discovery of the linear relationship and / or the detection of the proximity. The ench / dec module 110 may receive the authentication signal 242.

本開示の範囲から逸脱することなく生体認証システム200に対し変更、追加又は省略が行われても良い。具体的には、図2に示す実施形態は、1人のユーザ206、1つのユーザ装置102、及び1つの認証サーバ140を有する。しかしながら、本開示は、1又は複数のユーザ206、1又は複数のユーザ装置102、1又は複数の認証サーバ140、又はそれらの任意の組み合わせを有する生体認証システム200に適用される。 Changes, additions or omissions may be made to the biometric authentication system 200 without departing from the scope of the present disclosure. Specifically, the embodiment shown in FIG. 2 has one user 206, one user device 102, and one authentication server 140. However, the present disclosure applies to one or more users 206, one or more user devices 102, one or more authentication servers 140, or a biometric authentication system 200 having any combination thereof.

さらに、本願明細書に記載の実施形態の中の種々のコンポーネントの分割は、分割が全ての実施形態において生じることを意味しない。本開示の利益により、記載のコンポーネントが単一のコンポーネントに統合され又は複数のコンポーネントに分割されても良いことが理解される。例えば、幾つかの実施形態では、enc/decモジュール110及び/又はそれに属する1又は複数の機能は、認証サーバ140にあるモジュールにより実行されても良い。 Moreover, the division of the various components within the embodiments described herein does not mean that the division occurs in all embodiments. It is understood by the benefit of the present disclosure that the described components may be integrated into a single component or split into multiple components. For example, in some embodiments, the enc / dec module 110 and / or one or more functions belonging to it may be performed by a module located on the authentication server 140.

関係認証モジュール108及び/又はenc/decモジュール110は、生体認証のためのコード及びルーチンを有しても良い。幾つかの実施形態では、関係認証モジュール108及び/又はenc/decモジュール110は、例えば、ユーザ装置102又は別のコンピューティング装置に格納されても良いシンクライアントアプリケーションとして部分的に動作しても良く、認証サーバ140に格納されても良いコンポーネントの一部として動作しても良い。幾つかの実施形態では、関係認証モジュール108及び/又はenc/decモジュール110は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むハードウェアを用いて実装できる。幾つかの他の例では、関係認証モジュール108及び/又はenc/decモジュール110は、ハードウェア及びソフトウェアの組み合わせを用いて実装されても良い。 The relational authentication module 108 and / or the enc / dec module 110 may have codes and routines for biometric authentication. In some embodiments, the relationship authentication module 108 and / or the enc / dec module 110 may partially operate as a thin client application that may be stored, for example, in a user device 102 or another computing device. , May operate as part of a component that may be stored in the authentication server 140. In some embodiments, the relationship authentication module 108 and / or the enc / dec module 110 can be implemented using hardware including an FPGA (field-programmable gate array) or an ASIC (application-specific integrated circuit). In some other examples, the relationship authentication module 108 and / or the enc / dec module 110 may be implemented using a combination of hardware and software.

図3は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、生体認証の例示的な方法300のフロー図である。方法300は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法300は、本願明細書に記載された認証サーバ140により幾つかの実施形態においてプログラム制御されて実行されても良い。認証サーバ140は、方法300を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122B)を含み又はそれに通信可能に結合されても良い。追加又は代替で、認証サーバ140は、方法300を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124B)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 3 is a flow diagram of an exemplary method 300 of biometric authentication configured according to at least one embodiment described herein. Method 300 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. The method 300 may be program-controlled and executed in some embodiments by the authentication server 140 described herein. The authentication server 140 encodes and stores a non-temporary computer-readable medium (eg, memory 122B in FIG. 1) that encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 300. It may include or be communicatively coupled to it. In addition or as an alternative, the authentication server 140 may have a processor (eg, processor 124B in FIG. 1) configured to execute computer instructions to execute or control the execution of method 300. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法300はブロック302で開始し得る。ブロック302で、第1の線形性暗号文が受信されても良い。第1の線形性暗号文は、関係線形性暗号化方式を用いて暗号化された第1のバイオメトリックテンプレートを表しても良い。ブロック304で、第1の近接性暗号文が受信されても良い。第1の近接性暗号文は、関係近接性暗号化方式を用いて暗号化された第1のバイオメトリックテンプレートを表しても良い。 Method 300 may start at block 302. At block 302, the first linear ciphertext may be received. The first linear ciphertext may represent a first biometric template encrypted using a relational linear encryption scheme. At block 304, the first proximity ciphertext may be received. The first proximity ciphertext may represent a first biometric template encrypted using a relational proximity encryption scheme.

ブロック306で、第1の線形性暗号文及び第1の近接性暗号文は、登録暗号文として格納されても良い。ブロック308で、線形性関係秘密キー及び近接性関係秘密キーが受信されても良い。ブロック310で、第2の近接性暗号文が受信されても良い。第2の近接性暗号文は、関係近接性暗号化方式を用いて暗号化された第2のバイオメトリックテンプレートを表しても良い。ブロック312で、第2の線形性暗号文が受信されても良い。第2の線形性暗号文は、関係線形性暗号化方式を用いて暗号化された第2のバイオメトリックテンプレートを表しても良い。 At block 306, the first linear ciphertext and the first proximity ciphertext may be stored as registered ciphertexts. At block 308, the linear relationship secret key and the proximity relationship secret key may be received. A second proximity ciphertext may be received at block 310. The second proximity ciphertext may represent a second biometric template encrypted using a relational proximity encryption scheme. At block 312, a second linear ciphertext may be received. The second linear ciphertext may represent a second biometric template encrypted using a relational linear encryption scheme.

ブロック314で、第1の線形性暗号文と第2の線形性暗号文との間の線形性関係が、線形性関係秘密キーを用いて発見されても良い。ブロック316で、第1の近接性暗号文と第2の近接性暗号文との間の近接性が、近接性関係秘密キーを用いて検出されても良い。近接性は、ハミング距離の観点で決定されても良い。ブロック318で、ユーザの同一性は、近接性及び線形性関係に基づき認証されても良い。 At block 314, the linearity relationship between the first linearity ciphertext and the second linearity ciphertext may be found using the linearity relationship secret key. At block 316, the proximity between the first proximity ciphertext and the second proximity ciphertext may be detected using the proximity relationship secret key. Proximity may be determined in terms of Hamming distance. At block 318, user identity may be authenticated based on proximity and linearity relationships.

本願明細書に開示した手順及び方法の任意のものについて、処理及び方法の中で実行される機能は、異なる順序で実施されても良い。さらに、概略のステップ及び動作は、単に例として提供され、幾つかのステップ及び動作は、開示の実施形態から逸脱することなく、任意であり、より少ないステップ及び動作に組み合わされ、又は追加ステップ及び動作に拡張されても良い。 For any of the procedures and methods disclosed herein, the processes and functions performed within the methods may be performed in a different order. Further, the schematic steps and actions are provided merely as an example, and some steps and actions are optional, combined with fewer steps and actions, or additional steps and actions without departing from the disclosed embodiments. It may be extended to operation.

図4A及び4Bは、本願明細書に記載の少なくとも1つの実施形態に従って構成される、関係暗号化の例示的な方法400のフロー図である。方法400は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法400は、本願明細書に記載されたユーザ装置102により幾つかの実施形態においてプログラム制御されて実行されても良い。ユーザ装置102は、方法400を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102は、方法400を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 4A and 4B are flow diagrams of an exemplary method 400 of relational encryption configured according to at least one embodiment described herein. Method 400 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. The method 400 may be program-controlled and executed in some embodiments by the user apparatus 102 described herein. The user apparatus 102 encodes and stores a non-transitory computer-readable medium (eg, memory 122A in FIG. 1) that encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 400. It may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 may have a processor (eg, processor 124A of FIG. 1) configured to execute computer instructions to execute or control the execution of method 400. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

図4Aを参照すると、方法400はブロック402で開始し得る。ブロック402で、関係線形性暗号化方式のキーが生成されても良い。関係線形性暗号化方式のキーは、セキュリティパラメータについて生成されても良い。ブロック403で、第1の不均一分散データは、第1の平文ベクトルとして適切なランダム化レベルにランダム化されても良い。不均一分散データは、バイオメトリックデータであっても良い。適切なランダム化レベルは、以下に詳細に説明される。ブロック404で、第1の平文ベクトルは、関係線形性暗号化方式を用いて暗号化されても良い。第1の平文ベクトルの暗号化は、第1の平文ベクトルを表す第1の線形性暗号文を生成しても良い。ブロック406で、関係近接性暗号化方式のキーが生成されても良い。関係近接性暗号化方式のキーは、セキュリティパラメータについて生成されても良い。ブロック408で、第1の平文ベクトルは、関係近接性暗号化方式を用いて暗号化されても良い。関係近接性暗号化方式を用いる第1の平文ベクトルの暗号化は、第1の平文ベクトルを表す第1の近接性暗号文を生成しても良い。ブロック410で、第1の線形性暗号文及び第1の近接性暗号文は、認証サーバに通信されても良い。 With reference to FIG. 4A, method 400 may start at block 402. At block 402, the key of the relational linear encryption method may be generated. The key for the relational linearity encryption method may be generated for security parameters. At block 403, the first non-uniformly distributed data may be randomized to an appropriate randomization level as the first plaintext vector. The non-uniformly distributed data may be biometric data. Appropriate randomization levels are described in detail below. At block 404, the first plaintext vector may be encrypted using a relational linearity encryption scheme. The encryption of the first plaintext vector may generate a first linear ciphertext representing the first plaintext vector. At block 406, a key for the relational proximity encryption method may be generated. Relationship proximity encryption keys may be generated for security parameters. At block 408, the first plaintext vector may be encrypted using a relational proximity encryption scheme. The encryption of the first plaintext vector using the relational proximity encryption method may generate a first proximity ciphertext representing the first plaintext vector. At block 410, the first linear ciphertext and the first proximity ciphertext may be communicated to the authentication server.

ブロック411で、第2の不均一分散データは、第2の平文ベクトルとして適切なランダム化レベルにランダム化されても良い。不均一分散データは、バイオメトリックデータであっても良い。適切なランダム化レベルは、以下に詳細に説明される。ブロック412で、第2の平文ベクトルは、関係線形性暗号化方式を用いて暗号化されても良い。第2の平文ベクトルの暗号化は、第2の平文ベクトルを表す第2の線形性暗号文を生成しても良い。図4Bを参照すると、ブロック414で、第2の平文ベクトルは、関係近接性暗号化方式を用いて暗号化されても良い。関係近接性暗号化方式を用いる第2の平文ベクトルの暗号化は、第2の近接性暗号文を生成しても良い。ブロック416で、第2の線形性暗号文及び第2の近接性暗号文は、認証サーバに通信されても良い。ブロック418で、ブロック402において生成された関係線形性暗号化方式のキーは、認証サーバに通信されても良い。キーは、関係線形性キー及び関係近接性キーを有しても良い。 At block 411, the second non-uniformly distributed data may be randomized to an appropriate randomization level as the second plaintext vector. The non-uniformly distributed data may be biometric data. Appropriate randomization levels are described in detail below. At block 412, the second plaintext vector may be encrypted using a relational linear encryption scheme. The encryption of the second plaintext vector may generate a second linear ciphertext representing the second plaintext vector. Referring to FIG. 4B, at block 414, the second plaintext vector may be encrypted using a relational proximity encryption scheme. The encryption of the second plaintext vector using the relational proximity encryption method may generate a second proximity ciphertext. At block 416, the second linear ciphertext and the second proximity ciphertext may be communicated to the authentication server. At block 418, the relational linear encryption key generated at block 402 may be communicated to the authentication server. The key may have a relational linearity key and a relational proximity key.

ブロック420で、認証信号は、認証サーバから受信されても良い。認証信号は、関係線形性キーを用いて発見された第1の線形性暗号文と第2の線形性暗号文との間の線形性関係と、関係近接性キーを用いて検出された第1の近接性暗号文と第2の近接性暗号文との間の近接性と、を示しても良い。幾つかの実施形態では、第1の平文ベクトルは、ユーザから登録入力として受信された第1のバイオメトリックテンプレートを有しても良い。さらに、第2の平文ベクトルは、チャレンジ入力として受信された第2のバイオメトリックテンプレートを有しても良い。上述及び他の実施形態では、認証信号は、第2のバイオメトリックテンプレートがユーザに起因するか否かを示しても良い。 At block 420, the authentication signal may be received from the authentication server. The authentication signal is the linear relationship between the first linear ciphertext and the second linear ciphertext found using the relational linearity key, and the first detected using the relational proximity key. The proximity between the proximity ciphertext and the second proximity ciphertext may be indicated. In some embodiments, the first plaintext vector may have a first biometric template received from the user as registration input. In addition, the second plaintext vector may have a second biometric template received as the challenge input. In the above and other embodiments, the authentication signal may indicate whether the second biometric template is due to the user.

図5は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、関係暗号化方式において線形性関係を発見する例示的な方法500のフロー図である。方法500は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法500は、本願明細書に記載された認証サーバ140により幾つかの実施形態においてプログラム制御されて実行されても良い。認証サーバ140は、方法500を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122B)を含み又はそれに通信可能に結合されても良い。追加又は代替で、認証サーバ140は、方法500を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124B)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 5 is a flow diagram of an exemplary method 500 for discovering a linear relationship in a relationship encryption scheme, configured according to at least one embodiment described herein. Method 500 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. Method 500 may be program-controlled and executed in some embodiments by the authentication server 140 described herein. The authentication server 140 encodes and stores a non-temporary computer-readable medium (eg, memory 122B in FIG. 1) that encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 500. It may include or be communicatively coupled to it. In addition or as an alternative, the authentication server 140 may have a processor (eg, processor 124B in FIG. 1) configured to execute computer instructions to execute or control the execution of method 500. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法500はブロック502で開始し得る。ブロック502で、特定ベクトルが定められても良い。特定ベクトルは、第1のフィールドのメンバを有しても良い。;第1のフィールドは、0及び1の要素、及び線形性秘密キーの長さである特定数の次元を有しても良い。追加又は代替で、特定ベクトルは、第2のフィールドのメンバを有しても良い。;第2のフィールドは、0個から、基本数及び特定数の次元より1少ない数までの要素を有しても良い。 Method 500 may start at block 502. A specific vector may be defined in block 502. The particular vector may have members of the first field. The first field may have elements 0 and 1 and a certain number of dimensions that are the length of the linearity secret key. In addition or alternative, the particular vector may have members of the second field. The second field may have elements ranging from 0 to 1 less than the basic and specific dimensions.

ブロック504で、第1の値が計算されても良い。第1の値は、第1の線形性暗号文の第1の要素と、線形性関係秘密キーにより冪乗された第2の線形性暗号文の第1の要素とのペアリング関数として計算されても良い。ブロック506で、第2の値が計算されても良い。幾つかの実施形態では、第2の値は、第1の線形性暗号文の各々の要素と、−1を特定ベクトルの対応する要素で冪乗したもので冪乗した第2の線形性暗号文の対応する要素とのペアリング関数の結果であっても良い。幾つかの実施形態では、第2の値は、第1の線形性暗号文の各々の要素と、−1及び特定ベクトルの対応する要素の積で任意の生成元を冪乗したもので冪乗した第2の線形性暗号文の中の対応する要素とのペアリング関数の結果として計算されても良い。任意の生成元は、0を削除した整数の集合の部分群から選択されても良い。 A first value may be calculated in block 504. The first value is calculated as a pairing function between the first element of the first linear ciphertext and the first element of the second linear ciphertext raised by the linearity relationship secret key. You may. A second value may be calculated in block 506. In some embodiments, the second value is the second linear cipher, which is the power of each element of the first linear ciphertext and -1 to the power of the corresponding element of the particular vector. It may be the result of a pairing function with the corresponding element of the statement. In some embodiments, the second value is the product of each element of the first linear ciphertext and the corresponding element of -1 and a particular vector, raised to the power of any generator. It may be calculated as a result of a pairing function with the corresponding element in the second linear ciphertext. Any generator may be selected from a subgroup of a set of integers with zeros removed.

ブロック508で、第1の値が第2の値に等しいか否かが決定されても良い。第1の値が第2の値に等しいことに応答して(ブロック508で「Yes」)、方法500は、ブロック510に進んでも良い。ブロック510で、第1の線形性暗号文は第2の線形性暗号文と線形の関係にあると結論づけられても良い。第1の値が第2の値に等しくないことに応答して(ブロック518で「No」)、方法500は、ブロック512に進んでも良い。ブロック512で、エラーが出力されても良い。これは、第1の線形性暗号文は第2の線形性暗号文と線形の関係にないことを示しても良い。 At block 508, it may be determined whether the first value is equal to the second value. In response that the first value is equal to the second value (“Yes” in block 508), method 500 may proceed to block 510. At block 510, it may be concluded that the first linear ciphertext has a linear relationship with the second linear ciphertext. In response that the first value is not equal to the second value (“No” in block 518), method 500 may proceed to block 512. An error may be output at block 512. This may indicate that the first linear ciphertext is not in a linear relationship with the second linear ciphertext.

図6は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、近接性を検出する例示的な方法600のフロー図である。方法600は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法600は、本願明細書に記載された認証サーバ140により幾つかの実施形態においてプログラム制御されて実行されても良い。認証サーバ140は、方法600を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122B)を含み又はそれに通信可能に結合されても良い。追加又は代替で、認証サーバ140は、方法600を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124B)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 6 is a flow diagram of an exemplary method 600 for detecting proximity, configured according to at least one embodiment described herein. Method 600 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. The method 600 may be program-controlled and executed in some embodiments by the authentication server 140 described herein. The authentication server 140 encodes and stores a non-temporary computer-readable medium (eg, memory 122B in FIG. 1) that encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 600. It may include or be communicatively coupled to it. In addition or as an alternative, the authentication server 140 may have a processor (eg, processor 124B in FIG. 1) configured to execute computer instructions to execute or control the execution of method 600. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法600はブロック602で開始し得る。ブロック602で、DECODEは、公開キー情報からアクセスされても良い。ブロック604で、ランダム性の和が復元されても良い。ランダム性の和は、第1の近接性暗号文について受信されても良い。第1の近接性暗号文のランダム性の和は、DECODEとして定められても良い。DECODEは、(a)CPA秘密キーと(b)第1の近接性暗号文の第1の部分の和とを入力として受信するCPA復号化アルゴリズムと、CPA秘密キーと第2の近接性暗号文の第1の部分とを入力として受信するCPA復号化アルゴリズムと、を入力として受信する。 Method 600 may start at block 602. At block 602, DECODE may be accessed from public key information. At block 604, the sum of randomness may be restored. The sum of randomness may be received for the first proximity ciphertext. The sum of the randomness of the first proximity ciphertext may be defined as DECODE. DECODE is a CPA decryption algorithm that receives (a) the CPA secret key and (b) the sum of the first part of the first proximity ciphertext as input, and the CPA secret key and the second proximity ciphertext. A CPA decoding algorithm that receives the first part of the above as an input, and receives as an input.

ブロック606で、DECODEがエラーを返すことに応答して、拒否が出力されても良い。或いは、ブロック608で、線形性検証アルゴリズムが出力されても良い。線形性検証アルゴリズムは、線形性関係秘密キー、第2の近接性暗号文の第1の部分、第2の近接性暗号文の第2の部分、及びランダム性の和を入力として受信しても良い。 At block 606, a rejection may be output in response to DECODE returning an error. Alternatively, the linearity verification algorithm may be output in block 608. Even if the linearity verification algorithm receives the linearity relation secret key, the first part of the second proximity ciphertext, the second part of the second proximity ciphertext, and the sum of randomness as inputs. good.

図7は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、関係線形性暗号化方式のキー生成の例示的な方法700のフロー図である。方法700は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法700は、本願明細書に記載されたユーザ装置102により幾つかの実施形態においてプログラム制御されて実行されても良い。ユーザ装置102は、方法700を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102は、方法700を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 7 is a flow diagram of an exemplary method 700 for key generation of a relational linear encryption scheme, configured according to at least one embodiment described herein. Method 700 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. The method 700 may be program-controlled and executed in some embodiments by the user apparatus 102 described herein. The user apparatus 102 encodes and stores a non-transitory computer-readable medium (eg, memory 122A in FIG. 1) that encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 700. It may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 may have a processor (eg, processor 124A of FIG. 1) configured to execute computer instructions to execute or control the execution of method 700. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法700はブロック702で開始し得る。ブロック702で、双線形群が生成されても良い。幾つかの実施形態では、双線形群は素数位数であっても良い。素数位数は、セキュリティパラメータにおける指数であっても良い。追加又は代替で、素数位数は、セキュリティパラメータにおける指数であり、1を基本数(p)で割った余り(1 modulo p)に等しくても良い。例えば、平文ベクトルがビットベクトルを含む実施形態では、素数位数は、セキュリティパラメータにおける指数であっても良い。平文ベクトルがp−aryベクトルを含む実施形態では、素数位数は、セキュリティパラメータにおける指数であり、1を基本数(p)で割った余り(1 modulo p)に等しくても良い。 Method 700 may start at block 702. Bilinear groups may be generated in block 702. In some embodiments, the bilinear group may be a prime order. The prime order may be an exponent in the security parameter. In addition or alternative, the prime order is an exponent in the security parameter and may be equal to the remainder (1 modulo p) of 1 divided by the base number (p). For example, in an embodiment where the plaintext vector includes a bit vector, the prime order may be an exponent in the security parameter. In embodiments where the plaintext vector includes a p-ary vector, the prime order is an exponent in the security parameter and may be equal to the remainder (1 modulo p) of 1 divided by the base number (p).

ブロック704で、生成元がサンプリングされても良い。例えば、第1の生成元は、第1の双線形群からサンプリングされても良く、第2の生成元は、第2の双線形群からサンプリングされても良い。ブロック706で、線形性秘密キーが生成されても良い。例えば、第1の線形性秘密キー及び第2の線形性秘密キーは、整数の集合から特定数の要素をランダムにサンプリングすることにより生成されても良い。整数の集合は、0から、素数位数より1少ない数までを有しても良い。 The generator may be sampled at block 704. For example, the first generator may be sampled from the first bilinear group, and the second generator may be sampled from the second bilinear group. At block 706, a linearity secret key may be generated. For example, the first linearity secret key and the second linearity secret key may be generated by randomly sampling a specific number of elements from a set of integers. The set of integers may have from 0 to a number one less than a prime order.

ブロック708で、線形性公開キーが定められても良い。例えば、第1の線形性公開キーは、第1の生成元である要素と、第1の線形性秘密キーの対応する要素により冪乗された第1の生成元である1又は複数の他の要素と、を有しても良い。幾つかの実施形態では、第1の線形性公開キーは、任意の生成元を更に有しても良い。任意の生成元は、0を削除した整数の集合の部分群から選択されても良い。さらに、第2の線形性公開キーが定められても良い。第2の線形性公開キーは、第2の生成元である要素と、第2の線形性秘密キーの対応する要素により冪乗された第2の生成元である1又は複数の他の要素と、を有しても良い。幾つかの実施形態では、第2の線形性公開キーは、任意の生成元である要素を更に有しても良い。 A linearity public key may be defined in block 708. For example, the first linearity public key is an element that is the first generator and one or more other elements that are the first generators raised by the corresponding elements of the first linearity secret key. It may have an element. In some embodiments, the first linearity public key may further have any generator. Any generator may be selected from a subgroup of a set of integers with zeros removed. In addition, a second linearity public key may be defined. The second linearity public key is the element that is the second generator and one or more other elements that are the second generator that is raised by the corresponding element of the second linearity secret key. , May have. In some embodiments, the second linearity public key may further have an element of any origin.

ブロック710で、線形性関係秘密キーが定められても良い。線形性関係秘密キーの各々の要素は、第2の線形性秘密キーの対応する要素と第1の線形性秘密キーの対応する要素との和を有しても良い。 A linearity relationship secret key may be defined in block 710. Each element of the linearity secret key may have the sum of the corresponding element of the second linearity secret key and the corresponding element of the first linearity secret key.

図8は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、関係線形性暗号化方式を用いて第1の平文ベクトルを暗号化する例示的な方法800のフロー図である。方法800は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法800は、本願明細書に記載されたユーザ装置102により幾つかの実施形態においてプログラム制御されて実行されても良い。ユーザ装置102は、方法800を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102は、方法800を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 8 is a flow diagram of an exemplary method 800 for encrypting a first plaintext vector using a relational linear encryption method, configured according to at least one embodiment described herein. Method 800 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. Method 800 may be program-controlled and executed in some embodiments by the user apparatus 102 described herein. The user apparatus 102 encodes and stores a non-transitory computer-readable medium (eg, memory 122A in FIG. 1) that encodes and stores program code or instructions executable by a processor to execute or control the execution of method 800. It may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 may have a processor (eg, processor 124A of FIG. 1) configured to execute computer instructions to execute or control the execution of method 800. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法800はブロック802で開始し得る。ブロック802で、乱数がサンプリングされても良い。乱数は、整数の集合からサンプリングされても良い。ブロック804で、第1の線形性暗号文が構築されても良い。第1の線形性暗号文の第1の要素は、乱数により冪乗される第1の生成元であっても良い。さらに、第1の線形性暗号文の1又は複数の他の要素は、線形性暗号化指数により冪乗された第1の線形性公開キーの対応する要素を有しても良い。幾つかの実施形態では、線形性暗号化指数は、乱数と、−1を第1の平文ベクトルの対応する要素により冪乗したものとの積を有しても良い。幾つかの実施形態では、線形性暗号化指数は、乱数と、第1の平文ベクトルの対応する要素により冪乗された任意の生成元との積を有しても良い。 Method 800 may start at block 802. Random numbers may be sampled in block 802. Random numbers may be sampled from a set of integers. At block 804, the first linear ciphertext may be constructed. The first element of the first linear ciphertext may be a first generator that is raised to a power by a random number. In addition, one or more other elements of the first linear ciphertext may have the corresponding element of the first linearity public key raised to the power of the linear encryption index. In some embodiments, the linear cryptographic exponent may have the product of a random number multiplied by the corresponding element of the first plaintext vector. In some embodiments, the linear cryptographic exponent may have a product of a random number and any generator raised to the power of the corresponding element of the first plaintext vector.

図9は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、関係近接性暗号化方式のキーを生成する例示的な方法900のフロー図である。方法900は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法900は、本願明細書に記載されたユーザ装置102により幾つかの実施形態においてプログラム制御されて実行されても良い。ユーザ装置102は、方法900を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102は、方法900を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 9 is a flow diagram of an exemplary method 900 for generating a key for a relational proximity encryption scheme, configured according to at least one embodiment described herein. Method 900 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. The method 900 may be program-controlled and executed in some embodiments by the user apparatus 102 described herein. The user apparatus 102 encodes and stores a program code or instruction that can be executed by a processor to execute or control the execution of the method 900 on a non-transitory computer-readable medium (eg, memory 122A in FIG. 1). It may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 may have a processor (eg, processor 124A of FIG. 1) configured to execute computer instructions to execute or control the execution of method 900. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法900はブロック902で開始し得る。ブロック902で、ECCが選択されても良い。ECCは、長さ、セキュリティパラメータの同じ次数のランク、選択された最小距離、を有しても良い。ブロック904で、CPAセキュア暗号化方式のキー生成アルゴリズムが実行されても良い。CPAセキュア暗号化方式は、CPA公開キー及びCPA秘密キーを出力しても良い。ブロック906で、関係線形性キー生成アルゴリズムが実行されても良い。関係線形性キー生成アルゴリズムは、第1の線形性公開キー、第2の線形性公開キー、第1の線形性秘密キー、第2の線形性秘密キー、及び関係線形性秘密キーを出力しても良い。 Method 900 may start at block 902. ECC may be selected at block 902. ECC may have a length, a rank of the same order of security parameters, a selected minimum distance. At block 904, the key generation algorithm of the CPA secure encryption method may be executed. The CPA secure encryption method may output a CPA public key and a CPA private key. At block 906, the relational linearity key generation algorithm may be executed. The relational linearity key generation algorithm outputs a first linearity public key, a second linearity public key, a first linearity secret key, a second linearity secret key, and a relational linearity secret key. Is also good.

ブロック907で、近接性公開キーが定められても良い。例えば、第1の近接性公開キーは、ENCODE、DECODE、CPA公開キー及び第1の線形性公開キーに基づき定められても良い。さらに、第2の近接性公開キーは、ENCODE、DECODE、CPA公開キー及び第2の線形性公開キーに基づき定められても良い。ブロック908で、近接性秘密キーが定められても良い。例えば、第1の近接性秘密キーは、CPA秘密キー及び第1の線形性秘密キーに基づき定められても良い。さらに、第2の近接性秘密キーは、CPA秘密キー及び第2の線形性秘密キーに基づき定められても良い。ブロック910で、近接性関係秘密キーが定められても良い。例えば、近接性関係秘密キーは、CPA秘密キー及び第1の関係線形性秘密キーに基づき定められても良い。 The proximity public key may be defined in block 907. For example, the first accessibility public key may be determined based on the ENCODE, DECODE, CPA public key and the first linearity public key. Further, the second accessibility public key may be determined based on the ENCODE, DECODE, CPA public key and the second linearity public key. The proximity secret key may be defined in block 908. For example, the first proximity secret key may be determined based on the CPA secret key and the first linearity secret key. Further, the second proximity secret key may be determined based on the CPA secret key and the second linearity secret key. The proximity relationship secret key may be defined in block 910. For example, the proximity relationship secret key may be determined based on the CPA secret key and the first relationship linearity secret key.

図10は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、関係近接性暗号化方式を用いて第1の平文ベクトルを暗号化する例示的な方法1000のフロー図である。方法1000は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法1000は、本願明細書に記載されたユーザ装置102により幾つかの実施形態においてプログラム制御されて実行されても良い。ユーザ装置102は、方法1000を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102は、方法1000を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 10 is a flow diagram of an exemplary method 1000 for encrypting a first plaintext vector using a relational proximity encryption method, configured according to at least one embodiment described herein. Method 1000 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. The method 1000 may be program-controlled and executed in some embodiments by the user apparatus 102 described herein. The user apparatus 102 encodes and stores a non-transitory computer-readable medium (eg, memory 122A in FIG. 1) that encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 1000. It may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 may have a processor (eg, processor 124A of FIG. 1) configured to execute computer instructions to execute or control the execution of method 1000. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法1000はブロック1002で開始し得る。ブロック1002で、近接性乱数がサンプリングされても良い。近接性乱数は、第3のフィールドからサンプリングされても良い。第3のフィールドは、基本数と、ECCのランクである次元と、を有しても良い。ブロック1004で、第1の近接性暗号文の第1の部分が定められても良い。第1の部分は、CPA公開キーと第1の平文ベクトルの和とを入力として受信するCPA暗号化アルゴリズム、及び近接性乱数を入力として受信するENCODEとして定められても良い。 Method 1000 can start at block 1002. Proximity random numbers may be sampled in block 1002. The proximity random number may be sampled from the third field. The third field may have a base number and a dimension that is the rank of ECC. Block 1004 may define the first part of the first proximity ciphertext. The first part may be defined as a CPA encryption algorithm that receives the sum of the CPA public key and the first plaintext vector as input, and an ENCODE that receives the proximity random number as input.

ブロック1006で、第1の近接性暗号文の第2の部分が定められても良い。第2の部分は、第1の線形性公開キーと近接性乱数とを入力として受信する第1の線形性暗号化アルゴリズムとして定められても良い。 Block 1006 may define a second part of the first proximity ciphertext. The second part may be defined as a first linear encryption algorithm that receives the first linear public key and the proximity random number as inputs.

図11は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、第1の線形性暗号文を復号化する例示的な方法1100のフロー図である。方法1100は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法1100は、本願明細書に記載されたユーザ装置102により幾つかの実施形態においてプログラム制御されて実行されても良い。ユーザ装置102は、方法1100を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102は、方法1100を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 11 is a flow diagram of an exemplary method 1100 for decrypting a first linear ciphertext, configured according to at least one embodiment described herein. Method 1100 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. Method 1100 may be program-controlled and executed in some embodiments by the user apparatus 102 described herein. The user apparatus 102 encodes and stores a non-transitory computer-readable medium (eg, memory 122A in FIG. 1) that encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 1100. It may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 may have a processor (eg, processor 124A in FIG. 1) configured to execute computer instructions to execute or control the execution of method 1100. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法1100はブロック1102で開始し得る。ブロック1102で、第1の線形性暗号文の中の対応する要素が、特定要素値により冪乗された任意の生成元と第1の線形性秘密キーの対応する要素との積により冪乗された第1の線形性暗号文の第1の要素に等しいような、特定要素値が存在するか否かが決定されても良い。特定要素値が存在することに応答して(ブロック1102で「Yes」)、要素は、特定要素値に設定されても良い。特定要素値が存在しないことに応答して(ブロック1102で「No」)、エラーが出力されても良い。 Method 1100 may start at block 1102. At block 1102, the corresponding element in the first linear ciphertext is raised by the product of any generator raised to the power of the particular element value and the corresponding element of the first linearity secret key. It may be determined whether or not a specific element value exists that is equal to the first element of the first linear ciphertext. In response to the existence of a specific element value (“Yes” in block 1102), the element may be set to a specific element value. An error may be output in response to the absence of the specific element value (“No” in block 1102).

図12は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、第1の線形性暗号文を復号化する別の例示的な方法1200のフロー図である。方法1200は、図2の生体認証システム200の中で又は図1の動作環境100の中で実装され得るような生体認証システムにおいて実行されても良い。方法1200は、本願明細書に記載されたユーザ装置102により幾つかの実施形態においてプログラム制御されて実行されても良い。ユーザ装置102は、方法1200を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102は、方法1200を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 12 is a flow chart of another exemplary method 1200 for decrypting a first linear ciphertext, configured according to at least one embodiment described herein. Method 1200 may be performed in a biometric authentication system such that it can be implemented in the biometric authentication system 200 of FIG. 2 or in the operating environment 100 of FIG. Method 1200 may be program-controlled and executed in some embodiments by the user apparatus 102 described herein. The user apparatus 102 encodes and stores a non-transitory computer-readable medium (eg, memory 122A in FIG. 1) that encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 1200. It may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 may have a processor (eg, processor 124A in FIG. 1) configured to execute computer instructions to execute or control the execution of method 1200. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

方法1200はブロック1202で開始し得る。ブロック1202で、第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素により冪乗された第1の線形性暗号文の第1の要素と等しいか否かが決定されても良い。第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素により冪乗された第1の線形性暗号文の第1の要素に等しいことに応答して(ブロック1202において「Yes」)、方法1200は、ブロック1208に進んでも良い。ブロック1208で、第1の平文ベクトルの要素は、0に設定されても良い。 Method 1200 may start at block 1202. At block 1202, is the corresponding element in the first linear ciphertext equal to the first element of the first linear ciphertext raised by the corresponding element of the first linearity secret key? It may be decided whether or not. In response to the corresponding element in the first linear ciphertext being equal to the first element of the first linear ciphertext multiplied by the corresponding element of the first linearity secret key (“Yes” in block 1202), method 1200 may proceed to block 1208. At block 1208, the element of the first plaintext vector may be set to 0.

第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素により冪乗された第1の線形性暗号文の第1の要素に等しくないことに応答して(ブロック1202において「No」)、方法1200は、ブロック1204に進んでも良い。ブロック1204で、第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素で−1を乗算したものにより冪乗された第1の線形性暗号文の第1の要素と等しいか否かが決定されても良い。第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素で−1を乗算したものにより冪乗された第1の線形性暗号文の第1の要素に等しいことに応答して(ブロック1204において「Yes」)、方法1200は、ブロック1210に進んでも良い。ブロック1210で、第1の平文ベクトルの要素は、1に設定されても良い。第1の線形性暗号文の中の対応する要素が、第1の線形性秘密キーの対応する要素で−1を乗算したものにより冪乗された第1の線形性暗号文の第1の要素に等しくないことに応答して(ブロック1204において「No」)、方法は、ブロック1206に進んでも良い。ブロック1206で、第1の線形性暗号文の中の対応する要素が別の値に等しいか否かが決定されても良い。第1の線形性暗号文の対応する要素が別の値に等しいことに応答して(ブロック1206で「Yes」)、方法1200は、ブロック1212に進んでも良い。ブロック1212で、エラーが返されても良い。 Responds that the corresponding element in the first linear ciphertext is not equal to the first element of the first linear ciphertext multiplied by the corresponding element of the first linearity secret key. (“No” in block 1202), method 1200 may proceed to block 1204. In block 1204, the corresponding element in the first linear ciphertext is the corresponding element of the first linearity secret key multiplied by -1 to the power of the first linear ciphertext. It may be determined whether or not it is equal to the first element. The first element of the first linear ciphertext whose corresponding element in the first linear ciphertext is raised to the power of the corresponding element of the first linearity secret key multiplied by -1. In response to equal to (“Yes” in block 1204), method 1200 may proceed to block 1210. In block 1210, the element of the first plaintext vector may be set to 1. The first element of the first linear ciphertext whose corresponding element in the first linear ciphertext is raised to the power of the corresponding element of the first linearity secret key multiplied by -1. In response to not being equal to (“No” in block 1204), the method may proceed to block 1206. At block 1206, it may be determined whether the corresponding element in the first linear ciphertext is equal to another value. Method 1200 may proceed to block 1212 in response to the corresponding element of the first linear ciphertext being equal to another value (“Yes” in block 1206). At block 1212, an error may be returned.

<不均一分散データ>
幾つかの実施形態では、本開示は、一様にランダムではない、バイオメトリックデータのような、基礎データの関係暗号化も提供し得る。基礎データは、不均一に分散されても良く、及び/又は相関を有しても良い。非限定的な例として、米国の人口のより大きな部分集合は、青い目よりも茶色い目を持っている。言い換えると、目の色は、人口全体に不均一に分散し得る。同様に、青い目を持つ個人は、濃い色の髪よりも明るい色の髪を持つ可能性が高い。言い換えると、青い目と明るい色の髪との間には相関が存在し得る。バイオメトリックデータにおける(相関を含む)ランダム性の欠如のために、本開示は、本開示に記載の関係暗号化方式を用いる前に、基礎となるバイオメトリックデータの効率的なランダム化の提供も含み得る。
<Non-uniform dispersion data>
In some embodiments, the disclosure may also provide relational encryption of underlying data, such as biometric data, which is not uniformly random. The underlying data may be non-uniformly dispersed and / or correlated. As a non-limiting example, a larger subset of the US population has brown eyes rather than blue eyes. In other words, eye color can be unevenly distributed throughout the population. Similarly, individuals with blue eyes are more likely to have lighter colored hair than darker colored hair. In other words, there can be a correlation between blue eyes and light-colored hair. Due to the lack of randomness (including correlation) in biometric data, the present disclosure also provides efficient randomization of the underlying biometric data prior to using the relational encryption methods described in this disclosure. Can include.

適切なランダム化レベルは、データのエントロピ、ノイズ閾、データのドメイン、等を含む、データの特徴の数に依存しても良い。これらの特徴を説明する際の便宜のため、指紋の生体認証特徴の例が用いられるが、非バイオメトリックデータを含む任意の基礎データが使用されても良い。幾つかの実施形態では、適切なランダム化レベルは、Xとrとのドット積、又は基礎データrと行列Xとのドット積により達成され得る。行列Xは、従来知られているように強力な線形抽出器であり得る。特徴は、行列Xを導出する際の入力であっても良い。幾つかの実施形態では、線形抽出器は、データを適切なレベルにランダム化するために、データの元のサイズを4分の1のサイズまで縮小するために使用されても良い。適切なランダム化レベルは、セキュリティパラメータλに依存しても良い。例えば、セキュリティパラメータが、セキュリティの80個のビットが必要であることを示す場合、ランダム化レベルは、生データに対して強力な線形抽出器を用いる処理の後に、80ビットのランダム化データを必要とし得る。別の例では、セキュリティパラメータが、セキュリティの128個のビットが必要であることを示す場合、ランダム化レベルは、生データに対して強力な線形抽出器を用いる処理の後に、128ビットのランダム化データを必要とし得る。 The appropriate level of randomization may depend on the number of features of the data, including the entropy of the data, the noise threshold, the domain of the data, and so on. For convenience in describing these features, examples of fingerprint biometric features are used, but any underlying data, including non-biometric data, may be used. In some embodiments, an appropriate randomization level can be achieved by the dot product of X and r, or the dot product of the underlying data r and matrix X. The matrix X can be a powerful linear extractor as previously known. The feature may be an input when deriving the matrix X. In some embodiments, a linear extractor may be used to reduce the original size of the data to a quarter size in order to randomize the data to the appropriate level. The appropriate randomization level may depend on the security parameter λ. For example, if a security parameter indicates that 80 bits of security are required, then the randomization level requires 80 bits of randomized data after processing with a powerful linear extractor on the raw data. Can be. In another example, if the security parameter indicates that 128 bits of security are required, then the randomization level is 128 bits of randomization after processing with a powerful linear extractor on the raw data. Data may be needed.

データのエントロピの特徴は、データ自体が本来持っている全体的なばらつき又はランダム性を表しても良い。例として、指紋は、人間の人口において、指紋の分布に固有の特定量のばらつき又はランダム性を有する。これは、バイオメトリック特徴のエントロピとして参照されても良い。データのエントロピが増大するにつれ、適切なランダム化レベルに達するために必要な処理の量は減少し得る。 The characteristics of the entropy of the data may represent the overall variability or randomness inherent in the data itself. As an example, fingerprints have a certain amount of variability or randomness inherent in the distribution of fingerprints in the human population. This may be referred to as the entropy of biometric features. As the entropy of the data increases, the amount of processing required to reach the appropriate level of randomization can decrease.

ノイズ閾の特徴は、基礎データを読み取る又は取得するときに存在するばらつきの量を表し得る。再び指紋の例を用いると、指紋の走査又は読み取りを行うとき、指紋の読み取り値を集めるときに、幾らかのノイズ又は変動が存在し得る。言い換えると、所与の個人について読み取り値が取り込まれる度に、正確に同一のバイオメトリックデータが集められない場合がある。実際に、個人のバイオメトリック特徴は僅かに変化し得るので、完全なシステムにおいてさえ、2つのサンプリングの間には、バイオメトリックデータに幾らかの軽微な変動が存在し得る。これは、ノイズ閾として表されても良い。ノイズ閾が高い場合、システムは、頻繁に偽陽性を生成し、不正なデータが基礎データに一致することを許してしまう。指紋の例を用いると、類似するが同一ではない指紋が多すぎると、本物として認識される場合がある。反対に、ノイズ閾が低い場合には、システムは頻繁に偽陰性を生成し得る。指紋の例を用いると、第2の読み取り値を取り入れる同一人物が認証されない場合がある。ノイズ閾が増大するにつれ、適切なランダム化レベルに達するための処理の量は減少し得る。 The noise threshold feature can represent the amount of variability that exists when reading or retrieving the underlying data. Using the fingerprint example again, there may be some noise or variation when scanning or reading the fingerprint and collecting the fingerprint readings. In other words, the exact same biometric data may not be collected each time a reading is captured for a given individual. In fact, the biometric characteristics of an individual can vary slightly, so even in a complete system, there can be some minor variation in the biometric data between the two samplings. This may be expressed as a noise threshold. If the noise threshold is high, the system will often generate false positives, allowing incorrect data to match the underlying data. Using the fingerprint example, too many similar but not identical fingerprints may be perceived as genuine. Conversely, if the noise threshold is low, the system can often produce false negatives. Using the fingerprint example, the same person taking in the second reading may not be authenticated. As the noise threshold increases, the amount of processing to reach the appropriate randomization level can decrease.

別の特徴は、データのドメイン、又は基礎データが存在する数学的空間を有しても良い。指紋の例を用いると、バイオメトリックデータはビットストリーム又はp−naryベクトルに変換される。例えば、所与の指紋は、320ビットのビットストリームにより表現できる。ドメインのフォーマット及び長さは、他の因子、例えばノイズレベル及びノイズ閾に関連しても良い。幾つかの実施形態では、基礎データの最小サイズ又はベクトル長しか必要ない。基礎データのサイズ及びドメインの複雑性が増大するにつれ、処理の量は減少し得る。 Another feature may be the domain of the data, or the mathematical space in which the underlying data resides. Using the fingerprint example, biometric data is converted into a bitstream or p-nary vector. For example, a given fingerprint can be represented by a 320-bit bitstream. The format and length of the domain may be related to other factors such as noise level and noise threshold. In some embodiments, only the minimum size or vector length of the underlying data is required. As the size of the underlying data and the complexity of the domain increase, the amount of processing can decrease.

適切なランダム化レベルは、データの所望のセキュリティレベルに比例しても良い。所望のセキュリティレベルが増大するにつれ、適切なランダム化レベルは増大し得る。所望のセキュリティレベルは、セキュリティパラメータλが何を表すかを決定し得る。例えば、高いセキュリティレベルが望まれる場合、セキュリティパラメータは、128個のセキュリティビットを必要とし得る。 The appropriate level of randomization may be proportional to the desired level of security of the data. As the desired level of security increases, the appropriate level of randomization can increase. The desired security level can determine what the security parameter λ represents. For example, if a high security level is desired, the security parameter may require 128 security bits.

図13は、例示的な動作環境のブロック図である。ネットワーク107、通信モジュール116、設定モジュール144、メモリ122A、プロセッサ124A、通信ユニット126A、第1のエンティティ150、第2のエンティティ152、認証サーバ140は、図1に示したものと同じであっても良い。ユーザ装置1302は、ユーザ装置102と同様であっても良いが、関係暗号化/復号化モジュール1310を含むよう変更されても良い。線形性暗号化モジュール1312及び近接性暗号化モジュール1314は、線形性暗号化/復号化モジュール112及び近接性暗号化/復号化モジュール114と同様であっても良いが、それらは任意の暗号文を復号化するよう構成されなくても良い。不均一分散データを用いる幾つかの実施形態では、本開示に記載の方法及び処理は、任意の復号化ステップを省略するよう変更されても良い。関係暗号化/復号化モジュール1310は、関係暗号化/復号化モジュール110と同様であっても良いが、ランダム化モジュール1320を含むよう変更されても良い。 FIG. 13 is a block diagram of an exemplary operating environment. Even if the network 107, the communication module 116, the setting module 144, the memory 122A, the processor 124A, the communication unit 126A, the first entity 150, the second entity 152, and the authentication server 140 are the same as those shown in FIG. good. The user device 1302 may be similar to the user device 102, but may be modified to include the related encryption / decryption module 1310. The linear encryption module 1312 and the proximity encryption module 1314 may be similar to the linear encryption / decryption module 112 and the proximity encryption / decryption module 114, but they may use arbitrary ciphertext. It does not have to be configured to decrypt. In some embodiments that use non-uniformly distributed data, the methods and processes described in the present disclosure may be modified to omit any decoding step. The relational encryption / decryption module 1310 may be similar to the relational encryption / decryption module 110, but may be modified to include the randomization module 1320.

ランダム化モジュール1320は、本願明細書に記載の1又は複数の動作を実行するよう構成される1又は複数のルーチンを含むソフトウェアとして実装されても良い。ランダム化モジュール1320は、本願明細書に記載の機能を提供するためにプロセッサ124により実行可能な命令セットを有しても良い。幾つかの例では、ランダム化モジュール1320は、メモリ122に格納され又は少なくとも一時的にそれにロードされても良く、プロセッサ124のうちの1又は複数によりアクセス可能又は実行可能であっても良い。ランダム化モジュール1320は、バスを介してプロセッサ124のうちの1又は複数と協働し及び通信するために適応されても良い。 The randomization module 1320 may be implemented as software that includes one or more routines configured to perform one or more of the operations described herein. The randomization module 1320 may have an instruction set executable by processor 124 to provide the functionality described herein. In some examples, the randomization module 1320 may be stored in memory 122 or at least temporarily loaded into it and may be accessible or executable by one or more of the processors 124. The randomization module 1320 may be adapted to collaborate and communicate with one or more of the processors 124 over the bus.

ランダム化モジュール1320は、不均一に分散されたデータであっても良い基礎データを適切なランダム化レベルにまでランダム化するよう構成されても良い。したがって、ランダム化されたデータは、本開示に記載のような関係暗号化方式において使用され得る。幾つかの実施形態では、これは、ランダム化モジュール1320が線形抽出器1325を利用して不均一分散データから適切にランダム化された平文を抽出するステップを有しても良い。線形抽出器1325は、強力な線形抽出器であっても良い。線形抽出器1325は、従来知られているような一連の算術的ステップ又は演算として実施されても良い。 The randomization module 1320 may be configured to randomize the underlying data, which may be non-uniformly dispersed data, to an appropriate randomization level. Therefore, the randomized data can be used in relational encryption methods as described in the present disclosure. In some embodiments, it may have a step in which the randomization module 1320 utilizes a linear extractor 1325 to extract appropriately randomized plaintext from non-uniformly distributed data. The linear extractor 1325 may be a powerful linear extractor. The linear extractor 1325 may be performed as a series of arithmetic steps or operations as conventionally known.

例として、ユーザ装置1302は、本開示に従って関係暗号化方式で使用されるべき第1のバイオメトリックデータ1120及び第2のバイオメトリックデータ1130を受信しても良い。第1のバイオメトリックデータ1120及び第2のバイオメトリックデータ1130は、不均一に分散していても良い。したがって、基礎データを暗号化する前に、第1及び第2のバイオメトリックデータ1120及び1130は、平文ベクトルとして適切なランダム化レベルに達するよう、線形抽出器1325を用いてランダム化モジュール1320において処理されても良い。平文ベクトルは、次に、線形性暗号化モジュール1312及び近接性暗号化モジュール1314により暗号化されても良い。 As an example, the user apparatus 1302 may receive the first biometric data 1120 and the second biometric data 1130 to be used in the relational encryption scheme in accordance with the present disclosure. The first biometric data 1120 and the second biometric data 1130 may be non-uniformly dispersed. Therefore, before encrypting the underlying data, the first and second biometric data 1120 and 1130 are processed in the randomization module 1320 using the linear extractor 1325 to reach the appropriate randomization level as a plaintext vector. May be done. The plaintext vector may then be encrypted by the linear encryption module 1312 and the proximity encryption module 1314.

図14は、関係暗号化方式を用いる不均一分散データを暗号化する例示的な方法1400のフロー図である。方法1400は、図2の生体認証システム200の中で、図1の動作環境100の中で、又は図13の動作環境1300の中で実装され得るような生体認証システムにおいて実行されても良い。幾つかの実施形態では、方法1200は、図1のユーザ装置102又は図13のユーザ装置1302によりプログラム制御可能に実行されても良い。ユーザ装置102又はユーザ装置1302は、方法1400を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1又は図13のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102又はユーザ装置1302は、方法1400を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1又は図13のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。 FIG. 14 is a flow chart of an exemplary method 1400 for encrypting non-uniformly distributed data using a relational encryption method. Method 1400 may be performed in the biometric system 200 of FIG. 2, in the operating environment 100 of FIG. 1, or in a biometric system such that it can be implemented in the operating environment 1300 of FIG. In some embodiments, method 1200 may be programmatically executed by user device 102 of FIG. 1 or user device 1302 of FIG. The user apparatus 102 or the user apparatus 1302 encodes and stores a program code or instruction that can be executed by a processor to execute or control the execution of the method 1400 (for example, FIG. 1 or FIG. 1 or The memory 122A) of FIG. 13 may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 or the user apparatus 1302 comprises a processor configured to execute computer instructions to execute or control the execution of method 1400 (eg, processor 124A of FIG. 1 or 13). You may have. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed.

ブロック1410において、ユーザ装置は、バイオメトリックデータ又は他の不均一分散データを受信しても良い。これは、1又は複数のセンサ、検出器、等を用いて受信されても良い。ブロック1420において、バイオメトリックデータは、平文ベクトルとして、あるランダム化レベルに処理されても良い。ブロック1420は、図15において更に説明されても良い。ブロック1430において、平文ベクトルは、本開示に記載のように関係線形性暗号化方式を用いて暗号化されて、線形性暗号文を生成しても良い。ブロック1440において、平文ベクトルは、本開示に記載のように関係近接性暗号化方式を用いて暗号化されて、近接性暗号文を生成しても良い。 At block 1410, the user device may receive biometric data or other non-uniformly distributed data. This may be received using one or more sensors, detectors, etc. At block 1420, the biometric data may be processed to some randomization level as a plaintext vector. Block 1420 may be further described in FIG. At block 1430, the plaintext vector may be encrypted using the relational linear encryption scheme as described in the present disclosure to generate a linear ciphertext. At block 1440, the plaintext vector may be encrypted using a relational proximity encryption scheme as described in the present disclosure to generate a proximity ciphertext.

ブロック1450で、線形性及び近接性暗号文は、認証サーバに通信されても良い。線形性及び近接性暗号文が認証サーバに通信されると、認証サーバは、暗号文と基準暗号文との間に関係が存在するかどうかを決定するために、本願明細書に記載のように比較及び決定を実行しても良い。関係が存在するとサーバが決定した場合、認証サーバは、ユーザ装置に認証を通信しても良い。幾つかの実施形態では、これは、基礎データが適切にランダム化されている所望のセキュリティレベルに基づいても良い。ブロック1460で、ユーザ装置は、認証サーバから、近接性暗号文と登録近接性暗号文との間に近接性が存在するか否かを示す認証を受信しても良い。第1のバイオメトリックテンプレートと第2のバイオメトリックテンプレートとの間に概算類似性が存在すると認証サーバが決定した場合、認証サーバから受信される認証又は認証信号は、近接性暗号文と登録近接性暗号文との間に近接性が存在することを示す。 At block 1450, the linearity and proximity ciphertext may be communicated to the authentication server. When the linearity and proximity ciphertext is communicated to the authentication server, the authentication server, as described herein, to determine if there is a relationship between the ciphertext and the reference ciphertext. Comparisons and decisions may be performed. If the server determines that a relationship exists, the authentication server may communicate the authentication with the user device. In some embodiments, this may be based on the desired security level at which the underlying data is properly randomized. At block 1460, the user device may receive an authentication from the authentication server indicating whether or not there is proximity between the proximity ciphertext and the registered proximity ciphertext. If the authentication server determines that there is an approximate similarity between the first biometric template and the second biometric template, the authentication or authentication signal received from the authentication server will be a proximity cipher and registered proximity. Indicates that there is proximity to the cipher.

図15は、不均一分散データを処理する例示的な方法1500のフロー図である。方法1500は、図14のブロック1420の代用又は拡張であっても良い。例えば、図14のブロック1410の後、方法1500が実施されても良く、次に図14のブロック1440に戻っても良い。方法1500は、図2の生体認証システム200の中で、図1の動作環境100の中で、又は図13の動作環境1300の中で実装され得るような生体認証システムにおいて実行されても良い。幾つかの実施形態では、方法1500は、図1のユーザ装置102又は図13のユーザ装置1302によりプログラム制御可能に実行されても良い。ユーザ装置102又はユーザ装置1302は、方法1500を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し格納している非一時的コンピュータ可読媒体(例えば、図1又は図13のメモリ122A)を含み又はそれに通信可能に結合されても良い。追加又は代替で、ユーザ装置102又はユーザ装置1302は、方法1500を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図1又は図13のプロセッサ124A)を有しても良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。例えば、ブロック1510及び1520は、同時に実行されても良く、又は省略されても良い。 FIG. 15 is a flow chart of an exemplary method 1500 for processing non-uniformly distributed data. Method 1500 may be a substitute or extension of block 1420 of FIG. For example, after block 1410 in FIG. 14, method 1500 may be implemented and then back to block 1440 in FIG. Method 1500 may be performed in the biometric system 200 of FIG. 2, in the operating environment 100 of FIG. 1, or in a biometric system such that it can be implemented in the operating environment 1300 of FIG. In some embodiments, method 1500 may be programmatically executed by user device 102 of FIG. 1 or user device 1302 of FIG. User device 102 or user device 1302 encodes and stores program code or instructions that can be executed by a processor to execute or control the execution of method 1500 (eg, FIG. 1 or FIG. 1 or). The memory 122A) of FIG. 13 may be included or communicably coupled to it. In addition or as an alternative, the user apparatus 102 or user apparatus 1302 comprises a processor configured to execute computer instructions to execute or control the execution of method 1500 (eg, processor 124A of FIG. 1 or 13). You may have. Although shown as separate blocks, depending on the desired implementation, the various blocks may be subdivided into additional blocks, combined into fewer blocks, or removed. For example, blocks 1510 and 1520 may be executed at the same time or may be omitted.

図14のブロック1410の後に、方法1500は、ブロック1510で開始しても良い。ブロック1510で、バイオメトリックデータの特性が決定されても良い。これは、1又は複数のエントロピ、ノイズ閾、及びデータのドメインを決定するステップを有しても良い。幾つかの実施形態では、これは、記憶装置から又は第三機関から読み出されたデータの予め決定された特徴であっても良い。例えば、指紋の分布における多様性は、受信されたバイオメトリックデータが指紋を表すビットストリームである場合、格納され読み出される既知の特徴であっても良い。幾つかの実施形態では、バイオメトリックデータが読み出されると、特徴が決定されても良い。例えば、ノイズ閾は、バイオメトリックデータを集めるために使用されるハードウェア、センサ、又は他のデータキャプチャ技術に部分的に基づいても良い。次に、方法1500はブロック1520に進んでも良い。 After block 1410 in FIG. 14, method 1500 may start at block 1510. At block 1510, the characteristics of the biometric data may be determined. It may have one or more entropies, noise thresholds, and steps to determine the domain of the data. In some embodiments, this may be a predetermined feature of the data read from the storage device or from a third party. For example, the diversity in the distribution of fingerprints may be a known feature stored and read out if the received biometric data is a bitstream representing the fingerprint. In some embodiments, features may be determined once the biometric data has been read. For example, the noise threshold may be based in part on the hardware, sensors, or other data capture techniques used to collect the biometric data. The method 1500 may then proceed to block 1520.

ブロック1520において、適切なセキュリティレベルは、セキュリティパラメータλに基づき決定されても良い。適切なセキュリティレベルは、使用されるバイオメトリックデータの感度、認証が要求されるアプリケーション、等に基づいても良い。次に、方法1500はブロック1530に進んでも良い。ブロック1530で、バイオメトリックデータについて適切なランダム化レベルが決定されても良い。上述のように、これは、ブロック1510において決定された特徴のうちの1又は複数、又はブロック1520における決定で用いられたセキュリティパラメータに部分的に基づいても良い。幾つかの実施形態では、適切なランダム化レベルは、セキュリティパラメータに比例しても良い。次に、方法1500はブロック1540に進んでも良い。 At block 1520, the appropriate security level may be determined based on the security parameter λ. The appropriate security level may be based on the sensitivity of the biometric data used, the application requiring authentication, and so on. The method 1500 may then proceed to block 1530. At block 1530, an appropriate level of randomization for biometric data may be determined. As mentioned above, this may be based in part on one or more of the features determined in block 1510, or the security parameters used in the determination in block 1520. In some embodiments, the appropriate level of randomization may be proportional to the security parameters. The method 1500 may then proceed to block 1540.

ブロック1540において、平文ベクトルとして適切なランダム化レベルにバイオメトリックデータを処理するために、強力な線形抽出器が用いられても良い。これは、数学的に演算X・rのように表すことができる。バイオメトリックデータがランダム化されると、方法1500は、図14のブロック1430へ処理の経路を取ることにより、終了しても良い。 At block 1540, a powerful linear extractor may be used to process the biometric data to a randomized level suitable as a plaintext vector. This can be mathematically expressed as the operation X · r. Once the biometric data has been randomized, method 1500 may be terminated by taking a processing path to block 1430 of FIG.

実施形態と関連して上述したように、近接性検証は、近接性関係秘密キーを用いて、近接性暗号文と登録近接性暗号文との間の近接性関係を検証する。近接性暗号文及び登録近接性暗号文は、この検証のために復号化されない。 As described above in connection with the embodiment, the proximity verification uses the proximity relationship secret key to verify the proximity relationship between the proximity ciphertext and the registered proximity ciphertext. Proximity and registered proximity ciphertexts are not decrypted for this verification.

上述の近接性関係を用いる近接性検証によると、ユーザは、データベースの中で特定の情報の近くに情報が登録されているか否かを見出すために、近接性検索を実行しても良い。例えば、近接性検索は、2以上の別個の一致する用語の発生が、特定距離の範囲内にある文書を探しても良い。ここで、距離は、例えば、中間にある語又は文字の数である。しかしながら、検索語(又は単語)、検索文、等であっても良い特定の情報は、暗号化形式で転送され、検索及び近接性検証のために復号化されない。さらに、データベースは、近接性検証のために復号化されない暗号化情報も有する。結果として、ユーザは、ウェブサーバ等に特定の情報それ自体を含む検索(又は閲覧)ログを残さずに、特定の情報の近くにある情報がデータベースに登録されているか否かを見出すことができ、検索の内容は第三者から隠蔽され得る。さらに、ユーザは、特定の情報の近くにある情報がデータベースに登録されているか否かを見出すことができるが、暗号化形式でデータベースに登録された、特定の情報の近くにある情報は、ユーザから隠蔽され得る。 According to the proximity verification using the proximity relationship described above, the user may perform an accessibility search to find out whether or not the information is registered near the specific information in the database. For example, an accessibility search may search for documents in which the occurrence of two or more distinct matching terms is within a certain distance. Here, the distance is, for example, the number of words or letters in the middle. However, certain information, which may be a search term (or word), search text, etc., is transferred in encrypted form and is not decrypted for search and accessibility verification. In addition, the database also has encrypted information that is not decrypted for accessibility verification. As a result, the user can find out whether or not information near the specific information is registered in the database without leaving a search (or browsing) log containing the specific information itself on the web server or the like. , The content of the search can be hidden from third parties. In addition, the user can determine whether information near the specific information is registered in the database, but information near the specific information registered in the database in encrypted form is the user. Can be hidden from.

ユーザが特定の情報の近くにある情報がデータベースに登録されていることを見出す場合、ユーザは、データベースの所有者又は管理者に連絡を取り、例えば所有者又は管理者がユーザとコンテンツを共有することに合意するとき、(例えば連絡により)データベースに登録された特定の情報の近くにある情報、つまり特定の情報に関連するコンテンツを取得するために必要な構成を行っても良い。 If the user finds that information near a particular piece of information is registered in the database, the user contacts the database owner or administrator, for example, the owner or administrator shares content with the user. When agreeing to, the configuration necessary to obtain information near the specific information registered in the database (for example, by contact), that is, the content related to the specific information may be made.

言い換えると、例えばデータベースが一般公衆からアクセス可能にされるときでさえ、検索されるべき情報は暗号化形式で転送され、検索及び近接性検証のために復号化されないので、検索の内容は隠蔽され、検索可能な暗号化を提供できる。さらに、関係暗号化を用いる近接性検証の結果から、検索されている情報の近くにある情報がデ―タベースに登録されているか否かを見出すことが可能である。しかしながら、データベースが近接性検証のために復号化されない暗号化情報を含むので、暗号化形式でデータベースに登録された情報に関連するコンテンツは、隠蔽され、検索可能な暗号化を提供できる。 In other words, the content of the search is hidden because, for example, even when the database is made accessible to the general public, the information to be searched is transferred in encrypted form and not decrypted for search and accessibility verification. , Can provide searchable encryption. Furthermore, from the result of proximity verification using relational encryption, it is possible to find out whether or not the information near the searched information is registered in the data base. However, since the database contains encrypted information that is not decrypted for accessibility verification, the content associated with the information registered in the database in encrypted form can be hidden and provide searchable encryption.

したがって、上述の実施形態の1つの適用では、1又は複数の第1のエンティティは、関係暗号化を用いる近接性検証の結果から、検索されている特定の情報の近くにある情報が1又は複数のエンティティの1又は複数のデータベースに登録されているか否かを見出すために、検索を実行しても良い。1又は複数の第1のエンティティは、1又は複数の第2のエンティティが1又は複数の第1のエンティティとコンテンツを共有することに合意するとき、1又は複数のデータベースに登録された、特定の情報の近くにある情報、つまり特定の情報に関連するコンテンツを取得しても良い。結果として、1又は複数の第1のエンティティと情報共有に合意する1又は複数の第2のエンティティとの間で有用な情報が共有され、同時に、データベースに登録された特定の情報に関連するコンテンツの、第三者からの機密性を保証できる。後述するように、第三者は、1又は複数の第2のエンティティにより情報を共有することを許されない1又は複数の第1のエンティティを有しても良い。 Therefore, in one application of the embodiment described above, one or more first entities may have one or more pieces of information near the particular information being retrieved from the results of proximity verification using relational encryption. A search may be performed to find out if one or more of the entities are registered in the database. A particular first entity registered in one or more databases when one or more second entities agree to share content with one or more first entities. Information that is close to the information, that is, content related to the specific information may be acquired. As a result, useful information is shared between one or more first entities and one or more second entities that agree to share information, while at the same time content related to specific information registered in the database. Can guarantee confidentiality from a third party. As will be described later, the third party may have one or more first entities that are not allowed to share information by one or more second entities.

この例では、暗号化は、検索を実行するとき、第1のエンティティの間で相互に異なる第1の(又は検索)キーを用いて実行されても良い。さらに、暗号化は、個々のデータベースに情報を登録するとき、第2のエンティティの間で相互に異なる第2の(又は登録)キーを用いて実行されても良い。ここで、第2のキーは、第1のキーと異なる。 In this example, encryption may be performed using first (or search) keys that differ from each other between the first entities when performing the search. In addition, encryption may be performed using second (or registration) keys that differ from each other between the second entities when registering information in individual databases. Here, the second key is different from the first key.

第1のエンティティは、関係暗号化を用いる近接性検証の結果から、例えばビッグデータ分析のために1又は複数のプロセッサを有するクラウドコンピューティング環境における1又は複数の第2のエンティティの1又は複数のデータベースに、検索されている特定の情報の近くに情報が登録されているか否かを見出すために、検索を実行しても良い。 The first entity is one or more of one or more second entities in a cloud computing environment with one or more processors, for example for big data analysis, from the results of proximity verification using relational encryption. A search may be performed to find out if information is registered in the database near the particular information being searched for.

上述の実施形態で使用される平文データは、種々の情報に関連しても良く、バイオメトリック情報に限定されない。種々の情報の例は、医療及び生物学的情報、技術情報、金融情報、等を有しても良い。医療及び生物学的情報は、臨床データ、健康データ、遺伝子データ、等を有しても良い。技術情報は、種々の技術分野における分析データ、評価データ、実験データ、等を有しても良い。金融情報は、銀行業務に関連するデータ、証券に関するデータ、等を有しても良い。 The plaintext data used in the above embodiments may be related to various information and is not limited to biometric information. Examples of various information may include medical and biological information, technical information, financial information, and the like. Medical and biological information may include clinical data, health data, genetic data, and the like. The technical information may include analysis data, evaluation data, experimental data, and the like in various technical fields. The financial information may include data related to banking business, data related to securities, and the like.

種々の情報は、登録暗号文の形式でデータベースに登録されても良い。一例として、医療及び生物学的情報の暗号化を含む登録暗号文は、病院、研究施設、大学、行政組織、行政機関、等のようなエンティティのデータベースに登録されても良い。 Various information may be registered in the database in the form of a registered ciphertext. As an example, registered ciphertexts, including encryption of medical and biological information, may be registered in a database of entities such as hospitals, research facilities, universities, government agencies, government agencies, and the like.

次に、図16を参照することにより、上述の実施形態の1つの適用の一例を説明する。図16は、別の例示的な動作環境1300−1のブロック図である。図16では、図13の対応する部分と同じ部分は、同じ参照符号により示され、その説明は省略される。図16では、複数のユーザ装置1302−1、...、1302−L、及びデータベースを形成する複数のメモリ122B−1、...、122B−Mを含む複数の認証サーバ140−1、...、140−Mが設けられる。ここで、L及びMは2以上の自然数である。Lは、Mと等しい又は異なっても良い。N個のデータベースが設けられても良い。また、2以上の認証サーバに関して共通データベースが設けられても良い。ここで、Nは、2以上の自然数であり、Mと等しい又は異なっても良い。認証サーバの内部にデータベースを設ける代わりに、データベースは、認証サーバの外部に設けられ、ネットワーク107に接続されても良い。便宜のために、ユーザ装置1302−1、...、1302−Lは、それぞれエンティティ(以後、「ユーザ」としても言及される)150−1、...、150−Lにより用いられると仮定する。さらに、認証サーバ140−1、...、140−Mは、それぞれエンティティ(以後、「ユーザ(又はオペレータ)」としても言及される)152−1、...、152−Mにより用いられると仮定する。ネットワーク107は、1又は複数のネットワークを有しても良く、ネットワーク107はインターネットを有しても良い。動作環境1300−1は、クラウドコンピューティング環境を形成しても良い。 Next, with reference to FIG. 16, an example of one application of the above-described embodiment will be described. FIG. 16 is a block diagram of another exemplary operating environment 1300-1. In FIG. 16, the same parts as the corresponding parts of FIG. 13 are indicated by the same reference numerals, and the description thereof will be omitted. In FIG. 16, a plurality of user devices 1302-1 ,. .. .. , 1302-L, and a plurality of memories 122B-1, which form a database ,. .. .. , 122B-M, Multiple Authentication Servers 140-1 ,. .. .. , 140-M are provided. Here, L and M are natural numbers of 2 or more. L may be equal to or different from M. N databases may be provided. Further, a common database may be provided for two or more authentication servers. Here, N is a natural number of 2 or more and may be equal to or different from M. Instead of providing the database inside the authentication server, the database may be provided outside the authentication server and connected to the network 107. For convenience, user device 1302-1 ,. .. .. , 1302-L are entities (hereinafter also referred to as "users") 150-1, respectively. .. .. , 150-L. Furthermore, the authentication server 140-1 ,. .. .. , 140-M are entities (hereinafter also referred to as "users (or operators)") 152-1 ,. .. .. , 152-M. The network 107 may have one or more networks, and the network 107 may have the Internet. The operating environment 1300-1 may form a cloud computing environment.

図16は、信頼できるエンティティサーバ1108を含むとして動作環境1300−1を示すが、この信頼できるエンティティサーバ1108は省略されても良い。信頼できるエンティティサーバ1108が設けられる場合、この信頼できるエンティティサーバ1108は、プロセッサに基づくコンピューティングシステムを有しても良い。例えば、信頼できるエンティティサーバ1108は、ハードウェアサーバ又はサーバとして機能するよう構成される別のプロセッサに基づくコンピューティングシステムを有しても良い。信頼できるエンティティサーバ1108は、メモリ及びネットワーク通信能力を有しても良い。動作環境1300において、信頼できるエンティティサーバ1108は、ユーザ装置1302−1、...、1302−L、認証サーバ140−1、...、140−M、及びデータベース122Bとネットワーク107を介して通信するよう構成されても良い。 FIG. 16 shows the operating environment 1300-1 assuming that it includes a trusted entity server 1108, but the trusted entity server 1108 may be omitted. If a trusted entity server 1108 is provided, the trusted entity server 1108 may have a processor-based computing system. For example, the trusted entity server 1108 may have a hardware server or a computing system based on another processor configured to act as a server. The trusted entity server 1108 may have memory and network communication capabilities. In the operating environment 1300, the reliable entity server 1108 is the user apparatus 1302-1 ,. .. .. , 1302-L, Authentication Server 140-1 ,. .. .. , 140-M, and database 122B may be configured to communicate via network 107.

信頼できるエンティティサーバ1108は、信頼できるエンティティに関連付けられても良い。例えば、信頼できるエンティティは、認証機関のような非利害関係第三機関を有しても良い。ユーザ150−1、...、150−L、及び認証サーバ140−1、...、140−Mに関連するエンティティは、信頼できるエンティティを信頼し、選択し、及びそれに合意しても良い。 The trusted entity server 1108 may be associated with a trusted entity. For example, a trusted entity may have a non-interested third party, such as a certification body. User 150-1, ... .. .. , 150-L, and Authentication Server 140-1 ,. .. .. , 140-M related entities may trust, select, and agree on trusted entities.

信頼できるエンティティサーバ1108は、キー生成モジュール1118を有しても良い。キー生成モジュール1118は、関係暗号化プロトコルで使用されるキーを生成するよう構成されても良い。幾つかの実施形態では、キーは、図22及び23と関連して後述する公開キーセット、関係キー、及び第1及び第2の検証キーを有しても良い。キー生成モジュール1118により生成されるキーは、ネットワーク107を介して、ユーザ装置1302−1、...、1302−L、認証サーバ140−1、...、140−Mに通信され又は利用可能にされても良い。 The trusted entity server 1108 may have a key generation module 1118. The key generation module 1118 may be configured to generate the keys used in the relational encryption protocol. In some embodiments, the key may have a public key set, a relational key, and first and second verification keys described below in connection with FIGS. 22 and 23. The key generated by the key generation module 1118 is the user device 1302-1. .. .. , 1302-L, Authentication Server 140-1 ,. .. .. , 140-M may be communicated or made available.

動作環境1300−1において関係暗号化を用いる近接性検証の方法は、ユーザ装置1302−1、...、1302−Lの各々から、認証サーバ140−1、...、140−Mの各々のデータベースの各々に関して、図1〜15と関連して上述したように、実行されても良い。 The method of accessibility verification using relational encryption in the operating environment 1300-1 is described in User Equipment 1302-1. .. .. , 1302-L, authentication server 140-1 ,. .. .. , 140-M for each of the databases, may be performed as described above in connection with FIGS. 1-15.

図17は、関係暗号化を用いる近接性検証の方法の第1の例を説明する図である。この第1の例では、便宜上、ユーザ150−1は、ユーザ装置1302−1を操作して、検索を実行し、関係暗号化を用いる近接性検証の結果から、検索されている情報に近い情報が認証サーバ140−1、...、140−Mのデータベースに登録されているか否かを発見すると仮定する。また、検索されている情報は、認証サーバ140−1のメモリ122B−1により形成されるデータベース(以後、「データベース122B−1」としても参照される)に登録されていると仮定する。さらに、検索されている及びデータベースに登録されている情報は、医療及び生物学的情報の一例である臨床データであると仮定する。 FIG. 17 is a diagram illustrating a first example of a proximity verification method using relational encryption. In this first example, for convenience, the user 150-1 operates the user device 1302-1 to execute the search, and the information close to the searched information is obtained from the result of the proximity verification using the relational encryption. Is the authentication server 140-1 ,. .. .. , Suppose you discover whether it is registered in the 140-M database. Further, it is assumed that the searched information is registered in the database formed by the memory 122B-1 of the authentication server 140-1 (hereinafter, also referred to as "database 122B-1"). Further, it is assumed that the information retrieved and registered in the database is clinical data that is an example of medical and biological information.

検索されている情報が、例えば個人に割り当てられた医療IDである場合、ユーザ装置1302−1は、行政組織の中に設けられても良く、認証サーバ140−1及びデータベース122B−1は病院の中に設けられても良い。図17に示すように、データベース122B−1は、患者名(n)、患者により訪問された科(dv)、病歴(ch)、保険証番号(icn)、保険によりカバーされる費用(ccbi)等のような臨床データを、各々の医療IDについて、暗号化形式で、登録しても良い。したがって、例えば、医療ID Mは暗号化形式Enc(M)で登録され、医療ID Mは暗号化形式Enc(M)で登録される。認証サーバ140−1は、暗号化形式でデータベース122B−1に臨床データを登録するために、ユーザ(又はオペレータ)152−1により操作されても良い。 When the information being searched is, for example, a medical ID assigned to an individual, the user device 1302-1 may be provided in an administrative organization, and the authentication server 140-1 and the database 122B-1 may be provided in a hospital. It may be provided inside. As shown in FIG. 17, the database 122B-1 contains the patient name (n), the department visited by the patient (dv), the medical history (ch), the insurance card number (incn), and the cost covered by insurance (ccbi). Clinical data such as, etc. may be registered for each medical ID in an encrypted format. Thus, for example, the medical ID M 1 is registered in the encryption format Enc 1 (M 1 ) and the medical ID M 2 is registered in the encryption format Enc 1 (M 2 ). The authentication server 140-1 may be operated by the user (or operator) 152-1 in order to register clinical data in the database 122B-1 in encrypted form.

行政組織のユーザ装置1302−1のユーザ150−1は、例えば病歴chを有する患者を知りたいと望み得る。この場合、病歴chについての検索は、暗号化形式Enc(ch)で行われ、検索及び近接性検証のために復号化されない。ユーザ装置1302−1により検索のために使用される暗号化Encは、臨床データを暗号化形式でデータベース122B−1に登録するときに使用される暗号化Encとは異なる。さらに、データベース122B−1に登録された、暗号化形式の臨床データは、近接性検証のために復号化されない。結果として、ユーザ装置1302−1のユーザ150−1は、ウェブサーバ等に病歴ch自体を含む検索(又は閲覧)ログを残さずに、病歴chの近くにある病歴、つまり病歴chに関連する臨床データがデータベースに登録されているか否かを見出すことができ、検索の内容は第三者から隠蔽され得る。さらに、ユーザ150−1は、病歴chの近くにある病歴がデータベース122B−1に登録されていることを見出すことができるが、暗号化形式でデータベース122B−1に登録された、病歴chの近くにある病歴は、ユーザ150−1から隠蔽され得る。 User 150-1 of the user device 1302-1 of administrative organization may wish to know the patient with for instance a history ch 1. In this case, the search for the medical history ch 1 is performed in the encrypted format Enc 2 (ch 1 ) and is not decrypted for the search and proximity verification. The encrypted Enc 2 used for retrieval by the user apparatus 1302-1 is different from the encrypted Enc 1 used when registering clinical data in the database 122B-1 in encrypted form. Furthermore, the encrypted clinical data registered in database 122B-1 is not decrypted for proximity verification. As a result, a user 150-1 of the user device 1302-1 is without leaving the search (or viewing) log that contains history ch 1 itself to a web server or the like, medical history near history ch 1, that is, medical history ch 1 It is possible to find out whether relevant clinical data is registered in the database, and the content of the search can be hidden from third parties. Further, the user 150-1 can find that the medical history near the medical history ch 1 is registered in the database 122B-1, but the medical history ch 1 registered in the database 122B-1 in the encrypted form. The medical history in the vicinity of is hidden from user 150-1.

ユーザ150−1が、病歴chの近くにある病歴がデータベース122B−1に登録されていることを見出す例では、例えば、ユーザ150−1は、データベース122B−1の所有者又は管理者、つまり病院に連絡し、所有者又は管理者がユーザ150−1とコンテンツを共有することに合意するとき、データベース122B−1に登録された、病歴ch1に関連するコンテンツの少なくとも一部を取得するために必要な構成を(例えば、連絡により)生成しても良い。したがって、所有者又は管理者は、行政組織と、病歴chに関連する病歴の一部、つまり、病歴chと類似する病歴を有する患者を共有することに合意しても良い。他方で、例えば、所有者又は管理者は、行政組織と、病歴chに関連する病歴の別の部分、つまり、病歴chと類似する病歴を有する患者の医療IDを共有することに合意しなくても良い。 In an example where user 150-1 finds that a medical history near medical history ch 1 is registered in database 122B-1, for example, user 150-1 is the owner or administrator of database 122B-1, ie. To obtain at least part of the medical history ch1 related content registered in database 122B-1 when contacting the hospital and the owner or administrator agrees to share the content with user 150-1. The required configuration may be generated (eg, by contact). Thus, owner or administrator, and administrative organization, part of history related to medical history ch 1, i.e., may be agreed to share the patients with a history similar to history ch 1. On the other hand, for example, owner or administrator, and administrative organization, another part of the history relating to the medical history ch 1, i.e., agreed to share the medical ID of a patient with a history similar to history ch 1 It doesn't have to be.

その結果、本例では、有用な情報は、行政組織及び行政組織との情報共有に合意する病院の間で効率的に共有され利用され得ると同時に、データベースに登録された、病歴chに関連する病歴の、第三者からの機密性を保証する。また、データベースに登録された、病歴chに関連する病歴の一部の、行政組織からの機密性を保証して、病歴chと類似する病歴を有する患者のプライバシ情報を保護することも可能である。 As a result, in this example, useful information, at the same time can be efficiently shared use among hospitals to agree to share information with administrative organization and administrative organization, registered in the database, associated with the history ch 1 Guarantee the confidentiality of your medical history from a third party. It is also possible to guarantee the confidentiality of a part of the medical history related to medical history ch 1 registered in the database from the administrative organization and protect the privacy information of patients having a medical history similar to medical history ch 1. Is.

図18は、関係暗号化を用いる近接性検証の方法の第2の例を説明する図である。図18では、図17の対応する部分と同じ部分は、同じ参照符号により示され、その説明は省略される。 FIG. 18 is a diagram illustrating a second example of the proximity verification method using relational encryption. In FIG. 18, the same parts as the corresponding parts of FIG. 17 are indicated by the same reference numerals, and the description thereof will be omitted.

図18に示すように、データベース122B−1は、各々の医療IDについて、暗号化形式で、患者の性別、患者の病気、患者の年齢、等のような臨床データを登録しても良い。本例では、各々の医療IDの複数の臨床データの組合せは、医療IDを有する患者の属性データに対応する。行政組織のユーザ装置1302−1のユーザ150−1は、医療ID Mを有する患者の属性データがデータベースに登録されているか否かを知りたいと望み得る。この場合、例えば、属性データ(M,G,I,A)についての検索は、暗号化形式Enc(M,G,I,A)で行われ、検索及び近接性検証のために復号化されない。ユーザ装置1302−1により検索のために使用される暗号化Encは、臨床データを暗号化形式でデータベース122B−1に登録するときに使用される暗号化Encとは異なる。さらに、データベース122B−1に登録された、暗号化形式の属性データは、近接性検証のために復号化されない。結果として、ユーザ装置1302−1のユーザ150−1は、ウェブサーバ等に属性データ(M,G,I,A)自体を含む検索(又は閲覧)ログを残さずに、属性データ(M,G,I,A)の近くにある属性データがデータベースに登録されているか否かを見出すことができ、検索の内容は第三者から隠蔽され得る。さらに、ユーザ150−1は、属性データ(M1,G1,I1,A1)の近くにある属性データがデータベース122B−1に登録されていることを見出すことができるが、暗号化形式でデータベース122B−1に登録された、属性データ(M1,G1,I1,A1)の近くにある属性データは、ユーザ150−1から隠蔽され得る。 As shown in FIG. 18, database 122B-1 may register clinical data such as patient's gender, patient's illness, patient's age, etc. in encrypted form for each medical ID. In this example, the combination of multiple clinical data for each medical ID corresponds to the attribute data of the patient with the medical ID. User 150-1 of the user device 1302-1 administrative organization, the attribute data of patients with medical ID M 1 may desire to know whether or not it is registered in the database. In this case, for example, the search for the attribute data (M 1 , G 1 , I 1 , A 1 ) is performed in the encryption format Enc 2 (M 1 , G 1 , I 1 , A 1 ), and the search and proximity are performed. Not decrypted for sex verification. The encrypted Enc 2 used for retrieval by the user apparatus 1302-1 is different from the encrypted Enc 1 used when registering clinical data in the database 122B-1 in encrypted form. Further, the attribute data in the encrypted format registered in the database 122B-1 is not decrypted for proximity verification. As a result, the user 150-1 of the user apparatus 1302-1 does not leave a search (or browsing) log including the attribute data (M 1 , G 1 , I 1 , A 1 ) itself on the web server or the like, and the attribute data It is possible to find out whether or not the attribute data near (M 1 , G 1 , I 1 , A 1 ) is registered in the database, and the contents of the search can be hidden from a third party. Further, the user 150-1 can find that the attribute data near the attribute data (M1, G1, I1, A1) is registered in the database 122B-1, but in the encrypted format, the database 122B- The attribute data near the attribute data (M1, G1, I1, A1) registered in 1 can be hidden from the user 150-1.

図19は、関係暗号化を用いる近接性検証の方法の第3の例を説明する図である。図19では、図17の対応する部分と同じ部分は、同じ参照符号により示され、その説明は省略される。 FIG. 19 is a diagram illustrating a third example of the proximity verification method using relational encryption. In FIG. 19, the same parts as the corresponding parts of FIG. 17 are indicated by the same reference numerals, and the description thereof will be omitted.

検索されている情報が、医療及び生物学的情報の一例であるDNAパターンである場合、ユーザ装置1302−1は、研究施設の中に設けられても良く、認証サーバ140−1及びデータベース122B−1は病院の中に設けられても良い。図18に示すように、データベース122B−1は、DNAパターン、DNAパターンに関連する病気、等のような、遺伝子データを、暗号化形式で登録しても良い。したがって、例えば、DNAパターンGTG...TAG及びそれに関連する病気Iは、暗号化形式Enc(GTG...TAG)及びEnc(I)で登録され、DNAパターンGTC...GAC及びそれに関連する病気Iは、暗号化形式Enc(GTC...GAC)及びEnc(I)で登録される。認証サーバ140−1は、暗号化形式でデータベース122B−1に遺伝子データを登録するために、ユーザ(又はオペレータ)152−1により操作されても良い。 If the information being retrieved is a DNA pattern that is an example of medical and biological information, the user device 1302-1 may be provided in the research facility, authentication server 140-1 and database 122B-. 1 may be provided in the hospital. As shown in FIG. 18, the database 122B-1 may register genetic data in encrypted form, such as DNA patterns, diseases associated with DNA patterns, and the like. Therefore, for example, the DNA pattern GTG. .. .. TAG and related diseases I 1 are registered in the cryptographic forms Enc 1 (GTG ... TAG) and Enc 1 (I 1 ) and have the DNA pattern GTC. .. .. The GAC and related illnesses I 2 are registered in the encrypted forms Enc 1 (GTC ... GAC) and Enc 1 (I 2 ). The authentication server 140-1 may be operated by the user (or operator) 152-1 in order to register the genetic data in the database 122B-1 in an encrypted format.

研究施設のユーザ装置1302−1のユーザ150−1は、例えば、DNAパターンGTG...TAGに関連する病気を知りたいと望み得る。この場合、DNAパターンGTG...TAGについての検索は、例えば暗号化形式Enc(GTG...TAG)で行われ、検索及び近接性検証のために復号化されない。ユーザ装置1302−1により検索のために使用される暗号化Encは、遺伝子データを暗号化形式でデータベース122B−1に登録するときに使用される暗号化Encとは異なる。さらに、データベース122B−1に登録された、暗号化形式の遺伝子データは、近接性検証のために復号化されない。結果として、ユーザ装置1302−1のユーザ150−1は、ウェブサーバ等にDNAパターンGTG...TAG自体を含む検索(又は閲覧)ログを残さずに、DNAパターンGTG...TAGの近くにある属性データがデータベースに登録されているか否かを見出すことができ、検索の内容は第三者から隠蔽され得る。さらに、ユーザ150−1は、DNAパターンGTG...TAGの近くにあるDNAパターンがデータベース122B−1に登録されていることを見出すことができるが、暗号化形式でデータベース122B−1に登録された、DNAパターンGTG...TAGの近くにあるDNAパターンは、ユーザ150−1から隠蔽され得る。 The user 150-1 of the user device 1302-1 of the research facility is described, for example, in the DNA pattern GTG. .. .. You may want to know about TAG-related illnesses. In this case, the DNA pattern GTG. .. .. The search for TAG is performed, for example, in the encryption format Enc 2 (GTG ... TAG), and is not decrypted for search and proximity verification. The encrypted Enc 2 used for retrieval by the user apparatus 1302-1 is different from the encrypted Enc 1 used when registering genetic data in the database 122B-1 in an encrypted format. Further, the encrypted gene data registered in the database 122B-1 is not decrypted for proximity verification. As a result, the user 150-1 of the user apparatus 1302-1 sends the DNA pattern GTG. .. .. DNA pattern GTG. Without leaving a search (or browsing) log containing the TAG itself. .. .. It is possible to find out whether or not attribute data near the TAG is registered in the database, and the content of the search can be hidden from a third party. In addition, user 150-1 can see the DNA pattern GTG. .. .. It can be found that the DNA pattern near the TAG is registered in the database 122B-1, but the DNA pattern GTG. Is registered in the database 122B-1 in encrypted form. .. .. DNA patterns near the TAG can be concealed from user 150-1.

ユーザ150−1が、DNAパターンGTG...TAGの近くにあるDNAパターンがデータベース122B−1に登録されていることを見出す例では、例えば、ユーザ150−1は、データベース122B−1の所有者又は管理者、つまり病院に連絡し、所有者又は管理者がユーザ150−1とコンテンツを共有することに合意するとき、DNAパターンGTG...TAGに関連するコンテンツの少なくとも一部、つまりDNAパターンGTG...TAGの近くにあるDNAパターンに関してデータベース122B−1に登録された病気、を取得するために必要な構成を(例えば、連絡により)生成しても良い。したがって、本例では、所有者又は管理者は、DNAパターンGTG...TAGに関連する遺伝子データの一部、つまりDNAパターンGTG...TAGの近くにあるDNAパターンに関連する病気を、研究施設と共有することに合意しても良い。他方で、所有者又は管理者は、DNAパターンGTG...TAGの近くにあるDNAパターンに関連する遺伝子データの別の部分を、研究施設と共有することに合意しなくても良い。 User 150-1 has a DNA pattern GTG. .. .. In an example of finding that a DNA pattern near the TAG is registered in database 122B-1, for example, user 150-1 contacts the owner or administrator of database 122B-1, i.e. the hospital, and the owner. Alternatively, when the administrator agrees to share the content with user 150-1, the DNA pattern GTG. .. .. At least part of the content related to TAG, ie the DNA pattern GTG. .. .. The configuration required to obtain the disease, registered in database 122B-1 with respect to the DNA pattern near the TAG, may be generated (eg, by contact). Therefore, in this example, the owner or administrator is the DNA pattern GTG. .. .. Part of the genetic data related to TAG, ie the DNA pattern GTG. .. .. You may agree to share DNA pattern-related diseases near the TAG with your research facility. On the other hand, the owner or administrator has the DNA pattern GTG. .. .. You do not have to agree to share with your laboratory another piece of genetic data related to the DNA pattern near the TAG.

その結果、本例では、有用な情報は、研究施設及び研究施設との情報共有に合意する病院の間で効率的に共有され利用され得ると同時に、データベースに登録された、DNAパターンGTG...TAGの近くにあるDNAパターンに関連する遺伝子データの、第三者からの機密性を保証する。また、データベースに登録された、DNAパターンGTG...TAGの近くにあるDNAパターンに関連する遺伝子データの一部の、研究施設からの機密性を保証して、DNAパターンGTG...TAGの近くにあるDNAパターンに関連する機密情報又は秘密情報を保護することも可能である。 As a result, in this example, useful information can be efficiently shared and used between the research facility and the hospitals that agree to share the information with the research facility, and at the same time, the DNA pattern GTG. .. .. Ensures third-party confidentiality of genetic data associated with DNA patterns near the TAG. In addition, the DNA pattern GTG. .. .. To ensure the confidentiality of some of the genetic data associated with the DNA pattern near the TAG from the laboratory, the DNA pattern GTG. .. .. It is also possible to protect sensitive or confidential information associated with DNA patterns near the TAG.

図20は、関係暗号化を用いる近接性検証の方法の第4の例を説明する図である。図20では、図19の対応する部分と同じ部分は、同じ参照符号により示され、その説明は省略される。 FIG. 20 is a diagram illustrating a fourth example of the proximity verification method using relational encryption. In FIG. 20, the same parts as the corresponding parts of FIG. 19 are indicated by the same reference numerals, and the description thereof will be omitted.

図20に示すように、データベース116−1は、例えば病気等に関連する意味のある単位であるセグメント(つまり、単一データのセグメント)で、DNAパターンを登録しても良い。本例では、例えば、DNAセグメントGTGA、GAAG、TTAT、GATA、...、それに関連する病気I、等は、暗号化形式Enc(GTGA)、Enc(GAAG)、Enc(TTAT)、Enc(GATA)、Enc(I)、等で登録される。本例では、例えば、DNAセグメントGTCC、TAAG、GTGT、GATAAC、...、それに関連する病気I、等は、暗号化形式Enc(GTCC)、Enc(TAAG)、Enc(GTGT)、Enc(GATAAC)、Enc(I)、等で登録される。この場合、研究施設のユーザ装置1302−1のユーザ150−1は、例えばDNAセグメントGTGAに関連する病気のようなDNAセグメントに関連する情報が、データベースに登録されているか否かを見出すことができる。 As shown in FIG. 20, the database 116-1 may register a DNA pattern in a segment (that is, a segment of a single data) which is a meaningful unit related to, for example, a disease or the like. In this example, for example, the DNA segments GTGA, GAAG, TTAT, GATA ,. .. .. , Related diseases I 1 , etc. are registered in the encryption formats Enc 1 (GTGA), Enc 1 (GAAG), Enc 1 (TTAT), Enc 1 (GATA), Enc 1 (I 1 ), etc. .. In this example, for example, the DNA segments GTCC, TAAG, GTGT, GATAAC ,. .. .. , Related diseases I 2 , etc. are registered in the encrypted formats Enc 1 (GTCC), Enc 1 (TAAG), Enc 1 (GTGT), Enc 1 (GATAAC), Enc 1 (I 2 ), etc. .. In this case, the user 150-1 of the user apparatus 1302-1 of the research facility can find out whether or not the information related to the DNA segment such as the disease related to the DNA segment GTGA is registered in the database. ..

上述の第2の例によると、検索される情報及び登録される情報の各々は、複数のデータアイテムの組合せを有する。他方で、第4の例によると、検索される情報及び登録される情報の各々は、単一のデータアイテムの複数のセグメントを有する。 According to the second example described above, each of the searched information and the registered information has a combination of a plurality of data items. On the other hand, according to the fourth example, each of the retrieved information and the registered information has multiple segments of a single data item.

図21は、関係暗号化を用いる近接性検証の方法の第5の例を説明する図である。図21では、図17の対応する部分と同じ部分は、同じ参照符号により示され、その説明は省略される。 FIG. 21 is a diagram illustrating a fifth example of the proximity verification method using relational encryption. In FIG. 21, the same parts as the corresponding parts of FIG. 17 are indicated by the same reference numerals, and the description thereof will be omitted.

上述の第1〜第4の例は、医療及び生物学的情報に関連する近接性検証を実行する。しかしながら、上述のように、近接性検証を受ける情報は、医療及び生物学的情報に限定されない。第5の例は、近接性検証が適用される情報種類の一例として、金融情報に関連する近接性検証を実行する。 The first to fourth examples described above perform proximity verification related to medical and biological information. However, as mentioned above, the information subject to accessibility verification is not limited to medical and biological information. The fifth example performs accessibility verification related to financial information as an example of the information type to which accessibility verification is applied.

検索されている情報が、例えば個人に割り当てられた顧客IDである場合、ユーザ装置1302−1は、行政組織の中に設けられても良く、認証サーバ140−1及びデータベース122B−1は銀行の中に設けられても良い。図21に示すように、データベース122B−1は、顧客名(cn)、顧客により所有される口座の種類(ta)、口座番号(an)、顧客の口座の残高(ba)、等のような銀行業務に関連するデータ(以後、「銀行業務データ」としても参照される)を、各々の顧客IDについて、暗号化形式で登録しても良い。したがって、例えば、顧客ID MC1は暗号化形式Enc(MC1)で登録され、顧客ID MC2は暗号化形式Enc(MC2)で登録される。認証サーバ140−1は、暗号化形式でデータベース122B−1に銀行業務データを登録するために、ユーザ(又はオペレータ)152−1により操作されても良い。 When the information being searched is, for example, a customer ID assigned to an individual, the user device 1302-1 may be provided in an administrative organization, and the authentication server 140-1 and the database 122B-1 may be provided in a bank. It may be provided inside. As shown in FIG. 21, the database 122B-1 has a customer name (cn), a type of account owned by the customer (ta), an account number (an), a balance of the customer's account (ba), and the like. Data related to banking business (hereinafter, also referred to as "banking business data") may be registered in an encrypted format for each customer ID. Thus, for example, a customer ID M C1 is registered in an encrypted form Enc 1 (M C1), a customer ID M C2 is registered in an encrypted form Enc 1 (M C2). The authentication server 140-1 may be operated by the user (or operator) 152-1 in order to register the banking business data in the database 122B-1 in the encrypted format.

行政組織のユーザ装置1302−1のユーザ150−1は、例えば、顧客ID MC1の近くにある顧客IDを有する顧客により所有される口座の種類を知りたいと望み得る。この場合、顧客ID MC1についての検索は、例えば暗号化形式Enc(MC1)で行われ、検索及び近接性検証のために復号化されない。ユーザ装置1302−1により検索のために使用される暗号化Encは、銀行業務データを暗号化形式でデータベース122B−1に登録するときに使用される暗号化Encとは異なる。さらに、データベース122B−1に登録された、暗号化形式の銀行業務データは、近接性検証のために復号化されない。結果として、ユーザ装置1302−1のユーザ150−1は、ウェブサーバ等に顧客ID MC1自体を含む検索(又は閲覧)ログを残さずに、顧客ID MC1の近くにある顧客の銀行業務データがデータベースに登録されているか否かを見出すことができ、検索の内容は第三者から隠蔽され得る。さらに、ユーザ150−1は、顧客ID MC1の近くにある顧客の銀行業務データがデータベース122B−1に登録されていることを見出すことができるが、暗号化形式でデータベース122B−1に登録された、顧客ID MC1の近くにある顧客の銀行業務データは、ユーザ150−1から隠蔽され得る。 User 150-1 of the user device 1302-1 administrative organization, for example, may desire to know the type of accounts owned by the customer having the customer ID located near the customer ID M C1. In this case, the search for customer ID M C1, for example, is done in an encrypted form Enc 2 (M C1), not decoded for retrieval and proximity verifier. The encrypted Enc 2 used for retrieval by the user apparatus 1302-1 is different from the encrypted Enc 1 used when registering banking data in the database 122B-1 in an encrypted format. Further, the encrypted banking data registered in the database 122B-1 is not decrypted for accessibility verification. As a result, the user 150-1 of the user device 1302-1 is, without leaving the search (or viewing) log that contains the customer ID M C1 itself to a web server, or the like, banking data of customers who are close to the customer ID M C1 Can be found whether or not is registered in the database, and the content of the search can be hidden from a third party. Furthermore, the user 150-1, may find that the banking customer data near the customer ID M C1 is registered in the database 122B-1, is registered in the database 122B-1 in encrypted form was, banking data of customers who are close to the customer ID M C1 can be hidden from the user 150-1.

ユーザ150−1が、顧客ID MC1の近くにある顧客の銀行業務データがデータベース122B−1に登録されていることを見出す例では、例えば、ユーザ150−1は、データベース122B−1の所有者又は管理者、つまり銀行に連絡し、所有者又は管理者がユーザ150−1とコンテンツを共有することに合意するとき、データベース122B−1に登録された、顧客ID MC1に関連するコンテンツの少なくとも一部を取得するために必要な構成を(例えば、連絡により)生成しても良い。したがって、所有者又は管理者は、行政組織と、顧客ID MC1に関連する銀行業務データの一部、つまり、顧客ID MC1の近くにある顧客IDを有する顧客により所有される口座の種類を共有することに合意しても良い。他方で、所有者又は管理者は、行政組織と、顧客ID MC1に関連する銀行業務データの別の部分、つまり、顧客ID MC1の近くにある顧客IDを有する顧客の顧客口座の残高を共有することに合意しなくても良い。 User 150-1, in the example of finding that the banking customer data near the customer ID M C1 is registered in the database 122B-1, for example, a user 150-1, the owner of the database 122B-1 or administrator, i.e. contact bank, when the owner or manager to agree to share user 150-1 and content, registered in the database 122B-1, at least the content associated with the customer ID M C1 The configuration required to obtain a portion may be generated (eg, by contact). Thus, owner or administrator, and administrative organization, part of the banking data associated with the customer ID M C1, i.e., the type of account owned by the customer having the customer ID located near the customer ID M C1 You may agree to share. On the other hand, the owner or administrator, and administrative organization, another part of the banking data relating to the customer ID M C1, in other words, the balance of the customer's customer accounts with a customer ID in the vicinity of the customer ID M C1 You don't have to agree to share.

その結果、本例では、有用な情報は、行政組織及び行政組織との情報共有に合意する銀行の間で効率的に共有され利用され得ると同時に、データベースに登録された、顧客ID MC1に関連する銀行業務データの、第三者からの機密性を保証する。また、データベースに登録された、顧客ID MC1に関連する銀行業務データの一部の、行政組織からの機密性を保証して、顧客ID MC1の近くにある顧客IDを有する顧客のプライバシ情報を保護することも可能である。 As a result, in this example, useful information can be efficiently shared and used between the administrative organization and the banks that agree to share the information with the administrative organization, and at the same time, the customer ID MC1 registered in the database. Guarantee the confidentiality of relevant banking data from third parties. In addition, registered in the database, the part of the banking data relating to the customer ID M C1, to guarantee the confidentiality of the administrative organization, customer privacy information with a customer ID in the vicinity of the customer ID M C1 It is also possible to protect.

次に、図22及び23を参照することにより、関係暗号化を用いる近接性検証の方法の第6の例を説明する。図22は、アクセス制限テーブルの一例を示す。図23は、関係暗号化を用いる近接性検証の方法の第6の例を説明する図である。図23では、図16の対応する部分と同じ部分は、同じ参照符号により示され、その説明は省略される。図23は、図16においてL=M=3である場合を示す。本例では、各々の認証サーバは、アクセス制限テーブルに基づきデータベースへのアクセスを制限しても良い。さらに、データベースは、認証サーバの外部に設けられ、ネットワーク107に接続される。 Next, a sixth example of the proximity verification method using relational encryption will be described with reference to FIGS. 22 and 23. FIG. 22 shows an example of an access restriction table. FIG. 23 is a diagram illustrating a sixth example of the proximity verification method using relational encryption. In FIG. 23, the same parts as the corresponding parts of FIG. 16 are indicated by the same reference numerals, and the description thereof will be omitted. FIG. 23 shows the case where L = M = 3 in FIG. In this example, each authentication server may restrict access to the database based on the access restriction table. Further, the database is provided outside the authentication server and is connected to the network 107.

図22は、図23に示す動作環境1300−1の中に、3個のユーザ装置1302−1〜1302−3、3個の認証サーバ140−1〜140−3、及び3個のデータベース122B−1〜122B−3が設けられる場合の、アクセス制限テーブル1800を示す。図22で、Ka、Kb、及びKcは、例えば図14に示すブロック1460に先行する任意のブロックで、信頼できるエンティティサーバ1108から通信され、それぞれユーザ装置1302−1、1302−2、及び1302−3により受信されても良い検証キーを示す。さらに、Kx、Ky、及びKzは、認証サーバ140−1、140−2、及び140−3から認証信号を通信する前の適切なタイミングに、信頼できるエンティティサーバ1108から通信され、それぞれ認証サーバ140−1、140−2、及び140−3により受信されても良い検証キーを示す。本例では、検証キーKa、Kb、及びKcは、それぞれ、ユーザ装置1302−1、1302−2、及び1302−3のユーザUa、Ub、及びUcに割り当てられる。さらに、検証キーKx、Ky、及びKzは、それぞれ、認証サーバ140−1、140−2、及び140−3のユーザ(又はオペレータ)Ux、Uy、及びUzに割り当てられる。アクセス制限テーブル1800は、認証サーバ140−1、140−2、及び140−3の各々に格納されても良い。代替で、アクセス制限テーブル1800は、信頼できるエンティティサーバ1108から認証サーバ140−1、140−2、及び140−3へ適切なタイミングに通信されても良い。 FIG. 22 shows three user devices 1302-1 to 1302-3, three authentication servers 140-1 to 140-3, and three databases 122B- in the operating environment 1300-1 shown in FIG. The access restriction table 1800 when 1 to 122B-3 is provided is shown. In FIG. 22, Ka, Kb, and Kc are communicated from the trusted entity server 1108 in any block preceding, for example, block 1460 shown in FIG. 14, and are communicated by user devices 1302-1, 1302-2, and 1302-, respectively. Indicates a verification key that may be received by 3. Further, Kx, Ky, and Kz are communicated from the trusted entity server 1108 at an appropriate time before the authentication signals are communicated from the authentication servers 140-1, 140-2, and 140-3, respectively, and the authentication server 140. Indicates a verification key that may be received by -1, 140-2, and 140-3. In this example, the verification keys Ka, Kb, and Kc are assigned to the users Ua, Ub, and Uc of the user devices 1302-1, 1302-2, and 1302-3, respectively. Further, the verification keys Kx, Ky, and Kz are assigned to the users (or operators) Ux, Uy, and Uz of the authentication servers 140-1, 140-2, and 140-3, respectively. The access restriction table 1800 may be stored in each of the authentication servers 140-1, 140-2, and 140-3. Alternatively, the access restriction table 1800 may be communicated from the trusted entity server 1108 to the authentication servers 140-1, 140-2, and 140-3 at the appropriate time.

各々のユーザ装置の検証キーは、適切なタイミングに認証サーバに通信されても良い。認証サーバ140は、アクセス制限テーブル1800に基づき、認証信号が近接性暗号文と登録近接性暗号文との間に類似性又は概算類似性が存在することを示すか否かに拘わらず、認証信号が破棄されるべきか否かを決定する。 The verification key of each user device may be communicated to the authentication server at an appropriate timing. Based on the access restriction table 1800, the authentication server 140 determines whether or not the authentication signal indicates that there is similarity or approximate similarity between the proximity ciphertext and the registered proximity ciphertext. Determines whether or not should be destroyed.

アクセス制限テーブル1800では、一例として、Ka−xは、検証キーKaを割り当てられているユーザ装置1302−1が、検証キーKxを割り当てられている認証サーバ140−1からの近接性検証結果にアクセスできることを示す。同様に、一例として、Ka−yは、検証キーKaを割り当てられているユーザ装置1302−1が、検証キーKyを割り当てられている認証サーバ140−2からの近接性検証結果にアクセスできることを示す。したがって、これらの例では、ユーザ装置1302−1は、近接性検証結果にアクセスし、認証サーバ140−1及び140−2から、近接性暗号文と登録近接性暗号文との間に近接性又は概算近似性が存在するか否かを示す認証信号を受信することを許可される。 In the access restriction table 1800, as an example, in Ka-x, the user device 1302-1 to which the verification key Ka is assigned accesses the proximity verification result from the authentication server 140-1 to which the verification key Kx is assigned. Show that you can. Similarly, as an example, Ka-y indicates that the user device 1302-1 to which the verification key Ka is assigned can access the proximity verification result from the authentication server 140-2 to which the verification key Ky is assigned. .. Therefore, in these examples, the user apparatus 1302-1 accesses the proximity verification result, and the proximity or the registered proximity ciphertext is located between the authentication servers 140-1 and 140-2. It is allowed to receive an authentication signal indicating whether or not approximate closeness exists.

他方で、アクセス制限テーブル1800では、検証キーKb及びKzの組合せにおけるXは、検証キーKbを割り当てられているユーザ装置1302−2が、検証キーKzを割り当てられている認証サーバ140−3からの近接性検証結果にアクセスすることを拒否されることを示す。本例では、ユーザ装置1302−2は、認証信号が近接性暗号文と登録近接性暗号文との間に類似性又は概算類似性が存在することを示すか否かに拘わらず、認証サーバ140−3から認証信号を受信することを許されない。 On the other hand, in the access restriction table 1800, X in the combination of the verification key Kb and Kz is from the authentication server 140-3 to which the user device 1302-2 to which the verification key Kb is assigned is assigned the verification key Kz. Indicates that access to the proximity verification result is denied. In this example, the user apparatus 1302-2 determines that the authentication server 140, regardless of whether the authentication signal indicates that there is a similarity or approximate similarity between the proximity ciphertext and the registered proximity ciphertext. It is not allowed to receive the authentication signal from -3.

したがって、各々のユーザ装置からの各々の認証サーバのデータベースへのアクセス可能性は、アクセス制限テーブルに基づき制御され得る。 Therefore, the accessibility of each authentication server's database from each user device can be controlled based on the access restriction table.

図24は、更に別の例示的な動作環境のブロック図である。図24では、図16の対応する部分と同じ部分は、同じ参照符号により示され、その説明は省略される。図24に図示した動作環境1300−2では、図16に図示した複数の認証サーバ140−1、...、140−Mの機能は、ユーザ(又はオペレータ)152により操作され得る単一の認証サーバ140に統合される。さらに、複数のデータベース112B−1は、単一のデータベース112Bに統合される。 FIG. 24 is a block diagram of yet another exemplary operating environment. In FIG. 24, the same parts as the corresponding parts of FIG. 16 are indicated by the same reference numerals, and the description thereof will be omitted. In the operating environment 1300-2 shown in FIG. 24, the plurality of authentication servers 140-1 shown in FIG. 16 ... .. .. , 140-M functionality is integrated into a single authentication server 140 that can be operated by the user (or operator) 152. Further, the plurality of databases 112B-1 are integrated into a single database 112B.

図25は、更なる例示的な動作環境のブロック図である。図25では、図16の対応する部分と同じ部分は、同じ参照符号により示され、その説明は省略される。図25に図示する動作環境1300−3では、図16に図示した信頼できるエンティティサーバ1108は省略される。さらに、ユーザ装置1302−1、...、1302−Lの各々は、信頼できるエンティティサーバ1108のキー生成モジュール1118と同様であっても良いキー生成モジュール1118Aを設けられる。さらに、認証サーバ140−1、...、140−Mの各々は、関係キーを生成するために、関係キー生成モジュール1118Bを設けられる。 FIG. 25 is a block diagram of a further exemplary operating environment. In FIG. 25, the same parts as the corresponding parts of FIG. 16 are indicated by the same reference numerals, and the description thereof will be omitted. In the operating environment 1300-3 illustrated in FIG. 25, the trusted entity server 1108 illustrated in FIG. 16 is omitted. Further, the user device 1302-1 ,. .. .. , 1302-L are each provided with a key generation module 1118A which may be similar to the key generation module 1118 of the trusted entity server 1108. Furthermore, the authentication server 140-1 ,. .. .. , 140-M are each provided with a relation key generation module 1118B to generate a relation key.

本願明細書に記載した実施形態は、以下に更に詳細に議論するように、種々のコンピュータハードウェア又はソフトウェアモジュールを備えた特定用途又は汎用コンピュータの使用を含み得る。 The embodiments described herein may include the use of a specific purpose or general purpose computer with various computer hardware or software modules, as discussed in more detail below.

本願明細書に記載した実施形態は、コンピュータにより実行可能な命令又はデータ構造を伝える又は格納しているコンピュータ可読媒体を用いて実施され得る。このようなコンピュータ可読媒体は、汎用又は特定目的コンピュータによりアクセスできる利用可能な媒体であり得る。例として且つ限定ではなく、このようなコンピュータ可読媒体は、RAM(Random Access Memory)、ROM(Read−Only Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、CD−ROM(Compact Disc Read−Only Memory)又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ装置(例えば、固体メモリ素子)を含む非一時的コンピュータ可読記憶媒体、又はコンピュータにより実行可能な命令若しくはデータ構造の形式で所望のプログラムコード手段を伝える若しくは格納するために用いられ汎用若しくは特定目的コンピュータによりアクセス可能な他の媒体を有し得る。上述の組合せも、コンピュータ可読媒体の範囲に包含され得る。 The embodiments described herein can be implemented using a computer-readable medium that conveys or stores instructions or data structures that can be executed by a computer. Such a computer-readable medium can be a usable medium accessible by a general purpose or special purpose computer. As an example and not limited to, such computer-readable media include RAM (Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), and CD-ROM (Compact Disc Read-Only). Memory) or other non-transitory computer-readable storage media, including optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory devices (eg, solid-state memory elements), or computer-executable instructions or data structures. It may have other media that are used to convey or store the desired program code means in the form of and accessible by a general purpose or special purpose computer. The above combinations may also be included in the scope of computer readable media.

コンピュータにより実行可能な命令は、例えば、汎用コンピュータ、特定目的コンピュータ(例えば、1又は複数のプロセッサ)又は特定目的処理装置に特定の機能又は機能グループを実行させる命令及びデータを有する。本発明の主題は構造的特徴及び/又は方法論的動作に特有の言葉で記載されたが、本発明の主題は、特許請求の範囲に定められる上述の特定の特徴又は動作に限定されないことが理解されるべきである。むしろ、上述の特定の特徴及び動作は、特許請求の範囲の実施の例示的形態として開示されたものである。 Instructions that can be executed by a computer include, for example, instructions and data that cause a general purpose computer, a special purpose computer (eg, one or more processors), or a special purpose processing unit to execute a specific function or functional group. Although the subject matter of the present invention has been described in terms specific to structural features and / or methodological behaviors, it is understood that the subject matter of the present invention is not limited to the particular features or behaviors described above as defined in the claims. It should be. Rather, the particular features and behaviors described above are disclosed as exemplary embodiments of the claims.

本願明細書で用いられるように、用語「モジュール」又は「コンポーネント」は、モジュール若しくはコンポーネントの動作を実行するよう構成される特定ハードウェア実装、及び/又はコンピューティングシステムの汎用ハードウェア(例えばコンピュータ可読媒体、処理装置、等)に格納され及び/又はそれらにより実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンを表しても良い。幾つかの実施形態では、本願明細書に記載されたのと異なるコンポーネント、モジュール、エンジン及びサービスは、(例えば、別個のスレッドとして)コンピューティングシステムで実行されるオブジェクト又は処理として実施されても良い。本願明細書に記載のシステム及び方法の幾つかは概して(汎用ハードウェアに格納される及び/又はそれにより実行される)ソフトウェアで実装されるように記載されたが、専用ハードウェアの実装又はソフトウェアと専用ハードウェアの組み合わせの実装も可能であり考えられる。本説明では、「コンピュータエンティティ」は、本願明細書で先に定められたようにコンピューティングシステム、又はコンピューティングシステムで実行されるモジュール若しくはモジュールの組合せであっても良い。 As used herein, the term "module" or "component" is a specific hardware implementation configured to perform the operation of a module or component, and / or general purpose hardware of a computing system (eg, computer readable). It may represent a software object or software routine that can be stored in and / or executed by a medium, processor, etc.). In some embodiments, components, modules, engines and services different from those described herein may be implemented as objects or processes performed on the computing system (eg, as separate threads). .. Some of the systems and methods described herein are generally described as being implemented in software (stored in and / or executed in general purpose hardware), but are implemented in dedicated hardware or software. It is also possible to implement a combination of and dedicated hardware. In the present description, the "computer entity" may be a computing system, or a module or a combination of modules executed in the computing system, as defined above herein.

上述の説明は、実施形態を説明するために「決定する」等の用語を用いたが、このような用語は、実行される実際の動作の抽象概念である。したがって、当業者に明らかなように、このような用語に対応する実際の動作は、実装に依存して変化しても良い。 Although the above description uses terms such as "determine" to describe embodiments, such terms are abstractions of the actual action performed. Therefore, as will be apparent to those skilled in the art, the actual behavior corresponding to such terms may vary depending on the implementation.

例は例えば「第1の」、「第2の」、「第3の」、「第4の」、「第5の」、又は「第6の」により番号付けられたが、序数は例の優先度を示さない。多くの他の変形及び変更が当業者に明らかである。 Examples are numbered by, for example, "first", "second", "third", "fourth", "fifth", or "sixth", but the ordinal numbers are of the examples. Does not indicate priority. Many other modifications and changes are apparent to those skilled in the art.

本願明細書に記載された全ての例及び条件文は、教育上の目的で、読者が本開示の原理及び発明者により考案された概念を理解するのを助け、技術を促進させるためであり、これらの特に記載された例及び条件に限定されないものと考えられるべきである。本開示の実施形態が詳細に記載されたが、種々の変更、置換及び修正が本開示の精神及び範囲から逸脱することなく行われうることが理解されるべきである。 All examples and conditional statements described herein are for educational purposes to help the reader understand the principles of the present disclosure and the concepts devised by the inventor and to facilitate the art. It should be considered not limited to these specifically described examples and conditions. Although embodiments of the present disclosure have been described in detail, it should be understood that various modifications, substitutions and modifications can be made without departing from the spirit and scope of the present disclosure.

以上の実施形態に加えて、更に以下の付記を開示する。
(付記1) 関係暗号化を用いる近接性検証の方法であって、
セキュリティパラメータに関連するランダム化レベルに処理され且つ関係線形性暗号化方式を用いて暗号化された情報を表す線形性暗号文を受信するステップと、
線形性関係秘密キーを用いて、前記線形性暗号文と登録線形性暗号文との間の線形性関係を決定するステップと、
前記ランダム化レベルに処理され且つ関係近接性暗号化方式を用いて暗号化された前記情報を表す近接性暗号文を受信するステップと、
近接性関係秘密キーを用いて、前記近接性暗号文と登録近接性暗号文との間の近接性関係を決定するステップと、
前記セキュリティパラメータ、前記線形性関係、及び前記近接性関係に基づき、前記近接性暗号文と前記登録近接性暗号文との間の概算類似性を決定するステップと、
ユーザ装置に割り当てられた第1の検証キーと複数の認証サーバのうちの1つに割り当てられた第2の検証キーとの組合せが、前記概算類似性を決定するステップの結果にアクセスすることを許す場合に、前記複数の認証サーバのうちの前記1つから前記ユーザ装置へ、前記近接性暗号文と前記登録近接性暗号文との間の前記概算類似性が存在するか否かを示す認証信号を通信し、前記第1及び第2の検証キーの前記組合せが前記概算類似性を決定するステップの結果にアクセスすることを許さない場合に、前記認証信号が、前記近接性暗号文と前記登録近接性暗号文との間に前記概算類似性が存在することを示すか否かに拘わらず、前記ユーザ装置に前記認証信号を通信しないステップと、
を有する方法。
(付記2) 第2の線形性暗号文及び第2の近接性暗号文を受信するステップと、
前記第2の線形性暗号文を前記登録線形性暗号文として格納するステップと、
前記第2の近接性暗号文を前記登録近接性暗号文として格納するステップと、
前記線形性関係秘密キー及び前記近接性関係秘密キーを受信するステップと、
を更に有する付記1に記載の方法。
(付記3) 前記ユーザ装置により、信頼できるエンティティサーバから前記第1の検証キーを受信するステップと、
前記信頼できるエンティティサーバから、前記第2の検証キーを受信するステップと、
を更に有する付記1に記載の方法。
(付記4) 前記情報は、複数のデータアイテム又は単一のデータアイテムの複数のセグメントの組合せを有する、付記1に記載の方法。
(付記5) 前記情報は、医療及び生物学的情報、技術情報、金融情報のうちの1つに関連する、付記1に記載の方法。
(付記6) 前記医療及び生物学的情報は、臨床データ、健康データ、及び遺伝子データのうちの1つを含む、付記5に記載の方法。
(付記7) 動作を実行し又は動作の実行を制御するために複数のプロセッサのうちの1つにより実行可能な符号化されたプログラミングコードを有する非一時的コンピュータ可読媒体であって、前記動作は、
セキュリティパラメータに関連するランダム化レベルに処理され且つ関係線形性暗号化方式を用いて暗号化された情報を表す線形性暗号文を受信するステップと、
線形性関係秘密キーを用いて、前記線形性暗号文と登録線形性暗号文との間の線形性関係を決定するステップと、
前記ランダム化レベルに処理され且つ関係近接性暗号化方式を用いて暗号化された前記情報を表す近接性暗号文を受信するステップと、
近接性関係秘密キーを用いて、前記近接性暗号文と登録近接性暗号文との間の近接性関係を決定するステップと、
前記セキュリティパラメータ、前記線形性関係、及び前記近接性関係に基づき、前記近接性暗号文と前記登録近接性暗号文との間の概算類似性を決定するステップと、
ユーザ装置に割り当てられた第1の検証キーと前記複数の認証サーバのうちの1つに割り当てられた第2の検証キーとの組合せが、前記概算類似性を決定するステップの結果にアクセスすることを許す場合に、前記ユーザ装置へ、前記近接性暗号文と前記登録近接性暗号文との間の前記概算類似性が存在するか否かを示す認証信号を通信し、前記第1及び第2の検証キーの前記組合せが前記概算類似性を決定するステップの結果にアクセスすることを許さない場合に、前記認証信号が、前記近接性暗号文と前記登録近接性暗号文との間に前記概算類似性が存在することを示すか否かに拘わらず、前記ユーザ装置に前記認証信号を通信しないステップと、
を有する、非一時的コンピュータ可読媒体。
(付記8) 前記動作は、
第2の線形性暗号文及び第2の近接性暗号文を受信するステップと、
前記第2の線形性暗号文を前記登録線形性暗号文として格納するステップと、
前記第2の近接性暗号文を前記登録近接性暗号文として格納するステップと、
前記線形性関係秘密キー及び前記近接性関係秘密キーを受信するステップと、
を更に有する、付記7に記載の非一時的コンピュータ可読媒体。
(付記9) 前記動作は、
信頼できるエンティティサーバから、前記第1及び第2の検証キーを受信するステップ、
を更に有する、付記7に記載の非一時的コンピュータ可読媒体。
(付記10) 前記情報は、複数のデータアイテム又は単一のデータアイテムの複数のセグメントの組合せを有する、付記7に記載の非一時的コンピュータ可読媒体。
(付記11) 前記情報は、医療及び生物学的情報、技術情報、金融情報のうちの1つに関連する、付記7に記載の非一時的コンピュータ可読媒体。
(付記12) 前記医療及び生物学的情報は、臨床データ、健康データ、及び遺伝子データのうちの1つを含む、付記11に記載の非一時的コンピュータ可読媒体。
(付記13) セキュリティパラメータに関連するランダム化レベルに処理され且つ関係線形性暗号化方式を用いて暗号化された医療及び生物学的データを表す線形性暗号文を受信するステップと、
線形性関係秘密キーを用いて、前記線形性暗号文と医療及び生物学的情報を表す登録線形性暗号文との間の線形性関係を決定するステップと、
前記ランダム化レベルに処理され且つ関係近接性暗号化方式を用いて暗号化された前記医療及び生物学的情報を表す近接性暗号文を受信するステップと、
近接性関係秘密キーを用いて、前記近接性暗号文と医療及び生物学的情報を表す登録近接性暗号文との間の近接性関係を決定するステップと、
前記セキュリティパラメータ、前記線形性関係、及び前記近接性関係に基づき、前記近接性暗号文と前記登録近接性暗号文との間の概算類似性を決定するステップと、
を有する方法。
(付記14) 前記医療及び生物学的情報は、臨床データ、健康データ、及び遺伝子データのうちの1つを含む、付記13に記載の方法。
(付記15) 動作を実行し又は動作の実行を制御するためにプロセッサにより実行可能な符号化されたプログラミングコードを有する非一時的コンピュータ可読媒体であって、前記動作は、
セキュリティパラメータに関連するランダム化レベルに処理され且つ関係線形性暗号化方式を用いて暗号化された医療及びバイオメトリック情報を表す線形性暗号文を受信するステップと、
線形性関係秘密キーを用いて、前記線形性暗号文と医療及びバイオメトリック情報を表す登録線形性暗号文との間の線形性関係を決定するステップと、
前記ランダム化レベルに処理され且つ関係近接性暗号化方式を用いて暗号化された前記医療及びバイオメトリック情報を表す近接性暗号文を受信するステップと、
近接性関係秘密キーを用いて、前記近接性暗号文と医療及びバイオメトリック情報を表す登録近接性暗号文との間の近接性関係を決定するステップと、
前記セキュリティパラメータ、前記線形性関係、及び前記近接性関係に基づき、前記近接性暗号文と前記登録近接性暗号文との間の概算類似性を決定するステップと、
を有する、非一時的コンピュータ可読媒体。
(付記16) 前記医療及び生物学的情報は、臨床データ、健康データ、及び遺伝子データのうちの1つを含む、付記15に記載の非一時的コンピュータ可読媒体。
(付記17) 医療及び生物学的情報を受信するステップと、
平文ベクトルとしてランダム化レベルに前記医療及び生物学的情報を処理するステップであって、前記ランダム化レベルはセキュリティパラメータに関連付けられる、ステップと、
前記平文ベクトルを表す線形性暗号文を生成するために、関係線形性暗号化方式を用いて前記平文ベクトルを暗号化するステップと、
前記平文ベクトルを表す近接性暗号文を生成するために、関係近接性暗号化方式を用いて前記平文ベクトルを暗号化するステップと、
前記線形性暗号文及び前記近接性暗号文を認証サーバに通信するステップと、
前記認証サーバから、関係線形性キーを用いて決定された前記線形性暗号文と登録線形性暗号文との間の線形性関係と、医療及びバイオメトリック情報を表し且つ関係近接性キーを用いて決定された前記近接性暗号文及び登録近接性暗号文の間の近接性と、を示す前記セキュリティパラメータに基づく認証信号を受信するステップと、
を有する方法。
(付記18) 前記医療及び生物学的情報は、臨床データ、健康データ、及び遺伝子データのうちの1つを含む、付記17に記載の方法。
In addition to the above embodiments, the following additional notes will be further disclosed.
(Appendix 1) This is a method of accessibility verification using relational encryption.
The step of receiving a linear ciphertext that represents information that has been processed to a randomization level related to security parameters and that has been encrypted using a relational linear encryption method.
A step of determining the linearity relationship between the linearity ciphertext and the registered linearity ciphertext using the linearity relationship secret key, and
A step of receiving a proximity ciphertext representing the information processed to the randomization level and encrypted using the relational proximity encryption method.
Proximity relationship A step of determining the proximity relationship between the proximity ciphertext and the registered proximity ciphertext using the secret key, and
A step of determining the approximate similarity between the proximity ciphertext and the registered proximity ciphertext based on the security parameters, the linearity relationship, and the proximity relationship.
That the combination of the first validation key assigned to the user device and the second validation key assigned to one of the plurality of authentication servers accesses the result of the step of determining the approximate similarity. Authentication indicating whether or not the approximate similarity between the proximity ciphertext and the registered proximity ciphertext exists from the one of the plurality of authentication servers to the user device, if permitted. If the signal is communicated and the combination of the first and second verification keys does not allow access to the result of the step of determining the approximate similarity, then the authentication signal is the proximity ciphertext and said. A step of not communicating the authentication signal to the user device, regardless of whether or not it indicates that the approximate similarity exists with the registered proximity ciphertext.
Method to have.
(Appendix 2) The step of receiving the second linear ciphertext and the second proximity ciphertext, and
A step of storing the second linear ciphertext as the registered linear ciphertext, and
A step of storing the second proximity ciphertext as the registered proximity ciphertext, and
The step of receiving the linearity relationship secret key and the proximity relationship secret key, and
The method according to Appendix 1, further comprising.
(Appendix 3) A step of receiving the first verification key from a trusted entity server by the user device, and
The step of receiving the second verification key from the trusted entity server, and
The method according to Appendix 1, further comprising.
(Appendix 4) The method according to Appendix 1, wherein the information has a combination of a plurality of data items or a plurality of segments of a single data item.
(Appendix 5) The method according to Appendix 1, wherein the information is related to one of medical and biological information, technical information, and financial information.
(Appendix 6) The method according to Appendix 5, wherein the medical and biological information includes one of clinical data, health data, and genetic data.
(Appendix 7) A non-transitory computer-readable medium having coded programming code that can be executed by one of a plurality of processors to perform or control the execution of an operation. ,
The step of receiving a linear ciphertext that represents information that has been processed to a randomization level related to security parameters and that has been encrypted using a relational linear encryption method.
A step of determining the linearity relationship between the linearity ciphertext and the registered linearity ciphertext using the linearity relationship secret key, and
A step of receiving a proximity ciphertext representing the information processed to the randomization level and encrypted using the relational proximity encryption method.
Proximity relationship A step of determining the proximity relationship between the proximity ciphertext and the registered proximity ciphertext using the secret key, and
A step of determining the approximate similarity between the proximity ciphertext and the registered proximity ciphertext based on the security parameters, the linearity relationship, and the proximity relationship.
The combination of the first verification key assigned to the user device and the second verification key assigned to one of the plurality of authentication servers accesses the result of the step of determining the approximate similarity. When the above is permitted, an authentication signal indicating whether or not the approximate similarity between the proximity ciphertext and the registered proximity ciphertext exists is transmitted to the user apparatus, and the first and second If the combination of verification keys does not allow access to the results of the step of determining the approximate similarity, then the authentication signal is between the proximity ciphertext and the registered proximity ciphertext. A step of not communicating the authentication signal to the user device, whether or not it indicates that similarities exist.
A non-transitory computer-readable medium that has.
(Appendix 8) The operation is
The step of receiving the second linear ciphertext and the second proximity ciphertext,
A step of storing the second linear ciphertext as the registered linear ciphertext, and
A step of storing the second proximity ciphertext as the registered proximity ciphertext, and
The step of receiving the linearity relationship secret key and the proximity relationship secret key, and
The non-transitory computer-readable medium according to Appendix 7, further comprising.
(Appendix 9) The operation is
The step of receiving the first and second verification keys from a trusted entity server,
The non-transitory computer-readable medium according to Appendix 7, further comprising.
(Appendix 10) The non-transitory computer-readable medium according to Appendix 7, wherein the information has a plurality of data items or a combination of a plurality of segments of a single data item.
(Appendix 11) The non-temporary computer-readable medium according to Appendix 7, wherein the information is related to one of medical and biological information, technical information, and financial information.
(Appendix 12) The non-transitory computer-readable medium according to Appendix 11, wherein the medical and biological information comprises one of clinical data, health data, and genetic data.
(Appendix 13) A step of receiving a linear ciphertext representing medical and biological data processed to a randomization level related to security parameters and encrypted using a relational linear encryption method.
A step of determining the linearity relationship between the linearity ciphertext and a registered linearity ciphertext representing medical and biological information using the linearity relationship secret key.
The step of receiving the proximity ciphertext representing the medical and biological information processed to the randomization level and encrypted using the relational proximity encryption method.
Proximity relationship The step of determining the proximity relationship between the proximity ciphertext and the registered proximity ciphertext representing medical and biological information using the secret key, and
A step of determining the approximate similarity between the proximity ciphertext and the registered proximity ciphertext based on the security parameters, the linearity relationship, and the proximity relationship.
Method to have.
(Appendix 14) The method according to Appendix 13, wherein the medical and biological information includes one of clinical data, health data, and genetic data.
(Appendix 15) A non-transitory computer-readable medium having coded programming code that can be executed by a processor to perform or control the execution of an operation.
The step of receiving linear ciphertext representing medical and biometric information processed to a randomization level related to security parameters and encrypted using a relational linear encryption method,
A step of determining the linearity relationship between the linearity ciphertext and a registered linearity ciphertext representing medical and biometric information using the linearity relationship secret key.
The step of receiving the proximity ciphertext representing the medical and biometric information processed to the randomization level and encrypted using the relational proximity encryption method.
Proximity relationship A step of determining the proximity relationship between the proximity ciphertext and a registered proximity ciphertext representing medical and biometric information using the secret key, and
A step of determining the approximate similarity between the proximity ciphertext and the registered proximity ciphertext based on the security parameters, the linearity relationship, and the proximity relationship.
A non-transitory computer-readable medium that has.
(Appendix 16) The non-transitory computer-readable medium according to Appendix 15, wherein the medical and biological information comprises one of clinical data, health data, and genetic data.
(Appendix 17) Steps to receive medical and biological information,
A step of processing the medical and biological information into a randomized level as a plaintext vector, wherein the randomized level is associated with a security parameter.
A step of encrypting the plaintext vector using a relational linear encryption method in order to generate a linear ciphertext representing the plaintext vector.
A step of encrypting the plaintext vector using a relational proximity encryption method in order to generate a proximity ciphertext representing the plaintext vector.
The step of communicating the linear ciphertext and the proximity ciphertext with the authentication server,
The authentication server represents the linear relationship between the linear ciphertext and the registered linear ciphertext determined using the relational linearity key, and medical and biometric information and uses the relational proximity key. A step of receiving an authentication signal based on the security parameter indicating the proximity between the determined proximity ciphertext and the registered proximity ciphertext.
Method to have.
(Supplementary Note 18) The method according to Supplementary Note 17, wherein the medical and biological information includes one of clinical data, health data, and genetic data.

100 動作環境
102 ユーザ装置
107 ネットワーク
108 関係認証モジュール
110 関係暗号化/復号化モジュール
122 メモリ
114 近接性暗号化/復号化モジュール
116 通信モジュール
124 プロセッサ
126 通信ユニット
128 近接性認証モジュール
130 登録暗号文
132 線形性認証モジュール
134 サーバ通信モジュール
140 認証サーバ
142A 第1の平文ベクトル
142B 第2の平文ベクトル
144 設定モジュール
150 第2のエンティティ
152 第1のエンティティ
100 Operating environment 102 User device 107 Network 108 Relationship authentication module 110 Relationship encryption / decryption module 122 Memory 114 Proximity encryption / decryption module 116 Communication module 124 Processor 126 Communication unit 128 Proximity authentication module 130 Registered cipher 132 Linear Gender Authentication Module 134 Server Communication Module 140 Authentication Server 142A First Plaintext Vector 142B Second Plaintext Vector 144 Setting Module 150 Second Entity 152 First Entity

Claims (11)

関係暗号化を用いる近接性検証を実行するシステムの作動方法であって、前記システムは複数の認証サーバとユーザ装置とを有し、複数の認証サーバの各々は通信モジュールと関係認証モジュールとメモリとを有し、前記作動方法は、
前記認証サーバの各々において、前記通信モジュールにより、前記ユーザ装置から、セキュリティパラメータに関連するランダム化レベルに処理され且つ関係線形性暗号化方式を用いて暗号化された情報を表す線形性暗号文を受信するステップと、
前記認証サーバの各々において、前記関係認証モジュールにより、線形性関係秘密キーを用いて、前記線形性暗号文と前記メモリに格納された登録線形性暗号文との間の線形性関係を決定するステップと、
前記認証サーバの各々において、前記通信モジュールにより、前記ユーザ装置から、前記ランダム化レベルに処理され且つ関係近接性暗号化方式を用いて暗号化された前記情報を表す近接性暗号文を受信するステップと、
前記認証サーバの各々において、前記関係認証モジュールにより、近接性関係秘密キーを用いて、前記近接性暗号文と登録近接性暗号文との間の近接性関係を決定するステップと、
前記認証サーバの各々において、前記関係認証モジュールにより、前記セキュリティパラメータ、前記線形性関係、及び前記近接性関係に基づき、第1バイオメトリックテンプレートと第2バイオメトリックテンプレートとの間の概算類似性を決定するステップであって、前記第1バイオメトリックテンプレートは前記登録線形性暗号文及び前記登録近接性暗号文のうちの1つ以上により表され、前記第2バイオメトリックテンプレートは前記線形性暗号文及び前記近接性暗号文のうちの1つ以上により表される、ステップと、
前記ユーザ装置により、信頼できるエンティティサーバから、前記ユーザ装置に割り当てられた第1の検証キーを受信するステップと、
前記認証サーバの各々において、前記通信モジュールにより、前記信頼できるエンティティサーバから、前記複数の認証サーバのうちの1つに割り当てられた第2の検証キーを受信するステップと、
前記複数の認証サーバの前記1つにより、前記第1の検証キーと前記第2の検証キーとの組合せが、前記概算類似性を決定するステップの結果にアクセスすることを許す場合に、前記ユーザ装置へ記概算類似性が存在するか否かを示す認証信号を通信し、前記第1及び第2の検証キーの前記組合せが前記概算類似性を決定するステップの結果にアクセスすることを許さない場合に、前記認証信号が記概算類似性が存在することを示すか否かに拘わらず、前記ユーザ装置に前記認証信号を通信しないステップと、
を有する方法。
It is a method of operating a system that executes proximity verification using relational encryption. The system has a plurality of authentication servers and a user device, and each of the plurality of authentication servers includes a communication module, a relational authentication module, and a memory. The operation method is
In each of the authentication servers, a linear ciphertext representing information processed by the communication module from the user device to a randomization level related to security parameters and encrypted using a relational linear encryption method is transmitted. Steps to receive and
In each of the authentication servers, the relationship authentication module uses the linearity relationship secret key to determine the linearity relationship between the linearity ciphertext and the registered linearity ciphertext stored in the memory. When,
In each of the authentication servers, the communication module receives a proximity ciphertext representing the information processed at the randomization level and encrypted using the relational proximity encryption method from the user apparatus. When,
In each of the authentication servers, the relationship authentication module uses the proximity relationship secret key to determine the proximity relationship between the proximity ciphertext and the registered proximity ciphertext.
In each of the authentication servers, the relationship authentication module determines the approximate similarity between the first biometric template and the second biometric template based on the security parameters, the linearity relationship, and the proximity relationship. The first biometric template is represented by one or more of the registered linear cipher and the registered proximity cipher, and the second biometric template is the linear cipher and the linear cipher. A step , represented by one or more of the proximity ciphers ,
A step of receiving a first verification key assigned to the user device from a trusted entity server by the user device .
In each of the authentication servers, a step of receiving a second verification key assigned to one of the plurality of authentication servers from the trusted entity server by the communication module .
By the one of the multiple authentication servers, if that allows combination of the first verification key and the second verification key, to access the results of the step of determining the approximate similarity, the user communicating an authentication signal that indicates whether the previous SL approximate similarity exists to the device, the combination of the first and second validation keys permitted to access the results of the step of determining the approximate similarity If no, the steps of the authentication signal regardless of whether show that there is a pre-Symbol approximate similarity, does not communicate the authentication signal to the user equipment,
Method to have.
前記認証サーバの各々において、前記通信モジュールにより、前記ユーザ装置から、第2の線形性暗号文及び第2の近接性暗号文を受信するステップと、
前記認証サーバの各々において、前記メモリに、前記第2の線形性暗号文を前記登録線形性暗号文として格納するステップと、
前記認証サーバの各々において、前記メモリに、前記第2の近接性暗号文を前記登録近接性暗号文として格納するステップと、
前記認証サーバの各々において、前記通信モジュールにより、前記ユーザ装置から、前記線形性関係秘密キー及び前記近接性関係秘密キーを受信するステップと、
を更に有する請求項1に記載の方法。
A step of receiving a second linear ciphertext and a second proximity ciphertext from the user device by the communication module in each of the authentication servers .
In each of the authentication servers, a step of storing the second linear ciphertext as the registered linear ciphertext in the memory, and
In each of the authentication servers, a step of storing the second proximity ciphertext as the registered proximity ciphertext in the memory, and
In each of the authentication servers, a step of receiving the linearity-related secret key and the proximity-related secret key from the user device by the communication module, and
The method according to claim 1, further comprising.
前記情報は、複数のデータアイテム又は単一のデータアイテムの複数のセグメントの組合せを有する、請求項1に記載の方法。 The method of claim 1, wherein the information comprises a combination of a plurality of data items or a plurality of segments of a single data item. 前記情報は、医療及び生物学的情報、技術情報、金融情報のうちの1つに関連する、請求項1に記載の方法。 The method of claim 1, wherein the information relates to one of medical and biological information, technical information, financial information. 前記医療及び生物学的情報は、臨床データ、健康データ、及び遺伝子データのうちの1つを含む、請求項に記載の方法。 The method of claim 4 , wherein the medical and biological information comprises one of clinical data, health data, and genetic data. 請求項1乃至のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。 A computer program that causes a computer to execute the method according to any one of claims 1 to 5 . 請求項に記載のコンピュータプログラムを保存する記憶媒体。 A storage medium for storing the computer program according to claim 6 . 関係暗号化を用いる近接性検証を実行するシステムの作動方法であって、前記システムは認証サーバとユーザ装置とを有し、前記認証サーバは通信モジュールと関係認証モジュールとメモリとを有し、前記作動方法は、
前記通信モジュールにより、前記ユーザ装置から、セキュリティパラメータに関連するランダム化レベルに処理され且つ関係線形性暗号化方式を用いて暗号化された医療及び生物学的データを表す線形性暗号文を受信するステップと、
前記関係認証モジュールにより、線形性関係秘密キーを用いて、前記線形性暗号文と前記メモリに格納された医療及び生物学的情報を表す登録線形性暗号文との間の線形性関係を決定するステップと、
前記通信モジュールにより、前記ユーザ装置から、前記ランダム化レベルに処理され且つ関係近接性暗号化方式を用いて暗号化された前記医療及び生物学的情報を表す近接性暗号文を受信するステップと、
前記関係認証モジュールにより、近接性関係秘密キーを用いて、前記近接性暗号文と医療及び生物学的情報を表す登録近接性暗号文との間の近接性関係を決定するステップと、
前記関係認証モジュールにより、前記セキュリティパラメータ、前記線形性関係、及び前記近接性関係に基づき、第1バイオメトリックテンプレートと第2バイオメトリックテンプレートとの間の概算類似性を決定するステップであって、前記第1バイオメトリックテンプレートは前記登録線形性暗号文及び前記登録近接性暗号文のうちの1つ以上により表され、前記第2バイオメトリックテンプレートは前記線形性暗号文及び前記近接性暗号文のうちの1つ以上により表される、ステップと、
前記ユーザ装置により、信頼できるエンティティサーバから、前記ユーザ装置に割り当てられた第1の検証キーを受信するステップと、
前記認証サーバの各々において、前記通信モジュールにより、前記信頼できるエンティティサーバから、前記認証サーバに割り当てられた第2の検証キーを受信するステップと、
前記認証サーバにより、前記第1の検証キーと前記第2の検証キーとの組合せが、前記概算類似性を決定するステップの結果にアクセスすることを許す場合に、前記ユーザ装置へ前記概算類似性が存在するか否かを示す認証信号を通信し、前記第1及び第2の検証キーの前記組合せが前記概算類似性を決定するステップの結果にアクセスすることを許さない場合に、前記認証信号が前記概算類似性が存在することを示すか否かに拘わらず、前記ユーザ装置に前記認証信号を通信しないステップと、
を有する方法。
A method of operating a system that executes proximity verification using relational encryption, wherein the system has an authentication server and a user device, and the authentication server has a communication module, a relational authentication module, and a memory. The operation method is
The communication module receives from the user equipment a linear ciphertext representing medical and biological data processed to a randomized level associated with a security parameter and encrypted using a relational linear encryption method. Steps and
The relationship authentication module uses the linear relationship secret key to determine the linear relationship between the linear ciphertext and the registered linear ciphertext representing medical and biological information stored in the memory. Steps and
The step of receiving the proximity ciphertext representing the medical and biological information processed by the communication module from the user device and encrypted using the relational proximity encryption method.
A step of determining the proximity relationship between the proximity ciphertext and a registered proximity ciphertext representing medical and biological information using the proximity relationship secret key by the relationship authentication module .
The step of determining the approximate similarity between the first biometric template and the second biometric template based on the security parameters, the linearity relationship, and the proximity relationship by the relationship authentication module. The first biometric template is represented by one or more of the registered linear ciphertext and the registered proximity ciphertext, and the second biometric template is among the linear ciphertext and the proximity ciphertext. A step , represented by one or more ,
A step of receiving a first verification key assigned to the user device from a trusted entity server by the user device.
In each of the authentication servers, a step of receiving a second verification key assigned to the authentication server from the trusted entity server by the communication module.
The approximate similarity to the user apparatus when the authentication server allows the combination of the first verification key and the second verification key to access the results of the step of determining the approximate similarity. Communicates with an authentication signal indicating the presence or absence of, and does not allow the combination of the first and second verification keys to access the result of the step of determining the approximate similarity. The step of not communicating the authentication signal to the user device, regardless of whether or not indicates that the approximate similarity exists.
Method to have.
前記医療及び生物学的情報は、臨床データ、健康データ、及び遺伝子データのうちの1つを含む、請求項に記載の方法。 The method of claim 8 , wherein the medical and biological information comprises one of clinical data, health data, and genetic data. 請求項又はに記載の方法をコンピュータに実行させるコンピュータプログラム。 A computer program that causes a computer to perform the method according to claim 8 or 9 . 請求項10に記載のコンピュータプログラムを保存する記憶媒体。 A storage medium for storing the computer program according to claim 10 .
JP2016134055A 2015-07-10 2016-07-06 Relationship encryption Active JP6805584B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/797,025 2015-07-10
US14/797,025 US9577831B2 (en) 2014-05-25 2015-07-10 Relational encryption
US15/040,950 US9660991B2 (en) 2014-05-25 2016-02-10 Relational encryption
US15/040,950 2016-02-10

Publications (2)

Publication Number Publication Date
JP2017022704A JP2017022704A (en) 2017-01-26
JP6805584B2 true JP6805584B2 (en) 2020-12-23

Family

ID=57888486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016134055A Active JP6805584B2 (en) 2015-07-10 2016-07-06 Relationship encryption

Country Status (1)

Country Link
JP (1) JP6805584B2 (en)

Also Published As

Publication number Publication date
JP2017022704A (en) 2017-01-26

Similar Documents

Publication Publication Date Title
US9660991B2 (en) Relational encryption
KR102403295B1 (en) System and method for validating homogeneously encrypted data and performing an operation thereon
US20240022420A1 (en) Public/Private Key Biometric Authentication System
Mohsin et al. Real-time medical systems based on human biometric steganography: A systematic review
JP6488847B2 (en) Relational encryption
US9674189B1 (en) Relational encryption
JP6504013B2 (en) Cryptographic processing method, cryptographic processing device, and cryptographic processing program
JP6852592B2 (en) Cryptographic primitives for user authentication
WO2019222709A1 (en) System and method for securing personal information via biometric public key
JP2018510593A (en) System and method for hierarchical encryption key generation using biometric data
US9577831B2 (en) Relational encryption
US11115203B2 (en) System and method for securing personal information via biometric public key
KR20190125223A (en) Electronic voting system and method thereof
JP2022524288A (en) Biometric public key system that provides revoked certificates
Suresh et al. Two-factor-based RSA key generation from fingerprint biometrics and password for secure communication
Dinca et al. User-centric key entropy: Study of biometric key derivation subject to spoofing attacks
JP6844411B2 (en) Relationship encryption
JP6786884B2 (en) Relationship encryption
Sharma et al. A survey on biometric cryptosystems and their applications
Sarkar et al. Secured session key-based e-health: Biometric blended with salp swarm protocol in telecare portals
Nunes et al. SNUSE: A secure computation approach for large-scale user re-enrollment in biometric authentication systems
JP6805584B2 (en) Relationship encryption
CN111475690B (en) Character string matching method and device, data detection method and server
JP6922385B2 (en) Approximate relationship encryption based on identification of parity values in the presence of noise
De Oliveira Nunes et al. Secure non-interactive user re-enrollment in biometrics-based identification and authentication systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201117

R150 Certificate of patent or registration of utility model

Ref document number: 6805584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150