Skip to main content
Log in

Steganographic algorithm based on randomization of DCT kernel

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

Calibration attack is one of the most important attacks specially on JPEG domain steganography. Prediction of cover image statistics from its stego image is an important requirement in calibration based attacks. Domain separation techniques are used as a counter measures against such attacks because they make the cover image prediction process rather difficult. Most of the algorithms in the past are based on randomization of embedding locations. In this paper, we propose a new domain separation technique which is based on randomization of DCT kernel matrix. A comprehensive set of experiments are done to validate that the proposed domain separation scheme performs better than the related existing schemes.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. All the source codes for the feature extraction except 274DCA and ensemble classifier are taken from the link dde.binghamton.edu website

References

  1. “Further study on yass: Steganography based on randomized embedding to resist blind steganalysis,” in Proc. SPIE - Security, Steganography, and Watermarking of Multimedia Contents X, vol. 6819, Jan. 2008, pp. 681 917–681 928.

  2. “Steganalysis in high dimensions: fusing classifiers built on random subspaces,” in Proc. SPIE, vol. 7880, 2011.

  3. Avcibas I, Memon N, Sankur B (2003) Steganalysis using image quality metrics. IEEE Transaction on Image Processing 12:221–229

    Article  MathSciNet  Google Scholar 

  4. Chandrakanth B, Dutta T, Sur A “Steganographic algorithm based on parametric discrete cosine transform,” in Proc. ICVGIP’12 Eighth Indian Conference on Computer Vision, Graphics and Image Processing Article No. 79.

  5. Chen B, Wornell G (2001) Quantization index modulation: a class of provably good methods for digital watermarking and information embedding. IEEE Trans Inf Theory 47:1423–1443

    Article  MathSciNet  MATH  Google Scholar 

  6. Eggers J, Bauml R, Girod B “A communications approach to image steganography,” in Proc. SPIE Security and Watermarking of Multimedia Contents IV, vol. 4675, Apr. 2002.

  7. Farid H, Siwei L “Detecting hidden messages using higher-order statistics and support vector machines,” in Proc. 5th International Workshop on Information Hiding, Oct. 2002, pp. 340–354.

  8. Fridrich J “Feature-based steganalysis for jpeg images and its implications for future design of steganographic schemes,” in Proc. 6th International Workshop on Information Hiding, May 2004, pp. 67–81.

  9. Fridrich J, Goljan M, Lison P, Soukal D (2005) “Writing on wet paper”, IEEE Transactions on Signal Processing. Special Issue on Media Security 53:3923–3935

    Google Scholar 

  10. Holub V, Fridrich J, Denemark T “Universal distortion function for steganography in an arbitrary domain,” EURASIP Journal on Information Security, 2014

  11. Jain AK Fundamentals of Digital Image Processing. Prentice Hall, 1989, pp. 150–153.

  12. Kodovsky J, Fridrich J “Calibration revisited,” in Proc. SPIE, 11th ACM Multimedia and Security Workshop, p. 313.

  13. Kodovsky J, Fridrich J “Statistically undetectable jpeg steganography: Dead ends, challenges, and opportunities,” in Proc. ACM Multimedia and Security Workshop, 2007, pp. 3–14.

  14. Kodovsky J, Fridrich J, Holub V (2012) Ensemble classifiers for steganalysis of digital media. IEEE Transactions on Information Forensics and Security 7:432–444

    Article  Google Scholar 

  15. Kodovsky J, Pevny T, Fridrich J “Modern steganalysis can detect yass,” in Proc. SPIE, Electronic Imaging, Media Forensics and Security XII, vol. 7541, 2010.

  16. Liu Q “Steganalysis of dct-embedding based adaptive steganography and yass,” in Proc. 13th ACM Multimedia Workshop on Multimedia and Security, p. 77.

  17. Pevny T, Bas P, Fridrich J “Steganalysis by subtractive pixel adjacency matrix,” IEEE Trans. on Info. Forensics and Security, vol. 5, p. 215.

  18. Pevny T, Fridrich J “Merging markov and dct features for multi-class jpeg steganalysis,” in Proc. SPIE, Electronic Imaging, Security, Steganography, and Watermarking of Multimedia Contents IX, vol. 6505, Jan. 2007, pp. 03–04

  19. Pevny T, Fridrich J “Merging markov and dct features for multiclass jpeg steganalysis,” in Proc. SPIE, Electronic Imaging, Security, Steganography, and Watermarking of Multimedia Contents IX, p. 313.

  20. Provos N “Defending against statistical steganalysis,” in Proc. 10th USENIX Security Symposium, vol. 10, 2001, pp. 24–24.

  21. Sallee P “Model-based steganography,” in Proc. 2nd International Workshop on Digital Watermarking, Oct. 2003, pp. 154–167.

  22. Solanki K, Sarkar A, Manjunath B “Yass: Yet another steganographic scheme that resists blind steganalysis,” in Proc. 9th International Workshop on Information Hiding, Jun. 2007, pp. 16–31.

  23. Solanki K, Sullivan K, Madhow U, Manjunath B, Chandrasekaran S (2005) “Statistical restoration for robust and secure steganography”, in Proc. IEEE Int Conf on Image Processing 2:1118–1121

    Google Scholar 

  24. Sur A, Vignesh R, Mukherjee J “Secure steganography using randomized cropping,” LNCS Transactions on Data Hiding and Multimedia Security, Springer, vol. 7110, pp. 82–95, Feb. 2012

  25. Upham D, “Steganographic algorithm jsteg.”

  26. Wang JLJ, Wiederhold G (2001) Simplicity : semantics-sensitive integrated matching for picture libraries. IEEE Trans on Pattern Analysis and Machine Intelligence 23:947–963

    Article  Google Scholar 

  27. Westfeld A “High capacity despite better steganalysis (f5 - a steganographic algorithm),” in Proc. 4th Int. Workshop on Information Hiding, Apr. 2001, pp. 289–302

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arijit Sur.

