Anda di halaman 1dari 17

1.

INTRODUCTION
1.1 Vision
In Visual Cryptography, the end user identifies an image, which is going to act as the carrier
of data. The data file is also selected and then to achieve greater speed of transmission the data file
and image file are compressed and sent. Prior to this the data is embedded into the image and then
sent. The image if hacked or interpreted by a third party user will open up in any image previewed
but not displaying the data. This protects the data from being invisible and hence is secure during
transmission. The user in the receiving end uses another piece of code to retrieve the data from the
image.
1.2 Scope of project
System provides a friendly environment to deal with images. Generally tools supports only
one kind of image formats. Our application supports .gif and .png (portable network graphics)
formatted images and our application has been developed using swing and applet technologies,
hence provides a friendly environment to users.







2. DESCRIPTION
System Analysis is first stage according to System Development Life Cycle model. This
System Analysis is a process that starts with the analyst.
Analysis is a detailed study of the various operations performed by a system and their
relationships within and outside the system. One aspect of analysis is defining the boundaries of the
system and determining whether or not a candidate should consider other related systems. During
analysis, data is collected from the available files, decision points, and transactions handled by the
present system.
Logical system models and tools are used in analysis. Training, experience, and common
sense are required for collection of the information needed to do the analysis.

2.1 System Environment
2.1.1 Existing System
Visual cryptography is the art and science of encrypting the image in such a way that no-
one apart from the sender and intended recipient even realizes the original image, a form of
security through obscurity. By contrast, cryptography obscures the original image, but it does not
conceal the fact that it is not the actual image. For example, the sender might start with an ordinary-
looking image file, then adjust the color of every 100th pixel to correspond to a letter in the
alphabeta change so subtle that someone who isn't actively looking for it is unlikely to notice it.
The existing system does not provide a friendly environment to encrypt or decrypt the data
(images). The present system is having different networks for each department. Where in the files
has to be manually transferred. which is not a good way of practice of file transfer, for that we have
given this proposed system. Where the file transfer is done through the networks.
2.2 Proposed System
Proposed system Visual cryptography provides a friendly environment to deal with
images. Generally Stenography tools supports only one kind of image formats. Our application
supports .gif and .png (portable network graphics) formatted images and our application has been
developed using swing and applet technologies, hence provides a friendly environment to users.
Visual cryptography (VC) is a method of encrypting a secret image into shares such that
stacking a sufficient number of shares reveals the secret image. Shares are usually presented in
transparencies. Each participant holds a transparency. Most of the previous research work on VC
focuses on improving two parameters: pixel expansion and contrast. In this paper, we studied the
cheating problem in VC and extended VC. We considered the attacks of malicious adversaries who
may deviate from the scheme in any way. We presented three cheating methods and applied them
on attacking existent VC or extended VC schemes. We improved one cheat-preventing scheme. We
proposed a generic method that converts a VCS to another VCS that has the property of cheating
prevention. The overhead of the conversion is near optimal in both contrast degression and pixel
expansion.
2.2.1 Problem Definition
When ever we transmit the data in the network, any unauthenticated person can read our
data. In order to provide security to data generally sender will encrypt the data and send it the
intended person and the receiver will decrypt the encrypted data and uses it.
If anyone knows the key of the encryption who is not authenticated may read the data.
Application hides the original data in images and sends the images to the destination. This strategy
helps in stopping the unauthenticated from reading the original data.
2.3 Feasibility Study
2.3.1 Economic Feasibility
Economic feasibility attempts 2 weigh the costs of developing and implementing a new system,
again the benefits that would accrue from having the new system in place. This feasibility study gives the top
management the economic justification for the new system.
A simple economic analysis which gives the actual comparison of costs and benefits are much more
meaningful in the case. In addition, this proves to be a useful point of reference to compare actual costs as the
project progresses. There could be various types of intangible benefits on accounts automation.
This procedure is to determine the benefits and savings that are expected from a candidate
system and compare them with costs. If benefits outweigh costs, then the decision is made to design
and implement the system. Otherwise, further justification or alterations in proposed system will
have to be made if it is to have a chance of being approved. This is an ongoing effort that improves in
accuracy at each phase of the system life cycle.
2.3.2 Operational Feasibility
Proposed project is beneficial only if it can be turned into information systems that will
meet the organizations operating requirements. Simply, stated this test of feasibility asks if the
system will work when it is developed and installed. Are there major barriers to implementation?
Here are questions that will help test the operation feasibility of a project.
Is there sufficient support for the project from management, from users? If the current
system is well liked and used to the extent than persons will not be able to see reasons for change,
there may be resistance.Are the current business methods acceptable to the user? If they are not,
Users may welcome a change that will bring about a more operational and useful systems.
People are inherently resistant to change, and computers have been known to facilitate
change. It is understandable that the introduction of a candidate system requires special effort to
educate, sell, and train the staff on new ways of conducting business.
2.3.3 Technical Feasibility
Evaluating the technical feasibility is the tricker part of a feasibility study. This is because,
at this is point of time , not many detailed design of the system, making if difficult to access like
performance, costs on (on account of kind of technology to be deployed etc). A number of issues
have to be considered while dealing with technical analysis.
Technical feasibility centers on the existing computer system (hardware, software, etc.,) and
to what extent it can support the proposed addition. If the budget is a serious constraint, then the
project is judged not feasible.


















