A method for streaming video data in a network including a source node, a plurality of relay nodes and one or more receiver nodes and including a set of security operations and video streaming operations with network coding, the method comprising: performing a one-time key distribution between the source node and each of the one or more receiver nodes; dividing the video data into one or more group of pictures "GoP", each of the more than one group of pictures having a predetermined time of duration; for each group of pictures "GoP", generating at the source node an n × n lower-triangular matrix A, in which I is a number of layers in the GoP wherein there is at least one row in the matrix A for each layer, 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 \; dividing the GoP into a plurality of vectors b... 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 I layers in the GoP; encrypting multiple symbols of each vector b (i) for each use of the encoding matrix; applying the encoding matrix A successively to the information symbols to be sent to provide a payload of one or more packets, comprised of encoded information symbols; encrypting each line of a first matrix A with a corresponding layer key wherein the encrypted first matrix A corresponds to a locked coefficients matrix; generating an n × n identity matrix corresponding to 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; and 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 unlocked coefficients, and packets are mixed with packets of the same or lower layers only. performing a one-time key distribution between the source node and each of the one or more receiver nodes; dividing the video data into one or more group of pictures "GoP", each of the more than one group of pictures having a predetermined time of duration; for each group of pictures "GoP", generating at the source node an n × n lower-triangular matrix A, in which I is a number of layers in the GoP wherein there is at least one row in the matrix A for each layer, 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 \; dividing the GoP into a plurality of vectors b... 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 I layers in the GoP; encrypting multiple symbols of each vector b (i) for each use of the encoding matrix; applying the encoding matrix A successively to the information symbols to be sent to provide a payload of one or more packets, comprised of encoded information symbols; encrypting each line of a first matrix A with a corresponding layer key wherein the encrypted first matrix A corresponds to a locked coefficients matrix; generating an n × n identity matrix corresponding to 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; and 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 unlocked coefficients, and packets are mixed with packets of the same or lower layers only.