IoT data oriented verifiable distributed computing method based on edge server

CN116938933BActive Publication Date: 2026-11-03NORTHEASTERN UNIV CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310946329.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-31
Publication Date
2026-11-03
Estimated Expiration
2043-07-31

AI Technical Summary

Technical Problem

[0004]综上所述,现有的计算加密方案存在的问题:1)云服务器并不可信

Benefits of technology

[0073]采用上述技术方案所产生的有益效果在于:本发明提供的基于边缘服务器的面向IoT数据的可验证分布式计算方法,提出了一个高效的多项式计算方法。对多项式进行编码,将单一计算任务分配给服务器集群,来提升外包计算的效率。同时提出将分布式计算与可验证计算方案相结合,并交由边缘服务器为终端设备执行验证操作,保证模型的公共可验证性和计算结果的不可伪造性。分别从通讯和计算效率上对比现有方案和本发明的方法,理论分析和仿真结果表明,本发明具有较高的实用性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116938933B_ABST
    Figure CN116938933B_ABST
Patent Text Reader

Abstract

The application provides an edge server-based IoT data-oriented verifiable distributed computing method, and relates to the technical field of 5G Internet of Things.The application designs a mobile edge computing-oriented verifiable distributed computing scheme, including a key generation algorithm, an initialization algorithm, a distributed computing algorithm, a verification algorithm, a result recovery algorithm and an updating algorithm.A single computing task is assigned to a server cluster by encoding a polynomial to improve the efficiency of outsourcing computing.Meanwhile, the application combines the distributed computing with the verifiable computing scheme, and submits the verification operation to the edge server for the terminal device to execute, so as to guarantee the public verifiability of the model and the unforgeability of the computing result.The application guarantees the real-time performance of the IoT application, improves the efficiency of outsourcing computing, and verifies the returned data result to guarantee the integrity of the IoT terminal data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of 5G Internet of Things (IoT) technology, and in particular to a verifiable distributed computing method for IoT data based on edge servers. Background Technology

[0002] In recent years, the global Internet of Things (IoT) market has entered a phase of steady growth, while the industrial IoT has entered a stage of in-depth development. The application scenarios of cellular wireless communication technologies, characterized by low power consumption and wide coverage, are constantly expanding, and the scale of applications in vertical industries such as smart cities, smart homes, and smart industries is continuously increasing. The development of 5G and IoT has brought higher demands on computing power. With the development of cloud computing, outsourcing cloud computing allows users to entrust data and computing to third-party cloud providers to improve computing efficiency. Traditional cloud computing suffers from high latency and data transmission efficiency issues.

[0003] While IoT has seen many successful applications, several issues need to be addressed before widespread deployment, one of the main concerns being server security. In IoT scenarios, once data is migrated to a cloud server, users lose direct physical control. All operations, such as deletion, querying, and computation, are performed by the cloud server, leaving users to rely on its security and reliable service. However, the numerous cloud security incidents in recent years have further eroded user trust in cloud servers, demonstrating that they are not entirely secure. Therefore, ensuring users can fully verify the integrity of outsourced data used by cloud servers is crucial. Verifiable computing in IoT applications can effectively address these issues. With the advent of 5G, miniaturization and thinning are inevitable trends for mobile devices, including wearables and IoT products. However, this also presents challenges in computing and storage capabilities. While outsourcing processing to servers reduces the workload on the terminal, the large amount of processed data returned by the server necessitates verifiable computing, requiring a certain level of computing and storage capacity from the terminal device. Easing the operational latency of terminal devices has always been a critical issue in IoT scenarios, and the time overhead associated with verification negatively impacts user experience. Existing IoT scenarios typically utilize a single server, but with more frequent human-computer interaction and increasingly massive amounts of data collected by sensors, centralized data processing methods may experience operational latency issues when faced with large-scale data computation tasks due to computational load. Smart fire protection systems based on IoT city IoT platforms can achieve unified access and management of massive heterogeneous fire protection terminal devices. However, when multiple disasters occur simultaneously, the computational latency of a single server may exacerbate the disaster. Reducing the operational latency caused by traditional centralized server processing remains an unsolved problem.

[0004] In summary, existing computational encryption schemes have the following problems: 1) Cloud servers are not trustworthy. 2) Verifiable computation requires terminal devices to have certain computing and storage capabilities. 3) Centralized data processing methods may experience operation latency issues. Summary of the Invention

[0005] The technical problem to be solved by the present invention is to address the shortcomings of the prior art by providing a verifiable distributed computing method for IoT data based on edge servers, which ensures the real-time performance of IoT applications, improves the efficiency of outsourced computing, and verifies the returned data results to ensure the integrity of IoT terminal data.

[0006] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:

