You are on page 1of 26

Multimed Tools Appl

DOI 10.1007/s11042-016-3775-6

A joint image lossless compression and encryption method


based on chaotic map

Xiao-Jun Tong 1 & Penghui Chen 1 & Miao Zhang 1

Received: 11 March 2016 / Revised: 4 July 2016 / Accepted: 7 July 2016


# Springer Science+Business Media New York 2016

Abstract Nowadays poor security, low transmission and storage efficiency of images have
become serious concerns. In order to improve the situation, this paper put forward a new image
lossless compression joint encryption algorithm based on chaotic map with all original infor-
mation intact. The lossless compression uses SPIHT(Set Partitioning in Hierarchical Trees)
encoding method based on integer wavelet transform, and encrypt multiple rounds in the
process of wavelet coefficients and SPIHT coding applying many kinds of chaotic maps.
Experimental results show that the compressed file size is about 50 % of the original file size,
which achieves relatively good lossless compression ratio. Besides, the encryption method
passes many security tests, such as sensitivity test, entropy test, autocorrelation test, NIST
SP800–22 test. There is a high application value in the medical field and the national security
department whose image files require a relatively high quality.

Keywords Compression joint encryption . Lossless compression . Chaotic image encryption .


SPIHT . Integer wavelet transform

1 Introduction

With the development and popularization of network technology, the amount of network
information is increasing exponentially. Therefore, the huge amount of image files storage is so
tough that image compression has become an essential solution. Meanwhile, in some fields,

* Xiao-Jun Tong
tong_xiaojun@163.com

Penghui Chen
cph9109@163.com
Miao Zhang
zhangmiaozm209@126.com

1
School of Computer Science and Technology, Harbin Institute of Technology, Weihai, Shandong
Province 264209, People’s Republic of China
Multimed Tools Appl

such as medical, aerospace, national security departments, also require the image can be
lossless recovered after compression; therefore lossless compression is of great significance.
As the network is widely available, network security issues have become very serious.
Viruses, worms, Trojan horses and other malicious programs have grown crazily [18].
And the image encryption and some information security such as data hiding is of great
siginifiance [15, 16, 19, 29]. In order to ensure the security in the process of the image
transmission and storage, it is a relatively safe practice to encrypt the image when
compressed.
Compression and encryption should not be carried out separately. Traditional approach is to
encrypt and compress in two steps: usually the image is first compressed and then encrypted, if
the order is reversed, a good compression ratio will not be achieved [27]. If it is carried out
separately, another problem is that the attacker can attack encryption directly ignoring
compression when deciphers the image [24]. Now there are two mainstream research
ideas: the first one is to encrypt in the process of image encoding, and then embeds
encryption algorithm seamlessly during the compression, so that the compression and
encryption can be simultaneous; the second is to encrypt selectively, for some image
of particular format, encrypting a portion of the key data can encrypt the whole image
[25]. Jiaxian Deng and Yuli Ren added improved Zero Tree Encoding to arithmetic
coding in wavelet sub-band, achieving selective encryption to different resolution of
wavelet coefficients [4]. Di Wang and other scientists encrypted compression key
stream generated by entropy encoding after using improved Zero Tree Encoding and
key stream generated by hyper chaotic chen system. So it achieved the correlation
between the encryption and plaintext and the joint of compression and encryption
[21]. Wang and other scientists first used Logistic chaotic map to encrypt the original
image, and then did arithmetic coding, finally encrypted the encoded file once again.
But there is essentially no encryption during the compression, and the image com-
pression ratio is badly affected by encryption if it is done before compression [22]. Li
and other scientists discussed image compression and encryption method applied in
the wireless sensor network, and compressed the image in the spatial domain and
frequency domain image respectively using Quadtree. Considering the particularity of
the wireless sensor network, only the important part is encrypted to save network
workload [8]. Only few image compression joint encryption algorithms are about lossless
image compression joint encryption algorithm. Although Huaqian Yang and Xiaofeng Liao
[27] use the image-based SPIHT compression algorithm, it is only a selective encryption to the
wavelet coefficients ,which is detrimental to compression algorithm. Besides, the encryption
process is not involved in the SPIHT coding process, so compression and encryption are
of little relevance. In this paper, the lossless image compression joint encryption algorithm
based on integer wavelet transform SPIHT is applied, and selects three parts to encrypt
using chaotic map —some of the important wavelet coefficients , code stream generated
during SPIHT encoding and code stream generated after SPIHT encoding,which gets
encryption really involved in the compression. Furthermore, multiple nested encryption
will be done while the compressed stream is generated, increasing the difficulty of
deciphering and ensuring the safety of the compressed sequence.
The rest of this paper is organized as follows. Integer wavelet transform and detail process
of SPIHT are given in section 2. The third section mainly describes the image lossless
compression and encryption algorithm. The security test results and analysis are given in
section 4. Finally, the conclusions are drawn in section 5.
Multimed Tools Appl

2 Research on image lossless compression algorithm

2.1 Integer wavelet transform for image compression

As a fast, efficient and precise approximate method, wavelet analysis is a breakthrough for
Fourier analysis, which solves the problem that the Fourier transform can’t provide frequency
information of the signal at a certain time [20]. Therefore, it has been internationally recog-
nized as a forefront method in image and signal processing.
In the static image compression standard JPEG2000 [23], discrete wavelet transform
has officially become the standard in place of the discrete cosine transform compression
algorithm. In the compression standard, lossless compression uses the lifting (5–3)
biorthogonal wavelet filter, and lossy compression uses the lifting (9–7) biorthogonal wavelet
filter.
Wavelet transform of the image mainly refers to the two-dimensional discrete wavelet
transform. The pixel value is transformed to a series of sub images of different resolution
by the two-dimensional discrete wavelet transform. The pyramid structure formed by
multi-wavelet decomposition of two dimensional images can distinguish the image of
high frequency and low frequency components, which performs well in data decorrelation.
It can compress the image through rounding the wavelet coefficients when some coefficients are
close to zero.
For lossless image compress process, the wavelet coefficients must be all saved after
wavelet transformation. But in the traditional wavelet transformation process, the wavelet
coefficients will be fractional. Before proceeding to the next encoding, the wavelet coefficients
must be in Brounding^ process, so the loss of wavelet coefficients energy occurs in the
approximation process, and inverse wavelet transform will not revert to the original image
in the end.  
If change x in the factor ui(z) and pi(z) with x þ 12 in lifting steps, the integer wavelet
transformation can achieve energy lossless. This non-linear transformation makes the wavelet
coefficients integers after being filtered, which provides a foundation for lossless image
compression.
As the basis for Integer wavelet transform, lifting scheme [28] is divided into three steps:
Split, Predict and Update.

