Viewing a single comment thread. View all comments

volci t1_jb9il5y wrote

>Besides being perfectly secure, the new algorithm showed up to 40 per cent higher encoding efficiency than previous steganography methods, they said.

Sorry, but extraordinary claims require extraordinary evidence

If you're altering a source file (by adding information, as in this example), it's detectable

Cryptographic hashes are a perfect test for this type of communication - the hash of the original will never match that of the altered copy

The only "perfectly secure" communication is a true one-time pad ...though, of course, the individuals using that system are subject to data extraction through less 'technical' means

394

Mr_Locke t1_jb9yj7e wrote

Nail on the head here. Where is their evidence. Also "perfectly secure" isn't a thing and if it's undetectable then the tool you use to pull the data out of your image wouldn't see it to pull it out.

Also to break stego down a bit here is an example. Let's say I have a picture called Ducky.jpg that is exactly 100Mb in size. If I use traditional stego and hide a message in that image it will change it's size to let's say 101Mbs. Now, if this new technique makes it undetectable by also altering the size by removing blank space like compression does but I only the exact amount then we could get our file down to 100Mb. However, if you hashed both images, our nor all ducky.jpg and our ducky.jpg with our stego message inside, even tho they are the same size their hashes will be different.

What am I missing here fellow nerds?

135

DoktoroKiu t1_jbats40 wrote

Nobody but you has access to the original, so unless you can detect the steganography without the original it is "perfectly secure".

I didn't read anything on this, but I'm guessing the only real advance is that the encoding is not discernable from noise.

72

zalgorithmic t1_jbb400v wrote

Isnt one of the main points of good cryptography to have the message already be indistinguishable from noise? Just build up enough entropy that it seems like noise unless you have the proper key.

31

Mechasteel t1_jbbh94i wrote

Cryptography is so when they see your message they can't understand it. Steganography is so they don't see your message. Shannon entropy is how much your message looks like noise, which is coincidentally the same as data density.

52

Mindless_Consumer t1_jbc3kej wrote

Most (all?) Steganogeaphy can be detected.

For example, one technique is to hide data in a jpeg. Open the file it looks like a regular image. Run the binary through a decryption process, get a secret message.

We may not be able to crack the message. But we can find out it is there. Then hit you until you decrypt it.

9

ImmoralityPet t1_jbckhzb wrote

That's what they're saying the advancement is here. The presence of the message is undetectable. The alterations that are done to the image are indistinguishable from other probabilistic filters that the file type is typically subjected to.

9

Mindless_Consumer t1_jbcnplo wrote

If true - its actually a big deal.

Consider a hostile universe and we need to send a signal across the galaxy, the presence of a signal alone is enough information to get you xenocided. Being about to mask the existence of a signal will be vital.

−5

ImmoralityPet t1_jbcqx9l wrote

That's not what they're claiming though. The presence of a signal is known. The presence of a second message embedded in the signal is what is undetectable because the encoding process is embedded in probabilistic filters that the signal was subjected to anyway. And the output signal is indistinguishable from a signal that went through such a filter with no embedded message.

6

Mindless_Consumer t1_jbcs38u wrote

Yea. So match the signal to that of a local star or some other natural phenomenon.

The point is - if this is impossible which it may be. Long communication in a hostile galaxy may be impossible. If it is possible an explanation for not detecting signals is they are hidden and undetectable.

−1

CrispyRussians t1_jbddq3v wrote

I love that you went right to space travel. I don't think this is applicable but I like where your mind is at

3

Mindless_Consumer t1_jbdfyzb wrote

Yea, like, I thought we were on futurology.

1

CrispyRussians t1_jbdg2sf wrote

I think the sun focuses more on the next 50-100 years not the next 1000

1

Mindless_Consumer t1_jbdggmu wrote

Like I said - its a big deal.

If it is actually hard undetectable, this is how we're going to do it. That's pretty cool.

1

green_meklar t1_jbcyjm2 wrote

