Applying the SVD to Image Steganography - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Applying the SVD to Image Steganography

Description:

SIAM Imaging Science Conference. 2. Background ... military covert communication. detection of covert communication, for military purposes or illegal criminal ... – PowerPoint PPT presentation

Number of Views:173
Avg rating:3.0/5.0
Slides: 27
Provided by: engIa
Category:

less

Transcript and Presenter's Notes

Title: Applying the SVD to Image Steganography


1
Applying the SVD to Image Steganography
  • Jennifer Davidson
  • Department of Electrical and Computer
    Engineering, Department of Mathematics
  • Clifford Bergman
  • Department of Mathematics
  • Daniel Wengerhoff
  • M.S. student, Department of Mathematics and
    Information Assurance Program
  • IOWA STATE UNIVERSITY
  • Ames, Iowa

2
Background
  • Use of images, video and audio data in covert
    channels and for content protection and control
    of distribution of data has exploded in last 5-10
    years
  • Data in digital format has become more widely
    available and easy to use as computers are
    faster, more devices and software available
  • Distribution of digital data is easier and faster
    as bandwidth is increasing
  • Images large amounts of data, even compressed
    are easier to manipulate on computers and
    distribute over networks
  • Large video files still not enough bandwidth to
    distribute as easily as still image data or audio
    data (music)
  • Digital information hiding is the study of
    inserting digital information into data so that
    specific goals are met
  • Steganalysis is the field of analyzing data to
    detect or extract hidden information
  • Digital information hiding is maturing as a field
    but still in its infancy

3
Background
  • Steganography study of hiding information in
    data with intent to convey a secret message
  • One main goal of steganography is keep the stego
    image as innocent-looking as possible so it does
    not appear to have a message hidden in it
  • Digital watermarking study of information hiding
    with intent to protect content, to control
    distribution of content, and other intellectual
    property concerns
  • One main goal for watermarking (and
    steganography) is that the watermark be embedded
    in a visually imperceptible way
  • Cryptography study of scrambling a message so
    that if and when it is intercepted, it cannot be
    understood unless key information is known
  • Steganalysis analyzing data in which information
    has been hidden
  • Analysis techniques can detect, extract, change
    or ultimately destroy the hidden information
  • Results of steganalysis can also be used to
    change or improve embedding techniques

4
Background
  • Watermarking applications include
  • Authentication validating source of message
  • Integrity assuring that data was not modified
    when transmitted, accidentally or deliberately,
    use fragile watermarks that find location of
    changed data and how it changed
  • Authentication and integrity of medical image
    data very important
  • content protection of intellectual property
    (photographs, music)
  • copy control for DVDs and CDs
  • Steganography applications include
  • military covert communication
  • detection of covert communication, for military
    purposes or illegal criminal operations

5
Main idea of data hiding
  • For images use visual redundancy to take out
    redundant data and insert your message
  • Human eye sees logarithmically and locally, and
    cannot perceive all 256 different colors or
    grayscales across an image simultaneously
  • 32 colors often suffices
  • Data hiding makes very slight changes so that eye
    does not perceive change

6
Problem Statement
  • How can the singular value decomposition (SVD) be
    used for steganography?
  • Change singular values slightly
  • Recall that the visual energy contained in the
    singular values and related eigenvalues is
    directly related to the quality of the visual
    data we perceive in the image
  • Doesnt affect what you see much as singular
    values are robust to slight perturbations
  • Already been done (Liu, 2002) for watermarking
    purposes
  • Change unitary matrices slightly
  • Our approach perturbs the unitary matrix in the
    SVD

7
Definitions and Notation
  • Given a matrix A, its SVD is
  • where
  • U, V are unitary
  • S is a diagonal matrix with the singular values
    of as its entries
  • is the transpose of V

8
Definitions
  • For our purposes we put U in a standard form
    defined as follows
  • A column is greater than 0 if the first entry in
    the column is positive
  • A matrix is in standard form if all of its
    columns are greater than 0
  • If a column in U is less than zero then multiply
    it (and the corresponding column of V) by -1
  • If a column in U is greater than zero then leave
    it alone

9
The Embedding Algorithm
  • Message to be embedded
  • Assume message is encrypted and is represented by
    a binary string
  • The binary string thus has a uniform distribution
  • Cover image (original image to hide message in)
  • Any image that can be represented by a matrix of
    values
  • Grayvalues must be integers in the range 0,255
  • Output image (stego image) cannot be compressed
    (embedded data will be lost)

