Image Encryption/Decryption based on Rubik Cube 's principle and AES
Our final project for Theory of Crytography class.
Our Image Encryption/Decryption method based on:
-
Rubik Cube principle (paper here)
My implementation can be introduced by four main parts:
Encryption
-
Three channels of the image are splited before encrypting with Rubik cube algorithm. The key of the encryption is encrypted by AES.
-
After that, these encrypted channels are combined to generate the Encrypted Image.
Decryption
The flow of decryption is the inverse transformation which is described below:
-
Split the encrypted image to 3 encrypted channels
-
Get the original key from the AES decrypt function
-
Decrypt 3 channels with the decrypted key
Evaluation
I propose two measures to quantify the differ between the encrypted image and its original form:
- Number of pixels change rate (NPCR)
- The unified average changing intensity (UACI)