Skip to content

Implementation of Secure image encryption scheme using double random-phase encoding and compressed sensing

Notifications You must be signed in to change notification settings

ZhouKanglei/DRPE_CS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secure image encryption scheme using double random-phase encoding and compressed sensing

A secure optical digital image encryption scheme with authentication capability is proposed using double random-phase encoding (DRPE) and compressed sensing (CS). Phase information of the plaintext image is obtained using DRPE and quantized to generate authentication information. Simultaneously, the plaintext image is compressed by CS and its measurements are quantized using the sigmoid map. Then the ciphertext image is obtained by permutation and diffusion after authentication information is embedded in quantified measurements. At receiving end, the authentication information is first extracted by inverse permutation and diffusion, and then the authentication image is obtained by inverse DRPE. Finally, the ciphertext image can be blindly authenticated using a nonlinear cross-correlation method with authentication image and reconstructed image. Experimental results demonstrate the effectiveness of our proposed scheme.

Paper Address | Download Paper

Usage

  1. Encryption and decryption processes

    • Configure the config file lib/init.m

      • Set the hyper-parameters
      • Load keys
    • Run lib/exp_main.m to encode and decode the input image

      • Read the input image I = imread('images/Lena_512.bmp');
      • Obtain the encrypted image C
      • Attack the the encrypted image to obtain C_attack
      • Decode the image to obtain the recovered image X
      • Authenticate correlation [CC, PCE] = cross_relation(phase_de, X);
  2. Recover the image for CS

    • OMP
    • CVX
  3. Attack

    • Run main.m to attack the encrypted image

      posibility = 0; % Ratio of tamper
      g = 0;       	% Ratio of noisy param
      rate_crop = 0; 	% Ratio of cropping
    • Save the results

      ans_name = ['ans/omp_sampling-', num2str(p), '_noise-', num2str(g), '_tamper-', num2str(posibility), '_crop-', num2str(rate_crop), '.mat']
  4. Visualization

    • Load saved data from ans

      load(['ans/omp_sampling-', num2str(p), '_noise-', num2str(g), '_tamper-', num2str(posibility), '_crop-', num2str(rate_crop), '.mat']);
    • Visualize the correlation plane and others

  5. Evaluation

    • NPCR & UACI: NPCR_UACI.m
    • Correlation: horizon_corr.m
    • ...

Citation

  • bibtex
@article{zhou2020secure,
  title={Secure image encryption scheme using double random-phase encoding and compressed sensing},
  author={Zhou, Kanglei and Fan, Jingjing and Fan, Haiju and Li, Ming},
  journal={Optics \& Laser Technology},
  volume={121},
  pages={105769},
  year={2020},
  publisher={Elsevier}
}
  • GB/T 7714
Zhou K, Fan J, Fan H, et al. Secure image encryption scheme using double random-phase encoding and compressed sensing[J]. Optics & Laser Technology, 2020, 121: 105769.

About

Implementation of Secure image encryption scheme using double random-phase encoding and compressed sensing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published