Efficient LDPC Code Based Secret Sharing Schemes and Private Data Storage in Cloud without Encryption



Similar documents
SECRET sharing schemes were introduced by Blakley [5]

How To Encrypt Data With A Power Of N On A K Disk

Functional-Repair-by-Transfer Regenerating Codes

An Adaptive Decoding Algorithm of LDPC Codes over the Binary Erasure Channel. Gou HOSOYA, Hideki YAGI, Toshiyasu MATSUSHIMA, and Shigeichi HIRASAWA

Data Corruption In Storage Stack - Review

Linear Codes. Chapter Basics

How To Prove The Dirichlet Unit Theorem

Design of LDPC codes

Secure Network Coding on a Wiretap Network

3/25/ /25/2014 Sensor Network Security (Simon S. Lam) 1

International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013

A Piggybacking Design Framework for Read-and Download-efficient Distributed Storage Codes

On the representability of the bi-uniform matroid

Two classes of ternary codes and their weight distributions

Masao KASAHARA. Public Key Cryptosystem, Error-Correcting Code, Reed-Solomon code, CBPKC, McEliece PKC.

= = 3 4, Now assume that P (k) is true for some fixed k 2. This means that

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

A NEW APPROACH TO ENHANCE SECURITY IN MPLS NETWORK

MOST error-correcting codes are designed for the equal

Lecture 2: Complexity Theory Review and Interactive Proofs

STAR : An Efficient Coding Scheme for Correcting Triple Storage Node Failures

A New Generic Digital Signature Algorithm

Breaking Generalized Diffie-Hellman Modulo a Composite is no Easier than Factoring

Lecture 9 - Message Authentication Codes

(67902) Topics in Theory and Complexity Nov 2, Lecture 7

Network Coding for Security and Error Correction

Codes for Network Switches

Linear Authentication Codes: Bounds and Constructions

Secure Network Coding for Wiretap Networks of Type II

Physical-Layer Security: Combining Error Control Coding and Cryptography

Network (Tree) Topology Inference Based on Prüfer Sequence

Adaptive Linear Programming Decoding

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems

Efficient Recovery of Secrets

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

Introduction to Finite Fields (cont.)

Introduction to Algebraic Coding Theory

Secure Physical-layer Key Generation Protocol and Key Encoding in Wireless Communications

All trees contain a large induced subgraph having all degrees 1 (mod k)

Developing and Investigation of a New Technique Combining Message Authentication and Encryption

CODING THEORY a first course. Henk C.A. van Tilborg

Paillier Threshold Encryption Toolbox

NEW DIGITAL SIGNATURE PROTOCOL BASED ON ELLIPTIC CURVES

Non-Black-Box Techniques In Crytpography. Thesis for the Ph.D degree Boaz Barak

Mathematics Course 111: Algebra I Part IV: Vector Spaces

SECURITY IMPROVMENTS TO THE DIFFIE-HELLMAN SCHEMES

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

LDPC Codes: An Introduction

Security Aspects of. Database Outsourcing. Vahid Khodabakhshi Hadi Halvachi. Dec, 2012

Lecture 13 - Basic Number Theory.

A Dynamic Programming Approach for Generating N-ary Reflected Gray Code List

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

Notes 11: List Decoding Folded Reed-Solomon Codes

The finite field with 2 elements The simplest finite field is

1 Formulating The Low Degree Testing Problem

Distributed Storage Networks and Computer Forensics

Chapter 7: Products and quotients

Algorithms and Methods for Distributed Storage Networks 5 Raid-6 Encoding Christian Schindelhauer

Secret Sharing and Reliable Cloud Computing

CLOUD computing systems, in which the clients

Offline sorting buffers on Line

ECE 842 Report Implementation of Elliptic Curve Cryptography

Nonlinear Multi-Error Correction Codes for Reliable NAND Flash Memories

CUNSHENG DING HKUST, Hong Kong. Computer Security. Computer Security. Cunsheng DING, HKUST COMP4631

The Open University s repository of research publications and other research outputs

Graphs without proper subgraphs of minimum degree 3 and short cycles

Group Testing a tool of protecting Network Security

ON THE COMPLEXITY OF THE GAME OF SET.

Discrete Mathematics, Chapter 4: Number Theory and Cryptography

Proximal mapping via network optimization

A Network Flow Approach in Cloud Computing

RAID Triple Parity. Peter Corbett. Atul Goel ABSTRACT. Categories and Subject Descriptors. General Terms. Keywords

Notes on Factoring. MA 206 Kurt Bryan

Integer Factorization using the Quadratic Sieve

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

Lecture 3: Finding integer solutions to systems of linear equations

GROUPS ACTING ON A SET

Improving data integrity on cloud storage services

On the k-path cover problem for cacti

Index Terms Cloud Storage Services, data integrity, dependable distributed storage, data dynamics, Cloud Computing.

Solution of Linear Systems

2.1 Complexity Classes

Weakly Secure Network Coding

A COMPARATIVE STUDY OF SECURE SEARCH PROTOCOLS IN PAY- AS-YOU-GO CLOUDS

FUNDAMENTALS of INFORMATION THEORY and CODING DESIGN

IRREDUCIBLE OPERATOR SEMIGROUPS SUCH THAT AB AND BA ARE PROPORTIONAL. 1. Introduction

P versus NP, and More

Competitive Analysis of On line Randomized Call Control in Cellular Networks

Continued Fractions and the Euclidean Algorithm

A REMARK ON ALMOST MOORE DIGRAPHS OF DEGREE THREE. 1. Introduction and Preliminaries

Transcription:

Efficient LDPC Code Based Secret Sharing Schemes and Private Data Storage in Cloud without Encryption Yongge Wang Department of SIS, UNC Charlotte, USA yonwang@uncc.edu Abstract. LDPC codes, LT codes, and digital fountain techniques have received significant attention from both academics and industry in the past few years. By employing the underlying ideas of efficient Belief Propagation (BP) decoding process in LDPC and LT codes, this paper introduces three classes of secret sharing schemes called BP-XOR secret sharing schemes, pseudo-bp-xor secret sharing schemes, and LDPC secret sharing schemes. By establishing the equivalence between the edge-colored graph model and degree-two BP-XOR secret sharing schemes, we are able to design novel perfect and ideal 2-out-of-n BP- XOR secret sharing schemes. By employing techniques from array code design, we are also able to design other (n, k) threshold LDPC secret sharing schemes. In the efficient (pseudo) BP-XOR/LDPC secret sharing schemes that we will construct, only linear number of XOR (exclusive-or) operations on binary strings are required for both secret distribution phase and secret reconstruction phase. For a comparison, we should note that Shamir secret sharing schemes require O(n log n) field operations for the secret distribution phase and O(n 2 ) field operations for the secret reconstruction phase. Furthermore, our schemes achieve the optimal update complexity. By update complexity for a secret sharing scheme, we mean the average number of bits in the participant s shares that needs to be revised when certain bit of the master secret is changed. The extremely efficient secret sharing schemes discussed in this paper could be used for massive data storage in cloud environments achieving privacy and reliability without employing encryption techniques. 1 Introduction The concept of threshold secret sharing schemes is one of the most important cryptographic primitives that have been used in many areas of cryptographic applications. Since the concept of secret sharing schemes was introduced by Blakley [3] and Shamir [18], there have been considerable efforts on the study of the bounds of share sizes, information rate, the number of participants for perfect and ideal threshold schemes, and on efficient secret sharing schemes. By an ideal threshold scheme, we mean a secret sharing scheme for which the size of the shares is the same as the size of the secret. In a simple secret sharing scheme, we have n participants. A secret s is encoded into n shares and each participant will receive one share. Any k n participants can come together and reconstruct the secret s though no k 1 participants could learn any information of the secret. These schemes are known as (n, k) threshold schemes.

2 One of the most important problems in secret sharing schemes is to make both secret distribution phase and secret reconstruction phase efficient. For the Reed-Solomon codes based Shamir secret sharing scheme, it takes O(n log n) field operations for the secret distribution phase and O(n 2 ) field operations for the secret reconstruction phase. It should be noted that in theory, Reed-Solomon codes could be decoded in O(n log 2 n log log n) field operations (see, e.g., [15]). However, for small numbers of n, the quadratic time algorithms are much faster than the fast theoretical algorithms. Low Density Parity Checking (LDPC) codes were invented by Robert Gallager [10] in his PhD thesis. After being invented, they were largely forgotten and have been reinvented multiple times for the next 30 years. In the last decade, LDPC codes found their ways to many applications such as satellite transmission of digital television, 10GBase- T Ethernet, and WiFi 802.11n standards. Luby transform codes (LT codes) [13] are erasure correcting codes and are instances of LDPC codes. LT codes belong to the family of rateless digital fountain codes which can in principle produce an infinite number of encoding symbols. By employing the underlying ideas of efficient Belief Propagation (BP) decoding process in [13, 14], we introduce three classes of secret sharing schemes called BP- XOR secret sharing schemes, pseudo-bp-xor secret sharing schemes, and LDPC secret sharing schemes. The BP-XOR secret sharing schemes can be considered as LT code based secret sharing schemes. Edge-colored graph models were introduced by Wang and Desmedt in [19] to model homogeneous faults in networks. We will show the equivalence between the edge-colored graph model and degree-one-and-two encoding symbol based BP-XOR secret sharing schemes. Using this equivalence result, we are able to design perfect and ideal 2-out-of-n BP-XOR secret sharing schemes. We will also present several designs for general (n, k) LDPC secret sharing schemes. In the (pseudo) BP-XOR/LDPC secret sharing schemes that we will construct, only XOR (exclusive-or) operations on binary strings are required and both the secret distribution phase and secret reconstruction phase could be done in linear number of XOR operations on bits (relative to the secret size). One of the other important problems in secret sharing schemes is to design efficient homomorphic sharing schemes which were first introduced by Benaloh [2]. Desmedt and Frankel [8] proposed a black-box secret sharing scheme for which the distribution matrix and the reconstruction vectors are defined over the integer ring Z and are designed independently of the group G from which the secret and the shares are sampled. Cramer and Fehr [7] then continued the study by showing that the optimal lower bound O(log 2 n) for the expansion factor could be achieved in general Abelian groups. Secret sharing schemes, for which the secret distribution and reconstruction phases are based on XOR operations on binary strings, could be converted to secret sharing schemes on several black-box Abelian groups on binary strings. Thus our results could be adapted to certain black-box based secret sharing schemes. In this paper, we will introduce the concept of update complexity of secret sharing schemes. The update complexity of a secret sharing scheme is defined as the average number of bits of the shares affected by a change of a single master secret bit. For an (n, k) threshold secret sharing scheme, it is straightforward that the lower bound for

3 the update complexity is n k + 1. In this paper, we will show that our schemes will achieve this lower bound. Due to the expensive cost of field operations of secret sharing schemes such as Shamir schemes, secret sharing schemes have traditionally been used for the distribution of secret keys, which is then used to encrypt the actual data. Since our schemes are based on linear numbers of XOR operations and are extremely efficient, it is possible to share the massive data directly using secret sharing schemes. In another word, the data stored at different locations (e.g., cloud servers) are shares of the original data and only XOR operations on bits are needed for distributing massive data to the cloud servers and for reconstructing the original data from shares stored at different cloud servers. This may help to design efficient protocols for certain applications of computation over encrypted data. The structure of this paper is as follows. In Section 2, we briefly discuss the connection between MDS codes and secret sharing schemes and show how to covert an MDS code to a secret sharing scheme. Section 3 introduces the concepts of LDPC based secret sharing schemes such as BP-XOR secret sharing schemes, pseudo BP-XOR secret sharing schemes, and LDPC secret sharing schemes. Section 4 introduces perfect and ideal (n, 2) threshold BP-XOR secret sharing schemes. Section 5 shows the limitation of degree two encoding symbols for perfect and perfect and ideal (n, k) BP-XOR secret sharing schemes and Section 6 discusses perfect and ideal (n, k) LDPC secret sharing schemes for k = 3, 4. We briefly discuss dual codes in Section 7 and conclude in Section 8 with some discussion on applying our techniques to reliable and private massive data storage in cloud. 2 MDS codes and Secret Sharing Schemes For an [n, k, d] linear code, the Singleton bound claims that d n k + 1. An [n, k, d] linear code is maximum distance separable (MDS) if d = n k + 1 (see, e.g., [15]). A k out of n threshold sharing scheme is a perfect sharing scheme if for any secret s 0, any k participants can reconstruct the s 0 and any subset of k 1 or less participants gain no information about s 0. Let p 1,, p n represent the shares distributed to the n participants and let s be a variable over the secret sampling space. We can restate these requirements as follows. For any set of k indices {i 1, i 2,, i k }, we have and P rob(s = s 0 p i1, p i2,, p ik ) = 1 P rob(s = s 0 p i1, p i2,, p ik 1 ) = P rob(s = s 0 ). It is well known [4] that each [n, k, d] MDS code could be converted to a perfect and ideal (n, k) threshold sharing scheme. As an example, let g(z) = (z 1)(z α) (z α n k 1 ) = g 0 + g 1 z + + g n k z n k be the generator polynomial for the Reed-Solomon code over F = GF (q m ), where α is a primitive element of GF (q m ). For an information symbol polynomial f(z) = f 0 + f 1 z + + f k 1 z k 1, the encoding symbol polynomial c(z) = f(z)g(z).

4 For the above Reed-Solomon code, if we let the secret s = f 0 and distribute the remaining coefficients of c(z) to the n 1 participants respectively, then we obtain a perfect and ideal (n 1, k) threshold secret sharing scheme over GF (q m ). By applying a technique from Karnin, Greene, and Hellman [11], this scheme could be extended to an (n, k) threshold secret sharing scheme if we give c n = f 0 + + f k 1 to the nth participant. 3 (Pseudo) BP-XOR Secret Sharing Schemes and LDPC Secret Sharing Schemes Low density array codes have been studied extensively for burst error correction in communication systems and storage systems (see, e.g., [5, 6, 20]). Array codes are linear codes where information and parity data are placed in a two dimensional matrix array. In this section, we introduce several concepts of LDPC based secret sharing schemes. We first introduce the concepts of array BP-XOR codes which will then be used to define LDPC based secret sharing schemes. For fixed numbers l, b, k, n, let M = {0, 1} l be the message symbol set and α 1,, α bk be variables taking values from M, which are called information symbols. A t- erasure tolerating array code is a b n matrix C = [σ i,j ] 1 i b,1 j n such that each encoding symbol σ i,j {0, 1} l is the exclusive-or (XOR) of one or more information symbols from α 1,, α bk and α 1,, α bk could be recovered from any n t columns of the matrix. For an encoding symbol σ i,j = α i1 α iτ, we call α ij (1 j τ) a neighbor of σ i,j and call τ the degree of σ i,j. The Belief Propagation decoding process for binary symmetric channels (BSC) is present in Gallager [10] and is also used in artificial intelligence community [17]. The BP decoding process for binary erasure channels (BEC) is described as follows: (Cf. [13, 14]) If there is at least one encoding symbol that has exactly one neighbor then the neighbor can be recovered immediately. The value of the recovered information symbol is XORed into any remaining encoding symbols that have this information symbol as a neighbor. The recovered information symbol is removed as a neighbor of these encoding symbols and the degree of each such encoding symbol is decreased by one to reflect this removal. If we add the following additional step to each loop of the above BP decoding process, we obtain a new decoding process which we will call the pseudo-bp decoding process on the BEC: If all the neighbors of an encoding symbol σ i is a subset of the neighbor set of another encoding symbol σ j, then the value of σ i is XORed into all such kind of encoding symbols σ j. An array code C = [σ i,j ] 1 i b,1 j n is called an array BP-XOR code (respectively, array pseudo BP-XOR code) if all information symbols α 1,, α bk can be recovered from any n t columns of the matrix using the BP-decoding process on the BEC (respectively, the pseudo BP-decoding process on the BEC).

5 A t-erasure tolerating b n array code C is said to be maximum distance separable (MDS) if we have k = n t. The array code C over the alphabet M = {0, 1} l can be considered as a linear code over the extension alphabet M b of length n or a linear code over the alphabet M of length bn. A bt bn (respectively, bk bn) binary matrix is said to be a parity-check (respectively, generator) matrix of a b n array code C if it is a parity-check (respectively, generator) matrix of C when C is considered as a length bn linear code over the alphabet M. For example, the matrix H (respectively G) is a parity-check (respectively, generator) matrix of the array code C if we have Hy T = 0 (respectively, y = xg) where y = (σ 1,1,, σ b,1,, σ 1,n, σ b,n ), x = (α 1,, α bk ), and the addition of two strings in M is defined as the XOR on bits. An array code C is called low density parity-check (LDPC) if its parity-check (or equivalently, the generator) matrix contains small number of nonzero entries. For an MDS array code, it is straightforward to show that each row of the parity-check (respectively, the generator) matrix must contain at least n r + 1 (respectively, r + 1) nonzero entries (see [6] for a proof). Now we are ready for our definition of LDPC secret sharing schemes. Definition 1. An (n, k) threshold BP-XOR (respectively, pseudo BP-XOR or LDPC) secret sharing scheme S is an array BP-XOR (respectively, pseudo BP-XOR or LDPC) code C = [σ i,j ] 1 i b,1 j n+1 with the following conditions: the secret s 0 = σ 1,1 σ b,1 where denotes string concatenation. for 1 i n, the ith participant receives the share p i = σ 1,i+1 σ b,i+1 the secret distribution process in the above two steps generates a perfect (n, k) threshold secret sharing scheme. 4 Perfect and ideal (n, 2) threshold BP-XOR secret sharing schemes In this section, we first show the equivalence of degree 2 array BP-XOR codes and edgecolored graphs. We then use these results to design array BP-XOR codes and finally we convert these array BP-XOR codes to efficient perfect and ideal (n, 2) threshold BP- XOR secret sharing schemes. 4.1 Edge-colored graphs Wang and Desmedt [19] introduced the edge-colored graph model for modeling homogeneous faults in networks. Definition 2. (Wang and Desmedt [19]) An edge-colored graph is a tuple G(V, E, C, f), with V the node set, E the edge set, C the color set, and f a map from E onto C. The structure Z C,t = {Z : Z E and f(z) t}. is called a t-color adversary structure. Let A, B V be distinct nodes of G. A, B are called (t + 1)-color connected for t 1 if for any color set C t C of size t, there is

