Top Banner
1.INTRODUCTION 1.1 PROJECT OVERVIEW: We are of the belief that the easiest way to keep something from prying eyes is to place it right in front of the person looking for it and make it look as innocuous as possible. Everyone has a taste for a certain kind of music. Hence, it is more than likely that the person will have that kind of music on the storage device of his computer. Also, it is quite common case where people share and transfer different music files to one another. If one were able to hide the message can be. Also, transfer of this message can be done quite conveniently without raising any eyebrows. Our aim is to come up with a technique of hiding the message in the Picture file in such a way, that there would be no perceivable changes in the in the Picture file after the message insertion. At the same time, if the message that is to be hidden were encrypted, the level of security would be raised to quite a satisfactory level. Now, even if the hidden message were to be discovered the person trying to get the message would only be able to lay his hands on the encrypted message with no way of being able to decrypt it. 1
103

Document

Nov 03, 2014

Download

Documents

Mohana Sundaram

Stegnography audio,video,picture
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Document

1.INTRODUCTION

1.1 PROJECT OVERVIEW:

We are of the belief that the easiest way to keep something from prying eyes is to

place it right in front of the person looking for it and make it look as innocuous as

possible.

Everyone has a taste for a certain kind of music. Hence, it is more than likely

that the person will have that kind of music on the storage device of his computer.

Also, it is quite common case where people share and transfer different music files to

one another. If one were able to hide the message can be. Also, transfer of this

message can be done quite conveniently without raising any eyebrows.

Our aim is to come up with a technique of hiding the message in the Picture file

in such a way, that there would be no perceivable changes in the in the Picture file

after the message insertion. At the same time, if the message that is to be hidden were

encrypted, the level of security would be raised to quite a satisfactory level. Now,

even if the hidden message were to be discovered the person trying to get the message

would only be able to lay his hands on the encrypted message with no way of being

able to decrypt it.

There are several data hiding techniques available today. In each technique,

the host data type is fixed, but the embedded data type can be varied as per

requirement. Data hiding technique should be capable of embedding data in a host

signal with the following restrictions and features:

The host signal should be nonobjectionally degraded and the embedded data

should be minimally perceptible. What that means is that the observer should

not be able to notice the presence of the data even if it were perceptible.

The embedded data should be directly encoded into the media rather than into

a header or a wrapper so that the data remain intact across varying data file

formats.

1

Page 2: Document

The embedded data should be immune to modifications ranging from

intentional and intelligent attempts at removal to anticipated manipulations e.g.

channel noise, re-sampling, cropping, etc.

Asymmetrical coding of the embedded data is desirable since the purpose of

data hiding is to keep the data in the host signal but not necessarily to make the

data difficult to access.

The embedded data should be self clocking or arbitrarily re-entrant. This

ensures that the embedded data can be recovered even when only fragments of

information are available.

Goals of the System The goal of this project is to embed textual information into a popular media

using stegonography. It can be assume that the text is relatively short when compared

to the media file. A good example of this is the relationship between a recoded song,

and its lyrics. The Picture file containing the recording is much larger than the song

lyrics stored as a plain ASCII files. Therefore it is probably safe to assume that the

smaller file could be stegonographically embedded into the larger one without

impacting the quality. Similar argument could be made about video data and close

captioning information.

This project concentrates on the song/lyrics dynamics in order to create a

stegonographically driven karaoke machine. The song lyrics will be seamlessly

embedded into an Picture file, and then displayed on the screen when the file is

played. This research will include implementation of stegonographic algorithm for

encoding data inside Picture files, as well as technique to dynamically extract that data

and play it back.

2

Page 3: Document

2.SYSTEM ANALYSIS

2.1 EXISTING SYSTEM:

Nowadays, several methods are used for communicating secret messages for

defense purposes or in order to ensure the privacy of communication between two

parties. So we go for hiding information in ways that prevent its detection.

Some of the methods used for privacy communication are the use of invisible

links; covert channels are some of existing systems that are used to convey the

messages.

Since at present everything is done manually, it is having a lot of drawbacks.

The major Drawback of the present system is the bulk amount of physical volume of

the data making information search and retrieval is tedious Process. There are chances

for damage of papers containing information. So this process is time consuming

process.

Drawbacks

Increased time

Low accuracy

High labor charges

Increased uncertainty

Data security is less

2.2 PROPOSED SYSTEM:

In the proposed system we can overcome the difficulties of the existing system. In our

system we are introducing all the three concept to secure the information which is

send by the user. The data/information which the sender wants to send will be

encrypted and then if the information is too bigger in size there is an option to

3

Page 4: Document

compress the data using compression technique and later that data/information is

embedded in the audio/video or image files. For encrypting and decrypting the

data/information we have used DES algorithm. Hiding the text or file inside least

significant of an image. By using this intruder could not be able to see the content

since there is no change will be seen compare to original images. The proposed

system uses Picture file as a carrier medium which add another step in security. The

objective of the newly proposed system is to create a system that makes it very

difficult for an opponent to detect the existence of a secret message by encoding it in

the carrier medium as a function of some secret key and that remains as the advantage

of this system.

DES algorithm is used to encrypt the message which is hided in the image. DES is

used to give the extra protection for a data which has to be hide. Compression

technology has been used to compress the size of the message in order to save

memory.

In this system have several advantages over existing system. They are

1. Data security is high.

2. It avoids data redundancy and ensures data integrity.

3. It doesn’t take more labor time.

Introduction to the Software Development Life Cycle (SDLC)

This section of the document will describe the Software Development Life Cycle (SDLC) for

small to medium database application development efforts. This chapter presents an overview

of the SDLC, alternate lifecycle models, and associated references. This chapter also

describes the internal processes that are common across all stages of the SDLC and describes

the inputs, outputs, and processes of each stage.

The SDLC Waterfall

Small to medium database software projects are generally broken down into six stages:

4

Page 5: Document

The relationship of each stage to the others can be roughly described as a waterfall, where the

outputs from a specific stage serve as the initial inputs for the following stage.

To follow the waterfall model, one proceeds from one phase to the next in a purely sequential

manner. For example,

After completing the “Project Planning” phase, one will be completing the

"requirements definitions" phase.

When and only when the requirements are fully completed, one proceeds to design.

This design should be a plan for implementing the requirements given.

When and only when the design is fully completed, an implementation of that design

is made by coders. Towards the later stages of this implementation phase, disparate

software components produced by different teams are integrated.

After the implementation and integration phases are complete, the software product is

tested and debugged; any faults introduced in earlier phases are removed here.

Then the software product is installed, and later maintained to introduce new

functionality and remove bugs.

Thus the waterfall model maintains that one should move to a phase only when it’s

proceeding phase is completed and perfected. Phases of development in the waterfall model

are thus discrete, and there is no jumping back and forth or overlap between them.

5

Page 6: Document

The central idea behind the waterfall model - time spent early on making sure that

requirements and design are absolutely correct is very useful in economic terms (it will save

you much time and effort later). One should also make sure that each phase is 100% complete

and absolutely correct before proceeding to the next phase of program creation.

It is argued that the waterfall model in general can be suited to software projects which are

stable (especially with unchanging requirements) and where it is possible and likely that

designers will be able to fully predict problem areas of the system and produce a correct

design before implementation is started.

The waterfall model also requires that implementers follow the well made, complete design

accurately, ensuring that the integration of the system proceeds smoothly.

The waterfall model however is argued by many to be a bad idea in practice, mainly because

of their belief that it is impossible to get one phase of a software product's lifecycle

"perfected" before moving on to the next phases and learning from them (or at least, the

belief that this is impossible for any non-trivial program). For example clients may not be

