A zero knowledge authentication protocol based on novel heuristic algorithm of dense inducedsubgraphs isomorphism

Graphs provide a useful mathematical tool for modeling various real world phenomenons.Dense graphs arise in many places of interest, for instance the internet and social networks to name just two. The density of a graph should be a real number reflecting just how many edges it contains. Many networks found in the real world share the so-called “small world” property that is organized into communities. These organizations rely on close relationships of people belonging to a same subgroup. The term “network” is used to denote the real world entity that usually maps to a graph after it is modeled. Therefore, there is greater need to propose more efficient graph and subgraph match methods to decide if their structures are identical. Reduce the search space in these networks motivate many researchers to give generously persevering attempt to propose a new efficient algorithm for that purpose.According to theoretical and practical interest in graph isomorphism, a new algorithm for determining graph isomorphism between two dense graphs is proposed.Furthermore, a new algorithm for determining an induced subgraph isomorphism between pattern and target graphs is proposed also. Those algorithms are analyzed from complexity point of view to demonstrate its effectiveness after applying it to several types of graphs. It is demonstrated that subgraph isomorphism is an improvement over the use of graph isomorphism in the zero knowledge protocol. The improvement comes from


INTRODUCTION
raphs are widely used in real-life applications to model structured objects, molecules, images, combinatorial and networks. In many of these applications, one has to compare graphs to decide if their structures are identical. This problem is known as the graph isomorphism. It tests whether there is a one-to-one mapping between the vertices of two graphs. At the theoretical level, its main theoretical interest is to know whether graph isomorphism is in or -complete. Different approaches to the problem of graph isomorphism are presented. We was attempted to give a sketch description for the main idea of each algorithm. Isomorphism algorithms practical are classified into two main categories; one of them uses direct approach asthey take the two graphs to be compared, and try to find an isomorphism between them directly with a classical depth-first algorithm. The second class uses different approaches, they take a single graph and compute canonical labeling of the graph, such that, for two graphs and , if and only if and are isomorphic. One of such algorithm is RW [1], which is based on Random walks. It uses the steady state probability distribution of the Random Walk for the nodes. A modified version, RW2 [2], for this algorithm has also proposed by the same authors with a better matching rate and the same time complexity.
Other non-traditional approaches have been explored by McGregor [3] into new domain as a constraint. This approach does not consider significant due to the fact that the constraint problem is an NP-hard problem. The weakness of non-traditional approaches is because of transforming the problem into another paradigm. G

Eng. &Tech.Journal, Vol. 33,Part (B), No.1, 2015 A zero knowledge authentication protocol based on novel heuristic algorithm of dense inducedsubgraphs isomorphism
The subgraph isomorphism is an important problem and very general form of graph matching that finds practical applications in image processing, computer vision, computer aided design, bio computing, graph grammars, graph transformation, search operation in chemical database, Hamiltonian paths, cliques, matching, girth, and shortest paths [4].It is also used for feature recognition to describe the topological shape of a part as well as that of a primitive feature. Feature recognition is performed by searching graph representation to identify a subgraph that matches the primitive using subgraph isomorphism [5].
The heuristic search techniques are the essential part that most of the recent research on subgraphs isomorphism algorithms is based on;it is described in [6, 7, 8, and 9]. Some special cases used a tree searching procedure that is work better for example, Akinniyi et al., in [6]. Cheng and Huang in [7] used bitwise parallelism during the resolution process even though a sequential computer is used.
Cortadella and Valiente [8] were handling the combinatorial explosion in the case of small pattern graphs.The notion of neighborhood constraints has been considered by Larrosa and Valiente [9]. In particular, an efficient algorithm is described by Ullmann [10]; this algorithm proposes the first practical algorithm for subgraph isomorphism search for graphs. It is a backtracking algorithm which finds solutions by incrementing partial solutions or abandoning them when it determines that they cannot be completed.A more recent algorithm, known as VF2, it is based on a depth-first search strategy with a set of rules to efficiently prune the search tree. Such rules in case of isomorphism are shown in [11].
The growth and prosperity of the society is performed through communication that allows for the transfer of data between two or more entities. Determining whether the data used to make decisions is trustworthy and valid is a big challenge prompts many researchers to be in a continuous seeking for efficient and secure methods.The both communicated side have to trust the exchange of data for each other. Many protocols have been designed for this purpose, most of them required sufficient amount of time for new entity authentication. Minimizing the latency of authentication protocols is an important demand to protect the resources and network data [12] A zero knowledge protocol is one of such authentication protocols.Networks and entity groupings requires entity authentication while preserving the privacy of the entity being authenticated. Zero-Knowledge Proof plays an important role in authentication without revealing secret information [13].
The zero knowledge protocol makes use of graph isomorphism, and subgraph isomorphism.Since the graph isomorphism problems have been considered as a P problem, therefore, it is vulnerable to attacks by malicious users because it can be solved easily when it is used in some authentication protocols.Subgraph isomorphism has been proved as an NP-complete problem [14], so, it is considered as an improvement over the graph isomorphism problem for such of these protocols, such as, zero knowledge protocol. In this paper, an induced subgraph isomorphism is used as a zero-knowledge protocols, it shows an improvement over graph isomorphism problem in these protocols.

