Designing an efficient image Encryption-Then - Compression system
-
Upload
dig-vijay-kumar-yarlagadda -
Category
Software
-
view
37 -
download
3
Transcript of Designing an efficient image Encryption-Then - Compression system
Designing an Efficient ImageEncryption-Then-Compression System via Prediction
Error Clustering and Random Permutation
Presentation by Dig Vijay Kumar Yarlagadda
Contents• Objective• Introduction• Description• Status• Expected results• Conclusion• References
Objective• The objective of this project is on the practical design of a pair of image
encryption and compression schemes, in such a way that compressing the
encrypted images is almost equally efficient as compressing their original,
unencrypted counterparts. Meanwhile, reasonably high level of security needs
to be ensured.
Introduction• Consider an application scenario where a content owner wants to securely and
efficiently transmit an image to a recipient via an untrusted channel provider.
• Traditional Compression-then-Encryption (CTE) systems requires content owner
to perform both encryption and compression operations.
• Content owner wants to secure the image data through encryption with no
incentive to compress image, while channel provider is interested in compressing
the network traffic to maximise network utilization.
• It is desirable that this compression task is done by channel provider.
Encryption-then-Compression(ETC) system
Design Problem:
• How to compress an image if it’s
data is hidden?
The solution:
• Perform all operations in prediction
error domain
Prediction Error domain• Prediction errors are calculated in order to predict the desired target value
for new data.
• Method of calculating prediction error:
• Make a prediction i,j by using an image predictor GAP
• Calculate prediction error using formulaei,j = Ii,j - i,j
Image Encryption
Encryption Algorithm1. Compute the prediction errors i,j of whole image I.
2. Divide all prediction errors into L clusters Ck , for 0 ≤ k ≤ L-1
3. Reshape the prediction errors in each Ck into a 2-D block having four columns
and [|Ck|]/4] rows, where |Ck| denotes the number of prediction errors
in Ck.
Encryption Algorithm (cont.)4. Perform two key-driven cyclical shift operations to each resulting prediction
error block, and read out the data in raster-scan order to obtain the
permuted cluster k .
Encryption Algorithm (cont.)
5. The assembler concatenates all the permuted clusters k , for 0 ≤ k ≤ L-1, and
generates the final encrypted image.Ie = 0 1 …………….L-1
6. Pass Ie to Charlie together with the length of each cluster |k|, for 0 ≤ k ≤ L-2
Lossless compression of Encrypted image via Adaptive Arithmetic Coding
Lossless compression (cont.)
De-Assembler:
A De-assembler can be utilized to parse Ie into L segments 0 1 …………….L-1 in the
exact same way as that done at the encryption stage.
Adaptive Arithmetic Coding:
An adaptive AC is employed to losslessly encode each prediction error sequence k
into a binary bit stream Bk .
Lossless compression (cont.)
Assembler:
Assembler concatenates all Bk to produce the final compressed and encrypted
bit stream B, namely,
B = B0 B1............. BL-1
Sequential Decryption and Decompression
Sequential Decryption and Decompression
• Using the side information |Bk|, recipient divides B into L segments Bk , each
of which is associated a cluster of prediction errors.
• For each Bk , an adaptive arithmetic decoding can be applied to obtain the
corresponding permuted prediction error sequence k .
• As recipient knows the secret key K, the corresponding de-permutation
operation can be employed to get back the original Ck .
• With all the Ck , the decoding of the pixel values can be performed in a raster-
scan order.
Sequential Decryption and Decompression (cont.)
• For each location (i, j), the associated error energy estimator i,j and the
predicted value i,j can be calculated from the causal surroundings that have
already been decoded.
• The corresponding cluster index k can be determined using formula
k = {k|qk ≤ ∆i,j < qk+1}
• The reconstructed pixel can then be computed by
i,j = i,j + ei,j
Security and Performance analysisTest images
Security Analysis
Number of distinctive ways of permutation:
N =
Compression performance• Image predictor GAP has strong de-correlation capability.
• Arithmetic coding is 2 to 3 times more effective than traditional compression
techniques.
Status• An Encryption scheme is realized via prediction error clustering and random
permutation.
• Highly efficient compression has been realized by a context-adaptive
arithmetic coding approach.
• Security and Performance analysis yet to be performed.
Expected resultsLossless Compression Performance:Reconstruction results of directly
decoding the compressed and encrypted images:
Conclusion• An efficient image Encryption-then-Compression (ETC) System has been
designed. Encryption is realized via prediction error clustering and random
permutation. Highly efficient compression has been realized by a context-
adaptive arithmetic coding approach.
References[1]. Jiantao Zhou, Xianming Liu, Oscar C. Au, and Yuan Yan Tang, "Designing an Efficient
Image Encryption-then-Compression System via Prediction Error Clustering and Random
Permutation", IEEE Trans. Inf. Forensics Security, Vol.9, No.1, Jan. 2014.
[2]. X. Wu and N. Memon, "Context-based, adaptive, lossless image codec," IEEE Trans.
Commun., vol.45, no. 4, pp. 437–444, Apr. 1997.
[3]. Rafael C.Gonzalez and Richard E. Woods, "Digital Image Processing", Second Edition,
Jan.2004.
[4]. Xiaolin Wu and Nasir Memon, "CALIC – A Context based adaptive lossless image
CODEC", IEEE Trans. Inf. Forensics Security, vol. 3, no. 4. pp. 437-444, Apr. 1997.
THANK YOU
Gradient Adjusted Predictor(GAP)In GAP the gradient of the intensity function at the current pixel I is estimated by computed the following quantities:
dh = |I[i-1, j] – I[i-2, j]| + |I[i, j-1] – I[i-1, j-1]| + |I[i+1, j-1] – I[i, j-1]|dv = |I[i-1, j] – I[i-1, j-1]| + |I[i, j-1] – I[i, j-2]| + |I[i+1, j-1] – I[i+1, j-2]|
A prediction is then made by the following procedure:IF (dv – dh > 80) {sharp horizontal edge}
ELSE IF (dv – dh < -80) {sharp vertical edge}
Gradient Adjusted Predictor(GAP) (cont.)
ELSE { (w+n)/2 +(ne-nw)/4;IF (dv – dh > 32) {horizontal edge}
(w+n)/2 + (ne-nw)/4;ELSE IF (dv – dh > 8) { weak horizontal edge}
(3 + w)/4ELSE IF (dv – dh < -32) {vertical edge}
+ n)/2ELSE IF (dv – dh < -8) {weak vertical edge}
+ n)/4}
Gradient Adjusted Predictor(GAP) (cont.)
where n = I[i, j-1]w = I[i-1, j]ne = I[i+1, j-1]nw = I[i-1, j-1]nn = I[i, j-2]ww = I[i-2, j]
back to main slide