Cost optimization method for bilateral secure distributed matrix computation under arbitrary collusion patterns
Patent Information
- Application Number
- CN202310945221.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-07-31
AI Technical Summary
然而,在保证返回给用户的数据的可解码性的同时,因为一些窃取用户数据的服务器,我们必须考虑数据的安全性
[0035]有益效果:与现有技术相比,本发明求解了任意合谋模式下双边安全分布式矩阵计算在矩阵计算安全性、可解码性以及最大计算时延的需求下,同时满足服务器存储要求,系统总成本最小化问题,并提出一种矩阵加密、分配以及分割策略,方法简单,结果准确,对比同构、异构分布式服务器系统,本发明可以降低系统成本,同时确保矩阵计算的安全性、可解码性以及服务器存储需求。
Smart Images

Figure CN116805084B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of distributed secure matrix computing technology, and relates to distributed matrix computing technology, matrix security encryption technology, matrix computing total cost optimization technology, and especially to a cost optimization method for bilateral secure distributed matrix computing under arbitrary collusion mode. Background Technology
[0002] With the development of fifth-generation (5G) wireless networks, throughput and transmission rates are rapidly increasing. This requires mobile devices to process large amounts of data instantly to meet Quality of Service (QoS) requirements. Due to size and power limitations, mobile devices cannot independently handle all data processing tasks. This leads us to seek assistance from online servers designed to help mobile users with data processing. Furthermore, we can utilize distributed servers to accelerate data processing, meaning users can distribute computational tasks to many different servers. However, while ensuring the decodability of the data returned to the user, we must consider data security due to the possibility of servers stealing user data. To address this scenario, this invention proposes an iterative algorithm for finding a feasible solution to the cost optimization problem of bilateral secure distributed matrix computation under an arbitrary collusion mode. Summary of the Invention
[0003] Purpose of the invention: The purpose of this invention is to address the shortcomings of existing technologies by providing a cost optimization method for bilateral secure distributed matrix computation under arbitrary collusion modes. This method can meet the requirements of matrix computation security, decodability, and maximum computation latency, while also satisfying server storage requirements. Furthermore, it minimizes the total cost of the system, thereby improving system resource efficiency.
[0004] Technical solution: To achieve the above-mentioned objectives, the present invention adopts the following technical solution:
[0005] A cost optimization problem for bilateral secure distributed matrix computation under an arbitrary collusion mode includes the following steps:
[0006] (1) For two input matrices and Where T represents the rows of matrix A, S represents the columns of matrix A and the rows of matrix B, and D represents the columns of matrix B, and T, S, and D are all integers, and the field is finite. Large enough, initialize the matrix with dimensions T, S, D, (t (0) ,s (0) ,d (0) ), where t (0) s represents the number of blocks divided along rows of matrix A. (0) d represents the number of blocks divided along columns A and rows B of matrix A. (0)This represents the number of blocks segmented along column B of the matrix, and the user's upload cost c. U User download cost c D The computing cost of the server, c C The computing speed V of the nth server n Upload speed Download speed Matrix calculation of maximum delay Q thes System parameters p, Y, iteration number τ = 0, iteration error ∈;
[0007] (2) Using an alternating optimization algorithm, given the number of matrix partitions (t) (τ) ,s (τ) ,d (τ) ), where t (τ) s represents the number of blocks segmented along rows A of matrix A after the τth iteration. (τ) Let d represent the number of blocks segmented along columns A and rows B of matrix A after the τth iteration. (τ) Let J represent the number of blocks partitioned along column B of the matrix after the τth iteration. Construct a cost-optimized matrix allocation and security encryption subproblem P1 for bilateral secure distributed matrix computation under arbitrary collusion mode. Solve subproblem P1 to obtain the matrix allocation vector J after the (τ+1)th iteration. (τ+1) and the number of random matrices after the (τ+1)th iteration
[0008] (3) Assign vector J to a given matrix (τ+1) and the number of random matrices We construct a cost-optimized matrix partitioning subproblem P2 for bilateral secure distributed matrix computation under arbitrary collusion mode, and use the YALMIP toolkit to solve subproblem P2 to obtain the number of matrix partitions (t). (τ+1) ,s (τ+1) ,d (τ+1) ), where t (τ+1) s represents the number of blocks segmented along row A of matrix A after the (τ+1)th iteration. (τ+1) Let d represent the number of blocks segmented along columns A and rows B of matrix A after the (τ+1)th iteration. (τ+1) This represents the number of blocks segmented along column B of the matrix after the (τ+1)th iteration. Then, the dimension of the matrix segment is obtained using the floor function. To solve the matrix partitioning divisibility problem, redundant rows or columns in the partition block are padded with 0.
[0009] (4) Calculate the error of the iterative objective function. If it is less than the iteration error ∈, stop the iteration; otherwise, return to step (2).
[0010] Preferably, subproblem P1 is constructed as follows:
[0011]
[0012]
[0013] 1 T J≥l Δ (sd+2s)+ts(d+1)-1,
[0014]
[0015]
[0016]
[0017] Where J represents the matrix assignment vector, l Δ Indicates the number of random matrices. Represents the collusion pattern matrix, Q thes The matrix represents the maximum latency calculation, M represents the server storage capacity vector, and N represents the number of servers.
[0018] Preferably, the number of random matrices l is calculated first. Δ Next, the matrix allocation and secure encryption subproblem P1 are solved. The specific steps include:
[0019] (2.1) For fixed parameters (t,s,d), feasible l Δ The following inequalities must be satisfied:
[0020]
[0021] in, p is the minimum number of collusion sets that include all servers;
[0022] (2.2) If And pd-2>0, calculate the number of random matrices. Otherwise, subproblem P1 is unsolvable;
[0023] (2.3) Solve subproblem P1 using the MATLAB "intlinprog" function to obtain matrix allocation vector J;
[0024] (2.4) If the matrix assignment vector J is a feasible solution, then output J and l. Δ Otherwise, let l Δ =l Δ +1, then use the MATLAB "intlinprog" function to solve subproblem P1, until subproblem P1 is solvable, or Subproblem P1 is unsolvable.
[0025] Preferably, the matrix partitioning subproblem P2 is constructed as follows:
[0026]
[0027]
[0028]
[0029] (TSt -1 s -1 +SDs -1 d -1 +TDt -1 d -1 )1 N ≤M,
[0030]
[0031] 1≤t≤T, 1≤s, 1≤d≤D,
[0032] d≤p-2,
[0033]
[0034] Given The subproblem P2 is solved directly using the YALMIP solver, yielding (t) (τ+1) ,s (τ+1) ,d (τ+1) Then, the dimension of the matrix partition block is obtained using the floor function.
[0035] Beneficial effects: Compared with the prior art, this invention solves the problem of minimizing the total system cost while meeting the requirements of matrix computation security, dedecoding, and maximum computation latency in a bilateral secure distributed matrix computation under arbitrary collusion mode, and simultaneously satisfying server storage requirements. It also proposes a matrix encryption, allocation, and partitioning strategy that is simple and accurate. Compared with homogeneous and heterogeneous distributed server systems, this invention can reduce system costs while ensuring the security, dedecoding, and server storage requirements of matrix computation. Attached Figure Description
[0036] Figure 1 This is a diagram of a bilateral secure distributed matrix computing system. Detailed Implementation
[0037] This invention considers the matrix allocation, encryption, and matrix partitioning subproblems in distributed matrix computation, specifically minimizing the total system cost given matrix encryption security constraints, user matrix decoding constraints, distributed server storage constraints, and matrix computation latency constraints. An iterative algorithm with alternating optimization is presented, whose matrix allocation vector, number of random matrices, and matrix partitioning parameters constitute the final secure distributed matrix computation scheme.
[0038] The specific steps include:
[0039] Consider a user who wants to compute two input matrices. and Multiplication. We assume that T, S, and D are all integers, and the field is finite. The dataset is large enough. Due to limited computing power, the user wants to divide two matrices A and B into many blocks and upload them to N servers for computation. Simultaneously, both matrices A and B contain sensitive information, and the user does not want to disclose any of this information to the N servers. We investigate the possibility of collusion between the servers to obtain information about the two matrices A and B. We use a collusion model. Let M represent collusive behavior, which includes M sets of collusion, i.e. It is the m-th collusion set, which means The servers in the network may collude to obtain information from both matrices. We are investigating the collusion pattern. Make the following two assumptions:
[0040] (1) For ease of expression, we only include the maximum collusion set in P.
[0041] (2) Each server must be present in at least one collusion set. This is because we assume that all servers are curious and that no server can trust the sensitive information of A and B.
[0042] Collusion mode Its correlation matrix can be used This indicates that the size is N×M, meaning if the i-th server is... In the j-th conspiracy set, then The value of the (i,j)th element is 1.
[0043] To ensure the security of the two matrices, users must first encode A and B before uploading them to the server for calculation. Assuming there are N1 encoded copies, and N1 ≥ N, the encoding functions are expressed as follows: We use and Let A and B represent the i-th encoded copies of matrices A and B, respectively, where i ∈ [1:N1]. Index subset of the user-assigned encoding matrix For the nth server, This is called the upload phase. The nth server calculates the product of the block matrices, i.e. Then, the nth server will calculate the result Z. i The data is then sent back to the user; this is called the download phase. We use Secure Generalized Polydot Code (SGPD) to encode the two input matrices. Matrix A can be divided into t×s blocks, and matrix B can be divided into s×d blocks, i.e.
[0044]
[0045] Where t∈[1:T], s∈[1:S], d∈[1:D], For matrix encryption purposes, we add random matrices to matrices A and B. Right now
[0046]
[0047] Among them, adding l to matrix A Δ Row random matrix, add l to matrix B Δ Columnar random matrix, l Δ The integer is positive. Each element in a random matrix is independent and identically distributed, but exists in a finite field. It follows a uniform distribution. Based on this, the encryption matrix can be represented as:
[0048]
[0049]
[0050] Where, x i i = 1, 2, ..., N1 is a finite field Given N1 distinct non-zero elements, t * =t+l Δ ,d * =d+l Δ .
[0051] Let the matrix allocation vector be represented as J = [J1 J2 … J N ] T J n ∈[0:N1] is the number of encryption matrices assigned to the nth server. Therefore, we have To ensure the security of matrix calculations, the following must be satisfied: Right now Simultaneously, the matrix decodability of the user must be satisfied, and H(AB|Z1,Z2,…,Z) must be satisfied. N1) = 0, which means 1 T J=N1≥l Δ (sd+2s)+ts(d+1)-1. Assume each encoded copy... The space occupied is If the storage capacity of the nth server is M n Then it must satisfy If the computing speed, upload speed, and download speed of the nth server are respectively represented as V... n , The maximum latency of matrix computation is Q. thes Then it must satisfy If the server's upload and download cost vectors and computation cost vector are represented as c U ,c D ,c C Then the total system cost can be written as
[0052] Therefore, the overall optimization problem can be modeled as follows:
[0053]
[0054]
[0055] 1 T J≥l Δ (sd+2s)+ts(d+1)-1,
[0056]
[0057]
[0058]
[0059] in, Represents positive integers. Let M represent rational numbers, and let M represent the server storage capacity vector. To solve the above overall optimization problem, an alternating optimization technique is adopted, including the following steps:
[0060] (1) Initialize the dimensions of the matrix and the number of blocks T, S, D, (t (0) ,s (0) ,d (0) The user's upload and download costs and the server's computing costs (c) U ,c D ,c C The computing speed, upload speed, and download speed of the nth server. Matrix calculation of maximum delay Q thes System parameters p, Y, iteration number τ = 0, iteration error ∈;
[0061] (2) Using an alternating optimization algorithm, given the number of matrix partitions (t) (τ) ,s (τ) ,d (τ) To construct a cost-optimized matrix allocation and security encryption subproblem P1 for bilateral secure distributed matrix computation under arbitrary collusion mode, solve subproblem P1 to obtain the matrix allocation vector and the number of random matrices.
[0062] (3) Given a matrix, assign a vector and the number of random matrices. We construct a cost-optimized matrix partitioning subproblem P2 for bilateral secure distributed matrix computation under arbitrary collusion mode, and use the YALMIP toolkit to solve subproblem P2 to obtain the number of matrix partitions (t). (τ+1) ,s (τ+1) ,d (τ+1) Then, the dimension of the matrix partition block is obtained by using the floor function. To solve the matrix partitioning divisibility problem, redundant rows or columns in the partition block are padded with 0.
[0063] (4) Calculate the error of the iterative objective function. If it is less than the iteration error ∈, stop the iteration; otherwise, return to step (2).
[0064] Preferably, the specific method for solving problem (P1) in step (2) is as follows:
[0065] First, given the number of matrix partitions (t, s, d), problem (P1) can be constructed as follows:
[0066]
[0067]
[0068] 1 T J≥l Δ (sd+2s)+ts(d+1)-1,
[0069]
[0070]
[0071]
[0072] To solve the matrix allocation and encryption subproblem (P1), the following iterative algorithm is used.
[0073] (2.1) For fixed parameters (t,s,d), feasible l Δ The following inequalities must be satisfied:
[0074]
[0075] in, p is the minimum number of collusion sets that include all servers.
[0076] (2.2) If And pd-2>0, calculate the number of random matrices. Otherwise, subproblem P1 is unsolvable.
[0077] (2.3) The third step is to use the MATLAB "intlinprog" function to solve subproblem P1 to obtain matrix allocation vector J.
[0078] (2.4) Fourth step: If the matrix assignment vector J is a feasible solution, then output J and l. Δ Otherwise, let l Δ =l Δ +1, then use the MATLAB "intlinprog" function to solve subproblem P1, until subproblem P1 is solvable, or Subproblem P1 is unsolvable.
[0079] Preferably, step (3) includes:
[0080] Given a matrix, assign a vector J and the number of random matrices l. Δ The matrix partitioning subproblem P2 can be constructed as follows:
[0081]
[0082]
[0083]
[0084] (TSt -1 s -1 +SDs -1 d -1 +TDt -1 d -1 )1 N ≤M,
[0085]
[0086] 1≤t≤T, 1≤s, 1≤d≤D,
[0087] d≤p-2,
[0088]
[0089] Given The subproblem P2 is solved directly using the YALMIP solver, yielding (t) (τ+1) ,s (τ+1),d (τ+1) Then, the dimension of the matrix partition block is obtained using the floor function.
[0090] The technical means disclosed in this invention are not limited to those disclosed in the above embodiments, but also include technical solutions composed of any combination of the above technical features.
Claims
1. A cost optimization method for bilateral secure distributed matrix computation under arbitrary collusion mode, characterized in that, Includes the following steps: (1) For two input matrices and Let T represent the rows of matrix A, S represent the columns of matrix A and the rows of matrix B, and D represent the columns of matrix B, where T, S, and D are all integers and the domain is a finite field. Large enough, initialize the matrix's dimension and the number of blocks. ,in This indicates the number of blocks divided along rows A of the matrix. This represents the number of blocks divided along columns A and the number of blocks divided along rows B of matrix A. This represents the number of blocks segmented along column B of the matrix, and the user's upload cost. User download costs server computing costs The computing speed of the nth server Upload speed Download speed Matrix calculation of maximum delay System parameters Number of iterations Iteration error ; (2) Using an alternating optimization algorithm, given the number of blocks in the matrix. ,in Indicates the first The number of blocks segmented along rows A of matrix A after the next iteration. Indicates the first The number of blocks segmented along columns A and rows B of matrix B after the next iteration. Indicates the first The number of blocks partitioned along column B of the matrix after the nth iteration is used to construct a cost-optimized matrix allocation and a secure encryption subproblem P1 for bilateral secure distributed matrix computation under arbitrary collusion mode. Solving subproblem P1 yields the nth iteration. After the second iteration, the matrix is assigned a vector. and the Number of random matrices after the second iteration ; (3) Assign vectors to a given matrix and the number of random matrices A cost-optimized matrix partitioning subproblem P2 for bilateral secure distributed matrix computation under arbitrary collusion mode is constructed. The number of matrix partitions is obtained by solving subproblem P2 using the YALMIP toolkit. ,in Indicates the first The number of blocks segmented along rows A of matrix A after the next iteration. Indicates the first The number of blocks segmented along columns A and rows B of matrix B after the next iteration. Indicates the first The number of blocks segmented along column B of the matrix after each iteration is then used to obtain the dimension of the matrix segmentation blocks using an up-rounding function. To solve the matrix partitioning divisibility problem, redundant rows or columns in the partition block are padded with 0. (4) Calculate the error of the iterative objective function. If it is less than the iteration error... If the iteration stops, stop; otherwise, return to step (2). Subproblem P1 is constructed as follows: in, Represents a matrix assigned vector. Indicates the number of random matrices. Represents a collusion pattern matrix. The matrix represents the maximum time delay. This represents the server storage capacity vector, where N represents the number of servers; The matrix partitioning subproblem P2 is constructed as follows: Given The subproblem P2 was solved directly using the YALMIP solver, yielding the following results. Then, the dimension of the matrix partition block is obtained using the floor function. .
2. The cost optimization method for bilateral secure distributed matrix computation under arbitrary collusion mode as described in claim 1, characterized in that, First, calculate the number of random matrices. Next, the matrix allocation and secure encryption subproblem P1 are solved. The specific steps include: (2.1) For fixed parameters Feasible The following inequalities must be satisfied: in, , It is the minimum number of collusion sets that includes all servers; (2.2) If as well as Calculate the number of random matrices Otherwise, subproblem P1 is unsolvable; (2.3) Solve subproblem P1 using the MATLAB "intlinprog" function to obtain the matrix allocation vector. ; (2.4) If the matrix is assigned a vector If it is a feasible solution, then output and Otherwise, let Then use the MATLAB "intlinprog" function to solve subproblem P1 until subproblem P1 is solvable, or Subproblem P1 is unsolvable.