I'm learning about Steganography: the practice of concealing information within another message. More specifically, I'm learning about Least Significant Bit Steganography, which changes the color of a pixel in a parent image (in this case a meme) by an indistinguishable amount to communicate the information that is hidden.

Like an an invisible watermark.

Within this meme is a secret QR code that holds 10,000 sats worth of e-cash. The money is in the meme.

E-cash, secret messages, signatures, or even private keys (though I wouldn't recommend it) could be hidden in plain sight within an image.

So instead of sending long text strings like "cashuBo2Ftdmh0dHBzOi8..." you can just pay people in memes, which I think is pretty cool.

Reply to this note

Please Login to reply.

Discussion

You can decode it here until I build out a more formal implementation:

https://specified-agnella-nublar-88c7462e.koyeb.app/dev

That’s badass! Is it difficult to embed it into something?

There was a lot of resources and open source code on it so it wasn’t bad at all

The tricky part will be building out a user interface that will encourage people to do it or will be fun to interact with

Super cool tech. You could hide QR codes anywhere, like a family portrait on the living room wall for example.

I dig it.

This short video explained it really well in my opinion:

https://youtu.be/bZ88gnHzwz8?si=XlztXeJOmaE2zgi_

You can skip the programming parts to just get insights on how it works at a fundamental level

I have experimented with something similar, but in audio files and with messages. I should try sats in music

You better build this into gifbuddy

That’s what I was thinking if people are into it

Hoping I can use something like nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft ‘s honeypot wallet as a plugin to my app so I can generate cashu tokens and then embed the token into memes as a service on Gifbuddy 🤞

I’m pretty sure we can even lock the token to an npub so you can post memes with tokens to be redeemed by specific people; almost like tipping on their profile, but more fun because it’s a meme and can be shared anywhere

Could reference everyone's LUD-16 too. If no lightning@address then can lock to their npub

Also, you’re a legendary zapper so I hope you redeemed the token 👊

100% I love Steganography. I have heard people do cross reference common photographs for pixel deviation but, You can always make false positives which is really fun too.

It’s pretty interesting stuff! I’m trying to find ways to implement in fun or maybe unconventional ways

And I feel like e-cash/cashu could have some fun use cases here

Some of the videos I watched showed that the hidden image had degradation, but since this was just a simple black and white QR code it had no problem

And most memes are large enough where they can hide a significant amount of information so it seems like it has some potential

So cool ! Token already spent 😄

Very nice. Apps could generate custom images for each invoice instead of boring QR codes.

That would be super cool!

QR codes do have the benefit of being scannable by any basic camera app, which is useful in some cases, but I agree that Bitcoin transfer methods being restricted to QR codes and copying random strings of characters to the clipboard is uninspired

nostr:npub12rv5lskctqxxs2c8rf2zlzc7xx3qpvzs3w4etgemauy9thegr43sf485vg has this been done already?

Not in images! Cashu tokens have been transmitted via radio and audio before but I don't think they were put into images yet. Show us an example sir!

Here's the sound/ audio version. https://crrdlx.vercel.app/ecashsound/index.html

I think you should check out pico8 carts 🙂 these look like a picture of a cartridge from some old-school console, but the picture itself includes the full game code.

#pico8

THIS JUST BLEW MY MIND

SO MANY POSSIBILITIES

And ChatGPT can write it?! This is wild

And you can get Miyoo Mini Plus for $40 or similar game console and it supports playing pico8 games...

I remember in the mid/late 90's people would send entire files disguised in *.JPG's. Why is this 128x128 image 37.4MBs? 🤔

Yes, I use also steganography, but keep in mind that only the original image file contain the embedded text. Once you send it through any digital form, it loses that information.

So you need a non-compressible image Format and checksums to verify file integrity. Doesn't sound too complicated

I'm always surprised that people never took advantage of the .PNG format. It allows for chunks of various data natively...

Yes PNG is nice, but still do not keep all data for a steganographied file.

Even if you attach it as file to an email or message is still compressing it so is altered and not containing anymore the stego data.

You must keep the original file you stego.

This is true

Fortunately, I should be able to keep the file size under 21MB so that I can upload it to nostr.build without transforming it

But you’re right, this is something to be aware of

In one of my Bitcoin guides I just insert 12 words. I dare you to find them and find the correct order 😄

Well, I know what I’m doing when I get out of work lol

nostr:nprofile1qqs03ekxgdp0rczjfqrrpcn7zqtdec6lcwnpfesyxnl0f239qvege2gpzpmhxue69uhkummnw3ezuamfdejszxthwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mgpp4mhxue69uhkummn9ekx7mqmkt3v6 strategic meme reserves

nostr:nevent1qqst8kaf4e6z2z6gy3928dasjkkpyteruqemrp0prk2vjlnkqs26lsgppemhxue69uhkummn9ekx7mp0qgstuu6ccnl9q9yvejhuqt4zqhvqz30z2wyf4gu43k404p3hq37ggrsrqsqqqqqpjlvhf2

Christmas cards just got upgraded

No longer need to open your Christmas cards to see if there’s any money inside

Unless…

It's also nice for storing information you don't want to unintentionally access, e.g. suspicious file. Yeah, a zip-file works if processes and scanners aren't too nosy, but this is reliable and predictable.

18 years ago, I stored a bunch of computer viruses of the time in BMPs. (To clarify because apparently some paranoid, cynical assholes are threatening me again.)

I love it. 402 Payment required BitcoinTv channel already used that to hide SSH key in random picture, so you can cross a border with a random phone, with no valuable information, they can search it, search you, find nothing. Then on the orher side you get the onion address and SSHkey out of the images, and connect to your remote server to get back all your data.

Amazing technique.

nostr:nevent1qqst8kaf4e6z2z6gy3928dasjkkpyteruqemrp0prk2vjlnkqs26lsgpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtczyzl8xkxylegpfrxv4lqzags9mqq5tcjn3zd289vd4tagvdcy0jzquqcyqqqqqqgy2g6qw

Speaking about a similar subject, I’ve enjoyed: generating BTC wallets from photos.

More details in the following article.

https://corey-lyle-phillips.medium.com/part-1-3-turn-your-photos-into-bitcoin-private-keys-addresses-57669771cf7a

I must say I was amazed by how elegantly simple it was to generate wallets from photos you take or any other. The randomness of it all is cool.

I love it. I was looking into steganography a few years ago. It's pretty neat stuff.

nostr:npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5 this is what I was talking about

Here for every single Bitcoin and Zoolander crossover meme

instructions unclear

nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s this is what I was talking about on the call, but I like your idea of just putting the npub 🤙

Thought about this aswell. A nostr client where you can send pics and if your npub is authorized you'll get the secret message displayed

Yes, exactly

I think there are some interesting use cases that could arise

Nice! I showed some analog audio stego in a talk here : https://www.bitpunk.fm/@bitpunkfm/episodes/rewinding-the-future-hcpp24

Nice! I’ll have a listen on my way to work

Thanks for sharing!

The stego stuff is seconds half, if you use a modern pod app that has chapter support (fountain, podverse) you will be able to skip to it.

Plus the slides will show as chapter art.

I like the part about the “mission impossible self destructive cassette tape” that gets erased with magnets 😂

That was fun to do yes 😀

very cool idea, by the way i didnt find the secret

i guess i am to stupid at this point

You can decode it here:

nostr:note173q7j8j532e82qpuzrzlu37t29h7cmncd3rzyskvurfenfz790eq3swtk2

nostr:nprofile1qqsgs42q9e59lkezt2qlz260tcmnzq22lhveekttw24py92m6yyeqxg78pcrj