3. SOFTWARE REQUIREMENT SPECIFICATIONS
Software Requirements Specification plays an important role in creating quality software
solutions. Specification is basically a representation process. Requirements are represented in a
manner that ultimately leads to successful software implementation.
Requirements may be specified in a variety of ways. However there are some guidelines
worth following:
Representation format and content should be relevant to the problem
Information contained within the specification should be nested
Diagrams and other notational forms should be restricted in number and consistent in use.
Representations should be revisable.
3.1 Software Requirements
Operating System : Windows Environment.
Technologies : JAVA 6.0 , Swings.
IDE/Workbench : Eclipse
3.2 Hardware Requirements
Processor : Intel or AMD processor computer.
RAM : 256 MB or more.
Hard Disk Space : 8 GB or more.
3.3 Functional Requirements
Functional requirements specify which output file should be produced from the given file
they describe the relationship between the input and output of the system, for each functional
requirement a detailed description of all data inputs and their source and the range of valid inputs
must be specified.
3.4 Non-Functional Requirements
Describe user-visible aspects of the system that are not directly related with the functional
behavior of the system. Non-Functional requirements include quantitative constraints, such as
response time (i.e. how fast the system reacts to user commands.) or accuracy.


4. UML DIAGRAMS
The unified modeling language allows the software engineer to express an analysis model using
the modeling notation that is governed by a set of syntactic semantic and pragmatic rules.
A UML system is represented using five different views that describe the system from distinctly
different perspective. Each view is defined by a set of diagram, which is as follows.
4.1 Use Case Diagrams:
Explains about who are the users of the system and how the system functions when
the users operated. It explains about the various components of the system inside and how the
external user should interact with the system.

Fig. Usecase diagram for main page



Fig. Use case diagram for loading image



Fig. Use case diagram for mode selection

Fig. Use case diagram for encryption
4.2 Class Diagrams :
Class diagrams explain about the interaction between the various classes in the system,
and their behaviors and properties. A class diagram resembles a flowchart in which classes are
portrayed as boxes, each box having three rectangles inside. The top rectangle contains the name
of the class; the middle rectangle contains the attributes of the class; the lower rectangle contains
the methods, also called operations, of the class.




4.3 Sequence Diagram:
Sequence Diagram explains the sequence of actions that happens in the system. The user
or actor when selects the particular GUI interface option how the system functions what are the
next steps it goes , all the steps are explained in the Sequence Diagrams. Sequence diagrams,
along with class diagrams and physical data models are in my opinion the most important design-
level models for modern business application development.

4.4 Activity Diagram
These are loosely defined technique for showing workflows of stepwise activities and
actions, with support for choice, iteration and concurrency. In the UML, activity diagrams can be
used to describe the business and operational step-by-step workflows of components in a system. In
System UML the activity diagram has been extended to indicate flows among steps that convey
physical element (e.g., gasoline) or energy (e.g., torque, pressure).
user interface server
1: load image
2: upload successfull
3: select mode & encrypt
4: encryption
5: display encrypted images
6: save images
7: transmission
8: images are transmitted
9: images received
10: decryption
11: display original image