aware of exactly what requirements they want before they see a working prototype and can

comment upon it - they may change their requirements constantly, and program designers and

implementers may have little control over this.

If clients change their requirements after a design is finished, that design must be modified to

accommodate the new requirements, invalidating quite a good deal of effort if overly large

amounts of time have been invested into the model.

In response to the perceived problems with the "pure" waterfall model, many modified

waterfall models have been introduced namely Royce's final model, sashimi model, and other

alternative models. These models may address some or all of the criticism of the "pure"

waterfall model. There are other alternate SDLC models such as “Spiral” and “V” which

have been explained in the later part of this chapter.

After the project is completed, the Primary Developer Representative (PDR) and Primary

End-User Representative (PER), in concert with other customer and development team

personnel develop a list of recommendations for enhancement of the current software.

6

Page 7: Document

Prototypes

The software development team, to clarify requirements and/or design elements, may

generate mockups and prototypes of screens, reports, and processes. Although some of the

prototypes may appear to be very substantial, they're generally similar to a movie set:

everything looks good from the front but there's nothing in the back.

When a prototype is generated, the developer produces the minimum amount of code

necessary to clarify the requirements or design elements under consideration. No effort is

made to comply with coding standards, provide robust error management or integrate with

other database tables or modules. As a result, it is generally more expensive to retrofit a

prototype with the necessary elements to produce a production module than it is to develop

the module from scratch using the final system design document. For these reasons,

prototypes are never intended for business use, and are generally crippled in one way or

another to prevent them from being mistakenly used as production modules by end-users.

Allowed Variations

In some cases, additional information is made available to the development team that requires

changes in the outputs of previous stages. In this case, the development effort is usually

suspended until the changes can be reconciled with the current design, and the new results are

passed down the waterfall until the project reaches the point where it was suspended.

The PER and PDR may, at their discretion, allow the development effort to continue while

previous stage deliverables are updated in cases where the impacts are minimal and strictly

limited in scope. In this case, the changes must be carefully tracked to make sure all their

impacts are appropriately handled.

7

Page 8: Document

Other SDLC Models

Apart from the waterfall model other popular SDLC modules are the “Spiral” model and “V”

model which have been explained in this section.

Spiral Lifecycle

The spiral model starts with an initial pass through a standard waterfall lifecycle, using a

subset of the total requirements to develop a robust prototype. After an evaluation period, the

cycle is initiated again, adding new functionality and releasing the next prototype. This

process continues with the prototype becoming larger and larger with each iteration, hence

the “spiral.”

The Spiral model is used most often in large projects and needs constant review to stay on

target. For smaller projects, the concept of agile software development is becoming a viable

alternative. Agile software development tends to be rather more extreme in their approach

than the spiral model.

8

Page 9: Document

The theory is that the set of requirements is hierarchical in nature, with additional

functionality building on the first efforts. This is a sound practice for systems where the entire

problem is well defined from the start, such as modeling and simulating software. Business-

oriented database projects do not enjoy this advantage. Most of the functions in a database

solution are essentially independent of one another, although they may make use of common

data. As a result, the prototype suffers from the same flaws as the prototyping lifecycle. For

this reason, the software development teams usually decide against the use of the spiral

lifecycle for database projects.

V-Model

The V-model was originally developed from the waterfall software process model. The four

main process phases – requirements, specification, design and Implementation – have a

corresponding verification and validation testing phase. Implementation of modules is tested

by unit testing, system design is tested by Integration testing, system specifications are tested

by system testing and finally Acceptance testing verifies the requirements. The V-model gets

its name from the timing of the phases. Starting from the requirements, the system is

developed one phase at a time until the lowest phase, the implementation phase, is finished.

At this stage testing begins, starting from unit testing and moving up one test level at a time

until the acceptance testing phase is completed. During development stage the program will

be tested at all levels simultaneously.

V-Model

9

Page 10: Document

The different levels in V-Model are unit tests, integration tests, system tests and acceptance

test. The unit tests and integration tests ensure that the system design is followed in the code.

The system and acceptance tests ensure that the system does what the customer wants it to

do. The test levels are planned so that each level tests different aspects of the program and so

that the testing levels are independent of each other. The traditional V-model states that

testing at a higher level is started only when the previous test level is completed.

Verification and Validation

Verification: Are we building the product right?

The software should conform to its specification. The process of evaluating a system or

component to determine whether the products of a given development phase satisfy the

conditions imposed at the start of that phase and form formal proof of program correctness.

Validation: Are we building the right product?

The software should do what the user really requires. The process of evaluating a system or

component during or at the end of the development process to determine whether it satisfies

specified requirements.

The V & V process

V & V is a whole life-cycle process and it must be applied at each stage in the software

process. It has two principal objectives

The discovery of defects in a system

The assessment of whether or not the system is usable in an operational situation.

Verification Vs Validation

Verification Validation

Am I building the product right Am I building the right product

The review of interim work steps and

interim deliverables during a project to

ensure they are acceptable. To

determine if the system is consistent,

adheres to standards, uses reliable

techniques and prudent practices, and

performs the selected functions in the

Determining if the system complies with the

requirements and performs functions for which

it is intended and meets the organization’s

goals and user needs. It is traditional and is

performed at the end of the project.

10

Page 11: Document

correct manner.

Am I accessing the data right (in the

right place; in the right way)

Am I accessing the right data (in terms of the

data required to satisfy the requirement)

Low level activity High level activity

Performed during development on key

artifacts, like walkthroughs, reviews

and inspections, mentor feedback,

training, checklists and standards

Performed after a work product is produced

against established criteria ensuring that the

product integrates correctly into the

environment

Demonstration of consistency,

completeness, and correctness of the

software at each stage and between each

stage of the development life cycle.

Determination of correctness of the final

software product by a development project

with respect to the user needs and

requirements

3.SYSTEM CONFIGURATION

3.1 SOFTWARE ENVIRONMENT:-

Operating System : Window XP

Development Environment : MicrosoftVisualC#.NET

Platform : ASP.NET

Languages : C#.Net

3.2 HARDWARE ENVIRONMENT:-

Processor : Pentium IV

RAM : 1GB

Hard Disk : 250 GB

Mother Board : Intel chipset board

Mouse : Logitech two button

11

Page 12: Document

Key Board : 104 keys keyboard

Monitor : 17” LCD Color Monitor

.

12

Page 13: Document

4. SYSTEM STUDY

4.1 Feasibility study:

The feasibility of the project is analyzed in this phase and business proposal is

put forth with a very general plan for the project and some cost estimates. During

system analysis the feasibility study of the proposed system is to be carried out. This

is to ensure that the proposed system is not a burden to the company. For feasibility

analysis, some understanding of the major requirements for the system is essential.

Three key considerations involved in the feasibility analysis are

1. Economical feasibility

2. Technical feasibility

3. Social feasibility

4.1.1. Economical feasibility:

This study is carried out to check the economic impact that the system will have

on the organization. The amount of fund that the company can pour into the research

and development of the system is limited. The expenditures must be justified. Thus

the developed system as well within the budget and this was achieved because most of

the technologies used are freely available. Only the customized products had to be

purchased.

13

Page 14: Document

4.1.2. Technical feasibility:

This study is carried out to check the technical feasibility, that is, the technical

requirements of the system. Any system developed must not have a high demand on

the available technical resources. This will lead to high demands on the available

technical resources. This will lead to high demands being placed on the client. The

developed system must have a modest requirement, as only minimal or null changes

are required for implementing this system.

4.1.3. Social feasibility:

The aspect of study is to check the level of acceptance of the system by the user.

