Date post: | 17-Jan-2016 |
Category: |
Documents |
Upload: | constance-barber |
View: | 218 times |
Download: | 0 times |
BIT-PLANE COMPLEXITY STEGANOGRAPHYJoseph 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 hidden, but simply unreadable
Watermarking Embedding copyright/ownership information inside
data
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%
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 bit-planes 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 deviationNot 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 As opposed to number of borders
Randomly distribute data 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.pdf
http://www.ianrichard.com/bpcs/abstract.pdf http://
www.ijest.info/docs/IJEST10-02-09-173.pdf http://drdobbs.com/security/201804177