[0007] A verifiable distributed computing method for IoT data based on edge servers includes a key generation algorithm, an initialization algorithm, a distributed computing algorithm, a verification algorithm, a result recovery algorithm, and an update algorithm.

[0008] Key generation algorithm Executed by a trusted computation owner O, with inputs being the security parameter λ and a family of functions. Among the function family Z represents the set of univariate polynomial functions with a degree less than or equal to (k-1), and its output is the public key PK, the private key SK, and the auxiliary parameter set Aux; p [x] represents a ring, p is a specified number, and k represents the polynomial coefficients;

[0009] The initialization algorithm VDMEC.Setup(PK,SK,Aux,f)→(PF,FK) is executed by a trusted computation owner O, with inputs being the public key PK, the private key SK, the auxiliary parameter set Aux, and a polynomial function. Let f∈Z p [x] is a univariate polynomial of degree k-1, f(x) = a0 + a1x + ... + a k-1 x k-1 In the initialization algorithm, the owner O pairs of functions are calculated. The polynomial function f(x) is decomposed and converted into matrix multiplication form; the output of the initialization algorithm is a common function set PF and a function public key set FK;

[0010] Distributed computing algorithm VDMEC.DistributedComp(z,Aux,PK,PF,FK)→(mid) i proof i The cloud server in cloud server cluster Ci Execute, where i∈[n]; the input of the distributed computing algorithm is the requested data z∈Z. p The system consists of an auxiliary parameter set Aux, a public key PK, a public function set PF, and a function public key set FK. Distributed computing is performed within a cloud service cluster, specifically on a cloud server. i The algorithm uses the auxiliary parameter set Aux and the public function set PF to compute the request data, generating intermediate results and corresponding evidence for later verification. The output of the distributed computing algorithm is sent to the cloud server. i intermediate result mid i and evidence proof i ;

[0011] The verification algorithm VDMEC.Verify(z,FK,PK,Mid,Proof) → {1,0} is executed by a trusted edge server E. Edge server E utilizes the evidence set Proof = {proof0,proof1,...,proof...} s -1}, the intermediate result set Mid = {mid0, mid1, ..., mid} generated by the first s cloud servers in the cloud server cluster C that return the fastest. s-1 The verification algorithm is performed; the input to the verification algorithm is the requested data z∈Z. p The function public key set FK, public key PK, intermediate result set Mid, and evidence set Proof are used. If the verification is successful, it means that the calculation results returned by each cloud server in the cloud server cluster C are correct, so output 1 to indicate acceptance; otherwise, it means that there are incorrect calculation results in the cloud server cluster C, so output 0 to indicate rejection.

[0012] The result recovery algorithm VDMEC.Recover(z,Mid,PF)→f(z) is executed by a trusted edge server E. The input to the result recovery algorithm is the requested data z∈Z. p The algorithm consists of an intermediate result set Mid and a common function set PF. Edge server E uses Lagrange interpolation to recover the intermediate results calculated by cloud server cluster C, and then calculates the final result to return to user U. The output of the result recovery algorithm is the final calculation result f(z).

[0013] The update algorithm VDMEC.Update(Aux,SK,PK,PF,FK,f,f′)→(PF′,FK′) is executed by the trusted computation owner O. When the system's polynomial function f is updated, the update algorithm supports updating one or more coefficients of the polynomial function. The input of the update algorithm is the auxiliary parameter set Aux, the private key SK, the public key PK, the public function set PF, the function public key set FK, the polynomial function f, and the update function f′. The output is the updated function public key set FK′ and the updated public function set PF′.

[0014] Furthermore, the specific process of the key generation algorithm is as follows:

[0015] Step 1.1: Using the safety parameter λ, select two additive cyclic groups of order p that are large prime numbers. and A multiplicative cyclic group of order p A bilinear mapping e: g1 and g2 are different groups generator, g t It is a group The generators satisfy e(g1,g2)=g t ;

[0016] Step 1.2: From Z p Randomly select a number α from the data and generate a private key SK = α;

[0017] Step 1.3: Calculation

[0018] Step 1.4: Using s and private key α, generate a structured reference string:

[0019] srs=([1]1,[α]1,...,[α s-1 ]1,[1]2,[α]2) (1)

[0020] Step 1.5: Generate public key PK = {g1, g2, srs};

[0021] Step 1.6: From Z p Randomly select n distinct points ω0, ω1, ..., ω n-1 Generate an auxiliary parameter set Aux = {ω0, ω1, ..., ω} n-1};

[0022] Step 1.7: Generate a public key PK, a private key SK, and an auxiliary parameter set Aux. Keep the private key SK. Send the public key PK and the auxiliary parameter set Aux to each server in the cloud server cluster C, and send the public key PK to the edge server E.

[0023] Furthermore, the specific process of the initialization algorithm is as follows:

[0024] Step 2.1: Calculate the degree (k-1) of the polynomial function f(x).