This includes the process of training the user to use the system efficiently. The user

must not feel threatened by the system, instead must accept it as a necessity. The level

of acceptance by the users solely depends on the methods that are employed to

educate the user about the system and to make him familiar with it. His level of

confidence must be raised so that he is also able to make some constructive criticism,

which is welcomed, as he is the final user of the system.

14

Page 15: Document

5.1OVERVIEW OF .NET

What is .NET?

When .NET was announced in late 1999, Microsoft positioned the technology

as a platform for building and consuming Extensible Markup Language (XML) Web

services. XML Web services allow any type of application, be it a Windows- or

browser-based application running on any type of computer system, to consume data

from any type of server over the Internet. The reason this idea is so great is the way in

which the XML messages are transferred: over established standard protocols that

exist today. Using protocols such as SOAP, HTTP, and SMTP, XML Web services

make it possible to expose data over the wire with little or no modifications to your

existing code.

Figure 1.1 presents a high-level overview of the .NET Framework and how XML

Web services are positioned.

Figure 3.1. Stateless XML Web services model.

15

Page 16: Document

Since the initial announcement of the .NET Framework, it's taken on many new

and different meanings to different people. To a developer, .NET means a great

environment for creating robust distributed applications. To an IT manager, .NET

means simpler deployment of applications to end users, tighter security, and simpler

management. To a CTO or CIO, .NET means happier developers using state-of-the-art

development technologies and a smaller bottom line. To understand why all these

statements are true, you need to get a grip on what the .NET Framework consists of,

and how it's truly a revolutionary step forward for application architecture,

development, and deployment.

NET Framework

The .NET Framework Class Library

The second most important piece of the .NET Framework is the .NET

Framework class library (FCL). As you've seen, the common language runtime

handles the dirty work of actually running the code you write. But to write the code,

you need a foundation of available classes to access the resources of the operating

system, database server, or file server. The FCL is made up of a hierarchy of

namespaces that expose classes, structures, interfaces, enumerations, and delegates

that give you access to these resources.

The Structure of a .NET Application

To understand how the common language runtime manages code execution,

you must examine the structure of a .NET application. The primary unit of a .NET

application is the assembly. An assembly is a self-describing collection of code,

resources, and metadata. The assembly manifest contains information about what is

contained within the assembly.

The assembly manifest provides:

Identity information, such as the assembly’s name and version number

16

Page 17: Document

A list of all types exposed by the assembly

A list of other assemblies required by the assembly

A list of code access security instructions, including permissions required by

the assembly and permissions to be denied the assembly

Each assembly has one and only one assembly manifest, and it contains all the

description information for the assembly. However, the assembly manifest can be

contained in its own file or within one of the assembly’s modules.

Compilation and Execution of a .NET Application

When you compile a .NET application, it is not compiled to binary machine

code; rather, it is converted to IL. This is the form that your deployed application

takes—one or more assemblies consisting of executable files and DLL files in IL

form. At least one of these assemblies will contain an executable file that has been

designated as the entry point for the application.

When execution of your program begins, the first assembly is loaded into

memory. At this point, the common language runtime examines the assembly manifest

and determines the requirements to run the program. It examines security permissions

requested by the assembly and compares them with the system’s security policy. If the

system’s security policy does not allow the requested permissions, the application will

not run. If the application passes the system’s security policy, the common language

runtime executes the code. It creates a process for the application to run in and begins

application execution.

The .NET Framework base class library contains the base classes that provide

many of the services and objects you need when writing your applications. The class

17

Page 18: Document

library is organized into namespaces. A namespace is a logical grouping of types that

perform related functions. Namespaces are logical groupings of related classes. The

namespaces in the .NET base class library are organized hierarchically. The root of

the .NET Framework is the System namespace. Other namespaces can be accessed

with the period operator. A typical namespace construction appears as follows:

System

System.Data

System.Data.SQLClient

The first example refers to the System namespace. The second refers to the

System.Data namespace. The third example refers to the System.Data.SQLClient

namespace. Table 1.1 introduces some of the more commonly used .NET base class

namespaces.

Table 1-1. Representative .NET Namespaces

Namespace Description

System

This namespace is the root for many of the low-level types

required by the .NET Framework. It is the root for primitive

data types as well, and it is the root for all the other

namespaces in the .NET base class library.

System.Collections

This namespace contains classes that represent a variety of

different container types, such as ArrayList, SortedList,

Queue, and Stack. You also can find abstract classes, such

as CollectionBase, which are useful for implementing your

own collection functionality.

System.ComponentModel This namespace contains classes involved in component

creation and containment, such as attributes, type

18

Page 19: Document

Table 1-1. Representative .NET Namespaces

Namespace Description

converters, and license providers.

System.Data

This namespace contains classes required for database

access and manipulations, as well as additional namespaces

used for data access.

System.Data. CommonThis namespace contains a set of classes that are shared by

the .NET managed data providers.

System.Data.OleDbThis namespace contains classes that make up the managed

data provider for OLE DB data access.

System.Data.SQLClientThis namespace contains classes that are optimized for

interacting with Microsoft SQL Server.

System.DrawingThis namespace exposes GDI+ functionality and provides

classes that facilitate graphics rendering.

System.IOIn this namespace, you will find types for handling file

system I/O.

System.MathThis namespace is home to common mathematics functions

such as extracting roots and trigonometry.

System.ReflectionThis namespace provides support for obtaining information

and dynamic creation of types at runtime.

System.SecurityThis namespace is home to types dealing with permissions,

cryptography, and code access security.

19

Page 20: Document

Table 1-1. Representative .NET Namespaces

Namespace Description

System.ThreadingThis namespace contains classes that facilitate the

implementation of multithreaded applications.

System.Windows.Forms

This namespace contains types involved in creating

standard Windows applications. Classes that represent

forms and controls reside here as well.

Table 3.1. Representative .NET Namespaces

The namespace names are self-descriptive by design. Straightforward names

make the .NET Framework easy to use and allow you to rapidly familiarize yourself

with its contents.

20

Page 21: Document

5.2 LANGUAGE SPECIFICTION

Introduction to Object-Oriented Programming

Programming in the .NET Framework environment is done with objects.

Objects are programmatic constructs that represent packages of related data and

functionality. Objects are self-contained and expose specific functionality to the rest

of the application environment without detailing the inner workings of the object

itself. Objects are created from a template called a class. The .NET base class library

provides a set of classes from which you can create objects in your applications. You

also can use the Microsoft Visual Studio programming environment to create your

own classes. This lesson introduces you to the concepts associated with object-

oriented programming.

Objects, Members, and Abstraction

An object is a programmatic construct that represents something. In the real

world, objects are cars, bicycles, laptop computers, and so on. Each of these items

exposes specific functionality and has specific properties. In your application, an

object might be a form, a control such as a button, a database connection, or any of a

number of other constructs. Each object is a complete functional unit, and contains all

of the data and exposes all of the functionality required to fulfill its purpose. The

ability of programmatic objects to represent real-world objects is called abstraction.

Classes Are Templates for Objects

Classes were discussed in Chapter 1 and represent user-defined reference types.

Classes can be thought of as blueprints for objects: they define all of the members of

an object, define the behavior of an object, and set initial values for data when

appropriate. When a class is instantiated, an in-memory instance of that class is

created. This instance is called an object. To review, a class is instantiated using the

New (new) keyword as follows:

Visual Basic .NET

21

Page 22: Document

' Declares a variable of the Widget type

Dim myWidget As Widget

' Instantiates a new Widget object and assigns it to the myWidget 

' variable

myWidget = New Widget()

When an instance of a class is created, a copy of the instance data defined by

