Professional Documents
Culture Documents
A PROJECT REPORT
Submitted by
ARCHANA SP XXXXXXXX
Of
BACHELOR OF ENGINEERING
IN
PICHANUR, COIMBATORE.
APRIL-2015
ANNA UNIVERSITY: CHENNAI 600 025
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Mrs. XXXXXXXXXXX, M.E Mr. XXXXXXXXXXX
1. SYNOPSIS
2. INTRODUCTION
3. PROBLEM DEFINITION
3.1 EXISTING SYSTEM
4. SYSTEM REQUIREMENT
4.1 SOFTWARE REQUIREMENT
5. PROGRAM ENVIRONMENT
6. PROJECT DESCRIPTION
7. SOURCE CODE
8. SYSTEM DESIGN
9. SYSTEM TESTING
10.SYSTEM IMPLEMENTATION
11.SYSTEM MAINTENANCE
12.CONCLUSION
The art and science of writing hidden messages in such a way that no one
apart from the intended recipient even knows that a message has been sent.
The larger the image size, the more information you can hide. However,
larger images may require compression to avoid detection. The project
“Steganography “includes the following module.
Encryption
File format
Decrypt
Components of Feasibility
This involves questions such as whether the technology needed for the
system exists, how difficult it will be to build, and whether the firm has
enough experience using that technology. The assessment is based on an
outline design of system requirements in terms of Input, Processes, Output,
Fields, Programs, and Procedures. This can be quantified in terms of
volumes of data, trends, frequency of updating, etc in order to estimate if the
new system will perform adequately or not. Three considerations are
involved in the feasibility analysis. They are Technical Feasibility,
Operational Feasibility and Economical Feasibility.
Technical feasibility:
The technical issues usually raised during the feasibility stage of the
investigation include these:
a. Does the necessary technology exist to do what is suggested!
b. Does the proposed equipment have the technical capacity to hold the
data required to use the new system!
c. Will the proposed system provide adequate responses to inquiries,
regardless of the number or location of users!
d. Can be system be expanded if developed!
e. Are the technical guarantees of accuracy, reliability, ease of access,
and data security!
Yes, by using the current technology this software can be developed and
also the Visual basic.NET framework is made to be installed.
Economic Feasibility:
1 How long the system will work when it is developed and installed.
2 How will the solution affect the end-users work environment?
3. PROBLEM DEFINITION
Draw Backs:
Hiding messages in images
The bit stream truncation makes it difficult to hide information
Less security
Less Information Security
then inserted and hidden, using a special algorithm which may add
and/or modify the contents of the file
This technique may simply append the data to the file, or disperse it
throughout
Carefully crafted programs apply the encrypted data such that patterns
appear normal.
4.1HARDWARE CONFIGURATION
WINDOWS XP
1 A Pentium II Processor
3 64 MB of RAM.
1 Easier to use
2 Easier to manage
4 More Reliable
5 More Secure
MICROSOFT.NET FRAMEWORK
Generate managed code that conforms to the CTS. This means that
managed code can consume other managed types and instances, while
strictly enforcing type fidelity and type safety.
Console applications.
Scripted or hosted applications.
Windows GUI applications (Windows Forms).
ASP.NET applications.
XML Web services.
Windows services.
C#.NET
C# is very much a programming language – a pure object oriented
language from Microsoft, especially designed from the scratch for the
upcoming .NET revolution. C# is one of the most important components of
the .NET revolution in addition to the new Visual Basic.NET and C++.NET.
It has been designed to provide all the good features of the popular
programming language as it adopts its simplicity and productivity from
Visual Basic, power of C++ and elegance of Java. By definition, C# is a
simple, modern, object oriented, and type-safe programming language
derived from C and C++.
The following sections will introduce you to some objects that have evolved,
and some that are new. These objects are:
ASP.Net
Enhanced Performance
Visual Basic .NET comes with features such as a powerful new forms
designer, an in-place menu editor, and automatic control anchoring and
docking. Visual Basic .NET delivers new productivity features for building
more robust applications easily and quickly. With an improved integrated
development environment (IDE) and a significantly reduced startup time,
Visual Basic .NET offers fast, automatic formatting of code as you type,
improved IntelliSense, an enhanced object browser and XML designer, and
much more.
With Visual Basic .NET we can create Web applications using the
shared Web Forms Designer and the familiar "drag and drop" feature. You
can double-click and write code to respond to events. Visual Basic .NET
2003 comes with an enhanced HTML Editor for working with complex Web
pages. We can also use IntelliSense technology and tag completion, or
choose the WYSIWYG editor for visual authoring of interactive Web
applications.
Simplified Deployment
With Visual Basic .NET we can build applications more rapidly and
deploy and maintain them with efficiency. Visual Basic .NET 2003
and .NET Framework 1.1 makes "DLL Hell" a thing of the past. Side-by-
side versioning enables multiple versions of the same component to live
safely on the same machine so that applications can use a specific version of
a component. XCOPY-deployment and Web auto-download of Windows-
based applications combine the simplicity of Web page deployment and
maintenance with the power of rich, responsive Windows-based
applications.
You can tackle any data access scenario easily with ADO.NET and
ADO data access. The flexibility of ADO.NET enables data binding to any
database, as well as classes, collections, and arrays, and provides true XML
representation of data. Seamless access to ADO enables simple data access
for connected data binding scenarios. Using ADO.NET, Visual Basic .NET
can gain high-speed access to MS SQL Server, Oracle, DB2, Microsoft
Access, and more.
Improved Coding
You can code faster and more effectively. A multitude of
enhancements to the code editor, including enhanced IntelliSense, smart
listing of code for greater readability and a background compiler for real-
time notification of syntax errors transforms into a rapid application
development (RAD) coding machine.
Mobile Applications
Visual Basic .NET 2003 and the .NET Framework 1.1 offer integrated
support for developing mobile Web applications for more than 200 Internet-
enabled mobile devices. These new features give developers a single, mobile
Web interface and programming model to support a broad range of Web
devices, including WML 1.1 for WAP—enabled cellular phones, compact
HTML (cHTML) for i-Mode phones, and HTML for Pocket PC, handheld
devices, and pagers. Please note, Pocket PC programming is not available in
Visual Basic .NET Standard, it requires Visual Studio 2003 Professional, or
higher.
COM Interoperability
You can maintain your existing code without the need to recode.
COM interoperability enables you to leverage your existing code assets and
offers seamless bi-directional communication between Visual Basic 6.0 and
Visual Basic .NET applications.
Upgrade Wizard
Encryption
File format
Decrypt
Encryption
The process of converting from plaintext to cipher text is known as
encryption or enciphering. The encryption algorithm takes secret key and
plaintext, and produces the cipher text. The cryptographic algorithm
specified in this standard transforms a 64-bit binary value into a unique 64-
bit binary value based on a 56-bit variable. As there are over
70,000,000,000,000,000 (seventy quadrillion) possible keys of 56 bits, the
feasibility of deriving a particular key in this way is extremely unlikely in
typical threat environments. The algorithm is designed to encipher and
decipher blocks of data consisting of 64 bits under control of a 64-bit key.
Permutation is an operation performed by a function, which moves an
element at place j to the place k. The key-dependent computation can be
simply defined in terms of a function f, called the cipher function, and a
function KS, called the key schedule.
• At each iteration a different block K of key bits is chosen from the 64-
bit key designated by KEY.
• Let KS be a function which takes an integer n in the range from 1 to
16 and a 64-bit block KEY as input and yields as output a 48-bit block
Kn which is a permuted selection of bits from KEY. That is
Kn = KS (n, KEY)
• Let the permuted input block be LR.
• Finally, let L0 and R0 be respectively L and R and let Ln and Rn be
respectively L' and R' when L and R are respectively Ln-1 and Rn-1
and K is Rn; that is, when n is in the range from 1 to 16,
Ln = Rn-1
Rn = Ln-1 (+) f (Rn-1, Kn)
• The preoutput block is then R16 L16.
32 DES algorithms
32 DES algorithms is used.
Input is the 64 bit plain text subjected to initial permutation.
Divide it into left and right each as 32 bit.
Round operation is performed 16 times
Output is given to swap function.
Output of it is given to inverse of initial permutation.
File Format
Steganography Carrier Files
bmp
jpeg
gif
wav
mp3
Amongst others…
Cryptanalysis
Identify program used to hide message
Identify the location of the program signature in the file
Identify the location of the password in the file
Identify location of the hidden message in the file
Identify the algorithm used to encrypt the hidden message
Decryption
The permutation IP-1 applied to the pre output block is the inverse of the
initial permutation IP applied to the input.
R = L'
L = R' (+) f (L', K)
To decipher it is only necessary to apply the very same algorithm to an
enciphered message block.Using the notation of the previous section, this
can be expressed by the equations:
Rn-1 = Ln
Ln-1 = Rn (+) f (Ln, Kn)
where now R16 L16 is the permuted input block for the deciphering
calculation L0 and R0 is the preoutput block.The Cipher Function f : A
sketch of the calculation of f (R, K) is given by
E bit-selection table
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
S1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
For example, for input 011011 the row is 01, that is row 1, and the
column is determined by 1101, that is column 13. In row 1 column 13
appears 5 so that the output is 0101. The permutation function P yields a 32-
bit output from a 32-bit input by permuting the bits of the input block
P 16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
The output P(L) for the function P defined by this table is obtained from
the input L by taking the 16th bit of L as the first bit of P(L), the 7th bit as
the second bit of P(L), and so on until the 25th bit of L is taken as the 32nd
bit of P(L). Now let S1, ..., S8 be eight distinct selection functions, let P be
the permutation function and let E be the function defined above. To define f
(R, K) we first define B1, ..., B8 to be blocks of 6 bits each for which
B1 B2 ... B8 = K (+) E(R)
StegnoClass.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Security.Cryptography;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Reflection;
using System.Security.Permissions;
namespace Steganography
{
#region PartOne
}
#endregion
return retMessage;
}
}
#endregion
int byteRead;
byte byteWrite;
int i = 0;
int j = 0;
byte bit;
byteWrite = (byte)byteRead;
if (i < message.Length)
{
outStream.WriteByte(byteWrite);
}
if (i < message.Length)
throw new Exception("The cover is too small to contain the message to
hide");
}
}
#endregion
outStream.Write(header, 0, offset);
// Create the unicode encoding
UnicodeEncoding unicode = new UnicodeEncoding();
inStream.Close();
outStream.Close();
}
#endregion
byte[] buffer;
try
{
buffer = LSBHelper.Decode(inStream, len);
}
catch
{
throw new Exception("Wrong password or not a stego file!");
}
inStream.Close();
}
#endregion
#region PartTwo
if (decodedInfo.totalBits == totalBits)
{
break;
}
}
if (decodedInfo.totalBits == totalBits)
{
break;
}
if (i % step == 0)
{
progressBar.Value = Math.Min(progressBar.Value + 1,
progressBar.Maximum - 1);
}
}
if (decodedInfo.twinFileName != string.Empty)
{
FileStream fs = new FileStream(decodedInfo.twinFileName,
FileMode.Open);
byte[] twin = new byte[fs.Length];
fs.Read(twin, 0, twin.Length);
fs.Close();
Compression.Xor(res, twin, res);
}
progressBar.Value = progressBar.Maximum - 1;
return res;
} // Encode
} // Save
} // Load
} // Encoding
[Serializable]
class DecodedInfo
{
public byte[] decodedData = null;
public string[] codeMap = null;
public ulong totalBits = 0;
public string twinFileName = string.Empty;
public string originalFileName = string.Empty;
} // DecodedInfo
class EncodedInfo
{
public byte[] ecodedData = null;
public string originalFileName = string.Empty;
} // EncodedInfo
#region Serialization
} // ClassDeserializationBinder
#endregion // Serialization
class Accumulator
{
private ArrayList eMsg = new ArrayList();
int curBit = 0;
return res;
}
} // AccumulatedData
if (word[i] == '1')
{
this.eMsg[this.eMsg.Count - 1] = (Byte)((int)
(Byte)this.eMsg[this.eMsg.Count - 1] | this.curBit);
}
} // AddWord
} //class Accumulator
} // Xor
} // class Compression
#endregion
return res;
}
} // CodeMap
#endregion // Properties
#region Construction
#endregion // Construction
this.view.Remove(min1);
this.view.Remove(min2);
this.view.Add(new Vertex(min1.property + min2.property, min1, min2));
}
}
} // CalcCode
} // class Hamming
#endregion
#region Properties
} // InputData
} // Histogram
#endregion // Properties
#region Construction
} // Decoding
#endregion // Construction
double H = 0;
double log2 = Math.Log(2);
for (int i = 0; i < this.histogram.Length; i++)
{
if (this.histogram[i] == 0)
{
continue;
}
return H;
} // CalcEntropy
} // CalcEntropyByTwin
if (i % step == 0)
{
progressBar.Value = Math.Min(progressBar.Value + 1,
progressBar.Maximum - 1);
}
}
progressBar.Value = progressBar.Maximum - 1;
} // Decode
return Convert.ToBase64String(memoryStream.GetBuffer(), 0,
(int)memoryStream.Length);
}
}
return reader.ReadToEnd();
}
}
#endregion // Public Methods
#region Private Methods
// Calc histogram
for (int i = 0; i < this.inputData.Length; i++)
{
this.histogram[this.inputData[i]]++;
}
} // CalcHistogram
} // class Decoding
#endregion
#endregion
} // namespace Steganography
8. SYSTEM DESIGN
Login
]
\
Main Page
Image Compression
Save .ham file
Decompression
Save Stegno Image
View Hidden Information
9. SYSTEM TESTING
Objective of Testing
Test data may be artificial (created solely for test purpose) or live
(representing actual data that the user will provide). Properly created data
should provide all combination of values and formats and make it possible to
test all logical paths that the system can take. These data should take care of
all analysis like worst-case analysis, best-case analysis, etc. unlike live data,
which are biased toward typical values artificial data provide extreme values
for testing the limits of the system.
TESTING PLAN
Levels of Testing
Whichever testing strategy is followed, both unit and system testing
needs to be performed.
Unit Testing:
In unit testing, each module of the software is tested independently to
locate errors in them. This ensures that the module functions properly as a
unit. This enables the tester to look out for errors in the coding and logic of
that particular alone. The following steps are carried out to ensure the
validity of each module. The module interface is tested to ensure that
information flows properly into and out of the program under test.
The local data structures are examined to ensure that the data stored
temporarily or permanently maintain their integrity. Boundary conditions are
tested to ensure that the module operates properly at the boundaries. All the
independent logical paths that the program takes are exercised to ensure that
all statements in a module have been tested.
All error-handing paths are also tested.
Unit testing focuses on verification and validations effort on the
smallest unit of software design (i.e.) the module.
Integrated Testing
The objective of the integrated testing is to take all the unit tested
modules and combine them into a single, integrated whole and test this
resultant product. This testing enables the tester to ensure that the main
model has been designed as dictated by the software specifications. In this
project all unit tested modules are combined and tested whether perfectly
integrated or not using the concept of test driver and stubs concept in a top
down integration.
System Testing
Implementing software testing in a structured manner involves the
preparation of well-designed test plans and test cases for checking the
functionality of the software. Though mechanisms like automation of test
cases for increasing the efficiency of testing are available that critical
success or success factors of an effective testing lies the test plan and test
case design to meet the objective of testing.
Recovery testing:
The recovery testing is a system testing that forces the software to fail
in a variety of ways and verifies that recovery is properly performed. (While
running the software, if there is no proper connection to the back end, error
message will be fired and on debugging this error could be detected and
rectified).
10. SYSTEM IMPLEMENTATION
IIS is a group of Internet server (web or HTTP, FTP and Gopher) and
other capabilities for Microsoft Windows NT server operating system. IIS is
Microsoft bid to dominate the Internet server market that is also addressed
by Netscape, Sun Microsystems and other. With IIS, Microsoft includes a
set of programs for building and administrating web site, a search engine and
support for writing web based applications that access database. Microsoft
points out that IIS is a tightly integrated with the Windows NT server with a
number of ways, resulting in faster web page services.
A typical company that buys IIS can create pages for web sites using
Microsoft Front Page product (with its WYSIWYG user interface). Web
developers can use Microsoft Active server pages (ASP) technology, which
means that applications including Active X control can be embedded web
pages that modify the content sent back to users. Developers can also write
programs that filter request and get the correct web pages for different users
by using Microsoft ISAPI interface. ASP’s and ISAPI programs run more
efficiently that common gateway interface (CGI) and server side interface
(SSI) programs, for current technologies.
Microsoft includes special capabilities for server administrators
designed to appeal to Internet service providers (ISP’S). It includes a single
window (or “console”) from which all services and users can be
administrated. It’s designed to be easy to add components as “snap-ins” that
you didn’t initially install. Individual customers can customizes the
administrative windows for access,
IIS includes security features and promises that is easy to install. It
works closely with the Microsoft Transaction server to access databases and
provides control at the transaction level. It also work with Microsoft‘s NET
show in the delivery of streaming audio and video, delayed or live. Internet
Information Server 4.0 and windows NT server 4.0 provides the best
platform for developing your website.
Microsoft Internet Information server (IIS) is the only World Wide
Web server that is tightly integrated with the Microsoft Windows NT server
operating system and is designed to deliver the wide range of internet and
intranet server capabilities. By optimizing around the Windows NT server
platform, internet information server delivers high performance excellent
security ease of management and is up and running in minutes. It serves as
best platform for both integrating with existing solutions and for delivering a
new generation of web applications.
Microsoft Internet Information server has established a reputation for
speed, ease of operation, and unparallel integration with Windows NT
server. IIS 4.0 makes I even easier to create rich and dynamic content and to
build server based web applications and, because it is integrated with
windows NT server, you can have a website up and running in minutes. IIS
4.0 is an upgrade to IIS 3.0 and includes the following functionalities:
Active server page (ASP) is an open, compile free application
environment that allows organization to combine HTML, scripts and Active
X sever components to easily build powerful web based applications. Active
server pages include native support for VB script and J script. Active server
page will enable many more people to create server side web application for
the first time.
Microsoft Index Server is an integrated search engine that provides
full text indexing and querying of documents in any format. It includes built
in support for HTML, text, and Microsoft office documents. Index Server
enables users to quickly locate specific information on their Intranet or
Internet sites.
Microsoft Transaction Server is a component-based transaction
processing system for developing deploying and managing high
performance, scalable, and robust enterprise, Internet, and intranet server
application- programming model for developing distributed component-
based applications. Microsoft News Server for IIS 4.0 uses Network News
Transport Protocol (NNTP) command to define the communication between
hosts.
11. SYSTEM MAINTENANCE
The objectives of this maintenance work are to make sure that the
system gets into work all time without any bug. Provision must be for
environmental changes which may affect the computer or software system.
This is called the maintenance of the system. Nowadays there is the rapid
change in the software world. Due to this rapid change, the system should be
capable of adapting these changes. In our project the process can be added
without affecting other parts of the system.
The software has been successfully implemented and has been found
eliminate the human errors likely to creep in to this kind of work in which
bulk quantity of data has been processed. This application as been designed
typing it.
decision rules are not statically coded. It can be changed running the
software.
software.
13. Future Enhancement
The System design is in such a way so that any new development can
make any changes in the future according to the requirements in future. The
system can be upgraded easily to the newer version of the software.
Career
14. BIBILOGRAPHY
Books:
Website References:
http://messenger.com/
http://www.lan-messenger.com/lanmessenger.html
http://en.kioskea.net/vinitiation/lan.php3
http://WWW.Wikipedia.Org
http://en.wikipedia.org/wiki/testing
World Wide Web Consortium WWW site , (http://w3.org/).
www.vb.net