The problem with encrypted data that looks like noise is that noise also looks like encrypted data. If someone sees you sending noise to suspicious recipients, they can guess that you're sending encrypted messages. Governments that want to ban encryption or some such can detect this and stop you.

The advantage of steganography is that you can hide not only the message itself, but even the fact that any encryption is happening. Your container no longer looks like noise; it's legitimate, normal-looking data with a tiny amount of noisiness in its structure that your recipient knows how to extract and decrypt. It gives you plausible deniability that you were ever sending anything other than an innocent cat video or whatever; even people who want to ban encryption can't tell that you're doing it.

6

zalgorithmic t1_jbczvnb wrote

In my mind it’s best to do:

Data->compress->encrypt->steganography

Not saying steg is bad and cryptography is good, just that I don’t quite see how encrypting the data properly in the first place such that it shows up as some random distribution before embedding it with steganography is a wildly new concept.

If the distribution of encrypted data is that of noise, the image would just appear slightly noisy, especially if doing least significant bit shenanigans

0

green_meklar t1_jc51rar wrote

>I don’t quite see how encrypting the data properly in the first place such that it shows up as some random distribution before embedding it with steganography is a wildly new concept.

It's not. I was getting at the converse idea: Given your encrypted data, steganography allows you to hide the fact that any encryption is even being used.

>If the distribution of encrypted data is that of noise, the image would just appear slightly noisy

Only by the broadest definitions of 'noise' and 'appear'. The image does not need to actually have visual static like a dead TV channel. That's a very simple way of embedding extraneous data into an image, but not the only way.

1

jobe_br t1_jbc7axo wrote

Exactly. Say, posting a selfie to Instagram. It’s on your phone and on Instagram, but if in that process a message has been encoded, nobody has anything else to hash against.

6

tomrlutong t1_jbcuwvj wrote

heres the paper. Anything is detectable if the adversary has the original. This technique claims to result in files that are statistically indistinguishable from unaltered files of the same type. E.g. you can't build a filter to examine all the videocalls going over a wire and find the one carrying stenography.

9

SatanLifeProTips t1_jbc10wq wrote

Take a new picture, encode info, destroy original picture so no one can compare it.

Or if the process requires comparison of the original you could simply use wily different methods of sending the original and the doctored image. Send both via sneaker net and thumb drives with self destruct buttons.

But the main one being don’t let the same people see the good and doctored image for comparison.

5

so_good_so_far t1_jbc1mp0 wrote

A lot of stego doesn't increase size at all. You might change the least significant bits of each pixel to your encoded value. The visual difference of the image is nearly undetectable, size is the same, but encoded data has replaced the least important parts of the image data.

Still would fail hash checks, and their claim is still patently false (haven't read it, but if that's actually their claim it's about on par with a perpetual motion machine so don't really need to).

5

nybble41 t1_jbdba8a wrote

Any steganography system will assume that the adversary doesn't have access to the original file to check the hash. Obviously if they do then the fact that the file was altered in some fashion can't be hidden, though you might be able to provide some other plausible excuse for the changes (e.g. compression).

The claim here is that it's impossible to distinguish the files containing messages from others of the same type. In other words given two images, one with a message and one without, there is no analysis which could say which one contained the message without the decoding key. There is nothing inherently impossible about this on par with perpetual motion machines; it's just extremely difficult to get right when you don't have control over the encoding you're trying to blend in with.

A simpler task would be to hide a message in a highly redundant format of your choosing. For example, any data can be encoded in 2x the original space as interleaved bits from two bitstreams A and B where A consists of strong (pseudo-)random bits and B is the original data XOR A. Both A and B will appear random, but A XOR B gives the original data. (One plausible reason to do this might be to avoid long runs of 0's or 1's in electronic signals or radio transmissions.) Given such an encoding you could replace the random bits (A) with the ciphertext of your hidden message, which should be indistinguishable from noise, and compute B as usual. For anyone without the key there is no way to tell whether the interleaving of A and B contains a hidden message, but someone with the key can simply apply it to the "random" bits.

