CRYPTOGRAPHY

1.INTRODUCTION
Cryptography helps ensure data privacy, maintain data integrity, authenticate communicating parties, and prevent repudiation (when a party refutes having sent a message). Basic encryption allows to store information or to communicate with other parties while preventing non-involved parties from understanding the stored information or understanding the communication. Encryption transforms understandable text (plaintext) into an unintelligible piece of data (cipher text). Decryption restores the understandable text from the unintelligible data. Both functions involve a mathematical formula (the algorithm) and secret data (the key).

Cryptographic Operations
Different cryptographic operations may use one or more algorithms. You choose the cryptographic operation and algorithm(s) depending on your purpose. For example, for the purpose of ensuring data integrity, you might want to use a MAC (message authentication code) operation with the AES algorithm.

Data privacy
Cryptographic operations for the purpose of data privacy (confidentiality) prevent an unauthorized person from reading a message. The following operations are included in data privacy:

Encrypt and Decrypt
The encrypt operation changes plaintext data into cipher text through the use of a cipher algorithm and key. To restore the plaintext data, the decrypt operation must employ the same algorithm and key. Encryption and decryption may be employed at any level of the operating system. There are three levels:

Page 1

1. Field level encryption
With field level encryption, the user application explicitly requests cryptographic services. The user application completely controls key generation, selection, distribution, and what data to encrypt.

2. Session level encryption
With encryption at the session layer, the system requests cryptographic services instead of an application. The application may or may not be aware that encryption is happening.

3. Link level encryption
Link level encryption is performed at the lowest level of the protocol stack, usually by specialized hardware.

Data integrity, authenticity, and non-repudiation
Encrypted data does not mean the data cannot be manipulated (e.g. repeated, deleted, or even altered). To rely on data, you need to know that it comes from an authorized source and is unchanged.

Visual Cryptography
Visual cryptography, introduced by Naor and Shamir in 1995, is a new cryptographic scheme where the cipher text is decoded by the human visual system. Hence, there is no need to any complex cryptographic computation for decryption. The idea is to hide a secret message (text, handwriting, picture, etc…) in different images called shares or cover images. When the shares (transparencies) are stacked together in order to align the sub pixels, the secret message can be recovered. The simplest case is the 2 out of 2 scheme where the secret message is hidden in 2 shares, both needed for a successful decryption. This can be further extended to the k out of n scheme where a secret message is encrypted into n shares but only k shares are needed for decryption where k<=n. If k-1 shares are presented, this will give no information about the secret message. Naor and Shamir applied this idea on black and white images only. Page 2

Few years later, Verheul and Tilborg developed a scheme that can be applied on colored images. The inconvenient with these new schemes is that they use meaningless shares to hide the secret and the quality of the recovered plaintext is bad. More advanced schemes based on visual cryptography were introduced where a colored image is hidden into multiple meaningful cover images. Changetal.introduced in 2000 a new colored secret sharing and hiding scheme based on Visual Cryptography schemes (VCS) where the traditional stacking operation of subpixels and rows interrelations is modified. This new technique does not require transparencies stacking and hence, it is more convenient to use in real applications. However, it requires the use and storage of a Color Index Table (CIT), in order to losselessly recover the secret image. CIT requires space for storage and time to lookup the table. Also, if number of colors c increases in the secret image, CIT becomes bigger and the pixel expansion factor becomes significant which results in severe loss of resolution in the camouflage images. Chang and Yu introduced a advanced scheme for hiding a colored image into multiple images that does not require a CIT. This technique achieves a lossless recovery of the secret image. This paper introduces an improved scheme based on Chang’s technique in order to achieve the secret image lossless and with slight increase in the computational complexity of the algorithm.

Page 3

environment and security reasons. We study the existing system and observe the problems present in it. economic. and then Page 4 . the Software system is to solve. ANALYSIS The analysis is the process of understanding the system at a greater depth. The Requirement analysis is done in order to understand the problem. The phase ends with validation of the requrements specified in the document.2. document. In this phase we study the system and observe the problem of existing system and think how to cover the problems (problem analysis). the formats of inputs and outputs and all design constraints that exist due to political. in which a group of people including representatives of the client critically reviews the requirement specifications. Requirements analysis is on identifying what is needed from the system. identifying the missing functions with an intention to improve it through better methods and procedures. The requirement document must specify all the functional and Performance requirements. not how the system will achieve its goals. This accumulation of the system is called a system study. There are three major activities in this phase are Problem analysis. Feasibility study and Software requirement specifications. responsible for The goal of requirements specification phase is to produce the software requirements specification the requirements analysis is often called the 2. Validation is often done through “requirement review “.1 PROBLEM ANALYSIS System analysis is the process of gathering and interpreting facts. Only after the systems analysis we can begin to determine how and where a computer information system can benefit all the users of the system. The person analyst. In this phase we analyze the problem to get a clear understanding of the problem. diagnosing problems and using the information to recommend improvements to the system.

This may involve conducting a series of interviews to see which users are involved in and which users are affected by the proposed project. To keep out data secure we use large numbers and more number of computations to confuse the eavesdropper or the cryptanalyst. The system that we are developing should overcome all the problems. • Determine whether it is feasible to automate the system. Fact-finding techniques are used to gather the required information. This phase starts as soon as a user or a member of a particular department recognizes a problem and initiates a request to computerize the existing manual system or to modify the current computerized system. Page 5 . The study is carried out by a small group of people who are familiar with systems analysis and design process. which are to be reimplemented and new functions that are to be added. Before solving a problem one must know what the problem is.2 FEASIBILITY STUDY The feasibility study is to determine whether the system requested is feasible or not. This current system is any application that uses the modern encryption technique. This involves preparing a list of existing functions. Though we are providing security with this kind of approach we are burdening our self with lots of calculations. This involves preparing a list of functions that are missing or operating unacceptably in the existing system. There are many traditional encryption techniques for securing the data. • Determine objectives for the new system. This is to identify the objectives of a new system.try to recover from them. 2. The major purposes of this study are given below: • Identify the responsible user and to develop an initial scope of the system. • Identify the current deficiencies in the user’s environment. This will involves some approximate estimates of the schedule and cost to build a new system. The problem with the earlier traditional technique is that we have lot of computation to be done.

