Homomorphic signatures for network coding
Network coding has been shown to optimally use bandwidth in a network, maximizing information flow but the scheme is very inherently vulnerable to pollution attacks by malicious nodes in the network. A node injecting garbage can quickly affect many receivers. The pollution of network packets spreads quickly since the output of (even an) honest node is corrupted if at least one of the incoming packets is corrupted. An attacker can easily corrupt a packet even if it is encrypted by either forging the signature or by producing a collision under the hash function. This will give an attacker access to the packets and the ability to corrupt them. Denis Charles, Kamal Jain and Kristin Lauter designed a new homomorphic encryption signature scheme for use with network coding to prevent pollution attacks.[1] The homomorphic property of the signatures allows nodes to sign any linear combination of the incoming packets without contacting the signing authority. In this scheme it is computationally infeasible for a node to sign a linear combination of the packets without disclosing what linear combination was used in the generation of the packet. Furthermore, we can prove that the signature scheme is secure under well known cryptographic assumptions of the hardness of the discrete logarithm problem and the computational Elliptic curve Diffie–Hellman.
Network coding
Let  be a directed graph where
 be a directed graph where  is a set, whose elements are called vertices or nodes, and
 is a set, whose elements are called vertices or nodes, and  is a set of ordered pairs of vertices, called arcs, directed edges, or arrows. A source
 is a set of ordered pairs of vertices, called arcs, directed edges, or arrows. A source  wants to transmit a file
 wants to transmit a file  to a set
 to a set  of the vertices. One chooses a vector space
 of the vertices. One chooses a vector space  (say of dimension
(say of dimension  ), where
), where  is a prime, and views the data to be transmitted as a bunch of vectors
 is a prime, and views the data to be transmitted as a bunch of vectors  . The source then creates the augmented vectors
. The source then creates the augmented vectors  by setting
 by setting  where
 where  is the
 is the  -th coordinate of the vector
-th coordinate of the vector  . There are
. There are  zeros before the first '1' appears in
 zeros before the first '1' appears in  . One can assume without loss of generality that the vectors
. One can assume without loss of generality that the vectors  are linearly independent. We denote the linear subspace (of
 are linearly independent. We denote the linear subspace (of  ) spanned by these vectors by
 ) spanned by these vectors by  . Each outgoing edge
 . Each outgoing edge  computes a linear combination,
 computes a linear combination,  , of the vectors entering the vertex
, of the vectors entering the vertex  where the edge originates, that is to say
 where the edge originates, that is to say
where  . We consider the source as having
. We consider the source as having  input edges carrying the
 input edges carrying the  vectors
 vectors  . By induction, one has that the vector
. By induction, one has that the vector  on any edge is a linear combination
 on any edge is a linear combination  and is a vector in
 and is a vector in  . The k-dimensional vector
 . The k-dimensional vector  is simply the first k coordinates of the vector
 is simply the first k coordinates of the vector  . We call the matrix whose rows are the vectors
. We call the matrix whose rows are the vectors  , where
, where  are the incoming edges for a vertex
 are the incoming edges for a vertex  , the global encoding matrix for
, the global encoding matrix for  and denote it as
 and denote it as  . In practice the encoding vectors are chosen at random so the matrix
. In practice the encoding vectors are chosen at random so the matrix  is invertible with high probability. Thus any receiver, on receiving
 is invertible with high probability. Thus any receiver, on receiving  can find
 can find  by solving
 by solving
where the  are the vectors formed by removing the first
 are the vectors formed by removing the first  coordinates of the vector
 coordinates of the vector  .
.
Decoding at the receiver
Each receiver,  , gets
, gets  vectors
 vectors  which are random linear combinations of the
 which are random linear combinations of the  ’s.
In fact, if
’s.
In fact, if
then
Thus we can invert the linear transformation to find the  ’s with high probability.
’s with high probability.
History
Krohn, Freedman and Mazieres proposed a theory[2] in 2004 that if we have a hash function 
 such that:
 such that: 