6 a path p from A to B in G such that the edges on p do not contain any color in C t. An edge-colored graph G is (t + 1)-color connected if and only if for any two nodes A and B in G, they are (t + 1)-color connected. Fig. 1. 3-color connected edge-colored graph G 4,2 v 3 v 1 v v 6 5 v 4 v 2 v 7 Table 1. Table representation of edge-colored graph G 4,2 v 1, v 6 v 2, v 7 v 3, v 1 v 4, v 2 v 2, v 5 v 3, v 6 v 4, v 7 v 5, v 1 v 3, v 4 v 4, v 5 v 5, v 6 v 6, v 7 As an example, Figure 1 shows a 3-color connected graph G 4,2 with 7 nodes, 12 edges, and 4 colors. The edge-colored graphs G 4,2 can also be represented by the Table 1 where the edges with the same color are put in the same column. Though Wang and Desmedt [19] presented a few simple constructions of edgecolored graphs with certain color connectivity, their results could not be extended to general cases and are not sufficient for our study of secret sharing schemes. In the following, we present a general construction of (t + 1)-color connected edge-colored graphs using perfect one-factorizations of complete graphs. We use K n = (V, E) to denote the complete graph with n nodes. For an even n, a one-factor of K n is a set of pairwise disjoint edges that partition the set of nodes in V. A one-factorization of K n (n is even) is a set of one-factors that partition the set of edges E. A one-factorization is called perfect (or P1F) if the union of every two distinct one-factors is a Hamiltonian circuit. It is shown (see, e.g., [1, 16]) that perfect one-factorizations for K p+1, K 2p, and certain K 2n do exist, where p is a prime number. It is conjectured that P1F exist for all K 2n.

