Hot answers tagged

7

You first need to consider your adversary and what are your goals for this mechanism. This kind of mechanism appears less effective than proper cryptographic means: having secure PRNG means that both ends of the message exchange have access to some proper cryptographic means Adding noise means that the information exchange is less efficient: there is much ...


7

Some general advice about steganography: Much like in the physical world, the smaller what you want to hide, the easiest that goal is. Thus you may want to compress the payload(s), and treat the result as the new, smaller payload consisting of arbitrary bits. Because your payload consists of images, some lossy scheme such as JPEG or JPEG 2000 might be used ...


6

tl;dr: That depends entirely on the watermarking scheme. Longer version: That depends entirely on the watermarking scheme used, specifically on the perceptability and robustness of the watermark. If it's supposed to be visible and robust, degrading the quality as Dmitry Khovratovich suggested will retain the watermark but might achieve the effect he ...


6

A general theoretical answer to the title's What makes LSBit steganography detectable? is that in normal images, the LSBit of a pixel in some channel is correlated to higher-order bits in the same pixel and channel, that pixel in other channels, and adjacent pixels, in ways that mere replacement of LSBit tends to strongly alter. One simple way to improve ...


5

It is an interesting question, let me clarify some points before. Nowadays F5 can not be considered an advanced steganographic method. There are algorithms as for example HUGO[1] or WOW[2] that are much harder to detect. Usually these algorithms hide information in the bitmap. F5 hide information in the DCT coefficients and this is easier to detect. ...


5

GIF images use look-up tables to store colours. If two entries in a table contain the same colour, then the pixels assigned to these colour values will be indistinguishable. For example, here is a one-bit-per-pixel GIF image. It started out as a black and white image, but I edited the colour table so that the white pixels also appear black: You can ...


5

If it's true that the origin of the copyright violation can be deduced, then each copy must be uniquely identifiable. My first idea would be to acquire multiple (unique) copies. Then: Compare the different copies frame-by-frame, pixel-by-pixel. For each pixel, output the median pixel value. This shouldn't degrade the overall quality at all. Whether this ...


5

I'll assume the question really is: when I perform low-order-bit steganography on an uncompressed image (inserting 6 bits encoding a character into the low-order bit of 6 bytes coding the R, G and B channels of 2 pixels), I find that compressing the resulting image gives a bigger file than compressing the original image for a given setting of the program ...


4

Quite often it is enough to prohibit spreading of the original content. If you “rip” the movie so that the quality loss would distort the watermark, it can be tolerated by copyright owners. They would know that anyone who would want the original quality will acquire the content legitimately.


4

My understanding is that the three most popular approaches to "steganography using text as a cover" are: 1 Generate a completely new text by picking one word at a time from a dictionary, using the ciphertext bits to select which word. Pick words in ways that, at first glance, look like real English sentences, using Markov chain algorithms. Weihui Dai. ...


4

Steganography is in general impossible, and most "practical" schemes do not work. If you are really interested in the area, however, there was some work done about a decade ago on provably secure steganography. It relies on an understanding of the distribution of the messages, which is what makes it very problematic in practice. Here are a couple of works ...


3

The Wikipedia example is something you probably would not really want to do, but does demonstrate just how much information you can add to a non-lossy image format without it being obvious to the human eye. Importantly, the technique used in Wikipedia only works for hiding a lower-quality image of the same dimensions as the container in the low bits of the ...


3

The most famous text based steganographic scheme is the acrostic: using the first letters of words / sentences. If the mean sentence length is 15-20 words and mean word length is 5 letters, then efficiency is ~1%. You could use shorter than average sentences and/or words to increase the efficiency to within your bounds of >2%. Obviously this is a specific ...


3

What you are looking for is called steganography. It is a different field from cryptography so you might want to check in some other fora also. I don't know much about steganography but i remember this paricular algorithm. You can take you ciphertext, and an image say a greyscale bitmap. Then you can replace the least significant bits of every pixel with a ...


3

Maybe you can use format-transforming encryption, which works by taking values from a message space $M$ and encrypting them into a ciphertext $C$ whose elements have some specified format. I know that this kind of encryption was already used to the same things you are asking for. Furthermore, there is a (easy to use) public available implementation ...


2

