Mathematicians Encrypt Images Using Mathematics of Sudoku
technologyreview.com
technologyreview.com
You know what else works for encrypting images before sending them? Any other encryption algorithm.
Who cares if your "encrypted" image is still an image? Doesn't that kind of defeat the point of encryption? It's obviously just a scrambled image, leaving only the question of what the unscrambled image is. If someone was planning on sending illegal or sensitive images with this, you could probably still easily guess what the nature of the original image was.
It's not like steganography where you don't know there's a message there, or normal encryption where you have no guess as to what produced the cyphertext or what the payload is.
Or, use any encryption algorithm and set the key to be your Sudoku grid.
If they want in place image scrambling using grids, can't they just generate a random grid that mixes up the pixels in a square from any (x,y) to some other (x',y') in the same square? They can still arrange for this to be a bijection, it's trivial.
Perhaps they could Google 'permutation matrix'.
The interesting thing is how you generate the grids, and for that to be secure you'd need some cryptographic method. In which case you might just as well encrypt in the first place.
You want to draw people in and show them how cool modern tech is, but if you make it too much like a lecture you don't reach as many people. I think this trade off is okay, people who are attracted and care will unlearn and those who don't care will forget but still have a general idea of science as awesome. E.g. I used to read NewScientist although now I see much of it is garbage. That stuff can't be much more damaging than non-hard scifi and comics IMO. The only site that makes me angry is ScienceDaily and not for their horrid site design.
1. Throw out any images that are strictly smaller than the cipher image. This technique doesn't do any compression
2. Throw out any images that are larger or of a significantly given aspect ratio than the cipher image, based on how many more pixels could have possibly been added to complete the sudokus on each edge
3. Compare the color histogram or some precise additive hash of color values from the cipher image to some candidate image. If the values differ, reject the candidate. This should work because the algorithm as described only seems to shuffle pixels locally in a tile. So the convolution should still have the exact same overall color frequencies. Edges where some pixels might have been filled in may have to be treated differently.
4. Continue this process until you have a reasonably short result of candidate images
You could easily solve many of these issues by using the filter to shift both space and color values and by recursively applying the shuffling process to larger and larger blocks of the image, but certainly the procedure as described in the linked article sounds suspect.
I could actually see this being researched for compression as well as encryption. Maybe try some sudoku convolutions and see if they compress better. If so, compress that image along with the sudoku solution. I doubt it would work but it might be worth a look.
A sodoku puzzle(requiring only 17 digits for an unique solution) which has an single solution isn't exactly useful for compression.
How I am thinking about this? The article states:
"And since for a 256 x 256 image, there are at least 256!=2^1684 possible Sudoku matrices, it's not easy for an adversary to hit on the solution by accident or even by brute force. "
Compression would make sense if the number of puzzles was something like 1684, but it is here 2^1684!! Which is quite a lot and to be decoded would be even worse than the image itself.
The sodoku puzzle's compression would not be of any practical use not only because they give the data more problems to account for but also because the data would need to be interpreted.
Also anything that uses encryption generally does the complete opposite of compression.
edit: I guess it's basically a base-9 numbering method, yes?