[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2017201783A - Relation encryption of approximation relation based on identification of parity value under presence of noise - Google Patents

Relation encryption of approximation relation based on identification of parity value under presence of noise Download PDF

Info

Publication number
JP2017201783A
JP2017201783A JP2017089512A JP2017089512A JP2017201783A JP 2017201783 A JP2017201783 A JP 2017201783A JP 2017089512 A JP2017089512 A JP 2017089512A JP 2017089512 A JP2017089512 A JP 2017089512A JP 2017201783 A JP2017201783 A JP 2017201783A
Authority
JP
Japan
Prior art keywords
linear
ciphertext
encryption
approximate
relational
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.)
Granted
Application number
JP2017089512A
Other languages
Japanese (ja)
Other versions
JP6922385B2 (en
Inventor
マンダル・アブラディップ
Avradip Mandal
ロイ・アーナブ
Arnab Roy
モンゴメリー・ハート
Hart MONTGOMERY
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 US15/144,713 external-priority patent/US9608819B1/en
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2017201783A publication Critical patent/JP2017201783A/en
Application granted granted Critical
Publication of JP6922385B2 publication Critical patent/JP6922385B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a method for biometric authentication using a relation linear encryption system and a non-temporary computer readable medium.SOLUTION: A method includes the steps of: receiving first and second linear cipher texts representing first and second biometric templates encrypted by using a relation linear encryption system (linear system) on the basis of learning of parity having noise; discovering linear relation between the first and second linear cipher texts; receiving first and second approximation hash values representing the first and second biometric templates encrypted by using a relation approximation hash system (approximation system) on the basis of the linear system and an error correction code; detecting approximation between the first and second approximation hash values at the point of view of Hamming distance; and verifying the sameness of a user on the basis of the approximation and the linear relation.SELECTED DRAWING: Figure 4

Description

[関連出願]
本願は、2014年5月25日に出願した米国特許出願第14/287,051号の一部継続出願である、2015年7月10日の出願した米国特許出願第14/797,025号の一部継続出願である。
[Related applications]
This application is a continuation-in-part of U.S. Patent Application No. 14 / 287,051 filed on May 25, 2014, and U.S. Patent Application No. 14 / 797,025 filed on Jul. 10, 2015. Partial continuation application.

[技術分野]
本願明細書で議論される実施形態は、ノイズ存在下におけるパリティ値の同定(learning parity with noise:LPN)に基づく関係暗号化に関する。
[Technical field]
The embodiments discussed herein relate to relational encryption based on learning parity with noise (LPN) in the presence of noise.

ユーザ認証の形式は、生体認証を含み得る。生体認証は、通常、ユーザに対して一意であるユーザの生体特徴を測定するステップを含む。測定された生体特徴、又はその表現は、次に、ユーザの同一性を認証する基礎として用いられる。生体特徴は、ユーザの指紋、虹彩、静脈、DAN(deoxyribonucleic acid)のセクション、等を含み得る。生体認証は、パスワードを記憶している必要がなく、ユーザを認証することが可能であるという利点を有し得る。生体特徴は不変であるので、生体認証システムにおいてプライバシが重要である。さらに、生体データは、非常に不均一である。   The form of user authentication may include biometric authentication. Biometric authentication typically includes measuring a user's biometric features that are unique to the user. The measured biometric features, or representations thereof, are then used as a basis for authenticating the identity of the user. The biometric features may include a user's fingerprint, iris, vein, DAN (deoxyribonucleic acid) section, and the like. Biometric authentication can have the advantage that it is not necessary to store a password and can authenticate the user. Since biometric features are invariant, privacy is important in biometric authentication systems. Furthermore, biometric data is very uneven.

本願明細書で請求される主題は、上述のような欠点を解決する実施形態や上述のような環境でのみ機能する実施形態に限定されない。むしろ、この背景技術は、単に、本願明細書に記載される複数の実施形態が実施される技術分野の一例を説明するために提供される。   The subject matter claimed herein is not limited to embodiments that solve the above disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where the embodiments described herein can be implemented.

一実施形態の一態様によると、方法は、第1線形暗号文を受信するステップを有する。第1線形暗号文は、関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表して良い。関係線形暗号化方式は、雑音存在下におけるパリティ値の同定(learning parity with noise:LPN)に基づいて良い。方法は、第2線形暗号文を受信するステップを有して良い。第2線形暗号文は、関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表して良い。方法は、第1線形暗号文と第2線形暗号文との間の線形関係を、線形関係秘密鍵を用いて発見するステップを有して良い。方法は、第1近似ハッシュ値を受信するステップを有して良い。第1近似ハッシュ値は、関係近似ハッシュ方式を用いて暗号化される第1バイオメトリックテンプレートを表して良い。関係近似ハッシュ方式は、関係線形暗号化方式及び誤り訂正符号(ECC)に基づいて良い。方法は、第2近似ハッシュ値を受信するステップを有して良い。第2近似ハッシュ値は、関係近似暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表して良い。方法は、ハミング距離の観点で第1近似ハッシュ値及び第2近似ハッシュ値の間の近似を検出するステップを有して良い。方法は、近似及び線形関係に基づき、ユーザの同一性を認証するステップを有して良い。   According to one aspect of an embodiment, the method includes receiving a first linear ciphertext. The first linear ciphertext may represent a first biometric template that is encrypted using a relational linear encryption scheme. The relational linear encryption scheme may be based on the learning parity with noise (LPN) in the presence of noise. The method may include receiving a second linear ciphertext. The second linear ciphertext may represent a second biometric template that is encrypted using a relational linear encryption scheme. The method may include finding a linear relationship between the first linear ciphertext and the second linear ciphertext using the linear relationship secret key. The method may include receiving a first approximate hash value. The first approximate hash value may represent a first biometric template that is encrypted using a relational approximate hash scheme. The relational approximate hashing scheme may be based on a relational linear encryption scheme and an error correction code (ECC). The method may include receiving a second approximate hash value. The second approximate hash value may represent a second biometric template that is encrypted using a relational approximate encryption scheme. The method may include detecting an approximation between the first approximate hash value and the second approximate hash value in terms of Hamming distance. The method may include authenticating user identity based on the approximation and linear relationship.

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

上述の全体的説明及び以下の詳細な説明の両方は、例示及び説明のためであり、本発明の範囲を限定しないことが理解される。   It is understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and do not limit the scope of the invention.

例示的な実施形態は、添付の図面を用いて、更なる特異性及び詳細事項と共に記載され説明される。
幾つかの実施形態が実装され得る例示的な動作環境のブロック図である。 例示的な生体認証環境のブロック図である。 関係暗号化のために構成されるコンピューティングシステムのブロック図である。 生体認証の例示的な方法のフロー図である。 全ての図は本願明細書に記載の少なくとも1つの実施形態に従って構成される。
Exemplary embodiments are described and explained with additional specificity and detail through the use of the accompanying drawings in which:
FIG. 6 is a block diagram of an exemplary operating environment in which some embodiments may be implemented. 1 is a block diagram of an exemplary biometric environment. 1 is a block diagram of a computing system configured for relationship encryption. FIG. 3 is a flow diagram of an exemplary method for biometric authentication. All figures are constructed in accordance with at least one embodiment described herein.

生体認証の課題は、ユーザが認証の基礎として用いられるバイオメトリック特徴を変更できないことであり得る。例えば、ユーザは、ユーザの指紋又はユーザの虹彩パターンのようなユーザの1又は複数のユニークな特徴を表すバイオメトリックデータを含むバイオメトリックテンプレートを登録して良い。バイオメトリックテンプレートが危険に晒される場合、ユーザは、バイオメトリックテンプレートにより表されるユニークな特徴を変更することができない。したがって、一旦、危険に晒されると、別のバイオメトリックテンプレートが登録されて良く、又は、別のバイオメトリック特徴のバイオメトリックテンプレートが登録されて良い。少なくともこの理由から、生体認証システムは、強力なプライバシ保証の利益を享受し得る。   The challenge of biometric authentication can be that the user cannot change the biometric feature used as the basis for authentication. For example, a user may register a biometric template that includes 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 compromised, the user cannot change the unique features represented by the biometric template. Thus, once at risk, another biometric template may be registered, or another biometric feature biometric template may be registered. For at least this reason, biometric authentication systems can enjoy the benefits of strong privacy guarantees.

参照により全体が本願明細書に組み込まれる2014年5月25日に出願した米国特許出願番号第14/287,051号は、関係暗号化と呼ばれる暗号プリミティブを記載している。関係暗号化は、公開鍵の知識だけを有する、意味論的にセキュアな公開鍵暗号化方式である。   US patent application Ser. No. 14 / 287,051, filed May 25, 2014, which is incorporated herein by reference in its entirety, describes a cryptographic primitive called relational encryption. Relational encryption is a semantically secure public key encryption scheme that has only public key knowledge.

さらに、関係暗号化では、準信頼できるエンティティが関係鍵を提供されて良い。関係鍵を使用して、準信頼できるエンティティは、暗号文の間の1又は複数の関係を発見し得るが、暗号文が生成された平文ベクトルを解読し復元することはできない。関係暗号化は、ビットベクトル及びp−aryベクトルの間の線形関係を発見するために、出願番号第14/287,051号において開発された。関係暗号化を用いて、関係暗号化方式は、ハミング距離の観点で暗号文の間の近似を検出するために使用されて良い。関係暗号化は、準信頼できるサーバに認証を実行させながら、生体認証方式のバイオメトリックテンプレートに強力なプライバシ保証を提供する。   Further, in relational encryption, a semi-trusted entity may be provided with a relational key. Using a relationship key, a semi-trusted entity can discover one or more relationships between ciphertexts, but cannot decrypt and recover the plaintext vector from which the ciphertext was generated. Relational encryption was developed in Application No. 14 / 287,051 to find a linear relationship between a bit vector and a p-ary vector. With relational encryption, relational encryption schemes can be used to detect approximations between ciphertexts in terms of Hamming distance. Relational encryption provides a strong privacy guarantee for biometric templates for biometric authentication while allowing semi-trusted servers to perform authentication.

出願番号第14/287,051号の関係暗号化は、平文ベクトルが実質的に均一にランダムであるという仮定に基づいて良い。実際に、及び特定の生体情報では、平文ベクトルが実質的に均一にランダムであるというこの仮定は維持できない。出願番号第14/287,051号の関係暗号化は、線形関係ハッシュ及び誤り訂正符号に基づいて良い。   Application No. 14 / 287,051's relational encryption may be based on the assumption that the plaintext vector is substantially uniformly random. In fact, and for certain biometric information, this assumption that the plaintext vector is substantially uniformly random cannot be maintained. The relational encryption of application number 14 / 287,051 may be based on linear relational hash and error correction code.

参照により全体が本願明細書に組み込まれる米国特許出願番号第14/797,025号、2016年3月22日出願は、関係暗号化の拡張を記載している。したがって、該拡張は、生体情報の更なる多様性及び更なる実用的分配を超えてセキュアである。例えば、関係暗号化の拡張は、平文ベクトルが高minエントロピを有するという仮定に基づく。出願番号第14/797,025号の関係暗号化の拡張は、線形関係ハッシュ、誤り訂正符号、及びエクストラクタ(extractor)に基づいて良い。   US patent application Ser. No. 14 / 797,025, filed Mar. 22, 2016, which is incorporated herein by reference in its entirety, describes an extension of relational encryption. Thus, the extension is secure beyond the further diversity and further practical distribution of biometric information. For example, the extension of relational encryption is based on the assumption that the plaintext vector has a high min entropy. The extension of relational encryption in application number 14 / 797,025 may be based on linear relational hashes, error correction codes, and extractors.

本開示に記載される幾つかの実施形態は、別の例示的な関係暗号化を含む。本願明細書に記載の関係暗号化方式は、暗号学的に困難な、ノイズ存在下におけるパリティ値の同定(learning parity with noise:LPN)問題に基づく。本開示に記載の関係暗号化方式は、高い予測不可能性を有する不均一な生体データよりセキュアである。本願明細書に記載の関係暗号化方式は、出願番号第14/797,025号及び出願番号第14/287,051号に記載の関係暗号化よりも効率的であり得る。本願明細書に記載の関係暗号化方式は、線形関係ハッシュ及び誤り訂正符号に基づいて良く、平文ベクトルが高いminエントロピを有するという仮定に基づいて良い。本発明の実施形態を、添付の図面を参照して以下に説明する。   Some embodiments described in this disclosure include another exemplary relationship encryption. The relational encryption scheme described herein is based on a cryptographically difficult learning parity with noise (LPN) problem in the presence of noise. The relational encryption scheme described in this disclosure is more secure than heterogeneous biometric data with high unpredictability. The relational encryption scheme described herein may be more efficient than the relational encryption described in application number 14 / 797,025 and application number 14 / 287,051. The relational encryption scheme described herein may be based on linear relational hashes and error correction codes, and may be based on the assumption that the plaintext vector has a high min entropy. Embodiments of the present invention 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 in accordance with at least one embodiment described herein. In the operating environment 100, relational encryption may be performed. Relationship encryption may include cryptographic primitives that allow the first entity 152 to determine one or more relationships between two or more ciphertexts provided by the second entity 150. In particular, relationship encryption causes the first entity 152 to find a linear relationship between two or more ciphertexts and to detect an approximation between the two or more ciphertexts. Furthermore, the relationship encryption causes the first entity 152 to restore the plaintext from the ciphertext or to construct an illegal ciphertext having a specific relationship with a specific genuine ciphertext.

関係暗号化は、種々の環境において実装されて良い。例えば、関係暗号化は、個人が彼らの位置を非公開に保ちたいと望む社会環境において実施されて良いが、準信頼できるサービスは、位置同士の近似の検出を可能にし得る。さらに、関係暗号化は、画像比較環境において実施されて良い。近似は、画像同士の類似性を決定するために、データベースからの画像の間で検出されて良い。画像のプライバシは維持されて良い。ユーザは、データベースにある画像に触れずに、関係暗号化を用いて画像を検索して良い。さらに、関係暗号化は、私的データ記憶環境において実施されて良い。ユーザは、そのデータを暗号化し、暗号化データをデータベースに通信して良い。分析(例えば、記憶、クラスタリング、等)は、暗号化データが解読されるリスクを伴わず、暗号化データに対して実行され得る。   Relational encryption may be implemented in various environments. For example, relational encryption may be performed in a social environment where individuals want to keep their location private, but semi-reliable services may allow for the close detection of locations. Further, relational encryption may be performed in an image comparison environment. An approximation may be detected between images from the database to determine the similarity between the images. Image privacy may be maintained. The user may search for an image using relational encryption without touching the image in the database. Furthermore, 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に関連付けられるユーザ装置102は、1又は複数の平文ベクトル142を受信して良い。平文ベクトル142は、バイオメトリックテンプレート、位置情報、等のような任意のデータセットを有して良い。第2エンティティ150は、第1エンティティ152の認証サーバ140に、平文ベクトル142の暗号化バージョンを含む、第1暗号文又はハッシュ値を通信して良い。後に、ユーザ装置102は、別の平文ベクトル142を受信して良い。第2の平文ベクトル142の暗号化バージョンを含む第2暗号文は、第1エンティティ152の認証サーバ140に通信されて良い。第1エンティティ152は、第1暗号文と第2暗号文との間に線形関係があるか否かを発見して良く、第1暗号文と第2暗号文との間の近似を検出して良い。幾つかの実施形態では、近似は、ハミング距離の観点であって良い。   For example, the user device 102 associated with the second entity 150 may receive one or more plaintext vectors 142. The plaintext vector 142 may comprise any data set such as a biometric template, location information, etc. The second entity 150 may communicate the first ciphertext or hash value including the encrypted version of the plaintext vector 142 to the authentication server 140 of the first entity 152. Later, the user device 102 may receive another plaintext vector 142. A second ciphertext that includes an encrypted version of the second plaintext vector 142 may be communicated to the authentication server 140 of the first entity 152. The first entity 152 may discover whether there is a linear relationship between the first ciphertext and the second ciphertext, and may detect an approximation between the first ciphertext and the second ciphertext. good. In some embodiments, the approximation may be in terms of a Hamming distance.

しかしながら、関係暗号化は、第1エンティティ152が、第1及び第2暗号文から平文ベクトル142を構築することを許さない。さらに、関係暗号化は、第1エンティティ152が、第1暗号文及び/又は第2暗号文と特定の線形関係及び/又は特定の近似を有する第3暗号文を構築することを許さない。図1は、2つの平文ベクトル142と、したがって2つの暗号文と、を有する実施形態を示す。幾つかの実施形態では、2つより多い平文ベクトル142と、したがって2つより多い暗号文とが、動作環境100に含まれる認証サーバ140に通信されて良い。   However, relational encryption does not allow the first entity 152 to construct the plaintext vector 142 from the first and second ciphertext. Furthermore, relational encryption does not allow the first entity 152 to construct a third ciphertext that has a specific linear relationship and / or a specific approximation with the first ciphertext and / or the second ciphertext. 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 communicated to the authentication server 140 included in the operating environment 100.

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

幾つかの実施形態では、関係暗号化は、アルゴリズムのタプルを有する関係について、関係ハッシュ方式に従って定められて良い。アルゴリズムは、鍵生成アルゴリズム、第1暗号化アルゴリズム、第1解読アルゴリズム、、第2暗号化アルゴリズム、第2の解読アルゴリズム、及び検証アルゴリズムを有して良い。関係は、3つのセットの部分集合として定められて良い。さらに、関係及びアルゴリズムは、1又は複数の正確性条件を満たして良い。例えば、関係は、以下の例示的な正確性条件を満たして良い。
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は、平文ベクトル142のうちの第1平文ベクトルを表す。パラメータyは、平文ベクトル142のうちの第2平文ベクトルを表す。KeyGenは、鍵生成アルゴリズムを表す。EncXは、第1暗号化アルゴリズムを表す。EncYは、第2暗号化アルゴリズムを表す。Verifyは、検証アルゴリズムを表す。演算子←は、出力演算子を表す。パラメータpkxは、第1公開鍵を表す。パラメータpkyは、第2公開鍵を表す。パラメータskxは、第1秘密鍵を表す。パラメータskyは、第2秘密キーを表す。パラメータskRは、関係秘密鍵を表す。パラメータcxは、第1暗号文を表す。パラメータcyは、第2暗号文を表す。パラメータbは、検証アルゴリズムによる出力を表す。パラメータλは、セキュリティパラメータを表す。パラメータzは、検証エンティティにより選択され得る特定値を表す。演算子≒は、合同演算子を表す。正確性条件では、検証アルゴリズムからの出力は、圧倒的な確率を有する関係と合致する。
In some embodiments, relationship encryption may be defined according to a relationship hashing scheme for relationships having a tuple of algorithms. The algorithm may include a key generation algorithm, a first encryption algorithm, a first decryption algorithm, a second encryption algorithm, a second decryption algorithm, and a verification algorithm. The relationship may be defined as a subset of three sets. Further, the relationships and algorithms may satisfy one or more accuracy conditions. For example, the relationship may satisfy the following exemplary accuracy condition:
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)
Under accuracy conditions, R represents the relationship. The operator ⊆ represents a subset operator. Parameters X, Y, and Z represent a set. The parameter x represents the first plaintext vector in the plaintext vector 142. The parameter y represents the second plaintext vector in the plaintext vector 142. KeyGen represents a key generation algorithm. EncX represents the first encryption algorithm. EncY represents the 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 secret key. The parameter sky represents the second secret key. The parameter skR represents the related 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 specific value that can be selected by the verification entity. The operator ≒ represents a congruent operator. Under accuracy conditions, the output from the verification algorithm is consistent with a relationship with an overwhelming probability.

