Steganography is the discipline concerned with achieving confidential communication by hiding information in plain sight. Media for hiding this information include images, video, audio and markup languages.
Steganographic schemes typically exploit information redundancies which are not easily perceptible. Digital images tend to exhibit such redundancy, and thus are a popular medium for steganography. Throughout the years, many different methodologies have been proposed in the literature, of which steganographic schemes like F5, OutGuess or Yet Another Steganographic Scheme (YASS) are a sample. While some steganographic techniques operate in the primal domain, the majority of newer techniques utilize the frequency domain to conceal information. F5, OutGuess and YASS occupy this group, embedding the information to hide in the image’s discrete cosine transform (DCT) coefficients and extending the range of encodable images to compressed JPEGs.
We present Android software to encode and decode stego-images with OutGuess using a secure key, and detect whether a digital image is a stego-image encoded with OutGuess. Decoding and encoding functions are implemented with an emphasis on reliability and quality in a mobile setting, while also prioritizing user experience. Utilizing machine learning techniques on the DCT of stego-images encoded with OutGuess, our detector acts as a classifier, from which we fit a parameterized model to also indicate a confidence in percent. To our knowledge, this work adds two novel features to consumer mobile apps: an OutGuess encoder/decoder, and a stego-image detector.