10
The Embedding Algorithm
  • Break cover image up into k ? k blocks (k 8)
    and perform the SVD embedding on these smaller
    blocks (not on entire image)
  • Step 1 calculate the SVD of a block
  • Step 2 decide how many columns to keep the same
    in the matrix U (2)
  • Step 3 embed message bits into U by changing the
    signs on certain entries in U ( 1 ? , 0 ? - )
  • Adjust UE (embedded matrix) to maintain
    orthogonality

11
Example
  • Keep first 2 columns unchanged
  • Construct UE by changing uk2
  • Last entries z72 and z82 calculated so that
    column 3 is orthogonal to columns 1 2
  • Next column insert 4 bits last 3 entries
    calculated so that column 4 is orthogonal to
    columns 1, 2 3
  • etc.
  • Message 0 0 1 1 0 1

Column 2 in U
12
Example
  • Reconstruct the block with the embedded bits
  • where UE is the matrix constructed on previous
    slide, S, V are from original matrix (image) A
  • round rounds to nearest integer clip values
    less than 0 get reset to 0 values larger than
    255 get reset to 255
  • Do this for each block
  • Capacity for 8 ? 8 block with two columns
    protected 15 bits per 64 pixels .234
    bits/pixel bit embedding rate
  • .2 - .5 bits/pixel is typical for good
    stegoalgorithms
  • May not be safe enough to avoid detection

13
Extraction Algorithm
  • Break image into blocks of size k ? k
  • Compute the SVD of each block
  • Put the U matrix in standard form
  • Extract signs from values in appropriate
    locations
  • Change signs into bit values

14
The SVD for Steganography
Original image
Stegoimage
9x9 blocks, with the first column of each block
preserved and message embedded in the other
columns in the sign
15
The SVD for Steganography
Original image
Stegoimage
9x9 blocks, with the first 4 columns of each
block preserved and message embedded in the other
5 columns in the sign
16
Errors
  • With this algorithm, the error between the
    extracted message and the embedded message is
    typically 8 - 10 of the total bits embedded
  • Most of the error comes from the fact that the
    change from U to UE is large relative to the
    magnitudes of the entries in U
  • We propose several solutions to reduce error

17
Factors affecting error
  • Iterative embedding
  • Redundancy of message (error correcting)
  • Number of columns protected
  • Block size
  • Relative spacing of singular values

18
Iterative Embedding
  • Embed message bits again in AE , that is, use AE
    as the original image and embed message again
  • On the second pass of the algorithm, the entries
    in UE are much closer in value to previous
    unitary matrix

19
Iterative Embedding
  • Very effective due to smaller changes in unitary
    matrix after first pass
  • 5 iterations are usually enough
  • Greatly reduces error rates especially when
    combined with redundancy (reduces error from 8
    to less than 0.5)
  • Computationally doesnt add much time

20
Redundancy of Message Bits
  • Greatly reduce error rate by using a simple error
    correcting code
  • Embed same set of 15 bits into h consecutive
    blocks
  • 5 times redundancy is good
  • Combined with iterative embedding gives best
    results

21
Block Size
  • How big should blocks be?
  • Considerations
  • Data capacity
  • k is the size of the blocks
  • m is the number of columns protected
  • Error rate
  • Chart
  • 8 x 8 is a good size

22
Protecting Columns
  • How many?
  • Right, left, or both?
  • Trade off between image fidelity and error rate
  • Chart
  • k2 is a good number for 8 x 8 blocks
  • If the block size is larger (i.e. 16 x 16) m
    should be larger

23
Adjusting Singular Values
  • Does changing the singular values matter?
  • Somewhat
  • Chart
  • Leave highest and lowest singular values alone
  • Evenly space the rest

24
Experiments Performed
  • Basic embedding extraction of 100 random
    messages on ten images using different block
    sizes and cols protected
  • Iterative embedding of 100 random messages on ten
    different images 8x8 blocks with 2 cols protected
  • 5x redundancy on 100 random messages on ten
    different images using 8x8 blocks with 2 cols
    protected
  • Iterative embedding using 5x redundancy while
    adjusting singular values on 100 random messages
    on 10 images with 8x8 blocks with 2 cols
    protected

25
Calculation of Error Rates
  • Hamming distance
  • Subtract the extracted message from the embedded
    message and take the absolute value
  • Add up all the 1s
  • Divide the total by the message size

26
Further Research
  • Use of stream ciphers for encrypting messages
  • Use of different encryption keys to avoid
    detection due to redundancy
  • Do redundancy across images instead of within one
    image to reduce detection
  • Use of other more sophisticated error correcting
    codes
Write a Comment
User Comments (0)
About PowerShow.com