関係暗号化方式は、関係鍵が、特定の暗号文との特定の関係を有する暗号文の構築を許さない、及び特定の暗号文からの平文ベクトル142Aの復元を許さない、という意味でセキュアであり得る。例えば、関係暗号化方式は、以下の式が保たれる場合にセキュアであり得る。   The relational encryption scheme is secure in the sense that the relational key does not allow the construction of a ciphertext having a particular relationship with the particular ciphertext and does not allow the plaintext vector 142A to be restored from the particular ciphertext. possible. For example, a relational encryption scheme may be secure if the following equation is maintained:

1)KeyGen(1λ)を行うアルゴリズムをKx(1λ)として、出力(pkx,skx,pky,sky,skR)及び出力(pkx,skx)を取り入れる。その結果、(Kx,EncX,DecX)はIND−CPAセキュアである。 1) An algorithm for performing KeyGen (1 λ ) is Kx (1 λ ), and an output (pkx, skx, pky, sky, skR) and an output (pkx, skx) are taken in. As a result, (Kx, EncX, DecX) is IND-CPA secure.

2)KeyGen(1λ)を行うアルゴリズムをKy(1λ)として、出力(pkx,skx,pky,sky,skR)及び出力(pkx,skx)を取り入れる。その結果、(Ky,EncY,DecY)はIND−CPAセキュアである。 2) The algorithm for performing KeyGen (1 λ ) is Ky (1 λ ), and the output (pkx, skx, pky, sky, skR) and the output (pkx, skx) are taken in. As a result, (Ky, EncY, DecY) is IND-CPA secure.

3)KeyGen(1λ)を行うアルゴリズムをKR(1λ)として、出力(pkx,skx,pky,sky,skR)及び出力(pkx,skx,skR)を取り入れる。その結果、EncX(pkx,・)及びEncY(pky,・)は、skRが分かる場合に、一方向性関数である。 3) An algorithm for performing KeyGen (1 λ ) is KR (1 λ ), and an output (pkx, skx, pky, sky, skR) and an output (pkx, skx, skR) are taken in. As a result, EncX (pkx, ·) and EncY (pky, ·) are unidirectional 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 formula, pkx, skx, pky, sky, skR, KeyGen, EncX () and EncY () are as described above. DecX represents the first decryption algorithm. DecY represents the second decryption algorithm. Kx (), Ky (), and KR () are as described in the above formula. The symbol “•” indicates an arbitrary value. The term “IND-CPA” stands for indistinguishability under chosen-plaintext attack. In some other embodiments, (Ky, EncY, DecY) and / or (Kx, EncX, DecX) is an IND-CCA (for example, IND-CCA1 or IND-CCA2) or It may be secure according to another computational security metric, such as any other suitable security metric.

さらに、幾つかの実施形態では、関係暗号化方式は、関係線形暗号化方式を有して良い。関係線形暗号化方式は、以下の例示的な線形関係式に従って関係を定めて良い。
R={(x,y,z)|x+y=z∧x,y,z∈F
線形関係式では、R、x、y、及びzは、上述の通りである。演算子∈は、メンバーシップ演算子を表す。演算子|は、「〜の条件を満たす」(such that)演算子を表す。演算子∧は、論理結合演算子を表す。パラメータFは体(field)を表す。添え字nは、通常、体の次元を表す。体の次元は、本願明細書の別の場所で議論するようなキーのうちの1又は複数の長さを有しても良い。添え字pは、体の基本数(base−number)を表す。例えば、F10 では、体は、10の次元、及び3の基本数を有する。3の基本数は、体の各々の要素が0、1、又は2であることを示す。
Further, in some embodiments, the relational encryption scheme may comprise a relational linear encryption scheme. The relational linear encryption scheme may define the relation according to the following exemplary linear relational expression.
R = {(x, y, z) | x + y = z∧x, y, zεF n p }
In the linear relational expression, R, x, y, and z are as described above. The operator ε represents a membership operator. The operator | represents an operator that “satisfies the condition of” (such that). The operator ∧ represents a logical combination operator. The parameter F represents a field. The subscript n usually represents the body dimension. The body dimension may have the length of one or more of the keys as discussed elsewhere herein. The subscript p represents the base number of the field (base-number). For example, at F 10 3 , the field has 10 dimensions and 3 basic numbers. A base number of 3 indicates that each element of the body is 0, 1, or 2.

さらに、幾つかの実施形態では、関係暗号化方式は、以下の例示的な近似式に従って関係を定める関係近似暗号化方式を有して良い。
δ={(x,y)|dist(x,y)≦δ∧x,y∈F
近似式では、R、x、∧、∈、及びyは、上述の通りである。パラメータδは、親密さ(closeness)を定める距離を表す。演算子distは、ハミング距離を表す。線形関係式におけるように、パラメータFは体を表す。しかしながら、近似式における体は、線形関係式における体とは異なる次元を有しても良い。近似式における体の次元は、線形誤り訂正符号に関連しても良い。
Further, in some embodiments, the relational encryption scheme may include a relational approximate encryption scheme that defines a relationship according to the following exemplary approximation:
R δ = {(x, y) | dist (x, y) ≦ δ∧x, y∈F k p }
In the approximate expression, R, x, ∧, ∈, and y are as described above. The parameter δ represents the distance that defines the closeness. The operator dist represents the Hamming distance. As in the linear relationship, the parameter F represents the body. However, the body in the approximate expression may have a different dimension than the body in the linear relational expression. The field dimension in the approximation may be related to the linear error correction code.

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

動作環境100は、第2エンティティ150に関連付けられるユーザ装置102と、第1エンティティ152に関連付けられる認証サーバ140と、を有して良い。ユーザ装置102及び認証サーバ140は、関係暗号化を実行するために、動作環境100の中に実装されて良い。ユーザ装置102及び認証サーバ140は、ネットワーク107を介して通信するよう構成されて良い。例えば、1又は複数の暗号文、認証メッセージ、及び関係暗号化に関連する他のデータ及び情報は、ネットワーク107を介してユーザ装置102と認証サーバ140との間で通信されて良い。ユーザ装置102、認証サーバ140、及びネットワーク107の各々は、以下に簡単に説明される。   The operating environment 100 may include a user device 102 associated with the second entity 150 and an authentication server 140 associated with the first entity 152. User device 102 and authentication server 140 may be implemented in operating environment 100 to perform relationship encryption. The user device 102 and the authentication server 140 may be configured to communicate via the network 107. For example, one or more ciphertexts, authentication messages, and other data and information related to related encryption may be communicated between the user device 102 and the authentication server 140 via the network 107. Each of the user device 102, the authentication server 140, and the network 107 is briefly described below.

ネットワーク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)、Wi−Fi、直接データ接続、WAP(wireless application protocol)、電子メール等を介することを含むデータを送信及び受信するセルラ通信ネットワークを有して良い。   The network 107 may be wired or wireless. The network 107 may have a number of configurations including a star configuration, a token ring configuration, or other configurations. Further, the network 107 may include a local area network (LAN), a wide area network (WAN) (eg, the Internet), and / or other interconnected data paths over which multiple devices can communicate. In some examples, the network 107 may comprise a peer to peer network. Network 107 may be coupled to or include a portion of a communication network that transmits data over 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), Wi-Fi, direct data connection, WAP (wireless). application protocol), a cellular communication network for sending and receiving data including via e-mail and the like.

ユーザ装置102は、ネットワーク107を介する、関係暗号化に関連する情報及び/又はデータ(例えば、暗号文、鍵、平文ベクトル142、等)の生成及び通信を可能にするプロセッサ、メモリ、及び通信能力を有する任意のコンピューティング装置を有して良い。ユーザ装置102の幾つかの例は、携帯電話機、スキャニング装置、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セットトップボックス、又はコネクテッドデバイス(例えば、スマートウォッチ、スマート眼鏡、スマート歩数計、又は任意の他のコネクテッドデバイス)を有して良い。   User device 102 is a processor, memory, and communication capability that enables the generation and communication of information and / or data (eg, ciphertext, keys, plaintext vector 142, etc.) related to related encryption over network 107 Any computing device may be included. Some examples of user equipment 102 are cell 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 Other connected devices).

ユーザ装置102は、関係暗号化モジュール110を有して良い。関係暗号化モジュール110は、平文ベクトル142を受信し、平文ベクトル142の暗号化に関連する1又は複数の工程を実行するよう構成されて良い。例えば、関係暗号化モジュール110は、平文ベクトル142の暗号化において使用される1又は複数の鍵を生成するよう構成されて良い。さらに、関係暗号化モジュール110は、平文ベクトル142に基づき1又は複数の暗号文を生成して良い。関係暗号化モジュール110により生成される暗号文は、認証サーバ140に通信されて良い。暗号文の間の関係(例えば、線形及び近似)に基づき、第2エンティティ150の同一性が認証されて良く又は認証されなくて良い。   The user device 102 may have a relationship encryption module 110. The relationship encryption module 110 may be configured to receive the plaintext vector 142 and perform one or more steps associated with encryption of the plaintext vector 142. For example, the relationship encryption module 110 may be configured to generate one or more keys used in encrypting the plaintext vector 142. Further, the relationship encryption module 110 may generate one or more ciphertexts based on the plaintext vector 142. The ciphertext generated by the relationship encryption module 110 may be communicated to the authentication server 140. Based on the relationship between the ciphertexts (eg, linear and approximate), the identity of the second entity 150 may or may not be authenticated.

特に、図1の実施形態では、関係暗号化モジュール110は、設定モジュール144、線形暗号化モジュール112、及び近似暗号化モジュール114を有して良い。   In particular, in the embodiment of FIG. 1, the relationship encryption module 110 may include a setting module 144, a linear encryption module 112, and an approximate encryption module 114.

設定モジュール144は、1又は複数の鍵及び/又は1又は複数のアルゴリズム(例えば、暗号化アルゴリズム、解読アルゴリズム、及び検証アルゴリズム)を生成する1又は複数の工程を実行するよう構成されて良い。鍵は、関係暗号化モジュール110及び/又は認証サーバ140の関係認証モジュール108において使用されて良い。設定モジュール144により生成され得る鍵の幾つかの例は、線形公開鍵、線形秘密鍵、関係線形鍵、近似公開鍵、近似秘密鍵、及び近似関係秘密鍵、を含み得る。鍵の幾つかの追加の詳細事項は、本開示の別の場所で提供される。   The configuration module 144 may be configured to perform one or more steps to generate one or more keys and / or one or more algorithms (eg, encryption algorithm, decryption algorithm, and verification algorithm). The key may be used in the relationship encryption module 110 and / or the relationship authentication module 108 of the authentication server 140. Some examples of keys that may be generated by the configuration module 144 may include a linear public key, a linear secret key, a relational linear key, an approximate public key, an approximate secret key, and an approximate relation secret key. Some additional details of the key are provided elsewhere in this disclosure.

鍵は、ネットワーク107を介して通信されて良い。例えば、図示の実施形態では、設定モジュール144は、ユーザ装置102に含まれて良い。設定モジュール144は、鍵を生成して良く、その何らかの部分を認証サーバ140に通信して良い。認証サーバ140は、鍵を用いて第2エンティティ150の同一性を認証して良く、又は認証しなくて良い。例えば、認証は、平文ベクトル142の暗号文の間の近似及び線形関係に基づいて良い。上述及び他の実施形態では、認証サーバ140は、線形関係秘密鍵を用いて、平文ベクトル142の線形暗号文の間の線形関係を発見して良い。さらに、認証サーバ140は、近似関係秘密鍵を用いて、平文ベクトル142の暗号文の間の近似を検出して良い。   The key may be communicated via the network 107. For example, in the illustrated embodiment, the setting module 144 may be included in the user device 102. The configuration module 144 may generate a key and communicate some part of it to the authentication server 140. The authentication server 140 may or may not authenticate the identity of the second entity 150 using a key. For example, authentication may be based on approximations and linear relationships between ciphertexts in plaintext vector 142. In the above and other embodiments, the authentication server 140 may find a linear relationship between the linear ciphertexts of the plaintext vector 142 using the linear relationship secret key. Furthermore, the authentication server 140 may detect the approximation between the ciphertexts of the plaintext vector 142 using the approximate relationship secret key.

設定モジュール144により生成される鍵の別の部分は、線形暗号化モジュール112及び/又は近似暗号化モジュール114により使用されて良い。例えば、線形暗号化モジュール112は、線形公開鍵及び線形秘密鍵を用いて、平文ベクトル142の線形暗号文を生成して良い。線形公開鍵及び線形秘密鍵は、LPNに基づく工程の実施と共に、IND_CCAセキュア公開鍵暗号化方式に基づいて良い。   Another portion of the key generated by the configuration module 144 may be used by the linear encryption module 112 and / or the approximate encryption module 114. For example, the linear encryption module 112 may generate a linear ciphertext of the plaintext vector 142 using a linear public key and a linear secret key. The linear public key and the linear secret key may be based on the IND_CCA secure public key encryption scheme with the implementation of the LPN based process.

追加又は代替で、近似暗号化モジュール114は、設定モジュール144により生成される1又は複数の鍵に基づき、平文ベクトル142のハッシュ値を生成して良い。例えば、平文ベクトル142のハッシュ値は、CPA(chosen−plaintext attack)公開鍵、CPA秘密鍵、線形公開鍵、線形秘密鍵、又はそれらの何らかの組合せに基づき生成されて良い。   Additionally or alternatively, the approximate encryption module 114 may generate a hash value for the plaintext vector 142 based on one or more keys generated by the configuration module 144. For example, the hash value of the plaintext vector 142 may be generated based on a CPA (chosen-plaintext attack) public key, a CPA private key, a linear public key, a linear private key, or some combination thereof.

幾つかの実施形態では、設定モジュール144は、リモートに配置されて良い。例えば、設定モジュール144は、リモートサーバ(図示しない)に配置されて良い。上述及び他の実施形態では、設定モジュール144は、ユーザ装置102及び/又は認証サーバ140に通信される鍵を生成して良い。   In some embodiments, the configuration module 144 may be remotely located. For example, the setting module 144 may be disposed on a remote server (not shown). In the above and other embodiments, the configuration module 144 may generate a key that is communicated to the user device 102 and / or the authentication server 140.

線形暗号化モジュール112は、線形暗号文を構築するために平文ベクトル142を暗号化することに関連する及び/又は線形暗号文を解読することに関連する1又は複数の工程を実行するよう構成されて良い。線形暗号化モジュール112は、関係線形暗号化方式に従い、暗号化及び解読工程を実行して良い。関係線形暗号化方式は、LPN(learning parity with noise)及び/又はLPNの特徴を実装する線形関係ハッシュに基づいて良い。   The linear encryption module 112 is configured to perform one or more steps associated with encrypting the plaintext vector 142 and / or decrypting the linear ciphertext to construct a linear ciphertext. Good. The linear encryption module 112 may perform encryption and decryption processes according to a relational linear encryption scheme. Relational linear encryption schemes may be based on LPN (learning parity with noise) and / or linear relation hashes that implement LPN features.

線形暗号化モジュール112により実施される関係線形暗号化方式は、1又は複数の線形暗号文を生成して良い。例えば、線形暗号化モジュール112は、平文ベクトル142のうちの第1平文ベクトルに基づき第1線形暗号文を、及び平文ベクトル142のうちの第2平文ベクトルに基づき第2線形暗号文を、生成して良い。線形暗号文は、認証サーバ140に通信されて良い。線形暗号文から、認証サーバ140は、線形関係秘密鍵を用いて、平文ベクトル142の間の線形関係を発見して良い。   The relational linear encryption scheme implemented by the linear encryption module 112 may generate one or more linear ciphertexts. For example, the linear encryption module 112 generates a first linear ciphertext based on the first plaintext vector of the plaintext vector 142 and a second linear ciphertext based on the second plaintext vector of the plaintext vector 142. Good. The linear ciphertext may be communicated to the authentication server 140. From the linear ciphertext, the authentication server 140 may find a linear relationship between the plaintext vectors 142 using the linear relationship secret key.

近似暗号化モジュール114は、近似ハッシュ値を構築するために平文ベクトル142を暗号化することに関連する1又は複数の工程を実行するよう構成されて良い。近似暗号化モジュール114は、関係近似ハッシュ方式に基づき工程を実行して良い。関係近似ハッシュ方式は、関係線形暗号化方式及び誤り訂正符号(ECC)に更に基づいて良い。   The approximate encryption module 114 may be configured to perform one or more steps associated with encrypting the plaintext vector 142 to construct an approximate hash value. The approximate encryption module 114 may perform the process based on a relational approximate hash method. The relational approximate hashing scheme may be further based on a relational linear encryption scheme and an error correction code (ECC).

例えば、近似暗号化モジュール114は、平文ベクトル142のうちの第1平文ベクトルに基づき第1近似ハッシュ値を、及び平文ベクトル142のうちの第2平文ベクトルに基づき第2近似ハッシュ値を、生成して良い。近似ハッシュ値は、認証サーバ140に通信されて良い。認証サーバ140は、近似関係秘密鍵を用いてハミング距離の観点で近似ハッシュ値の間の近似を検出して良い。   For example, the approximate encryption module 114 generates a first approximate hash value based on the first plaintext vector of the plaintext vector 142 and a second approximate hash value based on the second plaintext vector of the plaintext vector 142. Good. The approximate hash value may be communicated to the authentication server 140. The authentication server 140 may detect the approximation between the approximate hash values in terms of the Hamming distance using the approximate relationship secret key.

認証サーバ140は、ハードウェアサーバ又はサーバとして機能するよう構成される別のプロセッサに基づくコンピューティング装置を有して良い。認証サーバ140は、関係認証モジュール108及びメモリ122を有して良い。メモリ122は、後述するメモリ308と実質的に同様であって良い。メモリ122の幾つかの追加の詳細事項は、本願明細書の他の場所で提供される。   The authentication server 140 may include a computing device based on a hardware server or another processor configured to function as a server. The authentication server 140 may include a relationship authentication module 108 and a memory 122. The memory 122 may be substantially the same as the memory 308 described later. Some additional details of the memory 122 are provided elsewhere herein.

関係認証モジュール108は、線形暗号文及び/又は近似ハッシュ値、関係秘密鍵、検証アルゴリズム、又はそれらの何らかの組み合わせを、関係暗号化モジュール110又は別のソースから受信するよう構成されて良い。関係認証モジュール108は、暗号文の間の線形関係を発見して良く、及び/又は近似ハッシュ値の間の近似を検出して良い。関係認証モジュール108は、関係秘密鍵及び/又は検証アルゴリズムを用いて、暗号文の間の線形関係を発見し及び近似を検出して良い。   The relationship authentication module 108 may be configured to receive linear ciphertext and / or approximate hash values, relationship secret keys, verification algorithms, or some combination thereof from the relationship encryption module 110 or another source. The relationship authentication module 108 may find a linear relationship between ciphertexts and / or detect an approximation between approximate hash values. The relationship authentication module 108 may use a relationship secret key and / or a verification algorithm to find a linear relationship between ciphertexts and detect an approximation.

