Skip to main content

Practical Privacy-Preserving Outsourcing of Large-Scale Matrix Determinant Computation in the Cloud

  • Conference paper
  • First Online:
Trusted Computing and Information Security (CTCIS 2017)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 704))

Included in the following conference series:

  • 644 Accesses

Abstract

Jaggi-Sanders algorithm is generalized to its nonlinear form for multicast network. Precise details of the algorithm implementation and the proof on the algorithm existence are given. It may has meaningful significance in the two following aspects. First, it may offer a thinking for the urgent need to find a nonlinear coding scheme for non-multicast network some of which can not be coded by linear coding. Second, some interesting mathematical concepts such as shared agreements, composite functions and n-dimensional maximal independent set (nMIS) based on combinatorics are proposed. These new concepts may offer beneficial lessons for further research on nonlinear network coding.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Dougherty, R., Freiling, C., Zeger, K.: Insufficiency of linear coding in network information flow. IEEE Trans. Inf. Theor. 51(8), 2745–2759 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  2. Kobayashi, H., Le Gall, F., Nishimura, H., Rotteler, M.: Constructing quantum network coding schemes from classical nonlinear protocols. In: 2011 IEEE International Symposium on Information Theory Proceedings (ISIT), pp. 109–113. IEEE (2011)

    Google Scholar 

  3. Blasiak, A., Kleinberg, R., Lubetzky, E.: Lexicographic products and the power of non-linear network coding. In: 2011 IEEE 52nd Annual Symposium on Foundations of Computer Science (FOCS), pp. 609–618. IEEE (2011)

    Google Scholar 

  4. Shadbakht, S., Hassibi, B.: MCMC methods for entropy optimization and nonlinear network coding. In: 2010 IEEE International Symposium on Information Theory Proceedings (ISIT), pp. 2383–2387. IEEE (2010)

    Google Scholar 

  5. Li, Q., Ting, S.H., Ho, C.K.: Nonlinear network code for high throughput broadcasting with retransmissions. In: IEEE International Symposium on Information Theory, ISIT 2009, pp. 2853–2857. IEEE (2009)

    Google Scholar 

  6. Wernersson, N., Skoglund, M.: Nonlinear coding and estimation for correlated data in wireless sensor networks. IEEE Trans. Commun. 57(10), 2932–2939 (2009)

    Article  Google Scholar 

  7. Dougherty, R., Freiling, C., Zeger, K.: Unachievability of network coding capacity. Inf. Theor. IEEE Trans. 52(6), 2365–2372 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  8. Langberg, M., Sprintson, A.: On the hardness of approximating the network coding capacity. In: IEEE International Symposium on Information Theory, ISIT 2008, pp. 1008–1014 (2008)

    Google Scholar 

  9. Lehman, A.R., Lehman, E.: Complexity classification of network information flow problems. In: Proceedings of the Fifteenth Annual ACM-SIAM Symposium on Discrete Algorithms, Society for Industrial and Applied Mathematics, pp. 142–150 (2004)

    Google Scholar 

  10. Medard, M., Koetter, R.: Beyond routing: an algebraic approach to network coding. Proc. IEEE INFOCOM 1(5), 122–130 (2002)

    Google Scholar 

  11. Sanders, P., Egner, S., Tolhuizen, L.: Polynomial time algorithms for network information flow. In: ACM Symposium on Parallel Algorithms and Architectures, pp. 286–294 (2003)

    Google Scholar 

  12. Li, L., Fan, K., Long, D.: Nonlinear network coding: a case study. Comput. Sci. 7, 020 (2008)

    Google Scholar 

  13. Bachmann, O., Greuel, G.-M., Lossen, C., Pfister, G., Schönemann, H.: A Singular Introduction to Commutative Algebra. Springer, Berlin (2007)

    Google Scholar 

  14. Liaoqunying, F.: The Finite Field and its Application. Dalian University of Technology Press, Dalian (2011)

    Google Scholar 

  15. JiaqingHuang, Z.: Network Coding Principles. National Defence Industry Press, Beijing (2012)

    Google Scholar 

Download references

Acknowledgment

