*Mobile devices are widely used for uploading/downloading media files such as audio, video and images to/from the remote servers. These devices have limited resources and are re- quired to offload resource-consuming media processing tasks to the clouds for further pro- cessing. Migration of these tasks means that the media services provided by the clouds need to be authentic and trusted by the mobile users. The existing schemes for secure exchange of media files between the mobile devices and the clouds have limitations in terms of memory support, processing load, battery power, and data size. These schemes lack the support for large-sized video files and are not suitable for resource-constrained mobile devices. This paper proposes a secure, lightweight, robust, and efficient scheme for data exchange between the mobile users and the media clouds. The proposed scheme con- siders High Efficiency Video Coding (HEVC) Intra-encoded video streams in unsliced mode as a source for data hiding. Our proposed scheme aims to support real-time processing with power-saving constraint in mind. Advanced Encryption Standard (AES) is used as a base encryption technique by our proposed scheme. The simulation results clearly show that the proposed scheme outperforms AES-256 by decreasing the processing time up to 4.76% and increasing the data size up to 0.72% approximately. The proposed scheme can readily be applied to real-time cloud media streaming.
*1.
*Introduction
*Mobile communication plays a vital role in our daily lives and has seen an unprecedented technological growth over the past two decades. Apart from using mobile devices for basic telecommunication services such as messaging and voice, an increasing number of customers is using their phones for sharing multimedia data by taking pictures and capturing videos. As a result, a huge amount of data is generated by mobile users all the time. According to the latest Cisco report, the data generated by mobile users grew up to 69% in 2014 with 2.5 exabytes per month at the end of 2014. During this period, 4G connections produced 10 times more data traffic as compared to non-4G connections. The expected growth of data traffic in 4G connections is shown in Fig. 1 1 . The vertical axis represents data in units of exabytes whereas horizontal axis represents the years.
*Although, the storage capacity of mobile devices has improved significantly, it still cannot meet the ever-increasing de- mands of mobile users. Cloud platforms facilitate mobile users by storing their data remotely in media clouds and retrieving later at any point of time. Therefore, they provide an ease for mobile users with an option to enhance their virtual storage [36] as shownin Fig.2 . Accessingthe dataover wireless channels from media clouds has gained popularity among the mobile users, primarily due to the development of various multimedia applications [42] . However, transmission of private data over wireless links is prone to various security breaches. As a result, security provisioning has become a major concern for data residing over the media clouds [35] . As the data can be transferred and stored on a cloud system through wireless links, it is vulnerable to alteration, unauthorized disclosure, and replay attacks [32] .
*The growing popularity of High Definition (HD) videos and the emergence of HD and beyond-HD formats such as 4k �2k or 8k �4k resolutions are creating a benchmark for visual quality [30] . The High Efficiency Video Coding (HEVC) is an emerging standard to deal with such high resolution multimedia contents [4] . This standard provides three basic modes for encoding multimedia contents, i.e., Intra, low-delay and random. The intra mode treats each video frame as an independent image and focuses on quality rather than compression. This mode contains only I-frames and is suitable for the applications including video surveillance and live high-quality video conferences, where no compromise on visual quality can be made.
*The low-delay mode provides more compression with a compromise on visual quality and provides approximately 33% reduction in bit rate. This mode is a combination of I and P-frames and is suitable for those online applications where compromise on visual quality can be made. An application of the low-delay mode is online gaming, which is usually played on mobile devices with low resolutions. The random mode is a combination of I, P and B-frames with a facility to access any part of a frame. This mode offers better compression as compared to the low-delay mode and is mainly used for contents storage with almost 31% reduction in bit rate [33] . As a result of the above distinguishing features of HEVC standard, researchers are focusing on developing security tech- niques which may utilize the encoded contents produced by HEVC standard. Such techniques not only require an analysis of HEVC-produced contents for data protection but also demand authorization by exchanging a keyasshown.  .
*1. The HD videos always contain redundant information.
*If these videos are encoded in Intra domain, the compression is too low for maintaining the visual quality. As a result of low compression, there is always an abundant space available for hiding secret information. We propose a cryptographic algorithm by using Intra-encoded HD video sequences in public clouds. Although it introduces a slight overhead of executing the proposed cryptographic algorithm on the input video sequence, it is still implementable on latest mobile devices.
*2. The encrypted videos are shared on a public cloud, which is semi-trusted. If an intruder downloads the video and steals the Private Key (PRK) and Public Key (PUK), it will only be able to decrypt the videos rather than the encrypted secret data. The decryption process can only be performed by an authentic user having a Secret Key (SK). Moreover, the targeted users are always mobile users, located at different geographic locations across the globe. Our proposed approach supports mobility of the users by authenticating them remotely.
*3. Our proposed approach is a combination of PRK, PUK, and SK and does not require continuous synchronization among the users as shown in Fig. 4 . The responsibilities of an uploading user is to encrypt and upload the data and the video on the cloud along with broadcasting an announcement to all authorized users that a new data has been uploaded. Afterwards, it is the choice of the other authorized users whether they want to download and decrypt the secret data, embedded in the uploaded videos. By possessing the same SK, they can download and fully decrypt the hidden data at any time.
*4. The proposed approach works efficiently in public clouds by providing the required security level and at the same time eliminating the cost of having private clouds. Our proposed approach efficiently utilizes the computational power of cloud resources by partially completing the decryption process. As a result, the delay occurring in the decryption process can be minimized at the receiver’s side. Since, our proposed scheme targets mobile users, it is not necessary for the receivers to have enough computational resources.
*relatively small and can easily be ignored as compared to the existing techniques. This variation mainly depends on the quantity of encrypted data. If the quantity is not too large, the increase in size will not be noticeable. This is contrary to the existing approaches, where the increase in size is relatively higher. Although we target HD videos in this paper, our proposed approach is equally applicable to any other resolution of the videos. The rest of the paper is organized as follows. In Section 2 , related work from literature is presented. In Section 3 , our pro- posed approach is explained in detail, followed by simulation setup and results in Section 4 . Finally, the paper is concluded in Section 5 .
*2                                                                                                                                                                                          

Related work                                                                                                                                                                               

*Mobile devices such as smartphones and tablets are becoming an indispensable part of our lives for entertainment and convenient communication. With the increasing popularity of various mobile devices, there is a phenomenal growth in the development of mobile applications such as email, web browsing, mobile games, terrestrial navigation, mobile health care, and social networking. These applications indicate that mobile devices are quickly becoming the dominant computing platforms for the provisioning of seamless connectivity and entertainment regardless of the user’s mobility. Mobile de- vices, on the other hand, are still restricted in terms of their resources such as computational capabilities, storage, and battery life time. Furthermore, they have limited communication resources such as available bandwidth and connectivity [5] . The resource-constrained nature of these devices limits the support for developing various mobile applications. Mobile Cloud Computing (MCC) has resolved the problem associated with the resource availability of these devices. The MCC al- lows mobile devices to offload computationally-complex and space-demanding tasks to the clouds [44,45] . Clouds, on the other hand, have ample resources and provide an ideal platform for resource-consuming mobile applications such as speech recognition and video encoding/decoding [9,37] .
*3                                                                                                                                                                               .
*Proposed approach                                                                                                                                                 
*In this section, we present our proposed data hiding scheme, which is a combination of PRK, PUK and SK. The underly- ing encryption algorithms used by our proposed scheme are modified AES-256 bit and RSA [10,16] . The modified AES-256 executes at the user’s side while the RSA executes at the cloud’s side. The cloud generates a pair of PRK and PUK. The PRK remains at the cloud’s side while the PUK is sent to the user for encryption purpose. Our proposed scheme is applied di- rectly to HEVC-encoded video stream. In general, this scheme has three major phases, i.e., HEVC video encoding, video and secret data encryption, half decryption and full decryption with the secret data extraction. The uploading user, also known as data owner, first encodes the video, encrypts the secret data using SK, adjusts the encrypted data into encoded video, and then encrypts the video using PUK to generate an encrypted HEVC Encoded Video Stream (HEVS). Next, the owner uploads the encrypted HEVS over the public cloud, where the cloud sources decrypt the video using the PRK, a technique known as half decryption. The cloud sources have no knowledge about the data hidden in the video stream. The receiver downloads the video, decrypts it using SK, extracts the required data and then either keeps or discards the video stream. The overall process of the proposed scheme is shown in Fig. 5 a and b.
*3.1. Video encoding and data encryption                                    
*An HD video usually contains N frames, where N is a positive integer. It is to be noted here that, for real-time processing, it is not possible to process and encode an entire video sequence in one go. Moreover, HEVC codec and HD videos require enough hardware resources and computing power. As our targeted users are mobile users, the above limitations need to be considered before starting an encoding process. A simple solution to deal these limitations is to reduce the total number
*of frames for encoding. Apart from encoding limitations, it is not compulsory to encrypt entire HEVS. The encryption of an entire HEVS increases the computations and time cost which also affect the format of the HEVS. One simple solution for these later limitations is to nominate a part of HEVS for encryption in order to enhance the security level. To keep the format of the HEVS undisturbed, it is safe to encrypt the secret data in Spatial Information (SI). The Motion Vectors (MVs) information can also be utilized for this purpose.
*3.1.2. Encryption in motion vectors
*The Motion Vectors (MVs) play an important role in video coding, especially in Inter and Random access modes. They are the key elements in the motion estimation process during video encoding/compression. In general, they are used to represent a block of pixels in current video frame, based on the position of same block of pixels in the reference video frame 2 . In the case of Intra mode, blocks of pixels are used to reference other blocks but within the same frame. This type of referencing is known as Intra prediction. Basically, the MVs are used to track moving regions and objects. Based on that motion information, compression and information discarding procedure is performed in video coding to keep the texture information of different objects in a video frame.
*3.2. Half decryption                                                                            
*As stated earlier, the data owner encrypts and uploads the data on the cloud. The application system on the cloud provides three major services, i.e., Secure Storage Space (SSS), Key Generator (KG), and Half Decryption Function (HDF). The user uploads the encrypted videos on the cloud through KG, which stores the uploaded videos in the SSS. Before storing the encrypted videos in the SSS, they are decrypted by HDF. In order to run such an application system over the public clouds, few assumptions are made:
*1. The main purpose behind the concept of public clouds is that they should be used freely with a trust factor. Al- though it is obvious that cloud owner may see the uploaded contents, it cannot change them. Therefore, it becomes a responsibility of the encryption scheme to secure the data in such environments.
*2. A user plays dual roles, i.e., a user may upload and download the data. Therefore, a user may be an owner or a requester.
*3. Each user posses the same SK.
* 4. To protect the data transmission between the user and the cloud over communication channels, it is assumed that it is protected by a security protocol, such as SSH.
*3.4. Proposed algorithm
*The step by step explanation of our proposed scheme is as follows.
* Step 1 : Registration Phase 1. Each MU i forwards its user ID to KG function on the nominated public cloud. 2. KG authorizes the MU i for uploading/downloading data by forwarding KG’s generated PUK. 3. The data owner encrypts the user ID and password using the PUK and sends it back to cloud for login session. 4. The KG replies back with the session information.
* Step 2 : Encoding Phase 1. Videos are encoded using HEVC codec in Intra mode. 2. This phase results in a Binary File (BF), also known as HEVS.
*Step 3 : Calculation Phase 1. Total number of blocks (TBs) in the generated BF are calculated. 2. DC/zero Blocks (DCBs) and AC/non-zero blocks (ACBs) are separated from each other.
* Step 4 : Pre-Encryption Phase 1. The AES-256 bit key, known as SK, is generated in the same way, as is generated in the original implementation. 2. The State matrix is set up. 3. Each Mobile User (MU i ) possess the same SK, where i = 1 , 2 , ���, n and MU i is either data owner or requester.
* Step 5 : Encryption Phase 1. Input : Video frames or Binary Packets 2. The secret data is encrypted through modified AES’s SK and converted into byte format. 3. 2’s complement of the encrypted secret data is computed. 4. Information about the SI, MV and IPMI is extracted from the frames header. 5. The encrypted data is added with the extracted information. 6. After adjusting the encrypted data, the HEVS is encrypted by the PUK.
*Step 6 : Uploading Phase 1. After authorization, data owner (MU i ) alerts the KG function that data is ready for uploading. 2. The KG function acknowledges MU i and starts receiving the data.
*Step 7 : Half Decryption Phase 1. This step involves cloud computing resources. 2. The encrypted video is decrypted at the cloud to reduce the user’s processing load by the HDF. 3. The PRK generated by the KG is used to perform this task. 4. After decrypting the complete data file, the KG stores it in the SSS.
* Step 8 : Downloading/Decryption Phase 1. The MU i is authenticated. 2. After authentication, the MU i downloads the required video, decrypts the secret data, and/or decodes the video by using the SK and/or HEVC codec, respectively.
*4.
*Simulation setup and results
*In this section, we present the experimental setup and results of our proposed scheme. Our scheme is mainly based on modified version of AES-256 but we also compare our results with other versions of AES and DES. Although AES-128, AES- 192 and DES-56 are also very popular, to assure better security, large-sized security keys are always preferable and difficult to crack. Table 1 shows a summarized comparison among AES, 3DES and DES techniques. All our experiments are performed on Dell machine with processor Intel CoreTM i 5 −3470 CPU @ 3.20 GHz and having memory 8 GB. For encoding purpose, we use HEVC/H.265 reference software version HM 16.6 with Intra configuration set- tings [3] . For simulation dataset, we use standard HD videos 3 . We select video sequences, i.e., PeopleOnStreet, Kimono, Cac- tus, and Rush_Hour, having 2560 �1600 and 1920 �1080 resolutions, respectively. The frame rate of the test videos varies from one video to another. In Table 2 , the details of test sequences used during the experiments are shown. As shown in the table, the test sequences have different frame rates. Similarly, these sequences contain multiple objects which are moving with different velocities. For testing purpose, we encode first 150 frames from each video sequence.