関係認証モジュール108は、線形認証モジュール132、及び近似認証モジュール128を有して良い。図1に示さないが、幾つかの実施形態では、設定モジュール144、又は設定モジュール144に属する1又は複数の工程を実行するよう構成されるモジュールは、関係認証モジュール108に含まれて良い。   The relationship authentication module 108 may include a linear authentication module 132 and an approximate authentication module 128. Although not shown in FIG. 1, in some embodiments, a configuration module 144 or a module configured to perform one or more steps belonging to the configuration module 144 may be included in the relationship authentication module 108.

線形認証モジュール132は、線形暗号文に関連する1又は複数の工程を実行するよう構成されて良い。例えば、線形認証モジュール132は、線形暗号文のうちの2以上の間の線形関係を発見するよう構成されて良い。   The linear authentication module 132 may be configured to perform one or more steps associated with linear ciphertext. For example, the linear authentication module 132 may be configured to find a linear relationship between two or more of the linear ciphertexts.

線形関係の発見は、ハミング距離の関数であって良い。例えば、線形認証モジュール132は、第3秘密鍵及び第1線形暗号文の第1要素に適用されるIND_CCAセキュア解読アルゴリズム(DecCPA)、第3秘密鍵及び第2線形暗号文の第1要素に適用されるDecCPA、及び第1整数×第2整数のサイズのランダム2進行列、の和を計算して良い。線形認証モジュール132は、次に、この和と、検証エンティティにより選択され得る特定値(上述の「z」)との積を計算して良い。線形認証モジュール132は、次に、和と特定値との積のハミング距離が、2の値、確率、及び第1整数の積より小さい又はそれに等しいか否かを決定して良い。   The finding of the linear relationship may be a function of the Hamming distance. For example, the linear authentication module 132 is applied to the third secret key and the first element of the first linear ciphertext, IND_CCA secure decryption algorithm (DecCPA) applied to the first element of the third secret key and the second linear ciphertext. And the sum of DecCPA and a random 2 progression sequence of size 1st integer × 2nd integer may be calculated. The linear authentication module 132 may then calculate the product of this sum and a specific value (“z” above) that can be selected by the verification entity. The linear authentication module 132 may then determine whether the Hamming distance of the product of the sum and the specified value is less than or equal to the product of the value of 2, the probability, and the first integer.

近似認証モジュール128は、近似ハッシュ値に関連する1又は複数の工程を実行するよう構成されて良い。例えば、近似認証モジュール128は、2以上の近似ハッシュ値の間の近似を検出するよう構成されて良い。幾つかの実施形態では、近似認証モジュール128は、本開示の他の場所に記載される近似検証アルゴリズムに従い実行されて良い。   The approximate authentication module 128 may be configured to perform one or more steps associated with the approximate hash value. For example, the approximate authentication module 128 may be configured to detect an approximation between two or more approximate hash values. In some embodiments, the approximate authentication module 128 may be performed in accordance with an approximate verification algorithm described elsewhere in this disclosure.

関係暗号化モジュール110、線形暗号化モジュール112、近似暗号化モジュール114、設定モジュール144、関係認証モジュール108、線形認証モジュール132、及び近似認証モジュール128は、集合的に、関係モジュールと表されて良い。   The relationship encryption module 110, the linear encryption module 112, the approximate encryption module 114, the setting module 144, the relationship authentication module 108, the linear authentication module 132, and the approximate authentication module 128 may be collectively represented as a relationship module. .

関係モジュールは、(例えば、1又は複数の工程を実行する又はその実行を制御する)プロセッサ、マイクロプロセッサ、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むハードウェアを用いて実装できる。幾つかの他の例では、関係モジュールは、ハードウェア及びソフトウェアの組み合わせを用いて実装できる。ソフトウェアでの実装は、コンピューティングシステム(例えば、ユーザ装置102及び認証サーバ140)のハードウェアに含まれ得るような1又は複数のトランジスタ又はトランジスタ要素の迅速な起動及び停止を含み得る。追加で、ソフトウェア定義命令は、トランジスタ要素の中の情報に対して作用して良い。ソフトウェア命令の実装は、電子経路を少なくとも一時的に再構成し、コンピューティングハードウェアを変換して良い。   The relationship module uses hardware including a processor, a microprocessor, a field-programmable gate array (FPGA), or an application-specific integrated circuit (ASIC) (for example, executing or controlling the execution of one or more steps). Can be implemented. In some other examples, the relationship module can be implemented using a combination of hardware and software. A software implementation may include rapid activation and deactivation of one or more transistors or transistor elements as may be included in the hardware of a computing system (eg, user device 102 and authentication server 140). Additionally, software defined instructions may operate on information in the transistor element. Implementation of software instructions may at least temporarily reconfigure the electronic path and convert computing hardware.

次の部分では、LPN(learning parity with noise)が導入される。LPNの導入に続き、LPNに基づく線形関係ハッシュ方式が記載される。線形関係ハッシュに続き、線形関係ハッシュを実施する関係線形暗号化方式が記載される。関係線形暗号化方式は、線形関係ハッシュ方式及び公開鍵暗号化方式に従い定められて良い。関係線形暗号化方式に続き、関係近似ハッシュ方式が記載される。関係近似ハッシュ方式は、関係線形暗号化方式及び誤り訂正符号(ECC)に基づく。   In the next part, LPN (learning parity with noise) is introduced. Following the introduction of LPN, a linear relation hashing scheme based on LPN is described. Following the linear relational hash, a relational linear encryption scheme that performs the linear relational hash is described. The relational linear encryption method may be determined according to a linear relation hash method and a public key encryption method. Following the relational linear encryption scheme, a relational approximate hash scheme is described. The relational approximate hash method is based on a relational linear encryption method and an error correction code (ECC).

<LPN(LEARNING PARITY WITH NOISE)>
ブール代数におけるパリティ関数は、入力ベクトルが1の(1’s)奇数を有する場合に「1」を出力して良い。パリティ関数の一例は、2つの入力ベクトルを受け取る「XOR」関数である。パリティ値の同定(Parity learning)は、機械学習における近似を表す問題である。パリティ値の同定問題を解決するアルゴリズムが開発されている。アルゴリズムでは、関数は、幾つかの入力サンプルと、関数が幾つかの場所におけるビットのパリティを計算するという仮定に基づき、推定される。パリティ値の同定では、入力サンプルは、入力(例えば、独立値)、及び該入力に適用される関数の値(例えば、独立値から計算される従属値)を有する。入力サンプルは、アルゴリズムの複雑性を低減し得る、関数の分布に渡り提供されて良い。
<LPN (LEARNING PARITY WITH NOISE)>
The parity function in a Boolean algebra may output “1” if the input vector has an odd (1 ′s) odd number of 1. An example of a parity function is an “XOR” function that receives two input vectors. Parity learning is a problem that represents approximation in machine learning. Algorithms have been developed to solve the parity value identification problem. In the algorithm, the function is estimated based on several input samples and the assumption that the function calculates the parity of the bits at several locations. In identifying a parity value, an input sample has an input (eg, an independent value) and a function value applied to the input (eg, a dependent value calculated from the independent value). Input samples can be provided over a distribution of functions that can reduce the complexity of the algorithm.

LPNは、暗号化及び他の用途において見られるある種のパリティ値の同定である。LPNでは、入力サンプルは、何らかの誤り(例えば、ノイズ)を含み得る。例えば、LPNでは、入力サンプルは、入力(例えば、独立値)、及び何らかの小さな確率で該入力に適用される関数に近い別の値(例えば、独立値から計算される従属値)を有して良い。   LPN is the identification of certain parity values found in encryption and other applications. In LPN, input samples may contain some errors (eg, noise). For example, in LPN, an input sample has an input (eg, an independent value) and another value (eg, a dependent value calculated from the independent value) that is close to a function applied to the input with some small probability. good.

本開示に記載される実施形態では、LPNは、以下のLPN式に従い定められて良い。

Figure 2017201783
In the embodiments described in this disclosure, the LPN may be defined according to the following LPN equation:
Figure 2017201783

LPN式において、パラメータτは確率を表す。関数Ber τは、各エントリが確率τ(本開示ではノイズ確率としても参照される)で「1」であるqビットの数を、又はその他の場合に「0」を出力する関数である。以下のパラメータは、整数集合を表す。

Figure 2017201783
体の隣にある添え字「2」は、整数集合の基本数を表す。体の隣にある添え字「n」は、整数集合の次元を表す。
Figure 2017201783
において、整数集合はq×nの次元を有する。パラメータs、A及びrは、整数集合からサンプリングされ、LPN式に従い関連付けられる。 In the LPN equation, the parameter τ represents the probability. The function Ber q τ is a function that outputs the number of q bits where each entry is “1” with probability τ (also referred to as noise probability in this disclosure), or “0” in other cases. The following parameters represent an integer set.
Figure 2017201783
The subscript “2” next to the field represents the base number of the integer set. The subscript “n” next to the field represents the dimension of the integer set.
Figure 2017201783
The integer set has q × n dimensions. The parameters s, A and r are sampled from the integer set and related according to the LPN equation.

LPNの利点は効率を有する。特に、LPN式は、XORゲート及びANDゲートの観点で実装できる。さらに、sが生体サンプルのような高いminエントロピ分布からサンプリングされる場合でも、LPTはセキュアである。幾つかの実施形態では、確率τは約1/4であって良い。   The advantage of LPN is efficiency. In particular, LPN expressions can be implemented in terms of XOR gates and AND gates. Furthermore, LPT is secure even when s is sampled from a high min entropy distribution such as a biological sample. In some embodiments, the probability τ may be about ¼.

<線形関係ハッシュ方式>
LPN式は、平文ベクトル142のハッシュ値を生成するために、動作環境100において実装されて良い。線形関係ハッシュは、平文ベクトル142に適用され得る複数の関数を含んで良い。関数は、Hash_KEYGEN関数、Hash(x)関数、Hash(y)関数、及びHash_Verify関数を有して良い。Hash_KEYGEN関数は、ハッシュ鍵を生成するよう構成されて良い。Hash(x)関数及びHash(y)関数は、1又は複数の入力ベクトル(例えば、平文ベクトル142)をハッシングするよう構成されて良い。Hash_Verify関数は、入力ベクトルの間の関係を検証するよう構成されて良い。
<Linear relation hash method>
The LPN expression may be implemented in the operating environment 100 to generate a hash value for the plaintext vector 142. The linear relation hash may include multiple functions that can be applied to the plaintext vector 142. The functions may include a Hash_KEYGEN function, a Hash 1 (x) function, a Hash 2 (y) function, and a Hash_Verify function. The Hash_KEYGEN function may be configured to generate a hash key. The Hash 1 (x) function and Hash 2 (y) function may be configured to hash one or more input vectors (eg, plaintext vector 142). The Hash_Verify function may be configured to verify the relationship between the input vectors.

線形関係ハッシュは、以下の線形関係ハッシュ式に従い動作環境100において適用されて良い。

Figure 2017201783
The linear relationship hash may be applied in the operating environment 100 according to the following linear relationship hash expression.
Figure 2017201783

線形関係ハッシュ式において、A、Ber τ

Figure 2017201783
Figure 2017201783
In the linear relation hash expression, A, Ber q τ ,
Figure 2017201783
Figure 2017201783

線形関係ハッシュ式におけるセキュリティは、上述のLPNに基づいて良い。さらに、線形関係ハッシュ式は、対称的であって良く、実質的に一方向性であって良い。これは、セキュリティを更に向上する。   Security in the linear relationship hash expression may be based on the LPN described above. Further, the linear relationship hash expression may be symmetric and substantially unidirectional. This further improves security.

例えば、線形関係ハッシュ式の一方向性は、以下の一方向性式に従い定められて良い。

Figure 2017201783
が高minエントロピ分布から得られ、e1←Ber τの場合;
Figure 2017201783
任意の多項式時間(つまり実現可能な実行時間の)アルゴリズムがx又は任意のxに近いx’を出力することが、計算的に不可能である。 For example, the unidirectionality of the linear relationship hash expression may be determined according to the following unidirectional expression.
Figure 2017201783
Is obtained from a high min entropy distribution and e1 ← Ber q τ ;
Figure 2017201783
It is computationally impossible for an arbitrary polynomial time (ie realizable execution time) algorithm to output x or x ′ close to arbitrary x.

一方向性式、e1←Ber τ、x、Hash(x)、A、

Figure 2017201783
及びhxは、上述の通りである。高minエントロピ分布は、バイオメトリックテンプレートのような分布を含む。 One-way equation, e1 ← Ber q τ , x, Hash 1 (x), A,
Figure 2017201783
And hx 1 are as described above. The high min entropy distribution includes a distribution such as a biometric template.

<関係線形暗号化方式>
線形鍵は、セキュリティパラメータについて生成されて良い。概して、本願明細書で用いられるセキュリティパラメータは、鍵長を表して良い。幾つかの実施形態では、線形鍵の生成は、以下の例示的な線形ビットベクトル鍵式に従い実行されて良い。線形ビットベクトル鍵式の一例は、以下を含む。
Given λ:
整数m、n、及び実数τ∈[0,1]を生成する;
サイズm×nのランダム2進行列Aを生成する;
鍵生成アルゴリズム(Keygen−CPA)、暗号化アルゴリズム(EncCPA)、及び解読アルゴリズム(DecCPA)を含む任意のIND_CCAセキュア公開鍵暗号化方式を決定する;
Keygen−CPAを3回実行して、公開/秘密鍵ペアの3個のセットを生成する;
(pk_1,sk_1),(pk_2,sk_2),及び(pk_3,sk_3);
以下を設定する:
pkxlin:=(A,τ,pk_1,pk_3);skxlin:=sk_1;
pkylin:=(A,τ,pk_2,pk_3);skylin:=sk_2;
skRlin:=(A,τ,pk_3)
線形ビットベクトル鍵式では、←及びλは、概して上述の通りである。さらに、線形ビットベクトル鍵式では、pkxlinは第1線形公開鍵を表し、skxlinは第1線形秘密鍵を表し、pkylinは第2線形公開鍵を表し、skylinは第2線形秘密鍵を表し、skRlinは関係線形秘密鍵を表す。パラメータτは、ノイズ確率を表す。さらに、パラメータpkxlin、skxlin、pkylin、skylin、及びskRlinは、上述の鍵生成アルゴリズム(KeyGen)の出力の少なくとも1つの線形部分を表して良い。幾つかの実施形態では、τは1/4に等しくて良い。
<Relational linear encryption method>
A linear key may be generated for security parameters. In general, the security parameter used herein may represent a key length. In some embodiments, the generation of the linear key may be performed according to the following exemplary linear bit vector key expression. An example of a linear bit vector key expression includes:
Given λ:
Generate integers m, n and real numbers τε [0,1];
Generate a random binary progression A of size m × n;
Determine any IND_CCA secure public key encryption scheme, including key generation algorithm (Keygen-CPA), encryption algorithm (EncCPA), and decryption algorithm (DecCPA);
Run Keygen-CPA three times to generate three sets of public / private key pairs;
(Pk_1, sk_1), (pk_2, sk_2), and (pk_3, sk_3);
Set the following:
pkxlin: = (A, τ, pk_1, pk_3); skxlin: = sk_1;
pkylin: = (A, τ, pk_2, pk_3); skylin: = sk_2;
skRlin: = (A, τ, pk — 3)
In the linear bit vector key expression, ← and λ are generally as described above. Further, in the linear bit vector key expression, pkxlin represents the first linear public key, skxlin represents the first linear private key, pkylin represents the second linear public key, skylin represents the second linear private key, and skRlin Represents a relational linear secret key. The parameter τ represents the noise probability. Further, the parameters pkxlin, skxlin, pkylin, skylin, and skRlin may represent at least one linear part of the output of the key generation algorithm (KeyGen) described above. In some embodiments, τ may be equal to ¼.

線形暗号化モジュール112は、平文ベクトル142を暗号化して良い。線形暗号化モジュール112は、平文ベクトル142を受信して良い。幾つかの実施形態では、線形暗号化モジュール112は、以下の例示的な線形ビットベクトル暗号化式に従い、平文ベクトル142を暗号化して良い。
m1=<m1 i=1∈F ;m2=<m2 i=1∈F
cx:=EncCPA(pk_3,A×m1+e1),EncCPA(pk_1,m1);
cy:=EncCPA(pk_3,A,m2+e2),EncCPA(pk_2,m2);
e1∈F 、各要素は、確率τで1であり、その他の場合0である;
e2∈F 、各要素は、確率τで1であり、その他の場合0である。
The linear encryption module 112 may encrypt the plaintext vector 142. The linear encryption module 112 may receive the plaintext vector 142. In some embodiments, the linear encryption module 112 may encrypt the plaintext vector 142 according to the following exemplary linear bit vector encryption formula:
m1 = <m1 i > n i = 1 ∈F n 2 ; m2 = <m2 i > n i = 1 ∈F n 2 ;
cx: = EncCPA (pk_3, A × m1 + e1), EncCPA (pk_1, m1);
cy: = EncCPA (pk_3, A, m2 + e2), EncCPA (pk_2, m2);
e1εF m 2 , each element is 1 with probability τ, otherwise 0;
e2εF m 2 , each element is 1 with probability τ, and 0 otherwise.

線形ビットベクトル鍵式において、EncCPAは、上述のIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表す。演算子+は、ビット毎のXOR演算子を表す。パラメータcxは第1線形暗号文を表し、パラメータcyは第2線形暗号文を表す。パラメータm1は、平文ベクトル142のような、nビットの第1メッセージを表す。パラメータm1は、平文ベクトル142のうちの第1平文ベクトルの要素を表す。パラメータm2は、平文ベクトル142のうちの第2平文ベクトルを表す。パラメータm2は、平文ベクトル142のうちの第2平文ベクトルの要素を表す。パラメータFは体を表す。第1体の隣にある添え字2は、体の基本数を表す。第1体の隣にある添え字nは、第1体要素を含むベクトルの次元を表す。パラメータiは、インデックス変数を表す。線形ビットベクトル鍵式では、インデックス変数は、1から第1体の次元までの範囲を有する。演算子<>は、簡単な表記法を表す。例えば、<b i=1は、b,b,...,bを表す。 In the linear bit vector key expression, EncCPA represents an encryption algorithm of the above-mentioned IND_CCA secure public key encryption method. The operator + represents a bitwise XOR operator. The parameter cx represents the first linear ciphertext, and the parameter cy represents the second linear ciphertext. The parameter m1 represents an n-bit first message, such as a plaintext vector 142. The parameter m1 i represents an element of the first plaintext vector in the plaintext vector 142. The parameter m2 represents the second plaintext vector in the plaintext vector 142. The parameter m2 i represents an element of the second plaintext vector in the plaintext vector 142. The parameter F represents the body. The subscript 2 next to the first field represents the basic number of fields. The subscript n next to the first body represents the dimension of the vector containing the first body element. The parameter i represents an index variable. In a linear bit vector key expression, the index variable has a range from 1 to the first body dimension. The operator <> represents a simple notation. For example, <b i > n i = 1 means that b 1 , b 2 ,. . . , B n .