Of course for this to function as steganography people would need to use this encoding when they weren't sending hidden messages, which is not very likely, or else the encoding itself would give it away. However, real data formats can have similar properties where there is an element of randomness in the encoding. The trick is to substitute random-seeming ciphertext in place of natural noise without leaving any traces. This is the same basic principle as replacing low-order bits in an image with ciphertext, except it's actually not that easy to blend in since natural low-order bits aren't completely devoid of patterns and bias.

5

so_good_so_far t1_jbdd5pu wrote

For one, steganography systems do not universally assume that. There are plenty of use cases for hiding data in plain sight, commonly used images, etc. Hiding data in a common image might be plenty to slip it past a censor or authority even if a later cryptanalysis might detect it.

But please link me the mathematical proof that backs up their claim that this is "perfectly secure" (whatever that actually means). "Random seeming" is not random. Even tiny biases can tip off attackers that there may be encrypted data, no matter how many times you XOR it. Random is random, everything else has patterns. No matter how cleverly they intermingle it with other structured data, it is not random and I'm not buying it unless they have a peer reviewed proof that backs their claim up.

0

czl t1_jb9kzow wrote

You get images or video that you suspect may contain a message but not access to originals and you want a way to judge whether there is a message present and inside which images.

It is foolish to leave unaltered originals available if you are using stenography thus the comparison test you refer to can not be done in practice.

If you compress you message well the result is near noise and it is that noise that you then mix among the “natural noise” your media contains. Done right this is hard to decode or even detect unless you know the algorithm.

When claims are made about “encoding efficiency” that depends on (1) what you are hiding (2) inside what with (3) what chance of detection.

32

zortlord t1_jb9vqmd wrote

>It is foolish to leave unaltered originals available if you are using stenography thus the comparison test you refer to can not be done in practice.

This is just steganography using media files.

14

greenappletree t1_jb9rxv4 wrote

Wouldn’t it be even safer to encrypt the orinal anyway and then obfuscate it with stengraphy?

8

D_D t1_jb9x3dz wrote

But if you encrypt information everyone knows there's information to be uncovered. Not every image you come across on the internet has hidden messages.

8

TheSoup05 t1_jbc41ks wrote

That’s usually what you’d do. Typically steganography isn’t your only form of security. You’d encrypt it first, then encode it. And even if you can detect that there is a hidden message encoded in some file, that doesn’t mean you actually know how to extract it even if it’s not encrypted.

The steganography is really just there to try and avoid having people know you have something worth encrypting so that they aren’t trying to figure out what it is in the first place.

7

czl t1_jbbk1ar wrote

Originals are proof stenography was used. You destroy those since they are not needed for anything after you send the altered media.

6

green_meklar t1_jbcyt96 wrote

You don't need to keep the original at all. Just delete it. The version with the hidden message should be the only version anyone but you ever sees.

2

volci t1_jbbrlww wrote

> Done right this is hard to decode or even detect unless you know the algorithm.

And then you gett he problem of security by obscurity .. "as long as no one knows how we did it, it's secure!"

2

shponglespore t1_jbcffcx wrote

Obscurity should never be your only security measure, but it can still play an important role in your overall security strategy. You can and should encrypt anything you're hiding with steganography.

Also, steganography isn't really security through obscurity. That phrase generally refers to things like trying to keep a weak encryption algorithm secret because anyone who knows the algorithm has a huge head start on cracking it. Good crypto algorithms are designed to be secure even when an attacker knows exactly which algorithm was used.

4

czl t1_jbc3ne5 wrote

Is stenography used for security? No. It is used for plausible deniability. For security there is encryption. You understand the difference do you not? When you need both you use both of course.

3

volci t1_jbc9gjt wrote

Steganography is used for security

Maybe it shouldn't be ...but it is

1

