1 function eimg =encryptionprocess2_CBC(img,h,RK,SubBytes,Pbox,r,IV)
\r
2 %%%%%%%%%%%%%% convert image to a vector seq
\r
3 %seq=double(reshape(img,1,[]));
\r
4 seq_bin=double(byte2bit(uint8(img))) ;
\r
5 encr_seq_binary=zeros(1,length(seq_bin));
\r
6 %%%%%%%%%%%%%%%%%%%% calculate the number of blocks%%%%%%%%%%%%%%%%%%%%%%%%
\r
7 nb= floor(length(seq_bin)/(8*h));
\r
10 %RK_bin=double(reshape(byte2bit(RK),r,[]));
\r
11 RK_bin=double(reshape(RKB,r,[]));
\r
12 Bin_Sbox =double((Convert_Sbox_Bin(SubBytes)));
\r
14 %iv(end-h+1:end)=IV;
\r
18 iv=[iv byte2bit(IV(i))];
\r
22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\r
23 %%%%%%%%%%%%%%%%%%%% Applied the confusion process then the bits permutation for r rounds
\r
25 temp=seq_bin((it-1)*8*h+1:it*8*h);
\r
26 temp=bitxor(temp,IV);
\r
28 temp=bitxor(temp,RK_bin(itr,1:h*8));
\r
29 temp= (reshape(Bin_Sbox (double(bit2byte(temp))+1,:)',1,[]));
\r
32 encr_seq_binary((it-1)*8*h+1:it*h*8)=temp;
\r
36 % Convert to Byte representation
\r
38 %valbin=reshape(valbin,Tb/8,8);
\r
39 eimg=(bit2byte( encr_seq_binary));