Split:Operate lazy wavelet transform to the input signal: the elements which are in even
position are put in the set evenj − 1,Similarly, the set oddj − 1 contains the elements which are
in the odd position. The mathematical notation of that two sets are shown in formula (1).

  
even j−1 ¼ s j;2l 0≤l ≤2 j−1 −1
  ð1Þ
odd j−1 ¼ s j;2lþ1 0≤l ≤2 j−1 −1

Predict: Because of the correlation between adjacent pixels images, the next signal to an odd
value Sj , 2l + 1 , and a prediction error dj − 1 can be predicted by even sj , 2l and irrelevant data
structure operator P. The predict rule is shown in formula (2).

 
d j−1;l ¼ s j;2lþ1 −P s j;2l ð2Þ
Multimed Tools Appl

Update: In order to ensure that the low-frequency signal and the original signal have the
same average value, the even set in first step BSplit^ should be modified, which will
ensure the last transform coefficient s0 , 0 is the average value of total original signal by
introducing operator U. The predict rule is shown in formula (3).

 
s j−1;l ¼ s j;2l þ U d j−1;l ð3Þ

Lifting scheme of forward wavelet transform schematic diagram is shown in Fig. 1:


This paper uses CDF (4, 2) [3] interpolating wavelet transform as the default filter, and
(N1,N2) respectively represents its vanishing moment of the decomposition filter and synthesis
filter, which has a good performance in the use of lossless image wavelet in the Ref. [13].
The integer form of CDF (4–2) interpolating wavelet transform is shown in formula (4) [1]:

9   1   1
d 1;l ¼ s0;2lþ1 − s0;2l þ s0;2lþ2 − s0;2l−2 þ s0;2lþ4 þ
16
16 2
ð4Þ
1  1
s1;l ¼ s0;2l þ d 1;l−1 þ d 1;l þ
4 2

The pixel matrix of the gray image is the input for this program,the matrix is used for the
input of the SPIHT encoding after the CDF (4–2) interpolating wavelet transform.

2.2 SPIHT encoding

(1) Tree structure of the SPIHT algorithm

SPIHT(Set Partitioning in Hierarchical Trees) encoding [17] is a kind of bit plane coding
and the improved algorithm of EZW(Embedded Zero-tree Wavelet). The algorithm can
generate embedded bit stream, and decompress and reconstruct the image when the receive
bit is canceled in any position, which has good progressive transmission. Spatial orientation
tree structure used in SPIHT algorithm is shown in Fig. 2:
Specifically, each node of the tree corresponds to a wavelet coefficient, using (i, j) to
represent the node position. The SPIHT rule is: all nodes (i, j) have 4 children (2i, 2j), (2i, 2j + 1),
(2i + 1,2j), (2i + 1,2j + 1), except the lowest frequency sub-band node (1,1) ( represented
by * in Fig. 2).

Fig. 1 Lifting scheme of forward


wavelet transform
Multimed Tools Appl

Fig. 2 Tree structure of SPIHT


algorithm

(2) SPIHT encoding principle

SPIHT encoding mainly operates on three arrays: LIP (List of Insignificant Pixels), LIS
(List of Insignificant Sets), LSP (List of Insignificant Pixels). The process of algorithm
involves several different arrays operations. These arrays include H,O,D and L.

1) H: The wavelet coefficient set is the coordinate set of all the roots, and it is a collection of
all the coefficients of LLN , LHN , HLN , HHN.
2) O(i, j) = {(2i, 2j), (2i, 2j + 1), (2i + 1, 2j), (2i + 1, 2j + 1)}represents the coordinates of all
the children of the node (i,j). According to the characteristics of tree structure, arbitrary
coordinate coefficient (i,j) satisfies the above formula, except LLN , LH1 , HL1 , HH1.
3) D(i, j): Coordinate set of all the descendants of (i,j) includes the children of (i,j).
4) L(i, j) = D(i, j) − O(i, j): Coordinates of all non-direct descendants of node (i,j).

Algorithms are divided into three major steps:

1) Initialization

Set threshold T=2n,n = ⌊log2(max(i, j){| ci , j| })⌋, ci , jfor wavelet coefficient. If the wavelet
coefficient is greater than or equal to the threshold T, it is considered that wavelet coefficient is
Bimportant^ otherwise it is Bnot important^.
Define the three sets:
LSP ¼ φ
LIP ¼ fði; jÞjði; jÞ∈H g
LIS ¼ fði; jÞjði; jÞ∈H and ði; jÞ has non zero descendantg

The nodes (i, j) in LIP and LIS follow the order of Mortan scan, and the scan sequence is
shown in Fig. 3.

2) Sorting pass

One sort of sorting pass is shown in Fig. 4.


Multimed Tools Appl

Fig. 3 Scanning sequence of


wavelet coefficients in SPIHT

Specifically, one sort of scan step is divided into two major steps:

Step 1. Sequentially scan whether all wavelet coefficients (i, j) in set LIP is important: if
the wavelet coefficient is important, output B1^ and the sign bit, then coefficient
(i, j) is removed from LIP, and add it to the tail of the LSP; if the wavelet
coefficient is not important, output B0^.
Step 2. Process each table in LIS, and the processing mode of the D table and the L table
are different:

& D table

If D table is important, output B1^, and let D(i, j) for the diversity operation. The operation
mode as follows.
D(i, j) = L(i, j) + 4(k, l),(k, l) ∈ O(i, j), and process these 4 children nodes (k,l). If (k,l) is an
important coefficient, output B1^ and the sign bit, then add the coefficient.

Fig. 4 Sorting pass Begin

Loop process LSP

Operate LIS

Operate D Table Operate L Table

Output appropriate information

Add important factor to LSP

End
Multimed Tools Appl

(k,l) to the tail of LSP. Otherwise, output B0^ and add the coefficient (k, l) to the tail of LIP.
The final operation is L (i, j): If L(i, j) ≠ φ, then move L(i, j) to the tail of LIS, otherwise D(i, j)
is removed from the LIS.
If D table is not important, output B0^.

& L table

If L table is important, output B1^, and let L (i, j) for the diversity operation. The operation
mode as followsL(i, j) = 4D(k, l) , (k, l) ∈ O(i, j), D (k, l) are added to the tail of the LIS table,
and then the L(i, j) is removed from the LIS. If L(i,j) is not important, output symbol B0^.
After all of the items in each table added in the scan process and the items in LIS before the
start of scan are processed, the scan process is finished.

