### Bit Plane Complexity Steganography

```BIT-PLANE COMPLEXITY
STEGANOGRAPHY
Joseph Szigeti
(source list)
OVERVIEW
Why BPCS was developed
 How it works
 Several implementations

Kawaguchi, Eason
 Beaullieu, Crissey, Smith
 Stoleru

Results
 Possible improvements

STEGANOGRAPHY
Hiding a secret message by embedding it in data
 Different from:


Cryptography


Scrambling a secret message such that the message is not
Watermarking

BIT-PLANE COMPLEXITY STEGANOGRAPHY
BPCS
 Invented by Eiji Kawaguchi and Richard Eason
in 1997

Kyushu Institute of Technology
 University of Maine


steganography were limited in informationhiding capacity

Estimated at ≤10%
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 vision
VISUALIZATION OF BPCS
VISUALIZATION OF BPCS
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 bitplanes the same way from image to image

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 embedding

CGC VS PBC EXAMPLE

PBC difference between 127 and 128
0111 1111
 1000 0000


CGC difference between 127 and 128
0100 0000
 1100 0000

CGC VS PBC EXAMPLE
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 level

Small pixel areas, as opposed to entire image
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 image
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
Viable
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 steganography
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 PBC
KAWAGUCHI & EASON IMPLEMENTATION

Data to hide:
RESULTS

Image with a lot of flat regions
RESULTS

Image with few flat regions
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 files

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 it
CONT.
Starting the
embedding process
from the LSB is
another option to
make the image more
convincing
 Alternatively, change
parameter for
complexity with each
plane

FURTHER IMPROVEMENTS

Determining complexity using run length
irregularity or border noisiness


Randomly distribute data


As opposed to number of borders
As opposed to linearly, from one bit plane to next
Encrypting data before embedding it
PROBLEMS WITH BPCS

Bit operations after embedding data may make
data unrecoverable


Not robust
Complexity histogram of vessel image will be
noticeably different
APPLICATIONS
Secrecy
 Embedding data publicly



Without discernably altering quality of vessel
Applying bit plane algorithms to files other than
PBC images
MULTIPLE-IMAGE SCHEME (D. STOLERU)
MULTIPLE-IMAGE SCHEME
MORE EXAMPLES
MORE EXAMPLES
SOURCES
http://www.datahide.com/BPCSe/principle-e.html
 http://www.eece.maine.edu/~eason/steg/SPIE98.p
df
 http://www.ianrichard.com/bpcs/abstract.pdf
 http://www.ijest.info/docs/IJEST10-02-09-173.pdf
 http://drdobbs.com/security/201804177

```