線形ビットベクトル暗号化式は、上述の第1暗号化アルゴリズム(EncX)及び第2暗号化アルゴリズム(EncY)を定めて良い。例えば、第1暗号化アルゴリズムは次のように定められて良い。   The linear 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 determined as follows.

given:m1及びpkxlin,
ランダム2進行列Aをサンプリングする,
cxを次の通り構成する:
cx:=EncCPA(pk_3,A×m1+e1),EncCPA(pk_1,m1)
同様に、第2暗号化アルゴリズムは次のように定められて良い。
given m2及びpkylin,
ランダム2進行列Aをサンプリングする,
cyを次の通り構成する:
cy:=EncCPA(pk_3,A,m2+e2),EncCPA(pk_2,m2)
第1線形暗号文及び第2線形暗号文は、線形認証モジュール132に通信されて良い。追加又は代替で、第1線形暗号文及び第2線形暗号文は、ネットワーク107を介して、認証サーバ140に通信されて良い。認証サーバ140は、第1線形暗号文及び第2線形暗号文を受信し、第1線形暗号文及び第2線形暗号文を線形認証モジュール132に通信して良い。
give: m1 and pkxlin,
Sampling random 2 progression A,
Configure cx as follows:
cx: = EncCPA (pk_3, A * m1 + e1), EncCPA (pk_1, m1)
Similarly, the second encryption algorithm may be defined as follows.
given m2 and pkylin,
Sampling random 2 progression A,
Construct cy as follows:
cy: = EncCPA (pk_3, A, m2 + e2), EncCPA (pk_2, m2)
The first linear ciphertext and the second linear ciphertext may be communicated to the linear authentication module 132. Additionally or alternatively, the first linear ciphertext and the second linear ciphertext may be communicated to the authentication server 140 via the network 107. The authentication server 140 may receive the first linear ciphertext and the second linear ciphertext and communicate the first linear ciphertext and the second linear ciphertext to the linear authentication module 132.

幾つかの実施形態では、第1線形暗号文は、第2線形暗号文の通信の前に、線形認証モジュール132に通信されて良い。線形認証モジュール132は、第1線形暗号文を登録暗号文130としてメモリ122に格納して良い。第1線形暗号文を通信した後に、第2線形暗号文は、線形認証モジュール132に通信されて良い。さらに、設定モジュール144は、関係線形秘密鍵を線形認証モジュール132に通信して良い。   In some embodiments, the first linear ciphertext may be communicated to the linear authentication module 132 prior to communication of the second linear ciphertext. The linear authentication module 132 may store the first linear ciphertext as the registered ciphertext 130 in the memory 122. After communicating the first linear ciphertext, the second linear ciphertext may be communicated to the linear authentication module 132. Further, the configuration module 144 may communicate the related linear secret key to the linear 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 a basis for comparison with the second linear ciphertext or any other subsequent linear ciphertext. In other embodiments that implement relational encryption, the first linear ciphertext may not 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線形暗号文と第2線形暗号文との間の線形関係を発見する。
z=<z i=1∈F
cx_0:=EncCPA(pk_3,A×m1+e1);
cy_0:=EncCPA(pk_3,A×m2+e2);
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m
線形ビットベクトル検証式において、<>,i,n,A,F ,pk_3,m1,e1,τ,m2,e2,sk_3は、上述の通りである。線形ビットベクトル検証式において、distは、mビットベクトルのハミング重みを評価する関数である。パラメータcx_0は、第1線形暗号文の第1成分を表す。パラメータcy_0は、第2線形暗号文の第1成分を表す。パラメータzは、特定ベクトルを表す。パラメータzは、特定ベクトルの要素を表す。演算子+は、ビット毎のXOR演算子を表す。
The linear authentication module 132 may be configured to find a linear relationship between the first linear ciphertext and the second linear ciphertext. In some embodiments, the linear authentication module 132 finds a linear relationship between the first linear ciphertext and the second linear ciphertext according to the following exemplary linear bit vector verification equation.
z = <z i > n i = 1 ∈ F n 2 ;
cx — 0: = EncCPA (pk — 3, A × m1 + e1);
cy — 0: = EncCPA (pk — 3, A × m2 + e2);
dist (DecCPA (sk_3, cx_0) + DecCPA (sk_3, cy_0) + A × z) < ? 2 × τ × m
In the linear bit vector verification formula, <>, i, n, A, F n 2 , pk — 3, m1, e1, τ, m2, e2, and sk — 3 are as described above. In the linear bit vector verification formula, dist is a function that evaluates the Hamming weight of an m-bit vector. The parameter cx_0 represents the first component of the first linear ciphertext. The parameter cy_0 represents the first component of the second linear ciphertext. The parameter z represents a specific vector. The parameter z i represents an element of the specific vector. The operator + represents a bitwise XOR operator.

線形ビットベクトル検証式は、上述の検証アルゴリズム(Verify)を定めて良い。同様に、検証アルゴリズムは次のように定められて良い。
given cy,cx,z,skRlin:=(A,τ,sk_3):
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m
線形ビットベクトル解読式は、上述の第1解読アルゴリズム(DecX)及び第2解読アルゴリズム(DecY)を定めて良い。例えば、第1解読アルゴリズムは次のように定められて良い。
given:cx及びskxlin,
式に従い第1平文ベクトル142を1ビットずつ構成する:
cx_1=EncCPA(pk_1,m1);
m1=DecCPA(skxlin,cx_1)
第1解読アルゴリズムにおいて、skxlin,EncCPA,pk_1,m1,skxlin,及びDecCPAは、上述の通りである。パラメータcx_1は、第1線形暗号文の第2成分を表す(例えばcx)。
The linear bit vector verification formula may define the verification algorithm (Verify) described above. Similarly, the verification algorithm may be defined as follows:
give cy, cx, z, skRlin: = (A, τ, sk — 3):
Check for the following inequality:
dist (DecCPA (sk_3, cx_0) + DecCPA (sk_3, cy_0) + A × z) < ? 2 × τ × m
The linear bit vector decoding formula may define the first decoding algorithm (DecX) and the second decoding algorithm (DecY) described above. For example, the first decryption algorithm may be determined as follows.
give: cx and skxlin,
Configure the first plaintext vector 142 bit by bit according to the equation:
cx_1 = EncCPA (pk_1, m1);
m1 = DecCPA (skxlin, cx_1)
In the first decryption algorithm, skxlin, EncCPA, pk_1, m1, skxlin, and DecCPA are as described above. The parameter cx_1 represents the second component of the first linear ciphertext (for example, cx).

同様に、第2の解読アルゴリズムは次のように定められて良い。
given:cy及びskylin,
式に従い第2平文ベクトル142Bを1ビットずつ構成する:
cy_1=EncCPA(pk_2,m2)
m2=DecCPA(skylin,cy_1)
第2解読アルゴリズムにおいて、skylin,EncCPA,pk_2,m2,及びDecCPAは、上述の通りである。パラメータcy_1は、第2線形暗号文の第2成分である(例えばcy)。
Similarly, the second decryption algorithm may be defined as follows.
give: cy and skylin,
Construct second plaintext vector 142B bit by bit according to the equation:
cy_1 = EncCPA (pk_2, m2)
m2 = DecCPA (skylin, cy_1)
In the second decryption algorithm, skylin, EncCPA, pk_2, m2, and DecCPA are as described above. The parameter cy_1 is the second component of the second linear ciphertext (for example, cy).

<関係近似ハッシュ方式>
本開示に記載される実施形態において実施される関係近似ハッシュ方式では、暗号文の解読は可能でなくて良い。したがって、関係近似ハッシュ方式は、関係近似暗号化方式の代わりに関係近似ハッシュ方式であって良い。関係近似ハッシュ方式は、近似ハッシュ値の間の近さ(closeness)を決定するために用いられて良い。幾つかの実施形態では、近似は、ハミング距離の観点で与えられて良い。関係近似ハッシュ方式では、設定モジュール144は、鍵を生成する。鍵を用いて、近似暗号化モジュール114は、平文ベクトル142の暗号化及び/又は解読を実行する。近似ハッシュ値は、次に、近似認証モジュール128に通信されて良い。近似認証モジュール128では、近似ハッシュ値の間の近似が検出されて良い。
<Relational approximate hash method>
In the relational approximate hash method implemented in the embodiment described in the present disclosure, the ciphertext may not be decipherable. Therefore, the relational approximate hash method may be a relational approximate hash method instead of the relational approximate encryption method. A relational approximate hashing scheme may be used to determine the closeness between approximate hash values. In some embodiments, the approximation may be given in terms of a Hamming distance. In the relational approximate hash method, the setting module 144 generates a key. Using the key, the approximate encryption module 114 performs encryption and / or decryption of the plaintext vector 142. The approximate hash value may then be communicated to the approximate authentication module 128. In the approximate authentication module 128, an approximation between the approximate hash values may be detected.

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

さらに、設定モジュール144は、誤り訂正符号(error correcting code:ECC)を選択して良い。ECCは、線形誤り訂正符号方式であって良い。ECCは、長さ、ランク、及び距離を有して良い。さらに、ECCは、ECC符号化演算子(ENCODE)及びECC復号化演算子(DECODE)も有して良い。設定モジュール144は、次に、第1近似秘密鍵、第2近似秘密鍵、第1近似公開鍵、第2近似公開鍵、及び近似関係秘密鍵(集合的に、「近似鍵」)を生成して良い。近似鍵は、近似ハッシュ値を生成し及び近似ハッシュ値の間の近似を検出するために、平文ベクトル142をハッシングするために使用される。   Furthermore, the setting module 144 may select an error correcting code (ECC). The ECC may be a linear error correction code method. The ECC may have a length, rank, and distance. In addition, the ECC may have an ECC encoding operator (ENCODE) and an ECC decoding operator (DECODE). The setting module 144 then generates a first approximate secret key, a second approximate secret key, a first approximate public key, a second approximate public key, and an approximate relationship secret key (collectively, “approximate keys”). Good. The approximate key is used to hash the plaintext vector 142 to generate an approximate hash value and to detect an approximation between the approximate hash values.

第1近似秘密鍵は、CPA秘密鍵及び第1線形秘密鍵に基づき定められて良い。第2近似秘密鍵は、CPA秘密鍵及び第2線形秘密鍵に基づき定められて良い。第1近似公開鍵は、ENCODE、DECODE、CPA公開鍵及び第1線形公開鍵に基づき定められて良い。第2近似公開鍵は、ENCODE、DECODE、CPA公開鍵及び第2線形公開鍵に基づき定められて良い。近似関係秘密鍵は、CPA秘密鍵及び線形関係秘密鍵に基づき定められて良い。   The first approximate secret key may be determined based on the CPA secret key and the first linear secret key. The second approximate secret key may be determined based on the CPA secret key and the second linear secret key. The first approximate public key may be determined based on ENCODE, DECODE, CPA public key, and first linear public key. The second approximate public key may be determined based on ENCODE, DECODE, CPA public key, and second linear public key. The approximate relationship secret key may be determined based on the CPA secret key and the linear relationship secret key.

幾つかの実施形態では、設定モジュール144は、以下の例示的な近似鍵生成式に従って、近似鍵を生成して良い。
(pkCPA,skCPA)←KeyGen−CPA;
(pkxlin,pkylin,skxlin,skylin,skRlin)←KeyGenLinear;X←Zn×k
pkxprox:=(ENCODE,DECODE,pkCPA,pkxlin,X);
pkyprox:=(ENCODE,DECODE,pkCPA,pkylin,X);
skxprox:=(skCPA,skxlin);
skyprox:=(skCPA,skylin);
skRprox:=(skCPA,skRlin)
近似鍵生成式において、pkxlin,pkylin,skxlin,skylin,skRlin,ENCODE及びDECODEは上述の通りである。演算子←は、ランダムサンプリング演算子を表す。パラメータpkCPAは、CPA公開鍵を表す。パラメータskCPAは、CPA秘密鍵を表す。パラメータKeyGen−CPAは、CPA鍵生成アルゴリズムを表す。パラメータkは、ランクを表す。パラメータpkxproxは、第1近似公開鍵を表す。パラメータpkyproxは、第2近似公開鍵を表す。パラメータXは、ランダム行列を表す。パラメータskxproxは、第1近似秘密鍵を表す。パラメータskyproxは、第2近似秘密鍵を表す。パラメータskRproxは、近似関係秘密鍵を表す。さらに、パラメータpkxprox、skxprox、pkyprox、skyprox、及びskRproxは、上述の鍵生成アルゴリズム(KeyGen)の出力の少なくとも1つの近似部分を表して良い。
In some embodiments, the setting module 144 may generate an approximate key according to the following exemplary approximate key generation equation.
(PkCPA, skCPA) <-KeyGen-CPA;
(Pkxlin, pkylin, skxlin, skylin, skRlin) ← KeyGenLinear; X ← Z n × k 2 ;
pkxprox: = (ENCODE, DECODE, pkCPA, pkxlin, X);
pkyprox: = (ENCODE, DECODE, pkCPA, pkylin, X);
skxprox: = (skCPA, skxlin);
skyprox: = (skCPA, skylin);
skRprox: = (skCPA, skRlin)
In the approximate key generation formula, pkxlin, pkylin, skxlin, skylin, skRlin, ENCODE, and DECODE are as described above. The operator ← represents a random sampling operator. The parameter pkCPA represents the CPA public key. The parameter skCPA represents the CPA private key. The parameter KeyGen-CPA represents a CPA key generation algorithm. The parameter k represents a rank. The parameter pkxprox represents the first approximate public key. The parameter pkyprox represents the second approximate public key. The parameter X represents a random matrix. The parameter skxprox represents the first approximate secret key. The parameter skyprox represents the second approximate secret key. The parameter skRprox represents the approximate relationship secret key. Further, the parameters pkxprox, skxprox, pkyprox, skyprox, and skRprox may represent at least one approximate part of the output of the key generation algorithm (KeyGen) described above.

第1線形公開鍵は、第1平文ベクトル142Aをハッシングして第1近似ハッシュ値を生成するために、近似暗号化モジュール114により使用されて良い。近似暗号化モジュール114は、平文ベクトル142を受信し、平文ベクトル142を近似暗号化モジュール114に通信して良い。平文ベクトル142は、上述の第1又は第2体のメンバを有して良い。   The first linear public key may be used by the approximate encryption module 114 to hash the first plaintext vector 142A to generate a first approximate hash value. The approximate encryption module 114 may receive the plaintext vector 142 and communicate the plaintext vector 142 to the approximate encryption module 114. The plaintext vector 142 may have the first or second body members described above.

近似暗号化モジュール114は、第3体から近似乱数(以下のr)をサンプリングして良い。第3体は、基本数と、ECCのランクであって良い次元と、を有して良い。近似暗号化モジュール114は、次に、第1近似ハッシュ値及び第2近似ハッシュ値を構成して良い。第1近似ハッシュ値及び第2近似ハッシュ値の各々は、2つの部分を有して良い。第1近似ハッシュ値の第1部分は、CPA公開鍵と第1平文ベクトル142Aの和とを入力として受信するCPA暗号化アルゴリズム、及び近似乱数を入力として受信するENCODEを有して良い。第1近似ハッシュ値の第2部分は、第1線形公開鍵と近似乱数とを受信する第1線形暗号化アルゴリズムを有して良い。   The approximate encryption module 114 may sample an approximate random number (hereinafter r) from the third body. The third body may have a base number and a dimension that may be an ECC rank. The approximate encryption module 114 may then construct a first approximate hash value and a second approximate hash value. Each of the first approximate hash value and the second approximate hash value may have two parts. The first portion of the first approximate hash value may include a CPA encryption algorithm that receives a CPA public key and the sum of the first plaintext vector 142A as an input, and an ENCODE that receives an approximate random number as an input. The second portion of the first approximate hash value may include a first linear encryption algorithm that receives the first linear public key and the approximate random number.

第2近似ハッシュ値の第1部分は、CPA公開鍵と第2平文ベクトル142Bの和とを入力として受信するCPA暗号化アルゴリズム、及び近似乱数を入力として受信するENCODEを有して良い。第2近似ハッシュ値の第2部分は、第2線形公開鍵と近似乱数とを入力として受信する第2線形暗号化アルゴリズムを有して良い。   The first portion of the second approximate hash value may include a CPA encryption algorithm that receives a CPA public key and the sum of the second plaintext vector 142B as input, and an ENCODE that receives an approximate random number as input. The second portion of the second approximate hash value may include a second linear encryption algorithm that receives the second linear public key and the approximate random number as inputs.

幾つかの実施形態では、近似ハッシュ値は、以下の例示的な近似暗号化式に従って生成されて良い。
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,X○r);
cxp:=(cxp1,cxp2);
cyp1:=EncCPA(pkCPA,m2+ENCODE(r));
cyp2:=EncXLinear(pkylin,X○r);
cyp:=(cyp1,cyp2)
近似暗号化式において、ENCODE,m1,m2,pkCPA,X,pkxlin,及びpkylinは、上述の通りである。EncCPAは、CPA暗号化アルゴリズムを表す。パラメータrは、kビットの近似乱数を表す。パラメータcxp1は、第1近似ハッシュ値の第1部分を表す。パラメータcxp2は、第1近似ハッシュ値の第2部分を表す。パラメータcxpは、第1近似ハッシュ値を表す。パラメータcyp1は、第2近似ハッシュ値の第1部分を表す。パラメータcyp2は、第2近似ハッシュ値の第2部分を表す。パラメータcypは、第2近似ハッシュ値を表す。パラメータEncXLinearは、第1線形暗号化アルゴリズムを表す。パラメータEncYLinearは、第2線形暗号化アルゴリズムを表す。
In some embodiments, the approximate hash value may be generated according to the following exemplary approximate encryption formula:
cxp1: = EncCPA (pkCPA, m1 + ENCODE (r));
cxp2: = EncXLinear (pkxlin, X ○ r);
cxp: = (cxp1, cxp2);
cyp1: = EncCPA (pkCPA, m2 + ENCODE (r));
cyp2: = EncXLinear (pkylin, Xr);
cyp: = (cyp1, cyp2)
In the approximate encryption equation, ENCODE, m1, m2, pkCPA, X, pkxlin, and pkylin are as described above. EncCPA represents a CPA encryption algorithm. The parameter r represents an approximate random number of k bits. The parameter cxp1 represents the first part of the first approximate hash value. The parameter cxp2 represents the second part of the first approximate hash value. The parameter cxp represents the first approximate hash value. The parameter cyp1 represents the first part of the second approximate hash value. The parameter cyp2 represents the second part of the second approximate hash value. The parameter cyp represents the second approximate hash value. The parameter EncXLinear represents the first linear encryption algorithm. The parameter EncYLinear represents the second linear encryption algorithm.