3) Refinement pass
The purpose of the refinement pass is to give an improvement in the current bit plane,
which is not an important factor in the current position of the sorting pass.
If (i, j) in LSP is not newly added in sorting pass, output the n th most important
bits in binary representation of |ci , j|,and T = 2n is set in the scanning process of
threshold.
After the algorithm completes a specified threshold scan, the coefficient n is
reduced to n-1, proceeding the next sorting pass and refining pass until the scan
threshold is 1.
After the scan, the image in need of compression transforms from an image matrix into 1
row L column ‘01’ sequence matrix. Then regard the ‘01’ series of each bit as binary code
stored in a file, and the image compression process will be completed.

3 Image lossless compression joint encryption algorithm

3.1 Algorithm flow of image lossless compression joint encryption

The algorithm flow of image lossless compression joint encryption is shown in Fig. 5.
The algorithm flow is divided into two major phases: the preparation phase for encoding
and encoding phase.
In the first phase, the main phase of the preparation stage is: the integer wavelet transform
of the image, and then the key stream generated by the chaotic map is used for the local
diffusion and overall scrambling of the wavelet coefficients.
In encoding stage, the first is to do SPIHT encoding to encrypted wavelet coefficients while
does multiple rounds encryption to the stream. Then carry on the overall code stream
encryption after the encoding.

3.2 Chaotic sequence generation and encryption algorithm

This paper carries out three encryptions, the method and the key of the three encryptions
are different, and the use of different maps and encryption are described in the following
parts in detail.
Multimed Tools Appl

Fig. 5 Algorithm flow of Image Begin


lossless compression joint
encryption
Load grayscale image

CDF (4, 2) interpolating


wavelet transform Lorenz map and
Henon map

Quantized chaotic
wavelet coefficients
sequence

Coefficients encryption

Logistic map
SPIHT encoding wavelet
coefficients
Quantized chaotic
sequence

Encrypt encoding sequence

Whole bitstream
bulk encryption

Encrypted compression bitstream

End

3.2.1 Lorenz map used for diffusing wavelet coefficient

The Lorenz map is the first recognised example of intrinsic randomness of chaos in a nonlinear
system [12]. The Lorenz chaos map is shown in the formula (5).

8
>
> dx
>
> ¼ aðy−xÞ
>
< dt
dy
¼ cx−xz−y ð5Þ
>
> dt
>
>
> dz
: ¼ xy−bz
dt

Methods of operating diffusion wavelet coefficients as follows:

(1) Generating chaotic sequence


The Lorenz map is in chaos when a = 10,b = 8/3,c = 28. First enter the initial values of x0 ,
y0 , z0and then iteration. Iterative 3000 to eliminate transient effects. The number of chaotic
sequences generated is the number of wavelet coefficients in need of encryption.
Multimed Tools Appl

(2) Quantification method


Three real numbers of chaotic sequences are referred to as X, Y, Z,and E,F,G are the
quantization for X,Y, Z. The quantization method is shown in formula (6):
E ðnÞ ¼ mod ðY ðnÞ*1000; 256Þ
F ðnÞ ¼ mod ðZ ðnÞ*1000; 256Þ ð6Þ
GðnÞ ¼ mod ðX ðnÞ*1000; 256Þ

And then, according to the E, F, G sequence, T sequence is synthesized, and the generation
method of the sequence is shown in formula (7).
TðmÞ ¼ bitxorðEðmÞ; FðmÞÞ if modðm; 3Þ ¼¼ 0
TðmÞ ¼ bitxorð FðmÞ; GðmÞ if modðm; 3Þ ¼¼ 1 ð7Þ
TðmÞ ¼ bitxorðGðmÞ; EðmÞÞ if modðm; 3Þ ¼¼ 2

Among them, m is the number of wavelet coefficients in need of encryption, and bitxor is
bitwise XOR function.

(3) Encryption method


The encryption mode is OFB (output feedback mode) [10]: the encryption of a wavelet
coefficient is used as the input to the next wavelet coefficients encryption algorithm. The
coefficient of encryption uses bitwise XOR mode. Specific steps are shown in formula (8).
8
>
> C ðmÞ ¼ bitxorðt; BðmÞÞ
>
> m¼1
>
<
R ðmÞ ¼ bitxorðCðmÞ; TðmÞÞ ð8Þ
>
>
>
> CðmÞ ¼ bitxorðRðm−1Þ; BðmÞÞ
>
: m>1
RðmÞ ¼ bitxorðCðmÞ; TðmÞÞ
t is the integer ranges form 0 to 255 ,and it is the key for encrypting first wavelet coefficient. B(m)
is for the wavelet coefficients in need of encryption; C(m) is for the exclusive or intermediate
variables and R(m) is for the final generation of the encryption wavelet coefficient sequence.

3.2.2 Hénon map for wavelet coefficients scrambling

Hénon map [6] is shown in (9)



xnþ1 ¼ 1 þ byn −ax2n
ð9Þ
ynþ1 ¼ xn

The map enters a chaotic state when a = 1.4, b = 0.3.


Using the result of the iteration of chaotic map, the wavelet coefficients are scrambling in
sorting method.

(1) Set scrambling matrix of wavelet coefficients as Rm * n,and use chaos map to
generate the same real number sequence as the number of image matrix’s rows
and columns Xm and Yn.
(2) Row scrambling: Xi , Xjrepresent the i-th and j-th of Xm(real sequence), and it
corresponds to the i-th row and j-th row of wavelet coefficient matrix. If Xi > Xj
(i ∈ [1, m], j ∈ [1, m], i ≤ j), exchange the i-th row and j-th row until the last row.
Multimed Tools Appl

(3) Column scrambling: Yi , Yjrepresent the i-th and j-th of Yn(real sequence) , and it
corresponds to the i-th row and j-th column of wavelet coefficient matrix. If Yi > Yj,
(i ∈ [1, n], j ∈ [1, n], i ≤ j)exchange the i-th column and j-th column until the last column.

3.2.3 Logistic map for SPIHT code stream encryption

Logistic [14] map is shown in (10).


xnþ1 ¼ μxn ð1−xn Þ ð10Þ

The Logistic map is in chaos when μ ∈ [3.571488, 4], After eliminating the transient effect,
the real number sequence is quantized. Quantitative method is shown in formula (11):
YðnÞ ¼ modðxðnÞ*1000; 2Þ ð11Þ

In the generating process of SPIHT bitstreams, do XOR operation to the generated code
stream and quantified sequences y (n) generated by the logistic map to save the time of joint
compression and encryption. So a diffusion stream is formed and the stream is encrypted.

3.3 SPIHT compression joint encryption algorithm based on chaotic map