[0025] Step 2.2: Generate the coefficient vector [a0, a1, ..., a...] of the polynomial function f(x). k-1 The polynomial is decomposed into s consecutive blocks, each of length s; let the polynomial coefficients a i,j =a i×s+j Where i∈[s], j∈[s], the generating polynomial coefficient matrix A=[a i,j ] s×s ;

[0026] Step 2.3: The polynomial function is transformed into:

[0027]

[0028] Step 2.4: Based on the calculation form of distributed matrix multiplication, the main complex function A×[1 x... x in equation (2) is calculated. s-1 ] T The decomposition and transformation process generates a common function set PF, as follows:

[0029] Step 2.4.1: Transpose the polynomial coefficient matrix A to obtain A0. T ;

[0030] Step 2.4.2: Convert matrix A T The column vector is denoted as A i Where i∈[s], the parameter set of the generated column vector is params={A0 T A1 T ,...,A s-1 T};

[0031] Step 2.4.3: Define the common function l(x) = [1 x s ... x s(s-1) ] and r(x) = [1 x ... x s-1 ] T Then the polynomial function is expressed as:

[0032]

[0033] Step 2.4.4: Generate a common function set PF = {params, l(x), r(x)};

[0034] Step 2.5: Using equation (1), r(x) and params in the common function set PF, and the auxiliary parameter set Aux, calculate:

[0035]

[0036] Where i∈[n], the result is denoted as cm. i Generate the public key set FK = {cm0, cm1, ..., cm} n-1}; This represents a randomly generated number, used in polynomial interpolation.

[0037] Step 2.6: Send the public function set PF and the function public key set FK to the cloud server cluster C and the edge server E respectively.

[0038] Furthermore, the specific process of the distributed computing algorithm is as follows:

[0039] Step 3.1: Utilize the requested data z∈Z p The auxiliary parameter set Aux, the public function set PF, and the function public key FK are used to determine the function. Calculate function d i The value of (x) at x = z is d i (z), generate server i intermediate result mid i =(ω i ,d i (z));

[0040] Step 3.2: Define the function:

[0041]

[0042] Using intermediate result mid i =(ω i ,d i (z)), public key PK, and function public key set FK, to calculate [p i (α)]1, generate server i Evidence proof i =[p i (α)]1;

[0043] Step 3.3: Cloud Server i mid i and corresponding evidence proof i Send to edge server E.

[0044] Furthermore, the specific process of the verification algorithm is as follows:

[0045] Step 4.1: From Z p Randomly select a number γ;

[0046] Step 4.2: Using the random number γ and the function public key set FK, calculate:

[0047]

[0048] Step 4.3: Using the random number γ, the intermediate result set Mid, and the public key PK, calculate:

[0049]

[0050] Step 4.4: Using the random number γ and the evidence set Proof, calculate:

[0051]

[0052] Step 4.5: Using the results of the above steps, verify whether the following formula is true:

[0053] e(CM,[1]2)=e(W,[α-z]2) (8)

[0054] If equation (8) is true, it means that the verification is passed and the calculation result of cloud server cluster C is correct, and output 1; otherwise, it means that the verification is not passed, output 0, and reject the result.

[0055] Furthermore, the specific process of the result recovery algorithm is as follows:

[0056] Step 5.1: Utilize the intermediate result set Mid = {mid i |mid i =(ω i ,d i (z)), i∈[s]}, compute the function:

[0057]

[0058] Generate a set {h0(ω),h1(ω),...,h s-1 (ω)};

[0059] Step 5.2: Utilize the intermediate result set Mid = {mid i |mid i =(ω i ,d i (z)), i∈[s]} and the set {h0(ω),h1(ω),...,h} generated in step (1) s-1 (ω)}, using Lagrange interpolation, generate the interpolation polynomial:

[0060]

[0061] Step 5.3: The interpolation polynomial L s The coefficient vector of (ω) is denoted as v, where v is the principal complex function A×[1 x ... x] of the polynomial function f(x). s-1 ] T The value at point z in the requested data;

[0062] Step 5.4: Using the common function l(x) in the common function set PF, calculate the value of l(x) at the requested data z: l(z) = [1 z s ... z s(s-1) ], and denoted as w;

[0063] Step 5.5: Calculate f(z) = v × w, and send the final calculation result f(z) to the user.

[0064] Furthermore, the specific process of the update algorithm is as follows:

[0065] Step 6.1: Assume that only one monomial in the polynomial function f is updated, update the function f′=a i ′x i That is, the i-th term of the polynomial function f is updated;

[0066] pass The updated monomial coefficient a is located i The row and column position of 'q' in the initial polynomial coefficient matrix A is (p1, q1);

[0067] Step 6.2: Using the updated position information (p1, q1), locate the column vector set of the common function set PF. The corresponding column vector

