Zero-knowledge identity authentication method and system based on hypergraph isomorphism
By using a zero-knowledge identity authentication method based on hypergraph isomorphism, this paper solves the problems of vulnerability to attacks, insufficient privacy protection, and high computational complexity in existing technologies. It achieves high security, privacy protection, and high concurrency adaptability, and is suitable for multi-user and multi-factor authentication scenarios.
Patent Information
- Application Number
- CN202511482203.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-16
- Publication Date
- 2026-01-02
AI Technical Summary
Existing identity authentication technologies are vulnerable to cyberattacks, lack sufficient user privacy protection capabilities, and are not secure in quantum computing environments. Ordinary graph structures are difficult to represent high-order complex relationships involving multiple users and factors, resulting in high computational complexity and making it difficult to meet the needs of high-concurrency scenarios.
A zero-knowledge identity authentication method based on hypergraph isomorphism is adopted. By obtaining the baseline hypergraph, circuit fingerprint, first registration commitment set and authentication hypergraph, commitment and fingerprint are generated to generate zero-knowledge proof. Hypergraph isomorphism and zero-knowledge verification are performed on the server side to ensure that only commitment values are disclosed during the authentication process and to avoid the leakage of plaintext information.
It improves the security and privacy protection of identity authentication, supports high-order complex relationship authentication for multiple users and multiple factors, reduces computational complexity, adapts to high-concurrency scenarios, has quantum security, and is suitable for lightweight deployment on resource-constrained devices.
Smart Images

