IP Library Granted Patent US 9,923,714
Granted Patent B2
US 9,923,714 · App. 14/822,115 · Granted Mar 20, 2018

Secure network coding for multi-resolution wireless transmission

Inventors: Luisa Lima (Oporto, PT); Steluta Gheorghiu (Corbera de Llobregat, ES); Joao Barros (Oporto, PT); Muriel Medard (Belmont, MA); Alberto Lopez Toledo (Brooklyn, NY); Joao Vilela (Coimbra, PT)
Assignees: Massachusetts Institute of Technology; Universidade Do Porto; Telefonica, S.A.
H04L9/0819H04L1/1812H04L63/0428H04N7/167H04N21/2347H04N21/234327H04N21/2662H04N21/26613H04N21/6131H04N21/6377H04N21/64792H04W12/06H04L2001/0097H04L2209/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,923,714
App. No.
14/822,115
Granted
Mar 20, 2018
Kind
B2
Abstract

Described herein is a method and system for hierarchical wireless video with network coding which limits encryption operations to a critical set of network coding coefficients in combination with multi-resolution video coding. Such a method and system achieves hierarchical fidelity levels, robustness against wireless packet loss and efficient security by exploiting the algebraic structure of network coding.

Claims (65)

1. A method for streaming data in a network including a server node, a plurality of relay nodes and one or more receiver nodes, the method comprising:

performing a one-time key distribution between the source node and each of the one or more receiver nodes;

dividing the data into more than one group, each of the more than one group having a predetermined time of duration;

for each group, generating at the source node an n×n lower-triangular matrix A, in which n is the number of layers in the group wherein matrix A is used for encoding at the source only and each non-zero entry of matrix A is an element au chosen uniformly at random from all non-zero elements of the field F q \{0};

dividing the group into a plurality of vectors b (1) . . . b (w) , each of the vectors having K symbols S 1 -S K in which the k th symbol of each vector belongs to a corresponding one of the n layers in the group and wherein the number of vectors created is computed as size of group/n;

encrypting at least one symbol of each vector b (i) for each use of the encoding matrix wherein the output of the operation of a stream cypher is denoted as a symbol P with a random key K as E(P, K );

applying the encoding matrix A successively to the information symbols to be sent to provide encoded information symbols which comprise a payload of one or more packets;

encrypting each line of a first matrix A with a corresponding layer key wherein the first matrix A corresponds to a locked coefficients matrix;

generating an n×n identity matrix corresponding to the unlocked coefficients wherein each of the one or more packets comprise a header and the payload and wherein the header comprises the locked and unlocked coefficients;

encoding the one or more packets in relay nodes in accordance with a random linear network coding (RLNC) protocol wherein algebraic coding is performed on unlocked coefficients, locked coefficients and payload; and the relay nodes identify the layer of a packet by looking at the first non-zero position in the unlocked coefficients, and packets are mixed with packets of the same or lower layers only.

2. The method of claim 1 wherein performing algebraic coding on unlocked coefficients, locked coefficients and payload comprises performing algebraic coding indistinguishably on unlocked coefficients, locked coefficients and payload.

3. The method of claim 1 further comprising:

applying, via the receivers, Gaussian elimination over the unlocked coefficients;

recovering the locked coefficients by decrypting each line of the matrix with the corresponding key; and

obtaining plaintext by a substitution process.

4. The method of claim 3 wherein the protected symbols are encrypted with the key for the lowest level in the network such that all legitimate participants in the protocol can decrypt the locked symbols.

5. The method of claim 4 further comprising:

sending a first line of the matrix unencrypted; and

starting the encryption of symbols at symbol 2 so that layer 1 is accessible by all nodes in the network.

6. The method of claim 1 wherein only a single key per layer is used for multi-resolution encryption and wherein the single key is shared among all receivers.

7. The method of claim 6 wherein encrypting comprises encrypting the base layer of the group in order to achieve maximum security.

8. The method of claim 7 wherein composing a payload of the packets includes forming the payload by concatenating all the vectors A(E(b 1 , K ), b 2 , . . . , b x ) T .

9. The method of claim 6 wherein encrypting each line of matrix A with a corresponding layer key comprises encrypting each line of matrix A with a corresponding layer key via the source.

10. The method of claim 6 wherein:

a packet from an nth layer corresponds to the nth line of matrix A such that that each packet of layer x includes packets from layers 1 , . . . , x−1, x.

11. The method of claim 10 further comprising:

sending a first line of the matrix unencrypted; and

starting the encryption of symbols at symbol 2 so that layer 1 is accessible by all nodes in the network.

12. The method of claim 11 wherein when performing a linear combination of one packet of layer x with a packet of layer y>x, the resulting packet belongs to layer y.

13. A method of generating packets for transmission on a network, the method comprising:

generating an n×n lower triangular matrix in which each non-zero element is chosen uniformly at random out of all non-zero elements of a finite field;

