Usa Stegano Srs

Embed Size (px)

Citation preview

  • 8/6/2019 Usa Stegano Srs

    1/7

    Senior Project: USA-Stegno Software Requirement Specifications Document (1/7)

    Software Requirement Specifications Document

    USA-Stegano Senior Project

    Drafted By:

    Wes Lund

    Eldon C. Blancher, IIIRobert J. Velaski, Jr.

    Nicholas E. Myers

    Supervision By:Mr. Jim Allen

    Approved By:

    Name Title Signature Date

    Mr. Jim Allen Team Supervisor

    Wes Lund Team Leader

    Eldon C. Blancher, III Team Member

    Robert J. Velaski, Jr. Team Member

    Nicholas E. Myers Team Member

  • 8/6/2019 Usa Stegano Srs

    2/7

    Senior Project: USA-Stegno Software Requirement Specifications Document (2/7)

    Table of Contents

    1 Introduction

    1.1 Background

    1.2 Purpose

    1.3 Scope

    1.4 Definitions, Acronyms, and Abbreviations

    1.5 References

    1.6 Overview

    2 Overall Description

    2.1 Product Perspective

    2.2 Product Functions

    2.3 User Characteristic

    2.4 Constraint

    3. Specific Requirements

    3.1 External interface requirements

    3.2 Function Requirements

    3.3 Design Constraints

    3.4 Software System Attributes

    4 Supporting Information

    4.1 Appendices

  • 8/6/2019 Usa Stegano Srs

    3/7

    Senior Project: USA-Stegno Software Requirement Specifications Document (3/7)

    1. Introduction

    This SRS is a blueprint that represents the development life cycle of this product. It will

    serve as a guideline for developers who are concerned with the functions performed andproblems this system solves.

    1.1 Background

    Project Title: USA-Stegano STEGANOGRAPHY SOFTWARE

    Brief overview of the subject*:Steganography includes a vast array of techniques for hiding messages in a variety of

    media. Among these methods are invisible inks, microdots, digital signatures, covertchannels and spread-spectrum communications. Today, thanks to modern technology,

    steganography is used on text, images, sound, signals, and more.

    The advantage of steganography is that it can be used to secretly transmit messages

    without the fact of the transmission being discovered. Often, using encryption might identifythe sender or receiver as somebody with something to hide. For example, that picture of

    your cat could conceal the plans for your company's latest technical innovation.

    However, steganography has a number of disadvantages as well. Unlike encryption, it

    generally requires a lot of overhead to hide a relatively few bits of information. However,there are ways around this. Also, once a steganographic system is discovered, it is rendered

    useless. This problem, too, can be overcome if the hidden data depends on some sort of keyfor its insertion and extraction.

    In fact, it is common practice to encrypt the hidden message before placing it in the cover

    message. However, it should be noted that the hidden message does not need to beencrypted to qualify as steganography. The message itself can be in plain English and still

    be a hidden message. However, most steganographers like the extra layer of protection thatencryption provides. If your hidden message is found, then at least make it as protected as

    possible.

    *2004 Duncan Sellers

    1.2 Purpose

    Our Senior Project is to develop a system that hides data inside of JPEG-encoded images.

    This is known as steganography. This is a proof of concept software project. The intendedusers are the authors listed on the coversheet, their mentors, and the Senior Project

    instructor.

    1.3 Scope

    The software product that will be produced is named USA-Stegano. At the core of the

    software product are two modules: one that encodes data into a given JPEG file, and onethat decodes this data and produces an output file. There are many applications of this

    software. One is the cryptographic nature of transmitting data without casual onlookersdetecting it. Another application is to encode a digital watermark in the file, so tampering

  • 8/6/2019 Usa Stegano Srs

    4/7

    Senior Project: USA-Stegno Software Requirement Specifications Document (4/7)

    with the file will become evident. A third possible application of this is to provide a way ofdigitally signing the JPEG image, so its authenticity can be guaranteed.

    1.4 Definitions, Acronyms, and Abbreviations*

    JPEG: Short for Joint Photographic Experts Group, and pronounced jay-peg. JPEG is a lossy

    compression technique for color images. Although it can reduce files sizes to about 5% oftheir normal size, some detail is lost in the compression.

    Function: A defined objective or characteristic action of a system or component. A

    software module that performs a specific action, is invoked by the appearance of itsname in an expression, may receive input values and returns a single value.

    Interface: A connection between two devices or systems.

    Lossy Compression: Refers to data compression techniques in which some amount of

    data is lost. Lossy compression technologies attempt to eliminate redundant or unnecessaryinformation. Most video compression technologies, such as MPEG, use a lossy technique.

    Project: The combined resources (people, machines, materials), processes, andactivities that are dedicated to building and delivering a product to a customer.

    Requirements: The statement of needs by a user that triggers the development of aprogram, system, or project. May be called business functional requirements or

    requirement specifications.

    Steganography: The art and science of hiding information by embedding messages withinother, seemingly harmless messages. Steganography works by replacing bits of useless or

    unused data in regular computer files (such as graphics, sound, text, HTML, or even floppydisks ) with bits of different, invisible information. This hidden information can be plain text,

    cipher text, or even images. Unlike encryption, steganography cannot be detected.

    Therefore, it is used when encryption is not permitted. Or, more commonly, steganographyis used to supplement encryption.

    GUI: Acronym for graphical user interface. A program interface that takes advantage of

    the computer's graphics capabilities to make the program easier to use. Well-designedgraphical user interfaces can free the user from learning complex command languages. On

    the other hand, many users find that they work more effectively with a command-driven

    interface, especially if they already know the command language.

    Encryption: The translation of data into a secret code. Encryption is the most effectiveway to achieve data security. To read an encrypted file, you must have access to a secret

    key or password that enables you to decrypt it. Unencrypted data is called plain text ;encrypted data is referred to as cipher text.

    *Definitions provided by Webopedia.

    1.5 References

    Definitions, Acronyms, and Abbreviations. Webopeia. [www.pcwebopedia.com]The DICT Development Group. [www.dict.org]

    JPEG image compression FAQ. [www.faqs.org/faqs/jpeg-faq/part1/preamble.html]

  • 8/6/2019 Usa Stegano Srs

    5/7

    Senior Project: USA-Stegno Software Requirement Specifications Document (5/7)

    Software Requirements Specification (SRS) Template.[irmc.state.nc.us/documents/approvals/reporting/SRSPLAN.doc]

    Hiding in Plain Sight: Steganography in Today's Digital Environment.http://www.cas.mcmaster.ca/~wmfarmer/SE-4C03-02/projects/student_work/kassimjj.html

    1.6 Overview

    This document is organized following the IEEE Standard 830-1998.

  • 8/6/2019 Usa Stegano Srs

    6/7

    Senior Project: USA-Stegno Software Requirement Specifications Document (6/7)

    2 Overall Description

    2.1 Product Perspective

    There are several existing products which perform a superset of the functions of USA-

    Stegano. These products provide steganographic capabilities for not only JPEG images, butvarious other media formats including BMP, WAV, and MP3. Our USA-Stegano software willuse these packages as a model, but it will not depend on or directly execute them. As it

    stands, our software project will not make direct use of any external libraries, so it will betotally independent and self-contained.

    2.11 Interfaces

    The system will have one primary user interface, and will also interface with the operatingsystem and any storage media, such as a hard drive. The user interface will consist of a

    GUI which will provide to the user methods of selecting target image files, and data files to

    insert into the target image files. Interfaces to the operating system and associated storagemedia will include file input/output functions for both reading and writing the target image

    files.

    2.12 Operations

    There are a few different operations that the user of USA-Stegano can perform. Oneoperation is selecting a source image file. Another operation is selecting a source data file

    to store in the target image file. A third operation selecting an target image file for theencoding operation. Related to this, there is an operation to initiate the encoding function

    of USA-Stegano. There will also be an operation for selecting a target data file, andassociated source image, for the decoding operation. Following this, there will be an

    operation for initiating the decode function of the software product.

    2.2 Product Functions

    There are two primary functions of the USA-Stegano software. One of these is the encode

    function. It will take the source data file, an unencoded image file, and target image fileand encode the data into the target image file. The other primary function of the software

    is the decode function. It will take an encoded image file and decode the data, storing it inthe target data file.

    2.3 Assumptions and Dependencies

    This project is assumed to be completed by August 2004. This depends on whether the

    group can decipher the mathematics involved in storing information into these image files.Once the mathematics and particulars of the encode and decode operations have been

    solved, the rest of the project should be fairly simple to implement.

  • 8/6/2019 Usa Stegano Srs

    7/7

    Senior Project: USA-Stegno Software Requirement Specifications Document (7/7)

    3 Specific Requirements

    3.1 Interface Requirements

    There are no external interface requirements with any other systems. There are several

    user interface requirements, and some operating system interface requirements.

    For the encoding operation, the user must be able to select a data source file and image

    source JPEG file for input, and a target image filename for output. For the decodingoperation, the user must be able to select an encoded image input file, and a target file

    directory for the output data file. All of these will be through standard file dialog windows.Also, the user must be able to initiate encoding or decoding operations. For all of these

    user interface operations, the program must prompt the user before any files areoverwritten.

    For the operating system interface, the program must be able to open and verify the file

    type of source image files (for both encoding and decoding operations), and it must also be

    able to open the source data file. The target output file must also be created or overwrittenfor each operation.

    3.2 Functional Requirements

    There are two main functions that the software must be able to perform. One is the encode

    operation, whereby the data from the source data file is inserted into the source image file,and the output is saved in the target image file. The source image file must be of a valid

    JPEG file type, and the source data file must be a valid, existing file of any data type.

    The other main function that the software must perform is the decode operation, wherebythe data encoded in the given encoded JPEG image is extracted and saved to the output

    directory, using the original name of the data file stored in the encoded image. Theencoded image file must be of a valid JPEG image.

    3.3 Design Constraints

    One possible constraint on the program is how much data a given source image canhide without it becoming evident that data is being hidden. Another constraint is one

    imposed by the underlying operating system. The files that the programmanipulates cannot be larger than the largest possible file on the file system.