MPEG custom encoder/decoder with visual tests (bit level manipulation)

Job Description:

Our client wants has an older broadcast appliance that needs to have realtime encryption tested and validated.

We basically want to encrypt the video on the encoded frame level, ie (I, P, B frames) we want to bit manipulate frames before they go into the Huffman encoded stream. A custom encoding will be applied to the frames then they go to Huffman and the reverse on the decoder.

Import the file and encode the frames using Mpeg Inside the Mpeg decoder, we should isolate the packets and isolate frames of the three types we should then encrypt the frames with the encryption function then we should have the encrypted data repackaged the MPEG encoder should finish the job and continue with the process of writing them to the file The decryption should follow the same approach; then put it in reverse.

Extras: The encoding key will be a quadratic chaotic map (this is very easy the achieve once we have an entry into the raw encoded frames before Huffman) basically the map is the key that we shift bits according to so no worries there.

Simulation program for security analysis and output analysis

1)Specification of the tested frames

2) a) Histogram analysis

b) pixel distribution for the three RGB channels of the evaluated frame (for the original frame and encrypted frame)

3) Correlation coefficient analysis between plain and encrypted frames.

4)Entropy analysis

5)Peak signal-to-noise ratio (PSNR)

6) Number of pixel change rate (NPCR)

7)Unified average changing intensity (UACI) & MSE

8) Structural similarity (SSIM) index

9)Differential measurement using different control parameter measuring (MSE, UACI, NPCR)& Differential measurement using different initial condition measuring ((MSE, UACI,NPCR)

10)Encryption speed analysis

Will provide the key map generation function, and appropriately ranged seed values for the contributor, and a paper describing the attacks.




- Seeds for key generation

- A video file

- may add as well the encryption function acting on the bits (may be hard coded)


- an MPEG encoded file with the desired encryptions

- the file should be playable on any MPEG player

- The video playable is supposed to be in intelligible



- Seeds for key generation

- Mpeg encoded file (the encrypted file)

- may add as well the encryption function acting on the bits (may be hard coded)


- A video file

- should be playable by a video player

- supposed to be resembling the original video

Visualization Generator


- first video file

- second video file


- the outputs and visualizations listed above

Attack script


- A video file

- attack type and intensity ( eg salt and pepper attack)


- A video file of the same format with the desired attack applied

Навыки: Программирование на C++, Программирование на С, Архитектура ПО, Matlab and Mathematica, Python

ID проекта: #36235105