Appendices

Appendix I: example of PDCT

Consider a matrix A

$$ \left(\begin{array}{ccc}\hfill 12\hfill & \hfill 9\hfill & \hfill 5\hfill \\ {}\hfill 24\hfill & \hfill 7\hfill & \hfill 15\hfill \\ {}\hfill 31\hfill & \hfill 2\hfill & \hfill 19\hfill \end{array}\right) $$

The 3 × 3 DCT kernel is given by D

$$ \left(\begin{array}{ccc}\hfill 0.5774\hfill & \hfill 0.5774\hfill & \hfill 0.5774\hfill \\ {}\hfill 0.7071\hfill & \hfill 0.0000\hfill & \hfill -0.7071\hfill \\ {}\hfill 0.4082\hfill & \hfill -0.8165\hfill & \hfill 0.4082\hfill \end{array}\right) $$

DCT(A) = D ∗ A ∗ D

$$ \left(\begin{array}{ccc}\hfill 41.3333\hfill & \hfill 11.4310\hfill & \hfill 16.4992\hfill \\ {}\hfill -10.6145\hfill & \hfill -2.5000\hfill & \hfill -13.5677\hfill \\ {}\hfill -3.2998\hfill & \hfill 0.2887\hfill & \hfill -0.8333\hfill \end{array}\right) $$

The 3 × 3 PDCT kernel when α = 1.25 is given by \( \overline{D} \)

$$ \left(\begin{array}{ccc}\hfill 0.6352-0.1474 i\hfill & \hfill 0.4655+0.2279 i\hfill & \hfill 0.5249+0.1749 i\hfill \\ {}\hfill 0.6275+0.2279 i\hfill & \hfill 0.1439-0.3523 i\hfill & \hfill -0.5800-0.2703 i\hfill \\ {}\hfill 0.3138+0.1749 i\hfill & \hfill -0.7166-0.2703 i\hfill & \hfill 0.4913-0.2074 i\hfill \end{array}\right) $$

PDCT(A) = \( \overline{D}\ast A\ast {\overline{D}}^{\prime } \)

$$ \left(\begin{array}{ccc}\hfill 37.3570+8.5973 i\hfill & \hfill 12.0092+3.3128 i\hfill & \hfill 13.8951+6.1228 i\hfill \\ {}\hfill -4.6532-15.5554 i\hfill & \hfill -0.6476-1.6196 i\hfill & \hfill -9.2278-6.7782 i\hfill \\ {}\hfill 0.8440-10.4383 i\hfill & \hfill 0.5825-3.5580 i\hfill & \hfill 1.2906-6.9777 i\hfill \end{array}\right) $$