This work is supported by Suihua technology office program (SHKJ2015-015, SHKJ2015-014), National Science foundation of China (61571150), Education Office of Heilongjiang province science and technology program (Study on integrated network application in smart factory), Suihua university program (K1502003).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shaobin Cai .

Editor information

Editors and Affiliations

Appendix

Appendix

1.1 A Case of Nonlinear Jaggi-Sanders Algorithm in Butterfly Network

Based on the proposed nonlinear Jaggi-sanders algorithm, a nonlinear multicast scheme was constructed as the graph 2 illustrates.

Fig. 2.
figure 2

A case of constructing nonlinear network coding scheme with nonlinear Jaggi-Sanders algorithm

When field \(|F|=3\), and messages dimension is n = 2, all the points in domain of function with 2 variables can be denoted by a numbers sequence. Thats, \((0,0) \rightarrow 1 ,..., (2, 2) \rightarrow 9\). There are 36 agreements, i.e., \(A_{ C_{|F|^{n}}^{2} }=36\), illustrated in the list 1. 9 agreements points are selected to construct a function and how to select is based on Algorithm 2.

figure b

1, Initializing \(f_{e}\) imaginary edges are set as \(f_{OS}=x_{1}, f_{OS^{'}}=x_{2}\), while the rest \(f_{e}=0\). The spanning function space of node S is \(V^{n}\), i.e., all the 2-dimensional mappings in field F (because \(f_{OS}=x_{1}\) is nonlinear independent of \(f_{OS^{'}}=x_{2}\) in variables \(x_{1}, x_{2}\)) [15].