-    is collision resistant – it is hard to find is collision resistant – it is hard to find and and such that such that ; ;
-   is a homomorphism – is a homomorphism – . .
Then server can securely distribute  to each receiver, and to check if
 to each receiver, and to check if
we can check whether
The problem with this method is that the server needs to transfer secure information to each of the receivers. The hash functions  needs to be transmitted to all the nodes in the network through a separate secure channel.
 needs to be transmitted to all the nodes in the network through a separate secure channel. is expensive to compute and secure transmission of
 is expensive to compute and secure transmission of  is not economical either.
 is not economical either.
Advantages of homomorphic signatures
- Establishes authentication in addition to detecting pollution.
- No need for distributing secure hash digests.
- Smaller bit lengths in general will suffice. Signatures of length 180 bits have as much security as 1024 bit RSA signatures.
- Public information does not change for subsequent file transmission.
Signature scheme
The homomorphic property of the signatures allows nodes to sign any linear combination of the incoming packets without contacting the signing authority.
Elliptic curves cryptography over a finite field
Elliptic curve cryptography over a finite field is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields.
Let  be a finite field such that
 be a finite field such that  is not a power of 2 or 3. Then an elliptic curve
 is not a power of 2 or 3. Then an elliptic curve  over
 over  is a curve given by an equation of the form
 is a curve given by an equation of the form
where  such that
 such that 
Let  , then,
, then,
forms an abelian group with O as identity. The group operations can be performed efficiently.
Weil pairing
Weil pairing is a construction of roots of unity by means of functions on an elliptic curve  , in such a way as to constitute a pairing (bilinear form, though with multiplicative notation) on the torsion subgroup of
, in such a way as to constitute a pairing (bilinear form, though with multiplicative notation) on the torsion subgroup of  . Let
. Let  be an elliptic curve and let
 be an elliptic curve and let  be an algebraic closure of
 be an algebraic closure of  . If
. If  is an integer, relatively prime to the characteristic of the field
 is an integer, relatively prime to the characteristic of the field  , then the group of
, then the group of  -torsion points,
-torsion points,
![E[m] = {P \in  E(\mathbb{\bar {F}}_q) : mP = O}](../I/m/878858483d0b2f38ae16cadc8ea6689a.png) .
.
If  is an elliptic curve and
 is an elliptic curve and  then
 then
There is a map ![e_m : E[m] * E[m] \rightarrow \mu_m(\mathbb{F}_q)](../I/m/41110f907005900728e4d0850e19a1ff.png) such that:
 such that:
- (Bilinear)  . .
- (Non-degenerate)  for all P implies that for all P implies that . .
- (Alternating)  . .
Also,  can be computed efficiently.[3]
 can be computed efficiently.[3]
Homomorphic signatures
Let  be a prime and
 be a prime and  a prime power. Let
 a prime power. Let  be a vector space of dimension
 be a vector space of dimension  and
 and  be an elliptic curve such that
 be an elliptic curve such that ![P_1, \ldots , P_D  \in   E[p]](../I/m/50793a56d7c58be34ce7e782ac440da4.png) .
Define
.
Define ![h : V \longrightarrow E[p]](../I/m/4c96db6e2df859365469619faac253bc.png) as follows:
 as follows:
 .
The function
.
The function  is an arbitrary homomorphism from
 is an arbitrary homomorphism from  to
 to ![E[p]](../I/m/0ff81db00ea358a73d443a7b10ac962e.png) .
.
The server chooses  secretly in
 secretly in  and publishes a point
 and publishes a point  of p-torsion such that
 of p-torsion such that  and also publishes
 and also publishes   for
 for  .
The signature of the vector
.
The signature of the vector  is
 is 
 Note: This signature is homomorphic since the computation of h is a homomorphism.
Note: This signature is homomorphic since the computation of h is a homomorphism.
Signature verification
Given  and its signature
 and its signature  , verify that
, verify that
The verification crucially uses the bilinearity of the Weil-pairing.
System setup
The server computes  for each
 for each  . Transmits
. Transmits  .
At each edge
.
At each edge  while computing
 while computing
 also compute
also compute
 on the elliptic curve
