Compressed sensing (CS) can be used with for encryption. Encryption using CS is based on the idea that the sampling matrix used to compress the image also encrypts the image. Without knowledge of either the sampling matrix, or the key used to create the sampling matrix, an eavesdropperSecure JPEG2000 (JPSEC) can not correctly reconstruct the image. Here we show how CS can be implemented as an encryption scheme within the JPSEC standard.
Compressed sensing is a compression scheme where random samples are acquired via a simple matrix vector multiplication and the number of samples (rows in the matrix) is less than the number of pixels in the image (columns in the matrix). The image can then be reconstructed using any number of ℓ1 minimization techniques.
Secure JPEG2000 (JPSEC)
The JPSEC standard addresses security in JPEG2000 compressed images. Since JPSEC is designed to work within the JPEG2000 codestream framework, it works with and allows access to individual components of the codestream. This allows the potential to combine the encryption with other functionalities of the image compression process. Since CS can both compress and encrypt an image, it seems to be a perfect candidate for this type of application.
In the current JPEG2000 standard, an image is first transformed using a discrete wavelet transform (DWT) and then compressed using an embedded block coding with optimal truncation (EBCOT) encoder. For this application, the DWT would still be performed, but the EBCOT encoding would be skipped. These uncompressed (but sparse) components would then be sent to the JPSEC layer. At this point, the standard functionality of JPSEC can be used to both compress and encrypt the image with CS. The only restriction is that every component of the image must be encrypted (which is not a normal requirement of JPSEC. Even this is not truly required here, and can be ignored at the expensed of compression rate). However, all of the other properties of JPSEC can still be used.
This system has the following advantages over the standard EBCOT encoding / AES encryption system typically used in JPSEC:
AES defines three key lengths, 128 bits, 192 bits and 256 bits. With the proposed CS system, however, the size of the key is not limited by the protocol. The only restrictions imposed on the key length is the ability of the sender and receiver to store and transmit the key.
Though the EBCOT encoding defined in JPEG2000 is scalable, there are only a finite number of truncation points within each codeblock. CS encoded data does not have this restriction and can be recovered with any number of samples between the minimum and maximum value. This fine scalability can allow for better received quality given a fixed rate limit.
CS naturally shifts the encoding complexity from the encoder to the decoder. This is desirable when there are a number of users all transmitting images to a single “sink” or server. Since CS encoding
only involves the linear combinations of pixels, this joint process is lower in complexity than either the EBCOT encoder or the AES encryption individually.
Since the encryption and compression are done simultaneously within the same process, only this single process needs to be executed. Again, at the transmitting node this results in lower complexity and simpler implementation.