Technical Feasibility Technical feasibility centers on the existing computer system (hardware. which could be satisfied very easily. then the project is judged not feasible. this test of feasibility asks if the system will work when it is developed and installed. More commonly known as cost/benefit analysis.Economic Feasibility Economic analysis is the most frequently used method for evaluating the effectiveness of a candidate system. Are there major barriers to implementation? Here are questions that will help test the operational 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 that persons will not be able to see reasons for change. 3. The present project is considered to the technically feasible as the technical requirements. Hence the project is technically feasible. The current project is economically feasible because the organization. If the budget is a serious constraint. which is sponsoring to develop this system. then the decision is made to design and implement the system. Page 6 . This is an ongoing effort that improves in accuracy at each phase of the system life cycle. further justification or alterations in the proposed system will have to be made if it is to have a chance of being approved. This involves financial considerations to accommodate technical enhancements. there may be resistance. has enough funds and they are ready to release the funds required by the development team and also the developers could be economically justified for their work.) and to what extent it can support the proposed addition. We have the enough technological aspects to implement the above problem. 2. Simply stated. If benefits out weigh costs.Operational Feasibility Proposed projects are beneficial only if they can be tuned into information systems that will meet the organization’s operating requirements.Three key considerations are involved in the feasibility analysis: 1. the procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs. Otherwise. software. etc.

 Have the users been involved in the planning and development of the project? Early involvement reduces the chances of resistance to the system and in general and increases the likelihood of successful projects.We can say after studying the proposed system that the project looks operationally feasible. Page 7 .  Will the proposed system cause harm? Will it produce poorer results in any respect or area? Will loss of control results in any area? Will accessibility of information be lost? Will individual performance be poorer after implementation than before? Will customers be affected in an undesirable way? Will the system slow performance in any area? Issues that appear to be relatively minor in the beginning have ways of growing into major problems after implementation. Are the current business methods acceptable to the users? If they are not. users may welcome a change that will bring about a more operational and useful systems. all operational aspects must be considered carefully. as there is good support from management and the user’s involvement in planning and development is appreciable. Therefore.

 Problem or requirement analysis  Requirement specification The requirement specification phase terminates with the production of the validation software requirement specification document. The requirements specification phase consists of two basic activities. which hopefully are complete and consistent.“A procedure for identifying requirements can there for be at best set of guidelines”. Page 8 . the developer.The SRS means translating the ideas in the minds of the clients (the input).3. Thus the output of the phase is a set of formally specified requirements. the users. while the input has none of these properties. Role of SRS Thus there are three major parties interested in a new system – the client. into a formal document (the output of the requirements phase).SOFTWARE REQUIREMENT SPECIFICATION Software requirement specification (SRS) is the starting point of the software development activity.

inconsistencies and misunderstanding early in the development cycle. 4.Providing a reference for validation of the final product . Careful development of an SRS can reveal omissions.A good SRS provides many benefits.Establishing the basis for agreement between the client and supplier on what the software product will be reducing the development cost. SRS is the medium through which the client and user needs are accurately specified. 1.The SRS assists in determining if the software meets the requirements. Hardware Requirements: To run our system the minimum hardware we need is Processor RAM Hard disk Monitor Resolution Key board CD Drive Printer Mouse : : : : : : : : : Pentium III 128 MB / 256 MB (Recommended) 20 GB 15 “ / User choice 800*600 pixels Standard QWERTY 104 keys / or any 52x CDROM 1. indeed SRS forms the basis of software development.There is a communication gap between these people. Some of the goals it accomplishes are: 2.44” Laser jet Any standard Mouse Floppy Drive : Software Requirements: The software requirements required to run this application are: Page 9 .The preparation of the SRS forces rigorous specification of the requirements before the design begins. A basic purpose of SRS is to bridge this communication gap. which can considerably reduce cost. 3.An important purpose of the process of developing an SRS is helping the clients to understand their own needs.

coding. a process or system in sufficient detail to permit its physical realization. visualizing. because in this activity. and documenting the artifacts of software systems. These decisions have the final bearing upon reliability and maintainability of the system. constructing. generation and testing that are required to build and verify the software.Operating System : Win 9x/ XP Java 1. Using the UML helps project teams communicate. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. and validate the architectural design of the software. The design activities are of main importance in this phase. Once the software requirements have been realized.4. Building Blocks of the UML: The vocabulary of the UML encompasses three kinds of building blocks: Page 10 . explore potential designs. 4. decisions ultimately affecting the success of software implementation and its ease of maintenance are made.DESIGN Design is the first step in the development phase for any techniques and principles for the purpose of defining a device. The UML is a very important part of developing object oriented software and the software development process. analyzed and specified the software design involves three technical activities design.2 Programming Tool : 4.1 System Design UML Description The Unified Modeling Language (UML) is a standard language for specifying. as well as for business modeling and other non-software systems. The UML uses mostly graphical notations to express the design of software projects.