[0068] Step 6.3: Using coefficient a i ′, for the initial column vector Perform the update to obtain the updated column vector. Update column vector set

[0069] Step 6.4: Generate the updated public function set PF′={l(x),r(x),params′};

[0070] Step 6.5: Using the structured reference string srs contained in the public key PK, the updated public function set PF′, and the auxiliary parameter set Aux, calculate the update term. Corresponding initial terms Get the updated cm i ′=cm i +(u i′-u i ), where i∈[n];

[0071] Step 6.6: Generate the updated function public key set FK′={cm0′,cm1′,...cm n-1 ′};

[0072] Step 6.7: Send the updated public function set PF′ and the updated function public key set FK′ to the cloud server cluster C and the edge server E.

[0073] The beneficial effects of adopting the above technical solution are as follows: The verifiable distributed computing method for IoT data based on edge servers provided by this invention proposes an efficient polynomial computation method. By encoding the polynomial and distributing a single computation task to a server cluster, the efficiency of outsourced computation is improved. Simultaneously, it proposes combining distributed computing with a verifiable computing scheme, and having the edge server perform verification operations for terminal devices, ensuring the public verifiability of the model and the non-falsification of the computation results. Comparing existing solutions with the method of this invention in terms of communication and computational efficiency, theoretical analysis and simulation results show that this invention has high practicality. Attached Figure Description

[0074] Figure 1 This is a schematic diagram of cloud-edge interaction for the Internet provided in an embodiment of the present invention;

[0075] Figure 2 A schematic diagram of a verifiable distributed computing model for mobile edge computing provided in an embodiment of the present invention;

[0076] Figure 3 This is a schematic diagram of the distributed computing process provided in an embodiment of the present invention;

[0077] Figure 4 This is a schematic diagram of the verification process provided in an embodiment of the present invention;

[0078] Figure 5 A comparison chart showing the time taken for the entire process of the four solutions provided in the embodiments of the present invention;

[0079] Figure 6 A comparison chart showing the initialization time consumed by four schemes provided in this embodiment of the invention;

[0080] Figure 7 A comparison chart showing the time spent on calculation steps for four schemes provided in this embodiment of the invention;

[0081] Figure 8 A comparison chart showing the update time of four schemes provided in this embodiment of the invention;

[0082] Figure 9 A comparison chart showing the time spent in the verification phase of four schemes provided in this embodiment of the invention;

[0083] Figure 10 The diagram shows the comparison results of various stages of VDMEC provided in the embodiments of the present invention. Detailed Implementation

[0084] The specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and examples. The following examples are for illustrative purposes only and are not intended to limit the scope of the invention.

[0085] To address the bandwidth and latency issues inherent in cloud computing architectures, this embodiment designs a distributed computing approach based on cloud servers. This computing scheme decomposes the computational polynomial into computational matrices, which are then distributed across parallel cloud servers, alleviating the pressure on a single server. Cloud-edge interaction for the Internet, such as... Figure 1 As shown. To ensure the correctness of the solution, this embodiment designs a verifiable distributed computing scheme for mobile edge computing, which can verify the distributed computing results through interpolation. Combining the above two schemes, a scheme called Verifiable Distributed Computing for Mobile Edge Computation (VMDEC) is proposed, which is a verifiable distributed computing method for IoT data based on edge servers. VMDEC can be better adapted to IoT terminal devices with limited computing power. Experimental results show that VMDEC has faster computing power and more efficient verification capabilities.

[0086] The method in this embodiment includes a key generation algorithm, an initialization algorithm, a distributed computing algorithm, a verification algorithm, a result recovery algorithm, and an update algorithm. A verifiable distributed computing model for mobile edge computing is as follows: Figure 2 As shown, the specific method is as follows.

[0087] Key generation algorithm Executed by a trusted computation owner O, with inputs being the security parameter λ and a family of functions. Among the function family Z represents the set of univariate polynomial functions with a degree less than or equal to (k-1). p [x] represents a ring, p is a defined number, k represents the polynomial coefficients, and the output is the public key PK, the private key SK, and the auxiliary parameter set Aux. The specific process of the key generation algorithm is as follows:

[0088] Step 1.1: Using the safety parameter λ, select two additive cyclic groups of order p that are large prime numbers. and A multiplicative cyclic group of order p A bilinear mapping e: g1 and g2 are different groups generator, g t It is a group The generators satisfy e(g1,g2)=g t ;

[0089] Step 1.2: From Z p Randomly select a number α from the data and generate a private key SK = α;

[0090] Step 1.3: Calculation

[0091] Step 1.4: Using s and private key α, generate a structured reference string:

[0092] srs=([1]1,[α]1,...,[α s-1 ]1,[1]2,[α]2) (1)

[0093] Step 1.5: Generate public key PK = {g1, g2, srs};

