<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Steganosaurus</title><link>https://staging.steganosaur.us/</link><description>Recent content on Steganosaurus</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><copyright>Copyright © 2022 James Ridgway</copyright><lastBuildDate>Wed, 20 Nov 2013 00:00:00 +0000</lastBuildDate><atom:link href="https://staging.steganosaur.us/index.xml" rel="self" type="application/rss+xml"/><item><title>Linux 32-bit, static linking and going open source!</title><link>https://staging.steganosaur.us/dissertation/blog/2013-11-20-202347-linux-32bit-static-linking-and-going-open-source/</link><pubDate>Wed, 20 Nov 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-11-20-202347-linux-32bit-static-linking-and-going-open-source/</guid><description>
&lt;p&gt;Recently, it had been bought to my attention that I only provide a 64-bit version of Steganosaurus. There is now a 32-bit build available for Linux operating systems. In producing the new 32-bit build, I realised that the 64-bit versions were not compiled with static linking. Therefore, if you do not have the dependencies installed, the application will fail to run.&lt;/p&gt;
&lt;p&gt;Over the next week or so, I intend to release a 32-bit build for Windows (and maybe Mac) and release new 64-bits build to fix the static linking issue. I also want to provide the functionality on the website for users to report bugs and issues with the application.&lt;/p&gt;</description></item><item><title>Video Steganography</title><link>https://staging.steganosaur.us/dissertation/blog/2013-04-23-180520-video-steganography/</link><pubDate>Tue, 23 Apr 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-04-23-180520-video-steganography/</guid><description>
&lt;p&gt;At the outset of this project, I undertook this work assuming that hiding data in video would be a complex task - due to the complexity of working with video file formats and codecs. As this project unfolded, it quickly transpired that I had underestimated quite how complex this project would be despite my cautious approach to the task.&lt;/p&gt;
&lt;p&gt;Nine months from the start of this project, I have developed and implemented simple steganographic schemes for hiding data in video by manipulating the motion vector values of H.264 and MPEG4 video files.&lt;/p&gt;</description></item><item><title>Download Section</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-29-110845-download-section/</link><pubDate>Fri, 29 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-29-110845-download-section/</guid><description>
&lt;p&gt;Today I have updated the website to add a &lt;em&gt;Download&lt;/em&gt; section. Hopefully over the next week I will be handing out the password so that people can test the software. I could be being too optomistic but I hope that I get the encoding scheme sorted in that time scale.&lt;/p&gt;</description></item><item><title>Appendices Rewrite</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-28-202622-appendices-rewrite/</link><pubDate>Thu, 28 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-28-202622-appendices-rewrite/</guid><description>
&lt;p&gt;After proof reading &lt;em&gt;Chapter 3: Requirements and Analysis&lt;/em&gt; I removed some of the redundant chapters (such as Progress) inherited from the Survey and Analysis. Upon doing this, I realised that this broke some of the references in the literature survey, so I have spend the last hour or so re-factoring the appendices and inserting some of the relevant information that resided in the chapters I removed.&lt;/p&gt;
&lt;p&gt;The appendices inherited from the Survey and Analysis are now slightly more concise. However, I am reluctant to remove them as they document key problems and setbacks experienced early on in the project. Furthermore, some of these setbacks influenced the root forwards and the design choices made later in the project.&lt;/p&gt;</description></item><item><title>First Draft of Chapter 3</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-28-172123-first-draft-of-chapter-3/</link><pubDate>Thu, 28 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-28-172123-first-draft-of-chapter-3/</guid><description>
&lt;p&gt;I have finished a first draft of &lt;em&gt;Chapter 3: Requirements and Analysis&lt;/em&gt; which has put me in a good position. However, my work for today hasn't finished yet.&lt;/p&gt;
&lt;p&gt;I now intend to spend the rest of the day finishing off bringing the GUI and app up to speed. The intention is to develop them further into a software product today, thus leaving tomorrow clear to focus on the problem of embedding data.&lt;/p&gt;</description></item><item><title>Writing, writing and writing....</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-28-092644-writing-writing-and-writing/</link><pubDate>Thu, 28 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-28-092644-writing-writing-and-writing/</guid><description>
&lt;p&gt;The last few days have been spent improving the Introduction and Literature Survey for the final report.&lt;/p&gt;
&lt;p&gt;This has included some new additions, such as a glossary, which will help identify the terms used throughout the report. At the moment, the glossary is simplistic and does not define too many terms. This is because I am trying to balance what should and should not go in the glossary. If I were to define every term relating to video coding, etc., that I use in the glossary, it would take up a lot of room. Furthermore, I don't want to bloat it with excessive definitions.&lt;/p&gt;</description></item><item><title>Encoding Problems</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-24-154648-encoding-problems/</link><pubDate>Sun, 24 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-24-154648-encoding-problems/</guid><description>
&lt;p&gt;Today I have decided to take another look at the encoding problems that I have been experiencing.&lt;/p&gt;
&lt;p&gt;Initially, I was encoding a single bit per frame by modifying the LSB of the X component of the motion vector belonging to the first macroblock. Unfortunately, I was experiencing issues where bits would flip. I have now experimented with different methods of encoding. I had collected results from encoding with the LSB (a bitmask of 1) and a bitmask of 2, 3, 4 and 8.&lt;/p&gt;</description></item><item><title>Change of course</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-23-211806-change-of-course/</link><pubDate>Sat, 23 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-23-211806-change-of-course/</guid><description>
&lt;p&gt;Today I have been doing some work on writing, mainly going over the first two chapters. Unfortunately, substantial work still needs to be done on this.&lt;/p&gt;
&lt;p&gt;I have also considered a change of course. Instead of developing a GUI as part of the main system, steganosaurus will be a command-line tool and I will develop a separate Java wrapper to act at the GUI. There are several reasons for this that I shall expand on later.&lt;/p&gt;</description></item><item><title>GUI, Unit Testing and Writing</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-23-134545-gui-unit-testing-and-writing/</link><pubDate>Sat, 23 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-23-134545-gui-unit-testing-and-writing/</guid><description>
&lt;p&gt;The last two days have been spent working on the GUI and Unit Testing existing code. Getting familiar with the GUI library has taken longer than I expected, and there are still some issues ion Mac OS X with X11 menu integration. However, for the time being, I am skipping over this issue as the GUI works fine on Windows and Linux.&lt;/p&gt;
&lt;p&gt;Over the next few days, I want to return to the encoding issue that I was experiencing. However, before I do this, I might further develop my steganalysis tools to help me better compare the video container and output file.&lt;/p&gt;</description></item><item><title>Aside: Inspiration</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-20-210044-aside-inspiration/</link><pubDate>Wed, 20 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-20-210044-aside-inspiration/</guid><description>
&lt;p&gt;A couple of weeks ago, this project inspired the idea of a new project - something to occupy myself with when this is over.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CDD3E6D5E79CD9D8C5D7DFDAE58FC59D91E4D8
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>GTK+ and Cunit</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-20-213619-gtk-and-cunit/</link><pubDate>Wed, 20 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-20-213619-gtk-and-cunit/</guid><description>
&lt;p&gt;It has taken its time, but I have finally got Cunit and GTK+ (GUI library) working on all platforms. It turns out GCC is rather particular about the ordering of arguments, and rather unconcerned with providing meaningful error messages.&lt;/p&gt;
&lt;p&gt;Anyway, this now works and it will leave tomorrow clear for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Writing&lt;/li&gt;
&lt;li&gt;Developing a GUI&lt;/li&gt;
&lt;li&gt;Further developing steganalysis tools&lt;/li&gt;
&lt;li&gt;Further working on steganographic techniques.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Edit: Using the unofficial GTK+ windows installer is a very quick way of getting GTK+ v3 working with MinGW: &lt;a href="http://www.tarnyko.net/en/?q=node/20"&gt;http://www.tarnyko.net/en/?q=node/20&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Report writing and Unit Testing</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-20-115627-report-writing-and-unit-testing/</link><pubDate>Wed, 20 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-20-115627-report-writing-and-unit-testing/</guid><description>
&lt;p&gt;Today is a day entirely dedicated to working on my dissertation, so I will blog as the day unfolds to document what I have achieved and any problem I encounter.&lt;/p&gt;
&lt;p&gt;The first issue I needed to tackle was the page numbering in LaTeX. Unfortunately, my attempts to fix this have been in vain. For some reason, pages before the contents page are incorrectly numbered. Despite the signed declaration being page “I” and the first item on the contents page, selecting the Signed Declaration from the contents page goes to the title page. Now that I have wasted enough time on this, I will process implementing the rest of the improvements to the final report (as per my last set of feedback).&lt;/p&gt;</description></item><item><title>Bug fixing and encoding issues</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-08-221422-bug-fixing-and-encoding-issues/</link><pubDate>Fri, 08 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-08-221422-bug-fixing-and-encoding-issues/</guid><description>
&lt;p&gt;A large amount of today has been spent investigating the issues highlighted during yesterday's blog post.&lt;/p&gt;
&lt;p&gt;Some progress has been made. Mike helped to identify a bug in LSB manipulation, so whilst the output is not as dirty as it once was, it is still not completely clear.&lt;/p&gt;
&lt;p&gt;Currently, I am out of ideas for things to try that might help to address these issues. As I mentioned in my previous post, I intend to investigate the motion vectors' properties (X and Y components) that cause issues during the decoding process. This might or might not yield anything useful, but at the moment, it's better than doing nothing.&lt;/p&gt;</description></item><item><title>Encoding</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-07-234805-encoding/</link><pubDate>Thu, 07 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-07-234805-encoding/</guid><description>
&lt;p&gt;Terminology distinction: I use encoding refers to the process of manipulating data to hide a bit. The term Coding refers to the process of the codec used to output the video bitstream based on the spatial-temporal models.&lt;/p&gt;
&lt;p&gt;So most of today has been spent messing around with encoding methods.&lt;/p&gt;
&lt;p&gt;I originally got &amp;quot;Hi Mike!&amp;quot; encoded as per my previous blog post. However, in trying to improve this, I somehow took a step backwards and got to a point where I wasn't encoding.&lt;/p&gt;</description></item><item><title>Hi Mike!</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-07-094323-hi-mike/</link><pubDate>Thu, 07 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-07-094323-hi-mike/</guid><description>
&lt;p&gt;Using a very simple system, I have encoded &amp;quot;Hi Mike!&amp;quot;. It is not perfect by far and is crude. Let me backtrack and explain why it was so crude.&lt;/p&gt;
&lt;p&gt;My initial encoding method was trying to set MV table values per macroblock, which wasn't working. Although I modified the motion vector, the changes I made were not being truly reflected in the motion vector during decoding.&lt;/p&gt;
&lt;p&gt;I have now worked out how to modify the overall motion vector, and I am modifying the X dimension only.&lt;/p&gt;</description></item><item><title>Small Update</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-05-102014-small-update/</link><pubDate>Tue, 05 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-05-102014-small-update/</guid><description>
&lt;p&gt;As of last night I have written the first two chapters (Introduction and Literatury Survey) of the final report.&lt;/p&gt;
&lt;p&gt;I hope to use the rest of this week to develop embedding mechanisms (not sure how long this will take).&lt;/p&gt;
&lt;p&gt;During downtime I have been experimenting with gtk+3. On Mac I have experienced the following issue:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;gtk gcc -Wall helloworld.c -o helloworld $(pkg-config --cflags --libs gtk+-3.0)
Package xcb-shm was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-shm.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xcb-shm', required by 'cairo', not found
Package xcb-shm was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-shm.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xcb-shm', required by 'cairo', not found
helloworld.c:3:21: error: gtk/gtk.h: No such file or directory
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;However, this can be fixed by running:&lt;/p&gt;</description></item><item><title>Video Steganography - lets play hide and seek!</title><link>https://staging.steganosaur.us/dissertation/blog/2013-03-01-212216-video-steganography-lets-play-hide-and-seek/</link><pubDate>Fri, 01 Mar 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-03-01-212216-video-steganography-lets-play-hide-and-seek/</guid><description>
&lt;p&gt;Progress on my dissertation this week has undoubtedly left me on a high - I have fixed my issue with audio distortion!&lt;/p&gt;
&lt;p&gt;I doubt I would have resolved this issue this quickly without the help of my supervisor, Mike Stannett. We spent an hour this week dissecting my code and the workings of FFmpeg over Skype. At the end of this, we were reasonably confident that we had isolated the problem, which I can now tell you was to do with the sample format of the audio stream. The audio sample format was not correctly deduced from the input file - the audio channel was treated as a 16-bit sample rate instead of 32-bit. Given my experimentation with WAV audio steganography at the start of this project, I was reasonably confident that this was the issue.&lt;/p&gt;</description></item><item><title>Compile Time Issues</title><link>https://staging.steganosaur.us/dissertation/blog/2013-02-21-155236-compile-time-issues/</link><pubDate>Thu, 21 Feb 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-02-21-155236-compile-time-issues/</guid><description>
&lt;p&gt;I was hoping that I would have had a good write-up on motion vectors at this point. Whilst I have been undertaking further reading and have a better understanding of how these work, I have not yet had the chance to formalise this in a write-up. I have also been looking at how I would go about modifying motion vectors.&lt;/p&gt;
&lt;p&gt;From what I have gauged so far, and from emails with Michael Niedermayer (one of the contributors of FFmpeg), I will need to modify FFmpeg to provide the encoding mechanisms with custom motion vectors.&lt;/p&gt;</description></item><item><title>AES, Test Vectors, Unit Testing</title><link>https://staging.steganosaur.us/dissertation/blog/2013-02-17-173109-aes-test-vectors-unit-testing/</link><pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-02-17-173109-aes-test-vectors-unit-testing/</guid><description>
&lt;p&gt;My aims for this week are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Resources section for the website.&lt;/li&gt;
&lt;li&gt;Write up information on AES for potential use in my final write up&lt;/li&gt;
&lt;li&gt;Introduce unit testing to my project (use it to prove my AES implementation is FIPS-197 compliant).&lt;/li&gt;
&lt;li&gt;Read up on motion vectors and expand my understanding of how these work.
&lt;ul&gt;
&lt;li&gt;Write up any findings&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Start work on motion vector manipulation. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In my previous two posts, I mentioned improvements to the website and the development of an AES cryptosystem.&lt;/p&gt;</description></item><item><title>Website Improvements</title><link>https://staging.steganosaur.us/dissertation/blog/2013-02-12-155028-website-improvements/</link><pubDate>Tue, 12 Feb 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-02-12-155028-website-improvements/</guid><description>
&lt;p&gt;In anticipation of new content, which should hopefully appear over the next week or so I have made some updates to my website.&lt;/p&gt;
&lt;p&gt;Most of these changes aren't public-facing. However, an entirely new section of the website is under construction and will hopefully be released by the end of the week.&lt;/p&gt;
&lt;p&gt;The only change you might notice is that the blog section is now paginated.&lt;/p&gt;</description></item><item><title>AES 256-bit CBC FIPS-197</title><link>https://staging.steganosaur.us/dissertation/blog/2013-02-10-153841-aes-256bit-cbc-fips197/</link><pubDate>Sun, 10 Feb 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-02-10-153841-aes-256bit-cbc-fips197/</guid><description>
&lt;p&gt;Intelligible blog title? Maybe, maybe not.&lt;/p&gt;
&lt;p&gt;The Advanced Encryption Standard (AES) has been widely recognised as government- and military-grade encryption for the past 12 years. The AES specification was initially established in 2001 by the U.S National Institute of Standards and Technology (NIST) to replace the then encryption standard DES (Data Encryption Standard).&lt;/p&gt;
&lt;p&gt;The AES cipher was initially called Rijndael (pronounced “rain dahl”) and was developed by Belgian cryptographers Joan Daemen and Vincent Rijmen.&lt;/p&gt;</description></item><item><title>Audio interference</title><link>https://staging.steganosaur.us/dissertation/blog/2013-01-13-230438-audio-interference/</link><pubDate>Sun, 13 Jan 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-01-13-230438-audio-interference/</guid><description>
&lt;p&gt;It would appear that the interference isn't caused by a lacking fdk-aac or any other similar library. It looks like I will have to try and filter/resample the audio frame or do something similar.&lt;/p&gt;
&lt;p&gt;Not sure exactly how I should go about this, so watch this space...&lt;/p&gt;</description></item><item><title>Compiling Cross Platform. Windows/OS X issues</title><link>https://staging.steganosaur.us/dissertation/blog/2013-01-13-210207-compiling-cross-platform-windowsos-x-issues/</link><pubDate>Sun, 13 Jan 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-01-13-210207-compiling-cross-platform-windowsos-x-issues/</guid><description>
&lt;p&gt;Since my last post couple of posts, I have been working on a few things at the same time.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GTK+ (not a priority)&lt;br&gt;
As a GUI is not high on the list of requirements, I have decided to strip this out for simplicity. The UI I had built thus far was simplistic but also didn't look right on OS X.&lt;/li&gt;
&lt;li&gt;Cross Platform&lt;br&gt;
This is one of my requirements (again not as important), but I think it is something I should be working on throughout development. So far I have been able to get his working on Windows, Linux and OS X (with one slight audio glitch).&lt;/li&gt;
&lt;li&gt;Audio Problem&lt;br&gt;
Transocding a video on Linux works perfectly.&lt;br&gt;
For Windows or OS X the audio is distorted.&lt;/li&gt;
&lt;li&gt;Modifying motion vectors.&lt;br&gt;
I am currently working on the basis of embedding information in motion vectors.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So, whilst I research exactly how to go about embedding data in motion vectors I am tackling other issues.&lt;/p&gt;</description></item><item><title>Quick Update</title><link>https://staging.steganosaur.us/dissertation/blog/2013-01-09-181504-quick-update/</link><pubDate>Wed, 09 Jan 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-01-09-181504-quick-update/</guid><description>
&lt;p&gt;Now that I have a transcoding system, I have started looking into how to manipulate the motion vectors of certain frames - at the moment, this hasn't yielded any progress. Whilst researching this, I am looking into developing an AES cryptosystem for encrypting the embedded data.&lt;/p&gt;
&lt;p&gt;I have also started trying to get my code to compile under Mac OS. So far, so good - I just need to set up GDK+ (setup SDL, FFmpeg and dependencies without any issues).&lt;/p&gt;</description></item><item><title>Transcoding in C with FFmpeg</title><link>https://staging.steganosaur.us/dissertation/blog/2013-01-06-140509-transcoding-in-c-with-ffmpeg/</link><pubDate>Sun, 06 Jan 2013 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2013-01-06-140509-transcoding-in-c-with-ffmpeg/</guid><description>
&lt;p&gt;Google doesn’t provide much information on transcoding video in C with FFmpeg – there are no examples anywhere of how to specifically do this. However, with a significant amount of determination and perseverance, I have successfully produced a system capable of transcoding a video file. It might have taken a day and a half to have it perfected, but I now feel that I fully understand aspects of video encoding and FFmpeg that I did not understand before.&lt;/p&gt;</description></item><item><title>Good progress with GTK+ and the return of a Windows development environment</title><link>https://staging.steganosaur.us/dissertation/blog/2012-12-28-204800-good-progress-with-gtk-and-the-return-of-a-windows-development-environment/</link><pubDate>Fri, 28 Dec 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-12-28-204800-good-progress-with-gtk-and-the-return-of-a-windows-development-environment/</guid><description>
&lt;p&gt;GTK+ is proving to be a very good GUI API for C – this really goes without saying given how GIMP, gedit, WMWare and various other applications have been built with it.&lt;/p&gt;
&lt;p&gt;I have nearly reached the point where all previously implemented functionality is accessible via the GUI. In fact, if everything goes to plan, I intend to revert to the difficult issue of video transcoding tomorrow&lt;/p&gt;
&lt;p&gt;At the moment, I am attempting to get FFmpeg to compile using MinGW under Windows 7. This is a precursor step in attempting to get the work I have developed to compile on both Linux (specifically Ubuntu) and Microsoft Windows.&lt;/p&gt;</description></item><item><title>Attempts at transcoding and GTK+</title><link>https://staging.steganosaur.us/dissertation/blog/2012-12-26-223304-attempts-at-transcoding-and-gtk/</link><pubDate>Wed, 26 Dec 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-12-26-223304-attempts-at-transcoding-and-gtk/</guid><description>
&lt;p&gt;Transcoding one video container to another (with an audio and video stream) is proving more complex than initially expected. Whilst progress with transcoding has plateaued with no success, I have started to build a simple GUI to house current and future functionality.&lt;/p&gt;
&lt;p&gt;The GUI is being built using GTK+. Integrating GTK+ into the makefile has been a painless process, and developing with the API has been relatively easy.&lt;/p&gt;
&lt;p&gt;GTK+ was chosen for its multi-platform support - one of the desired requirements of my project is cross-platform support.&lt;/p&gt;</description></item><item><title>Lit. Survey and Transcoding</title><link>https://staging.steganosaur.us/dissertation/blog/2012-11-19-181433-lit-survey-and-transcoding/</link><pubDate>Mon, 19 Nov 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-11-19-181433-lit-survey-and-transcoding/</guid><description>
&lt;p&gt;I have made good progress on the literature survey over the past week, writing a total of about ~3,300 words, giving what should be a detailed explanation of steganography and its counterpart, steganalysis. I currently reference 41 different papers, books, journals etc., and there are still about ten more sources that I haven't yet included.&lt;/p&gt;
&lt;p&gt;I have also started looking into the process of transcoding now that I have overcome my C and makefile hurdles. This has had a lesser priority, and resultantly, there is little to show for this. Whilst I have been successful in transcoding a video container to &amp;quot;raw video&amp;quot;, this is not what I am looking for. I need to be able to transcode between actual container formats such as MP4 and not just transcode to H.264 raw video.&lt;/p&gt;</description></item><item><title>Lit. Survey and Makefile Update</title><link>https://staging.steganosaur.us/dissertation/blog/2012-11-13-235202-lit-survey-and-makefile-update/</link><pubDate>Tue, 13 Nov 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-11-13-235202-lit-survey-and-makefile-update/</guid><description>
&lt;p&gt;Following my meeting with Mike, we have successfully resolved the makefile compiling errors (full credit to Mike). I have also now written just short of 2,000 words towards my literature survey. I am hoping to have the first draft (complete with diagrams) finished before the end of tomorrow.&lt;/p&gt;</description></item><item><title>Literature Survey</title><link>https://staging.steganosaur.us/dissertation/blog/2012-11-12-233330-literature-survey/</link><pubDate>Mon, 12 Nov 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-11-12-233330-literature-survey/</guid><description>
&lt;p&gt;Due to my current assignment workload, I am not where I wanted to be with my literature survey, but I have made a good start within the last couple of hours.&lt;/p&gt;
&lt;p&gt;There is a lot of background material for steganography, all with varying degrees of relevancy. I have decided to start the literature survey by explaining the different types of steganographic techniques and which of these have been used in audio and image steganography.&lt;/p&gt;</description></item><item><title>Makefile issues</title><link>https://staging.steganosaur.us/dissertation/blog/2012-11-12-233015-makefile-issues/</link><pubDate>Mon, 12 Nov 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-11-12-233015-makefile-issues/</guid><description>
&lt;p&gt;Yet again, I find myself in the position where I am being defeated by either GCC, Makefile or library linking. This rather frustrated blog post concerns Makefile issues I have been having.&lt;/p&gt;
&lt;p&gt;I have started exploring a couple of ideas in my head, but to implement them, I ideally need more structure to the codebase rather than working out of a single C file. So, with some trial and error, I adapted my current makefile to compile multiple files into a single executable. However, my non-main C files complain about undefined references.&lt;/p&gt;</description></item><item><title>C, C++ and Ffmpeg</title><link>https://staging.steganosaur.us/dissertation/blog/2012-11-06-130213-c-c-and-ffmpeg/</link><pubDate>Tue, 06 Nov 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-11-06-130213-c-c-and-ffmpeg/</guid><description>
&lt;p&gt;Over the past week and a bit I have been battling with the problems of using a managed Java wrapper to interact with the FFmpeg (a video library). In short, all of the wrappers I have found only extend the higher-level functionality of the library – I need to interact with lower-level packet/frame data.&lt;/p&gt;
&lt;p&gt;So, to cut a long story short, trying to link a simple C++ file using the g++ compiler seemed to be somewhat problematic. However, after significant experimentation, I have been able to link to the library from a C file using gcc and a makefile to build the source.&lt;/p&gt;</description></item><item><title>Problems with Java</title><link>https://staging.steganosaur.us/dissertation/blog/2012-10-23-121221-problems-with-java/</link><pubDate>Tue, 23 Oct 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-10-23-121221-problems-with-java/</guid><description>
&lt;p&gt;The aim for this week was to try and develop some method of encoding information in a video - this was quite an ambitious aim to be achieved over the course of a single week.&lt;/p&gt;
&lt;p&gt;Until this point, I used a Java library called Xuggler, a wrapper for the FFmpeg C/C++ library. This tool worked well when I was experimenting with some video manipulation tasks (overlaying text, etc.). However, this tool was somewhat limited. I was only able to work with frames as actual bitmap objects. The underlying raw frame data was not exposed. This needs to be exposed to be able to calculate transforms etc. LSB techniques do not work with lossy compression - my experimentation proved this.&lt;/p&gt;</description></item><item><title>Git and "Steganosaurus"</title><link>https://staging.steganosaur.us/dissertation/blog/2012-10-10-224024-git-and-steganosaurus/</link><pubDate>Wed, 10 Oct 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-10-10-224024-git-and-steganosaurus/</guid><description>
&lt;p&gt;Today's developments have been reasonably practical. I have set up a Git repository and have started work on a &amp;quot;Steganosaurus&amp;quot; which is taking the form of a Swing GUI application.&lt;/p&gt;
&lt;p&gt;So far, I have just implemented the basic Image and Audio steganography methods, which are exposed via the Tools section of this website. I have also added a basic Steganalysis tool that examines unencrypted LSB data for images. The tool allows for the raw extraction of a string of LSB data and shows ASCII character frequency.&lt;/p&gt;</description></item><item><title>Java, Xuggler and Ideas</title><link>https://staging.steganosaur.us/dissertation/blog/2012-10-08-130507-java-xuggler-and-ideas/</link><pubDate>Mon, 08 Oct 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-10-08-130507-java-xuggler-and-ideas/</guid><description>
&lt;p&gt;I have very briefly experimented with Xuggler. Xuggler is a tool that wraps the functionality of FFmpeg, and provides the ability to uncompress, modify, re-compress and transcode video.&lt;/p&gt;
&lt;p&gt;I have started developing a swing application in Java that I will use to how all of the steganography tools and techniques I develop. The intention is to release this for public use as I develop it.&lt;/p&gt;
&lt;p&gt;I have only spent about 10 minutes playing with Xuggler and have been able to produce a small and basic application that is capable of encoding a watermark image in the bottom right corner of the video. It's nothing new, but let's walk before we can run.&lt;/p&gt;</description></item><item><title>Paper Summaries (Part 2)</title><link>https://staging.steganosaur.us/dissertation/blog/2012-10-07-142209-paper-summaries-part-2/</link><pubDate>Sun, 07 Oct 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-10-07-142209-paper-summaries-part-2/</guid><description>
&lt;p&gt;Below are the remaining summaries of the papers mentioned in my Description Stage and Papers blog post.&lt;/p&gt;
&lt;h3 id="shanableh-t-2012-matrix-encoding-for-data-hiding-using-multilayer-video-coding-and-transcoding-solutions"&gt;Shanableh, T. (2012). Matrix encoding for data hiding using multilayer video coding and transcoding solutions.&lt;/h3&gt;
&lt;p&gt;This paper proposes a technique for hiding data in the MPEG file format. Matrix encoding is used in this method to encode data in the quantisation scales and motion vectors of the compressed MPEG video.&lt;/p&gt;
&lt;p&gt;The technique described in this paper involves building up the encoding over several layers; the authors explain that they have taken this approach due to some of the limitations of the video format. For instance, the number of quantisation scales available in coded video frames is limited.&lt;/p&gt;</description></item><item><title>Paper Summaries (Part 1)</title><link>https://staging.steganosaur.us/dissertation/blog/2012-10-06-153754-paper-summaries-part-1/</link><pubDate>Sat, 06 Oct 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-10-06-153754-paper-summaries-part-1/</guid><description>
&lt;p&gt;Below are summaries of some of the papers mentioned in my Description Stage and Papers blog post.&lt;/p&gt;
&lt;h3 id="singh-s--agarwal-g-2010-hiding-image-to-video-a-new-approach-of-lsb-replacement"&gt;Singh, S. &amp;amp; Agarwal, G. (2010). Hiding image to video: A new approach of LSB replacement.&lt;/h3&gt;
&lt;p&gt;This paper describes a technique for hiding an image in a video by hiding each row of pixels in the first row of pixels of different video frames. Although, this paper is dedicated to explaining the algorithm the authors propose, a very brief explanation of LSB encoding. The abstract also claims (without reference or evidence) that hiding data across multiple frames is “very difficult to analyse”.&lt;/p&gt;</description></item><item><title>Description Stage and Papers</title><link>https://staging.steganosaur.us/dissertation/blog/2012-10-04-204621-description-stage-and-papers/</link><pubDate>Thu, 04 Oct 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-10-04-204621-description-stage-and-papers/</guid><description>
&lt;p&gt;So far, I have completed the description stage document, which outlines the current developments in steganography and the problems and processes that this project will need to tackle.&lt;/p&gt;
&lt;p&gt;Over the past week and a bit, I have been locating papers that discuss relevant areas of steganography. I have detailed these papers below. Over the next few days, I intend to summarise these papers on my blog.&lt;/p&gt;
&lt;p&gt;Papers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sherly A. P. &amp;amp; Amritha P. P. A. (2010). Compressed Video Steganography using TPVD.&lt;/li&gt;
&lt;li&gt;Budhia, U. &amp;amp; Kundur, D. (2004). Digital video steganalysis exploiting collusion sensitivity.&lt;/li&gt;
&lt;li&gt;Budhia, U., Kundur, D., Zourntos, T. (2006). Digital Video Steganalysis Exploiting Statistical Visibility in the Temporal Domain.&lt;/li&gt;
&lt;li&gt;Bandyopadhyay, S. K. &amp;amp; Datta, B. (2011). Higher LSB Layer Based Audio Steganography Technique.&lt;/li&gt;
&lt;li&gt;Jyothi, V. B., Verma, S. M., Shanker, C. U. (2010). Implementation and Analysis of Email Messages Encryption and Image Steganography Schemes for Image Authentication and Verification.&lt;/li&gt;
&lt;li&gt;Hopper, N. J., Langford, J. &amp;amp; Ahn, L von. (2002). Provably Secure Steganography.&lt;/li&gt;
&lt;li&gt;Watkins, J. (2001). Steganography - Messages Hidden in Bits.&lt;/li&gt;
&lt;li&gt;Rabah, K. (2004). Steganography - The Art of Hiding Data&lt;/li&gt;
&lt;li&gt;Anderson, R. Stretching the Limits of Steganography.&lt;/li&gt;
&lt;li&gt;Zhao, H., Wang, H. &amp;amp; Khan, M. K. (2011). Steganalysis for palette-based images using generalized difference image and color correlogram.&lt;/li&gt;
&lt;li&gt;Prabhakaran, N. &amp;amp; Shanthi, D. (2012). A New Cryptic Steganographic Approach using Video Steganography.&lt;/li&gt;
&lt;li&gt;Yang, G., Li, J. He, Y. &amp;amp; Kang, Z. (2010). An information hiding algorithm based on intra-prediction modes and matrix coding for H.264/AVC video stream.&lt;/li&gt;
&lt;li&gt;Al-Frajat, A. K., Jalab, H. A., Kasirun, Z, M., Zaiden, A. A. &amp;amp; Zaiden, B. B. (2010). Hiding Data in Video File: An Overview.&lt;/li&gt;
&lt;li&gt;Singh, S. &amp;amp; Agarwal, G. (2010). Hiding image to video: A new approach of LSB replacement.&lt;/li&gt;
&lt;li&gt;Shanableh, T. (2012). Matrix encoding for data hiding using multilayer video coding and transcoding solutions.&lt;/li&gt;
&lt;li&gt;Liu, B., Lin. F., Lu, B. &amp;amp; Luo, X. (2006). Real-Time Steganography in Compressed Video.&lt;/li&gt;
&lt;li&gt;Zhang, C., Su, Y., Zhang, C. (2008). Video steganalysis based on aliasing detection.&lt;/li&gt;
&lt;li&gt;Cao,Y., Zhao, X. &amp;amp; Feng, D. (2012). Video Steganalysis Exploiting Motion Vector Reversion-Based Features.&lt;/li&gt;
&lt;li&gt;Mozo, A. J., Obien, M. E., Rigor, C. J., Rayel, D. F., Chua, K. &amp;amp; Tangonan, G. (2009). Video Steganography using Flash Video (FLV).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Description Stage and Background Reading</title><link>https://staging.steganosaur.us/dissertation/blog/2012-09-25-114544-description-stage-and-background-reading/</link><pubDate>Tue, 25 Sep 2012 00:00:00 +0000</pubDate><guid>https://staging.steganosaur.us/dissertation/blog/2012-09-25-114544-description-stage-and-background-reading/</guid><description>
&lt;p&gt;I have started reading background material on general steganography and video encoding in preparation for my dissertation. However, there are very few books that cover video steganography. Therefore I have been reading material that covers audio and image steganography. While these books do not deal with the video, they teach and explain the fundamental approaches crucial to steganography — regardless of the container.&lt;/p&gt;
&lt;p&gt;The online tools that can be found on this website are also part of my background reading/research. These tools were developed using knowledge and techniques gained from the background reading.&lt;/p&gt;</description></item></channel></rss>