czl t1_jbcli5n wrote

> Steganography is used for security

Steganography is confused for security.

Steganography can help security but it is not security. It increases the work needed for discovery and only that.

Analogous to the difference between cover and concealment: "Cover is protection from the fire of hostile weapons. Concealment is protection from observation."

Steganography is like "concealment" but not like "cover". To have "cover" you need encryption. You can have one or the other or both.

2

volci t1_jbcnorh wrote

Wikipedia disagrees with you ...https://en.wikipedia.org/wiki/Steganography?wprov=sfti1

Steganography is a form of security

Via obscurity :)

1

czl t1_jbcs10i wrote

My words above are:

>> Steganography can help security but it is not security.

To that you reply

> Wikipedia disagrees with you… Steganography is a form of security … Via obscurity

Obscurity can help security but it is not security is it? You know better than that to believe that so why do you reply to me with ‘Wikipedia disagrees with you’?

Here is what the wikipedia link you shared says:

>> Whereas cryptography is the practice of protecting the contents of a message alone, steganography is concerned with concealing the fact that a secret message is being sent and its contents.

Concealment can help you avoid detection but concealment does not offer protection does it? If someone has a gun a pile of leaves may conceal you but will it protect you? What do you suppose happens to those who confuse concealment for cover (which does offer protection)?

Do you genuinely not understand the difference between stenography vs cryptography and the different purposes (as Wikipedia explains) they have? Are you being disagreable on purpose to act like a troll? Why then are you being disagreable? What is your purpose?

1

green_meklar t1_jbcyzzs wrote

With proper cryptography, even if they do know your algorithm, they still can't read your message without the decryption key. Ideally, with good steganography, knowing your algorithm can't even tell them the message is present without the decryption key.

3

volci t1_jbae8x8 wrote

You have to have the unaltered originals somewhere, or you won't know what you hid where

−7

czl t1_jbbjlgv wrote

> You have to have the unaltered originals somewhere, or you won't know what you hid where

You do not need originals.

Data can be encoded to look like noise yet still be decoded if you know the algorithm despite not having unaltered originals.

This is commonly done when secret messages are EM transmitted for example with turbo codes: https://en.m.wikipedia.org/wiki/Turbo_code

With stenography instead of encoding messages in the EM spectrum you encode in the media (sound, images, video, ...) you are using.

If you have data treated to look random (compressed / encrypted) you can for example encode it using the "least significant bits" of your media which are mostly sensor noise anyways.

A more sophisticated approach can spread this out across pseudo random offset pixels. Your algorithm knowing the pseudo random sequence can decode your data analogous to https://en.m.wikipedia.org/wiki/Spread_spectrum techniques for secret messages transmission and applications like: https://en.m.wikipedia.org/wiki/Low-probability-of-intercept_radar

6

green_meklar t1_jbcz5sf wrote

No, the idea is that you leave data in the file itself that tells the recipient how to find what's hidden in it. The recipient doesn't need to see the original, all they need is the right decryption algorithm and key.

0

Schrecht t1_jb9jssl wrote

>If you're altering a source file (by adding information, as in this example), it's detectable

Technically true. For steganography, detection requires a copy of the original. If you create your own content and keep no copy after inserting the message, the bad guys don't have the original.

13

LummoxJR t1_jbbdp5l wrote

There are forms of steganography you can detect without the original, if you have an idea what patterns to look for. Ultimately the data is there somewhere.

11

Schrecht t1_jbbowfd wrote

Interesting. But it sounds like you're saying that the vulnerability is limited to some forms. Are there forms of steganography which lack that vulnerability?

2

TheSoup05 t1_jbbz3v3 wrote

Well, allegedly whatever type of steganography the article about doesn’t, but they don’t go into detail so I have my doubts.

The extent of my experience with steganography was a grad course a few years back with a professor who was a big name in the field. So I’m not an expert or anything, but I am somewhat familiar with this. And in my experience the answer is no. It’s an arms race. Someone comes up with a way to hide data, someone else comes up with a way to find it, so someone else comes up with a new way to hide it, so someone comes up with a new way to find it, etc. That’s not to say it’s perfectly accurate and that you can always tell with 100% certainty if a file has data encoded in it, but every method I’ve seen creates some artifact that is generally detectable with with a high degree of accuracy using the right kind of statistical analysis.

3

Schrecht t1_jbccdli wrote

Interesting. I feel like there must be a way to inject what looks like normal noise and perturb it in ways that look look natural but carry a signal. But you sound like your professor knew his shit. Thanks, it's something to think about.

1

LummoxJR t1_jbc1n6n wrote

If the data is there, it can be extracted, because the intended recipient was bound to have some way of extracting it. The question is how to know it's there and what to look for. For instance if you know the data is encoded in the LSB of a certain set of pixels in a lossless image, you can pull that data without the original. If you know roughly what to look for, like the data being in the LSB but aren't sure where, it's possible to run various types of pattern recognition on it. Plaintext encoded in the LSBs would be super obvious, for instance. But so would "noise" in an area of the image where LSB noise was expected to be low.

I have no idea what the state of the art is in steganographic detection, but I'm sure it involves the use of statistical tools to identify unexpected patterns in the data. Even if you used cryptography to encode a small piece of text so it became bitwise gibberish and then introduced it into a file through steganography, analytics could probably determine that the entropy of a particular part of the file shot way up. Once the data is found, the problem is no different than deciphering the intercepted message. Although steganography adds a layer of difficulty to the problem, it's just one layer. And if the trick is ever discovered, it stops being useful (to you) forever; you just have to find a new way of hiding data.

3

warlock415 t1_jbau2wr wrote

> Cryptographic hashes are a perfect test for this type of communication - the hash of the original will never match that of the altered copy

You're assuming you can access the original.

13

volci t1_jbb8val wrote

someone can

The sender, for example

−2

warlock415 t1_jbbcbvr wrote

Not necessarily. Consider the following: I take a picture of my cat using a digital camera. I open up a laptop without a hard drive, boot to a Linux thumbdrive, copy over the picture from the camera's SD card. I make the picture smaller by some percentage amount and then make the picture bigger by the reciprocal. Save the output of that process and use that as the base for the steganography.

Now, even if someone gets their hands on that SD card and somehow defeats deleting the picture / destroying the card, they still don't have the "original" image that went into the steganography process.

15

slayemin t1_jbaxl31 wrote

What if they have a system which just runs an app that takes a picture with a phone and encodes the data in the least significant bits of the photo? If they can keep the LSB order random using an crytographically secure PRNG, it would be somewhat secure. The problem is, if an adversary believes a photo contains stego info, then it just becomes a crypto problem. Stego is just a form of security through obscurity, which generally isnt a good security policy.

5

ControlledSingular t1_jbbs43f wrote

Stego is usefull in a very different way from crypto. With crypto shure i might not know what you are sending between yourselves, but i can know that you are sending stuff. Thus if i catch one of you doing a crime for example, i will be very very interested in investigating your crypto communication buddies, even tho i do not know the messages themselves. Stego aims to fix this by hiding the fact you ever comunicated in the first place. This type of security is ONLY achievable by obscurity.

5

TheSoup05 t1_jbc7q7x wrote

LSB encoding using a PRNG order is a common way to do steganography, but it’s usually pretty easy to detect. Statistically, an image with LSB encoding will look different than one without it if you’re looking at the distribution of bits across the image.

The goal of the steganography isn’t to replace encryption though. For example, if Alice and Bob are criminals and Alice gets busted, it would definitely look suspicious if someone saw Alice sent Bob a bunch of encrypted messages. They might not be able to figure out what the messages contained, but they don’t need to know in order to start investigating Bob anyway.

