Encrypting a message in matlab?
Mostrar comentarios más antiguos
For the attached document, were supposed to encrypt a message, and I got the numbers to come out, but when I try to convert it back to a message it just displays the original message instead of the secret code. I'll attach my code, I have no idea whats wrong with it, and why it isnt working. Thanks.
Respuesta aceptada
Más respuestas (3)
If you use input with the 's' argument, it will return a string. For the key you need a number, so use
key=input('What will be the encryption key you are using:')
and of course you have to run the loop for all values of the message:
for k=1:length(original_message)
That's it. Given that your key values are not larger then 26, as has been pointed out by Geoff. If you have larger numbers, you have to use the mod function. I've detailed this in a response to one of your colleagues http://www.mathworks.com/matlabcentral/answers/251101-writing-secret-codes.
3 comentarios
Nick Haufler
el 30 de Oct. de 2015
Editada: Nick Haufler
el 30 de Oct. de 2015
ahmed ibrahim
el 9 de Oct. de 2020
please any one who know this
Write a computer program to encrypt the message “I Love Gondar” in the least significant bit of a gray scale image converted from your own picture. That is:
1. Take a picture of yourself
2. Convert it to grayscale
3. Apply bit plane slicing
4. Separate the lease significant bit plane
5. Encrypt the above message
6. Put all the bit planes back together
7. Show the picture with the encryption
Rik
el 9 de Oct. de 2020
We generally discourage posting solutions to homework questions. You also have not shown any attempt and are hijacking someone else's question. Please post this as a separate question.
Also note that due to the US law that governs this site most discussions about cryptography are not allowed. It may be illegal to answer your question.
John BG
el 29 de Oct. de 2015
original_message=input('Please enter the message you want encrypted:', 's') % original message
% do not input key as string or you will have to write a program with a vector as key
key=input('What will be the encryption key you are using:')
number_message=double(original_message)
mask1=find(number_message>=65 & number_message<=90)
wrapup1=repmat(key,1,length(mask1))
number_message(mask1)
% number_message(mask1)=number_message(mask1)+key % without wrapup
% with wrapup
number_message(mask1)=...
mod(number_message(mask1)+wrapup1,13)+repmat(65,1,length(mask1))
mask2=find(number_message>=97 & number_message<=122)
wrapup1=repmat(key,1,length(mask1))
number_message(mask1)
number_message(mask1)=...
mod(number_message(mask1)+wrapup1,13)+repmat(97,1,length(mask1))
You finish off the fprintf, ok?
John
1 comentario
Nick Haufler
el 30 de Oct. de 2015
John BG
el 29 de Oct. de 2015
The second mask should not have any reference to the first mask, sorry. Replace the last 5 lines of code with
mask2=find(number_message>=97 & number_message<=122)
wrapup1=repmat(key,1,length(mask2))
number_message(mask2)
number_message(mask2)=...
mod(number_message(mask2)+wrapup1,13)+repmat(97,1,length(mask2))
John
Categorías
Más información sobre Programming en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!