[0094] Step 1.6: From Z p Randomly select n distinct points ω0, ω1, ..., ω n-1 Generate an auxiliary parameter set Aux = {ω0, ω1, ..., ω} n-1};

[0095] Step 1.7: Generate a public key PK, a private key SK, and an auxiliary parameter set Aux. Keep the private key SK. Send the public key PK and the auxiliary parameter set Aux to each server in the cloud server cluster C, and send the public key PK to the edge server E.

[0096] The initialization algorithm VDMEC.Setup(PK,SK,Aux,f)→(PF,FK) is executed by a trusted computation owner O, with inputs being the public key PK, the private key SK, the auxiliary parameter set Aux, and a polynomial function. Let f∈Z p [x] is a univariate polynomial of degree k-1, expressed in the general form f(x) = a0 + a1x + ... + a k-1 x k-1 Let f represent the polynomial function; in the initialization algorithm, calculate the owner O pairs of the function family. The polynomial function f(x) is decomposed and converted into matrix multiplication form; the output of the initialization algorithm is a common function set PF and a function public key set FK. The specific process of the initialization algorithm is as follows:

[0097] Step 2.1: Calculate the degree (k-1) of the polynomial function f(x).

[0098] Step 2.2: Generate the coefficient vector [a0, a1, ..., a...] of the polynomial function f(x). k-1 The polynomial is decomposed into s consecutive blocks, each of length s; let the polynomial coefficients a i,j =a i×s+j Where i∈[s], j∈[s], the generating polynomial coefficient matrix A=[a i,j ] s×s ;

[0099] Step 2.3: The polynomial function is transformed into:

[0100]

[0101] Step 2.4: Based on the calculation form of distributed matrix multiplication, the main complex function A×[1 x... x in equation (2) is calculated. s-1 ] T The decomposition and transformation process generates a common function set PF, as follows:

[0102] Step 2.4.1: Transpose the polynomial coefficient matrix A to obtain A0. T ;

[0103] Step 2.4.2: Convert matrix A T The column vector is denoted as A i Where i∈[s], the parameter set of the generated column vector is params={A0 T A1 T ,...,A s-1 T};

[0104] Step 2.4.3: Define the common function l(x) = [1x s ...x s(s-1) ] and r(x) = [1x...x s-1 ] T Then the polynomial function is expressed as:

[0105]

[0106] Step 2.4.4: Generate a common function set PF = {params, l(x), r(x)};

[0107] Step 2.5: Using equation (1), r(x) and params in the common function set PF, and the auxiliary parameter set Aux, calculate:

[0108]

[0109] Where i∈[n], the result is denoted as cm. i Generate the public key set FK = {cm0, cm1, ..., cm} n-1}; This represents a randomly generated number, used in polynomial interpolation.

[0110] Step 2.6: Send the public function set PF and the function public key set FK to the cloud server cluster C and the edge server E respectively.

[0111] Distributed computing algorithm VDMEC.DistributedComp(z,Aux,PK,PF,FK)→(mid) i proof i The cloud server in cloud server cluster C i Execute, where i∈[n]; the input of the distributed computing algorithm is the requested data z∈Z. p The system consists of an auxiliary parameter set Aux, a public key PK, a public function set PF, and a function public key set FK. Distributed computing is performed within a cloud service cluster, specifically on a cloud server. i The algorithm uses the auxiliary parameter set Aux and the public function set PF to compute the request data, generating intermediate results and corresponding evidence for later verification. The output of the distributed computing algorithm is sent to the cloud server. i intermediate result mid i and evidence proof i Distributed computing algorithms such as Figure 3 As shown, the specific process is as follows:

[0112] Step 3.1: Utilize the requested data z∈Z p The auxiliary parameter set Aux, the public function set PF, and the function public key FK are used to determine the function. Calculate function d i The value of (x) at x = z is d i (z), generate server i intermediate result mid i =(ω i ,d i (z));

[0113] Step 3.2: Define the function:

[0114]

[0115] Using intermediate result mid i =(ω i ,d i (z)), public key PK, and function public key set FK, to calculate [pi (α)]1, generate server i Evidence proof i =[p i (α)]1;

[0116] Step 3.3: Cloud Server i mid i and corresponding evidence proof i Send to edge server E.

[0117] The verification algorithm VDMEC.Verify(z,FK,PK,Mid,Proof) → {1,0} is executed by a trusted edge server E. Edge server E utilizes the evidence set Proof = {proof0,proof1,...,proof...} s-1}, for the first s cloud servers in the cloud server cluster C that return the fastest, the intermediate result set Mid = {mid0, mid1, ..., mid} is generated. s-1 The verification algorithm is performed; the input to the verification algorithm is the requested data z∈Z. p The system consists of a function public key set FK, a public key PK, an intermediate result set Mid, and an evidence set Proof. If the verification passes, it indicates that the computation results returned by each cloud server in cloud server cluster C are correct, and the output is 1, indicating acceptance; otherwise, it indicates that there are incorrect computation results in cloud server cluster C, and the output is 0, indicating rejection. The verification algorithm is as follows: Figure 4 As shown, the specific process is as follows:

