Computer Laboratory

Course material 2010–11

Topics in Security: Forensic Signal Analysis

Principal lecturer: Dr Markus Kuhn
Contributing lecturer: Mr Andrew Lewis
Taken by: MPhil ACS

This reading class takes place in room SW01 at 14:00–16:00 on the eight Fridays 2009 October 8 to November 26.


This course looks at recent research literature on security applications of digital signal processing techniques.


A particular focus will be algorithms for the forensic analysis of digital signals, such as identifying origin, processing history, manipulation, information leakage, or steganographic content in radio signals, images, audio or video recordings. Related topics that may be touched upon include advanced eavesdropping and side-channel analysis techniques that are of concern in the design of secure and privacy-preserving digital devices. Example topics are

  • Digital photography: processing pipeline and sensor characteristics, sensor identification.
  • Image and video processing: resampling algorithms (rotation, scaling) and their identification via linear dependency patterns among adjacent pixels, compression history identification, super-resolution.

as well as excursions into related areas such as

  • Steganography, watermarking, and fingerprinting: algorithms for hiding, recovering, detecting and distorting embedded signals, invariant properties
  • Side-channel attacks: timing analysis on cipher implementations, power analysis, electromagnetic analysis, compromising emanations


On completion of this module students should:

  • have gained an overview of the existing literature in forensic signal analysis and some other security applications of signal processing algorithms,
  • appreciate the theoretical fundations, prerequisites and skills needed for doing research in this area,
  • have gained experience in critically reviewing papers.

Course work

Each week we discuss a main topic covered by typically 2–4 related papers or book chapters. For each week (except the first meeting)

  • one student will prepare a 30 minute talk (with slides) covering the main topic;
  • one student will prepare a practical 30 min demonstration of one or more of the algorithms discussed in the covered papers, presenting both the output and the source code (e.g. MATLAB, NumPy);
  • all other students will hand in an essay of not more than 2000 words, critically summarizing the core ideas of the papers. (Three essays are required in total.)

The roles of giving a talk and presenting a demonstration will rotate each week and the number of talks and demonstrations to be given by each student will depend on the number of students who take the course.

Essays are due on 12:00 on the Wednesday before the session. (An exception will be made for the second meeting, where essays will be due on 10:00 of the day of the session.) Students who give talks or demonstrations have to hand in copies of their slides or source code and example output by 12:00 of the Monday following their presentation.

Essays should be handed in with the pink cover sheet to Student Administration. Talk slides should be emailed as PDF to [Javascript required], demonstrations as a *.zip or *.tar.gz file.

Where appropriate, students are expected to follow-up on their own necessary references and textbook introductions when preparing their talks.

In addition, there will be a list of secondary topics and papers that each student should also read and that will be discussed or demonstrated briefly by the lecturer(s) at the end of each session, subject to available time.

All students are expected to contribute actively to discussions during the sessions and are expected to be present at each session.


The final course grade will be composed of

  • 90% average mark of the three best essays handed in (3×18%), the talk given (18%) and the demonstration given (18%)
  • 10% contribution to discussions


This is a draft and may still change.

Related links