In this paper, a multiple rounds encryption for the code stream in the process of SPIHT
compression is proposed. Specific encryption methods are as follows:
In order to decode image compression SPIHT bitstream, the program needs to record basic
information in the process of image compression, therefore the first five numbers represent:
image identification of square, square image size, wavelet decomposition series, the maximum
bit-plane series, the signal to determine whether the first 2 * 2 blocks of wavelet coefficient is 0.
In order not to undermine the compressed header information, this paper does not involve
the basic encryption information, only generating subsequent ‘01’ sequence encryption. The
encryption process occurs in the SPIHT coding sequence scanning process. Compression and
encryption algorithm is shown in Algorithm1:
Algorithm1:SPIHT compression joint encryption algorithm
Input: The wavelet coefficient matrix after encryption
1 Scan LIP, and output the important factor judgment and the sign bit to the output stream
2 Scan LIS, and separate the D table and the L tableˈand operate D and L tables:
3. if D table then process the D type table, put the important factor in LSP, and the L table
entries into the tail of LIS;
3.1 Output the coordinates of the processing information to the output matrix;
3.2 Encrypt the current output matrix of all encode stream for Logistic encryption .
4. if L table then process the L type table, put the important factor in LSP, and the D table
entries into the tail of LIS,
4.1 Output the coordinates of the processing information to the output matrix;
4.2 Encrypt the current output matrix of all encode stream for Logistic encryption .
Output˖bitstream after compression and encryption

Set an array OUTPUT to record SPIHT bitstreams, and basic information of image
compression is in the position of OUTPUT [1~5]. In the process of the compression, the last
Multimed Tools Appl

bit written in OUTPUT is located as variable locate. Encrypt OUTPUT [6 ~ locate] of ‘01’
sequence iteratively and this will complete the iteration encryption, and achieve encryption to
the greatest degree. The signal ‘locate’ is the last bit of array OUTPUT which is written
after the scan of Table D and L. So the program can locate the last bit in multiple rounds
of scan and encrypt the bitstreams iteratively. Algorithm sketch map is shown in Fig. 6: in
the process of iterative encryption, the initial value of Logistic map is modified, and the
key space is expanded, the complexity of the algorithm is improved, the security of the
algorithm is ensured.

4 Experimental results and security analysis

In this paper, the experimental environment is Windows 7 32 bit Computer Operating System,
running memory is 4G, and the program runs in Matlab R2014a. The standard test grayscale
images are Lena, Barbara, Peppers, Zelda and Baboon, the size of images are all 512*512,
wavelet coefficients are decomposed into 6 levels. The initial parameters of the program are as
follows:
X = 0.58471298567391,Y = 0.36471847639187,Z = 0.76812659837126 are the
initial parameters of Lorenz map; 130 is the initial parameters of OFB;
X = 0.59137856387262,Y = 0.94372826598572 are the initial parameters of Hénon map;
X = 0.157638675928753 ,0.6557175641217586,0.70603957635194 ,0.43875847650276,
0.276058576354173 ,0.75132846515364 ,0.840713245897654 are the coefficients of Logistic
map ;0.36532984763546 is the coefficient to encrypt the final bitstream of the SPIHT compression.

4.1 The original image and decompressed image after decryption

In this paper, five grayscale images in size of 512*512 is used. These five grayscale images are
Lena, Barbara, Peppers, Zelda and Baboon. This images are provided by USC-SIPI standard
image database, which have a great representative. This paper uses Lena as example: this
algorithm convert images to the file contains a string of 01 series after compression and
encryption, and the image information is invisible. The information of the image can only be
seen after the file is decoded and decompressed. The original image, decompressed image after
decryption and encoding and decoding process are shown in Fig. 7. This paper uses Lena as
example.

encrypt3

encrypt1

0101010101010101010101 Compression eneode stream OUTPUT

Locate1 Locate2 Locate3 Locate n


Basic
information
encrypt2

encrypt n

Fig. 6 Sketch map of SPIHT compression joint encryption algorithm


Multimed Tools Appl

As is shown in Fig. 7, the left and the right image are exactly the same, and in the test, all
the pixel values of the two images are also exactly consistent, which truly realizes lossless
compression.

4.2 Key space

Since the image is multiply encrypted during the compression, the determination of key space
will be described respectively as follows:

(1) Wavelet coefficients encryption:


Encryption of wavelet coefficients uses Lorenz map to diffuse, using Hénon map to
scramble, and the encryption mode is OFB. The keys are three real input factors of Lorenz
maps: x1 , y1 , z1and s1 is the initial value of OFB ranging from 0 to 255. The key space in the
diffusion step is 1014 * 1014 * 1014 * 256; the input functions of Hénon map includes two real
0 0
numbersx0 ; y0 , and the key space is 1014 * 1014.

(2) SPIHT stream encryption:


Experimental result shows that the code stream is encrypted seven times using Logistic
map, and the initial keys during the encryption are different each time, so the key space is
1014 * 1014 * . . . * 1014(7 in total).

(3) Encrypt bitstream after SPIHT compression : the key space is 1014.
The key space ultimately formed is 256 * 10182, which can resist brute-force attack .

4.3 Sensitivity test

Sensitivity tests of algorithm include plaintext sensitivity tests and key sensitivity tests.
Plaintext sensitivity is that the plaintext only changes one bit while the key unchanged, and
the change rate of cipher text is about 50 % (change rate is the comparison of corresponding
position between the original cipher text and the cipher text whose plaintext is changed). Key
sensitivity test is that the key is changed the last bit after decimal point while the plaintext
unchanged, and the change rate of cipher text is about 50 %.

4.3.1 Plaintext sensitivity

Test results of plaintext sensitivity of five different grayscale images are shown in Table 1.

Decoding
Compression
and
and encryption
decompression

Compressed and encrypted stream


file

a) the original image b) decrypted decompressed image


Fig. 7 Encoding and decoding process. a the original image (b) decrypted decompressed image
Multimed Tools Appl

Table 1 Test results of plaintext


sensitivity uses five grayscale Image Upper 64*64 encryption. No wavelet coefficients
images encryption

Lena 0.4287 0.4768


Barbara 0.4046 0.4265
Peppers 0.4148 0.4427
Zelda 0.4249 0.4541
Baboon 0.4459 0.4576

The experiment selects a few points in the upper left, lower left, upper right, lower right,
and the middle of the image, and the average value after being calculated is shown in the
Table 1. For changing one bit of the image bit-plane, the changing rate of the cipher stream
ranges from 40 % to 44 %, which shows strong plaintext sensitivity. In this experiment, we
select the wavelet coefficients for local encryption (cipher block is the upper left 64*64) and
the wavelet coefficients without any encryption for plaintext sensitivity tests. The comparison
shows: although the plaintext sensitive of local encryption on wavelet coefficients is weaker
than wavelet coefficients without any encryption (smaller about 3 %), the key space of the
wavelet coefficients encryption is larger than that of wavelet coefficients without encryption,
and the number of bit change position is 60,000 to 62,000 during the experiment, so after
balancing the various factors and indicators, the experiment encrypts wavelet coefficients
block .