2, Label “(q, i) pair” for every edge, consider sinks \(T_{1}, T_{2}\).

  1. (1)

    for \(T_{1} (q\,=\,1)\) there are 2 edge-disjoint paths O-S-A-T1 and \(O^{'}\)-S-B-T-C-\(T_{1}\). For the first path (i = 1), edges OS, SA, \(AT_{1}\) are labeled with (1, 1). For the second path (i = 2), edges OS, SB, BT, TC, \(CT_{1}\) are labeled with (1, 2).

  2. (2)

    for \(T_{2}\) (q = 2) there are 2 edge-disjoint paths \(O^{'}\)-S-B-T2 and O-S-A-T-C-T2. For the first path (i = 1), edges \(O^{'}\)S, SB, \(BT_{2}\) are labeled with (2, 1). For the second path (i = 2), edges OS, SA, AT, TC, \(CT_{2}\) are labeled with (2, 2).

  3. (3)

    Initializing \(e_{q,i}\). \(e_{1,1}= e_{2,2}= OS, e_{1,2}= e_{2,1}= O^{'}S\).

3, In an upstream-to-downstream order, consider every node and its leading edges. For lack of space, only representative edges are illustrated here.

(1) For node S, \(V_{t}=V^{n}\), leading edges are SA, SB. For SA, its (qi) are (1, 1), (2, 2). Then

$$f_{SA}\in V_{S} \setminus ( \bigcup _{(q,i):a \ pair}\left\langle \left\{ f_{e_{q,j}}:j\ne i \right\} \right\rangle )= V_{S} \setminus (\left\langle \left\{ f_{e_{1,2}} \right\} \right\rangle \bigcup \left\langle \left\{ f_{e_{2,1}} \right\} \right\rangle ) $$
$$=V_{S} \setminus (\left\langle \left\{ f_{e_{OS^{'}}} \right\} \right\rangle \bigcup \left\langle \left\{ f_{e_{OS^{'}}} \right\} \right\rangle ) = (\left\langle \left\{ f_{1}=x_{1},f_{2}=x_{2} \right\} \right\rangle ) \setminus (\left\langle \left\{ f_{1}=x_{1},f_{2}=x_{2} \right\} \right\rangle )$$

Based on step 5 in Algorithm 2, the nonlinear equivalent condition is

\(A_{f_{e}}\sqsubseteq A_{ C_{|F|^{n}}^{2} } \setminus ( \bigcup _{(q,i):a \ pair}\left\langle \left\{ A_{f_{q,j}}:j\ne i \right\} \right\rangle )\) & \(share\{ f_{1},...,f_{m}\} \sqsubseteq A_{f_{e}}\)

Of them, \(share\{ f_{1},...,f_{m}\}=\) Ø, so, just need to select 9 agreements in to construct a function. The 9 corresponding agreements of the function \(f=x_{2}\) are as the followings.

$$\begin{aligned} a[3]&= [1 \ 4]; 1(0,0)\,4(1,0)\,7(2,0) \rightarrow 0\\ a[6]&= [1 \ 7];\\ a[24]&= [4 \ 7];\\ \\ a[11]&= [2 \ 5]; 2(0,1)\,5(1,1)\,8(2,1) \rightarrow 1\\ a[14]&= [2 \ 8];\\ a[29]&= [5 \ 8];\\ \\ a[18]&= [3 \ 6]; 3(0,2)\,6(1,2)\,9(2,2) \rightarrow 2\\ a[21]&= [3 \ 9];\\ a[33]&= [6 \ 9];\\ \end{aligned}$$

Select 9 agreements to form a function from the rest 27 agreements after removing the 9 agreements of function \(f=x_{2}\) in list 1. Note that not any 9 agreements can form a function, for example, if [1 5], [1 6] are selected, [5 6] has to be included. Then the 3 points 1, 5, 6 are mapped into a same value in the range, for example, 0. The rest 2 groups of points are mapped into 2 different values respectively where each group includes 3 points. For \(share\{ f_{1},...,f_{m}\}=\) Ø, in the procedure of selecting 9 agreements, there is no need to mapping certain 2 points (2 leading edges) into a same value in range. For example, in the Fig. 1 in text, we need to map 2 points 4, 5 into a same value in range, and treat 7, 8 in the same manner. The reason is \( [4,5] \in share\{ f_{1},...,f_{m}\} \& [7, 8] \in share\{ f_{1},...,f_{m}\}\). But there is no need to do so in this case. The function corresponding to the selected agreements can be got through solving linear equations in 9 coefficients of this being solved function. That is, to assume

$$f(x_{1}, x_{2})=c_{1}x_{1}^{2}+c_{2}x_{1}^{2}x_{2}+c_{3}x_{1}^{2}x_{2}^{2}+c_{4}x_{1}+ c_{5}x_{1}x_{2}+ c_{6}x_{1}x_{2}^{2}+c_{7}x_{2}+ c_{8}x_{2}^{2}+c_{9}$$

The ultimate solved function is \(f= x_{1}+2x_{2}^{2}\), then, \(f_{e}= x_{1}+2x_{2}^{2}\) The 9 corresponding agreements of the function are as the followings.

$$\begin{aligned} a[4]&= [1 \ 5]; 1(0,0)\,5(1,1)\,6(1,2) \rightarrow 0\\ a[5]&= [1 \ 6];\\ a[27]&= [5 \ 6];\\ \\ a[25]&= [4 \ 8]; 4(1,0)\,8(2,1)\,9(2,2) \rightarrow 1\\ a[26]&= [4 \ 9];\\ a[36]&= [8 \ 9];\\ \\ a[9]&= [2 \ 3]; 2(0,1)\,3(0,2)\,7(2,0) \rightarrow 2\\ a[13]&= [2 \ 7];\\ a[19]&= [3 \ 7];\\ \end{aligned}$$

In node S, the local coding function for outgoing edge e is \(F(X,Y)=X+2Y^{2}\).

(2) For the outgoing edge TC of node T, its (qi) are (1, 2), (2, 2). From Subsect. 3.3, we know global coding functions \(f_{e_{AT_{1}}},f_{e_{BT_{2}}}\) both belongs to a nMIS, so they are independent of each other. Then the spanning functions of node T are all the mappings in field F with degree 2, i.e., \(V_{t}=V^{n}\).

$$\begin{aligned}&f_{TC}\in V_{T} \setminus ( \bigcup _{(q,i):a \ pair}\left\langle \left\{ f_{e_{q,j}}:j\ne i \right\} \right\rangle )= V_{T} \setminus (\left\langle \left\{ f_{e_{1,1}} \right\} \right\rangle \bigcup \left\langle \left\{ f_{e_{2,1}} \right\} \right\rangle ) \\ =\,&V_{T} \setminus (\left\langle \left\{ f_{e_{AT_{1}}} \right\} \right\rangle \bigcup \left\langle \left\{ f_{e_{BT_{2}}} \right\} \right\rangle ) \\ =\,&(\left\langle \left\{ f_{1}=x_{1}+2x_{2}^{2},f_{2}=x_{1}^{2}+x_{1}x_{2}^{2}+2x_{1}+2x_{2}^{2}+x_{2} \right\} \right\rangle )\\&\setminus \{(\left\langle \left\{ f_{1}=x_{1}+2x_{2}^{2} \right\} \right\rangle ) \bigcup (\left\langle \left\{ f_{2}=x_{1}^{2}+x_{1}x_{2}^{2}+2x_{1}+2x_{2}^{2}+x_{2} \right\} \right\rangle )\}\\ =\,&V^{n}\setminus (\left\langle \left\{ f_{1}=x_{1}+2x_{2}^{2} \right\} \right\rangle ) \bigcup (\left\langle \left\{ f_{2}=x_{1}^{2}+x_{1}x_{2}^{2}+2x_{1}+2x_{2}^{2}+x_{2} \right\} \right\rangle ) \end{aligned}$$

Based on step 5 in Algorithm 2, the nonlinear equivalent condition is

\(A_{f_{e}}\sqsubseteq A_{ C_{|F|^{n}}^{2} } \setminus ( \bigcup _{(q,i):a \ pair}\left\langle \left\{ A_{f_{q,j}}:j\ne i \right\} \right\rangle )\) & \(share\{ f_{1},...,f_{m}\} \sqsubseteq A_{f_{e}}\)

Of them, \(share\{ f_{1},...,f_{m}\}=\) Ø, so, just need to select 9 agreements in \(=A_{ C_{|F|^{n}}^{2} }\setminus (A_{ f_{1}=x_{1}+2x_{2}^{2} } \bigcup A_{ f_{2}=x_{1}^{2}+x_{1}x_{2}^{2}+2x_{1}+2x_{2}^{2}+x_{2} })\) to construct a function. The corresponding functions of \(f_{1}=x_{1}+2x_{2}^{2}\) and \(f_{2}=x_{1}^{2}+x_{1}x_{2}^{2}+2x_{1}+2x_{2}^{2}+x_{2}\) are marked as red and green respectively in list 1. Among the rest 18 agreements, 9 agreements are selected and marked as blue. As doing for edge SA, the 9 agreements construct a function \(f_{TC}=x_{1}^{2}+x_{1}x_{2}^{2}+x_{1}+x_{2}\) as \(f_{e_{TC}}\) which is certainly independent of \(f_{1}=x_{1}+2x_{2}^{2}\) and \(f_{2}=x_{1}^{2}+x_{1}x_{2}^{2}+2x_{1}+2x_{2}^{2}+x_{2}\) based on Theorem 2. At last, we will use Algorithm 2 to get the local coding function for TC in node T, and it is F = 2X + Y.

(3) For node \(T_{1}\) using the step 6 of Algorithm 2, assume the two imaginary outgoing edges are \(f_{1}=x_{1},f_{2}=x_{2}\). Establish the two local coding functions for the two imaginary outgoing edges. Actually, they are the decoding functions in sink node. For example, the local coding function for right imaginary edge in node \(T_{1}\) is \(K_{T_{1}x_{2}}(X,Y)=2X^{2}+2X+Y\), and it is also the decoding function for original message \(x_{2}\) in node \(T_{1}\). \(\phi _{T_{1}x_{2}}(x_{1}+2x_{2}^{2},x_{1}^{2}+x_{1}x_{2}^{2}+2x_{1}+2x_{2}^{2}+x_{2})= 2x_{2}^{4}+x_{2}^{2}+ x_{2}\), for the operation of mod 3 in field \(F=\{0,1,2\}\), \(2x_{2}^{4}+x_{2}^{2}+ x_{2}= x_{2}\) and this can be verified easily by MATLAB. \(x_{1}\) can be decoded in the same manner. The ultimate global coding functions are illustrated in the Fig. 2. The local coding functions for every outgoing edge in a node are listed in the chart 1. If there are 2 leading edges in a node, the variables X, Y of \(\phi (X,Y)\) delegate the left and right messages respectively received by a node. Meanwhile, if there is only one leading edge, the local coding function is \( {\phi (X)}\) (Table 1).

Table 1. Local coding functions for every outgoing edges including imaginary outgoing edges in sinks

1.2 Notation

F: the finite field used.

n: the block length of the original codes, i.e., the dimension of original messages.

m: the number of leading edges of a intermediate node and \(m\ge 1\).

\(C_{noline}\): Cardinality of maximal independent set of nonlinear coding functions.

nMIS: a n-dimensional maximal independent set.

\(\phi _{e}\): the local coding function for edge e which is a outgoing edge of intermediate t. This function is in the variables which are the messages of leading edges of intermediate node t.

\(\phi _{e}(X,Y)\): a special case of \(\phi _{e}\) which is in the variables X, Y, i.e., there are two edges in node t.

\(K_{T_{1}x_{2}}\): a special case of \(\phi _{e}\) where edge e is specialized as the second imaginary outgoing edge.

\(x_{2}\) of the sink \(T_{1}\). It is also the decoding function for messages \(x_{2}\) in sink node \(T_{1}\).

\(K_{f_{1}f_{2}}(x,y)\): the arithmetic result of composite the function \(K[f_{1}(x,y),\) \(f_{2}(x,y)]\).

\(f_{e}\): global coding function for edge e in the variables of original messages \(x_{1},...,x_{n}\).

(q, i): two-tuple to represent the \(i^{'}th\) edge-disjoint path of the \(q^{'}th\) sink.

\(e_{(q,i)}\): the predecessor edge e of on a path.

\(P_{q,i}\): denote the path that the \(i^{'}th\) edge-disjoint path of the \(q^{'}th\) sink.

\(V^{n}\): all the mappings in n variables in field F where one of these mappings can be uniquely represented by a polynomial with coefficients in the field F and with degree in each variable at most n – 1. It is the generalization of the vector space concept.

\(\left\langle \{ f_{1},...,f_{m} \} \right\rangle \): the spanning function space which is a subspace of \(V^{n}\).

t: a intermediate node.

\(V_{t}\): the spanning function space of node t, and it is a alternative representation of \(\left\langle \{ f_{1},...,f_{m} \} \right\rangle \).

\(dim\{ f_{1},...,f_{m} \} \): the rank of collection of functions \( f_{1},...,f_{m} \), and it is the generalization of the rank of vectors set concept.

\(share\{ f_{1},...,f_{m} \} \): the shared agreements of collection of functions \(f_{1},...,f_{m}\).

\(A_{f_{e}}\): all the agreements of function \(f_{e}\).

\(A_{ C_{|F|^{n}}^{2} }\): all the agreements of all the functions where there are n variables in the finite field F.

\(\phi \): the number of sinks.

q: the sequence number to denote the \(q^{'}th\) sink of \(\phi \) sinks.

E: the set of edges.

\(f_{i}(x_{1},...,x_{n})_{(x_{1},...,x_{m})}\): to denote the function degraded from functions \(f_{i}\) with variables \(x_{1},x_{2},...,x_{n}\) and \(f_{i}(x_{1},...,x_{n})_{(x_{1},...,x_{m})}\) just depend on the variables of \(x_{1},x_{2},...,x_{m}\).

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zhang, G., Cai, S., Ma, C., Zhang, D. (2017). Practical Privacy-Preserving Outsourcing of Large-Scale Matrix Determinant Computation in the Cloud. In: Xu, M., Qin, Z., Yan, F., Fu, S. (eds) Trusted Computing and Information Security. CTCIS 2017. Communications in Computer and Information Science, vol 704. Springer, Singapore. https://doi.org/10.1007/978-981-10-7080-8_19

Download citation

  • DOI: https://doi.org/10.1007/978-981-10-7080-8_19

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-10-7079-2

  • Online ISBN: 978-981-10-7080-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics