Network coding In computer networking, linear network coding is a program in which intermediate nodes transmit data from source nodes to sink nodes by means of linear combinations.
Linear network coding may be used to improve a network's throughput, efficiency, ...
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
Homomorphic encryption is a form of encryption that permits users to perform computations on its encrypted data without first decrypting it. These resulting computations are left in an encrypted form which, when decrypted, result in an identical ...
signature scheme for use with network coding to prevent pollution attacks.
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
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or '' -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
assumptions of the hardness of the
discrete logarithm
In mathematics, for given real numbers ''a'' and ''b'', the logarithm log''b'' ''a'' is a number ''x'' such that . Analogously, in any group ''G'', powers ''b'k'' can be defined for all integers ''k'', and the discrete logarithm log''b' ...
problem and the computational
Elliptic curve Diffie–Hellman.
Network coding
Let
be a
directed graph where
is a set, whose elements are called vertices or
node
In general, a node is a localized swelling (a "knot") or a point of intersection (a vertex).
Node may refer to:
In mathematics
*Vertex (graph theory), a vertex in a mathematical graph
*Vertex (geometry), a point where two or more curves, lines, ...
s, and
is a set of
ordered pair
In mathematics, an ordered pair (''a'', ''b'') is a pair of objects. The order in which the objects appear in the pair is significant: the ordered pair (''a'', ''b'') is different from the ordered pair (''b'', ''a'') unless ''a'' = ''b''. (In con ...
s of vertices, called arcs, directed edges, or arrows. A source
wants to transmit a file
to a set
of the vertices. One chooses a
vector space
In mathematics and physics, a vector space (also called a linear space) is a set whose elements, often called ''vectors'', may be added together and multiplied ("scaled") by numbers called '' scalars''. Scalars are often real numbers, but can ...
(say of dimension
), where
is a prime, and views the data to be transmitted as a bunch of vectors
. The source then creates the augmented vectors
by setting
where
is the
-th coordinate of the vector
. There are
zeros before the first '1' appears in
. One can assume without loss of generality that the vectors
are
linearly independent. We denote the
linear subspace
In mathematics, and more specifically in linear algebra, a linear subspace, also known as a vector subspaceThe term ''linear subspace'' is sometimes used for referring to flats and affine subspaces. In the case of vector spaces over the reals, li ...
(of
) spanned by these vectors by
. Each outgoing edge
computes a linear combination,
, of the vectors entering the vertex
where the edge originates, that is to say
:
where
. We consider the source as having
input edges carrying the
vectors
. By
induction
Induction, Inducible or Inductive may refer to:
Biology and medicine
* Labor induction (birth/pregnancy)
* Induction chemotherapy, in medicine
* Induced stem cells, stem cells derived from somatic, reproductive, pluripotent or other cell t ...
, one has that the vector
on any edge is a linear combination
and is a vector in
. The k-dimensional vector
is simply the first ''k'' coordinates of the vector
. We call the
matrix
Matrix most commonly refers to:
* ''The Matrix'' (franchise), an American media franchise
** ''The Matrix'', a 1999 science-fiction action film
** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
whose rows are the vectors
, where
are the incoming edges for a vertex
, the global encoding matrix for
and denote it as
. In practice the encoding vectors are chosen at random so the matrix
is invertible with high probability. Thus, any receiver, on receiving
can find
by solving
:
where the
are the vectors formed by removing the first
coordinates of the vector
.
Decoding at the receiver
Each
receiver,
, gets
vectors
which are random linear combinations of the
’s.
In fact, if
:
then
:
Thus we can invert the linear transformation to find the
’s with high
probability
Probability is the branch of mathematics concerning numerical descriptions of how likely an Event (probability theory), event is to occur, or how likely it is that a proposition is true. The probability of an event is a number between 0 and ...
.
History
Krohn, Freedman and Mazieres proposed a theory in 2004 that if we have a hash function
such that:
*
is
collision resistant – it is hard to find
and
such that
;
*
is a
homomorphism
In algebra, a homomorphism is a structure-preserving map between two algebraic structures of the same type (such as two groups, two rings, or two vector spaces). The word ''homomorphism'' comes from the Ancient Greek language: () meaning "same" ...
–
.
Then server can securely distribute
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.
is expensive to compute and secure transmission of
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
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography (based on plain Galois fields) to provide e ...
over a finite field is an approach to
public-key cryptography
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
based on the algebraic structure of
elliptic curves
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If the ...
over
finite field
In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
s.
Let
be a finite field such that
is not a power of 2 or 3. Then an elliptic curve
over
is a curve given by an equation of the form
:
where
such that
Let
, then,
:
forms an
abelian group
In mathematics, an abelian group, also called a commutative group, is a group in which the result of applying the group operation to two group elements does not depend on the order in which they are written. That is, the group operation is commut ...
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 mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If ...
, in such a way as to constitute a
pairing (
bilinear form
In mathematics, a bilinear form is a bilinear map on a vector space (the elements of which are called '' vectors'') over a field ''K'' (the elements of which are called ''scalars''). In other words, a bilinear form is a function that is linear i ...
, though with
multiplicative notation
In mathematics and group theory, the term multiplicative group refers to one of the following concepts:
*the group under multiplication of the invertible elements of a field, ring, or other structure for which one of its operations is referred to ...
) on the
torsion subgroup In the theory of abelian groups, the torsion subgroup ''AT'' of an abelian group ''A'' is the subgroup of ''A'' consisting of all elements that have finite order (the torsion elements of ''A''). An abelian group ''A'' is called a torsion group (or ...
of
. Let
be an elliptic curve and let
be an algebraic closure of
. If
is an integer, relatively prime to the characteristic of the field
, then the group of
-torsion points,
.
If
is an elliptic curve and
then
:
There is a map
such that:
#(Bilinear)
.
#(Non-degenerate)
for all ''P'' implies that
.
#(Alternating)
.
Also,
can be computed efficiently.
Homomorphic signatures
Let
be a prime and
a prime power. Let
be a vector space of dimension
and
be an elliptic curve such that