that class is created in memory and assigned to the reference variable. Individual

instances of a class are independent of one another and represent separate

programmatic constructs.

There is generally no limit to how many copies of a single class can be

instantiated at any time. To use a real-world analogy, if a car is an object, the plans for

the car are the class. The plans can be used to make any number of cars, and changes

to a single car do not, for the most part, affect any other cars.

Objects and Members

Objects are composed of members. Members are properties, fields, methods, and

events, and they represent the data and functionality that comprise the object. Fields

and properties represent data members of an object. Methods are actions the object

can perform, and events are notifications an object receives from or sends to other

objects when activity happens in the application.

Object Models

Simple objects might consist of only a few properties, methods, and perhaps an

event or two. More complex objects might require numerous properties and methods

and possibly even subordinate objects. Objects can contain and expose other objects

as members.

22

Page 23: Document

Similarly, every instance of the Form class contains and exposes a Controls

collection that comprises all of the controls contained by the form. The object model

defines the hierarchy of contained objects that form the structure of an object.

Encapsulation

Encapsulation is the concept that implementation of an object is independent of

its interface. Put another way, an application interacts with an object through its

interface, which consists of its public properties and methods. As long as this interface

remains constant, the application can continue to interact with the component, even if

implementation of the interface was completely rewritten between versions.

Polymorphism

Polymorphism is the ability of different classes to provide different

implementations of the same public interfaces. In other words, polymorphism allows

methods and properties of an object to be called without regard for the particular

implementation of those members. There are two principal ways through which

polymorphism can be provided: interface polymorphism and inheritance

polymorphism.

Interface Polymorphism

An interface is a contract for behavior. Essentially, it defines the members a

class should implement, but states nothing at all about the details of that

implementation. An object can implement many different interfaces, and many diverse

classes can implement the same interface. All objects implementing the same interface

are capable of interacting with other objects through that interface.

23

Page 24: Document

Inheritance Polymorphism

Inheritance allows you to incorporate the functionality of a previously

defined class into a new class and implement different members as needed. A class

that inherits another class is said to derive from that class, or to inherit from that class.

A class can directly inherit from only one class, which is called the base class. The

new class has the same members as the base class, and additional members can be

added as needed. Additionally, the implementation of base members can be changed

in the new class by overriding the base class implementation. Inherited classes retain

all the characteristics of the base class and can interact with other objects as though

they were instances of the base class.

Microsoft Visual Basic.Net

With its release for the .NET platform, the Visual Basic language has

undergone dramatic changes.

For example:

The language itself is now fully object-oriented.

Applications and components written in Visual Basic .NET have full

access to the .NET Framework, an extensive class library that provides

system and application services.

All applications developed using Visual Basic .NET run within a

managed runtime environment, the .NET common language runtime.

24

Page 25: Document

6. DATABASE DESIGN

UserDBnam unam pas dat uid

abinaya abinaya abinaya 2/2/2013 U2

rajan rajan rajan 3/7/2013 10:57:04 AM U2

VideoDatavsource vtext ttext tsorce key

D:\output\The Winning moment(Ind vs Aus) Sachin Tendulkar SIXES- Feb 2013 (2).avi

The Winning moment(Ind vs Aus) Sachin Tendulkar SIXES- Feb 2013 (2).avi

C:\Users\JAVA SCHOOL\Desktop\in.txt

in.txt 5637

D:\output\The Winning moment(Ind vs Aus) Sachin Tendulkar SIXES- Feb 2013 (2).avi

The Winning moment(Ind vs Aus) Sachin Tendulkar SIXES- Feb 2013 (2).avi

D:\output\dffg.txt dffg.txt 6

25

Page 26: Document

6. SECURITY CONSIDERATION

File Encryption and Decryption using PBE

Password-Based Encryption (PBE) derives an encryption key from a password. In

order to make the task of getting from password to key very time-consuming for an attacker,

most PBE implementations (as the one shown below) will mix in a random number, known

as a salt, to create the key.

PBE algorithm supported in j2se1.4 (Other algorithms are supported in later versions of the

SunJCE and other providers)

PBEwithMD5andDES

The use of passwords in security protocols is particularly delicate because of the

possibility of off-line guessing attacks. We study password-based protocols in the

context of a recent line of research that aims to justify symbolic models in terms of

more concrete, computational ones. We offer two models for reasoning about the

concurrent use of symmetric, asymmetric, and password-based encryption in protocol

messages. In each of the models we define a notion of equivalence between messages

and also characterize when passwords are used securely in a message or in a set of

messages. Our new definition for the computational security of password-based

encryption may be of independent interest.

The main results of this paper are two soundness theorems. We show that under

certain (standard) assumptions about the computational implementation of the

cryptographic primitives, symbolic equivalence implies computational equivalence.

More importantly, we prove that symbolically secure uses of passwords are also

computationally secure.

26

Page 27: Document

7.1.USE CASE DIAGRAM

DEFINITION

A Use case diagram is a graph of actors, a set of use cases

enclosed by a system boundary, communication (participation) association

between the actor and the use cases, and generalization among the use cases.

Use cases are scenarios for understanding system requirements. A use- case

model can be instrumental in project development, planning, and documentation

of system requirements.

A use case is an interaction between user and a system. It captures

the goal of the users and the responsibility of the system to its users. The use-

case model describes the uses of the system and shows the courses of events

that can be performed.

SYMBOLS USED:

: DATA FLOW

: ATTRIBUTE

: ACTOR

27

Page 28: Document

Level-1

User Id

Password

ERROR IN INPUT

Fig 7.1 LOGIN PROCESS

28

LOGIN PROCESS

Validate User

SCREEN

Page 29: Document

Level -2

Fig 7.2 EMBED PROCESS

29

MAIN SCREENADMIN Add Picture

Add Text File

Add Password

PBE Encryption

Output Picture

Page 30: Document

Level -3

Fig 7.3 EXTRACT PROCESS

30

MAIN SCREENADMIN Add Picture

Password Verification

Extract

Output Picture/Text

Output Picture

Page 31: Document

7.2 SYSTEM FLOW DIAGRAM:

A System Flow Diagram-SFD shows the relationships between the major

components in the system. SFD does not show minor components, piping

systems and designations. It shows the triggering event(s), sequential flow of

process steps, decision points, and deliverable or outcome of a single process. It

is a graphical illustration of the flow of processes and interactions among the

actors involved in a particular example

Figure 7.2.1 System Flow Diagram.

31

Page 32: Document

8. SYSTEM IMPLEMENTATION

8.1 Module design

Data hiding and extracting from an Picture file is done in two main

modules.

1) Embed module.

2) Extract module.

PICTURE ENCRYPTION

1. Embed module (To embed the text file into the Picture file)

In this module, the first step is selecting an input Picture file. The

selection is made through opening a new dialog box and the path selected is

displayed through a textbox. The second step is selecting an output Picture file

in which text data or a text file is embedded. The third step is choosing a text

file or typing any text message for embedding.

Fourth step is selecting a key file. In the fifth step whatever the files that

we have selected are viewed and verification of the path is done. In the sixth

process data is embedded in to the Picture file using low bit encoding technique.

After embedding the content both the Picture files are played and a listener

cannot find any difference between the Pictures.

32

Page 33: Document

2. Extract module (To extract the text file from the Picture file)

In this module, the first step is the process of selecting the encrypted

Picture file. This is the file that a user has to extract information from the output

Picture. Second process involved in selecting a new text file to display the

embedded message. Symmetric encryption method is used here, so the key

selected during the embedding process is used in decrypting the message. All

the process done till now are displayed using a list box and finally the