4.3.2 Key sensitivity

Test results of key sensitivity of five grayscale images are shown in Table 2.
This paper selects several different initial values in different encryption positions and
changes their last bit. Five images of the average change rate is larger than 0.499, which
shows that the algorithm has good key sensitivity. Compared with the Ref. [7], the bit stream
change rate of Ref. [7] is 47.60 % ~ 47.73 %, which indicates that the encryption algorithm has
better key sensitivity than the Ref. [7].

4.4 Compression ratio performance test

The algorithm is the lossless compression based on wavelet coefficients, therefore the com-
pression ratio is smaller than that of lossy compression and can be artificially controlled. In the
experiment, the best case is that compression ratio is about 50 % of the original file size.

Table 2 Test results of key


sensitivity Image Proposed Algorithm Ref. [7]
(in average)

Lena 0.4999 0.4760 ~ 0.4773


Barbara 0.4995
Peppers 0.4994
Zelda 0.4995
Baboon 0.4994
Multimed Tools Appl

In this paper, the 6-level integer wavelet transform is used and the encryption range size of
the wavelet coefficients has a significant effect on the compression ratio. In order to describe it
accurately, compression ratio is represented by bpp (bits per pixel). The defination of bpp is
shown as formula (12):
The total bit number of the compression image
bpp ¼ ð12Þ
The number of image pixels
The bigger the bpp is, the more bits per pixel in the image, and the compression ratio is
lower.
The relationship between the encrypt size of the block of wavelet coefficients and the
compression ratio is shown in Table 3:
Five grayscale images test results in Table 3 show that the size of the wavelet coefficients
block encryption and compression ratio are negative correlation. The smaller wavelet coeffi-
cients of the encryption block, the larger compression ratio is; the larger wavelet coefficients of
the encryption block, the smaller compression ratio is. This is because many of the original
Bunimportant factors Bbecome^ important factors^ after the block of wavelet coefficients is
encrypted in the process of SPIHT encoding. An increase in the number of important
coefficients will increase the number of signs and coefficients of the important coefficients
in the code stream and make the length of the code stream longer, which leads to a lower
compression ratio. If the wavelet coefficients are not encrypted, the encryption algorithm of the
key space will become small, and cannot resist the brute force attack. Therefore, it is necessary
to find a balance between the compression ratio and the encryption effect. The proposed
algorithm chooses encrypt upper left 64*64 of the wavelet coefficients matrix, which has little
impact on compression ratio but has improved the security of the image file.
Comparison with various image lossless compression algorithms provided by Ref. [26]
uses Lena grayscale image is shown in Table 4:
The comparison shows that the compression method used in this paper has smaller bpp than
the method of Ref. [26] even the encryption has negative effect on compression. It indicates
that the algorithm has a better compression ratio, and the impact of encryption on compression
is not great, which achieves a good balance between the compression and encryption.

4.5 Running time of joint encryption compression

The time of the program is mainly divided into three categories:


Wavelet transform time; preprocessing time of image data before encryption compression;
the time of generating bitstream in the process of encryption and compression. The following
Table 5 shows the compression encryption time in detail.

Table 3 Effect of the size of the block size on the compression ratio of the wavelet coefficients

Image 0*0(Not encrypted) Upper left 32 * 32 Upper left 64*64 Upper left 128*128 Upper left 256*256

Lena 4.6568 5.1183 5.1474 6.4449 7.7053


Barbara 6.0379 6.2319 6.3000 6.7834 7.7542
Peppers 5.4924 5.5902 5.0811 6.4428 7.6942
Zelda 4.7499 4.6481 5.0177 5.9567 7.4414
Baboon 6.8601 6.8787 6.9735 7.4350 7.9998
Multimed Tools Appl

Table 4 Comparison results of compression ratio

Proposed algorithm Ref. [26] LZW (Lempel-Ziv-Welch) RLE(run-length encoding) Huffman

5.1474 7.0000 7.6000 7.9000 7.8000

As the above test data show, the encryption time of the algorithm is about 35 % of
the total running time of the program, and the encryption time is not more than the
compression time. Although the encryption time on wavelet coefficients takes
(3.0464 + 1.8746)/27.0037 = 18.2 % of the whole time, the highly improved image security
worths the cost.
In comparison with the Ref. [22], the encryption time is shown in Table 6:
Ref. [22] proposed the lossy compression algorithm embedding encryption for different
bpp, and the encryption time of different bit rate/ total time of compression encryption is
42.5 % ~ 44.9 %, and the EZW + Logistic algorithm is more than 40 %. It indicates that
applying the method in this paper, the encryption time has little effect on the running time of
the whole algorithm, and has a good encryption effect.
But compared with Ref. [9], which has effective encryption time. In Ref. [9], the encryption
of SPIHT is the transform mode of wavelet matrix and encrypts the sign of coefficients. And
the proposed algorithm mentioned in this paper has encrypt many fields in SPIHT. In wavelet
coefficients’ encryption, the percentage of encryption time is 11 %. So, Ref. [9] is suitable for
fast encryption and the proposed encryption algorithm mentioned in this paper is suitable for
files needs high security.

4.6 Histogram analysis of encrypted images

The pixel distribution of the image file containing the effective information is not uniform, and
after the encryption algorithm is added, the pixels are evenly distributed and can resist the
statistical analysis [11]. Pixel distribution of encrypted compressed files generated by SPIHT
image lossless compression encryption algorithm is shown in the Fig. 8.

Table 5 Running time details of


the algorithm’s each step Test Items Running Time in average(s)

Wavelet Transform Time 2.5451


Wavelet Encryption Time 3.0464
Scrambling 1.8746
Generation stream (With encryption ) 19.3303
Generation stream(No encryption) 16.8375
Compressed stream encryption time 2.0819
Encryption total time 9.4987
Encryption / compression and encryption 9.4987/27.0037 = 0.3517
Joint time
Multimed Tools Appl

Table 6 Comparison of percentage of encryption time

Comparison item Proposed algorithm Ref. [22] EZW + Logistic Ref. [9]

encryption time 35.17 % 42.5 % ~ 44.9 % 42 % ~ 44 % 5.1 %

gray gray

3000 1400

1200
2500
1000
2000
800
1500
600
1000
400

500 200

0 0

0 50 100 150 200 250 0 50 100 150 200 250

(a) Lena plain image (b) Lena encrypted image