As the complexity of systems increases. A type of diagram that depicts the elements of a specification that are irrespective of time. deployment.1. This includes class. System decomposition is constantly revised whenever new issues are addressed. This includes communication. composite structure. interaction overview. A subset of behavior diagrams which emphasize object interactions.A starting point is to take the use cases and assign the participating objects that have been identified in each of them to the sub systems. sequence. Subsystems are merged into alone subsystem. 3. System Architecture: Finding sub systems during system design has many similarities to finding objects during analysis. Things Relationships Diagrams There are three classifications of UML diagrams:  Behavior diagrams.  Structure diagrams. a complex subsystem is split into parts. This includes activity. and timing diagrams. and package diagrams. A type of diagram that depicts behavioral features of a system or business process. the specification of the system decomposition is critical. component. The first iterations over the subsystem decomposition can introduce drastic changes in the system design model. object. Moreover. subsystem decomposition is constantly revised whenever new issues are addressed. These are often best handled through brainstorming sessions. The receiver is the passive participant as he comes in to the picture only if the sender sends an secret Page 11 .Here. and some subsystems are added to take care of new functionality. the sender is the active participant through out the process. 2.  Interaction diagrams. state machine. The initial sub system decomposition should be delivered from the functional requirements. and use case diagrams as well as the four interaction diagrams.

their parameters. The following are the subsystem services provided in our application: 1.image. The sender encrypt the secret image in the cover images and send it to the receiver. Subsystem Interface includes the name of the operations. the secret image is encrypted in the cover images. Every time. This subsystem service forms the backbone of the project. It computes the final values and finally shows the end result of the computation. The set of operations of a sub system that are available to other subsystems form the “subsystem interface”.Image passing to Receiver: This sub-system does the job of passing cover images to the receiver. A service is a set of related operations that share a common purpose.    : Sender Key Initiate :Receiver Generation. their types and their return values. it does not output the secret image that it takes from sender to receiver.Enc rypt Decrypt Subsystem Services: A subsystem is characterized by the services it provides to other subsystem. Page 12 . As it has to offer security.

For each persistent object.Embedding the secret image in to the cover images: This sub-system takes care of splitting the secret image in to two parts and embedding the two parts of the secret image into the cover images Boundary Conditions: During this activity we review the design decisions we made so far and identify additional conditions i.2. shutdown and configure the component. we examine in which use cases it is created or destroyed. shutdown and how to deal with major failures such as image corruption. In general exception is an event or error that occurs during the execution of the system. Exception Handling: For each type of component failure we decide how the system should react. how the system is started. can damage the security of the images being transferred. Exceptions are caused by different sources.e. initialized. We determine whether the encrypting is being done in the standard format of any Start up and Shutdown: For each component we add three use cases to start. Hardware Failure: Hardware ages and fails. For example. failure of the network link. Uml diagrams CLASS DIAGRAM Page 13 . Configure: other method..

