The goal of this project is the design and the implementation of a framework based on cryptography that allows for the detection of manipulations in images or videos. Images or videos can be manipulated, e.g., individuals (or other objects) can be added to or removed from an image, video frames (or sequences of video frames) can be added to or removed from a video. Such a manipulation should be detected to ensure authenticity of content.
The manipulations should be detected based on cryptographic tools. Devices (software) that record scenes will need to include cryptographic signatures that later allow verifying that the recordings are not altered. A public key cryptographic hash on the image, video, etc. will not match if the item is altered in any way. Manufacturers would need to support a service that allows verification through private keys associated with the device that produced the image/video. The project will first have to select and specify the kind of content type (e.g., images, videos) to be considered in the scope of the project. Then one has to design a software framework and implement a prototype and a demo application illustrating the approach for a service that allows verification through private or public keys associated with the device (software) that produced the image/video.
Provided to the students: Optionally, virtual machine
Technologies: Public/Private Key infrastructure; Linux, Windows, or Cloud Infrastructure; JPEG; MPEG; Web-Technologies for implementing Web-based demo applications; Docker; Image processing libraries like imagemagick.org, using, e.g., perceptual hash support, e.g.: github.com/science-periodicals/phash-imagemagick
Tags: Cryptography; Web technologies; Docker; Klas