HOME

TheInfoList



OR:

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 packet In telecommunications and computer networking, a network packet is a formatted unit of Data (computing), data carried by a packet-switched network. A packet consists of control information and user data; the latter is also known as the ''Payload ...
s 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 A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
. 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 allows computations to be performed on encrypted data without first having to decrypt it. The resulting computations are left in an encrypted form which, when decrypted, result in an output th ...
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 In mathematics, a linear combination or superposition is an Expression (mathematics), expression constructed from a Set (mathematics), set of terms by multiplying each term by a constant and adding the results (e.g. a linear combination of ''x'' a ...
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 "hidden, secret"; and ''graphein'', "to write", or '' -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adversarial behavior. More gen ...
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 b^x=a. Analogously, in any group G, powers b^k can be defined for all integers k, and the discrete logarithm \log_b(a) is an integer k such that b^k=a ...
problem and the computational Elliptic curve Diffie–Hellman.


Network coding

Let G = (V, E) be a directed graph where V 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 E is a set of
ordered pair In mathematics, an ordered pair, denoted (''a'', ''b''), is a pair of objects in which their order is significant. The ordered pair (''a'', ''b'') is different from the ordered pair (''b'', ''a''), unless ''a'' = ''b''. In contrast, the '' unord ...
s of vertices, called arcs, directed edges, or arrows. A source s \in V wants to transmit a file D to a set T \subseteq V of the vertices. One chooses a
vector space In mathematics and physics, a vector space (also called a linear space) is a set (mathematics), set whose elements, often called vector (mathematics and physics), ''vectors'', can be added together and multiplied ("scaled") by numbers called sc ...
W/\mathbb_p(say of dimension d), where p is a prime, and views the data to be transmitted as a bunch of vectors w_1 ,\ldots , w_k \in W. The source then creates the augmented vectors v_1,\ldots , v_k by setting v_i = (0, \ldots , 0, 1, \ldots , 0, w_, \ldots , w) where w_ is the j-th coordinate of the vector w_i. There are (i-1) zeros before the first '1' appears in v_i. One can assume without loss of generality that the vectors v_i are
linearly independent In the theory of vector spaces, a set of vectors is said to be if there exists no nontrivial linear combination of the vectors that equals the zero vector. If such a linear combination exists, then the vectors are said to be . These concep ...
. We denote the
linear subspace In mathematics, the term ''linear'' is used in two distinct senses for two different properties: * linearity of a ''function (mathematics), function'' (or ''mapping (mathematics), mapping''); * linearity of a ''polynomial''. An example of a li ...
(of \mathbb_p^ ) spanned by these vectors by V . Each outgoing edge e \in E computes a linear combination, y(e), of the vectors entering the vertex v = in(e) where the edge originates, that is to say : y(e) = \sum_(m_e(f)y(f)) where m_e(f) \in \mathbb_p. We consider the source as having k input edges carrying the k vectors w_i. By induction, one has that the vector y(e) on any edge is a linear combination y(e) = \sum_(g_i(e)v_i) and is a vector in V . The k-dimensional vector g(e) = (g_1(e), \ldots , g_k(e)) is simply the first ''k'' coordinates of the vector y(e). We call the
matrix Matrix (: matrices or matrixes) or MATRIX may refer to: Science and mathematics * Matrix (mathematics), a rectangular array of numbers, symbols or expressions * Matrix (logic), part of a formula in prenex normal form * Matrix (biology), the m ...
whose rows are the vectors g(e_1), \ldots , g(e_k), where e_i are the incoming edges for a vertex t \in T, the global encoding matrix for t and denote it as G_t. In practice the encoding vectors are chosen at random so the matrix G_t is invertible with high probability. Thus, any receiver, on receiving y_1, \ldots , y_k can find w_1,\ldots ,w_k by solving : \begin y'\\ y_2' \\ \vdots \\ y_k' \end = G_t \begin w_1\\ w_2 \\ \vdots \\ w_k \end where the y_i' are the vectors formed by removing the first k coordinates of the vector y_i.


Decoding at the receiver

Each receiver, t \in T, gets k vectors y_1, \ldots , y_k which are random linear combinations of the v_i’s. In fact, if : y_i = (\alpha_, \ldots , \alpha_, a_, \ldots , a_) then : y_i = \sum_(\alpha_v_j). Thus we can invert the linear transformation to find the v_i’s with high
probability Probability is a branch of mathematics and statistics concerning events and numerical descriptions of how likely they are to occur. The probability of an event is a number between 0 and 1; the larger the probability, the more likely an e ...
.


History

Krohn, Freedman and Mazieres proposed a theory in 2004 that if we have a hash function H : V \longrightarrow G such that: * H is collision resistant – it is hard to find x and y such that H(x) = H(y); * H is a
homomorphism In algebra, a homomorphism is a morphism, structure-preserving map (mathematics), map between two algebraic structures of the same type (such as two group (mathematics), groups, two ring (mathematics), rings, or two vector spaces). The word ''homo ...
H(x+y) = H(x) + H(y). Then server can securely distribute H(v_i) to each receiver, and to check if : y = \sum_ (\alpha_iv_i) we can check whether : H(y) = \sum_ (\alpha_iH(v_i)) The problem with this method is that the server needs to transfer secure information to each of the receivers. The hash functions H needs to be transmitted to all the nodes in the network through a separate secure channel.H is expensive to compute and secure transmission of H 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 to provide equivalent security, compared to cryptosystems based on modula ...
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 Smoothness, smooth, Projective variety, projective, algebraic curve of Genus of an algebraic curve, genus one, on which there is a specified point . An elliptic curve is defined over a field (mathematics), ...
over
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field (mathematics), field that contains a finite number of Element (mathematics), elements. As with any field, a finite field is a Set (mathematics), s ...
s. Let \mathbb_q be a finite field such that q is not a power of 2 or 3. Then an elliptic curve E over \mathbb_q is a curve given by an equation of the form : y^2 = x^3 + ax + b, \, where a, b \in \mathbb_q such that 4a^3 + 27b^2 \not= 0 Let K \supseteq \mathbb_q, then, : E(K) = \ \bigcup \ 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 commu ...
with O as identity. The group operations can be performed efficiently.


Weil pairing

Weil pairing In mathematics, the Weil pairing is a pairing (bilinear form, though with multiplicative notation) on the points of order dividing ''n'' of an elliptic curve ''E'', taking values in ''n''th roots of unity. More generally there is a similar Weil ...
is a construction of
roots of unity In mathematics, a root of unity is any complex number that yields 1 when raised to some positive integer power . Roots of unity are used in many branches of mathematics, and are especially important in number theory, the theory of group char ...
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 the ...
E, in such a way as to constitute a
pairing In mathematics, a pairing is an ''R''- bilinear map from the Cartesian product of two ''R''- modules, where the underlying ring ''R'' is commutative. Definition Let ''R'' be a commutative ring with unit, and let ''M'', ''N'' and ''L'' be '' ...
(
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 linea ...
, though with multiplicative notation) 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 ...
of E. Let E/\mathbb_q be an elliptic curve and let \mathbb_q be an algebraic closure of \mathbb_q. If m is an integer, relatively prime to the characteristic of the field \mathbb_q, then the group of m-torsion points, E = . If E/\mathbb_q is an elliptic curve and \gcd(m, q) = 1 then : E \cong (\mathbb/m\mathbb) * (\mathbb/m\mathbb) There is a map e_m : E * E \rightarrow \mu_m(\mathbb_q) such that: #(Bilinear) e_m(P + R,Q) = e_m(P,Q)e_m(R,Q)\texte_m(P,Q + R) = e_m(P,Q)e_m(P, R). #(Non-degenerate) e_m(P,Q) = 1 for all ''P'' implies that Q = O. #(Alternating) e_m(P, P) = 1. Also, e_m can be computed efficiently.


Homomorphic signatures

Let p be a prime and q a prime power. Let V/\mathbb_p be a vector space of dimension D and E/\mathbb_q be an elliptic curve such that P_1, \ldots , P_D \in E /math>. Define h : V \longrightarrow E /math> as follows: h(u_1, \ldots , u_D) = \sum_ (u_iP_i). The function h is an arbitrary homomorphism from V to E /math>. The server chooses s_1, \ldots , s_D secretly in \mathbb_p and publishes a point Q of p-torsion such that e_p(P_i,Q) \not= 1 and also publishes (P_i, s_iQ) for 1 \leq i \leq D. The signature of the vector v = u_1, \ldots , u_D is \sigma(v) = \sum_ (u_is_iP_i) Note: This signature is homomorphic since the computation of h is a homomorphism.


Signature verification

Given v = u_1, \ldots , u_D and its signature \sigma, verify that : \begin e_p(\sigma,Q) & = e_p \left(\sum_ (u_i s_i P_i), Q \right) \\ & = \prod_i e_p(u_i s_i P_i,Q) \\ & = \prod_i e_p(u_i P_i, s_iQ) \end The verification crucially uses the bilinearity of the Weil-pairing.


System setup

The server computes \sigma(v_i) for each 1 \leq i \leq k. Transmits v_i, \sigma(v_i). At each edge e while computing y(e) = \sum_ (m_e(f)y(f)) also compute \sigma(y(e)) = \sum_ (m_e(f)\sigma(y(f))) on the elliptic curve E. The signature is a point on the elliptic curve with coordinates in \mathbb_q. Thus the size of the signature is 2 \log q bits (which is some constant times log(p) bits, depending on the relative size of p and q), and this is the transmission overhead. The computation of the signature h(e) at each vertex requires O(d_ \log p \log^ q) bit operations, where d_ is the in-degree of the vertex in(e). The verification of a signature requires O((d + k) \log^ q) bit operations.


Proof of security

Attacker can produce a collision under the hash function. If given (P_1, \ldots , P_r) points in E /math> find a = (a_1, \ldots , a_r) \in \mathbb_p^r and b = (b_1, \ldots , b_r) \in \mathbb_p^r such that a \not= b and : \sum_ (a_iP_i) = \sum_ (b_jP_j). Proposition: There is a polynomial time reduction from discrete log on the
cyclic group In abstract algebra, a cyclic group or monogenous group is a Group (mathematics), group, denoted C_n (also frequently \Z_n or Z_n, not to be confused with the commutative ring of P-adic number, -adic numbers), that is Generating set of a group, ge ...
of order p on elliptic curves to Hash-Collision. If r = 2, then we get xP+yQ = uP+vQ. Thus (x-u)P+(y-v)Q = 0. We claim that x \not = u and y \not = v. Suppose that x = u, then we would have (y-v)Q = 0, but Q is a point of order p (a prime) thus y-u \equiv 0 \bmod p. In other words y = v in \mathbb_p. This contradicts the assumption that (x, y) and (u, v) are distinct pairs in \mathbb_2. Thus we have that Q = -(x-u)(y-v)^P, where the inverse is taken as modulo p. If we have r > 2 then we can do one of two things. Either we can take P_1 = P and P_2 = Q as before and set P_i = O for i > 2 (in this case the proof reduces to the case when r = 2), or we can take P_1 = r_1P and P_i = r_iQ where r_i are chosen at random from \mathbb_p. We get one equation in one unknown (the discrete log of Q). 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 : ar_1P + \sum_(b_ir_iQ) = 0. Then as long as \sum_ b_ir_i \not\equiv 0 \bmod p, we can solve for the discrete log of Q. But the r_i’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 b_i, for 2 \leq i \leq r, not all zero, what is the probability that the r_i’s we chose satisfies \sum_ (b_ir_i) = 0? It is clear that the latter probability is 1 \over p . Thus with high probability we can solve for the discrete log of Q. 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. 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 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, ...
*
Homomorphic encryption Homomorphic encryption is a form of encryption that allows computations to be performed on encrypted data without first having to decrypt it. The resulting computations are left in an encrypted form which, when decrypted, result in an output th ...
*
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 to provide equivalent security, compared to cryptosystems based on modula ...
*
Weil pairing In mathematics, the Weil pairing is a pairing (bilinear form, though with multiplicative notation) on the points of order dividing ''n'' of an elliptic curve ''E'', taking values in ''n''th roots of unity. More generally there is a similar Weil ...
*
Elliptic-curve Diffie–Hellman Elliptic-curve Diffie–Hellman (ECDH) is a key agreement protocol that allows two parties, each having an Elliptic curve, elliptic-curve public–private key pair, to establish a shared secret over an insecure channel. This shared secret may be di ...
* Elliptic Curve Digital Signature Algorithm *
Digital Signature Algorithm The Digital Signature Algorithm (DSA) is a Public-key cryptography, public-key cryptosystem and Federal Information Processing Standards, Federal Information Processing Standard for digital signatures, based on the mathematical concept of modular e ...


References

{{Reflist


External links


Comprehensive View of a Live Network Coding P2P SystemSignatures for Network Coding(presentation) CISS 2006, Princeton
Finite fields Coding theory Information theory Error detection and correction