Instead though, what if Alice just posted a picture to social media. Nothing about it looks weird, it’s just a regular social media post. Maybe the steganography is detectable if you’re already looking, but it isn’t weird enough to get someone to start looking at it on its own. But…Bob knows there’s a message encoded in that image and how to extract it. So Alice still gets caught eventually for some other reason, but there’s nothing actually connecting her to Bob. She didn’t send anything directly to him, it’s just an image that’s out there where anyone can see it. But Bob still got the message, and was the only one who did. Maybe the police go back now and analyze Alice’s pictures and see exactly which ones had a message encoded onto them, but they still can’t tell what the message was or who it was for.

2

zapitron t1_jbcd0nh wrote

You don't have to send them the original file or its hash.

2

ajmartin527 t1_jbdgl4p wrote

That one time pad wiki link led me down a rabbit hole about the history of TLS and SSL. I was reading historic protocol documents for hours. Thank you for that.

2

hxckrt t1_jbcam1y wrote

Perfectly secure here means someone who knows the exact distribution of the covertext. It's not about cryptography.

I believe this is the paper:

https://www.researchgate.net/publication/364777247_Perfectly_Secure_Steganography_Using_Minimum_Entropy_Coupling

1

volci t1_jbcb4fa wrote

Except...you can't know who all has gotten copies

0

hxckrt t1_jbcj6ly wrote

That's like saying one time pads are not secure because you don't know who has the key. It's about how you model it.

1

ImmoralityPet t1_jbck1cn wrote

>If you're altering a source file (by adding information, as in this example), it's detectable

Only if you have access to the original, unaltered file. And it's not the alteration that's undetectable, it's the fact that information was encoded using the alteration. That's why they describe using probabilistic filters to do the encoding.

1

CrispyRussians t1_jbddl20 wrote

The one time pad thing reminds me of privnote. Ive used that in conjunction with signal to send messages. Feels pretty safe

1

Odd_Mathematician_80 t1_jbedvjh wrote

This is only true if you have the original file to compare the altered file against. It is possible to determine a file has been altered but it now much more difficult to do so. M/L algorithms on known file types should be able to discover these modifications, identifying that there is probably a needle in this haystack, but as the paper explains it is harder to detect the presence of a secret and the secret is still protected even if you find it.

1

AaronElsewhere t1_jbefzz1 wrote

It's not exceptionally revolutionary technology. It's a technique that has been described before.

Yes, if-and-only-if you had the source file before and after information had been embedded, then absolutely you can tell some encrypted data must have been added(but not necessarily what it was).

However, as a third party(say an oppressive government) looking at maybe images published from IPs within your country and trying to determine if any contain encrypted messages, it is conceivably impossible because you don't have the original file. Since compression already introduces a level of noise, if your encrypted message doesn't introduce more noise than is present then a third party can't distinguish an innocuous image with normal artifacts from compression versus those that have artifacts resulting from embedding encrypted information.

If I generate semi original images such as a meme and embed data in those, then third parties don't have any original files to generate hashes of for comparison against. This is where you're misunderstanding how these techniques are applied.

1

thesolarcode t1_jbij3rc wrote

This is from the linked article:
...
To overcome this, the research team used recent advances that allow different sets of data to be sent without the corruption.
...

How I understand this: for example if the method is used on text, that encoding is done by using different words with the same meaning. So if you don't know the original message, there is no way to figure out there is something hidden in the text message. Because the meaning itself is completely unchanged.

1

green_meklar t1_jbcy2qk wrote

Of course if you have both a source file and a modified version, you can detect the differences.

But with steganography there's no need for a 'source file'. You can just send some brand-new innocuous-looking file with the hidden message encoded in it. With good algorithms and a high ratio of decoy data to message data, detecting that a message even exists becomes ridiculously hard.

0

[deleted] t1_jbbirow wrote

[deleted]

−1

banksy_h8r t1_jbbt5m2 wrote

This is the naive approach and will be detectable as a cumulative noise floor higher than expected, based on a corpus of that media type.

1