Joseph Szigeti source list Overview Why BPCS was developed How it works Several implementations Kawaguchi Eason Beaullieu Crissey Smith Stoleru Results Possible improvements Steganography ID: 136726
Download Presentation The PPT/PDF document "Bit-Plane Complexity Steganography" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Bit-Plane Complexity Steganography
Joseph Szigeti
(source list)Slide2
Overview
Why BPCS was developed
How it works
Several implementations
Kawaguchi, Eason
Beaullieu
,
Crissey
,
Smith
Stoleru
Results
Possible improvementsSlide3
Steganography
Hiding a secret message by embedding it in data
Different from:
Cryptography
Scrambling a secret message such that the message is not hidden, but simply unreadable
Watermarking
Embedding copyright/ownership information inside dataSlide4
Bit-Plane Complexity Steganography
BPCS
Invented by
Eiji
Kawaguchi and Richard Eason in 1997
Kyushu Institute of Technology
University of Maine
Created because traditional forms of steganography were limited in information-hiding capacity
Estimated at ≤10%Slide5
Old Steganography vs. BPCS
Old
stego
.
Replace small frequency components of vessel data
Replace LSB of vessel data
BPCS
Separate vessel into bit-planes
Replace noisy regions in bit-planes with secret data
Does not deteriorate quality
Works because of limitations in human visionSlide6
Visualization of BPCSSlide7
Visualization of BPCSSlide8
Kawaguchi & Eason’s Findings
Information-hiding capability is ≈50%
Sharpening operations on vessel image increase embedding capacity significantly
Canonical Gray coded bit-planes are better than binary bit-planes
Randomization of the secret data by a compression operation makes the embedded data even harder to spot
BPCS will never be overwriting the same bit-planes the same way from image to imageSlide9
Canonical Gray vs. Pure Binary
Goal of BPCS is to maximize space in an image that can be used for data hiding
PBC
More space (noisier)
Runs into “Hamming Cliff” problem
Small change in color affects many bits
CGC
Flat regions stay flat at lower planes
Does not have Hamming Cliffs
Allows for more intelligent embeddingSlide10
CGC vs
PBC Example
PBC difference between 127 and 128
0111 1111
1000 0000
CGC difference between 127 and 128
0100 0000
1
100 0000Slide11
CGC vs
PBC ExampleSlide12
Image Complexity
Length of black-and-white border in a binary image is used to measure complexity
Length determined by number of color changes along the rows and columns in an image
Image complexity
α
α
= border length / max possible B-W changes
0
≤
α
≤ 1
In BPCS,
α
is measured on a local levelSmall pixel areas, as opposed to entire imageSlide13
Analysis of Noisy Regions
Conjugation
α
(P*) = 1 –
α
(P)
Complexity of P* is symmetric to P about
α
=0.5
If the data is informative, it must be conjugated before embedding into vessel imageSlide14
Analysis of Noisy Regions
Create a complexity distribution of vessel image
Find point at which embedding data is viable
e.g.
α
= 0.5 ± k*
σ
k is some constant
σ
is some deviation
Not viable ViableSlide15
Analysis of Noisy Regions
Kawaguchi and Eason have determined that there is often a majority of noise-like 8x8 binary patterns
In the previous example, 6.67x10
-14
% were simple
This is where BPCS gets its effectiveness compared to LSB steganographySlide16
Kawaguchi & Eason Implementation
Transform vessel image from PBC to CGC
Segment bit-planes into informative and noisy regions using threshold value (e.g.
α
0
=0.3)
Group bytes of secret file into secret blocks
If a block (S) is less complex than threshold (
α
0
), conjugate it
Embed each secret block into noisy regions of the bit-planes
Record conjugated blocks in conjugation map
Embed conjugation map with secret blocks
Convert vessel image back to PBCSlide17
Kawaguchi & Eason Implementation
Data to hide:Slide18
Results
Image with a lot of flat regionsSlide19
Results
Image with few flat regionsSlide20
Modifiable Algorithm Parameters
Embedding location of secret file headers
Embedding threshold
α
0
Sequence in which 8x8 regions are considered for embedding
Encoding of conjugation map
Special operations
XOR of header bytes with pseudo-random numbers
Encryption parameters of secret files
Compression parameters of secret filesSlide21
Region Selection Sequence
Demonstrated by Steve
Beaullieu
, Jon
Crissey
, Ian Smith
UTSA
Regions for embedding are considered from the bottom left to the top right
This could be modified if a particular image warranted itSlide22
Cont.
Starting the embedding process from the LSB is another option to make the image more convincing
Alternatively, change parameter for complexity with each planeSlide23
Further Improvements
Determining complexity using run length irregularity or border noisiness
As opposed to number of borders
Randomly distribute data
As opposed to linearly, from one bit plane to next
Encrypting data before embedding itSlide24
Problems with BPCS
Bit operations after embedding data may make data unrecoverable
Not robust
Complexity histogram of vessel image will be noticeably differentSlide25
Applications
Secrecy
Embedding data publicly
Without discernably altering quality of vessel
Applying bit plane algorithms to files other than PBC images Slide26
Multiple-Image Scheme (D. Stoleru
)Slide27
Multiple-Image SchemeSlide28
More ExamplesSlide29
More ExamplesSlide30
Sources
http://
www.datahide.com/BPCSe/principle-e.html
http://www.eece.maine.edu/~
eason/steg/SPIE98.pdf
http://
www.ianrichard.com/bpcs/abstract.pdf
http://
www.ijest.info/docs/IJEST10-02-09-173.pdf
http://
drdobbs.com/security/201804177