第1近似ハッシュ値は、認証サーバ140に通信されて、登録暗号文130として認証サーバ140に格納されて良い。第2近似公開鍵は、第2平文ベクトル142Bをハッシングして第2近似ハッシュ値を生成するために、近似暗号化モジュール114により使用されて良い。第2近似ハッシュ値は、認証サーバ140に通信されて良い。近似関係秘密鍵は、認証サーバ140において使用されて良い。特に、近似関係秘密鍵は、第2近似ハッシュ値と第1近似ハッシュ値との間の近似を検出するために、近似認証サーバ128により使用されて良い。この近似は、登録暗号文130として格納される。   The first approximate hash value may be communicated to the authentication server 140 and stored in the authentication server 140 as the registered ciphertext 130. The second approximate public key may be used by the approximate encryption module 114 to hash the second plaintext vector 142B to generate a second approximate hash value. The second approximate hash value may be communicated to the authentication server 140. The approximate relationship secret key may be used in the authentication server 140. In particular, the approximate relationship secret key may be used by the approximate authentication server 128 to detect an approximation between the second approximate hash value and the first approximate hash value. This approximation is stored as registered ciphertext 130.

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

DECODEがエラーを返す場合、近似認証モジュール128は、拒否を返して良い。さらに、近似認証モジュール128は、線形検証アルゴリズムを出力して良い。線形検証アルゴリズムは、線形関係秘密鍵、第2近似ハッシュ値の第1部分、第2近似ハッシュ値の第2部分、及びランダム性の和を入力として受信する。   If DECODE returns an error, the approximate authentication module 128 may return a rejection. Further, the approximate authentication module 128 may output a linear verification algorithm. The linear verification algorithm receives as input the linear relationship secret key, the first part of the second approximate hash value, the second part of the second approximate hash value, and the randomness.

したがって、近似検証アルゴリズムは、第1近似ハッシュ値、第2近似ハッシュ値、及び近似秘密鍵を受信するよう定められて良い。近似検証アルゴリズムは、ランダム性の和を復元し、拒否又は線形検証アルゴリズムを出力して良い。線形検証アルゴリズムは、線形関係秘密鍵、第2近似ハッシュ値の第1部分、第2近似ハッシュ値の第2部分、及びランダム性の和を入力として受信する。例えば、近似認証モジュール128は、以下の例示的な近似検証アルゴリズムに従って、1又は複数の演算を実行して良い。
rs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output{DECODEが⊥を返す場合、拒否する;
VerifyLinear(skRlin,cs_2,cy_2,X○z)}
近似検証アルゴリズムにおいて、skcpa,cx_1,cx_2,cy_1,cy_2,skRlin,X,z,DecCPA,及びDECODEは、上述の通りである。パラメータOutputは、近似認証モジュール128の出力を示す。パラメータZrsは、ランダム性の和を表す。パラメータ⊥は、エラーを表す。VerifyLinearは、線形検証アルゴリズムを表す。
Accordingly, the approximate verification algorithm may be defined to receive the first approximate hash value, the second approximate hash value, and the approximate secret key. The approximate verification algorithm may restore the randomness sum and output a rejection or linear verification algorithm. The linear verification algorithm receives as input the linear relationship secret key, the first part of the second approximate hash value, the second part of the second approximate hash value, and the randomness. For example, the approximate authentication module 128 may perform one or more operations according to the following exemplary approximate verification algorithm.
Z rs : = DECODE (DecCPA (skcpa, cx_1 + DecCPA (skcpa, cy_1)));
Output {If DECODE returns ⊥, reject;
VerifyLinear (skRlin, cs_2, cy_2, Xz)}
In the approximate verification algorithm, skcpa, cx_1, cx_2, cy_1, cy_2, skRlin, X, z, DecCPA, and DECODE are as described above. The parameter Output indicates the output of the approximate authentication module 128. The parameter Z rs represents the sum of randomness. Parameter ⊥ represents an error. VerifyLinear represents a linear verification algorithm.

本願明細書に記載の関係近似暗号化方式は、以下の条件が真である場合にセキュアであり得る。   The relational approximate encryption scheme described herein can be secure if the following conditions are true:

ECCは、(n’,k,2δ)線形誤り訂正方式である;
(KeyGenCPA,EncCPA,DecCPA)は、IND−CPAセキュア暗号化方式である;
(KeyGenLinear,EncXLinear,DecXLinear,EncYLinear,EncYLinear,VerifyLinear)は、F における線形の関係暗号化方式である。
ECC is an (n ′, k, 2δ) linear error correction scheme;
(KeyGenCPA, EncCPA, DecCPA) is an IND-CPA secure encryption scheme;
(KeyGenLinear, EncXLinear, DecXLinear, EncYLinear, EncYLinear, VerifyLinear) is a linear relational encryption method in F n 2 .

条件の中で、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 represents ECC. The parameter n ′ represents the length of the code word. The parameter k represents the length of the message. The parameter 2δ represents the minimum distance.

本開示の範囲から逸脱することなく動作環境100に対し変更、追加又は省略が行われて良い。本開示は、1又は複数のユーザ装置102、1又は複数の認証サーバ140、1又は複数の第2エンティティ150、1又は複数の第1エンティティ152、又はそれらの任意の組合せを有する動作環境100に適用されて良い。   Changes, additions, or omissions may be made to the operating environment 100 without departing from the scope of the present disclosure. The present disclosure provides for an operating environment 100 having one or more user devices 102, one or more authentication servers 140, one or more second entities 150, one or more first entities 152, or any combination thereof. Can be applied.

さらに、本願明細書に記載の実施形態の中の種々のコンポーネントの分割は、分割が全ての実施形態において生じることを意味しない。本開示の利益により、記載のコンポーネントが単一のコンポーネントに統合され又は複数のコンポーネントに分割されても良いことが理解される。   Further, the division of the various components in the embodiments described herein does not mean that the division occurs in all embodiments. It is understood that the components described may be combined into a single component or divided into multiple components, with the benefit of this disclosure.

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

認証サービスは、登録処理及び認証処理を有して良い。登録処理は、認証処理において使用され得る情報及びデータをユーザ206から得るステップを有して良い。認証処理は、時間的に後に(例えば、登録処理に続いて)生じて良い。認証処理では、ユーザ206の同一性は、図1を参照して議論した関係暗号化動作のうちの1又は複数を用いて認証されて良い。概して、ユーザ206の同一性は、本願明細書に記載のように、第1線形暗号文と第2線形暗号文との間の線形を発見することにより、及び第1近似ハッシュ値と第2近似ハッシュ値との間の近似を検出することにより、認証されて良い。第1線形暗号文及び第1近似ハッシュ値は、第1バイオメトリックテンプレートの形式で、ユーザ206により提供されて良い。第1バイオメトリックテンプレートは、図1の平文ベクトル142のうちの第1平文ベクトル及び/又は図2の登録入力に含まれて良い。   The authentication service may include a registration process and an authentication process. The registration process may include obtaining information and data from the user 206 that can be used in the authentication process. 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 related encryption operations discussed with reference to FIG. In general, the identity of user 206 is determined by finding the linearity between the first linear ciphertext and the second linear ciphertext, and the first approximate hash value and the second approximation, as described herein. Authentication may be performed by detecting an approximation between the hash values. The first linear ciphertext and the first approximate hash value may be provided by the user 206 in the form of a first biometric template. The first biometric template may be included in the first plaintext vector of the plaintext vectors 142 of FIG. 1 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 impersonator 222 (discussed below) may have an individual with one or more biometric features. A biometric feature may have one or more unique features. For example, the biometric feature may include a fingerprint of the user 206 that has a pattern of wrinkles and / or wrinkles. In some embodiments, the user 206 may be associated with the user device 102. For example, the user 206 may own or regularly operate the user device 102. In some embodiments, the user 206 may not be specifically associated with the user device 102. For example, user device 102 may be publicly accessible by multiple users, including user 206. In some embodiments, the impersonator 222 may have an entity that provides input that may represent a biometric feature.

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

センサ298の幾つかの例は、指紋スキャナ、虹彩の画像をキャプチャするよう構成されるカメラ、DNAを測定するよう構成される装置、心拍をキャプチャするよう構成される心拍モニタ、骨格筋により生成される電気的活動をキャプチャするよう構成されるウエアラブル筋電センサ、又はバイオメトリック特徴を測定し又はキャプチャするよう構成される任意の他のセンサ298、を有して良い。   Some examples of sensors 298 are generated by a fingerprint scanner, a camera configured to capture an image of the iris, a device configured to measure DNA, a heart rate monitor configured to capture heart rate, and skeletal muscle Wearable myoelectric sensors 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, sensor 298 may be communicatively coupled to user device 102 or a processor included therein. For example, sensor 298 may be configured to communicate signals to user device 102 via a network, such as network 107 in FIG. Although only one sensor 298 is shown in FIG. 2, in some embodiments, the user device 102 may have one or more sensors 298.

関係暗号化モジュール110は、第1線形暗号文及び第1近似ハッシュ値を登録入力232から生成して良い。関係暗号化モジュール110は、次に、第1線形暗号文及び第1近似ハッシュ値を登録データ234として、認証サーバ140に通信して良い。   The relation encryption module 110 may generate the first linear ciphertext and the first approximate hash value from the registration input 232. The relationship encryption module 110 may then communicate to the authentication server 140 using the first linear ciphertext and the first approximate hash value as registration data 234.

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

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

関係暗号化モジュール110は、第2線形暗号文及び第1近似ハッシュ値を登録入力236から生成して良い。関係暗号化モジュール110は、次に、第2線形暗号文及び第2近似ハッシュ値を登録データ238として、認証サーバ140に通信して良い。   The relation encryption module 110 may generate the second linear ciphertext and the first approximate hash value from the registration input 236. The relationship encryption module 110 may then communicate to the authentication server 140 using the second linear ciphertext and the second approximate hash value as registration data 238.

関係認証モジュール108は、チャレンジデータ238を受信して良い。関係認証モジュール108は、次に、ユーザ206の登録暗号文130を読み出して良い。   The relationship authentication module 108 may receive the challenge data 238. The relationship 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 a linear relationship between the first linear ciphertext stored as the registered ciphertext 130 and the second linear ciphertext received from the user device 102. Furthermore, the relationship authentication module 108 may determine an approximate relationship between the first approximate hash value stored as the registered ciphertext 130 and the second approximate hash value received from the user device 102.

第1線形暗号文が第2線形暗号文と線形関係を有し、及び第1近似ハッシュ値と第2近似ハッシュ値との間の特定の近似が存在することに応答して、認証サーバ140は、第1バイオメトリックテンプレートと第2バイオメトリックテンプレートとの間に概算類似性が存在すると決定して良い。   In response to the first linear ciphertext having a linear relationship with the second linear ciphertext and there is a specific approximation between the first approximate hash value and the second approximate hash value, the authentication server 140 , It may be determined 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 the user 206 is the basis of the second linear ciphertext and the second approximate hash value, there is a linear relationship between the first linear ciphertext and the second linear ciphertext. There may be an approximation between the first approximate hash value and the second approximate hash value.

しかしながら、偽者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 approximate hash value, there is a linear relationship between the first linear ciphertext and the second linear ciphertext. It does not exist and no approximation exists between the first approximate hash value and the second approximate hash value.

線形関係及び/又は近似に基づき、関係認証モジュール108は、認証を決定できる。例えば、関係認証モジュール108は、チャレンジデータ238がユーザ206又は偽者222に起因するかを決定して良い。関係認証モジュール108は、線形関係の発見及び/又は近似の検出に基づき、認証信号242を通信して良い。関係暗号化モジュール110は、認証信号242を受信して良い。   Based on the linear relationship and / or approximation, 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 finding a linear relationship and / or detecting an approximation. The relation encryption 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 a biometric authentication system 200 that may have one or more users 206, one or more user devices 102, one or more authentication servers 140, or any combination thereof.

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

図3は、関係暗号化のために構成される例示的なコンピューティングシステム300を示す。コンピューティングシステム300は、例えば図1の動作環境100において実装されて良い。コンピューティングシステム300の例は、ユーザ装置102又は認証サーバ140を有して良い。コンピューティングシステム300は、1又は複数のプロセッサ304、メモリ308、通信ユニット302、ユーザインタフェース装置314、データ記憶装置301を有して良い。データ記憶装置301は、関係認証モジュール108、関係暗号化モジュール110(集合的に、モジュール108/110)を有する。   FIG. 3 shows an exemplary computing system 300 configured for relationship encryption. The computing system 300 may be implemented, for example, in the operating environment 100 of FIG. An example computing system 300 may include the user device 102 or the authentication server 140. The computing system 300 may include one or more processors 304, a memory 308, a communication unit 302, a user interface device 314, and a data storage device 301. The data storage device 301 includes a relationship authentication module 108 and a relationship encryption module 110 (collectively, modules 108/110).

プロセッサ304は、任意の適切な特定用途向け又は汎用コンピュータ、コンピューティングエンティティ、又は種々のコンピュータハードウェア若しくはソフトウェアモジュールを有して良く、任意の適切なコンピュータ可読媒体に格納された命令を実行するよう構成され得る処理装置を用いて実施されて良い。例えば、プロセッサ304は、マイクロプロセッサ、マイクロコントローラ、デジタシグナルプロセッサ(DSP)、ASIC、FPGA又はプログラム命令を解釈し及び/若しくは実行し並びに/又はデータを処理するよう構成された任意の他のデジタル若しくはアナログ回路を有して良い。   The processor 304 may comprise any suitable special purpose or general purpose computer, computing entity, or various computer hardware or software modules to execute instructions stored on any suitable computer readable medium. It can be implemented using a processing device that can be configured. For example, the processor 304 may be a microprocessor, microcontroller, digital signal processor (DSP), ASIC, FPGA, or any other digital or configured to interpret and / or execute program instructions and / or process data. An analog circuit may be included.

図3には単一のプロセッサを示したが、プロセッサ304は、より一般的には、本開示で説明される任意の数の工程を個々に又は共同で実行するよう構成される任意の数のプロセッサを有して良い。さらに、プロセッサ304のうちの1又は複数は、1又は複数の異なる電子装置又はコンピューティングシステムに存在して良い。幾つかの実施形態では、プロセッサ304は、プログラム命令を解釈し及び/又は実行し、及び/又はメモリ308、データ記憶装置301又はメモリ308及びデータ記憶装置301に格納されたデータを処理して良い。幾つかの実施形態では、プロセッサ304は、データ記憶装置301からプログラム命令をフェッチし、該プログラム命令をメモリ308にロードして良い。プログラム命令がメモリ308にロードされた後、プロセッサ304は該プログラム命令を実行して良い。   Although a single processor is shown in FIG. 3, the processor 304 is more generally any number configured to perform any number of steps described in this disclosure individually or jointly. There may be a processor. Further, one or more of the processors 304 may reside in one or more different electronic devices or computing systems. In some embodiments, processor 304 may interpret and / or execute program instructions and / or process memory 308, data storage device 301 or data stored in memory 308 and data storage device 301. . In some embodiments, processor 304 may fetch program instructions from data storage device 301 and load the program instructions into memory 308. After the program instructions are loaded into the memory 308, the processor 304 may execute the program instructions.

メモリ308及びデータ記憶装置301は、コンピュータ実行可能命令又はデータ構造を伝える又は格納しているコンピュータ可読記憶媒体を含み得る。用語コンピュータ可読媒体は、単一の媒体又は複数の媒体を表して良い。このようなコンピュータ可読媒体は、プロセッサ304のような汎用又は特定目的コンピュータによりアクセスできる任意の利用可能な媒体を含み得る。例として且つ限定ではなく、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ装置(例えば、固体メモリ素子)を含む有形又は非一時的コンピュータ可読記憶媒体、又はコンピュータにより実行可能な命令若しくはデータ構造の形式で所望のプログラムコード手段を伝える若しくは格納するために用いられ汎用若しくは特定目的コンピュータによりアクセス可能な他の記憶媒体を有し得る。上述の組合せも、コンピュータ可読記憶媒体の範囲に包含され得る。コンピュータ実行可能命令は、例えば、プロセッサ304に特定の工程又は工程のグループを実行させるよう構成される命令及びデータを含み得る。   Memory 308 and data storage device 301 may include computer-readable storage media that carry or store computer-executable instructions or data structures. The term computer readable media may refer to a single media or multiple media. Such computer-readable media can include any available media that can be accessed by a general purpose or special purpose computer such as processor 304. By way of example and not limitation, such computer readable storage media may be RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, flash memory devices (eg, solid state A tangible or non-transitory computer readable storage medium including a memory element) or used to convey or store desired program code means in the form of computer-executable instructions or data structures and accessible by a general purpose or special purpose computer Other storage media may be included. Combinations of the above can also be included within the scope of computer-readable storage media. Computer-executable instructions may include, for example, instructions and data configured to cause processor 304 to perform a specific process or group of processes.

コンピュータにより実行可能な命令は、例えば、汎用コンピュータ、特定目的コンピュータ又は特定目的処理リソースに特定の機能又は機能グループを実行させる命令及びデータを有する。本発明の主題は構造的特徴及び/又は方法論的動作に特有の言葉で記載されたが、本発明の主題は、特許請求の範囲に定められる上述の特定の特徴又は動作に限定されないことが理解されるべきである。むしろ、上述の特定の特徴及び動作は、特許請求の範囲の実施の例示的形態として開示されたものである。   Computer-executable instructions comprise, for example, instructions and data that cause a general purpose computer, special purpose computer or special purpose processing resource to perform a specific function or group of functions. Although the subject matter of the present invention has been described in language specific to structural features and / or methodological operations, it is understood that the subject matter of the present invention is not limited to the specific features or operations described above as defined in the claims. It should be. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

通信ユニット302は、通信を受信し及び送信するよう構成されるハードウェアの1又は複数のピースを有して良い。幾つかの実施形態では、通信ユニット302は、通信ハードウェア装置の中でも特に、アンテナ、有線ポート、変調/復調ハードウェア、のうちの1又は複数を有して良い。特に、通信ユニット302は、コンピューティングシステム300の外部から通信を受信するよう、及び該通信をプロセッサ304に提示し又はプロセッサ304からの通信を別の装置若しくはネットワーク(例えば、図1の107)に送信するよう、構成されて良い。   The communication unit 302 may include one or more pieces of hardware configured to receive and transmit communications. In some embodiments, the communication unit 302 may include one or more of antennas, wired ports, modulation / demodulation hardware, among other communication hardware devices. In particular, the communication unit 302 receives communications from outside the computing system 300 and presents the communications to the processor 304 or routes communications from the processor 304 to another device or network (eg, 107 in FIG. 1). It may be configured to transmit.

ユーザインタフェース装置314は、ユーザからの入力を受信し及び/又はユーザに出力を提供するよう構成されるハードウェアの1又は複数のピースを有して良い。幾つかの実施形態では、ユーザインタフェース装置314は、ハードウェア装置の中でも特に、スピーカ、マイクロフォン、ディスプレイ、キーボード、タッチスクリーン、ホログラフィックプロジェクション、のうちの1又は複数を有して良い。   The user interface device 314 may include one or more pieces of hardware configured to receive input from the user and / or provide output to the user. In some embodiments, the user interface device 314 may include one or more of a speaker, microphone, display, keyboard, touch screen, holographic projection, among other hardware devices.