[0118] Step 4.1: From Z p Randomly select a number γ;

[0119] Step 4.2: Using the random number γ and the function public key set FK, calculate:

[0120]

[0121] Step 4.3: Using the random number γ, the intermediate result set Mid, and the public key PK, calculate:

[0122]

[0123] Step 4.4: Using the random number γ and the evidence set Proof, calculate:

[0124]

[0125] Step 4.5: Using the results of the above steps, verify whether the following formula is true:

[0126] e(CM,[1]2)=e(W,[α-z]2) (8)

[0127] If equation (8) is true, it means that the verification is passed and the calculation result of cloud server cluster C is correct, and output 1; otherwise, it means that the verification is not passed, output 0, and reject the result.

[0128] The result recovery algorithm VDMEC.Recover(z,Mid,PF)→f(z) is executed by a trusted edge server E. The input to the result recovery algorithm is the requested data z∈Z. p The algorithm consists of an intermediate result set Mid and a common function set PF. Edge server E uses Lagrange interpolation to recover the intermediate results calculated by cloud server cluster C, and then returns the final result to user U. The output of the result recovery algorithm is the final calculation result f(z). The specific process of the result recovery algorithm is as follows:

[0129] Step 5.1: Utilize the intermediate result set Mid = {mid i |mid i =(ω i ,d i (z)), i∈[s]}, compute the function:

[0130]

[0131] Generate a set {h0(ω),h1(ω),...,h s-1 (ω)};

[0132] For example, for ω0,

[0133] Step 5.2: Utilize the intermediate result set Mid = {mid i |mid i =(ω i ,d i (z)), i∈[s]} and the set {h0(ω),h1(ω),...,h} generated in step (1) s-1 (ω)}, using Lagrange interpolation, generate the interpolation polynomial:

[0134]

[0135] Step 5.3: The interpolation polynomial L s The coefficient vector of (ω) is denoted as v, where v is the principal complex function A×[1 x ... x] of the polynomial function f(x). s-1 ] T The value at point z in the requested data;

[0136] Step 5.4: Using the common function l(x) in the common function set PF, calculate the value of l(x) at the requested data z: l(z) = [1 z s ... z s(s-1) ], denoted as w;

[0137] Step 5.5: Calculate f(z) = v × w, and send the final calculation result f(z) to the user.

[0138] The update algorithm VDMEC.Update(Aux,SK,PK,PF,FK,f,f′) → (PF′,FK′) is executed by the trusted computation owner O. When the system's polynomial function f is updated, the update algorithm supports updating one or more coefficients of the polynomial function. For higher-order polynomials, when the polynomial function is updated, the update algorithm only needs to compute the updated information, which greatly reduces the computational overhead caused by recompiling everything. The input of the update algorithm is the auxiliary parameter set Aux, the private key SK, the public key PK, the public function set PF, the function public key set FK, the polynomial function f, and the update function f′. The output is the updated function public key set FK′ and the updated public function set PF′. The specific process of the update algorithm is as follows:

[0139] Step 6.1: Assume that only one monomial in the polynomial function f is updated, update the function f′=a i ′x i That is, the i-th term of the polynomial function f is updated;

[0140] pass The updated monomial coefficient a is located i The row and column position of 'q' in the initial polynomial coefficient matrix A is (p1, q1);

[0141] Step 6.2: Using the updated position information (p1, q1), locate the column vector set of the common function set PF. The corresponding column vector

[0142] Step 6.3: Using coefficient a i ′, for the initial column vector Perform the update to obtain the updated column vector. Update column vector set

[0143] Step 6.4: Generate the updated public function set PF′={l(x),r(x),params′};

[0144] Step 6.5: Using the structured reference string srs contained in the public key PK, the updated public function set PF′, and the auxiliary parameter set Aux, calculate the update term. Corresponding initial terms Get the updated cm i ′=cm i +(u i ′-u i ), where i∈[n];

[0145] Step 6.6: Generate the updated function public key set FK′={cm0′,cm1′,...cm n-1 ′};

[0146] Step 6.7: Send the updated public function set PF′ and the updated function public key set FK′ to the cloud server cluster C and the edge server E.