embedded message can be viewed with the help of a file or in a textbox.

VIDEO ENCRYPTION

1. Embed module (To embed the text file into the Video file)

In this module, the first step is selecting an input Video file. The

selection is made through opening a new dialog box and the path selected is

displayed through a textbox. The second step is understanding and analyzing the

video quality and stream. Because the file stream is to be important while

restructure the video. This module will automatically maintain a a medium

stream for running low quality as well as high quality video to provide a

consistency to Users.

2. Extract module (To extract the text file from the Picture file)

In this module, the first step is the process of selecting the encrypted

Video file. This is the file that a user has to extract information from the output

Video. Second process involved in selecting a new text file to display the

embedded message. Symmetric encryption method is used here, so the key

33

Page 34: Document

selected during the embedding process is used in decrypting the message. All

the process done till now are displayed using a list box and finally the

embedded message can be viewed with the help of a file or in a textbox.

Input design

The Input design is the link that is the information system into the world

of its users. The design is the process of converting an external user oriented

description of the input to the system into a machine oriented form. Five

objectives guiding the design of inputs focus on controlling the amount of input

required, avoiding delays, controlling errors, avoiding extra steps and keeping

the steps simple.

Input screens from the primary interface between user and the software.

The input screens are designed are in such a way that it has a simple and user-

friendly layout. Necessary options are provided to reduce typing, which

automatically controls errors creeping in.

Input validations are performed to enforce all the necessary system

constraints; error messages are displayed, whenever the data entered is invalid.

The message also displays the corrective to be taken by the user.

The process of developing the program software is referred to as physical

design. Designing the process by identifying the reports and the other outputs

the system will produce. Coding the program for each module with its logic is

performed in this step. Proper software specification is also done in this step.

The input design is the process of converting the external user oriented

description of the input to system into a machine-oriented format.

34

Page 35: Document

Input was designed with following objectives:-

To produce a cost effective method.

To get the highest level of accuracy.

With the above objectives in mind, the major activities that were done

during the input design phase are follows.

The data was collected from its source.

Transfer of data to an input form it sources.

Data was converted to a computer acceptable form.

The converted data was verified.

Data was checked for its accuracy.

Data was transmitted to the computer.

Validation of input data was done.

Data collection was to eliminate the error.

The input forms are

1. Login form

2. Embed form

3. Extract form

35

Page 36: Document

INPUT DESIGN

1. Login form

The Sign in form is used to login into the application. The user will

enter the valid user id and the password. If the user id and the password match,

then it takes the user to the organization.

This form contains the fields

User id

Password.

The user clicks the sign in button to login. The user id and password does

not match, and then the login form displays the message as invalid user. The

advantage of this form is, the user can find the password, if they forget. This is

done by the forget password option. Also the new user can create their own

login.

Extract Wizards

Wizard 1 :

First step is selecting an input Picture file. The selection is made through

opening a new dialog box and the path selected is displayed through a

textbox.

Wizard 2 :

The second step is selecting an output Picture file in which text data or

a

text file is embedded.

Wizard 3 :

The third step is choosing a text file or typing any text message for

embedding.

Wizard 4 :

Fourth step is Select a key file.

36

Page 37: Document

Wizard 5 :

In the fifth step whatever the files that we have selected are viewed

and verification of the path is done.

Wizard 6 :

In the sixth process data is embedded in to the Picture file using low bit

encoding technique.

After embedding the content both the Picture files are played and a

listener cannot find any difference between the Pictures.

Extract Wizard

The Hidden message is extracted from the Picture file and can be viewed

through the following process.

Wizard 1 :

Selection of the Encrypted Picture file. This is the name of the file

given in step 2 of the Embedding module.

Wizard 2 :

Selection of a new text file. This is the name of the file given by the

receiver to save the embedded message.

Wizard 3 :

Selection of the Key file. This is the same file as selected in step 4

of the Embedding module.

Wizard 4:

In the fourth step whatever the files that we have selected are viewed

and verification of the path is done.

Wizard 5 :

Extracting the data from the encrypted Picture file.

Wizard 5 :

Viewing the extracted message

37

Page 38: Document

SYSTEM ARCHITECTURE

A system architecture or systems architecture is the conceptual

design that defines the structure and/or behavior of a system. An architecture

description is a formal description of a system, organized in a way that supports

reasoning about the structural properties of the system. It defines the system

components or building blocks and provides a plan from which products can be

procured, and systems developed, that will work together to implement the

overall system.

Program Design Language (Pseudo Code)

Pseudo code is a compact and informal high-level description of a

computer programming algorithm that uses the structural conventions of some

programming language, but is intended for human reading rather than machine

reading. Pseudo-code typically omits details that are not essential for human

understanding of the algorithm, such as variable declarations, system-specific

code and subroutines.

The programming language is augmented with natural language

descriptions of the details, where convenient, or with compact mathematical

notation. The purpose of using pseudo code is that it is easier for humans to

understand than conventional programming language code, and that it is a

compact and environment-independent description of the key principles of an

algorithm. It is commonly used in textbooks and scientific publications that are

documenting various algorithms, and also in planning of computer program

development, for sketching out the structure of the program before the actual

coding takes place.

38

Page 39: Document

Embedding form:

Calculate the length of the message in bytes

Prep end the length to the message

Put the message on a byte queue

While (there are still bytes to be written)

{

Header = read 4 bytes from the file

If (Header is_valid && contains padding byte)

{

Seek to the end of frame

Pop the byte from the queue

Write the popped byte into file

}

}

Length = integer > 4

Counter = 0

While (counter < length)

{

Header = read 4 bytes from the file

If (Header is_valid && contains padding byte)

{ If (counter == 4)

{

Length = to_integer (pop 4 bytes from queue)

}

Seek to the end of frame

Read a byte from the file

Push the read byte onto queue

}

39

Page 40: Document

}

8.2 Sample Coding

//Embedding method:

Public void EmbedData ()

