How to insert password encryption on steganography
4 次查看(过去 30 天)
显示 更早的评论
Hi everyone, I wanna ask you how to insert password encryption on steganography, so that before embed process, the user should input the password. Then cover image save message as the stego file. It will do the same when user want to extracting message from stego image: user needs to input the correct password.
Here is the process embed/extract that I use for the program. Please, I need your advice. Thanks.
5 个评论
采纳的回答
Image Analyst
2014-1-20
Try this:
thePassword = inputdlg('Enter the password:', 'title Bar', [1 50])
3 个评论
Image Analyst
2014-1-20
I don't work in steganography/cryptography. You can search here for articles by people who do : http://iris.usc.edu/Vision-Notes/bibliography/contents.html
更多回答(1 个)
Walter Roberson
2014-1-21
It seldom works like that. The password does not get embedded in the image, usually. Instead, the password is used to influence how the hidden information is to be written. Then when the end user wants to extract the hidden information, they must supply the password and the password is used to influence how the hidden information gets read back. If they did not supply the right password, the information retrieved will not look correct. If you put in enough error detection coding, you can detect with relatively high probability whether the data was retrieved correctly.
When the password gets embedded in the image, there is a danger that someone could extract the password and then use it to retrieve the hidden information, so instead of putting it in the image, just make it so that if they give you the wrong password that what comes back will be nonsensical.
2 个评论
Walter Roberson
2014-1-27
Good security would say "Don't do that." Make the attacker spend the time decrypting the message. Let the attacker decide whether the resulting message is the right message or not. If you give an error message before decrypting the message, then 1) The user can quickly switch to another attempt, and do that over and over until you tell them they got the key right; and 2) the user will know they got it right because you didn't complain that they had the wrong key. Best security practice is to make every decryption (whether correct key or not) take exactly the same time so that the attacker cannot tell by analyzing timings whether they got the right answer, and best security practice would to use an encryption algorithm that could in theory present a completely wrong message if the attacker did not know the right key.
There is an encryption method called "One-Time-Pad" in which you distribute a shared key to the person who has to decode the message. To encrypt you perform a simple operation such as XOR'ing the shared key with the message. Upon receive the destination performs the same reversible operation using the shared key, getting the original message. Then both sides throw away that shared key and never use it again. Someone trying to attack the encryption has the problem that if they use the wrong key, they will get a different decrypted message that might look entirely plausible. "ATTACK!!" and "RETREAT!" have exactly the same length so if they attacker uses one wrong key then they will get out "ATTACK!!" and if they use a different wrong key then they will get out "RETREAT!" and if they use a third wrong key they will get out "TEA TIME" and they will have no idea if they were right. One-Time Pad encryption is considered to be the only truly secure encryption -- provided, that is, that the shared key is securely distributed to the person who is intended to decrypt it. And notice that the reason it is considered to be truly secure is that it does not give any feedback as to whether the right key was used for the decryption attempt.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Encryption / Cryptography 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!