PRIME WEIGHTED GRAPH IN CRYPTOGRAPHIC SYSTEM FOR SECURE COMMUNICATION

Cryptography is the study of techniques for ensuring the secrecy and authentication of the information. Public-key encryption schemes are secure only if the authenticity of the public-key is assured. Graph theory plays an important role in the field of cryptography for developing security schemes. In this paper we define the prime weighted graph and propose an efficient encryption scheme using prime weighted graph in cryptographic system for secure communication. Also, another aim is to design java program for the encryption/decryption algorithm. AMS Subject Classification: 68R10, 94C15, 05C22


Introduction
Cryptography was concerned totally with message encryption, i.e., the conversion of message from an intelligible form into unintelligible one and reverse again at the other end, rendering it unreadable by an unauthorized person without the knowledge of secret key (decryption key).In the modern age of technology cryptography is becoming a more and more central topic within computer sci-ence.As there is a need for more secure cryptographic schemes, the application of graph theory is going to increase for the development of secure encryption algorithms.R. Yadhu [1] have proposed a selective encryption mechanism using message specific key and spanning tree concept of graph theory.The mechanism provides protection of privacy in communication as it avoids the formation of self-loops and parallel edges and key is exchanged only among the authenticated persons only.Graph theory has a great contribution in the development of various encryption techniques.In this paper we propose a scheme for secure communication using prime weighted graph.

Cryptography
Cryptography [2] is the art and science of secure data communications over insecure channels.It is the study of method of sending messages in disguised form so that only the intended recipients can remove the disguise and interpret the message.Historically, the major consumers of cryptography were military and intelligence organizations.Today, however, cryptography is everywhere!Security mechanisms that rely on cryptography are an integral part of almost any computer system.Users rely on cryptography every time they access a secured website.Cryptographic methods are used to enforce access control in multi-user operating systems, and to prevent thieves from extracting trade secrets from stolen laptops.Software protection methods employ encryption, authentication, and other tools to prevent copying.

Cryptographic System
A cryptographic system [3] is any computer system that involves cryptography.Such systems include for instance, a system for secure electronic mail which might include methods for digital signatures, cryptographic hash functions, key management techniques, and so on.Cryptographic systems are made up of cryptographic primitives [4], and are usually rather complex.Because of this, breaking a cryptosystem is not restricted to breaking the underlying cryptographic algorithms; usually it is far easier to break the system as a whole.

Cryptanalysis
Cryptanalysis [5] refers to the art and science of analyzing information systems in order to study the hidden aspects of the systems.Cryptanalysis is used to breach cryptographic security systems and gain access to the contents of encrypted messages, even if the cryptographic key [6] is unknown.

Graph Theory
Graph theory is a branch of applied mathematics, which deals the problem with the help of graph.It is very easy to deal a problem graphically, as compare to theoretically.In mathematics and computer science, graph theory [7] is the study of graphs, which are mathematical structures used to model pair-wise relations between objects.

Graph
A graph [8] G = (V, E) consists of a set of objects V = v1, v2, v3, .... called vertices, and another set E = e1,e2, .... , whose elements are called edges, such that each edge ek is identify with an unordered pair (vi, vj) of vertices.The vertices associated with edge ek are called the end vertices of ek.The most common representation of a graph is by means of a diagram, in which the vertices are represented as points or nodes and each edge as a line segment joining its end vertices.Often this diagram itself is referred to as the graph.Figure 1 shows a graph G = (V, E) with vertex set V = a, b, c, d, e and the edge set E = e1, e2, e3, e4, e5, e6, e7, e8.

Simple Graph
A simple graph [9] G = (V, E) is consists of V, a non-empty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges, having no self loops (edges connected at both ends to the same vertex) and no parallel edges (more than one edge between any two different vertices).In a simple graph the edges of the graph form a set and each edge is a pair of distinct vertices.In a simple graph with n vertices, the degree of every vertex is at most (n-1).Figure 2 shows a simple graph.

Connected Graph
A graph G = (V, E) is said to be a connected graph [10] if there exists a path between every pair of vertices in G. Figure 3 shows a connected graph.

Prime Weighted Graph
A simple connected weighted graph G, in which the weight of each edge of the graph is a prime number, is called a prime weighted graph.Figure 5 shows a prime weighted graph.

Proposed Method
In this paper we aim to design a secure encryption / decryption algorithm using graph.In our proposed work the message will be encrypted in the form of the prime weighted graph.Since the graph is generated randomly, it is difficult to understand that which edge of the graph should be selected first and then which edge will come next, without the knowledge of decryption key.In our proposed scheme, we have considered the simple graph because the existence of parallel edges and self loops will create uncertainty in the selection of the edges.

Encryption Chart
Use any normal encryption chart.Table 1 shows the ASCII value encryption chart.

Encryption Algorithm
Let the message be : IT IS SECRET.
Step-1: Assign the ASCII value to each character of the message using table 1. Table 2 shows the assignment of ASCII value to the characters.
Step-2: Add the length of the string in ASCII value corresponding to each character.Here the length of the string is 13.The addition of the length of the string in the ASCII value is shown in table 3.
Step-3: Assign a prime number for each numerical value getting after addition.if the value is a prime number then consider the number as it is and if the number is a composite number then add some value to it to make it a prime number just coming after it.So that all the characters are to be assigned a prime number as shown in table 4.
The encrypted string of prime numbers is shown in table 5.
Step-4: Draw a prime weighted graph randomly with the prime numbers assigned as the weights of the edges and the numbers of vertices are to be randomly selected.
Let us choose 7 vertices and randomly assign 13 prime numbers of the string to the 13 edges and draw a random prime weighted graph as shown in figure 6.
Step-5: Send this graph as the encrypted message.

Decryption Algorithm
For the decryption of the graph to the original message, first we must know the sequence of the edges which is to be considered.i.e, the first decryption key is the sequence of edges is shown in table 6.
Step-1: Write the weight of each edge corresponding to the sequence of edges to get the string of prime numbers as shown in table 7.
Step-2: Subtract the elements of second decryption key from the corresponding prime number.The second decryption key is shown in table 8.
The string of numbers after subtracting second decryption key is calculated in table 9.
Step-3: Now from this resultant string of numbers subtract the length of the string.Since in our message the length of the string is 13, therefore subtract 13 from each number of the resultant string.After subtraction the original string of numbers is shown in table 10.

Conclusion
In the proposed method, while constructing the prime weighted graph, the selection of number of vertices and the assignment of edges is random, so it is hardly possible to predict for an unauthorized person that how many vertices should be chosen and which edge will come between which pair of vertices.Also it is very difficult to find the sequence of edges while decryption.Therefore the proposed algorithm is very useful for secure communication and has enormous potential to grow in future.

Table 1 :
ASCII Value Encryption Chart

Table 2 :
Assignment of ASCII Value to the Characters

Table 3 :
Addition of the Length of the String in the ASCII Value

Table 4 :
Assignment of a Prime Number to Each Character

Table 5 :
Encrypted String of Prime Numbers Java Program for Encrypting Original Message to the Sequence of Prime Numbers import java.io.

Table 6 :
Sequence of Edges (First Decryption Key)

Table 7 :
String of Prime Numbers

Table 8 :
Second Decryption key