モジュール108/110は、データ記憶装置301に格納されたプログラム命令を有して良い。プロセッサ304は、モジュール108/110をメモリ308にロードし、モジュール108/110を実行するよう構成されて良い。代替で、プロセッサ304は、メモリ308にロードしないで、データ記憶装置301からモジュール108/110を1行毎に実行して良い。モジュール108/110を実行するとき、プロセッサ304は、本開示の他の場所に記載したように、関係認証を実行するよう構成されて良い。   Module 108/110 may have program instructions stored in data storage device 301. The processor 304 may be configured to load the module 108/110 into the memory 308 and execute the module 108/110. Alternatively, processor 304 may execute modules 108/110 line by line from data storage device 301 without loading into memory 308. When executing module 108/110, processor 304 may be configured to perform relationship authentication as described elsewhere in this disclosure.

本開示の範囲から逸脱することなくコンピューティングシステム300に対し変更、追加又は省略が行われて良い。例えば、幾つかの実施形態では、コンピューティングシステム300は、ユーザインタフェース装置314を有しなくて良い。幾つかの実施形態では、コンピューティングシステム300の異なるコンポーネントは、物理的に別個であって良く、任意の適切なメカニズムにより通信可能に結合されて良い。例えば、データ記憶装置301は、記憶装置に通信可能に結合されるプロセッサ304とメモリ308と通信ユニット302とを含むサーバから分離した、該記憶装置の部分であって良い。   Changes, additions, or omissions may be made to the computing system 300 without departing from the scope of the present disclosure. For example, in some embodiments, the computing system 300 may not have the user interface device 314. In some embodiments, the different components of computing system 300 may be physically separate and may be communicatively coupled by any suitable mechanism. For example, the data storage device 301 may be a portion of the storage device that is separate from a server that includes a processor 304, a memory 308, and a communication unit 302 that are communicatively coupled to the storage device.

図4は、本願明細書に記載の少なくとも1つの実施形態に従って構成される、生体認証の例示的な方法400のフロー図である。方法400は、図2の生体測定システム200のような生体認証システムの中で又は図1の動作環境100の中で実行されて良い。方法400は、本願明細書に記載された認証サーバ140により幾つかの実施形態においてプログラム制御されて実行されて良い。認証サーバ140は、方法400を実行する又はその実行を制御するためにプロセッサにより実行可能なプログラムコード又は命令を符号化し又は格納している非一時的コンピュータ可読媒体(例えば、図1のメモリ122又は図3のメモリ308)を含んで良く又はそれに通信可能に結合されて良い。追加又は代替で、認証サーバ140は、方法400を実行する又はその実行を制御するためにコンピュータ命令を実行するよう構成されるプロセッサ(例えば、図3のプロセッサ304)を有して良い。別個のブロックとして示したが、所望の実装に依存して、種々のブロックは、更なるブロックに分割され、少ないブロックに結合され、又は除去されて良い。   FIG. 4 is a flow diagram of an exemplary method 400 for biometric authentication configured in accordance with at least one embodiment described herein. The method 400 may be performed in a biometric authentication system, such as the biometric 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 authentication server 140 described herein. The authentication server 140 encodes or stores program code or instructions executable by the processor to execute or control the execution of the method 400 (eg, the memory 122 of FIG. 1 or The memory 308) of FIG. 3 may be included or communicatively coupled thereto. Additionally or alternatively, the authentication server 140 may include a processor (eg, processor 304 of FIG. 3) configured to execute computer instructions to perform or control the execution of method 400. Although shown as separate blocks, depending on the desired implementation, the various blocks may be divided into further blocks, combined into fewer blocks, or removed.

方法400はブロック402で開始して良い。ブロック402で、第1線形暗号文が受信されて良い。第1線形暗号文は、認証サーバにより受信されて良い。例えば、図1を参照すると、ユーザ装置102は、第1線形暗号文を認証サーバ140に通信して良い。第1線形暗号文は、高minエントロピ分布からサンプリングされ得る第1バイオメトリックテンプレートを表して良い。   Method 400 may begin at block 402. At block 402, a first linear ciphertext may be received. The first linear ciphertext may be received by the authentication server. For example, referring to FIG. 1, the user device 102 may communicate the first linear ciphertext to the authentication server 140. The first linear ciphertext may represent a first biometric template that may be sampled from a high min entropy distribution.

第1バイオメトリックテンプレートは、関係線形暗号化方式を用いて暗号化されて良い。関係線形暗号化方式は、LPNに基づく線形関係ハッシュに基づいて良い。さらに、関係線形暗号化方式は、IND_CCAセキュア公開鍵暗号化方式に更に基づいて良い。IND_CCAセキュア公開鍵暗号化方式は、鍵生成アルゴリズム(Keygen−CPA)、暗号化アルゴリズム(EncCPA)、及び解読アルゴリズム(DecCPA)を含んで良い。   The first biometric template may be encrypted using a relational linear encryption scheme. A relational linear encryption scheme may be based on a linear relation hash based on LPN. Furthermore, the relational linear encryption scheme may be further based on the IND_CCA secure public key encryption scheme. The IND_CCA secure public key encryption scheme may include a key generation algorithm (Keygen-CPA), an encryption algorithm (EncCPA), and a decryption algorithm (DecCPA).

ブロック404で、第1近似ハッシュ値が受信されて良い。第1近似ハッシュ値は、認証サーバにより受信されて良い。例えば、図1を参照すると、ユーザ装置102は、第1近似ハッシュ値を認証サーバ140に通信して良い。第1近似ハッシュ値は、関係近似ハッシュ方式を用いて暗号化された第1バイオメトリックテンプレートを表して良い。関係近似ハッシュ方式は、関係線形暗号化方式及びECCに基づいて良い。   At block 404, a first approximate hash value may be received. The first approximate hash value may be received by the authentication server. For example, referring to FIG. 1, the user device 102 may communicate the first approximate hash value to the authentication server 140. The first approximate hash value may represent a first biometric template encrypted using a relational approximate hash method. The relational approximate hashing scheme may be based on a relational linear encryption scheme and ECC.

ブロック406で、第1線形暗号文及び/又は第1近似ハッシュ値は、登録暗号文として格納されて良い。例えば、第1線形暗号文及び/又は第1近似ハッシュ値は、認証サーバ140のメモリ122のような認証サーバのメモリに格納されて良い。   At block 406, the first linear ciphertext and / or the first approximate hash value may be stored as a registered ciphertext. For example, the first linear ciphertext and / or the first approximate hash value may be stored in a memory of an authentication server such as the memory 122 of the authentication server 140.

ブロック408で、第2線形暗号文が受信されて良い。第2線形暗号文は、高minエントロピ分布からサンプリングされ得る第2バイオメトリックテンプレートを表して良い。第2バイオメトリックテンプレートは、関係線形暗号化方式を用いて暗号化されて良い。第1線形暗号文及び/又は第2線形暗号文は、本開示の別の場所に記載される線形ビットベクトル暗号化式に従い暗号化されて良い。   At block 408, a second linear ciphertext may be received. The second linear ciphertext may represent a second biometric template that may be sampled from a high min entropy distribution. The second biometric template may be encrypted using a relational linear encryption scheme. The first linear ciphertext and / or the second linear ciphertext may be encrypted according to a linear bit vector encryption formula described elsewhere in this disclosure.

ブロック410で、第2近似ハッシュ値が受信されて良い。第2近似ハッシュ値は、関係近似暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表して良い。幾つかの実施形態では、第1近似ハッシュ値及び/又は第2近似ハッシュ値は、本開示の別の場所に記載される近似暗号化式に従い生成される。   At block 410, a second approximate hash value may be received. The second approximate hash value may represent a second biometric template that is encrypted using a relational approximate encryption scheme. In some embodiments, the first approximate hash value and / or the second approximate hash value is generated according to an approximate encryption formula described elsewhere in this disclosure.

ブロック412で、第1線形暗号文と第2線形暗号文との間の線形関係が、発見されて良い。線形関係は、線形関係鍵を用いて発見されて良い。幾つかの実施形態では、線形関係の発見は、本開示の他の場所に記載される検証アルゴリズムに従い実行されて良い。さらに、幾つかの実施形態では、発見は、ANDゲート及びORゲートのみを用いて実行されて良い。   At block 412, a linear relationship between the first linear ciphertext and the second linear ciphertext may be discovered. A linear relationship may be discovered using a linear relationship key. In some embodiments, the discovery of the linear relationship may be performed according to a verification algorithm described elsewhere in this disclosure. Further, in some embodiments, discovery may be performed using only AND and OR gates.

ブロック414で、第1近似ハッシュ値と第2近似ハッシュ値との間の近似が検出されて良い。近似は、ハミング距離の観点で決定されて良い。幾つかの実施形態では、近似の検出は、本開示の他の場所に記載される近似検証アルゴリズムに従い実行されて良い。さらに、幾つかの実施形態では、発見は、ANDゲート及びORゲートのみを用いて実行されて良い。ブロック418で、ユーザの同一性は、近似及び線形関係に基づき認証されて良い。   At block 414, an approximation between the first approximate hash value and the second approximate hash value may be detected. The approximation may be determined in terms of Hamming distance. In some embodiments, the approximation detection may be performed according to an approximation verification algorithm described elsewhere in this disclosure. Further, in some embodiments, discovery may be performed using only AND and OR gates. At block 418, user identity may be authenticated based on the approximate and linear relationships.

当業者は、上述の及び本願明細書に開示した他の手順及び方法において、その処理及び方法で実行される機能が異なる順序で実施されても良いことを理解するだろう。さらに、概略のステップ及び動作は、単に例として提供され、幾つかのステップ及び動作は、開示の実施形態から逸脱することなく、任意であり、より少ないステップ及び動作に組み合わされ、又は追加ステップ及び動作に拡張されて良い。   Those skilled in the art will appreciate that in the other procedures and methods described above and disclosed herein, the functions performed by the processes and methods may be performed in a different order. Furthermore, the general steps and operations are provided merely as examples, and some steps and operations are optional, combined with fewer steps and operations, or additional steps and operations without departing from the disclosed embodiments. May be extended to work.

本願明細書で用いられるように、用語「モジュール」、「コンポーネント」、及び/又は「エンジン」は、コンピュータシステムで実行されるソフトウェアオブジェクト又はルーチンを表し得る。本願明細書に記載されたのと異なるコンポーネント、モジュール、エンジン及びサービスは、(例えば、別個のスレッドとして)コンピューティングシステムで実行されるオブジェクト又は処理として実施されて良い。本願明細書に記載されたシステム及び方法はソフトウェアで実施されることが望ましいが、ハードウェアによる実装又はソフトウェアとハードウェアの組合せも、可能であり想定される。この説明では、「コンピュータエンティティ」は、本願明細書で先に定められたようにコンピューティングシステム、又はコンピューティングシステムで実行されるモジュール若しくはモジュールの組合せであって良い。   As used herein, the terms “module”, “component”, and / or “engine” may refer to software objects or routines that execute on a computer system. Different components, modules, engines, and services than those described herein may be implemented as objects or processes that execute on a computing system (eg, as separate threads). While the systems and methods described herein are preferably implemented in software, hardware implementations or combinations of software and hardware are possible and envisioned. In this description, a “computer entity” may be a computing system or a module or combination of modules that executes on a computing system as defined earlier in this specification.

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