gray gray
3000 1400

1200
2500
1000
2000
800
1500
600
1000
400

500 200

0 0

0 50 100 150 200 250 0 50 100 150 200 250

(c) Barbara plain image (d) Barbara encrypted image


gray gray
1400
3000
1200
2500
1000
2000
800
1500
600
1000 400

500 200

0 0

0 50 100 150 200 250 0 50 100 150 200 250

(e) Baboon plain image (f) Baboon encrypted image


Fig. 8 Histograms of plain-image and encrypted image
Multimed Tools Appl

4.7 Entropy test

The value of image information entropy reflects the degree of confusion, the information
entropy of the encrypted file reflects the intensity and quality of the file encryption. The
formula of information entropy is shown as (13).

X
H ð xÞ ¼ − pðxi Þlog2 pðxi Þ ð13Þ

The original image, encryption file compared with Ref. [5] as shown in Table 7.
The ideal value of information entropy is 8. As shown in Table 7. The information entropy
of encrypted images in proposed algorithm and Ref. [5] shows a great entropy value. And the
proposed algorithm is better than Ref. [5] in some degeree which performes a better result in
information entropy.

4.8 Correlation test

Image correlation is one of the important characteristics of images that are different from other
common files. Plain-text image has a strong correlation. A good encryption algorithm can
eliminate the correlation between the adjacent elements of the encrypted file, so that the value
of other elements can not be inferred through this element. Correlation calculation formula is
shown in formula (14).

XN XN XN
N j¼1
xj  yj − j¼1 j
x  j¼1 j
y
C r ¼ vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
! ffi ð14Þ
u
XN X 2 XN X 2 !
u N N
t N x −
2
x  N y −
2
y
J ¼1 j j¼1 j j¼1 j j¼1 j

Cr represents pixel correlation degree,xj and yj represent the gray values of two adjacent
pixels, and N represents the number of pixels in the sample. The maximum absolute value of
the correlation coefficient is 1, and the minimum absolute value is 0. The lower the correlation
coefficient, the lower the correlation of the image pixels, the image is more chaotic.
The horizontal, vertical, diagonal pixels of the plain and cipher images are shown in
Fig. 9(Taking Barbara grayscale image as an example), and the correlation test results in
different directions of the 6 test images are shown in Table 8.

Table 7 Test results of different image information entropy

Test item test result

Lena Barbara Baboon Boat Peppers Zelda

Information entropy Original image 7.5802 7.4664 7.3579 7.1583 7.5714 7.2668
Encryption file 7.9989 7.9901 7.9987 7.9989 7.9988 7.9988
Ref. [5] 7.9972 - - 7.9962 - -
Multimed Tools Appl

Horizonal Vertical Diagonal Horizonal Vertical Diagonal


250 250 250 250 250 250

200 200 200 200 200 200

150 150 150 150 150 150

100 100 100 100 100 100

50 50 50 50 50 50

0 0 0 0 0 0
0 100 200 0 100 200 0 100 200 0 100 200 0 100 200 0 100 200

Fig. 9 Barbara plain text correlation and cipher text correlation in gray scale

According to correlation analysis, the distribution of the elements after being encrypted and
compressed is uniform. Plain text correlation is larger,and encrypted cipher text correlation is
close to 0,which indicates encrypted cipher images has a good decorrelation.
The correlation analysis test compared with Ref. [5] is show in Table 9.(uses lena and boat
as example).
Compaerd with Ref. [5] and the proposed algorithm, the correlation of the pixels is similar,
which both have good performance in correlation of encrypted images.

4.9 Key stream randomness test

4.9.1 Entropy test

Approximate entropy, information entropy and kolmogorov entropy are often used to test
the quality of randomness sequence. The larger the value of approximate entropy, infor-
mation entropy and kolmogorov entropy corresponding key stream sequence is, the better
the randomness. Information entropy is mentioned above.

Table 8 Correlation test of the original image and the encrypted compressed image

Horizontal direction Vertical direction Diagonal direction

Barbara Plain image 0.8612652 0.9595282 0.8468656


Cipher image 0.0122084 0.0079887 0.0200846
Baboon Plain image 0.8689049 0.7629869 0.7403367
Cipher image 0.0071669 0.0115003 0.0181280
Peppers Plain image 0.9793075 0.9827495 0.9685861
Cipher image 0.0110749 0.0073561 0.0194759
Zelda Plain image 0.9828689 0.9916998 0.9786009
Cipher image 0.0084827 0.0068639 0.0196799
Multimed Tools Appl

Table 9 Comparison of correlation test

Ref [5] Proposed algorithm

Correl.coeffi. Lena Boat Lena Boat

Origional 0.9367 0.9300 0.9367 0.9300


Encrypted 0.0112 0.010 0.0116133 0.0125545
Origional 0.9635 0.9420 0.9635 0.9420
Encrypted −0.0099 −0.0064 0.0063547 0.0098399
Origional 0.9078 0.8770 0.9078 0.8770
Encrypted −0.0086 0.00007 0.0018114 0.221604

Approximate entropy mainly aims to calculate the probability of key stream sequence
generating a new pattern. The greater probability, the greater corresponding approximate
entropy is, and the sequence randomness is better. Specific definition is shown in formula (15):
2 0 m 13
2 −1 2mþ1 −1
X X
ApEn ¼ 2Nlog2 4−@ πi log2 πi − πi log2 πi A5 ð15Þ
i¼0 i¼0

πi = Cj3,j = log2i,Cim indicates the frequency of the N-overlap blocks .


Kolmogorov entropy is often used to measure the chaotic map, which is also applied to test
random degree of the 0、1 key stream sequence. Divide the sequence to be measured into
countless small boxes,each box contains ɛ value,τrepresents the interval of a very small time.
Assuming P(i0,i1,...,id) represents the value at the initial time series is in the box of i0, t = 1
is in the case of i1,......,the same with t = d is joint probability of id .
kolmogorov entropy is defined in the formula (16):
1 X
K ¼ − lim lim lim Pði0 ; i1 ; :::id ÞlnPði0 ;i1 ;:::;id Þ ð16Þ
τ→0 ε→0 d→0 dτ i0 ;:::id

The value of kolmogorov entropy can determine the degree of the irregular motion of a
system, which can also judge the confusion degree of a binarization sequence. The bigger the
kolmogorov entropy , the more complex the sequence is , and the randomness is better.
Select different length of key streams to compare approximate entropy, information entropy,
kolmogorov entropy generated by the key stream which is generated by Logistic map. The result
is shown in Table 10.

Table 10 Several entropy tests

Key stream length N Test item Approximate entropy Information entropy kolmogorov entropy