0 ne is r d ria e E 7 Ur g tee A .r g tee TiaVr io e is r d r l es n ca sC s Md l l s l s oe a E 7 Ur g tee TiaVr io A .0 E g0r ne is e ne . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A . ne is r 0 d cy t erp + + k y in e: t p r_ o in ot n : t d cy t ): v id e r p( o v w : v id ie ( o ) r g tee TiaVr io e is r d r l es n E 7 Ur g tee TiaVr io A . ne is r 0 r g tee TiaVr io g tee T l Vrs n e is r d r A .0 E g0r ne is e ne .0 ne is r d ria e io E 7 U r g tee T l Vrs n A .0 ne is r d ria e io E 7 U r g tee T l V rs n A .0 ne is r d ria e E 7 Ur g tee A .0 ne is r d ria e r g tee TiaVr io e is r d r l es n E 7 U r g tee T l Vrs n A . E e U re Tel V l io io 0 n g te g r d ria e es rs A . Ur g tee E 7 U r g0r ne is e A .0 ne is r d ria e E 7 Ur g tee A .0 ne is r d ria e io Page 14A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .0 ne is r d ria e r g tee TiaVr io e is r d r l es n r g tee TiaVr io g tee T l Vrs n e is r d r A . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 Ur g tee A .0 ne is r d ria e io E 7 U r g tee T l V r A .0 E g0r ne is e ne .0 ne is r d ria e io E 7 U r g tee T l V rs n A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A .0 ne is r d ria e io E 7 U r g tee T l V r A .tee T l V r r7 d g r E 7 UA is Ur riatee A .0 ne is r d ria e io E 7 U r g tee T l V rs n A . E e U re Tel V l io io 0 n g te g r d ria e es rs E 7 UA is Ur riatee A .tee T l V r r7 d g r E 7SEQUENCE e io n r g tee TiaVr io g tee T l Vrs n e is r d r A .0 r is r E 7 Ur7 isnedteiaT r Vn n A .0 ne is r d ria e v w t e r c iv d ie s h e e e img ae E 7 Ur g tee A .tee T l V r r7 d g r r g tee TiaVr io g tee T l Vrs n e is r d r A .0U re is r d ria e io l e n E 7 U r g tee T l V rs n A .0 ne is r d ria e io E 7 UA is Ur riatee A .tee T l V r r7 d g r r g tee TiaVr io e is r d r l es n E 7 Ur g tee TiaVr io A .0 ne is r d ria e io E 7 U r g tee T l V rs n A . ne is r 0 r g tee TiaVr io g tee T l Vrs n e is r d r A .0 ne is r d ria e E 7 Ur g tee A . ne is r 0 E 7 U r g tee T l V r A .0 E g0r ne is e ne .0 r is r E 7 Ur7 isnedteiaT r Vn n A .0 E g0r ne is e ne .0 ne is r d ria e io E 7 u CrsMd l r dT l V rs n A .0 ne is r d ria e E 7 Ur g tee A . E e U re Tel V l io io 0 n g te g r d ria e es rs A .0 r is r A .tee T l V r r7 d g r d cy t t ed t e r ps h aa r c iv d ee e r g tee TiaVr io e is r d r l es n E 7 Ur g tee TiaVr io A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .0 ne is r d ria e io E 7 UA is Ur riatee A .0U re is r d ria e io l e n E 7 s n E 7 Ur7 isnedteiaT r Vn n A . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 U r g tee T l V r A .0 ne is r d ria e bo s sth img r we e ae t e cy t o nr p r g tee TiaVr io e is r d r l es n E 7 U r g tee T l V r A .0 r is r E 7 Ur7 isnedteiaT r Vn n A . ne is r d r l es n 0 r c iv r ee e E 7 U r g tee T l Vrs n A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 Ur g tee TiaVr io A .0 ne is r d ria e io E 7 Ur g tee A .0 ne is r d ria e io E 7 U r g tee T l V rs n A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .0U re is r d ria e io l e n E 7 U r g tee T l V rs n A .0 ne is r d ria e E 7 Ur g tee A . ne is r d r l es n 0 e cp nr t y k y in e: t p r_ o in ot n : t bo s _ a e): v id r w img ( o e piv w : v id r ie ( o ) + + r c iv ( : v id e e e) o s n ( : v id e d) o E 7 Ur g tee A .0 ne is r d ria e io E 7 U r g tee T l V rs n A .0 ne is r d ria e .0 E g0r ne is e ne . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 Ur g tee A . E e U re Tel V l io io 0 n g te g r d ria e es rs E 7 U r g tee T l Vrs n A . ne is r d r l es n 0 E 7 U r g tee T l Vrs n A . ne is r 0 E 7 s n r g tee TiaVr io g tee T l Vrs n e is r d r A . ne is r d r l es n 0 E 7 U r g tee T l Vrs n A . E e U re Tel V l io io 0 n g te g r d ria e es rs E 7 UA is Ur riatee A . ne is r 0 r g tee TiaVr io + e is r d r l es n E 7 Ur g tee A .tee T l V r r7 d g r r g tee TiaVr io e is r d r l es n E 7 Ur g tee TiaVr io A . ne is r 0 r g tee TiaVr io e is r d r l es n r g tee TiaVr io e is r d r l es n E 7 U r g tee T l V rs n A .0 r is r A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A . E e U re Tel V l io io 0 n g te g r d ria e es rs A .0U re is r d ria e io l e n E 7 s n E 7 Ur7 isnedteiaT r Vn n A .tee T l V r r7 d g r E 7 U r g tee T l V r A . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 Ur g tee A . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 Ur g tee TiaVr io A .tee T l V r r7 d g r E 7 s n r g tee TiaVr io g tee T l Vrs n e is r d r A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .0U re is r d ria e io l e n E 7 s n E 7 Ur7 isnedteiaT r Vn n A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .0 r is r E 7 Ur7 isnedteiaT r Vn n A .0 ne is r d ria e io E 7 UA is Ur riatee A . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 Ur g tee A .0 E g0r ne is e ne . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A .0U re is r d ria DIAGRAM l es n E 7 U r g tee T l V rs n A .0 E g0r ne is e ne . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 Ur g tee A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .0 ne is r d ria e io E 7 U r g tee T l V rs n A . ne is r 0 r g tee TiaVr io e is r d r l es n + E 7 Ur g tee A . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 Ur g tee A .0 r is r A . d rE e U re Tel V l io io 0 A . ne is r 0 E 7 U r g tee T l V r A . E e U re Tel V l io io 0 n g te g r d ria e es rs A .0 r g r d ria e es rs s e n g te E 7 UA is Ur riatee A . ne is r 0 E 7 U r g tee T l V r A .0 ne is r d ria e io E 7 U r g tee T l V rs n A . ne is r 0 E 7 U r g tee T l V r A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A .0U re is r d ria e io l e n E 7 s n E 7 Ur7 isnedteiaT r Vn n A .0U re is r d ria e io l e n E 7 U r g tee T l V rs n A . ne is r d r l es n 0 E 7 U r g tee T l V r A . ne is r d r l es n 0 mse atr er o E 7 Urpgv id e TiaVr io A + d cy t()isid d r l es n . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .0 ne is r d ria e E 7 Ur g tee A .0 ne is r d ria e io ms e atr po id st e k ya dp r r v e h e n ot n me t e c y t u br o nr p E 7 UA is Ur riatee A . E e U re Tel V l io io 0 n g te g r d ria e es rs A .0 ne is r d ria e E 7 Ur g tee A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A . ne is r 0 r g tee TiaVr io g tee T l Vrs n e is r d r A .0 ne is r d ria e io E 7 U r g tee T l V r A .0Ulae is e ria e io cn g te s oe E 7 U r g tee T l V rs n A .0 ne is r d ria e io E 7 U r g tee T l V rs n A .0U re is r d ria e io l e n E 7 s n E 7 s n r g tee TiaVr io g tee T l Vrs n e is r d r A .0 ne is r d ria e io po id s t ep r r v e h ot n me a dk y u br n e s n st ee c y t d e d h n r pe ms a e es g E 7 U r g tee T l V r A .0 ne is r d ria e io USECASE DIAGRAM E 7 Ur g tee A .0 ne is r d ria e r g tee TiaVr io e is r d r l es n E 7 U r g tee T l V r A .0 ne is r d ria e E 7 Ur g tee A .0 ne is r d ria e E 7 Ur g tee A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A . ne is r d r l es n 0 E 7 U r g tee T l Vrs n A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A . ne is r 0 E 7 U r g tee T l V r A . e cy t(): v r 0 ne : te + nr p o E 7 Ur g tee A . ne is r 0 r g tee TiaVr io e is r d r l es n E 7 U r g tee T l V r A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A .0 r is r is r E 7enUr7 isnedteiaT r Vn n A .0 E 7 tee T l V r ne is d ria r E 7 U r g tee T l V r A .0 ne is r d ria e io E 7 U r g tee T l Vrs n A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A . ne is r d r l es n 0 E 7 Ur g tee TiaVr io A .

0 Unregistered Trial Ve E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7. n i e T l e i 0 es e i r o sr t t a E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.0 Unregistered Trial Ve Version sends the encrypted image EA 7.0 Unregistered Trial Ve 4.0 Unregistered Trial Ve Trial image() decrypts the encrypted image by giving the key() EA 7.0 Unregistered Trial Ve ACTIVITY DIAGRAM EA 7. Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.0 i r o Unregistered Trial VersionUr g tee TiaVrs n Unregistered i l e o E 7 n i 7.0 A . n i e T l e i 0 es e i r o TaV s n r l ei i r o E 7 Ur g t r d raV s n A. 0 es o E 7 Ur g t r d r l e n s EA 7.0 Unregistered Trial Ve E 7 Ur g t r d raV s n A.0 i r o Unregistered Trial VersionUr g tee TiaVrs n Unregistered i l e o E 7 n i 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Ve encrypts the image() provides the key and port number() EA 7.0 i r o Unregistered Trial VersionUr g tee TiaVrs n Unregistered i l e o E 7 n i 7.0 Unregistered Trial Version EA 7.0 neisee TiaVr io Unregistered Trial Ve E 7 Ur g t r d raV s n A. n i e T l e i 0 es e i r o TaV s n r l ei i r o E 7 Ur g t r d raV s n A. 0 EA r d r l e i es o E 7 Ur 15e TTrial iVe .0 APage g t r d raV s n A. n i e T l e i 0 es e i r o TaV s n r l ei i r o TaV s n r l ei i r o EA 7.0 Unregistered Trial Ve EA 7. 0 EA r d r l e i es o E 7 n i e TTrial iVe 0 es e r E 7 Ur g t r d raV s n A. 0 EA r d r l e i es o E 7 n i e TTrial iVe 0 es e r E 7 Ur g t r d raV s n A. 0 es o E 7 Ur g t r d r l e n s a e t e m es f rhi a i t g ecyt dh s ne nr p t e e dr e s nsh i a e ed t em g ve s h dcyt d i w t e er p e i ae m g TaV s n r l ei i r o E7 n i rd r l e i A.0 A .0 Unregistered Trial VersionUr g tee TiaVrs n EA 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Ve EA 7.0 Unregistered Trial Version EA 7. n i e T l e i 0 es e i r o TaV s n r l ei i r o TaV s n r l ei i r o EA 7.0 Unregistered Trial Ve views the incrypted image() receives the EA 7. n i e T l e i 0 es e i r o TaV s n r l e i 7. n i e T l e i 0 es e i r o EA TaV s n r l e i 7.0 i r o EA E 7 n i 7.0 Unregistered Trial Version EA 7. n i e T l e i 0 es e i r o E 7 Ur g t r d raV s n A. n i e T l e i 0 es e i r o TaV s n r l ei i r o EA 7.0 Unregistered Trial Version EA 7.EA 7.0 A .0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7. n i e T l e i 0 es e i r o TaV s n r l ei i r o E 7 Ur g t r d raV s n A.0 Unregistered Trial Ve EA master EA 7. 0 EA r d r l e i es o E 7 n i e TTrial iVe 0 es e r Unregistered Trial VersionUr g tee TiaVrs n Unregistered i l e o sne p vds h k y e dr r i e t e e o a d o nm rt n pr u b o t e e cytt e m e nr p h i a g TaV s n r l ei i r o E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7. n i e 0 es r Unregistered Trial VersionUr g tee TiaVrs n Unregistered i l e o E 7 Ur g t r d raV s n A. n i e T l e i 0 es e i r o E 7 Ur g t r d raV s n A. 0 EA r d r l e i es o E 7 n i e TTrial iVe 0 es e r E 7 Ur g t r d raV s n A. n i e T l e i 0 es e i r o dcyt t e m e er p h i a s g E 7 Ur g t r d raV s n A. n i e T l e i 0 es e i r o E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7. n i e T l e i 0 es e i r o E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.2 Object Design E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.0 Unregistered Trial Ve E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7. n i e T l e i 0 es e i r o E 7 Ur g t r d raV s n A.0 A . n i e T l e i 0 es e i r o TaV s n r l e i 7. n i e T l e i 0 es e i r o EA TaV s n r l e i 7.0 Unregistered Trial to the receiver()EA 7.0 Unregistered Trial Ve sd Class Model sender EA 7.0 Unregistered Trial Ve E 7 Ur g t r d raV s n A. n i e T l e i 0 es e i r o E 7 Ur g t r d raV s n A.0 i r o EA E 7 n i 7. n i e T l e i 0 es e i r o r c i e p vdsh k y n ee r r i e t e e ad v o pr nm rt dcyt o u b o er p t e E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7. n i e T l e i 0 es e i r o mtr ae s TaV s n r l ei i r o EA 7.0 neisee TiaVr io Unregistered Trial Ve E7 n i rd r l e i A.0 Unregistered Trial Ve a tC s M e c l s o l a d TaV s n r l ei i r o E 7 Ur g t r d raV s n A. Ur g t r d raV s n A.0 Unregistered encryptedVersion EA 7.0 A . n i e T l e i 0 es e i r o E 7 Ur g t r d raV s n A. Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7.0 i r o EA E 7 n i 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7. 0 EA r d r l e i es o E 7 n i e TTrial iVe 0 es e r Unregistered Trial VersionUr g tee TiaVrs n Unregistered i l e o sne b we f rt e e dr r s s o h o i a ehti t b m t a so e g e cyt d n s n nr p ad e t e TaV s n r l ei i r o TaV s n r l ei i r o EA 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7. n i e T l e i 0 es e i r o EA TaV s n r l e i 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial VersionUr g tee TiaVrs n EA 7.0 Unregistered Trial Version EA 7. Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7.0 Unregistered Trial Version EA 7.0 A . n i e T l e i 0 es e i r o . Ur g t r d raV s n A.0 A . n i e T l e i 0 es e i r o E 7 Ur g t r d raV s n A.0 Unregistered Trial Version EA 7.0 Unregistered Trial Versionreceiver 7. n i e T l e i 0 es e i r o sp t o TaV s n r l ei i r o EA 7. n i e T l e i 0 es e i r o TaV s n r l e i 7.

signature and visibility. persistent storage or access control. the tuple mode out of the types of its parameters and the type of the return value is called the signature of the operation. Signature and Visibility The type of an attribute specifies the range of values the attribute can take and the operations that can be applied to the attribute. c. UML defines three levels of visibility: Private : A private attribute can be accessed only by the Page 16 . only the attributes relevant to the system should be considered.2. Attributes: Attributes represent the properties of individual objects. we can identify attributes of the operation. The Visibility of an attribute or an operation specifies whether other classes can use it or not. Specifying Exceptions Attributes and Operations: a. Given an operation. Operation: Operation is a property of the objects. c. Identifying missing attributes and operations b. Attributes: In this. Specification activities during object design includes a. b.4. Specifying constraints. d.2. 5.1 Type. We identify to level subsystems and define them in terms of the services they provide. Specifying type.1.1 Object Specification The system design model focuses on the subsystem decomposition and global system decision such as hardware/software mapping.

3. Visibility : Here variables are private and functions are public. Protected : A protected attribute or operation can be accessed by the class in which it is descendant of the class Public by any class. Preconditions are used to specify constraints that a caller must meet before calling an operation. Both the cover images should be of the same side.3 Constraints Constraints: We attach constraints to classes and operations to more precisely specify their behavior and boundary cases. The image should not be blank 2. The message should be padded to multiples of 2048 bits or 1024 bits. Both the users should all be online during the generation of keys. Page 17 . The secret image should be one-third the size of cover images. Fields must not contain null values. The invariants in our application are: 1. The following are the constraints in the application: 1) 2) 3) The user should enter the image for encryption in a Unicode format. Preconditions are associated with a specific operation. 1. Invariants: These represent conditions on the attributes of a class that are always true. Preconditions: A precondition is a predicate that must be true before an operation is invoked. which it is defined. : A public attribute or oration can be accessed defied and on any 4.class.