[0147] The following compares the existing solutions and the method of this embodiment in terms of communication and computation efficiency, and the results are as follows: Figures 5-10 As shown. Figure 5 Comparing the time overhead of executing all processes in the four schemes, it can be seen that the VDMEC scheme in this embodiment takes the least time. Figure 6 The time costs of PolyCommitDL, PVDLP, PolyCommitPed, and VDMEC during the initialization phase were compared, with the horizontal axis representing the polynomial number and the vertical axis representing the time cost during the initialization phase. Among these four schemes, the VDMEC scheme in this embodiment has the lowest computational cost during the initialization phase, while the time costs of PolyCommitPed and PVDLP are not significantly different. Figure 7 The time costs of PolyCommitDL, PVDLP, PolyCommitPed, and VDMEC during the computation phase were compared, with the horizontal axis representing the polynomial number and the vertical axis representing the time cost in milliseconds. From Figure 7 It can be seen that the VDMEC scheme in this embodiment has a much lower computational cost in the computation phase than other schemes. However, polynomial commitment requires the generation of polynomial evidence, resulting in a slightly higher time cost for PolyCommitDL and PolyCommitPed compared to PVDLP. The VDMEC scheme reduces the number of polynomials that need to be computed by decomposing the polynomial function in the initialization phase. The VDMEC scheme reduces the number of polynomials that need to be computed from k to [a smaller number] by decomposing the polynomial function in the initialization phase. Furthermore, the use of distributed computing technology improves overall computing efficiency, thus the time cost is far less than that of solutions using distributed computing technology. Figure 8The time costs of PolyCommitDL, PVDLP, PolyCommitPed, and VDMEC during the data update phase were compared, with the horizontal axis representing the polynomial number and the vertical axis representing the logarithm of the verification phase time cost (in milliseconds). From Figure 8 As can be seen, the updated algorithm is computationally very efficient. For the updated algorithm, VDMEC can skip the initialization algorithm, thus reducing parameter generation, while the other three algorithms must continue to perform the same steps to calculate the parameters. Figure 9 The time costs of PolyCommitDL, PVDLP, PolyCommitPed, and VDMEC during the verification phase were compared, with the horizontal axis representing the polynomial and the vertical axis representing the logarithm of the verification phase time cost (milliseconds). Figure 9 As can be seen, during the verification phase, the computational cost of the VDMEC scheme is lower than that of other schemes, while PolyCommitDL and PVDLP both require verification of the return value during the verification phase, so the difference is not significant. Figure 10 The computational costs of initialization, calculation, verification, result recovery, and data updating in VDMEC are compared. Theoretical analysis and simulation results demonstrate the high practicality of this invention.

[0148] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope defined by the claims of the present invention.

Claims