以上の実施形態に加えて、更に以下の付記を開示する。
(付記1) LPN(learning parity with noise)に少なくとも部分的に基づく関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表す第1線形暗号文を受信するステップと、
前記関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表す第2線形暗号文を受信するステップと、
線形関係秘密鍵を用いて、前記第1線形暗号文と前記第2線形暗号文との間の線形関係を発見するステップと、
関係近似ハッシュ方式を用いて暗号化される前記第1バイオメトリックテンプレートを表す第1近似ハッシュ値を受信するステップであって、前記関係近似ハッシュ方式は、前記関係線形暗号化方式及び誤り訂正符号(ECC)に基づく、ステップと、
前記関係近似ハッシュ方式を用いて暗号化される前記第2バイオメトリックテンプレートを表す第2近似ハッシュ値を受信するステップと、
ハミング距離の観点で、前記第1近似ハッシュ値と前記第2近似ハッシュ値との間の近似を検出するステップと、
前記近似及び前記線形関係に基づき、ユーザの同一性を認証するステップと、
を有する方法。
(付記2) 前記関係線形暗号化方式は、鍵生成アルゴリズム、暗号化アルゴリズム、及び解読アルゴリズムを含むIND_CCAセキュア公開鍵暗号化方式に更に基づく、付記1に記載の方法。
(付記3) 前記線形関係を発見するステップは、以下の検証アルゴリズムに従い実行され、
skRlin:=(A,τ,sk_3);
given cy, cx, z,skRlin:
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m)、
ここで、cyは前記第1線形暗号文を表し、
cxは前記第2線形暗号文を表し、
skRlinは線形関係秘密鍵を表し、
zは検証エンティティにより選択される特定値を表し、
Aは第1整数×第2整数の次元を有するランダム2進行列を表し、
τはノイズ確率を表し、
sk_3はIND_CCAセキュア公開鍵暗号化方式の秘密鍵を表し、
cx_0は前記第1線形暗号文の第1要素を表し、
cy_0は前記第2線形暗号文の第1要素を表し、
DecCPAは前記解読アルゴリズムを表し、
distはハミング距離演算子を表し、
mは前記第1整数を表す、
付記2に記載の方法。
(付記4) 前記第1線形暗号文は、以下の線形ビットベクトル暗号化式に従い暗号化され、
m1=<m1 i=1∈F
cx:=EncCPA(pk_3,A×m1+e1)、EncCPA(pk_1,m1);
e1∈F 、各々の要素は、確率τで1であり、その他の場合に0であり、
m1はnビットの第1メッセージを表し、
pk_3は前記IND_CCAセキュア公開鍵暗号化方式の公開鍵を表し、
pk_1は前記IND_CCAセキュア公開鍵暗号化方式の別の公開鍵を表し、
iはインデックス変数を表し、
nは第1体の次元を表し、
EncCPAは前記暗号化アルゴリズムを表し、
+演算子はビット毎のXOR演算子を表し、
は基本数2の体を表す、
付記3に記載の方法。
(付記5) 前記ノイズ確率は約0.25に等しい、付記4に記載の方法。
(付記6) 前記第1バイオメトリックテンプレートは高minエントロピ分布からサンプリングされる、付記1に記載の方法。
(付記7) 近似を検出するステップは、以下の近似検証アルゴリズムに従い実行され、
rs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output={DECODEが⊥を返す場合、拒否する; VerifyLinear(skRlin,cx_2,cy_2,X○Z)};
ここで、Zrsはランダム性の和を表し、
DECODEはECC復号化演算子を表し、
DecCPAはIND_CCAセキュア公開鍵暗号化方式の解読アルゴリズムを表し、
cx_1は前記第1線形暗号文の第2要素を表し、
cy_1は前記第2線形暗号文の第2要素を表し、
cx_2は前記第1線形暗号文の第3要素を表し、
cy_2は前記第2線形暗号文の第3要素を表し、
skRlinは関係線形鍵を表し、
Xはランダム行列を表し、
skcpaはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA秘密鍵を表し、
⊥は誤りを表し、
zは検証エンティティにより選択される特定値を表し、
VerifyLinearは線形検証アルゴリズムを表す、
付記1に記載の方法。
(付記8) 前記第1近似ハッシュ値は、以下の近似暗号化式に従い生成され、
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,X○r);
cxp:=(cxp1,cxp2)、
ここで、cxpは前記第1近似ハッシュ値を表し、
cxp1は前記第1近似ハッシュ値の第1部分を表し、
cxp2は前記第1近似ハッシュ値の第2部分を表し、
EncCPAはIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表し、
m1は前記第1バイオメトリックテンプレートを表し、
pkCPAはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA公開鍵を表し、
ENCODEはECC符号化演算子を表し、
rは近似乱数を表し、
Xはランダム行列を表し、
EncXLinearは第1線形暗号化アルゴリズムを表す、
付記1に記載の方法。
(付記9) 前記発見するステップ及び前記検出するステップは、ANDゲート及びORゲートのみを使用して実行される、付記1に記載の方法。
(付記10) 前記第1線形暗号文及び第1近似暗号文を登録暗号文として格納するステップ、を更に有する付記1に記載の方法。
(付記11) 非一時的コンピュータ可読媒体であって、工程を実行するために又はその実行を制御するためにプロセッサにより実行可能な符号化されたプログラミングコードを有し、前記工程は、
LPN(learning parity with noise)に少なくとも部分的に基づく関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表す第1線形暗号文を受信するステップと、
前記関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表す第2線形暗号文を受信するステップと、
線形関係秘密鍵を用いて、前記第1線形暗号文と前記第2線形暗号文との間の線形関係を発見するステップと、
関係近似ハッシュ方式を用いて暗号化される前記第1バイオメトリックテンプレートを表す第1近似ハッシュ値を受信するステップであって、前記関係近似ハッシュ方式は、前記関係線形暗号化方式及び誤り訂正符号(ECC)に基づく、ステップと、
前記関係近似ハッシュ方式を用いて暗号化される前記第2バイオメトリックテンプレートを表す第2近似ハッシュ値を受信するステップと、
ハミング距離の観点で、前記第1近似ハッシュ値と前記第2近似ハッシュ値との間の近似を検出するステップと、
前記近似及び前記線形関係に基づき、ユーザの同一性を認証するステップと、
を有する、非一時的コンピュータ可読媒体。
(付記12) 前記関係線形暗号化方式は、鍵生成アルゴリズム、暗号化アルゴリズム、及び解読アルゴリズムを含むIND_CCAセキュア公開鍵暗号化方式に更に基づく、付記11に記載の非一時的コンピュータ可読媒体。
(付記13) 前記線形関係を発見するステップは、以下の検証アルゴリズムに従い実行され、
skRlin:=(A,τ,sk_3);
given cy,cx,z,skRlin:
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m)、
ここで、cyは前記第1線形暗号文を表し、
cxは前記第2線形暗号文を表し、
skRlinは線形関係秘密鍵を表し、
zは検証エンティティにより選択される特定値を表し、
Aは第1整数×第2整数の次元を有するランダム2進行列を表し、
τはノイズ確率を表し、
sk_3はIND_CCAセキュア公開鍵暗号化方式の秘密鍵を表し、
cx_0は前記第1線形暗号文の第1要素を表し、
cy_0は前記第2線形暗号文の第1要素を表し、
DecCPAは前記解読アルゴリズムを表し、
distはハミング距離演算子を表し、
mは前記第1整数を表す、
付記12に記載の非一時的コンピュータ可読媒体。
(付記14) 前記第1線形暗号文は、以下の線形ビットベクトル暗号化式に従い暗号化され、
m1=<m1 i=1∈F
cx:=EncCPA(pk_3,A×m1+e1)、EncCPA(pk_1,m1);
e1∈F 、ここで各々の要素は、確率τで1であり、その他の場合に0であり;
m1はnビットの第1メッセージを表し、
pk_3は前記IND_CCAセキュア公開鍵暗号化方式の公開鍵を表し、
pk_1は前記IND_CCAセキュア公開鍵暗号化方式の別の公開鍵を表し、
iはインデックス変数を表し、
nは第1体の次元を表し、
EncCPAは前記暗号化アルゴリズムを表し、
+演算子はビット毎のXOR演算子を表し、
は基本数2の体を表す、
付記13に記載の非一時的コンピュータ可読媒体。
(付記15) 前記ノイズ確率は約0.25に等しい、
付記14に記載の非一時的コンピュータ可読媒体。
(付記16) 前記第1バイオメトリックテンプレートは高minエントロピ分布からサンプリングされる、付記11に記載の非一時的コンピュータ可読媒体。
(付記17) 前記近似を検出するステップは、以下の近似検証アルゴリズムに従い実行され、
rs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output={DECODEが⊥を返す場合、拒否する;
VerifyLinear(skRlin,cx_2,cy_2,X○Z)};
ここで、Zrsはランダム性の和を表し、
DECODEはECC復号化演算子を表し、
DecCPAはIND_CCAセキュア公開鍵暗号化方式の解読アルゴリズムを表し、
cx_1は前記第1線形暗号文の第2要素を表し、
cy_1は前記第2線形暗号文の第2要素を表し、
cx_2は前記第1線形暗号文の第3要素を表し、
cy_2は前記第2線形暗号文の第3要素を表し、
skRlinは関係線形鍵を表し、
Xはランダム行列を表し、
skcpaはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA秘密鍵を表し、
⊥は誤りを表し、
zは検証エンティティにより選択される特定値を表し、
VerifyLinearは線形検証アルゴリズムを表す、
付記11に記載の非一時的コンピュータ可読媒体。
(付記18) 前記第1近似ハッシュ値は、以下の近似暗号化式に従い生成され、
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,X○r);
cxp:=(cxp1,cxp2)、
ここで、cxpは前記第1近似ハッシュ値を表し、
cxp1は前記第1近似ハッシュ値の第1部分を表し、
cxp2は前記第1近似ハッシュ値の第2部分を表し、
EncCPAはIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表し、
m1は前記第1バイオメトリックテンプレートを表し、
pkCPAはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA公開鍵を表し、
ENCODEはECC符号化演算子を表し、
rは近似乱数を表し、
Xはランダム行列を表し、
EncXLinearは第1線形暗号化アルゴリズムを表す、
付記11に記載の非一時的コンピュータ可読媒体。
(付記19) 前記発見するステップ及び前記検出するステップは、ANDゲート及びORゲートのみを使用して実行される、付記11に記載の非一時的コンピュータ可読媒体。
(付記20) 前記工程は、前記第1線形暗号文及び第1近似暗号文を登録暗号文として格納するステップ、を更に有する、付記11に記載の非一時的コンピュータ可読媒体。
In addition to the above embodiment, the following additional notes are disclosed.
(Supplementary Note 1) Receiving a first linear ciphertext representing a first biometric template that is encrypted using a relational linear encryption scheme based at least in part on LPN (learning parity with noise);
Receiving a second linear ciphertext representing a second biometric template that is encrypted using the relational linear encryption scheme;
Discovering a linear relationship between the first linear ciphertext and the second linear ciphertext using a linear relationship private key;
Receiving a first approximate hash value representing the first biometric template that is encrypted using a relational approximate hash scheme, wherein the relational approximate hash scheme includes the relational linear encryption scheme and an error correction code ( ECC), steps,
Receiving a second approximate hash value representing the second biometric template encrypted using the relational approximate hash scheme;
Detecting an approximation between the first approximate hash value and the second approximate hash value in terms of a Hamming distance;
Authenticating the identity of the user based on the approximation and the linear relationship;
Having a method.
(Supplementary note 2) The method according to supplementary note 1, wherein the relational linear encryption scheme is further based on an IND_CCA secure public key encryption scheme including a key generation algorithm, an encryption algorithm, and a decryption algorithm.
(Supplementary Note 3) The step of finding the linear relationship is performed according to the following verification algorithm:
skRlin: = (A, τ, sk — 3);
give cy, cx, z, skRlin:
Check for the following inequality:
dist (DecCPA (sk_3, cx_0) + DecCPA (sk_3, cy_0) + A × z) < ? 2 × τ × m),
Here, cy represents the first linear ciphertext,
cx represents the second linear ciphertext,
skRlin represents a linear relationship private key,
z represents a specific value selected by the validation entity;
A represents a random binary progression having dimensions of 1st integer × 2nd integer;
τ represents the noise probability,
sk_3 represents a secret key of the IND_CCA secure public key encryption method,
cx_0 represents the first element of the first linear ciphertext,
cy_0 represents the first element of the second linear ciphertext,
DecCPA represents the decryption algorithm;
dist represents the Hamming distance operator;
m represents the first integer;
The method according to appendix 2.
(Supplementary Note 4) The first linear ciphertext is encrypted according to the following linear bit vector encryption formula,
m1 = <m1 i > n i = 1 ∈ F n 2 ;
cx: = EncCPA (pk — 3, A × m1 + e1), EncCPA (pk — 1, m1);
e1∈F m 2 , each element is 1 with probability τ, and 0 in other cases,
m1 represents the first message of n bits,
pk_3 represents a public key of the IND_CCA secure public key encryption method,
pk_1 represents another public key of the IND_CCA secure public key encryption method,
i represents an index variable;
n represents the dimension of the first body,
EncCPA represents the encryption algorithm;
The + operator represents a bitwise XOR operator,
F 2 represents a basic number 2 field,
The method according to attachment 3.
(Supplementary note 5) The method according to supplementary note 4, wherein the noise probability is equal to about 0.25.
(Supplementary note 6) The method according to supplementary note 1, wherein the first biometric template is sampled from a high-min entropy distribution.
(Supplementary Note 7) The step of detecting the approximation is executed according to the following approximation verification algorithm:
Z rs : = DECODE (DecCPA (skcpa, cx_1 + DecCPA (skcpa, cy_1)));
Output = {Reject if DECODE returns ⊥; VerifyLinear (skRlin, cx_2, cy_2, X ○ Z)};
Here, Z rs represents the sum of randomness,
DECODE represents an ECC decryption operator;
DecCPA represents the decryption algorithm of the IND_CCA secure public key encryption method,
cx_1 represents the second element of the first linear ciphertext,
cy_1 represents the second element of the second linear ciphertext,
cx_2 represents the third element of the first linear ciphertext,
cy_2 represents the third element of the second linear ciphertext,
skRlin represents a relational linear key;
X represents a random matrix,
skcpa represents a CPA private key generated by a key generation algorithm of the ND_CCA secure public key encryption method,
⊥ represents an error,
z represents a specific value selected by the validation entity;
VerifyLinear represents a linear verification algorithm,
The method according to appendix 1.
(Supplementary Note 8) The first approximate hash value is generated according to the following approximate encryption formula,
cxp1: = EncCPA (pkCPA, m1 + ENCODE (r));
cxp2: = EncXLinear (pkxlin, X ○ r);
cxp: = (cxp1, cxp2),
Here, cxp represents the first approximate hash value,
cxp1 represents the first part of the first approximate hash value;
cxp2 represents the second part of the first approximate hash value;
EncCPA represents the encryption algorithm of the IND_CCA secure public key encryption method,
m1 represents the first biometric template;
pkCPA represents a CPA public key generated by a key generation algorithm of the ND_CCA secure public key encryption method,
ENCODE represents an ECC encoding operator;
r represents an approximate random number;
X represents a random matrix,
EncXLinear represents the first linear encryption algorithm,
The method according to appendix 1.
(Supplementary note 9) The method according to supplementary note 1, wherein the discovering step and the detecting step are performed using only AND gates and OR gates.
(Supplementary note 10) The method according to supplementary note 1, further comprising: storing the first linear ciphertext and the first approximate ciphertext as registered ciphertext.
(Supplementary Note 11) A non-transitory computer readable medium having encoded programming code executable by a processor to perform or control the execution of the process, the process comprising:
Receiving a first linear ciphertext representing a first biometric template that is encrypted using a relational linear encryption scheme based at least in part on LPN (learning parity with noise);
Receiving a second linear ciphertext representing a second biometric template that is encrypted using the relational linear encryption scheme;
Discovering a linear relationship between the first linear ciphertext and the second linear ciphertext using a linear relationship private key;
Receiving a first approximate hash value representing the first biometric template that is encrypted using a relational approximate hash scheme, wherein the relational approximate hash scheme includes the relational linear encryption scheme and an error correction code ( ECC), steps,
Receiving a second approximate hash value representing the second biometric template encrypted using the relational approximate hash scheme;
Detecting an approximation between the first approximate hash value and the second approximate hash value in terms of a Hamming distance;
Authenticating the identity of the user based on the approximation and the linear relationship;
A non-transitory computer readable medium having:
(Supplementary note 12) The non-transitory computer-readable medium according to Supplementary note 11, wherein the relational linear encryption scheme is further based on an IND_CCA secure public key encryption scheme including a key generation algorithm, an encryption algorithm, and a decryption algorithm.
(Supplementary note 13) The step of finding the linear relationship is performed according to the following verification algorithm:
skRlin: = (A, τ, sk — 3);
give cy, cx, z, skRlin:
Check for the following inequality:
dist (DecCPA (sk_3, cx_0) + DecCPA (sk_3, cy_0) + A × z) < ? 2 × τ × m),
Here, cy represents the first linear ciphertext,
cx represents the second linear ciphertext,
skRlin represents a linear relationship private key,
z represents a specific value selected by the validation entity;
A represents a random binary progression having dimensions of 1st integer × 2nd integer;
τ represents the noise probability,
sk_3 represents a secret key of the IND_CCA secure public key encryption method,
cx_0 represents the first element of the first linear ciphertext,
cy_0 represents the first element of the second linear ciphertext,
DecCPA represents the decryption algorithm;
dist represents the Hamming distance operator;
m represents the first integer;
The non-transitory computer-readable medium according to attachment 12.
(Supplementary note 14) The first linear ciphertext is encrypted according to the following linear bit vector encryption formula,
m1 = <m1 i > n i = 1 ∈ F n 2 ;
cx: = EncCPA (pk — 3, A × m1 + e1), EncCPA (pk — 1, m1);
e1εF m 2 , where each element is 1 with probability τ, and 0 otherwise;
m1 represents the first message of n bits,
pk_3 represents a public key of the IND_CCA secure public key encryption method,
pk_1 represents another public key of the IND_CCA secure public key encryption method,
i represents an index variable;
n represents the dimension of the first body,
EncCPA represents the encryption algorithm;
The + operator represents a bitwise XOR operator,
F 2 represents a basic number 2 field,
The non-transitory computer-readable medium according to attachment 13.
(Supplementary note 15) The noise probability is equal to about 0.25,
The non-transitory computer-readable medium according to appendix 14.
(Supplementary note 16) The non-transitory computer readable medium of supplementary note 11, wherein the first biometric template is sampled from a high min entropy distribution.
(Supplementary Note 17) The step of detecting the approximation is executed according to the following approximation verification algorithm:
Z rs : = DECODE (DecCPA (skcpa, cx_1 + DecCPA (skcpa, cy_1)));
Output = {Reject if DECODE returns ⊥;
VerifyLinear (skRlin, cx_2, cy_2, X ○ Z)};
Here, Z rs represents the sum of randomness,
DECODE represents an ECC decryption operator;
DecCPA represents the decryption algorithm of the IND_CCA secure public key encryption method,
cx_1 represents the second element of the first linear ciphertext,
cy_1 represents the second element of the second linear ciphertext,
cx_2 represents the third element of the first linear ciphertext,
cy_2 represents the third element of the second linear ciphertext,
skRlin represents a relational linear key;
X represents a random matrix,
skcpa represents a CPA private key generated by a key generation algorithm of the ND_CCA secure public key encryption method,
⊥ represents an error,
z represents a specific value selected by the validation entity;
VerifyLinear represents a linear verification algorithm,
The non-transitory computer-readable medium according to attachment 11.
(Supplementary Note 18) The first approximate hash value is generated according to the following approximate encryption formula,
cxp1: = EncCPA (pkCPA, m1 + ENCODE (r));
cxp2: = EncXLinear (pkxlin, X ○ r);
cxp: = (cxp1, cxp2),
Here, cxp represents the first approximate hash value,
cxp1 represents the first part of the first approximate hash value;
cxp2 represents the second part of the first approximate hash value;
EncCPA represents the encryption algorithm of the IND_CCA secure public key encryption method,
m1 represents the first biometric template;
pkCPA represents a CPA public key generated by a key generation algorithm of the ND_CCA secure public key encryption method,
ENCODE represents an ECC encoding operator;
r represents an approximate random number;
X represents a random matrix,
EncXLinear represents the first linear encryption algorithm,
The non-transitory computer-readable medium according to attachment 11.
(Supplementary note 19) The non-transitory computer-readable medium according to supplementary note 11, wherein the discovering step and the detecting step are performed using only AND gates and OR gates.
(Supplementary note 20) The non-transitory computer-readable medium according to Supplementary note 11, wherein the step further includes a step of storing the first linear ciphertext and the first approximate ciphertext as registered ciphertext.

100 動作環境
102 ユーザ装置
107 ネットワーク
108 関係認証モジュール
110 関係暗号化モジュール
112 線形暗号化モジュール
114 近似暗号化モジュール
122 メモリ
128 近似認証モジュール
130 登録暗号文
132 線形認証モジュール
140 認証サーバ
142 平文ベクトル
144 設定モジュール
150 第2エンティティ
152 第1エンティティ
DESCRIPTION OF SYMBOLS 100 Operating environment 102 User apparatus 107 Network 108 Relational authentication module 110 Relational encryption module 112 Linear encryption module 114 Approximate encryption module 122 Memory 128 Approximate authentication module 130 Registered ciphertext 132 Linear authentication module 140 Authentication server 142 Plain text vector 144 Setting module 150 Second entity 152 First entity

Claims (20)