Your question is really too general - and perhaps off-topic, as steganography is quite a different field to cryptography. That being said, the answer to your question really depends on many things. Steganography is the art of hiding information in plain-sight. This information could be hidden in either; analogue or digital media, on the internet or in a ...


2

You tried interpreting this as a ternary code written in columns, but why not in rows? It was really quite simple to solve. Here's the code I used: for n in ['110','012','111','120','112','001','011','012']: x = int(n,3) + 64 if x==64: x=32 print chr(x), and here's the answer:


2

Proof of security: Let $(x_1, ..., x_n)$ be the messages you caught. Let $(p_1, ...)$ and $(q_1, ...)$ be three streams of random messages known to both communication partners. Let these be from a true random number source generating non-autocorrelated data. Let $(n_1, ...)$ be another stream of data from the same source. Since there is no correlation, ...


2

add noise to the cleartext to obfuscate the true text among a bunch of garbage .... I need an attacker to believe that the message is not encrypted So first of all, a small disclaimer. You realize that regular encryption standards would be much stronger and existing libraries are designed to handle data. On top of that it's generally not a good ...


2

In his answer Michael mentioned a known stego scheme of using the first characters of words/sentences as stego characters and rightly remarked that the scheme can be practically applied ("user-friendly") only when the stego character sequence is in natural language (i.e. not encrypted, in which case the scheme is however evidently very weak) and not when the ...


2

What you described is to use a so-called "stram cipher". Stream ciphers output a random sequence of bytes for the same Key/IV pair. The usual usage of stream ciphers is to XOR the data with the stream to obtain the encrypted data. You may want to follow the same approach by replacing the LSBs by the bits that were output by the encryption procedure (Data ...


2

If I'm reading your question correctly, you want to hide an RSA encrypted message within a 256x256 BMP file and you're wondering how this can be done as each pixel only has a range of $[0;255]$. This is fairly easy, as your message is likely to be shorter than the $256\times256=65536$ least significant bits at your disposal. You first simply encrypt the ...


2

The International Journal of Soft Computing and Engineering has published many articles on the subject. If you want to move away from simple bit-twiddling in lossless images, take a look at spread-spectrum techniques for images and audio files. There are plenty of tools available for hiding data in compressed images and audio (e.g., Steghide, JPHide and ...


2

Translate each cipher data byte to an integer string. Append "." + some random digits as a string. Prepend, to the integer portion, some random digits as a string. So 'A' (for example) = 65. Encrypted for Dummies by adding 1 = 66. Treated as a string, now "66.3867", then "1066.3867". Then, each superencrypted or just mutated string representation of your ...


2

I believe the possible advantages of the principles behind a codebook are: Can be memorized by humans. Can be used in normal speech (e.g. over the phone/radio/in normal conversation) or in text (e.g. in a newspaper) The data is compressed: it can replace longer phrases or concepts with shorter ones. Plausible deniability: It's possible to deny any code ...


1

I think You can embedding message $A$ into message $B$ with simple $LSB$ but you will have message $B'$ and maybe unmeaning. If you want the message $B'$ will be meaning, you should design $B$.


1

This is called steganography and while the example you give is not significantly better than just having the AES in a "text file" (because it would not look like an actual PNG file), there are algorithms for hiding information in a "cover" file. However, if you do not mean to hide the fact that you have encrypted something, using AES alone is normally ...


1

"Hiding" content in an image (or other medium, it's a general technique called steganography) can be done either in a very obvious way (a dedicated data block, called ancillary chunk, which does not form part of the image), or it can be more effectively hidden in the low order bits of the image, thus very subtly degrading the picture. Both methods can be ...


1

It is because there is none. It doesn't matter, how low is the bitrate you encode, a detection algorithm specified against yours, will find it. And, for any detection algorithm, there is a such low bitrate (or steganography algorithm) which will remain below the radar. What is a more interesting question, which is the maximal bitrate / optimal algorithm ...


1

The below is assuming a natural language is the one that has sentences from a well defined dictionary for that language (ex: oxford dictionary for english ). We can do this with the standard approach for FPE i.e $rank-encrypt-derank$. Build a $key-value$ pair map of all the words in the language of preference Where $key$ is the number and $value$ is the ...



Only top voted, non community-wiki answers of a minimum length are eligible