It is a link to full project developed by me to implement RC4 in matlab
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
I need code for image encryption using Rc4
14 views (last 30 days)
Show older comments
Please I need code of RC4 to image encryption ..
Thanks.
Answers (1)
kareem ahmed
on 6 May 2018
Edited: Image Analyst
on 7 May 2018
17 Comments
sajjad leith
on 12 May 2021
this code for encrypt text not image
Walter Roberson
on 12 May 2021
If you read an image as uint8 and then you char() the uint8 then the result will be text that the algorithm could be applied to.
Mohammed Ali
on 22 Jan 2022
Walter roberson how i can do that?
Walter Roberson
on 22 Jan 2022
img = imread('flamingos.jpg');
S = char(reshape(img, 1,[]));
encrypted = kareems_RC4(S);
Mohammed Ali
on 22 Jan 2022
where to put it ?
KSA or
main_script
PRGA
and sorry
Walter Roberson
on 22 Jan 2022
At 10 minutes into the video, the author is creating a new script and has just assigned
plaintext = 'Mission accomplished';
You would replace that with
img = imread('flamingos.jpg');
plaintext = char(reshape(img, 1,[]));
Mohammed Ali
on 26 Jan 2022
Thanks so much I really appreciate it
Mohammed Ali
on 26 Jan 2022
Sorry it doesn't work can you send the code in my email Mohamed1999dz@gmail.com
Walter Roberson
on 26 Jan 2022
In my country it would be illegal for me to send anyone encryption code unless I knew for a fact that they were physically present in my country.
Mohammed Ali
on 26 Jan 2022
Ah ok When i did what you tell me img = imread('flamingos.jpg'); plaintext = char(reshape(img, 1,[])); I did get error in the commond img=imread('flamingos.jpg');
Mohammed Ali
on 26 Jan 2022
key = 'KAREEM';
img =imread('Flamingos.jpg');
plaintext = char(reshape(img, 1,[]));
Z = uint8(PRGA(KSA(key), size(plaintext,2)));
P = uint8(char(plaintext));
res = bitxor(Z, P);
%printing result in hex and unicode
res_in_hex = mat2str(dec2hex(res,2))
res_in_unicode = char(res)
it said error in img
Walter Roberson
on 26 Jan 2022
flamingos.jpg is supplied with the Image Processing Toolbox. Replace flamingos.jpg with the name of the image you want to use.
Mohammed Ali
on 26 Jan 2022
The same problem even when i choose another img
Mohammed Ali
on 26 Jan 2022
What about decryption? How i can do that
Walter Roberson
on 26 Jan 2022
Note that file names might be case sensitive, depending on your configuration. 'Flamingos.jpg' might or might not work when the file name is 'flamingos.jpg'
Which MATLAB release are you using? Sufficiently old MATLAB did not have 'flamingos.jpg' . But 'cameraman.tif' should be present in quite old MATLAB.
I seem to recall that before about R2013a or so, that imread() needed the Image Processing Toolbox.
Walter Roberson
on 26 Jan 2022
What about decryption?
Sorry, I am not permitted to answer that question in more detail than "Call your decryption routine"
Once you have decrypted to a character vector then
bytes = uint8(decrypted_content);
filename = 'restored_image.tif';
[fid, msg] = fopen(filename, 'w');
if fid < 0; error('Could not open file "%s" for writing because "%s"', filename, msg); end
fwrite(fid, bytes, 'uint8');
fclose(fid)
The extension you use for filename should be the same as the original image file extension.
Mohammed Ali
on 27 Jan 2022
Sorry for ask a lot of questions That's just because i have academic project And thank you so much for your help I use matlab 2013
See Also
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)