{

Stream source Stream = null;

File Stream destination Stream = null;

Wave Stream Picture Stream = null;

//create a stream that contains the message, proceeded by its length

Stream message Stream = GetMessageStream ();

//open the key file

Stream key Stream =new File Stream (obj1.PropKeyFileName,

FileMode.Open);

textBox6.Text ="Key File Data gathered...";

Try

{

//how many samples do we need?

Long countSamplesRequired =

WaveUtility.CheckKeyForMessage (key Stream,

messageStream.Length);

textBox6.Text +="\r\n" + countSamplesRequired.ToString () +”

Samples Required...”

Console.WriteLine (countSamplesRequired.ToString ());

If (countSamplesRequired > Int32.MaxValue)

{

Throw new Exception ("Message too long or bad key! This

message/key combination requires"+countSamplesRequired+"

Samples, only "+Int32.MaxValue+" samples are allowed.");

40

Page 41: Document

}

//use a .wav file as the carrier

Source Stream = new File Stream (obj1.PropPictureFileName,

FileMode.Open);

//this. Cursor = Cursors.WaitCursor;

//create an empty file for the carrier wave

Destination Stream = new File Stream

(obj1.PropOutputPictureFile,

FileMode.Create);

textBox6.Text +="\r\n" + "Output Picture File Created...";

//copy the carrier file's header

PictureStream= new WaveStream(sourceStream,

destinationStream);

If (PictureStream.Length <= 0)

{

Throw new Exception ("Invalid WAV file");

}

/are there enough samples in the carrier wave?

If (countSamplesRequired > PictureStream.CountSamples)

{

String errorReport = "The carrier file is too small for this message

And key”+PictureStream.CountSamples+ "\r\n

+"Samples needed:"+countSamplesRequired;

Throw new Exception (error Report);

}

41

Page 42: Document

//hide the message

Wave Utility utility=new Wave Utility (Picture Stream,

Destination Stream);

textBox6.Text +="\r\n" + "Start Hiding...";

MessageBox.Show ("Starting...");

Utility. Hide (message Stream, key Stream);

textBox6.Text +="\r\n" + "Finished Hiding...";

}

Catch (Exception ex)

{

MessageBox.Show (ex. Message);

}

Finally

{

If (key Stream! = null) {keyStream.Close () ;}

If (messageStream! = null) {messageStream.Close () ;}

If (PictureStream! = null) {PictureStream.Close () ;}

If (sourceStream! = null) {sourceStream.Close () ;}

If (destinationStream! = null) {destinationStream.Close () ;}

This.Cursor = Cursors. Default ;}

//Extract method:

Public void Extractdata ()

{

this.Cursor = Cursors.WaitCursor;

FileStream sourceStream = null;

WaveStream PictureStream = null;

//create an empty stream to receive the extracted message

42

Page 43: Document

MemoryStream messageStream = new MemoryStream();

//open the key file

Stream keyStream = new FileStream(txtKeyFile.Text,

FileMode.Open);

textBox6.Text ="Key File Opened...\r\n";

Try

{

//open the carrier file

sourceStream = new FileStream(txtInputPictureFile.Text,

FileMode.Open);

textBox6.Text +="Picture File Opened...\r\n";

PictureStream = new WaveStream(sourceStream);

WaveUtility utility = new WaveUtility(PictureStream);

//exctract the message from the carrier wave

textBox6.Text +="Start Extracting ...\r\n";

utility.Extract(messageStream, keyStream);

textBox6.Text +="Finished Extracting ...\r\n";

messageStream.Seek(0, SeekOrigin.Begin);

//save result to a file

FileStream fs = new FileStream(txtOutputTextFile.Text,

FileMode.Create);

byte[] buffer = new byte[messageStream.Length];

messageStream.Read(buffer, 0, buffer.Length);

messageStream.Seek (0, System.IO.SeekOrigin.Begin );

txtExtractedMessage.Text= new

StreamReader(messageStream).ReadToEnd();

fs.Write(buffer, 0, buffer.Length);

fs.Close();

43

Page 44: Document

}

Else

{

// display result

txtExtractedMessage.Text = new

StreamReader(messageStream).ReadToEnd();

}

}

Catch (Exception ex)

{

this.Cursor = Cursors.Default;

MessageBox.Show(ex.Message);

}

Finally

{ If (keyStream != null){ keyStream.Close(); }

If (messageStream != null){ messageStream.Close(); }

If (PictureStream != null){ PictureStream.Close(); }

If (sourceStream != null){ sourceStream.Close(); }

this.Cursor = Cursors.Default; }

44

Page 45: Document

8.3 Screen Shots

.

45

Page 46: Document

.

46

Page 47: Document

47

Page 48: Document

.

.

.

48

Page 49: Document

49

Page 50: Document

50

Page 51: Document

51

Page 52: Document

52

Page 53: Document

53

Page 54: Document

54

Page 55: Document

Sample Coding:

Public Class Form1 Dim PicBuffer As System.IO.FileInfo Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click openPic.Title = "Open Picture Files" openPic.ShowDialog() End Sub

Private Sub openPic_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles openPic.FileOk PictureBox1.Image = Image.FromFile(openPic.FileName) PicBuffer = New System.IO.FileInfo(openPic.FileName) ResizeFileName(openPic.FileName, PicBuffer.Name) End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim Ready As Boolean = True Dim PicFileStream As System.IO.FileStream Try PicFileStream = PicBuffer.OpenRead Catch ex As Exception Ready = False MsgBox("Please load a picture before clicking this button", MsgBoxStyle.Critical, "Error") End Try If Ready = True Then Dim PicBytes As Long = PicFileStream.Length Dim PicExt As String = PicBuffer.Extension Dim PicByteArray(PicBytes) As Byte PicFileStream.Read(PicByteArray, 0, PicBytes) Dim SentinelString() As Byte = {73, 116, 83, 116, 97, 114, 116, 115, 72, 101, 114, 101} If RadioButton1.Checked = True Then Dim PlainText As String = TextBox1.Text Dim PlainTextByteArray(PlainText.Length) As Byte For i As Integer = 0 To (PlainText.Length - 1) PlainTextByteArray(i) = CByte(AscW(PlainText.Chars(i))) Application.DoEvents() Next Dim PicAndText(PicBytes + PlainText.Length + SentinelString.Length) As Byte For t As Long = 0 To (PicBytes - 1) PicAndText(t) = PicByteArray(t) Next Dim count As Integer = 0 For r As Long = PicBytes To (PicBytes + (SentinelString.Length) - 1) PicAndText(r) = SentinelString(count) count += 1 Next count = 0 For q As Long = (PicBytes + SentinelString.Length) To (PicBytes + SentinelString.Length + PlainText.Length - 1)

55

Page 56: Document

PicAndText(q) = PlainTextByteArray(count) count += 1 Next buildPic.ShowDialog() Dim NewFileName As String = buildPic.FileName My.Computer.FileSystem.WriteAllBytes(NewFileName, PicAndText, False)

ElseIf RadioButton2.Checked Then TextBox3.Clear() Dim OutterSearch, InnerSearch, StopSearch As Boolean OutterSearch = True InnerSearch = True StopSearch = False Dim count As Long = 0 Dim leftCounter As Long Dim rightCounter As Integer leftCounter = 0 rightCounter = 0 Do While (count < (PicBytes - SentinelString.Length) And StopSearch = False) If (PicByteArray(count) = SentinelString(0)) Then leftCounter = count + 1 rightCounter = 1 InnerSearch = True Do While (InnerSearch = True) And (rightCounter < SentinelString.Length) _ And (leftCounter < PicByteArray.Length) If (PicByteArray(leftCounter) = SentinelString(rightCounter)) Then rightCounter += 1 leftCounter += 1 If (rightCounter = (SentinelString.Length - 1)) Then StopSearch = True End If Else InnerSearch = False count += 1 End If Loop Else count += 1 End If Loop If StopSearch = True Then 'leftCounter contains the starting string that is being retrieved Do While (leftCounter < PicBytes) 'Bytes need to be converted to an integer 'then to an unicode character which will be the plaintext TextBox3.AppendText(ChrW(CInt(PicByteArray(leftCounter)))) leftCounter += 1 Loop Else TextBox3.Text = "The Picture does not contain any text" End If

End If

56

Page 57: Document

End If

End Sub

Sub ResizeFileName(ByVal LongFileName As String, ByVal ShortFileName As String) If LongFileName.Length > 71 Then Dim LongFileNameSize As Integer = LongFileName.Length Dim ShortFileNameSize As Integer = ShortFileName.Length Dim Cut As Integer = 71 - (5 + ShortFileNameSize) Dim i As Integer TextBox2.Clear() For i = 0 To (Cut) - 1 TextBox2.AppendText(LongFileName.Chars(i)) Next For i = 0 To 4 TextBox2.AppendText(".") Next For i = 0 To (ShortFileNameSize - 1) TextBox2.AppendText(ShortFileName(i)) Next Else TextBox2.Text = LongFileName End If

End Sub

Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged TextBox1.Enabled = False End Sub

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged TextBox1.Enabled = True End Sub

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

End Sub

Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter

End SubEnd Class

Imports System.Data.OleDbPublic Class Form10 Public Fnam, temp As String Public ch As Char Public Sql As SQLDB Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.Cancel Then TextBox2.Text = OpenFileDialog1.FileName

57

Page 58: Document

AxWindowsMediaPlayer1.URL = OpenFileDialog1.FileName Fnam = OpenFileDialog1.FileName

End If For i = 0 To Fnam.Length - 1 ch = Fnam(i) temp = temp & ch If ch = "\" Then temp = "" End If

Next

End Sub

Private Sub Form10_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Sql = New SQLDB Sql.LoadSql()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Sql.SqlCommand = New OleDbCommand("select * from VideoData", Sql.SqlConnection) Sql.SqlDataReader = Sql.SqlCommand.ExecuteReader While Sql.SqlDataReader.Read

MsgBox(Sql.SqlDataReader.GetValue(1))

If temp = Sql.SqlDataReader.GetValue(1) And TextBox1.Text = Sql.SqlDataReader.GetValue(4) Then

MsgBox("Decrypted")

RichTextBox1.LoadFile(Sql.SqlDataReader.GetValue(2), RichTextBoxStreamType.PlainText)

End If End While End SubEnd Class

Public Class Form11

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.Cancel Then TextBox1.Text = OpenFileDialog1.FileName RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Val As String = Nothing

58

Page 59: Document

Dim Result As New System.Text.StringBuilder For Each Character As Byte In System.Text.ASCIIEncoding.ASCII.GetBytes(RichTextBox1.Text) Result.Append(Convert.ToString(Character, 2).PadLeft(8, "0")) Result.Append(" ") Next Val = Result.ToString.Substring(0, Result.ToString.Length - 1) RichTextBox2.Text = Val

RichTextBox2.SaveFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End SubEnd Class

Imports System.TextImports System.Text.RegularExpressions

Public Class Form12

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.Cancel Then TextBox1.Text = OpenFileDialog1.FileName RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim BinaryText As String = RichTextBox1.Text Dim Characters As String = Regex.Replace(BinaryText, "[^01]", "") Dim ByteArray((Characters.Length / 8) - 1) As Byte For Index As Integer = 0 To ByteArray.Length - 1 ByteArray(Index) = Convert.ToByte(Characters.Substring(Index * 8, 8), 2) Next RichTextBox2.Text = (ASCIIEncoding.ASCII.GetString(ByteArray)) RichTextBox2.SaveFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText) End SubEnd Class

Public Class Form2 Public Sql As SQLDB

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

End Sub

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

59

Page 60: Document

Sql = New SQLDB

End SubEnd Class

Public Class Form4

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Form1.Show() Form1.RadioButton2.Visible = False Form1.RadioButton1.Visible = True

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form1.Show() Form1.RadioButton2.Visible = True Form1.RadioButton1.Visible = False End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click End

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Form7.Show()

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Form10.Show()

End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Form11.Show() Me.Hide()

End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click Form12.Show() Me.Hide()

End SubEnd Class

Imports System.Data.OleDbPublic Class Form5 Public Sql As SQLDB

60

Page 61: Document

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Hide() Form4.Show()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Sql.SqlCommand = New OleDbCommand("select * from UserDB", Sql.SqlConnection) Sql.SqlDataReader = Sql.SqlCommand.ExecuteReader While Sql.SqlDataReader.Read If Sql.SqlDataReader.GetValue(0) = TextBox1.Text Then TextBox2.Text = Sql.SqlDataReader.GetValue(1) TextBox3.Text = Sql.SqlDataReader.GetValue(2) TextBox4.Text = Sql.SqlDataReader.GetValue(3) TextBox5.Text = Sql.SqlDataReader.GetValue(4) End If End While End Sub

Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Sql.SqlCommand = New OleDbCommand("delete * from UserDB", Sql.SqlConnection) Sql.SqlCommand.ExecuteNonQuery()

End SubEnd Class

Imports System.Data.OleDbPublic Class Form6 Public SQl As SQLDB

Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click Form3.Show() Me.Hide()

End Sub Dim i As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click SQl.SqlCommand = New OleDbCommand("select * from UserDB", SQl.SqlConnection) SQl.SqlDataReader = SQl.SqlCommand.ExecuteReader While SQl.SqlDataReader.Read If TextBox1.Text = SQl.SqlDataReader.GetValue(0) And TextBox2.Text = SQl.SqlDataReader.GetValue(1) Then Me.Hide() Form4.Show() i = 2 Exit While Else

61

Page 62: Document

i = 1 End If

End While If i = 1 Then MsgBox("Invalid User") End End If

End Sub

Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load SQl = New SQLDB SQl.LoadSql()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End

End SubEnd Class

Public Class Form7 Public Fnam, temp As String Public ch As Char Dim i As Integer Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.Cancel Then TextBox1.Text = OpenFileDialog1.FileName AxWindowsMediaPlayer1.URL = OpenFileDialog1.FileName Fnam = OpenFileDialog1.FileName

End If For i = 0 To Fnam.Length - 1 ch = Fnam(i) temp = temp & ch If ch = "\" Then temp = "" End If Next

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Form8.vtext = temp Form8.vsource = OpenFileDialog1.FileName

Form8.Show()

End Sub

Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

62

Page 63: Document

End SubEnd Class

Public Class Form8 Public vsource, tsource, ttext, vtext As String Public Fnam, temp As String Public ch As Char Dim i As Integer Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Form9.vsource = vsource Form9.vtext = vtext Form9.ttext = ttext Form9.tsource = tsource

Form9.Show()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.Cancel Then TextBox1.Text = OpenFileDialog1.FileName RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)