retrieve
original image
save encrypted
image
load image
select
modes
encryption
decryption
transmissio
n
server interface user
4.5 Collaboration Diagram

4.6 Deployment Diagram


user
interface
server
1: load image
2: upload successfull
3: select mode & encrypt
4: encryption
5: display encrypted images
6: save images
7: transmission
8: images are transmitted
9: images received
10: decryption
11: display original image
applet.dll
encryption
mechanism.dll
decryption
mechanism.dll
image.dll
5. Coding for Visual Cryptography Encryption











6 TESTING
6.1 Levels of Testing:
In order to uncover the errors present in the different phases we have the concept of levels of
testing. The basic levels of testing are as shown below:
Client Needs Acceptance Testing


Requirements System Testing


Design Integration Testing

Unit Testing
Code
Fig.12.Basic levels of testing
6.2 Testing Methods
Unit Testing
Integration Testing
Validation Testing
White Box Texting
Black Box Testing
6.2.1 Unit Testing
Unit testing is a software verification and validation method in which a programmer tests if
individual units of 0 are fit for use. A unit is the smallest testable part of an application. In procedural
programming a unit may be individual function or procedure. Ideally, each test case is independent
from the others, substitutes like methods stubs, objects, fakes and test harnesses can be used to assist
testing amodule in isolation.
6.2.2 Integration Testing
This is the phase in software testing in which individual software modules are combined and
tested as a group. It occurs after unit testing and before system testing. Integration testing takes as its
input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an
integration test plan to those aggregates and delivers as its output the integrated system ready for
system testing.
6.2.3 White Box Testing
White box sometimes called Glass Box Testing is a test case design uses the control
structure of the procedural design to drive the test case. Using white box testing methods, the
following tests were made on the system.
6.2.4 Black Box Testing
Black box testing focuses on the functional requirements of the software. This is black box
testing enables the software engineering to derive a set of input conditions that will fully exercise all
functional requirements for a program. Black box testing is not an alternative to white box testing
rather it is complementary approach that is likely uncover to different class of errors that white box
methods like.
Performance errors
Initializing and termination errors
Interface errors

6.2.5 Validation Testing
Validation testing can be defined in many ways, but a simple definition is that validation
succeeds when the software function in a manner that can reasonably expected by a customer. After
validation test has been conducted, one of the following two possible conditions exists. The functions
or performance characteristics confirm to specification and are accepted.
6.3 TESTCASES
In structural Testing cases are generated on actual code of the program or module to be
tested. This is called White Box Testing.
Test Case 1: Load Image Priority (H, L) : High
Test Objective: To check whether the image is portable network graphics ( .png ) and
graphic interchange format (.gif ) or not before loading the image.
Test Description: The user should load the images of .png and .gif format only.
Requirements Verified : Yes
Test Environment: The test Environment includes Eclipse.
Test Setup / Pre-Conditions: Eclipse Should be running.
Image used should be available.
Action Expected Results
The user clicks on the File option and
then clicks on Load Image action.
User will be load and displayed the image on
window panel.
Pass : Yes Condition pass : Yes Fail :
No
Problems / Issues : NIL
Notes : Successfully Executed
Table.1. Test case table for load image
Test case 2: Mode Priority (H, L) : High
Test Objective: To check what Mode is selected for loading the image.
Test Description: the user should select the mode like 2 out of n, 3 out of n, and extended modes.
Requirements Verified : Yes
Test Environment: The Test environment includes Eclipse only.
Test Setup / Pre-Conditions: Eclipse should be running.
Image should be loaded.
Select the modes whatever we want.
Actions Expected results
1.The user click on the Mode and then choose
the mode out of, 2 out of n, 3 out of n, and
extended modes.

2.The user click on the 2 out of n and then he
select the one of the radio buttons available
like 2 out of 2, 2 out of 3 , 2 out of 4 , 2 out of
5.

