Selective encryption of JPEG files
|
|
|
Original image
|
Selective encryption
|
Selective encryption of some parts only
|
Principle
JPEG uses the DCT transform to compress images. As described in
[1], it is possible to encrypt parts of the JPEG bitstream and guarantee the following properties:
[Visual acceptance] Part of information may be visible but the encrypted image should look noisy.
[Selective encryption] Encryption occurs after compression and leaves parts of the bitstream unencrypted.
[Constant bit rate] Encryption should preserve the size of the bitstream.
[Bitstream compliance] The encryption step should produce a compliant bitstream according to the chosen format definition.
The process is shown in Figure
1↓.
Here follows an example.
|
|
Original image
|
Encrypted image
|
Software description
Please contact Mr
Van Droogenbroeck if you are interested in the software. We can provide both a program (for Windows or Linux) and the full source code. Here are the specifications of the software:
-
Programming language: standard C (compiled with gcc).
-
Real time encryption and decryption.
-
External dependencies: Intel® Integrated Performance Primitive.
-
Possibility to encrypt only parts of the image (see [2] and right-hand side top illustration).
-
Cascading of encryption (over-encryption) is possible and reversible.