2. 2.4 Exceptions Exceptional conditions are usually associated with the violation of preconditions. 1. then necessary action is to be performed. 4. c. d. we need to take care of the necessary type casting between objects. Associations Sender * send * Receiver Many senders send the images at the same time. When handling strings and converting them to BigInteger. b. then the sending process needs to be re-started. Here. When specified ip address of a sender node is not available on the network. If image passing between receivers fails due to some socket exceptions. The secret image is to be saved by the corresponding receiver.The sender must have the knowledge of the receivers IPaddress Post conditions: A post condition is a predicate that must be true after an operation is invoked. Post conditions are associated with a specific operation. a. Post conditions are used to specify constraints that the object must ensure after the invocation of predation. If network connections fail in the middle of the sending process. we specify constraints that the caller needs to satisfy before invoking an operation. Sender * 1 Encrypt * images Sender Encrypt the Images Page 18 . they need to be handled. Exceptions can be found systematically by examining each parameter of the operation and by examining the status in which the operation may be invoked. The receiver and Sender should be acknowledged after the process is completed.

The recovery process is loss less. a new secret color image sharing scheme based on visual cryptography which was proposed in 2002. where the first sub image consists of all the pixel values with even number locations of the image H and the other sub image with odd number of locations of H. 1≤j≤9) and Sij =1. The resulting structure of a pixel can be represented by an nx9 Boolean matrix S=[Sij] where (1≤i ≤n. which is split in to two parts one with even number of locations and the other with odd number of locations and treated with both the cover images to reduce the threat of vulnerability. If a pixel with color k=(k1k2…k8)2 needs to be shared.Sender 1 Can Serve * Receiver Sender can serve the images of receiver at the same time. the jth subpixel in the ith share has a non-white color. an “XOR” operation on the stacked rows of the n shares is performed Hiding Algorithm For a 2 out of 2 scheme. The scheme defines a new stacking operation (XOR) and requires a sequence of random bits to be generated for each pixel. Method description Assume that a gray image (H) with 256 colors which is the secret image to be hidden. Here we expand each pixel into m sub pixels and embed them into n shares. This scheme uses m=9 as an expansion factor. The proposed approach uses meaningful shares (cover images) to hide the colored secret image. To recover the color of the original secret pixel. This image is split into 2 sub images. 5. Each color can be represented as an 8-bit binary vector. if and only if. a dealer randomly picks an Page 19 . the construction can be described by a collection of 2x9 Boolean matrices C. The main idea is to hide the two sub images into the two original (cover) images and thus we obtain 4 camouflage images.Algorithms This proposed algorithm is a improvement of Chang’s et al algorithm.

both C 1 and C2 as well as a sequence of randombits R={r1. Page 20 .  Do the same for C2 and construct Bp3 and Bp4. The construction is considered valid if the following conditions are satisfied: Ki=S1j ⊕S2j Where Ki=S1j ⊕S2j and j= i if i<= r i+1 if i>r Note that the number of 1’s in the first row of S must exceed the number of 0’s by one.Bp2.r2.The resulting blocks Bp1.…. Steps of the Algorithm  Take a colored secret image Hmn of size mxn and choose any two arbitrary cover images C1mn and C2mn of size mxn. arrange the row “i” in S as a 3x3 block Bp1 for He and Bp2 for Ho and fill the subpixels valued ‘i’ with the color kp1.integer r between 1 and 9 inclusively as well as one matrix in C.  After processing all the pixels in Heij and Hoij four camouflage colored images of C1 .. C3 and C4 are generated.r|I}| are needed.  Scan through He and Ho and convert each pixel Heij and Hoij to an 8-bits binary string denoted as k= (k1k2…k8) 2  Select a random integer rp.. C2 .Bp3.  Scan through C1 for each pixel of color kp1 of He and Ho.  Split Hmn into two subimages He and Ho where He consists of all pixel values in the even positions of the secret image and Ho consists of all pixel values in the odd positions of the secret image.In order to losselessly recover Hmn.Bp4 are the subpixels of the pth pixel after the expansion. construct S to satisfy equation 1. where 1 <=rp<=9 for each pixel Heij and Hoij  According to rp and k for each pixel.

respectively.Recovering Algorithm In order to recover the secret image in a 2 out of 2 scheme. 4 camouflage images C 1 . C2 . C2 .  Select the first random bit rp corresponding to the first encrypted pixel Input Sr and rp to the F(. C3 and C4  Add Vr1 and Vr2 to get the final Secret image H figures Page 21 . C2 . C3 and C4 as well as the string of random bits R are required for the recovery process. C3 and C4 Add the C1 .) function corresponding to equation 1. the first pixel in Heij and kq the first pixel of Hoij  Repeat for all 3x3 blocks in C1 .Vr2 and Vr3.  Recover kp.  Rearrange Vr1. The camouflage images are t times bigger than Hmn due to the expansion factor of subpixels Steps of the Algorithm  Extract the first two 3x3 blocks Vr1.. C3 and C4.Vr4 in a 2x9 matrix format Sr.Vr2 and Vr3.Vr4 from four camouflage images C1’. C2 ..

Page 22 .System Testing and Implementation Testing is the major quality control measure employed for software development.Fig 1: Secret Sharing algorithm flowchart Fig 2: Secret Sharing recovering algorithm flowchart 6.

design. For this reason. In structural testing the test cases are decided based on the logic of the module to be tested. system testing is performed. the other tests the internal structure. After this the modules are gradually integrated into subsystems. this form of testing is also called “black box testing”. different units to be tested. A common approach here is to achieve some type of coverage of the statements in the code. During requirement analysis and design. computer programs are available that can be executed for testing purpose. The two forms of testing are complementary: one tests the external behavior. the output is document that is usually textual and non-textual. The software or the module to be tested is treated as a black box. During integration of module integration testing is performed. the goal of testing is to cover requirement. or coding errors in the program. The starting point of testing is unit testing. allocates the resources. and the test cases are decided based on the specifications of the system or module. proper selection of the test case is essential. This plan identifies all testing related activities that must be performed and specifies the schedule. The test plan specifies conditions that should be tested. It requires proper planning of the overall testing process. This implies that testing has to uncover errors introduced during coding phases. Finally accepting testing is performed to demonstrate to the client for the operation of the system. The focus here is on testing the external behavior of the system. In this a module is tested separately and often performed by the programmer himself simultaneously while coding the module. Often structural testing is used for lower levels of testing. and the manner in which the module will be Page 23 . Thus.Its basic function is to detect errors in the software. For the testing to be successful. The goal of this is to detect designing errors. Frequently the testing process starts with the test plan. while focusing the interconnection between modules. Testing is an extremely critical and time-consuming activity. while functional testing is used for higher levels. and specifies guidelines for testing. After the system was put together. The purpose is to exercise the different parts of the module code to detect coding errors. There are two different approaches for selecting test case. Here the system is tested against the system requirements to see if all requirements were met and the system performs as specified by the requirements. which are then integrated themselves too eventually forming the entire system. After the coding phase.

However. The reason for this is fairly obvious. As we can see. As one would expect the greater the delay in detecting an error after it occurs. In this interpretation. error essentially is a measure of the difference between the actual and the ideal. Suppose an error occurs during the requirement phase and it was corrected after the coding then the cost is higher than correcting it in the requirements phase itself. This detection is quite general and encompasses all phases. The cost of correcting errors in the function of where they are detected. sometimes testing is the sole point where errors are detected. as it is the can see. In reality. which lists all the different test cases. That is error refers to the difference between the actual output of the software and the correct output. the more expensive it is to correct it. This is not often practiced. that will be used for testing. Errors refer to the discrepancy between computed and observed values. Each test report contains a set of test cases and the result of executing the code with the test cases. Then for different test unit. The error report describes the errors encountered and the action taken to remove the error. or a set of such reports. the errors occur through the development. together with the expected outputs. the cost of connecting the errors of different phases is not the same and depends upon when the error was detected and corrected. During the testing of the unit the specified test cases are executed and the actual results are compared with the expected outputs.integrated together. The consequence of thinking is the belief that the errors largely occur during programming. Error Messages The term error is used in two different ways. Besides the cost factor. To correct the error after coding is done require both the design and the code to be changed there by increasing the cost of correction. reliance on testing as a primary source for error detection and correction should be a continuous process that is done throughout the software development. If there was error in the requirements phase that error will affect the design and coding also. Error is also used to refer to human action that results in the software containing a defect or a fault. The main moral of this section is that we should attempt to detect the errors that occur in a phase during the phase itself should not wait until testing to detect errors. a test case specification document is produced. The final output of the testing phase is the testing report and the error report. the errors occur throughout the development process. In terms of the Page 24 .

It is confined only to the designer's requirements. what this means is that we should try to validate each phase before starting the next. During testing. In order to make sure that the system does not have errors.development phase. execute all functional requirements for the program. Testing Techniques Testing is a process. the different levels of testing strategies that are applied at differing phases of software development are: Unit Testing Unit Testing is done on individual modules as they are completed and become executable. It is the major quality measure employed during software development. The logical flow of the data is not checked. which reveals errors in the program. This testing has been uses to find errors in the In this testing only the output is checked for correctness. Page 25 . EACH MODULE CAN BE TESTED USING THE FOLLOWING TWO STRATEGIES: Black Box Testing In this strategy some test cases are generated as input conditions that fully following categories: • • • • • Incorrect or missing functions Interface errors Errors in data structure or external database access Performance errors Initialization and termination errors. the program is executed with a set of conditions known as test cases and the output is evaluated to determine whether the program is performing as expected.

It tests the interface of all the modules to make sure that the modules behave properly when integrated together. Execute all logical decisions on their true and false sides. Its aim is to satisfy the user the system meets all requirements of the client's specifications.White Box Testing In this the test cases are generated on the logic of each module by drawing flow graphs of that module and logical decisions are tested on all the cases. System Testing Involves in-house testing of the entire system before delivery to the user. Integration Testing Integration testing ensures that software and subsystems work together as a whole. Validation Testing The system has been tested and implemented successfully and thus ensured that all the requirements as listed in the software requirements specification are completely fulfilled. In case of erroneous input corresponding error messages are displayed. Execute all loops at their boundaries and within their operational Execute internal data structures to ensure their validity. Page 26 . Acceptance Testing It is a pre-delivery testing in which entire system is tested at client's site on real world data to find errors. It has been uses to generate the test cases in the following cases: • • • • Guarantee that all independent paths have been executed.

Testing is the process of finding differences between the expected behavior specified by system models and the observed behavior of the system. Next screen should Cover Image1 and Cover be displayed . Because of good programming there was no execution error. OUTPUT TEST The successful output screens are placed in the output screens section. because it gave us time to fix some of the unexpected deadlocks and stability problems that only occurred when components were exposed to very high transaction volumes. Testing process: The testing process that is followed for each object of the system is discussed below in detailed object wise. 1 2 3 Object Name: Sending Image Test Criteria: Encrypting the original image Testing Approach: Black Box Testing TEST CASE EXECUTION AND ANALYSIS: Test case 1: Test case ID Test case Description Go2Frame1 Expected Result Actual Result Next screen is displayed Exception arises “Size of first image Page 27 Browse the Hidden Image.COMPILING TEST It was a good idea to do our stress testing early on. Next screen should Cover Image1 and Cover Image2 and click on next be displayed Go2Frame2 Browse the Hidden Image. EXECUTION TEST This program was successfully loaded and executed.

Image2 and click on next should be one-third of Second image”. Test case 2: Test case ID Test case Description Input data Dest-Frame1 Enter the Key Numeric Alphabets Dest-Frame2 Enter the port Number Numeric Alphabets Alphanumeric Expected Result Accepts the values Accepts the values Accepts the values Invalid data Invalid data Actual Result Accepted Accepted Accepted Accepted Rejected Rejected Alphanumeric Accepts the values Test case 3: Test case ID Test case Description Input data Dest2-Frame1 Enter the port Number Numeric Alphabets Alphanumeric Dest2-Frame2 Enter the port Address Numeric Alphabets Alphanumeric Expected Result Accepts the values Invalid data Invalid data Invalid data Accepts the values Invalid data Actual Result Accepted Rejected Rejected Rejected Accepted Rejected Test case 4: Test case ID Test case Description Input data Rec2 Decryption Address Numeric Alphabets Alphanumeric Expected Result Invalid data Accepts the values Invalid data Actual Result Rejected Accepted Rejected Page 28 .

The main aim of the project was to impart high security to images. 8. The security of the data has been given the topmost priority through out the program and hence we feel that we have been successful in our aim.CONCLUSION This project is on a topic that has been an active research area in the field of Network Security and Visual Cryptography. this scheme can possibly be modified reduce the noise obtained during transformation. very robust in protecting the security and highly reliable in terms of execution. The beauty of the approach employed during the design and coding phase is that it is very simple to understand.SCOPE • • • • Can be implemented in all kinds of organizations whether small or large Needs no extra costs for implementation Complex cryptographic algorithms are not needed The threshold technique.e. The recovery process of both secret images should remain loss less while using the same expansion factor as described in this project. We have developed this system keeping in view all the factors in view and provided a walkthrough model interface. As future work. We chose to implement the sending of secret image securely with the help of two algorithms called the Hiding algorithm for embedding the secret image successfully in the cover images and Recovery algorithm for decrypting the secret image successfully from cover images. Page 29 . We have taken utmost care to assure that the project meets the requirements of the algorithm. Extra efforts have been put in to ensure the security of the data. removes the graying effect. returns the decoded image to its original form i.7. plus resizing. very transparent to the users.

. C. Visual cryptography. (950):1–12. Imai. C.van Tilborg. and D. 11(2):179–196. C. 416–428. Nov. Adler. 8. AN IMPROVED VISUAL CRYPTOGRAPHY SCHEME FOR SECRET HIDING R. July 2000. 22 (1979) pp. Some visual secret sharing schemes and their share size. Proc. Sharing a Secret Gray Image in Multiple Images. C. X. (1996) pp. A new scheme for sharing secret color images in computer network. and Programming (ICALP ’96). Lecture Notes in Computer Science. Stinson. How to share a secret. Chang. Japan.Constructions and properties of k out of n visual secret sharing schemes. Katoh and H. C. Shamir. Miri School of Information Technology and Engineering (SITE).C. Tokyo. pp. Constructions and bounds for visual cryptography. Languages. 1997. Ontario. Ateniese. Naor and A. 3. A. R.A. A. Design Codes and Cryptography. G. 612–613. De Santis. E. 1995 6. (1996) PP. 41–47 5. Tsai. A. 2. Canada Page 30 . Vol. Proceedings of International Conferences on Cryptology and Information Security. 23rd International Colloquium on Automata.Youmaran. pages 21–27. T. University of Ottawa.9. Chen. T. 2002. In the Proceedings of International Conference on Parallel and Distributed Systems. Commun. 7. Advances in Cryptology EUROCRYPT ’94. Blundo. of the ACM.230-237.Verheul and H. 4. M. Chang. and Yu. Shamir.BIBLOGRAPHY 1. in the Proceedings of International Symposium on Cyber Worlds: Theories and Practice.R. and T. A.