Fnam = OpenFileDialog1.FileName

End If For i = 0 To Fnam.Length - 1 ch = Fnam(i) temp = temp & ch If ch = "\" Then temp = "" End If Next ttext = temp tsource = Fnam End Sub

Private Sub Form8_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End SubEnd Class

Imports System.Data.OleDbPublic Class Form9 Public vsource, tsource, ttext, vtext As String Public Sql As SQLDB

Private Sub Form9_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load RichTextBox1.LoadFile(tsource, RichTextBoxStreamType.PlainText) AxWindowsMediaPlayer1.URL = vsource Sql = New SQLDB Sql.LoadSql()

63

Page 64: Document

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Sql.SqlCommand = New OleDbCommand("insert into VideoData values('" & vsource & "','" & vtext & "','" & tsource & "','" & ttext & "','" & TextBox1.Text & "')", Sql.SqlConnection) Sql.SqlCommand.ExecuteNonQuery() MsgBox("Encrypted") Me.Hide() Form4.Show()

End SubEnd Class

64

Page 65: Document

IMPLEMENTATION

IMPLEMENTATION PHASE

Implementation refers to post-sales process of guiding a client from purchase

to use of the software or hardware that was purchased. This includes Requirements

Analysis, Scope Analysis, Customizations, Systems Integrations, User Policies, User

Training and Delivery. These steps are often overseen by a Project Manager using

Project Management Methodologies set forth in the Project Management Body of

Knowledge. Software Implementations involve several professionals that are

relatively new to the knowledge based economy such as Business Analysts, Technical

Analysts, Solutions Architect, and Project Managers.

The implementation is the final and important phase. It involves User training,

system testing and successful running of the developed system. The users test the

developed system when changes are made according to the needs. The testing phase

involves the testing of the developed system using various kinds of data. An elaborate

testing of data is prepared and system is tested using the tests data.

Implementation is the stage where theoretical design turned into a working

system. Implementation is planed carefully to propose system to avoid unanticipated

problems. Many preparations involved before and during the implementation of

proposed system. The system needed to be plugged in to the organization’s network

then it could be accessed from anywhere, after a user logins into the portal. The tasks

that had to be done to implement the system were to create the database tables in the

