Settings

Theme

Adumbra: A lightweight Java library for bitmap steganography

github.com

29 points by maxtardiveau2 2 years ago · 9 comments

Reader

lifthrasiir 2 years ago

Image steganography that is corrupted by any sort of lossy compression is practically useless, unfortunately. Such method is only meaningful when the image acts as a transparent container of non-sensitive data, like PICO-8's .p8.png (and yet its distribution will be severely constrained), but this library clearly wants to embed a secret payload...

omoikane 2 years ago

~500 pixels for every byte seems wasteful, I would have expected just ~8 pixels for a single byte (using just one bit from each pixel).

For comparison, this IOCCC entry can encode ~128 bytes of random binary data in 33000 pixels, or ~16K of ASCII text.

https://www.ioccc.org/years.html#2012_vik

  • maxtardiveau2OP 2 years ago

    Eight pixels ber byte would indeed be more efficient, but the intent of this library was to make the hidden message as discreet as possible, rather than transmit as much hidden data as possible. By modifying only occasional pixels, in an unpredictable pattern (based on a secure hash of the key), my hope was that it would make detection more difficult. Whether I succeeded or not remains to be determined, I suppose.

markhahn 2 years ago

"Lightweight Java" hah!

  • deepsun 2 years ago

    Don't see a snark here -- Java libs are really lightweight, in a matter of kilobytes. Because it's interpreted, you're supposed to have OS-specific JVM installed to run it. Exactly the same as Python.

    Compare that to Go, where Hello World weighs 1.8 MB, more than 100x heavier than the lib in question.

    • huygens6363 2 years ago

      Comparing fairly with Go would mean adding the JRE to the lib, because the lib itself is useless. Go produces executables.

      • deepsun 2 years ago

        Why? If there are 2 adumbra libs, the total size won't change much. But 2 Go hello worlds would take 2x space.

        Also, we'd want to include libc.so and even OS kernel that both Go and JVM depend on.

  • taspeotis 2 years ago

    Knock knock

    Who's there?

    Long pause

    Java

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection