Table of Contents
Table of Contents
Table of Contents
The project titled “Data Hiding in Audio” is aims at sending confidential information
in a secure manner. This project based on encryption the message into Audio instead of using
character to character replacement.
In this process the file which is given in text format is morphed inside an audio file and
protected using a key. The sender will encrypt the text is encrypted behind the audio file using
a secret key. The receiver uses the same secret key to decrypt the audio and he gets the plain
text. During the traversal if the intruders view the file they can able to view only the audio,
because the text is replaced inside the audio’s data. This process is also otherwise called as
multimedia ciphering.
The software used for this process is Visual Basic .Net 2010 as front end and MS
Access 2010 as back end.
The advantage of data hiding in audio over cryptography alone, is that messages do not
attract attention to themselves, messengers or to recipients. An unhidden coded message, no
matter how unbreakable it is, will arouse suspicion and may in itself be incriminating. In some
countries encryption is illegal.
CHAPTER - I
1. I NTRODUCTION
Process Optimization
International Operations
Cost Reduction
Project Management
Customer Relations
Turnaround Situations
Productivity Improvement
Budgeting/Forecasting
Operational & Strategic Planning
Supply Chain Management
Advertisement
Human Resource
Team
Technology
They are constantly looking out for new technology to push application
development to a new level, and they offer a full array of services surpassing their
needs. They work hard and innovate to make Global Solutions the IT service provider
of your choice.
Besides programming services their analysts and engineers are competent in the
provision of consultancy services in certain well-defined business sectors where global
solutions has long experience and domain expertise. They can propose a number of best
practices and optimization tricks to your business processes.
Since the establishment of Global Solutions, they have been committed to quality
with their senior management team personally encouraging quality consciousness at all
levels. Global Solutions is in under process of ISO 9001 compliant Quality
Management System. Quality has always been a culture at Global Solutions that has
consistently enabled them to meet customer needs and often surpass expectations. Their
clients can benefit from effectively compiled service packages or from their Total
Quality Program.
1.2 OVERVIEW OF THE PROJECT
The system titled “DATA HIDING IN AUDIO” is a Windows application project which
encrypts and decrypts the message through audio file.
The goal of the system is to send the information from source to destination securely
through audio as a secure medium. In this process the file which is given in text format is morphed
inside an audio and protected using a key. The sender will encrypt the text is encrypted with the
help of audio file using a secret key. The receiver uses the same secret key to decrypt the audio and
gets the plain text.
During the traversal if the intruders view the file they can able to view only the audio,
because the text is replaced inside the audio’s data. This process is also otherwise called as
multimedia ciphering.
This project based on encryption the message into Audio instead of using character
to character replacement.
In this process the file which is given in text format is morphed inside an audio file
and protected using a key. The sender will encrypt the text is encrypted behind the audio
file using a secret key. The receiver uses the same secret key to decrypt the audio and he
gets the plain text. During the traversal if the intruders view the file they can able to view
only the audio, because the text is replaced inside the audio’s data. This process is also
otherwise called as multimedia ciphering.
The software used for this process is Visual Basic .Net 2010 as front end and MS Access
2010 as back end.The advantage of data hiding in audio over cryptography alone, is that
messages do not attract attention to themselves, messengers or to recipients. An unhidden
coded message, no matter how unbreakable it is, will arouse suspicion and may in itself be
incriminating. In some countries encryption is illegal.
CHAPTER - II
2. SYSTEM ANALYSIS
1. There are number of data encryption and decryption technique without any multimedia
ciphering.
2. Low Data security
3. Hackers can easily hack the file
4. Only password security available
5. There is a limit for text ciphering.
Processors will continue to get faster, smaller and cheaper, whereas memory will
continue to get faster, larger and cheaper. The trend except to have a reasonable memory
to a powerful processor.
Processor : Intel Dual Core Processor
Ram : 1 GB RAM
Hard Drive : 160 GB
Monitor : 17 INCHES
Keyboard : 104 keys
Mouse : Logitech Optical Mouse
When an application project is considered the three basic software requirements are
the platform in which the project is developed, the front-end tool that provides the
interaction with the users and the back-end tool that stores the data.
Microsoft released Access version 1.0 on 13 November 1992, and an Access 1.1 release
in May 1993 to improve compatibility with other Microsoft products and include the
Access Basic programming language.
Microsoft specified the minimum hardware requirements for Access v2.0 as:
Microsoft Windows v3.1 with 4 MB of RAM required, 6 MB RAM recommended; 8 MB
of available hard disk space required, 14 MB hard disk space recommended. The product
shipped on seven 1.44 MB diskettes. The manual shows a 1993 copyright date.
Originally, the software worked well with relatively small databases but testing
showed that some circumstances caused data corruption. For example, file sizes over 10
MB proved problematic (note that most hard disks held less than 500 MB at the time this
was in wide use), and the Getting Started manual warns about a number of circumstances
where obsolete device drivers or incorrect configurations can cause data loss. With the
phasing out of Windows 95, 98 and ME, improved network reliability, and Microsoft
having released 8 service packs for the Jet Database Engine, the reliability of Access
databases has been improved and it supports both more data and a larger number of users.
With Office 95, Microsoft Access 7.0 (a.k.a "Access 95") became part of the
Microsoft Office Professional Suite, joining Microsoft Excel, Word, and PowerPoint and
transitioning from Access Basic to Visual Basic for Applications (VBA). Since then,
Microsoft has released new versions of Microsoft Access with each release of Microsoft
Office. This includes Access 97 (version 8.0), Access 2000 (version 9.0), Access 2002
(version 10.0), Access 2003 (version 11.5), Access 2007 (version 12.0), and Access 2010
(version 14.0).
The native Access database format (the Jet MDB Database) has also evolved over
the years. Formats include Access 1.0, 1.1, 2.0, 7.0, 97, 2000, 2002, 2007, and 2010. The
most significant transition was from the Access 97 to the Access 2000 format; which is not
backward compatible with earlier versions of Access. At the time of this writing, all newer
versions of Access support the Access 2000 format. New features were added to the Access
2002 format which can be used by Access 2002, 2003, 2007, and 2010.
In Access 2007, a new database format was introduced: ACCDB. The ACCDB
supports complex data types such as multivalue and attachment fields. These new field
types are essentially recordsets in fields and allow the storage of multiple values in one
field. With Access 2010, a new version of the ACCDB format supports hosting on a
SharePoint 2010 server for exposure to the web.
Prior to the introduction of Access, the desktop database market was dominated by
Borland with their Paradox and dBase programs, and FoxPro. Microsoft Access was the
first mass market database program for Windows. With the purchase of FoxPro and
incorporating its Rushmore query optimization routines into Access, Microsoft Access
quickly became the dominant database for Windows effectively eliminating the
competition which failed to transition from the MS-DOS world.[2]
Access's initial codename was Circuss; the forms engine was called Ruby. This was
before Visual Basic - Bill Gates saw the prototypes and decided that the BASIC language
component should be co-developed as a separate expandable application, a project called
Thunder. The two projects were developed separately as the underlying forms engines were
incompatible with each other; however, these were merged together again after VBA.
Access was also the name of a communications program from Microsoft, meant to
compete with ProComm and other programs. This proved a failure and was dropped.[3]
Years later, Microsoft reused the name for its database software.
FEATURES
New features and functionality in Windows 8 include a faster startup
through UEFI integration and the new "Hybrid Boot" mode (which hibernates the
Windows kernel on shutdown to speed up the subsequent boot), a new lock screen with a
clock and notifications, and the ability for enterprise users to create live USB versions of
Windows (known as Windows To Go). Windows 8 also adds native support for USB
3.0 devices, which allow for faster data transfers and improved power management with
compatible devices, and hard disk 4KB Advanced Format support, as well as support
for near field communication to facilitate sharing and communication between devices.
Windows Explorer, which has been renamed File Explorer, now includes
a ribbon in place of the command bar. File operation dialog boxes have been updated to
provide more detailed statistics, the ability to pause file transfers, and improvements in the
ability to manage conflicts when copying files. A new "File History" function allows
incremental revisions of files to be backed up to and restored from a secondary storage
device, while Storage Spaces allows users to combine different sized hard disks into virtual
drives and specify mirroring, parity, or no redundancy on a folder-by-folder basis.
Task Manager has been redesigned, including a new processes tab with the option
to display fewer or more details of running applications and background processes, a heat
map using different colors indicating the level of resource usage, network and disk
counters, grouping by process type (e.g. applications, background processes and Windows
processes), friendly names for processes and a new option which allows users to search the
web to find information about obscure processes. Additionally, the Blue Screen of
Death has been updated with a simpler and modern design with less technical information
displayed.
Windows 8 also incorporates improved support for mobile broadband; the operating
system can now detect the insertion of a SIM card and automatically configure connection
settings (including APNs and carrier branding), track and reduce bandwidth use on metered
networks. Windows 8 also adds an integrated airplane mode setting to globally disable all
wireless connectivity as well. Carriers can also offer account management systems through
Windows Store apps, which can be automatically installed as a part of the connection
process and offer usage statistics on their respective tile.
CHAPTER - V
5. SYSTEM DESIGN
Level- 0
Level 1- Encryption
Level 2- Decryption
5.2 MODULES
1. Message Encryption
a. In the message encryption form, the user has been allowed to select the audio file. Once
the audio file has been selected, the user has been allowed to enter the secret key and
enter the plain text to encrypt. The details have been stored in the centralized database
in the encryption table.
2. Message Decryption
a. In the message decryption form, the user has been allowed to select the audio file. Once
the audio file has been selected, the user has been allowed to enter the secret key.
b. The entered key has been validated with the encryption table and once succeeded, the
encrypted text has been converted into plain text.
5.3 DATABASE DESIGN
Database design is the process of producing a detailed data model of a database. This
logical data model contains all the needed logical and physical design. physical storage
parameters needed to generate a design in a Data Definition Language, which can then be
used to create a database. A fully attributed data model contains detailed attributes for each
entity.
The term database design can be used to describe many different parts of the design of
an overall database system. Principally, it can be thought of as the logical design of the
base data structures used to store the data. In the relational model these are the tables and
views. In an object database the entities and relationships map directly to object classes and
named relationships. However, the term database design could also be used to apply to the
overall process of designing, not just the base data structures, but also the forms and queries
used as part of the overall database application within the database management system.
Data Constraints
All business in the world runs on business data being gathered stored and
analyzed. Business managers determine a set of rules that must be applied to the data being
stored to ensure its integrity.
There are two types of data constraints that can be applied to data being inserted
into a database table .One type of constraint is called an I/O constraint. The other type of
constraint is called a business rule constraint.
I/O Constraints
The input /output data constraint is further divided into two distinctly different
constraints.
That the data entered in the table column is unique across the entire column.
That none of the cells belonging to the table column are left empty.
Foreign constraint establishes a relationship between records across a master and a detail table.
The relationship ensures.
Records cannot be inserted in a detail table if corresponding records in the master table
does not exist.
Records of the master table cannot be deleted if corresponding records in the detail table
exist.
The Database allows the application of business rules to table columns. Business managers
determine business rules.
Column Level
Table Level
If data constraints are defined along with the column definition where creating or altering a
table structure, they are column level constraints.
If data constraints are defined after defining all the table columns when creating or
altering a table structure, it is a table level constraint.
When a column is defined as not null, then that column becomes a mandatory column .It
implies that a value must be entered into the column if the record is to be accepted for storage
in the table.
A primary key in a table used to uniquely identify each row in the table .A primary
key column in a table has special attributes.
It defines the column as a mandatory column i.e. the column cannot be left blank. The
NOT NULL attribute is active.
The philosophy behind testing is to find errors. The common view of testing is to bring
the program without errors. Software testing is a critical element of software quality assurance
and represents the ultimate review of specification, design and code generation. Once the
source code has been generated, software must be tested to uncover as many errors as possible
before delivery to the customer. In order to find the highest possible number of errors, tests
must be conducted systematically and test cases must be designed using disciplined techniques.
TYPES OF TESTING
Code Testing:
This examines the logic of the program. To follow this test, cases are developed such that
every path of t he program is tested. It is a fact that a slight change in the logic may lead to
incorrect result. The project has to be developed in such a way that it can be usable at any
environment and at any type of input and system design. All depends upon the coding
developed in the program and makes this phase an important one.
Specification Testing:
Specification testing examines the specification starting what the program should do and how
it should perform under various conditions. The test cases are developed for each condition.
The test cases are developed for each conditions and combinations of conditions and to be
submitted for processing.
White box testing some times called as glass box testing is a test case design method that uses
the control structures of the procedural design to derive test cases. Using White Box testing
methods, the software engineer can derive test case, that guarantee that all independent paths
with in a module have been exercised at least once, exercise all logical decisions on their true
and false sides, execute all loops at their boundaries and within their operational bounds,
exercise internal data structures to ensure their validity. “Logic errors and incorrect
assumptions are inversely proportional to the probability that a program path will be executed“.
The logical flow of a program is sometimes counter intuitive, meaning that unconscious
assumptions about flow of control and data may lead to make design errors that are uncovered
only once path testing commences.
Black box testing, also called as behavioral testing, focuses on the functional requirements of
the software. That is, black box testing enables the software engineer to derive sets of input
conditions that will fully exercise all functional requirements for a program.
2. Interface errors
By applying black box techniques, a set of test cases that satisfy the following criteria were
been created: Test cases that reduce, by a count that is greater than one, the number of
additional test cases that must be designed to achieve reasonable testing and test cases that tell
something about the presence or absence of classes of errors, rather than an error associated
only with the specific test at hand. Black - box testing is not an alternative to white - box testing
techniques. Rather it is complementary approach that is likely to uncover a different class of
errors than white - box methods.
Validation Testing
Validation testing provides the final assurance that software meets all functional, behavioral
and performance requirements. Validation testing can be defined in many ways, but a simple
definition is that validations succeed when the software functions in a manner that is expected
by the user. The software once validated must be combined with other system element. System
testing verifies that all elements combine properly and that overall system function and
performance is achieved. After the integration of the modules, the validation test was carried
out over by the system. It was found that all the modules work well together and meet the
overall system function and performance. According to this testing marketing is error free.
Integration Testing
Integration testing is a systematic technique for constructing the program structure while at the
same time conducting test to uncover errors associated with interfacing. The objective is to
take unit - tested modules and build a program structure that has been dictated by design.
Careful test planning is required to determine the extent and nature of system testing to be
performed and to establish criteria by which the result will be evaluated.
All the modules were integrated after the completion of unit test. While Top - Down Integration
was followed, the modules are integrated by moving downward through the control hierarchy,
beginning with the main module. Since the modules were unit - tested for no errors, the
integration of those modules was found perfect and working fine. As a next step to integration,
other modules were integrated with the former modules.
After the successful integration of the modules, the system was found to be running with no
uncovered errors, and also all the modules were working as per the design of the system,
without any deviation from the features of the proposed system design.
Acceptance Testing
Acceptance testing involves planning and execution of functional tests, performance tests and
stress tests in order to demonstrate that the implemented system satisfies its requirements.
When custom software is built for one customer, a series of acceptance tests are conducted to
enable the customer to validate all requirements.
In fact acceptance cumulative errors that might degrade the system over time will incorporate
test cases developed during integration testing. Additional testing cases are added to achieve
the desired level functional, performance and stress testing of the entire system.
Unit testing
Unit testing focuses verification effort on the smallest unit of the software. Using the detailed
design description as design a guide, important control path are tested to uncover errors within
the boundary of the module. This testing was carried out during programming stage itself. After
testing each every field in the modules, the modulus of the project is tested separately. Unit
testing focuses verification efforts on the smallest unit of software design and field. This is
known as field - testing. According to unit testing lab is error free.
Test Considerations Followed In This Project:
Interface : Tested to ensure the information properly flows in and out of the program unit
under test.
Local Data Structures : The temporarily stored data in this module have been checked for
integrity. It was seen that no lose of data or misinterpretation of data was taking place in this
module.
Boundary Conditions : The data to this module have fixed length and are known to have a
particular range of values. The input data with corresponding lower bound and upper bound
values and also the values in between the range, and was found that the module operates well
with the boundary conditions.
Independent Paths : The module was tested for independent paths to bound values and also
the values in between the range, operates well with the boundary conditions.
Error Handling Paths : The module was tested for error handling conditions. The module
was given wrong input and was checked for error paths. It was found that the module was able
to produce appropriate error messages for all the wrong inputs given to the module.
CHAPTER - VII
7. SYSTEM IMPLEMENTATION
System Implementation is the stage of the project when the theoretical design
is tuned into working system. If the implementation system stage is not carefully controlled
and planned, it can cause chaos. Thus it can be considered to be the most critical stage in
achieving a successful new system and in giving the users a confidence that the system will
work and be effective.
The implementation stage in a project involves,
Careful Planning investigation of the current system, checking constraints and
the implementation.
Training the staffs in the newly developed system.
A software application in general is implemented after navigating the complete life
cycle method of a project. Various life cycle processes such as requirement analysis, design
phase, verification, testing and finally followed by the implementation phase results in a
successful project management. The software application which is basically a Windows based
application has been successfully implemented after passing various life cycle processes
mentioned above.
As the software is to be implemented in a high standard industrial sector, various factors
such as application environment, user management, security, reliability and finally
performance are taken as key factors through out the design phase. These factors are analyzed
step by step and the positive as well as negative outcomes are noted down before the final
implementation.
Security and authentication is maintained in both user level as well as the management
level. The data is stored in MS Access as RDBMS, which is highly reliable and simpler to use,
the user level security is managed with the help of password options and sessions, which finally
ensures that all the transactions are made securely.
The application’s validations are made, taken into account of the entry levels available
in various modules. Possible restrictions like number formatting, date formatting and
confirmations for both save and update options ensures the correct data to be fed into the
database. Thus all the aspects are charted out and the complete project study is practically
implemented successfully for the end users.
End Users
No specific knowledge or skills are required from the end user.
End user should have basic idea about computer operations and database.
Administrator
Administrator must be having good knowledge of database management system.
Administrator must be capable to manage user rights.
If the network connection does not work properly than our system should not work as
intended.
Also that is assumed that the product is installed properly at windows server
Assumptions and Dependencies
Assumptions:
The code should be free with compilation errors/syntax errors.
The product must have an interface which is simple enough to understand.
Dependencies:
All necessary hardware and software are available for implementing and use of the
tool.
The proposed system would be designed, developed and implemented based on the
software requirements specifications document.
End users should have basic knowledge of computer and they also assure that the
users will be given software training documentation and reference material.
The system is not required to save generated reports.
SYSTEM MAINTENANCE
Security and authentication is maintained in both user level as well as the management
level. The data is stored in MS Access as RDBMS, which is highly reliable and simpler to use,
the user level security is managed with the help of password options and sessions, which finally
ensures that all the transactions are made securely.
SYSTEM SECURITY MEASURES
The application’s validations are made, taken into account of the entry levels available
in various modules. Possible restrictions like number formatting, date formatting and
confirmations for both save and update options ensures the correct data to be fed into the
database. Thus all the aspects are charted out and the complete project study is practically
implemented successfully for the end users.
CHAPTER - VIII
8. SCREEN SHOTS
LOGIN
MENU
ENCRYPTION
DECRYPION
VIEW LOGIN
VIEW
CHAPTER - IX
9. SAMPLE CODING
LOGIN
ENCRYPTION
End Sub
End Class
DECRYPTION
End Sub
End Class
VIEW
End Sub
End Sub
End Class
CHAPTER – X
10. FUTURE ENHANCEMENT
The project can be further developed with the help of oracle as the back end which can store a
huge capacity of data. MS Access provides security to the records. The VB.Net software can
be replaced using ASP.net.
Modification and enhancement can be made affecting any other part of the program because of
the user friendliness and understandability of the project. Add-on features can be done to this
software whenever required. Since it is a menu driven one, more details can be added to
respective modules according to the need of the project.
The project can be done with back ends as Oracle also. This conversion and transition is also
very easy, if the company requires developing and extending the system in future. Extensibility
is one of the characteristics of this software.
It is very well said “development is never ending”. Hence there is a lot of scope for future
development depending on the innovative thinking of the company.
CONCLUSION
The goal of the project “Data Hiding” has been successfully achieved. The testing
and implementation has been done in a step-by-step process. Each module has been
developed and tested individually to obtain the necessary required output in the desired form.
The project has been done as user-friendly software for easy handling of process.
The software developed has been designed and run to satisfy the requirements and
needs of the organization as well as the end users. The system reduces the corruption of files
like while the file transfer is done. It has also resulted in quick retrieval and reference of
required information, which is vital to the degrees of the organization.
The entire system is documented and can be easily understood by the end users. The
form are very user friendly and also easy to handle even by the beginners with very little
effort and guidance.
BIBLIOGRAPHY
WEBSITES:
1. www.msdn.microsoft.com
2. www.vbcity.com
3. www.vbdotnetheaven.com
4. www.codeguru.com
5. www.w3schools.com.
6. www.vbdotnetheaven.com
7. www.codeguru.com
8. www.w3schools.com.