Appendix II: Reversibility of randomized DCT (RDCT)

Proof for \( {\overline{D}}^{\prime}\overline{D}= I \), where \( \overline{D} \) is the RDCT kernel matrix

Let D 1, D 2, D 3, D 4, D 5, D 6, D 7, D 8 be the column vectors of DCT matrix D. We know that the DCT matrix D is a orthonormal matrix where the columns are unit vectors perpendicular to each other.

i.e. D i . D i  = 1 and D i . D j  = 0. This gives DD = I.

Now consider the product \( {\overline{D}}^{\prime}\overline{D} \). The diagonal entries are of the form D i . D i and other entries are of the form D i . D j . Hence it is clear that \( {\overline{D}}^{\prime}\overline{D}= I \)

Proof for Inverserdct(A rdct ) = A

$$ Inverserdct\left({A}_{rdct}\right)={\overline{D}}^{\prime }{A}_{rdct}\overline{D} $$
(10)

From Eq. 3 we get,

$$ {\overline{D}}^{\prime }{A}_{rdct}\overline{D}={\overline{D}}^{\prime}\left(\overline{D} A{\overline{D}}^{\prime}\right)\overline{D}={\overline{D}}^{\prime}\overline{D} A{\overline{D}}^{\prime}\overline{D} $$
(11)

As we have proved \( {\overline{D}}^{\prime}\overline{D}= I \), the above reduces to A. Therefore

$$ Inverserdct\left({A}_{rdct}\right)= A $$

Hence the reversibility is proved.

Appendix III: reversibility example of RDCT transform matrix

Consider a matrix A

$$ \left(\begin{array}{ccc}\hfill 12\hfill & \hfill 9\hfill & \hfill 5\hfill \\ {}\hfill 24\hfill & \hfill 7\hfill & \hfill 15\hfill \\ {}\hfill 31\hfill & \hfill 2\hfill & \hfill 19\hfill \end{array}\right) $$

The 3 × 3 DCT kernel is given by D

$$ \left(\begin{array}{ccc}\hfill 0.5774\hfill & \hfill 0.5774\hfill & \hfill 0.5774\hfill \\ {}\hfill 0.7071\hfill & \hfill 0.0000\hfill & \hfill -0.7071\hfill \\ {}\hfill 0.4082\hfill & \hfill -0.8165\hfill & \hfill 0.4082\hfill \end{array}\right) $$

Let the random matrix K

$$ \left(\begin{array}{ccc}\hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill \\ {}\hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right) $$

The 3 × 3 RDCT kernel is given by \( \overline{D} \) = KD

$$ \left(\begin{array}{ccc}\hfill 0.7071\hfill & \hfill 0.0000\hfill & \hfill -0.7071\hfill \\ {}\hfill 0.4082\hfill & \hfill -0.8165\hfill & \hfill 0.4082\hfill \\ {}\hfill 0.5774\hfill & \hfill 0.5774\hfill & \hfill 0.5774\hfill \end{array}\right) $$

RDCT(A) = A rdct = \( \overline{D}\ast A\ast {\overline{D}}^{\prime } \)

$$ \left(\begin{array}{ccc}\hfill -2.5000\hfill & \hfill -13.5677\hfill & \hfill -10.6145\hfill \\ {}\hfill 0.2887\hfill & \hfill -0.8333\hfill & \hfill -3.2998\hfill \\ {}\hfill 11.4310\hfill & \hfill 16.4992\hfill & \hfill 41.3333\hfill \end{array}\right) $$

\( Inverserdct\left({A}_{rdct}\right)={\overline{D}}^{\prime }{A}_{rdct}\overline{D} \)

$$ \left(\begin{array}{ccc}\hfill 12\hfill & \hfill 9\hfill & \hfill 5\hfill \\ {}\hfill 24\hfill & \hfill 7\hfill & \hfill 15\hfill \\ {}\hfill 31\hfill & \hfill 2\hfill & \hfill 19\hfill \end{array}\right) $$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Karri, S., Sur, A. Steganographic algorithm based on randomization of DCT kernel. Multimed Tools Appl 74, 9207–9230 (2015). https://doi.org/10.1007/s11042-014-2077-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-014-2077-0

Keywords

Navigation