3.The user click on the 3 out of n and then he
select the one of the radio buttons available
like 3 out of 3, 3 out of 4 , 3 out of 5.

4.The user click on the extended mode then he
select one of the modes like colored, random
key, general access, and grey images.
User will select the mode then the encrypted foils or
transparencies will be generated.

User will get the encrypted foils based on the
selected sub mode, and the decrypted images will
also be generated. If 2 out of 3 mode is selected
then the 3 foils will be generated.

User will get the encrypted foils based on the
selected sub mode, and the decrypted images will
also be generated.. If 3 out of 5 mode is selected
then 5 foils will be generated.

User will get the encrypted foils based on the
selected one, decrypted foils will also be generated.
If grey mode is selected then user gets 2 encrypted
foils.
Pass : Yes Condition Pass : Yes Fail :
No
Problems / Issues : If user select colored mode then he should load the color image only. If user
give any other image then other pixels (i.e) not the image containing pixels selected default as color
pixels not the image containing pixels
Notes : Successfully Executed
Test Case 3 : Encrypt Priority (H, L) : High
Test Objective: To check whether the mode of the image is selected or not.
Test Description: The user should select the Encrypt button to get the foils of the image.
Requirements Verified : Yes
Test Environment: The Test environment includes Eclipse only.
Test Setup / Pre-Conditions: Eclipse should be running.
Image should be loaded.
Select the modes whatever we want.
Actions Expected results
1.The user click on the Encrypt button.

2.The user click on to Decrypt the image
User will get the number of foils of the image
based on to choosing the modes.
User will get the decrypted tranceperencies.
Pass : Yes Condition Pass : Yes Fail : No
Problems / Issues : NIL
Notes : Successfully Executed

Table.3. Test case table for Encrypt the image
7. CONCLUSION
As technology progresses and as more and more personal data is digitized, there is even
more of an emphasis required on data security today than there has ever been. Protecting this data in
a safe and secure way which does not impede the access of an authorized authority is an immensely
difficult and very interesting problem. Many attempts have been made to solve this problem within
the cryptographic community.
Extended Visual Cryptography allows effective and efficient secret sharing between a
number of trusted parties. As with many cryptographic schemes, trust is the most difficult part.
Extended Visual cryptography provides a very powerful technique by which one secret can be
distributed into two or more shares. When the shares are xeroxed onto transparencies and then
superimposed exactly together, the original secret can be discovered without computer participation.
From the very first type of traditional Visual Cryptography right up to the latest
developments. Traditional VC specifically deals with sharing a single binary secret between a
number of participants. EXTENDED VISUAL CRYPTOGRAPHY attempts to take this a step
further by introducing shares that have significant visual meaning. This detracts from the suspicious
looking encrypted shares that are generated using traditional methods. random key, color, grey, and
general access also discussed.


8. BIBILOGRAPHY
The Complete Reference (Java)
By Herbert Schildt
CorelJava, Sunsoft Press, 1996.
By Gray Cornett, Horstman.
Object Oriented Analysis and Design with Applications, the Benjimin/Cummings, 1994.
By Grady Booch.
REFERENCE:
Shamir, How to share a secret, Commun. ACM, vol. 22, no. 11, pp. 612613, 1979.
G. R. Blakley, Safeguarding cryptographic keys, in Proc. National Computer Conf., 1979,
vol. 48, pp. 313317.
M. Naor and A. Shamir, Visual cryptography, in Proc. EUROCRYPT 94, Berlin,
Germany, 1995, vol. 950, pp. 112, Springer-Verlag, LNCS.
M. Naor and B. Pinkas, Visual authentication and identification, in Proc. CRYPTO97,
1997, vol. 1294, pp. 322336, Springer-Verlag LNCS.
T. H. Chen and D. S. Tsai, Owner-customer right protection mechanism using a
watermarking scheme and a watermarking protocol, Pattern Recognit., vol. 39, pp. 1530
1541, 2006.
P. Tuyls, T. Kevenaar, G. J. Schrijen, T. Staring, and M. Van Dijk, Security displays
enabling secure communications, in Proc. First

Anda mungkin juga menyukai