LPN(learning parity with noise)に少なくとも部分的に基づく関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表す第1線形暗号文を受信するステップと、
前記関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表す第2線形暗号文を受信するステップと、
線形関係秘密鍵を用いて、前記第1線形暗号文と前記第2線形暗号文との間の線形関係を発見するステップと、
関係近似ハッシュ方式を用いて暗号化される前記第1バイオメトリックテンプレートを表す第1近似ハッシュ値を受信するステップであって、前記関係近似ハッシュ方式は、前記関係線形暗号化方式及び誤り訂正符号(ECC)に基づく、ステップと、
前記関係近似ハッシュ方式を用いて暗号化される前記第2バイオメトリックテンプレートを表す第2近似ハッシュ値を受信するステップと、
ハミング距離の観点で、前記第1近似ハッシュ値と前記第2近似ハッシュ値との間の近似を検出するステップと、
前記近似及び前記線形関係に基づき、ユーザの同一性を認証するステップと、
を有する方法。
Receiving a first linear ciphertext representing a first biometric template that is encrypted using a relational linear encryption scheme based at least in part on LPN (learning parity with noise);
Receiving a second linear ciphertext representing a second biometric template that is encrypted using the relational linear encryption scheme;
Discovering a linear relationship between the first linear ciphertext and the second linear ciphertext using a linear relationship private key;
Receiving a first approximate hash value representing the first biometric template that is encrypted using a relational approximate hash scheme, wherein the relational approximate hash scheme includes the relational linear encryption scheme and an error correction code ( ECC), steps,
Receiving a second approximate hash value representing the second biometric template encrypted using the relational approximate hash scheme;
Detecting an approximation between the first approximate hash value and the second approximate hash value in terms of a Hamming distance;
Authenticating the identity of the user based on the approximation and the linear relationship;
Having a method.
前記関係線形暗号化方式は、鍵生成アルゴリズム、暗号化アルゴリズム、及び解読アルゴリズムを含むIND_CCAセキュア公開鍵暗号化方式に更に基づく、請求項1に記載の方法。   The method of claim 1, wherein the relational linear encryption scheme is further based on an IND_CCA secure public key encryption scheme that includes a key generation algorithm, an encryption algorithm, and a decryption algorithm. 前記線形関係を発見するステップは、以下の検証アルゴリズムに従い実行され、
skRlin:=(A,τ,sk_3);
given cy, cx, z,skRlin:
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m)、
ここで、cyは前記第1線形暗号文を表し、
cxは前記第2線形暗号文を表し、
skRlinは線形関係秘密鍵を表し、
zは検証エンティティにより選択される特定値を表し、
Aは第1整数×第2整数の次元を有するランダム2進行列を表し、
τはノイズ確率を表し、
sk_3はIND_CCAセキュア公開鍵暗号化方式の秘密鍵を表し、
cx_0は前記第1線形暗号文の第1要素を表し、
cy_0は前記第2線形暗号文の第1要素を表し、
DecCPAは前記解読アルゴリズムを表し、
distはハミング距離演算子を表し、
mは前記第1整数を表す、
請求項2に記載の方法。
The step of finding the linear relationship is performed according to the following verification algorithm:
skRlin: = (A, τ, sk — 3);
give cy, cx, z, skRlin:
Check for the following inequality:
dist (DecCPA (sk_3, cx_0) + DecCPA (sk_3, cy_0) + A × z) < ? 2 × τ × m),
Here, cy represents the first linear ciphertext,
cx represents the second linear ciphertext,
skRlin represents a linear relationship private key,
z represents a specific value selected by the validation entity;
A represents a random binary progression having dimensions of 1st integer × 2nd integer;
τ represents the noise probability,
sk_3 represents a secret key of the IND_CCA secure public key encryption method,
cx_0 represents the first element of the first linear ciphertext,
cy_0 represents the first element of the second linear ciphertext,
DecCPA represents the decryption algorithm;
dist represents the Hamming distance operator;
m represents the first integer;
The method of claim 2.
前記第1線形暗号文は、以下の線形ビットベクトル暗号化式に従い暗号化され、
m1=<m1 i=1∈F
cx:=EncCPA(pk_3,A×m1+e1)、EncCPA(pk_1,m1);
e1∈F 、各々の要素は、確率τで1であり、その他の場合に0であり、
m1はnビットの第1メッセージを表し、
pk_3は前記IND_CCAセキュア公開鍵暗号化方式の公開鍵を表し、
pk_1は前記IND_CCAセキュア公開鍵暗号化方式の別の公開鍵を表し、
iはインデックス変数を表し、
nは第1体の次元を表し、
EncCPAは前記暗号化アルゴリズムを表し、
+演算子はビット毎のXOR演算子を表し、
は基本数2の体を表す、
請求項3に記載の方法。
The first linear ciphertext is encrypted according to the following linear bit vector encryption formula:
m1 = <m1 i > n i = 1 ∈ F n 2 ;
cx: = EncCPA (pk — 3, A × m1 + e1), EncCPA (pk — 1, m1);
e1∈F m 2 , each element is 1 with probability τ, and 0 in other cases,
m1 represents the first message of n bits,
pk_3 represents a public key of the IND_CCA secure public key encryption method,
pk_1 represents another public key of the IND_CCA secure public key encryption method,
i represents an index variable;
n represents the dimension of the first body,
EncCPA represents the encryption algorithm;
The + operator represents a bitwise XOR operator,
F 2 represents a basic number 2 field,
The method of claim 3.
前記ノイズ確率は約0.25に等しい、請求項4に記載の方法。   The method of claim 4, wherein the noise probability is equal to about 0.25. 前記第1バイオメトリックテンプレートは高minエントロピ分布からサンプリングされる、請求項1に記載の方法。   The method of claim 1, wherein the first biometric template is sampled from a high min entropy distribution. 近似を検出するステップは、以下の近似検証アルゴリズムに従い実行され、
rs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output={DECODEが⊥を返す場合、拒否する; VerifyLinear(skRlin,cx_2,cy_2,X○Z)};
ここで、Zrsはランダム性の和を表し、
DECODEはECC復号化演算子を表し、
DecCPAはIND_CCAセキュア公開鍵暗号化方式の解読アルゴリズムを表し、
cx_1は前記第1線形暗号文の第2要素を表し、
cy_1は前記第2線形暗号文の第2要素を表し、
cx_2は前記第1線形暗号文の第3要素を表し、
cy_2は前記第2線形暗号文の第3要素を表し、
skRlinは関係線形鍵を表し、
Xはランダム行列を表し、
skcpaはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA秘密鍵を表し、
⊥は誤りを表し、
zは検証エンティティにより選択される特定値を表し、
VerifyLinearは線形検証アルゴリズムを表す、
請求項1に記載の方法。
The step of detecting an approximation is performed according to the following approximate verification algorithm:
Z rs : = DECODE (DecCPA (skcpa, cx_1 + DecCPA (skcpa, cy_1)));
Output = {Reject if DECODE returns ⊥; VerifyLinear (skRlin, cx_2, cy_2, X ○ Z)};
Here, Z rs represents the sum of randomness,
DECODE represents an ECC decryption operator;
DecCPA represents the decryption algorithm of the IND_CCA secure public key encryption method,
cx_1 represents the second element of the first linear ciphertext,
cy_1 represents the second element of the second linear ciphertext,
cx_2 represents the third element of the first linear ciphertext,
cy_2 represents the third element of the second linear ciphertext,
skRlin represents a relational linear key;
X represents a random matrix,
skcpa represents a CPA private key generated by a key generation algorithm of the ND_CCA secure public key encryption method,
⊥ represents an error,
z represents a specific value selected by the validation entity;
VerifyLinear represents a linear verification algorithm,
The method of claim 1.
前記第1近似ハッシュ値は、以下の近似暗号化式に従い生成され、
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,X○r);
cxp:=(cxp1,cxp2)、
ここで、cxpは前記第1近似ハッシュ値を表し、
cxp1は前記第1近似ハッシュ値の第1部分を表し、
cxp2は前記第1近似ハッシュ値の第2部分を表し、
EncCPAはIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表し、
m1は前記第1バイオメトリックテンプレートを表し、
pkCPAはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA公開鍵を表し、
ENCODEはECC符号化演算子を表し、
rは近似乱数を表し、
Xはランダム行列を表し、
EncXLinearは第1線形暗号化アルゴリズムを表す、
請求項1に記載の方法。
The first approximate hash value is generated according to the following approximate encryption formula:
cxp1: = EncCPA (pkCPA, m1 + ENCODE (r));
cxp2: = EncXLinear (pkxlin, X ○ r);
cxp: = (cxp1, cxp2),
Here, cxp represents the first approximate hash value,
cxp1 represents the first part of the first approximate hash value;
cxp2 represents the second part of the first approximate hash value;
EncCPA represents the encryption algorithm of the IND_CCA secure public key encryption method,
m1 represents the first biometric template;
pkCPA represents a CPA public key generated by a key generation algorithm of the ND_CCA secure public key encryption method,
ENCODE represents an ECC encoding operator;
r represents an approximate random number;
X represents a random matrix,
EncXLinear represents the first linear encryption algorithm,
The method of claim 1.
前記発見するステップ及び前記検出するステップは、ANDゲート及びORゲートのみを使用して実行される、請求項1に記載の方法。   The method of claim 1, wherein the discovering and detecting are performed using only AND gates and OR gates. 前記第1線形暗号文及び第1近似暗号文を登録暗号文として格納するステップ、を更に有する請求項1に記載の方法。   The method according to claim 1, further comprising storing the first linear ciphertext and the first approximate ciphertext as registered ciphertext. 非一時的コンピュータ可読媒体であって、工程を実行するために又はその実行を制御するためにプロセッサにより実行可能な符号化されたプログラミングコードを有し、前記工程は、
LPN(learning parity with noise)に少なくとも部分的に基づく関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表す第1線形暗号文を受信するステップと、
前記関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表す第2線形暗号文を受信するステップと、
線形関係秘密鍵を用いて、前記第1線形暗号文と前記第2線形暗号文との間の線形関係を発見するステップと、
関係近似ハッシュ方式を用いて暗号化される前記第1バイオメトリックテンプレートを表す第1近似ハッシュ値を受信するステップであって、前記関係近似ハッシュ方式は、前記関係線形暗号化方式及び誤り訂正符号(ECC)に基づく、ステップと、
前記関係近似ハッシュ方式を用いて暗号化される前記第2バイオメトリックテンプレートを表す第2近似ハッシュ値を受信するステップと、
ハミング距離の観点で、前記第1近似ハッシュ値と前記第2近似ハッシュ値との間の近似を検出するステップと、
前記近似及び前記線形関係に基づき、ユーザの同一性を認証するステップと、
を有する、非一時的コンピュータ可読媒体。
A non-transitory computer readable medium having encoded programming code executable by a processor to perform or control the execution of the process, the process comprising:
Receiving a first linear ciphertext representing a first biometric template that is encrypted using a relational linear encryption scheme based at least in part on LPN (learning parity with noise);
Receiving a second linear ciphertext representing a second biometric template that is encrypted using the relational linear encryption scheme;
Discovering a linear relationship between the first linear ciphertext and the second linear ciphertext using a linear relationship private key;
Receiving a first approximate hash value representing the first biometric template that is encrypted using a relational approximate hash scheme, wherein the relational approximate hash scheme includes the relational linear encryption scheme and an error correction code ( ECC), steps,
Receiving a second approximate hash value representing the second biometric template encrypted using the relational approximate hash scheme;
Detecting an approximation between the first approximate hash value and the second approximate hash value in terms of a Hamming distance;
Authenticating the identity of the user based on the approximation and the linear relationship;
A non-transitory computer readable medium having:
前記関係線形暗号化方式は、鍵生成アルゴリズム、暗号化アルゴリズム、及び解読アルゴリズムを含むIND_CCAセキュア公開鍵暗号化方式に更に基づく、請求項11に記載の非一時的コンピュータ可読媒体。   The non-transitory computer-readable medium of claim 11, wherein the relational linear encryption scheme is further based on an IND_CCA secure public key encryption scheme that includes a key generation algorithm, an encryption algorithm, and a decryption algorithm. 前記線形関係を発見するステップは、以下の検証アルゴリズムに従い実行され、
skRlin:=(A,τ,sk_3);
given cy,cx,z,skRlin:
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m)、
ここで、cyは前記第1線形暗号文を表し、
cxは前記第2線形暗号文を表し、
skRlinは線形関係秘密鍵を表し、
zは検証エンティティにより選択される特定値を表し、
Aは第1整数×第2整数の次元を有するランダム2進行列を表し、
τはノイズ確率を表し、
sk_3はIND_CCAセキュア公開鍵暗号化方式の秘密鍵を表し、
cx_0は前記第1線形暗号文の第1要素を表し、
cy_0は前記第2線形暗号文の第1要素を表し、
DecCPAは前記解読アルゴリズムを表し、
distはハミング距離演算子を表し、
mは前記第1整数を表す、
請求項12に記載の非一時的コンピュータ可読媒体。
The step of finding the linear relationship is performed according to the following verification algorithm:
skRlin: = (A, τ, sk — 3);
give cy, cx, z, skRlin:
Check for the following inequality:
dist (DecCPA (sk_3, cx_0) + DecCPA (sk_3, cy_0) + A × z) < ? 2 × τ × m),
Here, cy represents the first linear ciphertext,
cx represents the second linear ciphertext,
skRlin represents a linear relationship private key,
z represents a specific value selected by the validation entity;
A represents a random binary progression having dimensions of 1st integer × 2nd integer;
τ represents the noise probability,
sk_3 represents a secret key of the IND_CCA secure public key encryption method,
cx_0 represents the first element of the first linear ciphertext,
cy_0 represents the first element of the second linear ciphertext,
DecCPA represents the decryption algorithm;
dist represents the Hamming distance operator;
m represents the first integer;
The non-transitory computer readable medium of claim 12.
前記第1線形暗号文は、以下の線形ビットベクトル暗号化式に従い暗号化され、
m1=<m1 i=1∈F
cx:=EncCPA(pk_3,A×m1+e1)、EncCPA(pk_1,m1);
e1∈F 、ここで各々の要素は、確率τで1であり、その他の場合に0であり;
m1はnビットの第1メッセージを表し、
pk_3は前記IND_CCAセキュア公開鍵暗号化方式の公開鍵を表し、
pk_1は前記IND_CCAセキュア公開鍵暗号化方式の別の公開鍵を表し、
iはインデックス変数を表し、
nは第1体の次元を表し、
EncCPAは前記暗号化アルゴリズムを表し、
+演算子はビット毎のXOR演算子を表し、
は基本数2の体を表す、
請求項13に記載の非一時的コンピュータ可読媒体。
The first linear ciphertext is encrypted according to the following linear bit vector encryption formula:
m1 = <m1 i > n i = 1 ∈ F n 2 ;
cx: = EncCPA (pk — 3, A × m1 + e1), EncCPA (pk — 1, m1);
e1εF m 2 , where each element is 1 with probability τ, and 0 otherwise;
m1 represents the first message of n bits,
pk_3 represents a public key of the IND_CCA secure public key encryption method,
pk_1 represents another public key of the IND_CCA secure public key encryption method,
i represents an index variable;
n represents the dimension of the first body,
EncCPA represents the encryption algorithm;
The + operator represents a bitwise XOR operator,
F 2 represents a basic number 2 field,
The non-transitory computer readable medium of claim 13.
前記ノイズ確率は約0.25に等しい、
請求項14に記載の非一時的コンピュータ可読媒体。
The noise probability is equal to about 0.25;
The non-transitory computer readable medium of claim 14.
前記第1バイオメトリックテンプレートは高minエントロピ分布からサンプリングされる、請求項11に記載の非一時的コンピュータ可読媒体。   The non-transitory computer readable medium of claim 11, wherein the first biometric template is sampled from a high min entropy distribution. 前記近似を検出するステップは、以下の近似検証アルゴリズムに従い実行され、
rs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output={DECODEが⊥を返す場合、拒否する;
VerifyLinear(skRlin,cx_2,cy_2,X○Z)};
ここで、Zrsはランダム性の和を表し、
DECODEはECC復号化演算子を表し、
DecCPAはIND_CCAセキュア公開鍵暗号化方式の解読アルゴリズムを表し、
cx_1は前記第1線形暗号文の第2要素を表し、
cy_1は前記第2線形暗号文の第2要素を表し、
cx_2は前記第1線形暗号文の第3要素を表し、
cy_2は前記第2線形暗号文の第3要素を表し、
skRlinは関係線形鍵を表し、
Xはランダム行列を表し、
skcpaはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA秘密鍵を表し、
⊥は誤りを表し、
zは検証エンティティにより選択される特定値を表し、
VerifyLinearは線形検証アルゴリズムを表す、
請求項11に記載の非一時的コンピュータ可読媒体。
The step of detecting the approximation is performed according to the following approximation verification algorithm:
Z rs : = DECODE (DecCPA (skcpa, cx_1 + DecCPA (skcpa, cy_1)));
Output = {Reject if DECODE returns ⊥;
VerifyLinear (skRlin, cx_2, cy_2, X ○ Z)};
Here, Z rs represents the sum of randomness,
DECODE represents an ECC decryption operator;
DecCPA represents the decryption algorithm of the IND_CCA secure public key encryption method,
cx_1 represents the second element of the first linear ciphertext,
cy_1 represents the second element of the second linear ciphertext,
cx_2 represents the third element of the first linear ciphertext,
cy_2 represents the third element of the second linear ciphertext,
skRlin represents a relational linear key;
X represents a random matrix,
skcpa represents a CPA private key generated by a key generation algorithm of the ND_CCA secure public key encryption method,
⊥ represents an error,
z represents a specific value selected by the validation entity;
VerifyLinear represents a linear verification algorithm,
The non-transitory computer readable medium of claim 11.
前記第1近似ハッシュ値は、以下の近似暗号化式に従い生成され、
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,X○r);
cxp:=(cxp1,cxp2)、
ここで、cxpは前記第1近似ハッシュ値を表し、
cxp1は前記第1近似ハッシュ値の第1部分を表し、
cxp2は前記第1近似ハッシュ値の第2部分を表し、
EncCPAはIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表し、
m1は前記第1バイオメトリックテンプレートを表し、
pkCPAはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA公開鍵を表し、
ENCODEはECC符号化演算子を表し、
rは近似乱数を表し、
Xはランダム行列を表し、
EncXLinearは第1線形暗号化アルゴリズムを表す、
請求項11に記載の非一時的コンピュータ可読媒体。
The first approximate hash value is generated according to the following approximate encryption formula:
cxp1: = EncCPA (pkCPA, m1 + ENCODE (r));
cxp2: = EncXLinear (pkxlin, X ○ r);
cxp: = (cxp1, cxp2),
Here, cxp represents the first approximate hash value,
cxp1 represents the first part of the first approximate hash value;
cxp2 represents the second part of the first approximate hash value;
EncCPA represents the encryption algorithm of the IND_CCA secure public key encryption method,
m1 represents the first biometric template;
pkCPA represents a CPA public key generated by a key generation algorithm of the ND_CCA secure public key encryption method,
ENCODE represents an ECC encoding operator;
r represents an approximate random number;
X represents a random matrix,
EncXLinear represents the first linear encryption algorithm,
The non-transitory computer readable medium of claim 11.
前記発見するステップ及び前記検出するステップは、ANDゲート及びORゲートのみを使用して実行される、請求項11に記載の非一時的コンピュータ可読媒体。   The non-transitory computer readable medium of claim 11, wherein the discovering and detecting are performed using only AND and OR gates. 前記工程は、前記第1線形暗号文及び第1近似暗号文を登録暗号文として格納するステップ、を更に有する、請求項11に記載の非一時的コンピュータ可読媒体。
The non-transitory computer-readable medium of claim 11, wherein the step further comprises storing the first linear ciphertext and the first approximate ciphertext as registered ciphertext.
JP2017089512A 2016-05-02 2017-04-28 Approximate relationship encryption based on identification of parity values in the presence of noise Active JP6922385B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/144,713 2016-05-02
US15/144,713 US9608819B1 (en) 2014-05-25 2016-05-02 Learning parity with noise-based relational encryption for proximity relations

Publications (2)

Publication Number Publication Date
JP2017201783A true JP2017201783A (en) 2017-11-09
JP6922385B2 JP6922385B2 (en) 2021-08-18

Family

ID=60264684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017089512A Active JP6922385B2 (en) 2016-05-02 2017-04-28 Approximate relationship encryption based on identification of parity values in the presence of noise

Country Status (1)

Country Link
JP (1) JP6922385B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020109447A (en) * 2019-01-07 2020-07-16 富士通株式会社 Confidential information retrieval system, confidential information retrieval program and confidential information retrieval method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107274A (en) * 2004-10-07 2006-04-20 Matsushita Electric Ind Co Ltd Hash function operation system, encryption system and unauthorized analysis/tampering prevention system
JP2011509433A (en) * 2008-01-11 2011-03-24 フランス・テレコム Methods and entities for probabilistic symmetric encryption
JP2011150006A (en) * 2010-01-19 2011-08-04 Hitachi Ltd Encryption system, public key encryption method, key generating device, computer, and public key and secret key generation program
US20150172286A1 (en) * 2012-04-19 2015-06-18 Martin Tomlinson Binding a digital file to a person's identity using biometrics
JP2015225343A (en) * 2014-05-25 2015-12-14 富士通株式会社 Relational encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107274A (en) * 2004-10-07 2006-04-20 Matsushita Electric Ind Co Ltd Hash function operation system, encryption system and unauthorized analysis/tampering prevention system
JP2011509433A (en) * 2008-01-11 2011-03-24 フランス・テレコム Methods and entities for probabilistic symmetric encryption
JP2011150006A (en) * 2010-01-19 2011-08-04 Hitachi Ltd Encryption system, public key encryption method, key generating device, computer, and public key and secret key generation program
US20150172286A1 (en) * 2012-04-19 2015-06-18 Martin Tomlinson Binding a digital file to a person's identity using biometrics
JP2015225343A (en) * 2014-05-25 2015-12-14 富士通株式会社 Relational encryption

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AVRADIP MANDAL ET AL.: "Relational Hash: Probabilistic Hash for Verifying Relations, Secure Against Forgery and More", ADVANCES IN CRYPTOLOGY CRYPTO 2015, JPN6021001877, 1 August 2015 (2015-08-01), pages 518 - 537, XP047516518, ISSN: 0004432493, DOI: 10.1007/978-3-662-47989-6_25 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020109447A (en) * 2019-01-07 2020-07-16 富士通株式会社 Confidential information retrieval system, confidential information retrieval program and confidential information retrieval method
JP7132506B2 (en) 2019-01-07 2022-09-07 富士通株式会社 Confidential Information Retrieval System, Confidential Information Retrieval Program, and Confidential Information Retrieval Method

Also Published As

Publication number Publication date
JP6922385B2 (en) 2021-08-18

Similar Documents

Publication Publication Date Title
JP6488847B2 (en) Relational encryption
US9660991B2 (en) Relational encryption
US9674189B1 (en) Relational encryption
CN108604987B (en) Converting Boolean mask values to arithmetic mask values for cryptographic operations
US9749128B2 (en) Compact fuzzy private matching using a fully-homomorphic encryption scheme
US9577831B2 (en) Relational encryption
US9774596B2 (en) Privacy-preserving biometric authentication
JP6058237B1 (en) Ciphertext conversion apparatus, ciphertext conversion program, and ciphertext conversion method
US9608819B1 (en) Learning parity with noise-based relational encryption for proximity relations
US10075301B2 (en) Relational encryption for password verification
JP2017076839A (en) Encryption processing method, encryption processing apparatus, and encryption processing program
CN105052070A (en) Method for authenticating encryption and system for authenticating biometric data
Zhu et al. Efficient privacy-preserving general edit distance and beyond
Abidin On privacy-preserving biometric authentication
KR102008101B1 (en) Secure biometric authentication method using functional encryption
US10033532B2 (en) Biometric based authenticated key exchange
Justindhas et al. Secured model for internet of things (IoT) to monitor smart field data with integrated real-time cloud using lightweight cryptography
JP6844411B2 (en) Relationship encryption
JP6786884B2 (en) Relationship encryption
Ali et al. An efficient multilevel security architecture for blockchain-based IoT networks using principles of cellular automata
Lakshmi et al. Image encryption algorithms using machine learning and deep learning techniques—A Survey
JP6922385B2 (en) Approximate relationship encryption based on identification of parity values in the presence of noise
Vo et al. A hash-based index method for securing biometric fuzzy vaults
Seo et al. Construction of a New Biometric‐Based Key Derivation Function and Its Application
Gunasinghe et al. Privacy preserving biometrics-based and user centric authentication protocol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210323

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: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210712

R150 Certificate of patent or registration of utility model

Ref document number: 6922385

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150