Gifshuffle
Parchivist (Talk | contribs) |
Parchivist (Talk | contribs) |
||
(One intermediate revision by one user not shown) | |||
Line 3: | Line 3: | ||
|subcat=Encryption | |subcat=Encryption | ||
|subcat2=Steganography | |subcat2=Steganography | ||
+ | |released=1998 | ||
}} | }} | ||
− | '''gifshuffle''' conceals messages in [[GIF]] images by shuffling the colourmap, which leaves the image visibly unchanged. gifshuffle works with all GIF images, including those with transparency and animation, and in addition provides compression and encryption (using the [[ICE (encryption algorithm)|ICE]] encryption algorithm) of the concealed message. | + | '''gifshuffle''' by Matthew Kwan conceals messages in [[GIF]] images by shuffling the colourmap, which leaves the image visibly unchanged. gifshuffle works with all GIF images, including those with transparency and animation, and in addition provides compression and encryption (using the [[ICE (encryption algorithm)|ICE]] encryption algorithm) of the concealed message. |
Any list of n items can be sorted n! ways, meaning that any particular ordering can represent a number in the range [0, n!-1]. This number can in turn store approximately log2(n!) bits of information. Thus, a GIF image with 256 colours can store up to 1683 bits (210 bytes) of information by shuffling the colours in its colourmap. | Any list of n items can be sorted n! ways, meaning that any particular ordering can represent a number in the range [0, n!-1]. This number can in turn store approximately log2(n!) bits of information. Thus, a GIF image with 256 colours can store up to 1683 bits (210 bytes) of information by shuffling the colours in its colourmap. |
Latest revision as of 03:04, 9 November 2023
gifshuffle by Matthew Kwan conceals messages in GIF images by shuffling the colourmap, which leaves the image visibly unchanged. gifshuffle works with all GIF images, including those with transparency and animation, and in addition provides compression and encryption (using the ICE encryption algorithm) of the concealed message.
Any list of n items can be sorted n! ways, meaning that any particular ordering can represent a number in the range [0, n!-1]. This number can in turn store approximately log2(n!) bits of information. Thus, a GIF image with 256 colours can store up to 1683 bits (210 bytes) of information by shuffling the colours in its colourmap.
v2.0 Changes involve tweaks to a few GIF encoding characteristics, plus an improvement to the way encrypted messages are encoded (Encryption is also applied to the ordering of the colours in the colourmap. Instead of using their "natural" ordering, the ordering of their encrypted hash is used. This has the benefit of making colourmaps look random even when there is only a small message concealed). These should further reduce the chances of concealed messages being detected. The -1 option forces v2.0 to produce files compatible with v1