Upload
amit-malik
View
218
Download
0
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.