Я пытаюсь зашифровать двоичное изображение в Matlab. Может ли кто-нибудь помочь мне, как зашифровать бинарный образ с помощью операции XOR?
Это код, используемый для шифрования.
function [proImageOut] = imageProcess(ImgInp,key);
[n m k] = size(ImgInp);
% key =cell2mat(struct2cell( load('key5.mat')));
% key = keyGen(n*m);
for ind = 1 : m
Fkey(:,ind) = key((1+(ind-1)*n) : (((ind-1)*n)+n));
end
len = n*2;
bre = m*2;
for ind = 1 : k
Img = ImgInp(:,:,ind);
for ind1 = 1 : len
for ind2 = 1 : bre
proImage(ind1,ind2) = bitxor(Img(ind1,ind2),Fkey(ind1,ind2));
end
end
proImageOut(:,:,ind) = proImage(:,:,1);
end
% figure,imshow(proImageOut);
return;
ОШИБКА:>
Индекс в позиции 2 превышает границы массива (не должен превышать 316).
Ошибка в imageProcess (строка 16) proImage (ind1, ind2) = bitxor (Img (ind1, ind2), Fkey (ind1, ind2));