800 Logistic 0.6932 2.8266 0.6950


Proposed algorithm 0.6963 2.8261 0.6980
1000 Logistic 0.6946 2.8174 0.6958
Proposed algorithm 0.6962 2.8364 0.6976
2000 Logistic 0.6928 2.8210 0.6935
Proposed algorithm 0.6942 2.8297 0.6949
Multimed Tools Appl

The key stream tested in this paper is the binarization key stream co-produced by the
Lorenz map, the Hénon map and the Logistic map. Comparison of key stream sequences
generated by this paper with Logistic mapping shows in Table 10 shows all key streams used
in this paper are better than the key stream generated by Logistic map, except that the
information entropy with the 800 key stream length is slightly less, which shows good
randomness.

4.9.2 Autocorrelation test

Autocorrelation evaluation [2] is a very important index to evaluate the randomness of


binarization key stream. There are two main test methods: mathematical definition method
and function test method in MATLAB.
The specific definition of sequence correlation tested by mathematical definition is shown
in formula (17). l1,l2 represent two key stream sequences respectively. A for the number of
same position in l1 and l2, B for the number of different position in l1 and l2, N for total length
of key stream sequence.
A−D
ψð l 1 ; l 2 Þ ¼ ð17Þ
N

In the formula, l1,l2 are the same sequence, and the interval of these two sequences is j, ψis
called autocorrelation. The ideal mode of ψ is to approach a horizontal line. That is to say, if
the test result is a horizontal line close to 0, it indicates that the sequence has good randomness.
In the practical application, some researchers have used autocorrelation test function xcorr
(x,coeff) built in MATLAB to test autocorrelation of sequence. Applying this method to test
autocorrelation of sequence, if test results show uniform variation and the pulse signal with
small fluctuation range, it indicates that autocorrelation of sequence is good and randomness is
high.
Set the sequence interval in the formula (18) for j = 100, the results of key stream test with
traditional Logistic map are shown in Fig. 10: both test methods show that test results are a
horizontal line close to 0, and the pulse signal fluctuation is small, which indicates the
autocorrelation of key stream sequence is good.
The comparison of proposed algorithm and Logistic map in autocorrelation are shown in
Fig. 10, the proposed algorithm has small fluctuation than sequence generated by Logistic
map. Which stand for a good autocorrelation.

4.9.3 Balance test

The key to balance test is to count the ratio of the total number of 0,1 in the sequence to be
measured. Ideally, the ratio of the number 0, 1 should be 1. The specific publicity is shown in
the formula (18).
Sumð0Þ
σ¼ ð18Þ
Sumð1Þ

In the formula, Sum(0) represents the total number of 0 in binarization series, Sum(1) for the
total number of 1 in the sequence. Balance test results are shown in Fig. 10. As the results
show, the 0,1 distribution curve is flat and close to 1, and the distribution is uniform.
Multimed Tools Appl

1.2
0.05
0
1 -0.05
-200 -100 0 100 200

0.8

0.6

0.4

0.2

-0.2
-1000 -800 -600 -400 -200 0 200 400 600 800 1000

a) autocorrelation results of b) autocorrelation results of


mathematical definition method of mathematical definition method of
proposed algorithm Logistic map

0.05 -3
x 10
0.04 1
0
0.03 -1
-2
0.02 5.3 5.4 5.5 5.6 5.7 5.8
x 104
auto-correlation

0.01

-0.01

-0.02

-0.03

-0.04

-0.05
0 1 2 3 4 5 6 7 8 9 10
length of sequence:N
x 104

c) autocorrelation results of MATLAB of d) autocorrelation results of MATLAB of


proposed algorithm Logistic map
Fig. 10 Comparison of autocorrelation curve of key stream. a autocorrelation results of mathematical definition
method of proposed algorithm. b autocorrelation results of mathematical definition method of Logistic map. c
autocorrelation results of MATLAB of proposed algorithm. d autocorrelation results of MATLAB of Logistic
map

The comparison of proposed algorithm and Logistic map of balance test are shown in
Fig. 11, the proposed algorithm has small fluctuation than sequence generated by Logistic
map. And the proposed algorithm is fluctuates around 0.98 which is bigger than 0.96 of
Logistic map. The proposed algorithm stand for a good balance test.

4.9.4 Sequence distribution

Sequence distribution reflects the distribution of the key stream. The more uniform the
sequence distribution is, the better the randomness of sequence is. As the key stream test
results show in Fig. 12, the distribution of the sequence is relatively uniform without large
Multimed Tools Appl

2
1
1.8
0.98
1.6
1.05 1.1 1.15 1.2
1.4 4
x 10

1.2
0 - 1 ratio

0.8

0.6

0.4

0.2

0
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
length of seqence:N 4
x 10

a) Balance test of proposed algorithm b) Balance test of Logistic map


Fig. 11 Comparison of Balance test results of key stream. a Balance test of proposed algorithm. b Balance test
of Logistic map

range of sequence aggregation. It shows the characteristics of uniform distribution in figure,


which indicates that randomness of key stream is relatively good.
The comparison of proposed algorithm and Logistic map of balance test are shown in
Fig. 12, the proposed algorithm is uniformly distributed than sequence generated by Logistic
map. The proposed algorithm stand for a good sequence distribution.

300
250
245
240
0 2000 4000 6000 8000 10000
250

200
value

150

100

50

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
length of sequence:N

a) sequence distribution of proposed algorithm b) sequence distribution of Logistic map


Fig. 12 Comparison of Key stream sequence distribution. a sequence distribution of proposed algorithm. b
sequence distribution of Logistic map
Multimed Tools Appl

Table 11 Key stream SP800–22


test results Statistical test P-value Proportion

Frequency 0.719747 0.9900


Block Frequency 0.366918 1.0000
Cumulative Sums 0.129620 0.9900
Runs 0.319084 1.0000
Longest Run 0.350485 0.9800
Rank 0.455937 0.9900
FFT 0.304126 0.9900
NonOverlappingTemplate 0.484732 0.9800
Overlapping Template 0.470723 0.9900
Universal 0.085587 0.9900
Approximate Entropy 0.684041 0.9800
Random Excursions 0.318174 0.9883
Random Excursions Variant 0.318097 0.9861
Serial 0.834308 0.9800
Linear Complexity 0.816537 1.0000

4.9.5 Key stream NIST SP800–22 test

SP800–22 NIST test is a test standard issued by the National Institute of standards and
technology, which provides 15 methods of measuring stream sequence statistical properties.
When the value of P-value is greater than 0.01, it is considered that it passes the test. In this
paper, 100 groups of different key sequences containing 1,000,000 bits are selected to test, and
the test results are shown as Table 11. As test results show in the Table 11, the pass rate of the key
sequence generated in this system in each test is more than 98 %, which indicates randomness
and complexity of the key sequence is good.

