Research Article

A Novel Chaotic Image Encryption Algorithm Based on Latin Square and Random Shift

Algorithm 3

Bit scrambling Pd = diffusion (P, LH1, LH2).
Input: Image matrix P, LH1, and LH2.
Output: The image Pd after scrambling.
PA = [bitget (P, 1), bitget (P, 3); bitget (P, 5), bitget (P, 7)]
PB = [bitget (P, 2), bitget (P, 4); bitget (P, 6), bitget (P, 8)]
for i = 1: N
  A = PA (i, :)
  B = PB (:, i)
   (i, :) = A (Lh1 (i, :))
   (:, i) = B (Lh2 (:, i))
end
for i = 0 : 1: 3 do
  Pd (i) =  (i + 1: N × (i + 1))
  Pd (2i+ 1) =  (i + 1: N × (i + 1))
end