Definition and notations
We present the mathematical terminology used in this paper. Graphs and concepts related to graphs are introduced, followed by the required concepts and basic results from matrix theory.

Definition
A graph or simply consists of, a nonempty finite set called the vertices and a finite collection of unordered pairs of vertices called the edges . An edge connects or joins the vertices and , the vertices and are called the ends of .The order of is the number of vertices in ,denoted by | |, and the size of is the number of edges in denoted by | . Definition A graph is called vertex-labeled(or simply labeled) if a mapping is given.
is called a label of a vertex .

Definition
A graph is called edge-labeled if a mapping is given. is called a label of an edge .

Definition
The degree of a vertex is the number of edges incident to , denoted by . The maximum degree of a graph , denoted by , is defined to be Similarly, the minimum degree is denoted by , and such that

Definition
In a graph , the density is the ratio between the number of edges and the number of vertices . A graph is said to be denseif . Definition 2.6 [15]: A regular graph is a graph that it is vertices has the same degree. A regular graph with vertices of degree is called a -regular graph or a regular graph of degree .

Definition
In a graph , the distance from vertex to vertex denoted by is the length of the shortest walk from to , (i.e. the number of edges in such a walk). If there is no walk from to , then . For any , the distance from to is defined as .

Definition
A subgraph of a graph is a graph with , and . It is denoted by . Definition induced subgraph is a subset of the vertices of a graph together with all edges whose endpoints are both in this subset.An example of an induced subgraph of is obtained by selecting three vertices , , and all edges between those vertices. Note that is not an induced subgraph of since all edges between the four vertices must be included. Figure 2.1, demonstrates an example of a subgraph, spanning subgraph, and an induced

Eng. &Tech.Journal, Vol. 33,Part (B), No.1, 2015 A zero knowledge authentication protocol based on novel heuristic algorithm of dense inducedsubgraphs isomorphism
subgraph. Graph (b) represents both a subgraph and induced subgraph of (a), whereas (c), is a spanning subgraph but not an induced subgraph of (a). . The Bijection is said to be an isomorphism between the two graphs. Figure 2.20 is an example of graph isomorphism.

Definition
An induced subgraph isomorphism is an isomorphism with an induced subgraph of a given graph, i.e., a graph = ( , ) is isomorphic to an induced subgraph of a graph = ( , ) if there exists an induced subgraph of , say , such that . In this case a corresponding bijection between vertices of and is said to be an induced subisomorphism between two graphs.

Incidence matrix
The incidence matrix of an undirected graph with vertices and edges is a matrix Therefore, in addition to labeling the vertices, we must also label the edges. Hence, once the labeling is complete, the matrix is developed where, the rows represent the vertices and the columns represent the edges. If an edge is incident to a vertex in the graph, then the corresponding entry of the matrix is equal 1, otherwise the entry is zero.

Graph and induced subgraph isomorphism
The proposed method presents a heuristic algorithm for both graph and induced subgraphs isomorphism. It is based on the decomposition of the graph into components and refinements to find identification graph for and in graph isomorphism, and pattern graph in subgraph isomorphism. Each component is denoted by that

Eng. &Tech.Journal, Vol. 33,Part (B), No.1, 2015 A zero knowledge authentication protocol based on novel heuristic algorithm of dense inducedsubgraphs isomorphism
represents all sub-paths that contains minimum number of edges in the set of all paths between and .

Paths matrix
In this section, a heuristic algorithm is given to obtain paths matrix; it is a symmetric matrix, with entries that represent all sub-paths contain minimum number of edges in the set of all paths between any two vertices. Repeat to find other paths between and . a.
Start at , add if , after that add . b.
Continue until is reached. v.
Among all paths of step iv, choose the paths of minimum number of edges in each sub-path and call it . vi.
From steps iii and v, construct = . vii.
Return to step (ii) with then continue until reaching viii.
End For.

Graph identification
We give two heuristic methods to represent the identification for regular and irregular graph. Depending on the paths matrix of graph, the identification is determined by finding a minimum number of that contains all edges and vertices of graph.