organization database domain. Then the administrator was granted his role so that the

system could be accessed.

The next phase in the implementation was to educate the system. A

demonstration of all the functions that can be carried out by the system was given to

examination department person, who will make extensive use of the system.

65

Page 66: Document

Technical analysis

In finance, technical analysis is security analysis discipline for forecasting the

direction of prices through the study of past market data, primarily price and volume.[1] Behavioral economics and quantitative analysis build on and incorporate many of

the same tools of technical analysis [2] [3][4] [5], which, being an aspect of active

management, stands in contradiction to much of modern portfolio theory. The efficacy

of both technical and fundamental analysis is disputed by efficient-market hypothesis

which states that stock market prices are essentially unpredictable.

Social Analysis

The role title has a wider meaning in relation to solving problems, but is more often

used in the narrower domain of Technical architecture - the context for the remainder

of this definition. In this context, the Solutions Architect is a very experienced

architect with cross-domain, cross-functional and cross-industry expertise. He/she

outlines solution architecture descriptions, then monitors and governs their

implementation.

66

Page 67: Document

9.SYSTEM TESTING

9.1 SYSTEM TESTING

Testing is the process of executing the program with the intent of

finding errors. During testing, the program to be tested is executed with a set of

test cases and the output of the program for the test cases is evaluated to

determine the program is performing as it is expected. Error is the testing

fundamental and is defined as the difference between the actual output of a

software and a correct output i.e., difference between the actual and ideal testing

is usually relied upon to detect these faults in the coding phase for this, different

levels of testing are used which performs different tasks and aim to the test

different aspects of the system.

GOALS OF TESTING:

The famous statement by Dijkstra (in Dahl et al. 1972) is a perfect

synthesis of the goals of the testing. If the results delivered by the system are

different from the expected ones in just one case, in this unequally shows that

the system is incorrect: by contrast, a correct behavior of the system on a finite

number of cases does not guarantee correctness in the general case. For

instance, we could have built a program that behaves properly for even integer

numbers but not odd numbers. Clearly, any number of tests with even input

values will face to show the error.

Testing should be based on sound and systematic techniques so that, after

testing, we may have a better understanding of the product’s reliability.

67

Page 68: Document

Testing should help locate errors, not just detect their presence. The result

of testing should not be viewed as simply providing a Boolean answer to the

question of whether the software works properly or not.

Tests should be organized in a way that helps to isolate errors. This

information can then be used in debugging.

Testing should be repeatable, i.e., tests should be arranged in such a way

that separating the same experiment-supplying the same input data to the same

piece of code – produces the same results.

Finally testing should be accurate – this will increase the reliability of

testing. Here we should observe that the accuracy of the testing activity depends

on the level of precision and may be even formality of software specifications.

68

Page 69: Document

9.2 TESTING METHODOLOGIES:

9.2.1 Unit Testing

In it different modules are tested against the specifications produced

during design for the modules. It is essential for verification of the code

produced during the code phase and the goal is to test the internal logic of the

module.

9.2.2 Integration Testing

The goal here is to see if the modules can be integrated properly, the

emphasis being on testing interfaces between modules. After structural testing

and functional testing we get error free modules these modules are to be

integrated to get the required results of the system. After checking the module

another module is tested and is integrated with the previous module.

After the integration the test phases are generated and the results are tested.

9.2.3 System Testing

Here the entire software is tested. The reference document for this

process is the requirement document and the goal is to see whether the software

needs its requirements.

The system was tested for various test cases with various inputs.

9.2.4 Validation Testing

In this testing the software is tested to determine whether it suits to that

particular environment. Validation testing provides the final assurance that the

69

Page 70: Document

software meets all functional, behavioral and performance requirements.

Validation refers to the process of using the software in a live environment to

find errors. During the course of validation the system failure may occur and

software will be changed.

Tested all the fields whether accepting the valid input or not.

9.2.5 Acceptance Testing

It is sometimes performed with realistic data of the client to

demonstrate that the software is working satisfactorily. Testing here focus on

the external behavior of the system, the internal logic of the program is not

emphasized.

In acceptance test the system is tested for various inputs. Thus different types

of testing are performed.

9.2.6 Black Box Testing

Here the structure of the program is not considered. Only the test

cases are decided solely on the basis of the requirements or specification of the

program or module and the internal details of the module or the program is not

considered for the selection of test cases. This is also called “Black Box

Testing” or “Functional Testing”.

.

Incorrect or missing functions.

Performance errors.

Database access errors

Initialization and termination

70

Page 71: Document

9.2.7 White Box Testing

It is considered with testing the implementation of the program. The

intention of the structural testing is not to exercise all the different input and

output conditions but to exercise the different programming and data files used

in the program. This testing is also called “White Box Testing” or Structural

Testing.

71

Page 72: Document

10.1 CONCLUSION

Data hiding system transmits secrets through apparently innocuous

covers in an effort to conceal the existence of a secret. Picture file data hiding

and its derivatives are growing in use and application. In areas where

cryptography and strong encryption are being outlawed, citizens are looking at

data hiding system to circumvent such policies and pass messages covertly.

Although the algorithm presented is a simple one and not without its

drawbacks, it represents a significant improvement over simplistic

steganographic algorithms that do not use keys. By using this algorithm, two

parties can be communicated with a fairly high level of confidence about the

communication not being detected.

In designing the “Data hiding system” utmost care was taken to meet

user requirements as much as possible. The analysis and design phase was

reviewed. Care was taken strictly to follow the software engineering concepts.

And principles so as to maintain good quality in the developed system as per the

user requirements.

Merits of the System

1. The project must be platform independent and portable.

2. The implementation should not be tied to a single mp3 decoder.

3. As per 1 and 2, Post Encoding Stegonography should be used.

4. The software should use Padding Byte Stuffing as the primary

stegonographic method.

72

Page 73: Document

5. A graphical mp3 player interface with a text box for displaying lyrics

should be part of implementation.

6. The lyrics should be synchronized with the song

7. There should be clear separation between the stegonographic layer and

display layer.

10.2 FUTURE ENHANCEMENTS

Because of the problems with finding Padding Bytes it would be very

interesting to implement the stegonographic module with another method. The

Unused Header Bit approach seems to be the most appropriate one. It could be

easily modified to work within the existing framework of the stegonographic

module.

It would also be worth it to slightly redesign the class structure to achieve

better encapsulation. StegIO class should be made abstract, and the actual

reading and writing tasks should be moved into its subclasses. This is purely a

cosmetic change, but it would greatly improve the readability and

maintainability of the code base.

The manual synchronization method also should be improved or replaced

with an automated one. It would be a very interesting project to see if it would

be possible to generate time offset information by analyzing an mp3 file, when

given a lyrics file.

Support for other Picture formats such as (wav, mp3) can easily be added

this needs additional sound encoding/decoding method to be implemented.

73

Page 74: Document

11. BIBLIOGRAPHY

1. ELIAS. M. AWAD “SYSTEM ANALYSIS AND DESIGN”

- Galgotia Publications, II Edition, 2003.

2. MARTIN “PRINCIPLE OF DATABASE MANAGEMENT”

- Tata Mcgraw hill Publications, III Edition, 2000.

3. BRIAN SILER AND JEFF SPOTTS “USING VISUAL BASIC.NET 2008

- Prentice Hall India Publications, 2002.

4. JOHN PAUL MELLER “THE COMPLETE REFERENCE

VISUAL BASIC.NET 2008 ”

- Tata Mcgraw hill Publications, III Edition, 2001.

5. TAXALI “MS OFFICE”

- Tata Mcgraw hill Publications, II Edition, 2004.

74