1. A verifiable distributed computing method for IoT data based on edge servers, characterized in that: This includes key generation algorithms, initialization algorithms, distributed computing algorithms, verification algorithms, result recovery algorithms, and update algorithms; Key generation algorithm By trusted computing owners O Execute, input is security parameters λ and function family , where the family of functions This represents a polynomial with a degree less than or equal to ( k The set of univariate polynomial functions (-1) is output as a public key. PK Private key SK Auxiliary parameter set Aux ; Let p represent a ring, where p is a defined number and k represents the polynomial coefficients; Initialization algorithm By trusted computing owners O Execute, input is public key PK Private key SK Auxiliary parameter set Aux and polynomial functions ,set up For one yuan k -1 degree polynomial, ; In the initialization algorithm, the owner is calculated. O For the family of functions polynomial function The algorithm is decomposed and converted into matrix multiplication form; the output of the initialization algorithm is a common function set. PF and function public key set FK The specific process of the initialization algorithm is as follows: Step 2.1: Based on the polynomial function Number of times ( ),calculate ; Step 2.2: Convert the polynomial function coefficient vector Decomposed into continuous Blocks, each block is [length missing] Let the polynomial coefficients ,in , Generate the polynomial coefficient matrix ; Step 2.3: The polynomial function is transformed into: (2) Step 2.4: Based on the calculation form of distributed matrix multiplication, perform the calculation on the main complex functions in equation (2). The decomposition and transformation process generates a common function set PF, as follows: Step 2.4.1: For the polynomial coefficient matrix A Transpose to obtain ; Step 2.4.2: Convert the matrix The column vector is denoted as ,in Generate column vector parameter set ; Step 2.4.3: Define the common function and Then the polynomial function is expressed as: (3) Step 2.4.4: Generate a set of common functions ; Step 2.5: Using equation (1) and the common function set PF and Auxiliary parameter set ,calculate: in, The result is recorded as Generate public key set ; This represents a randomly generated number, used in polynomial interpolation. Step 2.6: Send the public function set PF and the function public key set FK to the cloud server cluster C and the edge server E respectively; Distributed computing algorithms Cloud servers in cloud server cluster C Execution, in which The input to the distributed computing algorithm is the request data. Auxiliary parameter set Aux Public key PK Common function set PF Function public key set FK Distributed computing is performed in a cloud service cluster, specifically cloud servers. Using auxiliary parameter set Aux and common function set PF The requested data is processed to generate intermediate results, and corresponding evidence is generated for subsequent verification of these intermediate results; the output of the distributed computing algorithm is sent to the cloud server. Intermediate results of calculation and evidence The specific process of the distributed computing algorithm is as follows: Step 3.1: Utilize request data Auxiliary parameter set The public function set PF and the function public key FK are used to determine the function. Calculation function exist value at ,generate intermediate results ; Step 3.2: Define the function: (4) Utilizing intermediate results Public key PK and function public key set FK are used to calculate ,generate Evidence ; Step 3.3: Cloud Server intermediate results and corresponding evidence Send to edge server E ; Verification Algorithm Executed by a trusted edge server E; edge server E utilizes a set of evidence. The fastest return value among cloud server clusters C s A collection of intermediate results generated by a cloud server Perform verification; the input to the verification algorithm is the requested data. Function public key set FK Public key PK intermediate result set and collection of evidence If the verification passes, it indicates that the calculation results returned by each cloud server in cloud server cluster C are correct, so output 1 to indicate acceptance; otherwise, it indicates that there are incorrect calculation results in cloud server cluster C, so output 0 to indicate rejection; the specific process of the verification algorithm is as follows: Step 4.1: From Randomly select a number ; Step 4.2: Using random numbers And the public key set FK of the function, calculate: (5) Step 4.3: Using random numbers intermediate result set PK with the public key to calculate: (6) Step 4.4: Using random numbers and evidence set ,calculate: (7) Step 4.5: Using the results of the above steps, verify whether the following formula is true: (8) If equation (8) is true, it means that the verification is passed and the calculation result of cloud server cluster C is correct, and output 1; otherwise, it means that the verification is not passed, output 0, and reject the result. Result Recovery Algorithm By trusted edge servers E The input to the execution and result recovery algorithm is the requested data. intermediate result set Common function set PF Edge server E Using Lagrange interpolation, the intermediate results of the computation in cloud server cluster C are recovered, and the final result is returned to the user. U The output of the result recovery algorithm is the final calculation result. ; Update Algorithm By trusted computing owners O Execution; when the system's polynomial function f When an update occurs, the update algorithm supports updating one coefficient of the polynomial function; the input of the update algorithm is a set of auxiliary parameters. Aux Private key SK Public key PK Common function set PF Function public key set FK Polynomial functions f Update function The output is the updated set of function public keys. and the updated set of public functions The specific process of the update algorithm is as follows: Step 6.1: Assume only the polynomial function is updated. f A monomial, update function That is, polynomial function f The i The item has been updated; pass The updated monomial coefficients are located. In the initial polynomial coefficient matrix A row and column positions ; Step 6.2: Utilize updated location information Locate the column vector set of the common function set PF. The corresponding column vector ; Step 6.3: Utilize coefficients For the initial column vector Perform the update to obtain the updated column vector. Update the set of column vectors ; Step 6.4: Generate the updated set of public functions ; Step 6.5: Utilize the structured reference string contained in the public key PK srs Updated set of public functions and auxiliary parameter set Aux Calculate update items The corresponding initial term Received the updated ,in ; Step 6.6: Generate the updated set of function public keys ; Step 6.7: Update the set of public functions Updated set of function public keys Send to cloud server cluster C and edge servers E .

2. The verifiable distributed computing method for IoT data based on edge servers according to claim 1, characterized in that: The specific process of the key generation algorithm is as follows: Step 1.1: Utilizing safety parameters Choose two prime numbers of order large. p addition cyclic group and A large prime number p Multiplication cyclic group A bilinear mapping , , It's a different group , generator, It is a group The generator satisfies ; Step 1.2: From Randomly select a number Generate private key ; Step 1.3: Calculation ; Step 1.4: Utilize and private key Generate structured reference strings: (1) Step 1.5: Generate a public key ; Step 1.6: From Random selection Each of the following points is different Generate an auxiliary parameter set ; Step 1.7: Generate public key PK, private key SK, and a set of auxiliary parameters. Keep the private key , public key PK and auxiliary parameter set Send to cloud server cluster C Each server in the process sends its public key PK to the edge server E.

3. The verifiable distributed computing method for IoT data based on edge servers according to claim 2, characterized in that: The specific process of the result recovery algorithm is as follows: Step 5.1: Utilize the intermediate result set Calculation function: Generate a set ; Step 5.2: Utilize the intermediate result set and the set generated in step (1) Using Lagrange interpolation, the interpolation polynomial is generated: Step 5.3: Convert the interpolation polynomial The coefficient vector is denoted as v , v That is, a polynomial function Main complex functions Requesting data z The value at; Step 5.4: Utilize the common functions in the Common Function Set PF ,calculate Requesting data z value at , and record as ; Step 5.5: Calculation The final calculation result Send to the user.