Image and Key XORing

11 vues (au cours des 30 derniers jours)
Evolution
Evolution le 8 Fév 2012
Hi there i am still stuck in xoring a 256 byte value with an image stored in a 3D array ? what should be the steps to do it ?I want to the store the first 256 bytes of the image and xor it with key then another 25 bytes of image with the same key and so on .I would later display my results in a figure ?
Any help would be greatly appreciated .
thanks

Réponses (1)

Walter Roberson
Walter Roberson le 8 Fév 2012
Untested:
t = reshape(YourImage(:), 256, []);
EncryptedImage = reshape( bsxfun(@xor, t, YourKey(:).'), size(YourImage) );
Of course you might have a rather different idea of what the "first" 256 bytes of an image are...
  3 commentaires
Walter Roberson
Walter Roberson le 8 Fév 2012
Correct. Your question did say what to do if your image was not divisible in to 256 byte groups, so I did not code for it.
xc = x(:);
nel = size(xc,1);
npad = mod(256 - mod(nel,256), 256);
xc = vertcat(xc, zeros(npad, 1));
t = reshape(xc, 256, []);
enct = bsxfun(@xor, t, YourKey(:).');
enct(end-npad+1:end) = [];
EncryptedImage = reshape( enct, size(x));
Evolution
Evolution le 9 Fév 2012
thank a lot for the code .Its really helping me .Just before executing the bsxfun command i checked the values in variable passed in the function.
t has dimensions of 256x589 and yourkey(:).' has 1X256
After executing the function i got the error .
>> enct = bsxfun(@xor, t, r(:).');
??? Error using bsxarg: All non-singleton dimensions must match.
Error in ==> bsxfun at 100
[AX BX] = bsxarg(A,B);
I then swapped the variables
>> enct = bsxfun(@xor,r(:).',t);
??? Error using bsxarg: All non-singleton dimensions must match.
Error in ==> bsxfun at 100
[AX BX] = bsxarg(A,B);
again same error .
if its not too much can you help me with the error ?
thank you again for all the help.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by