7 Example 1. P1F for K p+1 : For an integer a, let a p denote the integer b {0,, p 1} such that b a mod p. Let V = {v 0, v 1,, v p } and F l = { l, p } {(v i+l p, v j+l p ) : i + j p = 0 and 0 i j < p}. Then F 0, F 1,, F p 1 is a perfect one factorization of K p+1. P1F for K 2p : Let V = {v 0,, v 2p 1 } and { {(vi, v j ) : i + j = l mod 2p} {(v l, v l F l = 2 2 +p)} if l is even {(v i, v j ) : i is odd, i j = l mod 2p} if l p is odd Then F 0, F 1,, F p 1, F p+1,, F 2p 2 is a perfect one factorization of K 2p. Theorem 1. Let n be an even number such that there is a perfect one-factorization F 1,, F n 1 for K n. For each t n 3, there exists a (t + 1)-color connected edge-colored graph G with n 1 nodes, (t + 2)(n/2 1) edges, and t + 2 colors. Proof. Let v 1,..., v n be a list of nodes for K n and V = {v 1,, v n 1 }. Let F i = F i \ { v n, v i : i = 1,, n 1}, E = F 1 F t+2, and color all edges in F i with the color c i for i t + 2. Then it is straightforward to check that the edge-colored graph (V, E) is (t + 1)-color connected, V = n 1, and E = (t + 2)(n/2 1). Remarks on Proof of Theorem 1: Since only node connectivity instead of Hamiltonian circuit is required for (t + 1)-color connected graphs, we could use F i instead of F i to construct the edge-colored graph. By using F i, we reduce t + 2 edges and one node in the resulting edge-colored graph. This will help us to keep the minimum cost for connectivity. 4.2 Constructing MDS array BP-XOR codes from edge-colored graphs We now use edge-colored graphs to construct array BP-XOR codes. As an example, we give the BP-XOR code corresponding to the graph G 4,2 from Table 1. First, each edge in Table 1 is mapped to the XOR of the two adjacent nodes. Then choose a fixed node (e.g., v 7 ) and remove all the occurrences of this node (e.g., v 7 ) to get the MDS array BP-XOR code in Table 2. Table 2. BP-XOR code corresponding to G 4,2 v 1 v 6 v 2 v 3 v 1 v 4 v 2 v 2 v 5 v 3 v 6 v 4 v 5 v 1 v 3 v 4 v 4 v 5 v 5 v 6 v 6 In the following, we give a general construction of array BP-XOR codes from edge-colored graphs. Let v 1, v 2,, v k, v k+1 be variables that take values from M = {0, 1} l, where l is any fixed length. Let G(V, E, C, f) be a (t+1)-color connected edgecolored graph with V = {v 1,, v k, v k+1 }, E = m, and C = {c 1, c 2,, c n }. If

8 we consider the nodes in G(V, E, C, f) as data block variables, edges as their parity check blocks of the adjacent nodes, and colors on the edges as labels for placing the parity checks into different columns of the array codes, then the following steps construct a b n array BP-XOR codes, where b = max c C { Z : Z E, f(z) = c}. 1. For 1 i n, let β i = {v i v j : v i, v j E, f( v i, v j ) = c i, and i, j k + 1} {v i : v i, v k+1 E, f( v i, v bk+1 ) = c i } 2. If β i is smaller than m, add empty element to β i to make it an m-element set. 3. The array BP-XOR code is specified by the b n matrix C G = (β T 1,, β T n ). Next we show that the above array BP-XOR code C G can tolerate t-erasure columns. Assume that the missing t columns of the code C G correspond to the t-color set C t C of the graph G. Since the graph G is (t + 1)-color connected, for any node v i0 V, we have a path p = v k+1, v i1, v i2,, v ij, v i0 without using any colors in C t. Thus v i0 could be recovered by the following equation v i0 = v i1 (v i1 v i2 ) (v ij v i0 ) where v i1, v i1 v i2,, v ij v i0 are all available in the non-missing columns. In another word, the Belief Propagation decoding process could be used to recover the entire data blocks v 1,, v k from the non-missing columns. The following theorem shows that each t-erasure tolerating array BP-XOR code with encoding symbols of degree one or two could be converted to a (t + 1)-color connected edge-colored graph also. Theorem 2. Let C be an b n array BP-XOR code with the following properties: 1. C is t-erasure tolerating; 2. C contains k information symbols; and 3. C contains only degree one and two encoding symbols. Then there exists a (t + 1)-color connected edge-colored graph G(V, E, C, f) with V = k + 1, E = bn, and C = n. Proof. Let v 1,, v k be the information symbols of C = [a i,j ] (i,j) [1,b] [1,n] and v i1,, v iu be a list of degree one encoding symbols in C. Then the (t + 1)-color connected edge-colored graph G(V, E, C, f) is defined by the following steps: 1. V = {v 1,, v k, v k+1 }; 2. E = j [1,u] { v k+1, v ij } { v i, v j : a i,j = v i v j C}; 3. C = {c 1,, c n }; 4. for each a i,j = v i v j C, let f( v i, v j ) = c j and for each a i,j = v i C let f( v k+1, v i ) = c j Let C t be a color set of size t and v i and v j be two nodes. Since the code C is t-erasure tolerating, both v i and v j could be recovered from encoding symbols not contained in the columns corresponding to the colors in C t. Thus there exists a path p (respectively, q) connecting v k+1 to v i (respectively, to v j ) without using C t -colored edges. It follows that G(V, E, C, f) is (t + 1)-color connected.

9 Theorem 3. Let n be an odd number such that there is a perfect one-factorization F 1,, F n for K n+1. Then for b = n 1 2, there exists an (n 2)-erasure tolerating MDS b n array BP-XOR code C b,n,2. Proof. It follows from Theorem 1 and the above discussions. Corollary 1. For given b and n 2b + 1, if 2b + 1 or b + 1 is a prime number, then there exists an (n 2)-erasure tolerating MDS b n array BP-XOR code C b,n,2. 4.3 Perfect and ideal 2-out-of-n BP-XOR secret sharing schemes with minimum update complexity By Corollary 1, there are MDS b n array BP-XOR codes C b,n,2 = [σ i,j ] if 2b + 1 or b + 1 is a prime number and n 2b + 1. Following the discussion in Section 2, we can convert C b,n,2 to a perfect and ideal (n 1, 2) threshold BP-XOR secret sharing schemes as follows. From our discussion in the previous section, the first column of C b,n,2 corresponds to a one-factor of an edge-colored graph. Without loss of generality, we may assume that the first column of C b,n,2 consists of v i1 v i 1, v i2 v i 2,, v ib v i b. For a given secret s = (s 1,, s b ) where s i {0, 1} l, the dealer chooses random values for v i 1,, v i b {0, 1} l and sets v i1 = v i 1 s 1, v i2 = v i 2 s 2,, v ib = v i b s b. The dealer computes the code C b,n,2 using the P1F of the complete graph K 2b+2 and securely distributes the (i + 1)th column of C b,n,2 to the participant p i. By the MDS property of C b,n,2, any two participants could use their shares to reconstruct the secret. Again by the MDS property of C b,n,2 and the discussion in Section 2, the above constructed secret sharing scheme is a perfect and ideal 2-out-of-(n 1) threshold secret sharing scheme. It should be noted that the above constructed secret sharing schemes have the minimum update complexity. By the property that each column of C b,n,2 corresponds to a subset of a one-factor of the edge-colored graph together with zero or one node in the graph, each node of the edge-colored graph have at most one occurrence in each column of C b,n,2. In our above secret sharing scheme, the secret corresponds to one half of the nodes in the edge-colored graph. Thus if one bit of the master secret changes, we need to update at most one bit for the shares of each participant (some participant s shares do not need to be updated if her shares do not contain the corresponding node). Obviously, this is best one could achieve. In another word, our secret sharing schemes achieve the minimum update complexity. 4.4 An example of (n, 2) BP-XOR secret sharing schemes Let n be the given number of participants for a desired perfect (n, 2) BP-XOR secret sharing scheme. The dealer chooses the least integer n n + 2 such that P1F for K n exists. Without loss of generality, we may assume that n = p + 1 where p is an odd prime (note that p n + 1). Using P1F design in Example 1 for K p+1 with V = {v 0,, v p }, we have { } F i = v 0+i p, v p ; v 1+i p, v p 1+i p ; ; v p 1 +i p, v 2 p+1 +i p 2

10 for 0 i p 1. Remove the edge v i, v p from F i and the remaining edges in F i is mapped to the XOR of the adjacent node variables and all occurrences of v 0 are removed. We then get the b p array BP-XOR code in Table 3 where b = (p 1)/2. Assume that the secret s = s 1 s b where s i {0, 1} l (we can always pad the secret Table 3. (p 1)/2 p BP-XOR code v 1 v p 1 v p 1 v p 3 v p 2 v 2 v p 2 v p 4 v 1 v p 3 v b v b+1 v b 2 v b 1 v b 1 v b to a multiple of b-bits if it is not). The dealer chooses random values for v b+1,, v p 1 from {0, 1} l and sets v 1 = s 1 v p 1,, v b = s b v b+1. For i = 1,, n, the ith participant receives the values in the (i + 1)th column of Table 3. It is straightforward to verify that the above scheme is a perfect and ideal (n, 2) secret sharing scheme. We should also note that the (p 1)/2 p BP-XOR code in Table 3 is equivalent to a code designed by Zaitsev, Zinov ev, and Semakov [9] which was later reformulated in [6, 20]. 5 The limitation of degree two encoding symbols for perfect and ideal (n, k) BP-XOR secret sharing schemes Generally, we have interests in designing perfect and ideal BP-XOR (n, k) secret sharing schemes for k > 2. Our results in this section show that degree two encoding symbols are not sufficient for designing perfect and ideal BP-XOR (n, k) secret sharing schemes with k > 2. We prove some bounds for array BP-XOR codes which can be automatically converted to perfect and ideal BP-XOR secret sharing schemes. In order for a t-erasure tolerating b n array BP-XOR code to be MDS, there need (n t)b information symbols. The following theorem provides a necessary condition for the existence of array BP-XOR codes when only degree one and two encoding symbols are used. Theorem 4. Let C = [a i,j ] (i,j) [1,b] [1,n] be a t-erasure tolerating array BP-XOR code with kb information symbols where k = n t. Assume that C uses degree one and two encoding symbols only and k > 2. Then we have n k 1 k 2 ( k 2 (k 2)b + 1 Proof. By the fact that C is t-erasure tolerating, each information symbol must occur in at least t + 1 columns. Since there are kb information symbols to encode, the total number of information symbol occurrences in C is at least kb(t + 1). ) (1)

11 In order for the BP decoding process to work, we must start from a degree one encoding symbol. Thus we need to have at least t + 1 degree one encoding symbols in distinct columns of C. This implies that we could use at most bn (t + 1) cells to hold encoding symbols for degree two. In another word, C contains at most 2(bn (t+1))+ t + 1 occurrences of information symbols. By the above fact, we must have kb(t + 1) 2(bn (t + 1)) + t + 1. By rearranging the terms and moving all terms to the right hand side, we get k(k 1)b ((k 2)b + 1)n + (k 1) 0. The above inequality could be rewritten as ( k(k 1) ((k 2)b + 1) k 2 ) n 2k 2 k 2 This implies the equation (1). The result in Theorem 4 shows that, for an (n 3)-erasure or (n 4)-erasure tolerating BP-XOR code, if we only use degree one and two encoding symbols then we have n 5. For the case of (n, k) threshold BP-XOR secret sharing schemes, these results could be interpreted as follows: If we only use degree one and two encoding symbols then we can only construct 3-out-of-4 or 4-out-of-4 BP-XOR secret sharing schemes. 6 Perfect and ideal (n, k) LDPC secret sharing schemes with minimum update complexity for k = 3, 4 The results in the previous section show that for the design of perfect and ideal (n, 3) and (n, 4) LDPC secret sharing schemes, we need to use high degree encoding symbols. In this section, we show how to convert two array codes in the literature to lowest density perfect and ideal (n, 3) and (n, 4) LDPC secret sharing schemes. For a prime number p, a class of low density (p 1)/k (p 1) array codes were introduced in Blaum and Roth [6] as a generalization of the code in Zaitsev, Zinov ev, and Semakov [9], yet the resulting codes are not necessarily MDS. Louidor and Roth [12] showed that when 2 is primitive in F p then the resulting array codes are the lowest density MDS array codes for k = 3, 4. It was conjectured that there are infinitely many primes p such that 2 is primitive in F p. Though these codes are LDPC array codes, they are not array BP-XOR codes. Thus the secret sharing schemes that we will obtain from these codes are perfect and ideal LDPC secret sharing schemes. But these codes could be converted to perfect but non-ideal (pseudo) BP-XOR secret sharing schemes (the details will be presented in the full version of this paper). For the construction of array codes in [12], let p be a prime such that 2 is primitive in F p. In the finite field F p, pick an element α of multiplicative order k = 3, 4 and an element β of multiplicative order p 1. Let C 1 = {0} and C 0 = {α 0, α 1,, α k 1 }

12 be the cyclic subgroup generated by α. For 1 i < p 1 k, let C i = β i C 0 be the coset of C 0. Then C 1, C 0,, C p 1 k 1 is a partition of {0, 1,, p 1}. For (i, j) 1] [0, p 2], let [ 1, p 1 k D i,j = C i + j p where C i +j p denotes the set that is obtained by adding j to the element of C i modulo p. It should be noted that exactly one of the sets D 1,j, D 0,j,, D p 1 k 1,j contains p 1. For each j [0, p 2], let D 0,j, D 1,j,, D p 1 k 1,j be a list of the sets D i,j such that p 1 / D i,j. Define the (p 1)/k (p 1) array code C k = [σ i,j ] by letting σ i,j be the XOR of all elements in D i,j. The authors in [12] showed that the array code C k (k = 3, 4) is an MDS code tolerating p 1 k erasure columns or p k 1 2 columns of errors. Using the techniques that we have used in Section 4, the above discussed LDPC MDS array codes C k = [σ i,j ] i [1,(p 1)/k],j [1,p 1] could be converted to perfect and ideal 3-out-of-(p 2) and 4-out-of-(p 2) LDPC secret sharing schemes by assigning the value of the secret s to the variables σ 1,1,, σ (p 1)/k,1 in the first column in the same way as we have done in Section 4. Based on the design of the array codes C k, it is straightforward to verify that if we change any single bit in the master secret, then we only need to change at most one bit in the shares of each participant. Indeed, since the code C k, has the lowest density among all MDS codes of the same size [12], the corresponding secret sharing schemes have the least update complexity. 7 Dual codes and perfect and ideal (n, k) LDPC secret sharing schemes for k = n 1, n 2, n 3 In the previous sections, we have described efficient perfect and ideal (n, 2) BP-XOR secret sharing schemes and perfect and ideal (n, k) LDPC secret sharing schemes for k = 3, 4. It should be noted that the dual of these secret sharing schemes are also secret sharing schemes. For the MDS b n array BP-XOR codes C b,n,2 with 2b + 1 or b + 1 being prime and n 2b + 1 in Section 4.3, the dual code Cb,n,2 D tolerates two erasure columns. If we use one column to define the secret, then it will tolerate one erasure column. Thus the array BP-XOR codes Cb,n,2 D will allow us to design (n 2)-out-of-(n 1) perfect and ideal BP-XOR secret sharing schemes. For the MDS LDPC (p 1)/k (p 1) array codes with k = 3, 4 in Section 6, the dual codes are MDS LDPC (p 1)/k (p 1) array codes that could tolerating k erasure columns. If we use one column to define the secret, then it will tolerate k 1 erasure columns. Thus the dual codes could be used to design perfect and ideal (p k 1)-outof-(p 2) lowest density LDPC secret sharing schemes for k = 3, 4. In another word, we can design perfect and ideal (n 2)-out-of-n (respectively, (n 3)-out-of-n) LDPC secret sharing schemes if n + 2 is prime and 2 is primitive in F n+2.

13 8 Private and reliable cloud storage Due to the advancement of cloud computing technologies, there has been an increased interest for individuals and business entities to move their data from traditional private data center to cloud servers. Indeed, even popular storage service providers such as Dropbox use third party cloud storage providers such as Amazon s Simple Storage Service (S3) for data storage. With the wide adoption of cloud computing and storage technologies, it is important to consider data privacy and reliability issues for cloud storage services. In order to achieve reliability, data should be stored in multiple cloud storage servers with redundancy. If no privacy is required, then we can use the MDS BP-XOR codes (respectively, LDPC codes) constructed in Section 4.2 (respectively, Section 6) to store data within n cloud servers and the original data could be recovered from any 2 (respectively, 3 or 4) of the surviving servers. This will be sufficient for most cloud based applications. If the user is also concerned with data privacy and does not trust a single cloud server, the user may use the perfect and ideal (n, 2) threshold BP-XOR secret sharing schemes in Section 4 or the perfect and ideal (n, k) threshold LDPC secret sharing schemes with k = 3, 4 in Section 6 to store the data in n servers. By using these secret sharing schemes, no single cloud server (respectively, 2 or 3 cloud servers jointly) could learn any information of the data. These schemes are very efficient since only linear number (in size of the data) of XOR operations are needed for data storage and recovery. This kind of efficiency is impossible with existing schemes such as Shamir secret sharing schemes. Privacy preserving data update is simple in BP-XOR or LDPC secret sharing scheme based cloud storage. As an example, if the 2-out-of-n secret sharing scheme based on Table 3 is used, then the first column of C b,n,2 corresponds to the data file. In other words, F = v 1 v p 1 v 2 v p 2 v b v b+1 where v i {0, 1} l. Now assume that the first bit of F is flipped. This is equivalent to flipping the first bit of v p 1. Thus the data owner only needs to inform each server to flip one bit at certain location without leaking any other information. In Section 4.3, we converted BP-XOR codes C b,n,2 to perfect and ideal 2-out-of- (n 1) secret sharing schemes by letting the first column of C b,n,2 to represent the secret data. Indeed, we may also use a keyed pseudo random function H to generate the random bits in the secret distribution phase and obtain secret sharing schemes with some additional useful properties. In the following, we use a prefix (wildcard) search example to show how the user could carry search in cloud environments without downloand the entire data to the local drive. A given data file F is divided into words (the searchable unit) of length l. In other words, F = s 1 s 2 where s i M = {0, 1} l. Without loss of generality, we may assume that F = s 1 s b (larger files could be divided into blocks of size b and processed separately). In order to design a scheme that allows privacy preserving prefix search on the shares, we use a keyed pseudo random function H to generate the random bits during

14 the secret distribution phase. In Table 3, the first column of C b,n,2 corresponds to a onefactor of a complete graph: v 1 v p 1, v 2 v p 2,, v b v b+1. For the data file F = s 1 s b with identifier id, the data owner sets v 1 = H(key, id, 1),, v b = H(key, id, b) {0, 1} l where key is a secret that the data owner holds, and sets v p 1 = v 1 s 1, v p 2 = v 2 s 2,, v b+1 = v b s b. The data owner computes the code C b,n,2 and stores the (i + 1)th column of C b,n,2 in the ith cloud server. Note that in this implementation, the entire data file F could either be recovered from any two cloud servers or from the secret key value and the entire data from one cloud server together with at most one additional block of data from a second cloud server, though any single server learns zero information about F (due to the perfect secret sharing property). This kind of scheme may have various applications for cloud data storage. For example, it may allow the application to build certain kind of secure computation over the encrypted data (that is, the shares at the storage servers). Assume that the data owner wants to search whether the data file F contains a word with prefix s with s l. For different cloud servers, the data owner needs to create different search queries. Assume that the query is submitted to the first server that stores: v 2, v 3 v p 1,, v b+1 v b+2. In order to check whether s 1 has prefix s, it is sufficient to check whether v 1 v p 1 has prefix s. This is equivalent to show that the share v 3 v p 1 in the server has prefix v 3 v 1 s (here we reduce both v 3 and v 1 to the size s by only using the first s bits). Since the values of v 1 and v 3 could be generated from the secret key, the data owner will be able to generate this query. It should be noted that neither the value of s nor the value of the original data file is leaked during this query. It is straightforward to convert a privacy preserving prefix search scheme to an efficient privacy preserving keyword search scheme. This follows from the following observation: For a file F, one can put the keywords of F as the prefix of F and obtain F = s 1 s b where F = s 2 s b and s 1 begins with the keywords of F. Thus it is sufficient to search whether s 1 contains the keyword. Similarly, the keyed pseudo random function techniques could be applied to the 3-out-of-n (respectively, 4-out-of-n) secret sharing schemes in Section 6 so that the original data file could be recovered from either 3 surviving servers (respectively, 4 surviving servers) or from the secret key and 2 surviving servers (respectively, 3 surviving servers). Note that for these schemes, we do not need the additional data block from the 3rd server (respectively, the 4th server). 9 An example of perfect and ideal 3-out-11 LDPC secret sharing schemes We conclude our paper by presenting an example of a perfect and ideal 3-out-11 LDPC secret sharing scheme. Since 2 is primitive in F 13, we can choose p = 13, α = 3, and

15 β = 2. Then we have C 1 = {0} C 0 = {1, 3, 9} C 1 = {2, 6, 5} C 2 = {4, 12, 10} C 0 = {8, 7, 11} Following the process described in Section 6, we have the 4 12 array code in Table 4. Note that for consistence with our other notations, we replaced 0 with 12 in Table 4. Table 4. 4 12 array code (not array BP-XOR code) v 1 v 2 v 3 v 4 v 5 v 6 v 2 v 4 v 10 v 3 v 5 v 11 v 5 v 8 v 9 v 5 v 7 v 12 v 6 v 8 v 1 v 7 v 9 v 2 v 3 v 6 v 7 v 4 v 7 v 8 v 7 v 2 v 12 v 6 v 9 v 10 v 7 v 10 v 11 v 10 v 5 v 3 v 12 v 5 v 11 v 9 v 10 v 12 v 10 v 11 v 1 v 8 v 3 v 1 v 2 v 4 v 9 v 1 v 12 v 4 v 7 v 8 v 9 v 10 v 11 v 12 v 3 v 8 v 10 v 4 v 9 v 11 v 1 v 2 v 11 v 11 v 12 v 6 v 12 v 3 v 4 v 1 v 3 v 9 v 4 v 6 v 11 v 10 v 1 v 12 v 3 v 4 v 7 v 4 v 5 v 8 v 5 v 6 v 9 v 2 v 6 v 5 v 1 v 2 v 5 v 2 v 3 v 6 v 12 v 8 v 6 v 1 v 7 v 9 v 2 v 8 v 10 v 8 v 7 v 11 For a 3-out-of-11 secret sharing scheme, let the master secret s = s 1 s 2 s 3 s 4 where s i {0, 1} l. Choose random values for v 4, v 5, v 6, v 7, v 8, v 9, v 10, v 11 from {0, 1} l and let v 1 = s 1, v 2 = s 2 v 4 v 10, v 3 = s 3 v 6 v 7, and v 12 = s 4 v 5 v 11. Then we get the perfect and ideal LDPC 3-out-of-11 secret sharing scheme in Table 5. References 1. B.A. Anderson. Finite topologies and hamiltonian paths. Journal of Combinatorial Theory, Series B, 14(1):87 93, 1973. 2. J. Benaloh. Secret sharing homomorphisms: keeping shares of a secret secret. In Proceedings on Advances in cryptology CRYPTO 86, pages 251 260. Springer-Verlag, 1987. 3. G. R. Blakley. Safeguarding cryptographic keys. Managing Requirements Knowledge, International Workshop on, 0:313, 1979. 4. G. R. Blakley and G. A. Kabatianski. Ideal perfect threshold schemes and MDS codes. In IEEE Conf. Proc., Int. Symp. Information Theory, ISIT 95, pages 488 488, 1995. 5. M. Blaum and R. M. Roth. New array codes for multiple phased burst correction. IEEE Trans. on Information Theory, 39(1):66 77, 1993. 6. M. Blaum and R. M. Roth. On lowest-density MDS codes. IEEE Trans. on Information Theory, 45:46 59, 1999. 7. R. Cramer and S. Fehr. Optimal black-box secret sharing over arbitrary abelian groups. In CRYPTO, pages 272 287, 2002. 8. Y. Desmedt and Y. Frankel. Homomorphic zero-knowledge threshold schemes over any finite abelian group. SIAM Journal on Discrete Mathematics, 7(4):667 679, 1994.

16 Table 5. 3-out-of-11 LDPC secret sharing scheme secret part 1: s 1 s 2 v 4 v 10 s 3 v 6 v 7 secret part 2: s 2 s 3 v 6 v 7 v 5 v 11 v 5 v 8 v 9 secret part 3: s 3 v 4 v 7 v 8 v 7 s 2 v 4 v 10 s 4 v 5 v 11 secret part 4: s 4 v 9 v 10 s 4 v 5 v 11 v 10 v 11 s 1 v 4 v 5 v 6 v 7 s 4 v 11 v 6 v 8 s 1 v 7 v 9 s 2 v 4 v 10 v 6 v 9 v 10 v 7 v 10 v 11 v 10 v 5 s 3 v 6 v 7 v 8 s 3 v 6 v 7 s 1 s 2 v 10 v 9 s 1 s 4 v 5 v 11 v 4 v 7 v 8 v 9 s 3 v 6 v 7 v 8 v 10 v 4 v 9 v 11 s 1 s 2 v 4 v 10 v 11 v 4 v 6 v 11 v 10 s 1 s 4 v 5 v 11 s 3 v 6 v 4 s 1 s 2 v 4 v 10 v 5 s 2 v 4 v 10 s 3 v 7 s 4 v 5 v 11 v 8 v 6 v 10 v 11 s 4 v 5 v 11 s 4 v 5 v 6 s 4 v 5 v 11 s 3 v 6 v 7 v 4 s 1 s 3 v 6 v 7 v 9 v 4 v 5 v 8 v 5 v 6 v 9 s 2 v 4 v 10 v 6 v 5 s 1 v 7 v 9 s 2 v 4 v 8 v 8 v 7 v 11 9. N. V. Semakov G. V. Zaitsev, V. A. Zinov ev. Minimum-check-density codes for correcting bytes of errors, erasures, or defects. Problems Inform. Transmission, 19(3):197 204, 1983. 10. R. G. Gallager. Low density Parity Check Codes. MIT Press, 1963. 11. E. Karnin, J. Greene, and M. Hellman. On secret sharing systems. Information Theory, IEEE Transactions on, 29(1):35 41, jan 1983. 12. E. Louidor and R. M. Roth. Lowest density MDS codes over extension alphabets. IEEE Trans. Inf. Theor., 52(7):3186 3197, 2006. 13. M. Luby. LT codes. In Proc. FOCS, pages 271 280, 2002. 14. M. Luby, M. Mitzenmacher, M. Shokrollahi, and D. Spielman. Efficient erasure correcting codes. IEEE Transactions on Information Theory, 47:569 584, 2001. 15. F. J. MacWilliams and N. J. A. Sloane. The theory of error-correcting codes. NH Pub. Company, 1978. 16. R. Mendelsohn and A. Rosa. One-factorizations of the complete grapha survey. Journal of Graph Teory, 9(1):43 65, 1985. 17. J. Pearl. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann, 1988. 18. Adi Shamir. How to share a secret. Commun. ACM, 22(11):612 613, November 1979. 19. Yongge Wang and Yvo Desmedt. Edge-colored graphs with applications to homogeneous faults. Inf. Process. Lett., 111(13):634 641, July 2011. 20. L. Xu, V. Bohossian, J. Bruck, and D. Wagner. Low density mds codes and factors of complete graphs. IEEE Trans. Inf. Theor., 45:1817 1826, 1998.