5 Conclusion

In this paper, multiple encryption algorithms based on chaos are added in the process of
lossless image compression, and respectively chaotic encrypt wavelet coefficients before
image compression, stream in the process of compression and the stream after compression.
It truly gets encryption involved in every stage of lossless encryption, achieving the combi-
nation of compression and encryption. Besides, by applying the method, not only has a better
compression ratio achieved, but it has passed many tests in cryptology, such as sensitivity test,
entropy test, balance test, autocorrelation test and NIST SP800–22, which shows a great
compression and encryption performance. Last, more storage space is saved, which is of
positive significance to the fields requiring a high image security and accuracy.

Acknowledgments This work was supported by the National Natural Science Foundation of China (60973162),
the Natural Science Foundation of Shandong Province of China (ZR2014FM026, ZR2009GM037), the Science
and Technology of Shandong Province, China (2013GGX10129, 2010GGX10132, 2012GGX10110), the National
Cryptology Development Foundation of China (No. MMJJ201301006), Foundation of Science and Technology on
Information Assurance Laboratory (No. KJ-14-005) and the Engineering Technology and Research Center of
Weihai Information Security.
Multimed Tools Appl

References

1. Calderbank AR, Daubechies I, Sweldens W, et al. (1998) Wavelet transforms that map integers to integers.
Appl Comput Harmon Anal 5:332–369
2. Chen SL, Hwang T (2010) Lin W.W. Randomness enhancement using digitalized modified logistic map.
IEEE Trans Circuits Syst Express Briefs 57(12):996–1000
3. Cohen A, Daubechies I, Feauvean J (1992) Bi-orthogonal bases of compactly supported wavelets. Commun
Pure Appl Math 45(5):485–560
4. Deng J, Ren Y (2013) Image compression encryption algorithm based on improved zero tree encoding. Acta
Photonica Sinica 42(1):121–126
5. Hadjem T, Azzaz, MS, Tanougast C, Sadoudi S (2014) A new image crypto-compression system SPIHT-
PSCS. Control, Decision and Information Technologies (CoDIT), 2014 International Conference on, Metz,
pp 706–711
6. Henon M (1976) A two-dimensional mapping with a strange attractor. Commun Math Phys 50:69–77
7. Li Y, Zhang S (2013) Image compression based on wavelet transform and SHA-1. J Image Graph
18(4):376–381
8. Li X, Knipe J, Cheng H (1997) Image compression and encryption using tree structures. Pattern Recogn Lett
18:1253–1259
9. Lian S, Sun J, Wang Z, (2004) Perceptual cryptography on SPIHT compressed images or videos. ICME
2195–2198
10. Liao X, Xiao D, et al. (2009) Chaotic cryptofigurey and its application. Science Press, Peking, p. 43
11. Lin R, Mao, Y Wang Z (2008) Chaotic secure image coding based on SPIHT. Communications and
Networking in China, 2008. China Com 2008. Third International Conference on, Hangzhou, China, pp
1294–1294
12. Liu F, Liu S, Liu G, et al. (2007) IInteraction of two scales in Lorenz map. Acta Phys Sin 56(10):5629–5634
13. Luo R (2001) Design and analysis of remote sensing image information system. Dissertation Zheng Zhou:
The PLA Information Engineering University, China. Doctoral, 93
14. Persohn KJ, Povinelli RJ (2012) Analyzing logistic map pseudorandom number generators forperiodicity
induced by finite precision floating-point representation. Chaos, Solitons Fractals 45:238–245
15. Qin C, Zhang X (2015) Effective reversible data hiding in encrypted image with privacy protection for image
content. J Vis Commun Image Represent 31:154–164
16. Qin C, Chang C-C, Chen Y-C (2013) Efficient reversible data hiding for VQ-compressed images based on
index mapping mechanism. Signal Process 93(9):2687–2695
17. Said A, Pearlman WA (1996) A new fast and efficient image codec based on set partitioning in hierarchical
trees. IEEE Trans Circuits Syst Video Technol 6:243–250
18. Shen C, Zhang H, Feng D, et al. (2007) Information security overview. Science China E: Information
Science 37(2):129–150
19. Srikanth B, Kumar GSN, Reddy VSK, et al. (2014) A novel joint data-hiding and compression scheme based
on SMVQ and image inpainting. IEEE Trans Image Process 23(3):969–978
20. Sun Y (2012) Wavelet transform and image processing techniques. Tsinghua University press, Peking,
pp. 1–2
21. Wang D, Deng J, et al. (2014a) Image compression encryption algorithm based on hyper chaotic system. Opt
Precis Eng 22(9):2529–2535
22. Wang B, Zheng X, Zhou S, et al. (2014b) Encrypting the compressed image by chaotic map andarithmetic
coding. Optik 125:6117–6122
23. Weina D, Sun J (2002) A new generation of still image encoding system-JPEG2000. J Circuit Syst
7(3):73–76
24. Wu Y (2013) Research on joint image compression encryption technology. Nan Chang:Nanchang
University, Master degree thesis, 1
25. Xie Y, Xiao D (2013) A color image encryption algorithm based on JPEG compression of encoding. Acta
Phys Sin 62(24):240508–240111
26. Xie Y, Tang X’a, Sun M, Zhang Y (2010) Image lossless compression algorithm based on classification of
LZW. J Image Graph 15(2):236–241
Multimed Tools Appl

27. Yang H, Liao X, Wong K-W, et al. (2012) Image compression algorithm based on SPIHT. Acta Phys Sin
61(4):040505–0401:8
28. Zhang L, Wang K (2003) Image encoding algorithm based on integer wavelet transform. J Softw 14(8):
1432–1438
29. Zhang X, Sun G, Shen L, et al. (2014) Compression of encrypted images with multi-layer decomposition.
Multimed Tools Appl 72:489–502

Tong Xiaojun received her B.E. degree in Computer Science from Liaoning University of China in 1985£¬and
M.E degree in Computer Science from Northeastern University of China in 1988, respectively, Ph.D degree in
Computer Science from Harbin institute of technology in 1996. She has been a professor and PH.D. supervisor at
Harbin institute of technology since 2008 and 2009 respectively. Her research interesting includes chaos
cryptography, network and information security.

Penghui Chen is a master at Harbin Institute of Technology. His research interests include Chaos Cryptography
and Information Security.
Multimed Tools Appl

Miao Zhang is a PhD Candidate at Harbin Institute of Technology. Her research interests include Chaos
Cryptography and Information Security.

You might also like