Private code caching method based on MDS code and random arrangement
By adopting MDS code and random arrangement technology in the privacy code cache problem, the trade-off between cache size and communication rate when the number of users K is greater than or equal to the number of files N is solved, and the privacy guarantee and minimum communication rate of user requested information are realized.
Patent Information
- Application Number
- CN202510104888.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-23
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2045-01-23
Smart Images

Figure CN119946045A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of information theory, and in particular to a privacy coding caching method for a privacy coding caching problem in which the number of users K is greater than or equal to the number of files N. Background Art
[0002] In the design of traditional coding cache solutions, participating users may leak the indexes of files requested by other users. In order to solve this privacy leakage problem, some studies have focused on the problem of coding cache with required privacy constraints, aiming to ensure that the user's request information is not leaked. At present, existing research mainly provides the following types of solutions: rate-optimal privacy coding cache method, rate-optimal method under the condition of user number K=2, and rate-optimal method under the condition of arbitrary number of users K, arbitrary number of files N, or For the privacy-encoded cache problem with an arbitrary number of users K and an arbitrary number of files N, the exact trade-off between cache size and rate remains an unsolved problem. Summary of the invention
[0003] Technical problem: The technical problem to be solved by the present invention is to provide a privacy coding caching method for the privacy coding caching problem where the number of users K is greater than or equal to the number of files N. The coding caching technology significantly reduces the communication rate in the signal transmission stage; the use of MDS codes and random permutations helps to generate more equivalent file segments than the number of divisions, and helps to increase the consistency of transmission signals under different requirements, which protects the privacy of user requirements. In this way, combining the MDS code and random permutation strategy, a new privacy coding caching scheme is proposed, which effectively protects the privacy of user request information.
[0004] Technical solution: The technical solution adopted by the present invention is as follows:
[0005] A privacy coding cache method based on MDS code and random permutation, including cache size and Two cases and the following steps:
[0006] Step 1: Store N files W0, W1, ... W N-1 The trusted server will cache the content Z k Distribute to users k∈[K]=[0:K-1] in the communication system, where K represents the total number of users in the communication system;
[0007] Step 2: Each user k∈[K] sends a file request D to the server k , indicating that you wish to request a file There are N files W0, W1, ... WN-1 The server responds to all user requests D=(D0,D1,…,D K-1 ), generating a broadcast signal X D and transmits the signal X through an error-free shared link channel D Broadcast to all users in the system;
[0008] Step 3: Each user k∈[K] receives the broadcast signal X D and the previously cached placement content Z k Decode the file you requested
[0009] Furthermore, the cache size When the cache in step 1 places content Z k The encoding steps are as follows:
[0010] First, each file W n , n∈[N]=[0:N-1], is divided into K+1 equal-sized, non-intersecting sub-files by the server, and then a (2K,K+1) MDS code is used to encode these sub-files, W n,0 ,W n,1 ,…,W n,2K-1 Respectively represent the file W n 2K MDS coding segments;
[0011] Next, from all possible permutations of [2K], the server independently and evenly selects N permutations, using Represents, where n∈[N], is the permutation vector p n The server arranges p according to the 2k+mth position. n Shuffle 2K MDS coded segments, and use the shuffled segments express, satisfy
[0012]
[0013] in, For file W n No. MDS encoding segments; the cache content of user k, i.e., Z k , is set to
[0014]
[0015] Where P k ~Unif([2K]), k∈[K], are K independent and identically distributed random variables uniformly distributed on the integer set [2K], ⊕ represents the either / or operation.
[0016] Furthermore, the cache size When the broadcast signal X in step 2 D The encoding steps are as follows:
[0017] The server receives all the requests from users D=(D0,D1,…,D K-1 ), generating X' D , and auxiliary variables J0 and J1:
[0018] J1=(J 1,k ) k∈[K] ,
[0019] in,
[0020]
[0021] The server sends a broadcast signal X to user k D By X' D and auxiliary variables (J0, J1), that is, X D =(X′ D ,J0,J1).
[0022] Furthermore, the cache size When each user decodes the requested file in step 3 The decoding steps are as follows:
[0023] First, from X D In the example, user k directly obtains The K MDS coding segments and their corresponding indexes, that is, and i∈[K];
[0024] Next, user k is obtained by the following formula and its corresponding index
[0025]
[0026] Finally, according to the properties of (2K,K+1)MDS code, user k can and Obtained The index of these K+1 MDS coding segments is and Given.
[0027] Furthermore, the cache size When the cache in step 1 places content Z k The encoding steps are as follows:
[0028] First, each file W n , n∈[N], is divided into (K+1)(N-1) equal-sized, mutually disjoint subfiles by the server, and then the server uses a (2K(N-1),(K+1)(N-1)) MDS code to encode them into 2K(N-1) MDS coded segments; these 2K(N-1) MDS coded segments are encoded using W n,0 ,W n,1 ,…,W n,2K(N-1)-1 Indicates that the server arranges p n Shuffle 2K MDS coded segments, and use the shuffled segments express, satisfy
[0029]
[0030] in, For file W n No. MDS code segments, is a permutation chosen independently and uniformly from all possible permutations of [2K(N-1)], is the permutation vector p n The (2N-2)k+mth bit of the cache of user k, i.e., Z k , is set to
[0031]
[0032] Among them, P k,n ~Unif([2K(N-1)]), k∈[K], n∈[N], are KN independent and identically distributed random variables uniformly distributed on the set of integers [2K(N-1)], S k,n ~Unif([K]), k∈[K+1], n∈[N], are (K+1)N independent and identically distributed random variables uniformly distributed on the set of integers [K].
[0033] Furthermore, the cache size When the broadcast signal X in step 2 D The encoding steps are as follows:
[0034] First, for each requested file, i.e., The server randomly selects a user, denoted as u n , and these users are called "leaders". The set of leaders is defined as in Represents a collection of all requested files; Define u n is always equal to 1, that is, u n≡1; when the total number of files N ≥ 3, for each file index n∈[N], define an arbitrary one-to-one mapping function h n (m), which maps each file index m∈[N]\{n} to another file index h n (m)∈[N]\{n,m}, such that if m1≠m2, then h n (m1)≠h n (m2);
[0035] Next, the server generates X' based on all user requests D. D =(X D,n ) n∈[N+1] and auxiliary variable J0=(J 0,n ) n∈[N] :
[0036]
[0037] Among them, π n =(π n,0 ,π n,1 ,…,π n,K-1 ), n∈[N], are N permutations selected independently and uniformly from all possible permutations of [K], for k∈[1:K-1], n∈[N],
[0038]
[0039] For k = 0, n ∈ [N],
[0040]
[0041] For k∈[K],n∈[N],
[0042]
[0043] The server then generates auxiliary variables and J3:
[0044]
[0045] Finally, the server sends a broadcast signal X to user k D By X' D and auxiliary variables, namely, X D =(X′ D ,J0,J1,J2,J3).
[0046] Furthermore, the cache size When each user decodes the requested file in step 3 The decoding steps are as follows:
[0047] First, user k is decoded by
[0048]
[0049] Among them, all used remove In addition, you can n∈[N]\{D k}, and user 0 is found from Know exist The position in the user k is decoded by the following formula
[0050]
[0051] Among them, user k is from Know n∈[K]\{D k}exist The index of the N MDS coding segments obtained by the above decoding is Given, where m∈[N], these indices are known to user k;
[0052] Next, from and In the example, user k obtains (N-1)K-1 different MDS code segments and their corresponding indexes; specifically, user k from (N-2)K-1 different MDS code segments are directly obtained from , and their corresponding indexes are given by Provide; User k from Get the MDS code segment directly or And user k from Know exist The position and index of Position in; use in order Except For items other than
[0053]
[0054] Among them, the corresponding indexes of the above K-1 MDS coding segments are Given in order;
[0055] Finally, according to the properties of the (2K(N-1),(K+1)(N-1))MDS code, user k can obtain the (K+1)(N-1)MDS code segments and corresponding indexes obtained from the above decoding.
[0056] Beneficial effect: The present invention proposes a privacy coding cache method based on MDS code and random permutation. This method is based on MDS code and random permutation technology, which ensures the privacy required by users; for cache size and Two cases are given, respectively, to achieve the cache-rate and A privacy coding cache scheme. In step 1, a new coding placement method using MDS code and random permutation is adopted, in step 2, random permutation shuffle transmission signal is adopted, and in step 3, a corresponding decoding method is designed. This method has a good performance in terms of cache size. It is applicable to any N files satisfying K≥N and the privacy coding cache problem of K users and achieves the minimum communication rate, that is, the size of the broadcast signal required to transmit the unit file is the smallest; when the cache is large When , it is applicable to the privacy coding cache problem of N files and K users satisfying K≥N≥3, and the minimum communication rate is achieved when 2N-2≥K≥N≥3. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 System model for the privacy-encoded caching problem for N files and K users. DETAILED DESCRIPTION
[0058] The technical solution of the present invention is described in detail below, but the protection scope of the present invention is not limited to the implementation examples.
[0059] A privacy coding cache method based on MDS code and random permutation, including cache size and Two cases and the following steps:
[0060] Step 1: Store N files W0, W1, ... W N-1 The trusted server will cache the content Z k Distribute to users k∈[K]=[0:K-1] in the communication system, where K represents the total number of users in the communication system;
[0061] Step 2: Each user k∈[K] sends a file request D to the server k , indicating that you wish to request a file There are N files W0, W1, ... W N-1 The server responds to all user requests D=(D0,D1,…,D K-1 ), generating a broadcast signal X D and transmits the signal X through an error-free shared link channel D Broadcast to all users in the system;
[0062] Step 3: Each user k∈[K] receives the broadcast signal X D and the previously cached placement content Z k Decode the file you requested
[0063] Cache size When the cache in step 1 places content Z k The encoding steps are as follows:
[0064] First, each file W n , n∈[N]=[0:M-1], is divided into K+1 equal-sized, non-intersecting sub-files by the server, and then a (2K,K+1) MDS code is used to encode these sub-files, W n,0 ,W n,1 ,…,W n,2K-1 Respectively represent the file W n 2K MDS coding segments;
[0065] Next, from all possible permutations of [2K], the server independently and evenly selects N permutations, using Represents, where n∈[N], is the permutation vector p n The server arranges p according to the 2k+mth position. n Shuffle 2K MDS coded segments, and use the shuffled segments express, satisfy
[0066]
[0067] in, For file W n No. MDS encoding segments; the cache content of user k, i.e., Z k , is set to
[0068]
[0069] Where P k ~Unif([2K]), k∈[K], are K independent and identically distributed random variables uniformly distributed on the integer set [2K], ⊕ represents the either / or operation.
[0070] Cache size When the broadcast signal X in step 2 D The encoding steps are as follows:
[0071] The server receives all the requests from users D=(D0,D1,…,D K-1 ), generating X' D , and auxiliary variables J0 and J1:
[0072] J1=(J 1,k ) k∈[K] ,
[0073] in,
[0074]
[0075] The server sends a broadcast signal X to user k D By X' D and auxiliary variables (J0, J1), that is, X D =(X′ D ,J0,J1).
[0076] Furthermore, the cache size When each user decodes the requested file in step 3 The decoding steps are as follows:
[0077] First, from X D In the example, user k directly obtains The K MDS coding segments and their corresponding indexes, that is, and i∈[K];
[0078] Next, user k is obtained by the following formula and its corresponding index
[0079]
[0080] Finally, according to the properties of (2K,K+1)MDS code, user k can and Obtained The index of these K+1 MDS coding segments is and Given.
[0081] Cache size When the cache in step 1 places content Z k The encoding steps are as follows:
[0082] First, each file W n , n∈[N], is divided into (K+1)(N-1) equal-sized, mutually disjoint subfiles by the server, and then the server uses a (2K(N-1),(K+1)(N-1)) MDS code to encode them into 2K(N-1) MDS coded segments; these 2K(N-1) MDS coded segments are encoded using W n,0 ,W n,1 ,…,W n,2K(N-1)-1 Indicates that the server arranges p n Shuffle 2K MDS coded segments, and use the shuffled segments express, satisfy
[0083]
[0084] in, For file W n No. MDS code segments, is a permutation chosen independently and uniformly from all possible permutations of [2K(N-1)], is the permutation vector p n The (2N-2)k+mth bit of the cache of user k, i.e., Z k , is set to
[0085]
[0086] Among them, P k,n ~Unif([2K(N-1)]), k∈[K], n∈[N], are KN independent and identically distributed random variables uniformly distributed on the set of integers [2K(N-1)], S k,n ~Unif([K]), k∈[K+1], n∈[N], are (K+1)N independent and identically distributed random variables uniformly distributed on the set of integers [K].
[0087] Cache size When the broadcast signal X in step 2 D The encoding steps are as follows:
[0088] First, for each requested file, i.e., The server randomly selects a user, denoted as u n , and these users are called "leaders". The set of leaders is defined as in Represents a collection of all requested files; Define u n is always equal to 1, that is, u n≡1; when the total number of files N ≥ 3, for each file index n∈[N], define an arbitrary one-to-one mapping function h n (m), which maps each file index m∈[N]\{n} to another file index h n (m)∈[N]\{n,m}, such that if m1≠m2, then h n (m1)≠h n (m2);
[0089] Next, the server generates X' based on all user requests D. D =(X D,n ) n∈[N+1] and auxiliary variable J0=(J 0,n ) n∈[N] :
[0090]
[0091] Among them, π n =(π n,0 ,π n,1 ,…,π n,K-1 ), n∈[N], are N permutations selected independently and uniformly from all possible permutations of [K], for k∈[1:K-1], n∈[N],
[0092]
[0093] For k = 0, n ∈ [N],
[0094]
[0095] For k∈[K],n∈[N],
[0096]
[0097] The server then generates auxiliary variables and J3:
[0098]
[0099] Finally, the server sends a broadcast signal X to user k D By X' D and auxiliary variables, namely, X D =(X′ D ,J0,J1,J2,J3).
[0100] Cache size When each user decodes the requested file in step 3 The decoding steps are as follows:
[0101] First, user k is decoded by m∈[N]\{D k}:
[0102]
[0103] Among them, all used remove In addition, you can n∈[N]\{D k}, and user 0 is found from Know exist The position in the user k is decoded by the following formula
[0104]
[0105] Among them, user k is from Know n∈[K]\{D k}exist The index of the N MDS coding segments obtained by the above decoding is Given, where m∈[N], these indices are known to user k;
[0106] Next, from and In the example, user k obtains (N-1)K-1 different MDS code segments and their corresponding indexes; specifically, user k from (N-2)K-1 different MDS code segments are directly obtained from , and their corresponding indexes are given by Provide; User k from Get the MDS code segment directly or And user k from Know exist The position and index of Position in; use in order Except For items other than
[0107]
[0108] Among them, the corresponding indexes of the above K-1 MDS coding segments are Given in order;
[0109] Finally, according to the properties of the (2K(N-1),(K+1)(N-1))MDS code, user k can obtain the (K+1)(N-1)MDS code segments and corresponding indexes obtained from the above decoding.
[0110] like Figure 1 As shown, the present invention proposes a privacy coding cache method based on MDS code and random permutation. The system model includes a system that can access N files W0, W1, ... W N-1 There are K servers with a cache size of M and K users. The servers and users are connected through an error-free shared link. In the cache placement phase, the server will cache content Z k Distributed to each user; in the signal transmission phase, user k sends a request D to the server k , the server receives all the requests from users D=(D0,D1,…,D K-1 ), broadcast signal X D ; In the file decoding stage, user k receives the signal X D Local cache content Z k Decode the request file In this process, no user can infer that other than the one requesting D k Other request information.
[0111] An embodiment is given below:
[0112] This embodiment considers K = 2 users, N = 2 files, corresponding to The specific plan for the situation is as follows:
[0113] The server divides files W0 and W1 into three non-overlapping and equal-sized sub-files, and then encodes these sub-files using a (4,3) MDS code. The four MDS code segments obtained are respectively W n,0 ,W n,1 ,W n,2 ,W n,3 Represented and assigned to segments according to the randomly generated [0:3] arrangement and Right now, m,k∈{0,1}, where represents a random permutation independently and uniformly chosen from all possible permutations of [0:3].
[0114] (1) The cache content of user k, i.e., Z k , is set to
[0115]
[0116] Among them, P0 and P1 are two independent and identically distributed random variables that are uniformly distributed on the integer set [0:3].
[0117] (2) The server sends a broadcast signal X to user k D By X' D and auxiliary variables (J0, J1), that is, X D =(X' D ,J0,J1), where X' D , the encoding of J0 and J1 is given in the following table:
[0118]
[0119] (3) Take D = (D0, D1) = (0, 1) as an example. User 0 requests file W0 and directly obtains the file from X D Get and and its index and Then, user 0 calculates and get and Therefore, according to the properties of the (4,3) MDS code, user 0 can and Similarly, user 1 directly obtains W0 from X' D Get and and through decoding Through the corresponding index, that is, and User 1 can and Decode W1. Other cases also follow similar decoding methods.
[0120] It is to be understood that the present invention is described by some embodiments, and it is known to those skilled in the art that various changes or equivalent substitutions may be made to these features and embodiments without departing from the spirit and scope of the present invention. In addition, under the teachings of the present invention, these features and embodiments may be modified to adapt to specific circumstances and materials without departing from the spirit and scope of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed herein, and all embodiments falling within the scope of the claims of this application are within the scope of protection of the present invention.
Claims
1. A privacy coding caching method based on MDS code and random permutation, characterized in that: Include cache size and Two cases and the following steps: Step 1: Store N files W0, W1, ... W N-1 The trusted server will cache the content Z k Distribute to users k∈[K]=[0:K-1] in the communication system, where K represents the total number of users in the communication system; Step 2: Each user k∈[K] sends a file request D to the server k , indicating that you wish to request a file There are N files W0, W1, ... W N-1 The server responds to all user requests D=(D0,D1,…,D K-1 ), generating a broadcast signal X D and transmits the signal X through an error-free shared link channel D Broadcast to all users in the system; Step 3: Each user k∈[K] receives the broadcast signal X D and the previously cached placement content Z k Decode the file you requested 2. A privacy coding caching method based on MDS code and random permutation as claimed in claim 1, characterized in that: Cache size When the cache in step 1 places content Z k The encoding steps are as follows: First, each file W n , n∈[N]=[0:N-1], is divided into K+1 equal-sized, non-intersecting sub-files by the server, and then a (2K,K+1) MDS code is used to encode these sub-files, W n,0 ,W n,1 ,…,W n,2K-1 Respectively represent the file W n 2K MDS coding segments; Next, from all possible permutations of [2K], the server independently and uniformly selects N permutations, using p n = Represents, where n∈[N], is the permutation vector p n The server arranges p according to the 2k+mth position. n Shuffle 2K MDS coded segments, and use the shuffled segments Express, satisfy in, For file W n No. MDS encoding segments; the cache content of user k, i.e., Z k , is set to Where P k ~Unif([2K]), k∈[K], are K independent and identically distributed random variables uniformly distributed over the integer set [2K], Represents either or operation.
3. A privacy coding caching method based on MDS code and random permutation as claimed in claim 2, characterized in that: Cache size When the broadcast signal X in step 2 D The encoding steps are as follows: The server receives all the requests from users D=(D0,D1,…,D K-1 ), generating X' D , and auxiliary variables J0 and J1: in, The server sends a broadcast signal X to user k D By X' D and auxiliary variables (J0, J1), that is, X D =(X′ D ,J0,J1).
4. A privacy coding caching method based on MDS code and random permutation as claimed in claim 3, characterized in that: Cache size When each user decodes the requested file in step 3 The decoding steps are as follows: First, from X D In the example, user k directly obtains The K MDS coding segments and their corresponding indexes, that is, and Next, user k is obtained by the following formula and its corresponding index Finally, according to the properties of (2K,K+1)MDS code, user k is and Obtained The index of these K+1 MDS coding segments is and Given.
5. A privacy coding caching method based on MDS code and random permutation as claimed in claim 1, characterized in that: Cache size When , the encoding steps of the cache placement content Zk in step 1 are as follows: First, each file W n , n∈[N], is divided into (K+1)(N-1) equal-sized, mutually disjoint subfiles by the server, and then the server uses a (2K(N-1),(K+1)(N-1)) MDS code to encode them into 2K(N-1) MDS coded segments; these 2K(N-1) MDS coded segments are encoded using W n,0 ,W n,1 ,…,W n,2K(N-1)-1 Indicates that the server arranges p n Shuffle 2K MDS coded segments, and use the shuffled segments Express, satisfy in, For file W n No. MDS code segment, is a permutation chosen independently and uniformly from all possible permutations of [2K(N-1)], is the permutation vector p n The (2N-2)k+mth bit of the cache of user k, i.e., Z k , is set to Among them, P k,n ~Unif([2K(N-1)]), k∈[K], n∈[N], are KN independent and identically distributed random variables uniformly distributed on the set of integers [2K(N-1)], S k,n ~Unif([K]), k∈[K+1], n∈[N], are (K+1)N independent and identically distributed random variables uniformly distributed on the set of integers [K].
6. A privacy coding caching method based on MDS code and random permutation as claimed in claim 5, characterized in that: Cache size When the broadcast signal X in step 2 D The encoding steps are as follows: First, for each requested file, i.e., The server randomly selects a user, denoted as un , These users are called "leaders", and the set of leaders is defined as in Represents a collection of all requested files; Define u n Always equal to 1, that is, u n ≡1; when the total number of files N ≥ 3, for each file index n∈[N], define an arbitrary one-to-one mapping function h n (m), which maps each file index m∈[N]\{n} to another file index h n (m)∈[N]\{n,m}, such that if m1≠m2, then h n (m)1)≠h n (m)2); Next, the server generates X' based on all user requests D. D =(X D,n ) n∈N+1] and auxiliary variable J0=(J 0,n ) n∈N] : Among them, π n =(π n,0 ,π n,1 ,…,π n,K-1 ), n∈[N], are N permutations selected independently and uniformly from all possible permutations of [K], for k∈[1:K-1], n∈[N], For k = 0, n ∈ [N], For k∈[K],n∈[N], The server then generates auxiliary variables and J3: Finally, the server sends a broadcast signal X to user k D By X' D and auxiliary variables, namely, X D =(X′ D ,J0,J1,J2,J3).
7. A privacy coding caching method based on MDS code and random permutation as claimed in claim 6, characterized in that: Cache size When each user decodes the requested file in step 3 The decoding steps are as follows: First, user k is decoded by Among them, all used remove In addition, you can , and user 0 from Know exist The position in the user k is decoded by the following formula Among them, user k is from Know exist The index of the N MDS coding segments obtained by the above decoding is Given, where m∈[N], these indices are known to user k; Next, from and In the example, user k obtains (N-1)K-1 different MDS code segments and their corresponding indexes; specifically, user k from (N-2)K-1 different MDS code segments are directly obtained from , and their corresponding indexes are given by Provide; User k from Get the MDS code segment directly or And user k from Know exist The position and index of Position in; use in order Except For items other than Among them, the corresponding indexes of the above K-1 MDS coding segments are Given in order; Finally, according to the properties of the (2K(N-1),(K+1)(N-1))MDS code, user k obtains
Citation Information
Patent Citations
Privacy protection dynamic edge cache design method based on distributed reinforcement learning in mobile edge computing network
CN113364854A
Private code caching method based on virtual user and code placement
CN118199799A
Secure online distributed data storage services
US20140201541A1
Compact key encodiing of data for public exposure such as cloud storage
US20210124832A1