• 沒有找到結果。

Chapter 1 Introduction

1.2 Related Works

In this section, some previous works about Secret Sharing and Image Hiding technology will be reviewed. In Section 1.2.1, Shamir’s secret sharing method [1], Thien and Lin’s image sharing algorithm [7] and Galois field will be described briefly.

In Section 1.2.2, we will introduce a simple method to hide a base-k digit stream in a

host image.

Because base transform is commonly used repeatedly in this thesis, it is also reviewed in Section 1.2.3.

1.2.1 Review of Secret Sharing

Sharing technology is one of the commonly used methods to protect secret data.

Shamir’s secret sharing [1] is a threshold method based on the polynomial interpolation. The (t, n)-threshold secret sharing scheme can disperse the secret data into n shadows, and each shadow has the properties below:

1. Any t (or more) out of n shadows can be used to reconstruct the secret data.

2. Any t-1 (or fewer) shadows cannot be get any information about the secret data.

The secret data could be text files, images, multimedia data, or encryption/decryption keys. The polynomial used in Shamir’s method is described below:

Shamir’s (t, n)-threshold secret sharing:

For (t, n)-threshold sharing, let

1 1 2

2 1

0 ...

)

(x =a +ax+a x + +at xt Q

where is the secret data, are random numbers, and the n shadows

are . Any t-1 or fewer shadows can’t get any useful

information about the secret data. However, when people receive any t of those shadows, they can evaluate the secret data by using Lagrange interpolation.

a0 a1,a2,...,at1 )}

( , { )},..., 2 ( , 2 { )}, 1 ( , 1

{ Q Q n Q n

a0

In order to save space, Thien and Lin [7] modify the above idea and apply it to the sharing of secret images. For (t, n)-threshold scheme of secret image sharing, an image f of size L is breaks into n shadows, and each shadow has following properties:

1. Any t (or more) out of n shadows can be used to reconstruct the secret image.

2. The size of each shadow is L/t.

The algorithm is very similar to Shamir’s secret sharing scheme, and we introduce the method below.

(t, n)-threshold Secret Image Sharing:

Steps:

1. For whole secret image, if a pixel value g is larger than 250, then change the value into 250, and creates one more pixel whose gray value is g-250.

2. Encrypt the secret image by a encryption key.

3. Divide the secret image into several sections, each section has t pixels.

4. For each section, we define the polynomial ) 251 (mod ...

)

(x =a0+a1x+a2x2 + +at1xt1 P

where a0,a1,...,at1 are t pixels of the section.

5. Evaluate Share1 =P(1), Share2 =P(2), ..., Sharen = P(n). Each is assigned to each shadow image i.

Sharei

When we receive any t of those shadow images, we can evaluate the secret pixels by using Lagrange interpolation.

If some pixel values of the secret image are larger than 250, the coding, decoding, and share size will all be influenced a little. A better method is that, we change the finite field of the sharing polynomial, as below:

Let Galois field be a finite field, denoted by , where p is a prime number, and n is a positive integer. In this thesis, unless stated otherwise, the polynomial sharing technology works on , rather than GF(251).

) (pn GF

) 256 ( ) 2

( 8 GF

GF =

1.2.2 Review of Image Hiding

Image hiding is a method to embed some secret data in a cover image. For the same hiding capacity, the goal is usually to reduce the difference between the cover

image and the stego image for human’s sense. The simplest hiding method is the least significant bit (LSB) method; the data are embedded in the least k bits of the pixels. In order to improve the image quality of the cover image, Thien and Lin present a method to embed the secret data by using modulo operation [28]. Thien and Lin’s algorithm is more complex than the LSB method; in this thesis, we use a simpler method [30] whose performance is identical to Thien & Lin’s, as below:

Algorithm of module-based data hiding

Let p be a pixel value, d∈{0,1,…,b-1} a secret digit to be hidden, and b the module-base. To embed d in p, we replace p by ' [ ]

b d rounding p b

d

p = + × − . If p'<0, then p'← 'p+b. Similarly, if p'>255, then p'← 'pb.

Here, the rounding operator means rounding to the “nearest” integer. Also, we assume the pixel value is at least 0 and at most 255. Later, if we want to extract the value d from p′, just use dp'(modb).

1.2.3 Base Transform

In this thesis, changing the base of a digital stream is a tool used often. We propose a simple method to do this. An example of our method is shown in Fig. 1.2.

In this example, we change the base of a digit stream from 5 to 7. The method can be

divided into two stages. In the first stage, we generate a look up table, as shown in Fig.

1.2(a). This table can map each digit to a binary code. Thus, a binary stream could be yielded. In the second stage, we generate a 7-base look up table, as shown in Fig.

1.2(b). By using the table, we can transform the binary stream into a base-7 digit stream. Later, if we want to convert the digital stream into the original stream, we only reverse this procedure.

(a)

Fig. 1.2. An example to change the base of a digital stream from 5 to 7. (a) base-5 look up table. (b) base-7 look up table.

111

Algorithm of generating a base-k look up table Input: The base k.

Output: A look up table.

Steps:

1. Evaluate integers c and b so that c=

log2k

and b= 2ck.

2. For each digit from 0 through b-1, the corresponding binary code is its

(c-1)-bit binary expression 0(for example, , ,

, …).

3. Let B denote the (c-1)-bit binary expression of b, then append a zero to the right of B, which is the corresponding binary code of b.

4. Each digit from b+1 to k-1 is obtained by adding value to B accordingly.

相關文件