dividing plaintext into vectors of elements wherein a first position of each vector is encrypted using a stream cipher; and

multiplying the matrix by each of the vectors to generate a payload of the packets wherein coefficients of the matrix are locked using one different key for each line of the matrix and placed in a header of the packets.

14. The method of claim 13 further comprising:

generating one line of an identity matrix for each line of the locked coefficients; and

sending the packets out to the network.

15. The method of claim 14 wherein generating an n×n lower triangular matrix comprises generating a 3×3 lower triangular matrix.

16. The method of claim 15 wherein dividing plaintext into vectors of elements comprises dividing plaintext into vectors of three elements.

17. A system for data streaming in a network, the system comprising:

(a) a server node for dividing data into more than one group, each of the more than one group having a predetermined time of duration wherein for each group, a source node generates an n×n lower-triangular matrix A, in which n is the number of layers in the group wherein matrix A is used for encoding at the source only and each non-zero entry of matrix A is an element a ij chosen uniformly at random from all non-zero elements of the field F q \{0} and the source divides the group into a plurality of vectors b (1) . . . b (w) , each of the vectors having K symbols S 1 -S K in which the k th symbol of each vector belongs to a corresponding one of the n layers in the group and wherein the number of vectors created is computed as size of group/n and wherein the source node encrypts at least one symbol of each vector b (i) for each use of the encoding matrix wherein the output of the operation of a stream cypher is denoted as a symbol P with a random key K as E(P, K ) and applies the encoding matrix A successively to the information symbols to be sent to provide encoded information symbols which comprise a payload of one or more packets and the source node encrypts each line of a first matrix A with a corresponding layer key wherein the first matrix A corresponds to a locked coefficients matrix and generates an n×n identity matrix corresponding to the unlocked coefficients wherein each of the one or more packets comprise a header and the payload;

(b) a plurality of relay nodes; and

(c) one or more receiver nodes wherein the header comprises the locked and unlocked coefficients and encodes the one or more packets in the relay nodes in accordance with a random linear network coding (RLNC) protocol wherein algebraic coding is performed on unlocked coefficients, locked coefficients and payload and the relay nodes identify the layer of a packet by looking at the first non-zero position in the unlocked coefficients, and packets are mixed with packets of the same or lower layers only.

18. A method of streaming data comprising:

generating a multi-resolution data set;

applying a random linear network coding (RLNC) protocol to the multi-resolution data set such that each layer of the multi-resolution data set is provided having a corresponding set of network coding coefficients provided from the RLNC protocol;

encrypting a predetermined set of the network coding coefficients of the multi-resolution data set;

forming a plurality of packets, each of the packets having one or more encrypted network coding coefficients.

19. The method of claim 18 wherein forming a plurality of packets comprises packets having one or more encrypted network coding coefficients, one or more unencrypted coefficients and a payload.

20. The method of claim 18 wherein generating a multi-resolution data set comprises generating hierarchical wireless video data.

21. The method of claim 18 wherein encrypting a predetermined set of the network coding coefficients comprises limiting encryption to a predetermined set of network coding coefficients which is less than all of the network coding coefficients.

22. The method of claim 18 wherein

generating a multi-resolution data set comprises generating multi-resolution video coding; and

encrypting a predetermined set of the network coding coefficients comprises limiting encryption to a predetermined set of network coding coefficients in combination with the multi-resolution video coding.

23. A method of generating packets for transmission on a network, the method comprising:

generating an n×n triangular matrix A with each non-zero element of the matrix having a value chosen uniformly at random out of all non-zero elements of a finite field;

dividing plaintext data into a plurality of vectors with each of the vectors having a number of elements equal to n;

multiplying the matrix by each of the vectors to generate a corresponding number of payloads;

encrypting each line of the matrix A using one different key to generate a set of locked coefficients; and

placing the each encrypted line in the header of each packet.

24. The method of claim 23 further comprising:

placing the payloads in respective packets; and

sending the packets out to the network.

25. The method of claim 23 wherein generating an n×n triangular matrix A comprises generating an n×n lower triangular matrix A.

26. The method of claim 23 further comprising encrypting the first position of each vector.

27. The method of claim 26 wherein encrypting the first position of each vector comprises encrypting the first position of each vector using a stream cypher.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2015
From: GHEORGHIU, STELUTA; LOPEZ TOLEDO, ALBERTO
To: TELEFONICA, S.A.
Reel/Frame 037066/0162 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2015
From: BARROS, JOAO; MEDARD, MURIEL
To: MASSACHUSETTS INSTITUTE OF TECHNOLOGY
Reel/Frame 036306/0949 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2015
From: LIMA, LUISA; VILELA, JOAO
To: UNIVERSIDADE DO PORTO
Reel/Frame 036306/0970 →
Continuity (4)
Continuation 13836981 · Mar 15, 2013
Continuation 13071674 · Mar 25, 2011
Provisional Application 61317532 · Mar 25, 2010
Related Publication 20150372809A1 · Dec 24, 2015