Algorithm 3.2:
(This algorithm is applied on a regular graph to find its identification Among all rows, identify the rows that contain vertices of largest degree. ii. Repeat, for each row in step (i) to perform the following: a.
Search in all about the one that contains all edges and vertices, then choose that contains minimum number of edges in each path. Call it , the identification of the . b.
Else, collect two or more of the same row in step (i) to determine the identification of . iii. End

Graph isomorphism
The problem of deciding whether two graphs are isomorphic is fundamental in graph theory. Graphs and are said to be isomorphic if their vertices can be rearranged, so that, the corresponding edge structure is exactly the same. This problem can be very difficult to solve even for small graphs without a good algorithm. In this section a new algorithm is presented for determining whether two given graphs are isomorphic or not, as follows; Algorithm 3.4: (This algorithm is applied to find an isomorphism between and ). Input: the identification and Output: isomorphism between and i.
If the number of vertices, edges and the degree sequence of vertices are equal in and then continue. Else stop to conclude that and are not isomorphic. ii.
If contains same number of , same number of edges in each paths corresponding to then stop, and are isomorphic. iii.
Else and arenot isomorphic. iv. End Example: Let and be two given regular graphs presented in Figure 3.1.  }. Since contains all edges and vertices of , then is the identification of . and are not isomorphic because the identification of these graphs are different,

Subgraph isomorphism
This section presents the main algorithm, which finds the subgraphs and all induced subgraphs of a given target graph isomorphic to a pattern graph . This method essentially improves the run time when the algorithm was applied on dense graphs.

Algorithm 3.5 (this algorithm is applied on
to obtain all induced subgraph isomorphism). Input: . Output: all induced subgraph isomorphism between and .

Eng. &Tech.Journal, Vol. 33,Part (B), No.1, 2015 A zero knowledge authentication protocol based on novel heuristic algorithm of dense inducedsubgraphs isomorphism
i. Depending on the type of graph, determine the identification of pattern graph by algorithms 3.2 or 3.3. ii.
Repeat for each row in step (ii) to check the following. a.
If any entry contains equal number of paths, equal number of edges and vertices in each corresponding to then choose this entry. b.
For each row, find the number of edges in each entry , if the number of paths is greater than those of then remove some of them in a permutation way to obtain new collection of paths to be compared to . iii.
If consists of two or moreof , then collect two or more of step a or b in the same row as . iv. End Example: Let and be two given graphs presented in Figure 3.2.

Figure 3.2 Target and pattern graph
The incidence matrix of pattern graph is as follows; ( ) Algorithm 3.1 is applied to construct of pattern graph; all paths between any two vertices are as follows

