Master’s Project Proposal Secure communication of multimedia through encryption using matrix algorithm Sandeep Chandrashekaregowda January 28, 2014 Approved by: ________________________________________________________________ Advisor: Dr. Edward Chow Date ________________________________________________________________ Committee Member: Dr. Rory Lewis Date ________________________________________________________________ Committee Member: Dr. Jia Rao Date Table of content 1 Introduction .......................................................................................................................................... 1 1.1 2 Background ................................................................................................................................... 1 Proposed Project ................................................................................................................................... 2 2.1 Flexibility to perform selective encryption: .................................................................................. 2 2.2 Algorithm ...................................................................................................................................... 3 2.2.1 2.3 Summary of Multimedia Encryption ............................................................................................. 5 2.4 MP4 ............................................................................................................................................... 5 2.4.1 3 Matrix Encryption Algorithm ................................................................................................ 4 Frames................................................................................................................................... 6 Project plan ........................................................................................................................................... 7 3.1 Schedule ........................................................................................................................................ 7 4 Deliverables........................................................................................................................................... 7 5 References ............................................................................................................................................ 7 1 INTRODUCTION In 1995 Meyer and Gadegast introduced the encryption method called Secure WPEG, or shortly SECMPEG, designed for the MPEG-1 video standard. The SECMPEG I contains four different levels of security. At the first level, SECMPEG encrypts the [headers from the sequence layer to the slice layer, while the motion vectors and DCT [blocks are unencrypted. At the second level, most relevant parts of the I-blocks are I additionally encrypted (upper left corner of the block). At the third level, SECMPEG encrypts all I-frames and all I-blocks. Finally, at the fourth level, SECMPEG encrypts the whole MPEG-1 sequence. The authors chose Data Encryption Standard (DES) symmetric key cryptosystem, which was the natural choice, given that this cryptosystem had been around since 1976 and was the official symmetric encryption algorithm standardized by National Institute of Standard and Technology (NIST) and adopted by the US Government. Since DES is a symmetric key cryptosystem, it could only be used to achieve confidentiality. Meyer and Gadegast targeted solving the problem of data integrity as well. For that reason, the Cyclic - Redundancy-Check (CRC) was incorporated as a low-level solution to the integrity. The real data integrity mechanisms that included public key cryptography and cryptographically good hash functions such as MD4, MD5, or SHA were left for further research. [1] The encryption in SECMPEG (levels 1, 2, and 3) has some weaknesses. It is own that even though single P- or B-frame on its own carries almost no information tout the corresponding I-frame, a series of P- or B-frames can tell a lot if their base I¬-frames are correlated. Since SECMPEG introduces changes to the MPEG-1 format, a special encoder and decoder is needed to handle SECMPEG streams. Nevertheless, the SECMPEG paper and implementation my Meyer and Gadegast was one of the first important research initiatives for selective encryption of multimedia streams. 1.1 BACKGROUND The Video Encryption Algorithm (VEA) by Qiao and Nahrstedt is constructed with the goal to exploit the statistical properties of the MPEG video standard. The algorithm consists of the following four steps: Step 1: Let the 2n byte sequence, denoted by ala2...a2n, represent the chunk of an I-frame Step 2: Create two lists, one with odd indexed bytes ala3...a2n-l, and the other with even indexed bytes a2a4...a2n. Step 3: XOR the two lists into an n-byte sequence denoted with clc2...en Step 4: Apply the chosen symmetric cryptosystem E (for example DBS or AES) with the secret key KeyE on either odd list or even list, and thus create the cipher text sequence clc2...cn EKeyE(ala3...a2n-l) or clc2...cnEKeyE(a2a4...a2ri) respectively.[1] The partial encryption schemes for still images introduced by Cheng and Li are also further extended to the videos. The approaches proposed by Cheng and Li are not suitable for JPEG image compression, and thus naturally also not suitable for the MPEG video compression standard. Instead, the partial encryption algorithms are designed for the video compression methods, which use either quadtree compression or wavelet compression based on zero trees for 1 the video sequence intraframes, motion compensation, and residual error coding. For example, the partial encryption is applicable to the videos that are based on the Set Partitioning In Hierarchical Trees (SPIHT) image compression algorithm, which is an application of zerotree wavelet compression. Cheng and Li's partial encryption algorithms are designed to disguise the intraframes (I-frames), the motion vectors, and the residual error code of the given video sequences. In both quadtree compression and wavelet compression based videos, all I-frames are encrypted using the previously discussed methods for partial encryption of still images by Cheng and Li. In addition, it is also important to encrypt the motion vectors. [2]. 2 PROPOSED PROJECT This project will provide an encryption methodology with the bit-wise encryption. This helps secure multimedia data files in such a manner that securing only information in the frame data provides an effect of securing the file as a whole. The Matrix Encryption Algorithm consists of a set of processing steps repeated for four rounds with 128 bit (16 bytes) of key. The algorithm works on 16 bytes of data. We can divide the frame data in set of 16 bytes. Since, each set is encrypted individually and independently. We can process each steps parallel, which will increase the speed of encryption. Encrypting a bit stream, frame-wise at a fast rate is very important aspect, when we consider the real time video streaming. We can achieve this faster and stronger encryption can be achieved by parallel encryption of sets within the frame. This securing process is to be carried out in a manner so as to reduce the amount of time used up in securing the file. 2.1 FLEXIBILITY TO PERFORM SELECTIVE ENCRYPTION: In the frequency domain, it is easier to identify what parts of the data are critical for security purpose. This allows providing different levels of security and transparency. Selective encryption is a technique aiming to save computational time or to enable new system functionalities by only encrypting a portion of a compressed bit stream while still achieving adequate security. Selective encryption as well as partial encryption, are applied only on certain parts of the bit stream. In the decoding stage, both the encrypted and the nonencrypted information should be appropriately identified and displayed Encryption can be performed on just audio/video frames, when performance of the takes a major role. Thus selecting the part of the file, like just audio or just video, needs to be encrypted only the frames respective to the selection, is encrypted. This improves the performance of the encryption system, when we consider a large stream of video. Encryption can be performed on complete video stream, which encrypts both audio and video frames. 2 2.2 ALGORITHM This project will encrypt only the selected frames in multimedia, render the file playable. Each selected frames are encrypted separately. Multimedia Analyze to find out frames to be encrypted Selected Encrypt frames frames Remaining frames Encrypted multimedia Transmit Network Transmit Multimedia Unencrypted Analyze as to which frames to be decrypted frames Frames to be decrypted Decrypt frame Decrypted frames Fig 1: Figure 1 illustrates a simplified implementation of the algorithm 3 2.2.1 Matrix Encryption Algorithm Figure 2 – Matrix Encryption Algorithm 1. Initial Round: a. Divide the stream in frames to 16 bytes of sub-frames; consider it as a 4x4 matrix. Each sub-frame is encrypted separately. 2. Rounds: a. Operate on the part of matrix: Divide the matrix as 2x2 matrix (each cell will be containing 2x2 matrix in it). Perform Xor operation on 1st part of the matrix with its next one. b. Operate with Key: Perform Xor operation on the 4x4 matrix with key of 16 bytes (considering the key as 4x4 matrix for the operation) c. Shift cells: shift the divided matrix cell values clockwise. 3. Final Round: a. Append the encrypted sub-frames. 4 The Algorithm is: Step 1. Create matrix Step 2. xor X00(00,01, 10, 11) with X01(02, 03, 12, 13) respectively which updates only 1/4th of matrix. Step 3. Rotate X00->X01->X11->X10->X01 Step 4. Add Key. Step 5. Repeat step 2, 3, 4 for 3 more times. (Means all the 4 parts of matrix are updated). Since the first step operates on itself (in all the 4 rounds, the same above operation works), we need not to keep the s-Box like AES algorithm. The second step is just like AES algorithm, it uses 16 bytes key, which will be XORed with the resultant of the above step. (AES algorithm also uses 128 bit key, which mean 16 bytes). The third step will actually shuffles the bytes in the matrix. Unlike AES, which will shifts values within row. This algorithm will rotate the value position. The values changes row-wise as well as column-wise. 2.3 SUMMARY OF MULTIMEDIA ENCRYPTION Multimedia encryption involves changing the multimedia data stream itself to ensure secure transmission of video data between client and server (or two nodes). It can be accomplished by means of standard symmetric key cryptography where multimedia bit stream is treated as a binary sequence and the whole data can be encrypted using conventional cryptosystem such as AES or DES. In general, when the application requirements are not dynamic (not a real-time streaming) we can treat bit stream as a regular binary data stream and use the conventional encryption techniques. Encrypting the entire multimedia stream using standard encryption methods is referred to as the naive algorithm. There are many practical constraints in case of multimedia which make such a scheme not practical in real-life scenario. Communication encryption of multimedia content is a problem beyond the application of established encryption algorithms, such as DES or AES, to its binary sequence. This is primarily due to the way multimedia is used commercially. Unlike data encryption, where we want to encrypt a complete bit stream, mobile multimedia encryption introduces several challenges. For example, the content providers want to ensure real-time streaming of videos. 2.4 MP4 MP4 follows the ISO base format. The ISO Base Media File Format is designed to contain timed media information for a presentation in a flexible, extensible format that facilitates interchange, management, editing, and presentation of the media. This presentation may be 'local' to the system containing the presentation, or may be via a network or other stream delivery mechanism. The file structure is object-oriented; a file can be decomposed into constituent objects very simply, and the structure of the objects inferred directly from their type. The file format is independent of any particular network protocol while enabling efficient support for them in general. The ISO Base Media File Format is a base format for media file formats. One 5 such being MPEG-4 is technically described by the ISO/IEC 14496-12, in accordance with its compliance to the base format. [9] Frames Modern video file formats interleave audio and video to allow for playing even partially loaded video stream on the network. And they also employ video compression methodologies to conserve space. This compression is made possible by using relative references that is to say if two consecutive frames have almost the same content except for partial changes, it is preferable to record only the changes and use the reference frame to generate the current frame. I-frame (intra-coded frame) is an infra-coded picture in effect a fully specified picture, like a conventional static image file. I-frames are pictures coded without reference to any pictures except themselves. P-frame (Predicted frames) holds the changes in the image from the previous frame (Ex: Moving a car across a stationary background, only car’s movement needs to be recorded). B-frame (bi-directional predicted frame) helps specify the content by using differences between the current and both preceding and following frames. 2.4.1 Fig: 3 Group of frames [11] 6 3 PROJECT PLAN The ultimate goal of this project is to provide an algorithm and methodology by which the video and audio files are secured in time and space efficient manner. 3.1 SCHEDULE This project is to be completed by the end of term, Spring 2014. The following is a proposed schedule for the project: January 27, 2014 Completed final project proposal February 1, 2014 Begin project work February 5, 2014 To start the coding in Vb February 15, 2014 Discuss with advisor about the improvisations March 1, 2014 To start draft of report and discussions with advisor March 5, 2014 Final coding and UI March 15, 2014 To finish final project report April 10, 2014 To finish the project defense May 20, 2014 End of spring 2014 term 4 DELIVERABLES The master project report satisfying the standards of the board Working prototype of the algorithm. Technical documentation and the resources to be used A clean and user friendly user interface. Complete implementation of the algorithm. 5 REFERENCES [1] Qiao, Lintian, and Klara Nahrstedt. "A new algorithm for MPEG video encryption." Proc. of First International Conference on Imaging Science System and Technology. 1997. [2] Liu, Fuwen, and Hartmut Koenig. "A survey of video encryption algorithms."computers & security 29.1 (2010): 3-15. Lui, Oi-Yan, Ching-Hung Yuen, and Kwok-Wo Wong. "Chaos-Based selective encryption for AVS video coding standard." Advances in Multimedia Information Processing–PCM 2012. Springer Berlin Heidelberg, 2012. 501-512. [4] Lim, Youngkwon, et al. "MMT: An Emerging MPEG Standard for Multimedia Delivery over the Internet." MultiMedia, IEEE 20.1 (2013): 80-85. [5] Ravishankar, K. C., and M. G. Venkateshmurthy. "Region based selective image encryption." Computing & Informatics, 2006. ICOCI'06. International Conference on. IEEE, 2006. [6] Multimedia Security Handbook by Borko Furht and Darko Kirovski, published by CRC Press LLC in December 2004 [3] 7 [7] Forouzan, Behrouz A. 2008. Cryptography and Network Security. McGraw Hill higher Education. ISBN 978-0-07-287022-0 [8] QuickTime API Reference, 2005-08-11, Apple Computer, Inc. © 2005 Apple Computer, Inc. [9] http://en.wikipedia.org/wiki/Mp4 [10] http://en.wikipedia.org/wiki/I-frame [11] http://cs.uccs.edu/~cs525/ 8