Can someone explain to me how to embed info into a picture using 2d DFT?
Now I can turn the picture into a Complex matrix, but I failed to find a way to encode info into that complex matrix.
A lot of material said "in theory" you can put binary data in it, but eventually they just use a simple logo for demo.
(Also, I spend several hours with ChatGPT to figure out what the physical meaning of 2d DFT and how to do it, and why I have to pad zero to the image)
LSB steganography is fairly easy. I can embed 70KB of information into a 768x768 image. But this method is extremely fragile. The channel must preserve all the original colors, otherwise the message is lost.
DFT steganography is kind of amazing. Once you put something visual on the freq space, your eyes can still recognize the pattern even if the image is corrupted heavily. But a visual pattern is not very useful in transmitting information. You can't even put a QR code in the freq space (technically you can, but the original file will be heavily disrupted.)