Eng. &Tech.Journal, Vol. 33,Part (B), No.1, 2015 A zero knowledge authentication protocol based on novel heuristic algorithm of dense inducedsubgraphs isomorphism
= { , } The paths matrix for pattern graph denoted is a symmetric matrix, where so, it is enough to find the upper or lower triangle. Table: The paths matrix of pattern graph 0 0 0 Similarly: algorithm 3.1 is applied to construct of target graph , as follows; The incidence matrix of target graph is as follows; Now, algorithm 3.2 is applied to determine the identification of pattern graph Since contains all edges and vertices of , then is the identification of . An algorithm 3.5 is applied on to find subgraph and all induced subgraph of that is isomorphism to . = { , = { , }. These paths represent subgraph and all induced subgraph of a given target graph isomorphic to a pattern graph .

Software implementation
We have proposed in previous section algorithms on graph and subgraph isomorphism. The applicationof graph and subgraph isomorphism provides faster heuristic algorithms for finding, not one, but all induced subgraphs of the database graph isomorphic to a given pattern graph. This helps in to compute the measure of statistical significance of that pattern graph in the database and match between them in graph isomorphism.
This section is started off by describing how the code is implemented operates. The second part of this section is analyzed the complexity of each algorithm to investigate the performance of the whole algorithm. In other hand, the third part deals with presenting

Eng. &Tech.Journal, Vol. 33,Part (B), No.1, 2015 A zero knowledge authentication protocol based on novel heuristic algorithm of dense inducedsubgraphs isomorphism
and analyzing of some experimental results. Finally, a zero knowledge protocol which based on of induced subgraph isomorphism is described in section 5.
The proposed algorithms were implemented on a computer with the specification, CPU CORi3 with 2 GB Ram under the operating system Windows 7 using Visual Basic NET 2012.

Graph isomorphism
In this part, the first step is to input the elements of incidence matrix for the given graphs and . The second part is to find the identification of two graphs and to be used for comparison between them. The final step is to check whether they are isomorphism or not. This is performed through the key (find graph isomorphism) as shown in  In this part, the first step is to input the elements of incidence matrix for the pattern graph and the target graph. The identification of pattern graph and the paths matrix of target graph are calculated. Finally checking for subgraph isomorphism is accomplished by using the key (find subgraph isomorphism) as shown in   Journal, Vol. 33,Part (B), No.1, 2015 A

Experimental results
In order to verify the effectiveness of the proposed algorithm, some tests have been performed on dense graphs database. On these graphs, we have measured the time required for finding all the subgraph isomorphism or isomorphism between and using proposed algorithms. For the synthetic case, we generate random graphs of sizes (3. 9) vertices with various numbers of edges and labels to serve as database graphs. We used random graphs in graph isomorphism: graphs with ⁄ . For subgraph isomorphism, we use two types of random graphs are used: a target graph with ⁄ , and pattern graph. Choosing the maximum degree vertex helps to reduce the search space that is better than random search.  Using this algorithm for finding all induced subgraph has an advantage over some well-known algorithms designated to find only one graph or subgraph isomorphism.

Eng. &Tech.Journal, Vol. 33,Part (B), No.1, 2015 A zero knowledge authentication protocol based on novel heuristic algorithm of dense inducedsubgraphs isomorphism
 Based on minimal path search, it is better and faster than other types of search based on a chosen starting point randomly. This is because the determination of start and end vertices will facilitate the search space and improve the complexity of the search algorithm.  The density condition on the graph being used for search is another advantage that leads to a wide area of application of the proposed algorithm over some known algorithms suitable to be applied for low connected graphs.  The worst case arises when the vertices of the given graph are complete, so this case is overtaken in our algorithm.

Induced subgraph isomorphism as Zero-Knowledge Protocols
Zero knowledge protocols is enable one party called the prover to convince another party called the verifier the validity of a mathematical statement, such that, the verifier learns nothing other than the fact that the proven statement is true.  To use an induced subgraph isomorphism in zero knowledge protocols we should start with two public graphs, and . The isomorphism between graph and a subgraph of is the private key for the prover that should be keptsecret from all parties. Whereas, the verifier sends the prover either 0 or 1,if 0 is sent, the prover will send , if 1 is sent, the prover will send .  During the authentication exchange, the secret of the Prover will never compromise. In each round, one of two cases is proved.Either a graph that is isomorphic to graph is sent by the Prover, or a graph containing a subgraph isomorphic to graph is sent by the Prover.  In this protocol, the Verifier has no method to extract the Prover'ssecret . The verifier can never test the Prover's secret, so, hewill always have doubt that the Prover is a valid user, which is a part of the risk of using zero knowledge protocols.  By repeating the above verification steps based on subgraph isomorphism protocol,the Verifier doubt is reduced.The answer for both 0 and 1by the Prover should be prepared as long as he doesn't anticipate the Verifier response. The chance for the prover to guess the Verifier response is reduced as long as the multiple verification rounds is performed, and he will gradually win the Verifier's trust.  For n running time verification process,the trust is equal to 1-.The Verifier's trust of the prover moves closer, but never to 1with each run. Once the trust value has reached a specific threshold such as 95%, the protocol can be set to completely trust a prover.

Design of a parallel subgraph isomorphism protocol.
In the beginning, we have to create two public graphs known as and . The prover must create secret array of by algorithm (4.5) to find all subgraph isomorphism; this is kept by the prover and never shared. 1.
At the beginning of a verification round the prover will create an array called to be applied on in order to obtain the graph .

2.
For each verification round between the prover and the verifier, the prover will create array ,and therefore, a new .

3.
The prover chooses random , from , depending on the vertex of secret array of the prover , . 4.
The verifier sends the prover either 0 or 1. If 0 received, then the Prover will send and . If 1 is received then the Prover will send and . 5.
The verifier must be able to verify the prover is truthful during each round, the verifier will do this by testing that a.
Either and is isomorphic by algorithm (4.4). b.
Or by testing for a subgraph isomorphism of if it is isomorphic to by algorithm (3.4).
Example: Given two public graphs, pattern graph , and target graph , shown in Figure5.1.

Figure 5.1 Public graphs
In the beginning, the prover creates random array to be applied on the adjacent matrix of the target graph to obtain . The adjacent of The new graph is obtained by applied on , as shown in Figure 5.2.

Figure 5.2A graph
Contains seven subgraph isomorphism of , they are ), this kept by the prover and never shared. , , , If the prover chooses random and applied on it to obtain . The adjacent matrix of is as follows

CONCLUSIONS
The applicationof graph and subgraph isomorphism provides faster heuristic algorithms for finding, not one, but all induced subgraphs of the database graph isomorphic to a given pattern graph. New algorithms for graph and subgraph isomorphism are proposed in this paper.This helps to compute the measure of statistical significance of that pattern graph in the database and match between them in graph isomorphism. The graph isomorphism problem has been solved and therefore is vulnerable to attacks by malicious users. Therefore, subgraph isomorphism that is NP-complete problem is an improvement over the use of graph isomorphism in the zero knowledge protocol.The possibility of applying the proposed algorithm on a highly connected dense graph helps to expand fields of application that many traditional algorithms failed to cover.