Steganography NFT: What can it be used for?

Are there any examples of this solution used in production? I’ll google around, but this was the first thing that came to mind. Seems like a viable option w/out doing any research myself.

Interesting links I found. I think I understand this. It’s like TrueCrypt. It’s a simple encrypted payload of variable size that is added to anything and does not impact the original thing. It’s like an encrypted wart that you cannot see and can hide stuff in. Is that about correct?

Why does it 4x the original size? Isn’t the bloat a function of what you are adding to the encryption package? For example: If I add the string “deeZNNutz” to a 100kb image will it 4x the image size?

1 Like

Same for me. Very interesting ideas.

1 Like

Yes, it’s like a TrueCrypt container. :slight_smile:

A quick test on my end shows that using a small text file as the secret input will not greatly impact the output file size.

Example:
input.png = 180 KB
secret.txt = 1 KB
unencrypted and encrypted output were both 180 KB

1 Like

this is a pretty good idea. Can the contents of the container be changed? Not sure why we would need to do that. But I assume a public key would be added the the container. And that, along with the private key, will confirm ownership of the digital asset. If the contents of container are tampered with the private key will not authenticate ownership.

And if someone loses the image it’s like losing a private key? What is to prevent someone from removing the container and attaching it to another image? I assume the key generation is a function of the hash of the object the container is attached to?

This is cool.

1 Like

I’m not aware of a commercial software that offers this steganographic solution, but maybe someone has already tried this?

Yes, it’s dynamic and can be updated by the token holder.
As for why we want this – let’s aim for multi-use NFTs as opposed to single-use.
I’m still thinking of how this will impact the NFT record on-chain.

Yes, but hopefully the carrier is uploaded to a reputable storage service.

Nothing. Some actors may try to extract and bruteforce these containers. This is the tradeoff for having open source code, a public ledger, and a project criteria to embed any amount of data.

I’m still working on this part, but ideas for key management are welcome.

1 Like

Awesome. I can dig around for key generation articles too.

But to be clear, the goal is to make sure an encrypted container is attached to a specific “thing A”. And if we remove the encrypted container and attach it to “thing B” it will not be authentic.

Correct?

Spectral Attestation could check a hash that is part of the NFT’s record on-chain.
hash(output with embedded secret)

If someone manages to append the secret container to another file, good for them. They still need the private keys and the ledger won’t validate the imposter file is authentic.

1 Like

I like this idea a lot. Encrypted Warts.

EW standard.

2 Likes

Here are some research links to read.

Not much out there on embedded encrypted data in NFTs.

2 Likes

Interesting discussion about Sign in with Ethereum where they discuss data vaults to store information.

These guys are working on the identity standard

Wonder if there is anything we can learn about their data vault.

I checked your PoC and tried to familiarize myself a little with these concepts.
I understood you’re proposing to just add an encrypted payload to the file and the solution does not necessarily need to use LSB or BPCS. Would the benefit of using LSB or BPCS be that it would be harder for an outsider to determine the file has something hidden in it?

Why would encrypting the embedded contents make those methods not work?

As we think about NFT and a future marketplace, I found this video pretty interesting. Posting it here to remember to watch when a marketplace is in the works.

Interesting research paper shared by @angelo_a_jr

Abstract

Adversarial training has proved to be competitive against supervised learning
methods on computer vision tasks. However, studies have mainly been confined
to generative tasks such as image synthesis. In this paper, we apply adversarial
training techniques to the discriminative task of learning a steganographic algorithm. Steganography is a collection of techniques for concealing the existence
of information by embedding it within a non-secret medium, such as cover texts
or images. We show that adversarial training can produce robust steganographic
techniques: our unsupervised training scheme produces a steganographic algorithm
that competes with state-of-the-art steganographic techniques. We also show that
supervised training of our adversarial model produces a robust steganalyzer, which
performs the discriminative task of deciding if an image contains secret information.
We define a game between three parties, Alice, Bob and Eve, in order to simultaneously train both a steganographic algorithm and a steganalyzer. Alice and Bob
attempt to communicate a secret message contained within an image, while Eve
eavesdrops on their conversation and attempts to determine if secret information is
embedded within the image. We represent Alice, Bob and Eve by neural networks,
and validate our scheme on two independent image datasets, showing our novel
method of studying steganographic problems is surprisingly competitive against
established steganographic techniques.

1 Like

Food for thoughts from another project I discussed with:

"Maybe I’m mixing up things here so open to talk. First I’m not advocating anything tbh. I’m just skeptical when it comes to the crypto ethos (cryptographically verified anything etc.) when projected on others population as most of them don’t really care. I think that ultimately we’ll come to that but it might takes decades and we’re here and now.

For exemple the vast majority of artists, good or bad, are not wealthy. There are some rich ones of course but that’s a very little number. The first ones rely on social proofs to sell as they usually work with 1, 2 or 3 galleries and sometimes with institutional structures so when a sale happens the actors, seller, buyer and artist already know each other. They’re part of the same local or national network. The second sale will fall in the same situation. What happen next isn’t really the artist’s problem in that case, that’s what I said talking to institutions might be more interesting. The laters now are in a different situation, they sell and show their work in many social networks they have no control on, however once the first and maybe second sale happened, they don’t care (usually). But let’s address the elephant in the room because before even starting to talk about what could replace paper certificates (what we use now), we should talk about how NFTs or Ordinal or even Blockchain could replace that or even be used in the scope of real life art production. But maybe this wasn’t the point ?

I don’t see all darkness in Ordinals and NFTs. From my personal perspective, those are awesome technology that allows digital art to be unique for the first time. However it’s highly limited right now. For exemple, I just applied to a video contest call and I had to deal with 7GB files due to the high quality requirements for the diffusion. So copy pasting real life work onto a chain wouldn’t really work in many cases, even when it comes to digital art. However and that’s what I’m (personally) interested in is how to question the protocol itself and, for example, what it could do to the art economy. I’ve been working with The Economic Space Agency for a few years but unfortunately nothing but research papers ever came out of that. I would love to see a twist coming from the art scene and not just panini cards."

Trying to let some of this soak in but from what i understand it sounds like its got the potential to be the alien tech weve been looking for.

1 Like

Bump. High quality thread. Hows this looking w ordinals and brc20 now?

1 Like

I’ve re-evaluated the path to achieve the “NFT Standard”.

I believe Mr Kaine’s suggestion in this post is how we should approach the solution.

The ZAS will allow us to support any asset types that gain popularity, but not necessarily every type of asset. I think we will need to integrate each one separately and we’ll likely prioritize the popular ones.

Examples

  • Native NFTs with pointers to off-chain data (similar to ERC-721)
  • Native NFTs with data on-chain (similar to inscriptions and stamps)
  • Bridged assets, such as Bitcoin inscriptions, ERC-721s, etc.
  • Zenon’s “NFT Standard” with cryptography/steganography

The initial vision is ambitious and we need some other infrastructure to get us there.

4 Likes

Wen unused legacy pillar slot NFTs

A determined adversary using statistical analysis and modern digital forensics techniques will be able to detect the hidden data encoded with either of those methods, especially LSB. The chance of detection is even higher if the reference (original) data is publicly available.

I made a mistake when I wrote that. The encryption scheme is necessary regardless; the way we encode/embed the data is a separate decision. Theoretically, we could encode encrypted bits into images using LSB, but we won’t have much capacity.
I don’t think LSB, PBCS, or any other common steganography algorithm is viable for our use case.
It doesn’t even make sense to call it steganography, but I digress.

This is actually a great question and deserves a complete answer.

5 Likes