on the elliptic curve  .
.
The signature is a point on the elliptic curve with coordinates in  . Thus the size of the signature is
. Thus the size of the signature is  bits (which is some constant times
 bits (which is some constant times  bits, depending on the relative size of
 bits, depending on the relative size of  and
 and  ), and this is the transmission overhead. The computation of the signature
), and this is the transmission overhead. The computation of the signature  at each vertex requires
 at each vertex requires  bit operations, where
 bit operations, where  is the in-degree of the vertex
 is the in-degree of the vertex  . The verification of a signature requires
. The verification of a signature requires  bit operations.
 bit operations.
Proof of security
Attacker can produce a collision under the hash function.
If given  points in
 points in ![E[p]](../I/m/0ff81db00ea358a73d443a7b10ac962e.png) find
 find
 and
 and 
such that  and
 and
Proposition: There is a polynomial time reduction from discrete log on the cyclic group of order  on elliptic curves to Hash-Collision.
 on elliptic curves to Hash-Collision.
If  , then we get
, then we get  . Thus
. Thus  .
We claim that
.
We claim that  and
 and  . Suppose that
. Suppose that  , then we would have
, then we would have  , but
, but  is a point of order
 is a point of order  (a prime) thus
 (a prime) thus  . In other words
. In other words  in
 in  . This contradicts the assumption that
. This contradicts the assumption that  and
 and  are distinct pairs in
 are distinct pairs in  . Thus we have that
. Thus we have that  , where the inverse is taken as modulo
, where the inverse is taken as modulo  .
.
If we have r > 2 then we can do one of two things. Either we can take  and
 and  as before and set
 as before and set  for
 for  > 2 (in this case the proof reduces to the case when
 > 2 (in this case the proof reduces to the case when  ), or we can take
), or we can take  and
 and  where
 where  are chosen at random from
 are chosen at random from  . We get one equation in one unknown (the discrete log of
. We get one equation in one unknown (the discrete log of  ). It is quite possible that the equation we get does not involve the unknown. However, this happens with very small probability as we argue next. Suppose the algorithm for Hash-Collision gave us that
). It is quite possible that the equation we get does not involve the unknown. However, this happens with very small probability as we argue next. Suppose the algorithm for Hash-Collision gave us that
Then as long as  , we can solve for the discrete log of Q. But the
, we can solve for the discrete log of Q. But the  ’s are unknown to the oracle for Hash-Collision and so we can interchange the order in which this process occurs. In other words, given
’s are unknown to the oracle for Hash-Collision and so we can interchange the order in which this process occurs. In other words, given  , for
, for  , not all zero, what is the probability that the
, not all zero, what is the probability that the  ’s we chose satisfies
’s we chose satisfies  ? It is clear that the latter probability is
? It is clear that the latter probability is  . Thus with high probability we can solve for the discrete log of
 . Thus with high probability we can solve for the discrete log of  .
.
We have shown that producing hash collisions in this scheme is difficult. The other method by which an adversary can foil our system is by forging a signature. This scheme for the signature is essentially the Aggregate Signature version of the Boneh-Lynn-Shacham signature scheme.[4] Here it is shown that forging a signature is at least as hard as solving the elliptic curve Diffie–Hellman problem. The only known way to solve this problem on elliptic curves is via computing discrete-logs. Thus forging a signature is at least as hard as solving the computational co-Diffie–Hellman on elliptic curves and probably as hard as computing discrete-logs.
See also
- Network coding
- Homomorphic encryption
- Elliptic curve cryptography
- Weil pairing
- Elliptic curve Diffie–Hellman
- Elliptic curve DSA
- Digital Signature Algorithm
References
External links
- Comprehensive View of a Live Network Coding P2P System
- Signatures for Network Coding(presentation) CISS 2006, Princeton
- University at Buffalo Lecture Notes on Coding Theory – Dr. Atri Rudra

 
 





![E[m] \cong  (\mathbb{Z}/m\mathbb{Z}) * (\mathbb{Z}/m\mathbb{Z})](../I/m/310b8f481fa5aaa7c48f55c562831f0a.png)