Figure CN121261968A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of identity authentication, and in particular to a zero-knowledge identity authentication method and system based on hypergraph isomorphism. BACKGROUND
[0002] Identity authentication is one of the core technologies in the field of information security, which can be widely applied to key scenarios such as financial payment, blockchain, and Internet of Things.
[0003] At present, the related technology usually realizes identity authentication based on knowledge or biological characteristics, but since this way depends on plaintext credentials or stores sensitive data (such as passwords, biological characteristics, and behavior templates) for verification, it is vulnerable to network attack threats, there is a risk of information leakage in the authentication process, the protection ability of user privacy is insufficient, and the security of identity authentication is poor.
[0004] Therefore, the problems of the related technology still need to be solved and optimized. SUMMARY
[0005] The purpose of the present application is to at least solve one of the technical problems in the related art.
[0006] To this end, one purpose of an embodiment of the present application is to provide a zero-knowledge identity authentication method and system based on hypergraph isomorphism, wherein the method can improve the security of identity authentication and improve the protection ability of user privacy in the identity authentication process.
[0007] In order to achieve the above technical purpose, the technical solutions adopted by the embodiments of the present application include: In a first aspect, the present application provides a zero-knowledge identity authentication method based on hypergraph isomorphism, applied to a user end, the method comprising: obtaining a reference hypergraph, a circuit fingerprint, a first registration commitment set, and an authentication hypergraph; each hyperedge in the reference hypergraph connects the same number of vertices, and each hyperedge in the authentication hypergraph connects the same number of vertices; commitment and fingerprint generation are performed on the authentication hypergraph to obtain an authentication commitment set and a structure fingerprint; According to the reference hypergraph, the proof generation of the authentication hypergraph is performed to obtain the zero-knowledge proof of the authentication hypergraph; The circuit fingerprint, the first registration commitment set, the structure fingerprint, the authentication commitment set, and the zero-knowledge proof are sent to a server, so that the server performs hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structure fingerprint, the authentication commitment set, and the zero-knowledge proof according to the circuit fingerprint, and obtains an identity authentication result returned by the server.
[0008] In addition, the method according to the above-mentioned embodiment of the present application can further have the following additional technical features. Further, in an embodiment of the present application, the commitment and fingerprint generation on the authentication hypergraph obtain an authentication commitment set and a structure fingerprint, including: obtaining isomorphic mapping data and authentication identity data vector corresponding to the authentication hypergraph; generating a structure hash digest of the authentication hypergraph to obtain the structure fingerprint; generating a commitment of the isomorphic mapping data and the authentication identity data vector to obtain the authentication commitment set.
[0009] Further, in an embodiment of the present application, the commitment generation on the isomorphic mapping data and the authentication identity data vector to obtain the authentication commitment set includes: performing hypergraph structure analysis on the authentication identity data vector to obtain authentication vertex digest and authentication hyperedge label of the authentication hypergraph; performing vector commitment analysis on the authentication vertex digest to obtain authentication vector commitment; performing hypergraph commitment analysis on the authentication hyperedge label to obtain authentication hypergraph commitment; performing mapping commitment analysis on the isomorphic mapping data to obtain authentication isomorphic mapping commitment; constructing the authentication commitment set according to the authentication vector commitment, the authentication hypergraph commitment and the authentication isomorphic mapping commitment.
[0010] Further, in an embodiment of the present application, the method further includes: obtaining a random token; performing perturbation generation processing on the random token to obtain a perturbation matrix; performing hypergraph mapping on the reference hypergraph according to the perturbation matrix to obtain isomorphic mapping data and the authentication hypergraph, wherein the isomorphic mapping data is used to record the isomorphic mapping relationship of the reference hypergraph mapped to the authentication hypergraph.
[0011] Further, in an embodiment of the present application, the proof generation on the authentication hypergraph according to the reference hypergraph to obtain zero-knowledge proof of the authentication hypergraph includes: obtaining a proof circuit, wherein the proof circuit includes hypergraph isomorphism verification sub-circuit, vertex digest consistency verification sub-circuit and commitment consistency verification sub-circuit; performing isomorphism verification on the reference hypergraph and the authentication hypergraph according to the hypergraph isomorphism verification sub-circuit to obtain isomorphism verification information; According to the vertex digest consistency verification sub-circuit, vertex digest verification is performed on the benchmark hypergraph and the authentication hypergraph to obtain the first verification information; Based on the commitment consistency verification sub-circuit, commitment verification is performed on the benchmark hypergraph and the authentication hypergraph to obtain second verification information; The zero-knowledge proof is generated based on the isomorphic verification information, the first verification information, and the second verification information.
[0012] Further, in one embodiment of this application, the step of performing isomorphic verification on the reference hypergraph and the authentication hypergraph according to the hypergraph isomorphic verification sub-circuit to obtain isomorphic verification information includes: Vertex mapping verification is performed on the baseline hypergraph and the authentication hypergraph to obtain vertex mapping information; Perform hyperedge mapping verification on the baseline hypergraph and the authentication hypergraph to obtain hyperedge mapping information; Vertex arrangement verification is performed on the baseline hypergraph and the authentication hypergraph to obtain vertex arrangement information; The isomorphism verification information is obtained based on the vertex mapping information, the hyperedge mapping information, and the vertex arrangement information.
[0013] Secondly, embodiments of this application provide a zero-knowledge identity authentication method based on hypergraph isomorphism, applied to a server, the method comprising: Receive circuit fingerprints, first registration commitment set, structural fingerprints, authentication commitment set, and zero-knowledge proofs from the user terminal; Based on the circuit fingerprint, hypergraph isomorphism and zero-knowledge verification are performed on the first registration commitment set, the structural fingerprint, the authentication commitment set, and the zero-knowledge proof to obtain the identity authentication result; The zero-knowledge proof is obtained through the following steps: The user terminal acquires the baseline hypergraph, the circuit fingerprint, the first registration commitment set, and the authentication hypergraph; each hyperedge in the baseline hypergraph connects to the same number of vertices, and each hyperedge in the authentication hypergraph connects to the same number of vertices. The user terminal performs commitment and fingerprint generation on the authentication hypergraph to obtain an authentication commitment set and a structural fingerprint. The user terminal generates a proof of the authentication hypergraph based on the baseline hypergraph, thereby obtaining a zero-knowledge proof of the authentication hypergraph.
[0014] Further, in one embodiment of this application, the step of performing hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structural fingerprint, the authentication commitment set, and the zero-knowledge proof based on the circuit fingerprint to obtain the identity authentication result includes: obtain a second registration commitment set and a proof circuit corresponding to the circuit fingerprint; According to the second registration commitment set, pre-verify the first registration commitment set to obtain pre-verification information; According to the proof circuit and the first registration commitment set, perform proof verification on the structure fingerprint, the zero-knowledge proof, and the authentication commitment set to obtain proof verification information; According to the pre-verification information and the proof verification information, generate the identity authentication result.
[0015] In a third aspect, an embodiment of the present application provides a zero-knowledge identity authentication system based on hypergraph isomorphism, which comprises a user end and a service end. The user end is configured to obtain a reference hypergraph, a circuit fingerprint, a first registration commitment set, and an authentication hypergraph; each hyperedge in the reference hypergraph connects the same number of vertices, and each hyperedge in the authentication hypergraph connects the same number of vertices; perform commitment and fingerprint generation on the authentication hypergraph to obtain an authentication commitment set and a structure fingerprint; and perform proof generation on the authentication hypergraph according to the reference hypergraph to obtain a zero-knowledge proof of the authentication hypergraph. The service end is configured to perform hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structure fingerprint, the authentication commitment set, and the zero-knowledge proof according to the circuit fingerprint to obtain an identity authentication result.
[0016] In a fourth aspect, an embodiment of the present application further provides an electronic device, which comprises: at least one processor; at least one memory configured to store at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the method described above.
[0017] In a fifth aspect, an embodiment of the present application further provides a computer readable storage medium, which stores a program executable by a processor, and the program executable by the processor is used to implement the method described above when executed by the processor.
[0018] The advantages and beneficial effects of the present application will be partially given in the following description, partially will become obvious from the following description, or will be learned through the practice of the present application: The method disclosed in the embodiment of the application comprises the following steps: a reference hypergraph, a circuit fingerprint, a first registration commitment set and an authentication hypergraph are obtained; each hyperedge in the reference hypergraph is connected with the same number of vertices, and each hyperedge in the authentication hypergraph is connected with the same number of vertices; commitment and fingerprint generation are performed on the authentication hypergraph to obtain an authentication commitment set and a structure fingerprint; zero-knowledge proof generation is performed on the authentication hypergraph according to the reference hypergraph to obtain zero-knowledge proof of the authentication hypergraph; the circuit fingerprint, the first registration commitment set, the structure fingerprint, the authentication commitment set and the zero-knowledge proof are sent to a server, so that the server performs hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structure fingerprint, the authentication commitment set and the zero-knowledge proof according to the circuit fingerprint, and obtains an identity authentication result returned by the server. The method obtains the authentication commitment set, the structure fingerprint and the zero-knowledge proof based on the authentication hypergraph at the user end, and performs hypergraph isomorphism and zero-knowledge verification on the structure fingerprint, the authentication commitment set and the zero-knowledge proof at the server, so that only the commitment value is disclosed in the authentication process, the user identity or the key credential is not exposed, the situation of plaintext information leakage and the situation of directly storing sensitive data in the external database are avoided, and the privacy protection capability and the security of the identity authentication are effectively improved. BRIEF DESCRIPTION OF DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following introduces the drawings of the related technical solutions in the embodiments of the present application or the prior art. It should be understood that the drawings in the following introduction are only for the convenience of expressing part of the embodiments of the technical solutions of the present application, and for those skilled in the art, other drawings can be obtained without creative labor on the premise.
[0020] Figure 1 A flowchart of a zero-knowledge identity authentication method based on hypergraph isomorphism provided by the embodiment of the present application is provided. Figure 2 A framework diagram of a zero-knowledge identity authentication system based on hypergraph isomorphism provided by the embodiment of the present application is provided. Figure 3 A structural diagram of an electronic device provided by the embodiment of the present application is provided. DETAILED DESCRIPTION
[0021] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain this application, and should not be construed as limiting this application. The step numbers in the following embodiments are set only for ease of explanation, and there is no limitation on the order between the steps. The execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
[0022] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0023] The following is an explanation of the terms used in the embodiments of this application: Hypergraph: A generalized model of a graph that contains a set of vertices. and hyperset Unlike ordinary graph structures, each hypergraph hyperedge can connect multiple vertices (connectivity). A hypergraph (i.e., each hyperedge of a hypergraph connects vertices with a value greater than or equal to 3) can be used to represent complex one-to-many, many-to-one, or many-to-many relationships.
[0024] Hypergraph Isomorphism (HI): Two hypergraphs and Vertex bijective mapping exists Such that for any hyperedge They all Conversely, for any ,exist , making That is, to keep the hyperedge set consistent.
[0025] Scalable Transparent Arguments of Knowledge (STARK): A cryptographic proof protocol that does not require a trusted setup, allowing a prover to prove the correctness of a statement to a verifier without revealing any additional information.
[0026] Arithmetic Circuit: In the STARK protocol, an arithmetic circuit is a tool used to verify the correctness of a calculation. It breaks down the calculation task to be verified into a series of simple addition and multiplication operations, arranged like a circuit. Users only need to provide input and output, without revealing the specific process of the calculation, and the STARK protocol can quickly check whether the entire calculation is correct.
[0027] Currently, the related art is usually based on knowledge or biometrics to achieve identity authentication, but since this method relies on plaintext credentials or stores sensitive data (such as passwords, biometrics, behavior templates) for verification, it is vulnerable to network attacks such as forgery attacks (i.e., an attacker impersonates a legitimate user by stealing a password or forging a biometric feature) or replay attacks (i.e., an attacker intercepts authentication data and reuses it to gain unauthorized access), and there is a risk of information leakage during the authentication process, or even that the attacker can copy and use the authentication credentials, leading to identity spoofing and session hijacking, and the ability to protect user privacy is insufficient, and the security of identity authentication is not good.
[0028] In addition, the related art usually uses asymmetric authentication algorithms (such as RSA algorithms, ECC algorithms, etc.) in the identity authentication process, which faces the risk of being cracked by Shor's algorithm under the quantum computing model, lacks quantum attack resistance, and the quantum security of the authentication process is not satisfactory.
[0029] In addition, there are some related technologies that apply zero-knowledge proof protocols based on graph isomorphism problems (Graph Isomorphism, abbreviated as GI) to identity authentication. However, ordinary graph structures (edge connection degree ≤ 2) can only represent one-to-one or one-to-many simple relationships, and it is difficult to effectively model high-order complex relationships between multiple users, multiple factors, and multiple behaviors, especially in high-interaction environments such as the Internet of Things and blockchain. The expression ability of ordinary graph structures is not sufficient to fully represent the multi-dimensional joint relationship between devices, users, and identity elements, leading to an increased risk of authentication misjudgment or omission.
[0030] In addition, traditional identity authentication based on GI protocols generally requires multiple rounds of interactive verification, with a computational complexity of level, which increases quadratically with the number of users, and is not sufficient to support low-latency requirements (< 50ms) in high-concurrency scenarios (such as thousands of requests per second), making it difficult to meet large-scale deployment requirements.
[0031] It should be noted that the above-mentioned related technologies are only used to assist in understanding the technical solutions of the present application, and do not mean that they belong to the existing prior art.
[0032] Therefore, the embodiment of the present application provides a zero-knowledge identity authentication method and system based on hypergraph isomorphism. In the method, the authentication commitment set, the structural fingerprint and the zero-knowledge proof are obtained based on the authentication hypergraph at the user end, and the structural fingerprint, the authentication commitment set and the zero-knowledge proof are subjected to hypergraph passing and zero-knowledge verification at the service end. The method makes only the commitment value public in the authentication process, without exposing the user identity or key credentials, thereby avoiding the situation of plaintext information leakage and the situation of directly storing sensitive data in the external database, and effectively improving the privacy protection capability and security of identity authentication. At the same time, when obtaining the authentication commitment set, the user end of the method performs multi-dimensional commitment analysis (such as vector commitment analysis in the vertex dimension, hypergraph commitment analysis in the hyperedge dimension and mapping commitment analysis in the isomorphism dimension) on the hypergraph vertices and labels constituted by the authentication identity data vector. The service end performs proof verification based on the corresponding proof circuit, which can ensure the unforgeability of the authentication data and significantly improve the privacy security.
[0033] Further, the method introduces hypergraphs (such as reference hypergraphs and authentication hypergraphs) with the same number of vertices connected by hyperedges as the authentication basis, which can fully utilize the high-order hyperedge characteristics of graphs, model and verify complex relationships such as multiple users, multiple devices and multiple factors, achieve high robustness in a many-to-many authentication scenario, and avoid misjudgment caused by insufficient expression of ordinary graphs.
[0034] In addition, the method utilizes the NP-complete property of hypergraph isomorphism (HI) calculation, which can construct an authentication protocol with higher security level compared to ordinary graph isomorphism. Embedding HI mapping verification (such as isomorphism verification at the user end and / or proof verification at the service end) in the proof circuit can effectively improve the quantum security of the identity authentication process.
[0035] Furthermore, the method generates proofs of authentication hypergraphs through the proof circuit, or verifies zero-knowledge proofs through the proof circuit, which can reduce the computational complexity of HI verification to O(nlogn), reduce communication overhead and support high-concurrency scenarios (such as processing thousands of requests per second), while ensuring lightweight deployment on resource-constrained devices (such as Internet of Things terminals) to meet large-scale application requirements.
[0036] Referring to Figure 1 In the embodiment of the present application, a zero-knowledge identity authentication method based on hypergraph isomorphism is applied to a user end, and the method comprises: Step 110, obtaining a reference hypergraph, a circuit fingerprint, a first registration commitment set and an authentication hypergraph; each hyperedge in the reference hypergraph connects the same number of vertices, and each hyperedge in the authentication hypergraph connects the same number of vertices; In this embodiment, the baseline supergraph is constructed based on user data collected during the previous registration phase. Specifically, user data can be collected via a terminal and processed using existing technologies such as feature standardization and mapping to form a registered identity data vector. Then, based on this data vector and a simple perturbation, a set containing nodes is generated. and superedge set initial Uniform Hypermap (k≥3) to ensure that each hyperedge in the baseline hypergraph connects the same number of vertices, where a hyperedge represents a higher-order relationship between multiple nodes. The first registration commitment set can be the set of commitment values obtained by the user in the previous registration phase, which includes registration hypergraph commitments, registration vector commitments, and registration isomorphism mapping commitments.
[0037] Understandably, during the current authentication phase, the authentication hypergraph can load the baseline hypergraph generated during the previous registration phase into the Trusted Execution Environment (TEE). Based on this, a k-uniform hypergraph for authentication is generated using simplified perturbation techniques. This is done so that each hyperedge in the baseline hypergraph connects the same number of vertices.
[0038] In some embodiments, the method further includes: Get a random token; The random token is subjected to perturbation generation processing to obtain a perturbation matrix; Based on the perturbation matrix, the reference hypergraph is mapped to obtain isomorphic mapping data and the authentication hypergraph. The isomorphic mapping data is used to record the isomorphic mapping relationship between the reference hypergraph and the authentication hypergraph.
[0039] In this embodiment of the application, for the authentication hypergraph during the authentication phase, the user terminal can use a preset random seed in the TEE. Generate a simplified perturbation matrix. Where UID is the user's device identifier; t is a millisecond-level UTC timestamp; nonce is a single-time token issued by the server; SHA256() is a hash function; then through right Apply structural perturbations to generate an authentication hypergraph And determine the complete isomorphic mapping from the baseline hypergraph to the authentication hypergraph. That is, isomorphic mapping data, where, , represents a fixed-point permutation mapping, specifically a graph node of the reference hypergraph. Graph nodes to the authentication hypergraph Vertex permutation mapping; , represents a hyperedge permutation mapping, specifically a hyperedge set of the reference hypergraph to a hyperedge set of the authentication hypergraph ; , represents a hyperedge internal vertex permutation mapping, , , . For convenience of representation, define = , the authentication hypergraph can be simplified as
[0040] Step 120, performing commitment and fingerprint generation on the authentication hypergraph to obtain an authentication commitment set and a structural fingerprint; In the embodiments of the present application, after the user terminal obtains the authentication hypergraph, the authentication hypergraph can be subjected to commitment and fingerprint generation to generate a set of commitment values of the authentication hypergraph in multiple dimensions, denoted as an authentication commitment set, and a structural uniqueness fingerprint of the authentication hypergraph, denoted as a structural fingerprint.
[0041] In some embodiments, the commitment and fingerprint generation on the authentication hypergraph to obtain an authentication commitment set and a structural fingerprint includes: obtaining isomorphic mapping data and authentication identity data vectors corresponding to the authentication hypergraph; performing structural hash digest generation on the authentication hypergraph to obtain the structural fingerprint; In the embodiments of the present application, the authentication identity data vector can be a vector form of user data collected by the user terminal in the authentication stage. The user data can be account password data input by the user on the user terminal interface, user face data or audio data collected by the user terminal sensor, etc.
[0042] The structural hash digest generation can be the generation of the structural hash digest (i.e. the structural fingerprint) of the authentication hypergraph using a symmetric hash function. The structural fingerprint can be represented as:
[0043] wherein, is the structural fingerprint of the authentication hypergraph; is a hash function; is a string obtained by sorting the adjacency information of the authentication hypergraph in ascending order of vertex index and splicing with fixed length encoding.
[0044] Performing commitment generation on the isomorphic mapping data and the authentication identity data vector to obtain the authentication commitment set.
[0045] Further, the commitment generation on the isomorphic mapping data and the authentication identity data vector to obtain the authentication commitment set includes: Perform hypergraph structure analysis on the authentication identity data vector to obtain the authentication vertex digest and authentication hyperedge label of the authentication hypergraph; Vector commitment analysis is performed on the authentication vertex digest to obtain the authentication vector commitment; Hypergraph commitment analysis is performed on the authentication hyperedge label to obtain the authentication hypergraph commitment; A mapping commitment analysis is performed on the isomorphic mapping data to obtain the authentication isomorphic mapping commitment; The authentication commitment set is constructed based on the authentication vector commitment, the authentication hypergraph commitment, and the authentication isomorphism mapping commitment.
[0046] In this embodiment, the hypergraph structure analysis can be based on the commitment structure calculation analysis using symmetric hash functions (such as Blake2b-256, SHA-256) to derive the authentication vertex digest and authentication hyperedge labels of the authentication hypergraph. Next, vector commitments, hypergraph commitments, and isomorphic mapping commitments of the authentication hypergraph are generated based on a standard binary Merkle tree. Finally, by integrating and concatenating the authentication vector commitments, authentication hypergraph commitments, and authentication isomorphic mapping commitments, the authentication commitment set of the user terminal during the authentication phase is obtained. For example, this authentication commitment set can be represented as:
[0047] in, For authentication identity data vector Authentication vertex digest; To authenticate the i-th vertex of the hypergraph; Use the SHA-256 hash function; For authentication identity data vector The authentication super-edge tag; To authenticate the j-th hyperedge of the hypergraph; Use the Blake2b-256 hash function; It is a constant; To verify SuperMap's commitment; This is a functional representation of a standard binary Merkle tree; For authentication vector commitment; To verify isomorphic mapping commitments.
[0048] Step 130: Based on the baseline hypergraph, perform a proof generation on the authentication hypergraph to obtain a zero-knowledge proof of the authentication hypergraph; In this embodiment of the application, the proof generation can be a zero-knowledge proof of the authentication hypergraph generated in a trusted execution environment on the user's end.
[0049] In some embodiments, the step of generating a proof for the authentication hypergraph based on the baseline hypergraph to obtain a zero-knowledge proof for the authentication hypergraph includes: The obtaining proof circuit includes a hypergraph isomorphism verification sub-circuit, a vertex digest consistency verification sub-circuit, and a commitment consistency verification sub-circuit. In the embodiments of the present application, the user end can obtain a unified STARK arithmetic circuit (i.e., a proof circuit) compiled based on the Cairo environment in the registration stage. The hypergraph isomorphism verification sub-circuit in the proof circuit is used to verify whether the authentication hypergraph and the reference hypergraph satisfy the isomorphism relationship. The commitment consistency verification sub-circuit is used to verify that the submitted commitment is consistent with the commitment recorded in the registration stage. The vertex digest consistency verification sub-circuit is used to ensure that the digest of each vertex in the authentication hypergraph in the subsequent verification is consistent with the digest stored in the registration stage.
[0050] According to the hypergraph isomorphism verification sub-circuit, the reference hypergraph and the authentication hypergraph are subjected to isomorphism verification to obtain isomorphism verification information. Further, the isomorphism verification of the reference hypergraph and the authentication hypergraph according to the hypergraph isomorphism verification sub-circuit to obtain isomorphism verification information includes: The reference hypergraph and the authentication hypergraph are subjected to vertex mapping verification to obtain vertex mapping information. The reference hypergraph and the authentication hypergraph are subjected to hyperedge mapping verification to obtain hyperedge mapping information. The reference hypergraph and the authentication hypergraph are subjected to vertex arrangement verification to obtain vertex arrangement information. According to the vertex mapping information, the hyperedge mapping information, and the vertex arrangement information, the isomorphism verification information is obtained.
[0051] In the embodiments of the present application, the first registration commitment set and the structure fingerprint of the reference hypergraph, and the authentication commitment set and the structure fingerprint of the authentication hypergraph can be input into the hypergraph isomorphism verification sub-circuit for isomorphism verification to obtain isomorphism verification information. The structure fingerprint of the reference hypergraph can be determined in the registration stage, and can be generated by performing structure hash digest on the reference hypergraph. Specifically, the vertex mapping verification is used to verify whether the reference hypergraph and the authentication hypergraph satisfy the vertex mapping condition, which is specifically that the isomorphism mapping data is one-to-one mapping and covers all , wherein is the jth vertex of the reference hypergraph .
[0052] It can be understood that the hyperedge mapping verification is used to verify whether the reference hypergraph and the authentication hypergraph satisfy the hyperedge mapping condition, which can be whether the hyperedge of the reference hypergraph and the hyperedge of the authentication hypergraph satisfy the relationship , wherein a hyperedge set of a reference hypergraph, a hyperedge set of an authentication hypergraph, isomorphic mapping data in a function representation.
[0053] The vertex permutation mapping is used to verify whether the vertex permutation condition is met between the reference hypergraph and the authentication hypergraph. The vertex permutation condition can be the isomorphic mapping data between the reference hypergraph and the authentication hypergraph. consistent with the structural transformation imposed by the aforementioned perturbation matrix.
[0054] It should be noted that if the vertex mapping information, the hyperedge mapping information, and the vertex permutation information are all satisfied, isomorphic verification information representing that the isomorphic verification is passed can be generated; or if at least one of the vertex mapping information, the hyperedge mapping information, and the vertex permutation information is not satisfied, isomorphic verification information representing that the isomorphic verification is failed can be generated.
[0055] According to the vertex digest consistency verification sub-circuit, vertex digest verification is performed on the reference hypergraph and the authentication hypergraph to obtain first verification information. According to the commitment consistency verification sub-circuit, commitment verification is performed on the reference hypergraph and the authentication hypergraph to obtain second verification information. According to the isomorphic verification information, the first verification information, and the second verification information, the zero-knowledge proof is generated.
[0056] In the embodiments of the present application, the vertex digest verification can be that the reference hypergraph and the authentication hypergraph are input into the vertex digest consistency verification sub-circuit, and the vertex digest consistency verification sub-circuit verifies whether the vertex digests of the reference hypergraph and the authentication hypergraph meet consistency under constraints, to obtain the first verification information. Exemplarily, the mathematical representation of the vertex digest consistency verification sub-circuit can be:
[0057] wherein, is a proof function representation of a standard binary Merkle tree; is a truth value representation; is a registered vertex digest of the reference hypergraph, that is, a registered vertex digest of the initial identity data vector; is a registered vector commitment in the first registered commitment set; is a Merkle authentication path of the reference hypergraph in the standard binary Merkle tree, from a leaf node corresponding to to its commitment root; is a Merkle authentication path of the authentication hypergraph in the standard binary Merkle tree, from a leaf node corresponding to a Merkle authentication path of a corresponding leaf node to its commitment root; is a configurable distance function, which can be a weighted Euclidean distance function, a cosine distance function, a hash consistency scoring function, etc. is a threshold parameter.
[0058] It can be understood that when is less than or equal to and both are true, the first verification information provided by the vertex digest consistency verification sub-circuit is passed, otherwise it is failed. Also, the first verification information output by the vertex digest consistency verification sub-circuit in the embodiments of the present application makes it impossible for the outside to know the actual digest value or distance distribution, which can guarantee the privacy of user data and prevent attackers from forging graph structure verification by replacing identity data vectors.
[0059] The commitment verification can be inputting the reference hypergraph and the authentication hypergraph into the commitment consistency verification sub-circuit to verify whether the commitment of the reference hypergraph and the authentication hypergraph is tampered with, and further ensuring that the graph structure, identity data, etc. submitted by the user end are not tampered with, so as to obtain the second verification information. Exemplarily, the mathematical representation of the commitment consistency verification sub-circuit can be:
[0060] wherein, is the jth hyperedge of the reference hypergraph is the hyperedge set of the reference hypergraph; is the label of the hyperedge is the registration hypergraph commitment in the first registration commitment set; is the registration isomorphic mapping commitment in the first registration commitment set; is the number of elements of the permutation mapping; is the value of the ith permutation unit in the isomorphic mapping data generated in the registration phase; is the value of the ith permutation unit in the isomorphic mapping data generated in the authentication phase; is the Merkle authentication path of a corresponding leaf node to its commitment root in the standard binary Merkle tree corresponding to the reference hypergraph. is the Merkle authentication path of a corresponding leaf node to its commitment root in the corresponding standard binary Merkle tree; is the Merkle authentication path of a corresponding leaf node to its commitment root in the corresponding standard binary Merkle tree. is the Merkle authentication path of a corresponding leaf node to its commitment root in the corresponding standard binary Merkle tree. is the Merkle authentication path of a corresponding leaf node to its commitment root in the corresponding standard binary Merkle tree; is the Merkle authentication path of a corresponding leaf node to its commitment root in the corresponding standard binary Merkle tree. is the Merkle authentication path of a corresponding leaf node to its commitment root in the corresponding standard binary Merkle tree. is the Merkle authentication path of a corresponding leaf node to its commitment root in the corresponding standard binary Merkle tree.
[0061] It should be noted that in the first implementation, when the isomorphism verification information, the first verification information and the second verification information are all verified, then the zero-knowledge proof can be generated in the trusted execution environment based on the STARK protocol, and then the subsequent step 140 is executed. Alternatively, in the second implementation, the user end can generate the zero-knowledge proof in the trusted execution environment based on the STARK protocol at the same time as obtaining the isomorphism verification information, the first verification information and the second verification information through the proof circuit; then when the isomorphism verification information, the first verification information and the second verification information are all verified, the subsequent step 140 is executed.
[0062] Step 140, the circuit fingerprint, the first registration commitment set, the structure fingerprint, the authentication commitment set and the zero-knowledge proof are sent to the server, so that the server performs hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structure fingerprint, the authentication commitment set and the zero-knowledge proof according to the circuit fingerprint, and obtains the identity authentication result returned by the server.
[0063] In the embodiment of the application, the circuit fingerprint, the first registration commitment set, the structure fingerprint and the zero-knowledge proof can be packaged into an authentication request package, and the authentication request package is sent to the server through the transport layer security protocol (TLS protocol), so as to obtain the identity authentication result returned by the server.
[0064] In the embodiment of the application, a zero-knowledge identity authentication method based on hypergraph isomorphism is applied to a server, and the method comprises: receiving a circuit fingerprint, a first registration commitment set, a structure fingerprint, an authentication commitment set and a zero-knowledge proof from a user end; performing hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structure fingerprint, the authentication commitment set and the zero-knowledge proof according to the circuit fingerprint, and obtaining an identity authentication result; wherein the zero-knowledge proof is obtained by the following steps: the user end obtains a reference hypergraph, the circuit fingerprint, the first registration commitment set and an authentication hypergraph; each hyperedge in the reference hypergraph connects the same number of vertices, and each hyperedge in the authentication hypergraph connects the same number of vertices; the user end performs commitment and fingerprint generation on the authentication hypergraph, and obtains an authentication commitment set and a structure fingerprint; the user end performs proof generation on the authentication hypergraph according to the reference hypergraph, and obtains the zero-knowledge proof of the authentication hypergraph.
[0065] In the embodiments of the present application, after receiving the authentication request packet, the server can parse the authentication request packet, and perform hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structure fingerprint and the zero-knowledge proof according to the circuit fingerprint obtained by parsing, to obtain an identity authentication result.
[0066] In some embodiments, the hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structure fingerprint, the authentication commitment set and the zero-knowledge proof according to the circuit fingerprint to obtain an identity authentication result comprises: obtaining a second registration commitment set and a proof circuit corresponding to the circuit fingerprint; performing pre-verification on the first registration commitment set according to the second registration commitment set to obtain pre-verification information; performing proof verification on the structure fingerprint, the zero-knowledge proof and the authentication commitment set according to the proof circuit and the first registration commitment set to obtain proof verification information; generating the identity authentication result according to the pre-verification information and the proof verification information.
[0067] In the embodiments of the present application, the circuit fingerprint can be a circuit identifier of the proof circuit; the second registration commitment set is similar to the first registration commitment set, which is a set of commitment values obtained by the server in the previous registration stage. The difference between the second registration commitment set and the first registration commitment set is that the first registration commitment set is stored in the user terminal, while the second registration commitment set is stored in the server. In addition, after the proof circuit is compiled in the registration stage, the user terminal and the server can obtain and store the proof circuit in their own storage units. After the circuit fingerprint is parsed, the server can determine the corresponding proof circuit from the storage unit based on the circuit fingerprint.
[0068] It can be understood that the pre-verification can be a comparison of whether the second registration commitment set stored in the server is consistent with the first registration commitment set sent by the user terminal, and pre-verification information representing pre-verification isomorphism is obtained in the case where the registration commitment sets are consistent.
[0069] The proof verification can first be the benchmark hypergraph stored by the service end in the registration stage, and the corresponding authentication hypergraph is generated at the service end based on the aforementioned issued random token. Subsequently, the content is similar to that of the aforementioned steps 120 to step 130, and the same can be deduced by analogy. Then, in the case that the authentication commitment set generated at the service end is consistent with the authentication commitment set sent by the user end, the structure fingerprint generated at the service end is consistent with the structure fingerprint sent by the user end, and the isomorphic verification information and the second verification information output by the service end proof circuit are all consistent, the zero-knowledge proof is further authenticated by FARI (FRI-based Algebraic Intermediate Representation) protocol, and the identity authentication result indicating that the identity authentication is passed is generated when the FARI protocol authentication also passes.
[0070] It should be noted that, in the registration stage, the registration commitment set (such as the first registration commitment set stored at the user end or the second registration commitment set stored at the service end) obtained by the embodiments of the application is obtained in a manner similar to that of the authentication commitment set, and the difference is that the registration commitment set in the registration stage is obtained based on the benchmark hypergraph, while the authentication commitment set in the authentication stage is obtained based on the authentication hypergraph.
[0071] A zero-knowledge identity authentication system based on hypergraph isomorphism according to the embodiments of the application is described in detail below with reference to the accompanying drawings.
[0072] Referring to Figure 2 The zero-knowledge identity authentication system based on hypergraph isomorphism proposed in the embodiments of the application includes a user end and a service end. The user end 101 is configured to obtain a benchmark hypergraph, a circuit fingerprint, a first registration commitment set, and an authentication hypergraph. Each hyperedge in the benchmark hypergraph connects the same number of vertices, and each hyperedge in the authentication hypergraph connects the same number of vertices. The authentication hypergraph is subjected to commitment and fingerprint generation to obtain an authentication commitment set and a structure fingerprint. The zero-knowledge proof of the authentication hypergraph is obtained by performing proof generation on the authentication hypergraph based on the benchmark hypergraph. The service end 102 is configured to perform hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structure fingerprint, the authentication commitment set, and the zero-knowledge proof based on the circuit fingerprint to obtain an identity authentication result.
[0073] It can be understood that the content in the above method embodiments is applicable to the system embodiments, the system embodiments specifically implement the same functions as the above method embodiments, and achieve the same beneficial effects as the above method embodiments.
[0074] Referring to Figure 3 The embodiments of the application also provide an electronic device, which includes at least one processor 201; at least one memory 202, configured to store the at least one program; When the at least one program is executed by the at least one processor 201, the at least one processor 201 implements the above-mentioned method embodiments.
[0075] Similarly, it can be understood that the contents in the above-mentioned method embodiments are all applicable to the present device embodiments, the present device embodiments specifically implement the functions same as the above-mentioned method embodiments, and achieve the same beneficial effects as the above-mentioned method embodiments.
[0076] The present application also provides a computer readable storage medium, which stores a program executable by the processor 201, and the program executable by the processor 201, when executed by the processor 201, is used for implementing the above-mentioned method embodiments.
[0077] Similarly, the contents in the above-mentioned method embodiments are all applicable to the present computer readable storage medium embodiments, the present computer readable storage medium embodiments specifically implement the functions same as the above-mentioned method embodiments, and achieve the same beneficial effects as the above-mentioned method embodiments.
[0078] The present application also provides a computer program product, which comprises a computer program, and the computer program, when executed by a processor, implements the steps in the above-mentioned method embodiments.
[0079] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by a computer program instructing related hardware, and the computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiments.
[0080] In some alternative embodiments, the functions / operations mentioned in the block diagram can not occur in the order mentioned in the operation diagram. For example, depending on the functions / operations involved, two blocks shown in succession can actually be executed substantially simultaneously or the blocks can sometimes be executed in reverse order. In addition, the embodiments presented and described in the flowcharts of the present application are provided by way of example, and the purpose is to provide a more comprehensive understanding of the technology. The disclosed method is not limited to the operations and logical processes presented herein. Alternative embodiments are contemplated in which the order of various operations is changed and in which sub-operations described as part of larger operations are independently executed.
[0081] Furthermore, although the present application is described in the context of functional modules, it is understood that one or more of the functions and / or features can be integrated in a single physical device and / or software module, or one or more functions and / or features can be implemented in separate physical devices or software modules. It is also understood that a detailed discussion of the actual implementation of each module is unnecessary to an understanding of the present application. Rather, the actual implementation is within the routine skill of engineers familiar with the property, function and internal relationships of the various functional modules disclosed herein. Accordingly, the present application is not limited to the specific details of the functional modules described herein. Rather, it is understood that the skilled artisan, using ordinary skill in the art, can implement the application as taught in the claims without undue experimentation. It is also understood that the specific concepts disclosed are merely illustrative and that the scope of the present application is determined by the appended claims and their equivalents.
[0082] If the functions are implemented in software, the functions can be stored in or implemented as one or more computer program products. The computer program product can be stored in a computer readable medium, which can include, but is not limited to, RAM, ROM, electrically programmable ROM (EPROM or EEPROM), flash memory, or a magnetic or optical card, or any suitable device used for storing a computer program. Furthermore, the computer program product can be implemented as at least one program that can be executed by one or more processors.
[0083] The logic and / or steps represented in the flowcharts and / or otherwise described herein, for example, can be embodied in non-transitory computer-readable media, which can be executed by an instruction execution system, apparatus, or device such as a computer-based system, processor, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this specification, a "computer-readable medium" can be any means that can contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[0084] More specific examples (a non-exhaustive list) of the computer-readable medium include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium can also be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, for example, via optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
[0085] It should be understood that aspects of the application can be implemented in hardware, software, firmware or combinations thereof. In the above embodiments, various steps or methods can be implemented in software or firmware that is stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any of the following technologies, or combinations thereof, can be used: a discrete logic circuit having logic gates for implementing logic functions upon data signals, an application specific integrated circuit having appropriate combinational logic gates, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0086] In the above description of the present specification, the description referring to the terms "one embodiment", "another embodiment", or "certain embodiments" or the like means that a specific feature, structure, material or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present specification. The illustrative expressions of the above terms do not necessarily refer to the same embodiment or example throughout the present specification. Also, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0087] Although the embodiments of the present application have been shown and described, it will be appreciated by those skilled in the art that changes, modifications, alternatives and variations to these embodiments can be made without departing from the principles and spirit of the application, the scope of which is defined by the claims and their equivalents.
[0088] The above is a specific description of the preferred embodiments of the present application, but the present application is not limited to the embodiments, and those skilled in the art can make various equivalent modifications or replacements without departing from the spirit of the present application, and these equivalent modifications or replacements are included in the scope defined by the claims of the present application.
Claims
1. A zero-knowledge identity authentication method based on hypergraph isomorphism, characterized in that, When applied to a user terminal, the method includes: Obtain a baseline hypergraph, a circuit fingerprint, a first registration commitment set, and an authentication hypergraph; each hyperedge in the baseline hypergraph connects to the same number of vertices, and each hyperedge in the authentication hypergraph connects to the same number of vertices. The authentication hypergraph is subjected to commitment and fingerprint generation to obtain the authentication commitment set and structural fingerprint; Based on the baseline hypergraph, a proof is generated for the authentication hypergraph to obtain a zero-knowledge proof of the authentication hypergraph; The circuit fingerprint, the first registration commitment set, the structural fingerprint, the authentication commitment set, and the zero-knowledge proof are sent to the server so that the server can perform hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structural fingerprint, the authentication commitment set, and the zero-knowledge proof based on the circuit fingerprint, and obtain the identity authentication result returned by the server.
2. The method according to claim 1, characterized in that, The process of performing commitment and fingerprint generation on the authentication hypergraph to obtain an authentication commitment set and structural fingerprint includes: Obtain the isomorphic mapping data and authentication identity data vector corresponding to the authentication hypergraph; The structure hash digest is generated by performing a structure hash digest on the authentication hypergraph to obtain the structure fingerprint; The isomorphic mapping data and the authentication identity data vector are used to generate a commitment, resulting in the authentication commitment set.
3. The method according to claim 2, characterized in that, The step of generating the authentication commitment set by performing commitment generation on the isomorphic mapping data and the authentication identity data vector includes: Perform hypergraph structure analysis on the authentication identity data vector to obtain the authentication vertex digest and authentication hyperedge label of the authentication hypergraph; Vector commitment analysis is performed on the authentication vertex digest to obtain the authentication vector commitment; Hypergraph commitment analysis is performed on the authentication hyperedge label to obtain the authentication hypergraph commitment; A mapping commitment analysis is performed on the isomorphic mapping data to obtain the authentication isomorphic mapping commitment; The authentication commitment set is constructed based on the authentication vector commitment, the authentication hypergraph commitment, and the authentication isomorphism mapping commitment.
4. The method according to any one of claims 1-3, characterized in that, The method further includes: Get a random token; The random token is subjected to perturbation generation processing to obtain a perturbation matrix; Based on the perturbation matrix, the reference hypergraph is mapped to obtain isomorphic mapping data and the authentication hypergraph. The isomorphic mapping data is used to record the isomorphic mapping relationship between the reference hypergraph and the authentication hypergraph.
5. The method according to claim 1, characterized in that, The step of generating a proof for the authentication hypergraph based on the baseline hypergraph to obtain a zero-knowledge proof for the authentication hypergraph includes: A proof circuit is obtained, which includes a hypergraph isomorphism verification sub-circuit, a vertex digest consistency verification sub-circuit, and a commitment consistency verification sub-circuit; Based on the hypergraph isomorphic verification sub-circuit, isomorphic verification is performed on the reference hypergraph and the authentication hypergraph to obtain isomorphic verification information; According to the vertex digest consistency verification sub-circuit, vertex digest verification is performed on the benchmark hypergraph and the authentication hypergraph to obtain the first verification information; Based on the commitment consistency verification sub-circuit, commitment verification is performed on the benchmark hypergraph and the authentication hypergraph to obtain second verification information; The zero-knowledge proof is generated based on the isomorphic verification information, the first verification information, and the second verification information.
6. The method according to claim 5, characterized in that, The step of performing isomorphic verification on the reference hypergraph and the authentication hypergraph according to the hypergraph isomorphic verification sub-circuit to obtain isomorphic verification information includes: Vertex mapping verification is performed on the baseline hypergraph and the authentication hypergraph to obtain vertex mapping information; Perform hyperedge mapping verification on the baseline hypergraph and the authentication hypergraph to obtain hyperedge mapping information; Vertex arrangement verification is performed on the baseline hypergraph and the authentication hypergraph to obtain vertex arrangement information; The isomorphism verification information is obtained based on the vertex mapping information, the hyperedge mapping information, and the vertex arrangement information.
7. A zero-knowledge identity authentication method based on hypergraph isomorphism, characterized in that, Applied to the server side, the method includes: Receive circuit fingerprints, first registration commitment set, structural fingerprints, authentication commitment set, and zero-knowledge proofs from the user terminal; Based on the circuit fingerprint, hypergraph isomorphism and zero-knowledge verification are performed on the first registration commitment set, the structural fingerprint, the authentication commitment set, and the zero-knowledge proof to obtain the identity authentication result; The zero-knowledge proof is obtained through the following steps: The user terminal acquires the baseline hypergraph, the circuit fingerprint, the first registration commitment set, and the authentication hypergraph; each hyperedge in the baseline hypergraph connects to the same number of vertices, and each hyperedge in the authentication hypergraph connects to the same number of vertices. The user terminal performs commitment and fingerprint generation on the authentication hypergraph to obtain an authentication commitment set and a structural fingerprint. The user terminal generates a proof of the authentication hypergraph based on the baseline hypergraph, thereby obtaining a zero-knowledge proof of the authentication hypergraph.
8. The method according to claim 7, characterized in that, The step of performing hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structural fingerprint, the authentication commitment set, and the zero-knowledge proof based on the circuit fingerprint to obtain the identity authentication result includes: Obtain the second registration commitment set and the proof circuit corresponding to the circuit fingerprint; Based on the second set of registration commitments, the first set of registration commitments is pre-verified to obtain pre-verification information; Based on the proof circuit and the first registration commitment set, the structural fingerprint, the zero-knowledge proof, and the authentication commitment set are verified to obtain proof verification information. The identity authentication result is generated based on the pre-verification information and the proof verification information.
9. A zero-knowledge identity authentication system based on hypergraph isomorphism, characterized in that, The system includes a user terminal and a server terminal; The user terminal is used to obtain the baseline hypergraph, circuit fingerprint, first registration commitment set, and authentication hypergraph; The number of vertices connected by each hyperedge in the baseline hypergraph is the same, and the number of vertices connected by each hyperedge in the authentication hypergraph is the same; commitment and fingerprint generation are performed on the authentication hypergraph to obtain an authentication commitment set and a structural fingerprint; based on the baseline hypergraph, a proof is generated on the authentication hypergraph to obtain a zero-knowledge proof of the authentication hypergraph; The server is used to perform hypergraph isomorphism and zero-knowledge verification on the first registration commitment set, the structural fingerprint, the authentication commitment set, and the zero-knowledge proof based on the circuit fingerprint, so as to obtain the identity authentication result.
10. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor performs the method as described in any one of claims 1-8.