Can We Do Better than F5 Image Steganography? Francisco Ruiz, IIT - - PowerPoint PPT Presentation

can we do better than f5 image steganography
SMART_READER_LITE
LIVE PREVIEW

Can We Do Better than F5 Image Steganography? Francisco Ruiz, IIT - - PowerPoint PPT Presentation

Can We Do Better than F5 Image Steganography? Francisco Ruiz, IIT Forensecure 2017 JPEG embedding 0.05 DCT AC coefficients: blocks x (luma + 2 0.04 chroma) x 64 Most of them are 0.03 zeros: good compression 0.02 Next in


slide-1
SLIDE 1

Can We Do Better than F5 Image Steganography?

Francisco Ruiz, IIT

Forensecure 2017

slide-2
SLIDE 2

JPEG embedding

  • DCT AC coefficients:

blocks x (luma + 2 chroma) x 64

  • Most of them are

zeros: good compression

  • Next in number are

+1, -1, +2, -2, etc.

0.01 0.02 0.03 0.04 0.05

  • 10
  • 9 -8 -7 -6 -5 -4 -3 -2 -1 0

1 2 3 4 5 6 7 8 9 10

slide-3
SLIDE 3

Here’s the cover image (82 kB jpeg)

slide-4
SLIDE 4

F5 encoding (A. Westfeld 1999)

  • 1. Permute the data.
  • 2. Encode binary message as odd-even, by decreasing

absolute value of non-zeros.

  • 3. Un-permute the data so that the image is recovered

and changes are scattered.

  • 4. Matrix encoding minimizes changes.
slide-5
SLIDE 5

Anything wrong with F5?

  • Still the champion, but it has some problems:
  • 1. If starting from +1 or -1, we might get a 0 result.
  • 2. Zeros are skipped when decoding, so these data

must be encoded again until the result is not zero, reducing capacity (shrinkage).

  • 3. The process creates extra zeros. This happens
  • ften because those are the next most frequent

values.

slide-6
SLIDE 6

How bad is it?

  • Pretty bad, but the

effect is similar to that of reducing the quality of the image.

  • Unfortunately for the

embedder, it can be detected (Fridrich et al., Siergiej et al.)

0.01 0.02 0.03 0.04 0.05

  • 10
  • 9 -8 -7 -6 -5 -4 -3 -2 -1 0

1 2 3 4 5 6 7 8 9 10 cover F5 Q = 5

slide-7
SLIDE 7

Detection: compare to cropped image

  • When the original is

unavailable, crop the image 1 pixel all around to make it re-block, then save with same quality (from file header)

  • Frequencies will change,

so normalize with frequency of zero

  • Normalized histogram

won’t change a lot

0.01 0.02 0.03 0.04 0.05

  • 10
  • 9 -8 -7 -6 -5 -4 -3 -2 -1 0

1 2 3 4 5 6 7 8 9 10 cover cover-cropped

slide-8
SLIDE 8

The histogram of a F5-embedded image goes a lot flatter after cropping

0.01 0.02 0.03 0.04 0.05

  • 10
  • 9 -8 -7 -6 -5 -4 -3 -2 -1 0

1 2 3 4 5 6 7 8 9 10 F5 F5-cropped

  • This is because the original

quality is still in the header.

  • Saving the cropped image re-

computes the coefficients, with a smaller fraction of zeros.

  • Possibly can be fixed by re-

writing the header so the histogram for that Q value matches the F5 histogram.

slide-9
SLIDE 9

PassLok eliminates the problem:

  • 1. Don’t make any extra zeros: change +1 to -1,
  • 1 to +1. Parity is reversed for negative

numbers so this works.

– Added bonus: no shrinkage, larger capacity

  • 2. Occasionally increment absolute value rather

than decrement.

– Pick those randomly, fraction to increment Y: Y = #2’s/(#1’s + #2’s) (around 20% for the sample cover)

slide-10
SLIDE 10

How we find that fraction

  • Probability of change: p
  • Fraction being incremented:

y

  • B column won’t change if:

p(1-y)B + pyB = pB = pyA + p(1-y)C

  • Assuming A/B = B/C, result:

y = B/(A+B)

p(1-y)B p y B p y A p(1-y)C A B C

slide-11
SLIDE 11

PassLok “nails” the frequencies

5000 10000 15000 20000

  • 10
  • 9
  • 8
  • 7
  • 6
  • 5
  • 4
  • 3
  • 2
  • 1

1 2 3 4 5 6 7 8 9 10 cover F5 PassLok

slide-12
SLIDE 12

The image ends up looking sharper

F5 (47 kB) PassLok (55 kB)

both with 83% embedding into luma and chroma channels (6.7 kB)

slide-13
SLIDE 13

What happens when cropped?

PassLok goes a little flatter But so does a sharpened cover

0.01 0.02 0.03 0.04 0.05

  • 10 -8
  • 6
  • 4
  • 2

2 4 6 8 10 PassLok PL-cropped 0.01 0.02 0.03 0.04 0.05

  • 10 -8
  • 6
  • 4
  • 2

2 4 6 8 10 sharp sharp-cropped

slide-14
SLIDE 14

Conclusion

  • PassLok achieves near-perfect preservation of

the DCT AC coefficient histogram, with no shrinkage.

  • The image looks “sharper” possibly as a

consequence of incremented coefficients.

  • When cropped, the histogram changes like

that of a sharpened image.

  • Will perceived sharpening be detectable in the

absence of the cover image?

slide-15
SLIDE 15

Thanks!

  • Comments: ruiz@iit.edu
  • See PassLok in action at https://passlok.com

It does PNG stego and encryption too!

  • Kind regards to Jean-Claude Rock for his

contribution