The Scientific World Journal

The Scientific World Journal / 2014 / Article

Research Article | Open Access

Volume 2014 |Article ID 192512 |

Balakrishnan Ramalingam, Rengarajan Amirtharajan, John Bosco Balaguru Rayappan, "Stego on FPGA: An IWT Approach", The Scientific World Journal, vol. 2014, Article ID 192512, 9 pages, 2014.

Stego on FPGA: An IWT Approach

Academic Editor: J. Sarangapani
Received27 Aug 2013
Accepted30 Dec 2013
Published26 Feb 2014


A reconfigurable hardware architecture for the implementation of integer wavelet transform (IWT) based adaptive random image steganography algorithm is proposed. The Haar-IWT was used to separate the subbands namely, LL, LH, HL, and HH, from pixel blocks and the encrypted secret data is hidden in the LH, HL, and HH blocks using Moore and Hilbert space filling curve (SFC) scan patterns. Either Moore or Hilbert SFC was chosen for hiding the encrypted data in LH, HL, and HH coefficients, whichever produces the lowest mean square error (MSE) and the highest peak signal-to-noise ratio (PSNR). The fixated random walk’s verdict of all blocks is registered which is nothing but the furtive key. Our system took 1.6 µs for embedding the data in coefficient blocks and consumed 34% of the logic elements, 22% of the dedicated logic register, and 2% of the embedded multiplier on Cyclone II field programmable gate array (FPGA).

1. Introduction

Cryptography [14] and steganography [59] are considered as the most prominent solutions among numerous techniques developed in the field of information security, particularly in all kinds of secure information (sensitive) systems to quash unauthorized attacks and protect the secret information during transmission and storage. In cryptography, the data is scrambled into an unreadable format prior to transmission or storage for hiding the contents from an attacker. The intended user accesses the data by unscrambling the data through the secret key which can be either a private or public key [14]. The drawback of the technique lies in the fact that it encrypts the data but does not hide its existence and the cryptic data can often entice the attackers [10]. Steganography on the other hand is a prowess of blotting out the secret content in a host medium without altering the properties of the latter with the intention that the veiled message is unperceivable (except for the receiver) [10]. Among different kinds of hosting medium namely image, audio, video, and so forth, image is considered as the most promising among the cover media due to the fact that it is easy to obtain with reasonable hiding capacity and distortion tolerance [10]. In comparison with cryptography, steganography caters a privileged echelon of privacy and security as it makes the secret information altogether invisible.

In steganography technique the secluded text is driven in cover files in two ways such as spatial domain [1117] and transformed domain [1825]. In the former, data gets buried in a cover’s pixels using various algorithms such as least significant bit (LSB) [1115], LSB using random scans [15], pixel indicator [16, 17], and pixel value differencing (PVD) [17]. These techniques are widely being used by researchers to achieve stego objects with better imperceptibility. Discrete-Cosine Transform (DCT) [1820] and wavelet transform [2124] are widely used for data hiding. In this technique, transformed coefficients are responsible of the covert content. The advantage of embedding in the transform domain is robustness, that is, the ability to withstand modification in the image such as rotations or cropping. In wavelet based data hiding, integer wavelet transform (IWT) [2123] based data hiding has given high payload and better PSNR and MSE to stego object than discrete wavelet transform (DWT) [24] based data hiding because floating point coefficient creates a problem for high data hiding and gives not as much of PSNR.

There are works in steganography through FPGA [2529], but they are in spatial domain [2729]. This work advises the reconfigurable hardware for adaptive integer wavelet based data hiding which embeds the large amount of data in random scan technique to improve complexity and also give high PSNR and good payload. This paper is organized as follows. The necessary introduction for IWT is given in Section 2. Section 3 describes the proposed FPGA steganography methodology using SFC in IWT followed by the hardware implementation in Section 4. Section 5 explores hardware synthesis and performance analysis. The results and discussion are given in Section 6. Finally the conclusion is given in Section 7.

2. Integer Wavelet Transform

This paper habituates Haar IWT to infix secret bit stream in the cover file (image). As this is the case, IWT winds up with high and low coefficients of frequency in cover. The former is gained through flanking pixel pairs’ edge information, whereas the latter is gained through stifling the same in all pixels.

First stage IWT is as follows: where = pixels in odd columns and = pixels in even columns.

Consequently, this first stage leads to the next stage processes that involve high pass and low pass filter banks to find IWT coefficients. It results in four sub bands (LL, LH, HL and HH) out of which LL sub band has highly sensitive information. The rest of the bands have the in depth cover information.

Second stage IWT is as follows:

In the second stage, Hodd = H band’s odd row, Lodd = L band’s odd row, Heven = H band’s even row, and Leven = L band’s even row.

The confidential message bits are rooted in wavelet coefficients. Inverse IWT is exercised in the ensuing coefficients to get stego output and this can be used for further communication. Since IWT encourages reversible makeover, at the receiving end, secret bit stream is revived with the help of the same secret key applied to the transmitter.

3. Proposed Method

Schematic diagram for this proffer was publicized in Figure 1(a). IWT is employed to obtain wavelet coefficients for burying the secret message. Key 1 ranges from numbers one to four deciding the total bits to be infixed in cover file and by varying its increased capacity it can be attained. Randomized embedding of encrypted secret bits was done through SFC patterns [15], namely, Hilbert and Moore, which are shown in Figures 1(b) and 1(c) in HH, HL, and LH bands of every 4 × 4 coefficient block. For apiece traversing trails, least MSE and utmost PSNR were computed and the one which gave the best result was chosen for final embedding. Two separate keys, 00 (Moore) and 01 (Hilbert), were assigned for the two paths; for every block, a key was set according to the best path.

3.1. Algorithm

(1)Read the cover image of size 128 × 128 × 3 and secret data.(2)Divide the image into 8 × 8 blocks.(3)Divide them into red, blue, and green planes.(4)Choose one block using pseudorandom number generator.(5)Apply Haar wavelet transform to the randomly selected block to form subbands.(6)Calculate bit length to estimate the embedding capacity of each coefficient.(7)Assign key 1 for k-bit embedding.(8)Assign key values for the two scan patterns. Let it be key 2.(9)For every 8 × 8 coefficient, apply the two scan patterns and determine MSE in each plane for every pattern.(10)Select the minimum MSE value between two patterns and using that particular pattern, embed the secret data by LSB substitution using k-bit embedding.(11)Take inverse IWT to reproduce the stego block(12)Repeat the process till the last bit of secret content gets entrenched.(13)Store the result as stego image.(14)Communicate the two keys to the receiver.

4. IWT Hardware Implementation

The proposed IWT based data hiding architecture is shown in Figure 2. The design comprises of the following major blocks in FPGA architecture; finite state machine based control unit, address generation unit, SRAM controller, on chip memory, IWT coefficient generation unit, embedding unit and Mean Square Error Module.

4.1. Finite State Machine (FSM) Control Unit

The state diagram of FSM control unit is shown in Figure 3. This controls the address generator module, SRAM controller, IWT coefficient generation unit, data embedding unit, inverse IWT, and embedding block. FSM consists of the following status registers which hold the current state and the next state of the process, pixel counter that counts the number of processed pixels, message counter that counts the embedded message bits, row address counter that counts the number of processed rows, column address counter to count the number of processed columns, and block counter for counting the processed M × N blocks, and column and row pointers hold the current column and row address. Memory pointer directs the address generator to the next memory location from where it is to receive pixel data and encrypt message bit.

4.2. Address Generator

The hardware model of address generator is shown in Figure 4. It generates address for SRAM controller to read the pixel value and encrypted message. It consists of address counter, linear feedback shift registers, pattern lookup table, and BMP header lookup table. LFSR is the combination of sequential shift, register and feedback logic. The address counter is a simple counter that generates the memory address to read the pixel value from SRAM. BMP header lookup table was used to read the header file information (Table 1) from BMP image file stored in external SRAM and copy it into internal cache memory. This header file information was used to know the image’s dimensions. LFSR engenders random sequence for user’s given value to choose one M × N pixel block among an N number of blocks. Also the same sequence is generated at the recipient side.

Address of header function
(Windows OS)
FunctionTotal number of bytes

00-01Header (BM)Two bytes
02–05Image file sizeFour bytes
06–09Reserved bytesFour bytes
10–13Starting address of pixel dataFour bytes
14–17Size of data headerFour bytes
18–21Image width (row)Four bytes
22–25Image height (column)Four bytes
26-27Number of colour planes used (always 1)Two bytes
28-29Number bits per pixelTwo bytes
30–33Compression method being usedFour bytes
34–37Size of stored pixel dataFour bytes
38–41Width resolutionFour bytes
42–45Height resolutionFour bytes
46–49Number of colours actually usedFour bytes
50–53Number of important colours (0 = all colours important)Four bytes
54Beginning of the pixel arrayFour bytes

4.3. SRAM Controller

The SRAM controller communicates with the 256 K × 16 asynchronous CMOS static RAM (SRAM) chip on ALTERA DE2 board. The SRAM controller enables users to read or write the SRAM from a master device (such as the FPGA) as a normal memory operation. For 8-bit or 16-bit data, there will be, respectively, 2 clock cycles and 1 clock cycle of latent period for read and write operations. It has 16 bit data bus, 18 bit address bus, and three control signals for read and write operations and one for word or byte mode selection. Timing diagram of SRAM is shown in Figures 5 and 6. The SRAM controller supports a clock frequency of 50 MHz.

4.4. On-Chip Embedded Memory

The FPGA embedded memory presented in Figure 7 contains columns of M4K memory blocks to configure as on-chip memory for storing M × N pixel values, encrypted secret, and M × N stego pixels in addition to RGB plane values. Simple dual-port mode abides concurrent read and write operations. Here, the memory blocks possess one write enable and one read enable signal. The above illustrated waveform is the result of the design’s normal read conditions. The read occurs at the mounting edge of the enabled clock cycle. To read in simple dual port mode, Read enable port is ought to be enabled.

4.5. IWT Coefficient Generation Block

Register transfer level (RTL) view of coefficient generation blocks is shown in Figure 8. It is comprised of two libraries of parameterized modules (LPM) such as LPM subtraction modules and LPM divider module. These LPM modules render all the three planes coefficients separately and store them on chip memory modules.

4.6. Embedding Block

The embedding module’s functional diagram is given in Figure 9. It inhabits function registers A, B along with cascaded AND - OR logic modules of 24 bits wide each. The former is useful in storing secret message bits and 2D IWT coefficients during substitution process. After enshrouding the data into 2D IWT coefficient values, they get laid in inverse IWT Block. This block rejuvenates the pixels from 2D IWT coefficient values. The same functional diagram is pertinent to the inverse process.

4.7. Mean Square Error Module

The MSE hardware is the collective squared error between the original and stego images. Hardware model of MSE is shown in Figure 10; it consists of mega function LPM_ADD_SUB, LPM multiplier, latch, and divider. LPM_ADD_SUB unit produces an output containing the difference of the input values, and the LPM _MULT unit carries out the square root functions; it squares the difference value of LPM_ADD_SUB unit. The parallel adder unit carries out the summation process by summing the squared difference value with previous difference value; latch is used to store the summing output and its output is fed back into one of the inputs of parallel adder. Divider unit divides the summation output with M × N value and produces MSE result.

5. Hardware Synthesis and Performance Analysis Results

The two-dimensional IWT reconfigurable stego processor architecture was developed using IEEE standard Verilog HDL and is trialed on Cyclone II EP2C35F672C6 FPGA. Its compilation report is shown in Table 2. The design consumes 34% of the logic elements, 22% of the dedicated logic registers, and 2% of the embedded multipliers of a Cyclone II FPGA. The end results for RTL view and Chip planner are shown in Figures 11(a) and 11(b). Time taken for 2D IWT coefficient and data embedding in coefficient was calculated with the help of zero plus logic analyzer tool and the results are shown in Figure 11(c).

FamilyCyclone II
Timing modelsFinal
Met timing requirementsYes
Total logic elements11.222/33.216 (34%)
 Total combinational functions8.792/33.216 (26%)
 Dedicated logic registers7.412/33.216 (22%)
Total registers7412
Total pins44/475 (9%)
Total virtual pins0
Total memory bits0/483.840 (0%)
Embedded multiplier 9-bit elements2/70 (3%)
Total PLLs0/4 (0%)

The implemented algorithm consumed 1.6 μs for IWT-coefficient generation, embedding the data in coefficients and MSE calculation. It took 6.08 μs to read 8 × 8 blocks and RGB separation.

6. Results and Discussions

In this effectuation, color digital images Lena and Baboon of dimension 128 × 128 were chosen as covers, as in Figure 12(a) and Figure 13(a). This work was vindicated through MSE and PSNR: Here M and N stand for the number of pixels in horizontal and vertical dimensions of cover file (image); and give the number of pixels in original and stego image accordingly. PSNR is

In this analysis key-2 was used to find the low MSE scan pattern for random embedding of the data in coefficients. Table 3 shows comparison of the proposed system with other spatial techniques (Moore, Hilbert, and adaptive random spatial data hiding technique) and its output stego images are shown in Figures 12(b)12(e) and 13(b)13(e). From the table it is vivid that adaptive IWT technique provides high PSNR and low MSE for k = 1–3 bit embedding.


LENAIWT HH, HL, LH R0.041761.93290.078159.20240.244854.2426
Hilbert R0.254154.08062.402844.32365.714740.5613

BABOONIWT HH, HL, LH R0.041761.93290.109457.74160.349052.7031
Hilbert R0.679649.80822.225144.65744.866141.2589

7. Conclusion

This study exhibits an adaptive integer wavelet transform based data hiding plot rendering soaring payload simultaneously asseverating absolute stego-image visual quality. When likened with the available literature, PSNR is increased in this system with intelligent use of key-1 and key-2. Moreover, these keys not only provide high security but also increase the capacity. The main drawback of the IWT based data hiding is the computational overhead but this present implementation overcomes this problem, using field programmable gate arrays (FPGA) which provides high speed implementation because of parallelism. This work is currently being extended to develop a consecrated stego processor by means of FPGA chip.

Conflict of Interests

As the authors of the paper, we do not have a direct financial relation with the commercial identity mentioned in our paper that might lead to a conflict of interests for any of the authors.


  1. B. Schneier, Applied Cryptography Protocols, Algorithm and Source Code in C, Wiley India Edition, 2nd edition, 2007.
  2. D. E. R. Denning, Cryptography and Data Security, Addison-Wesley Longman, 1982.
  3. W. Stallings, Cryptography and Network Security: Principles and Practice, Prentice Hall Press, 5th edition, 2010.
  4. N. Ferguson and B. Schneier, Practical Cryptography, John Wiley & Sons, 1st edition, 2003.
  5. N. Provos and P. Honeyman, “Hide and seek: an introduction to steganography,” IEEE Security and Privacy, vol. 1, no. 3, pp. 32–44, 2003. View at: Publisher Site | Google Scholar
  6. S. C. Katzenbeisser, “Principles of steganography,” in Information Hiding Techniques For Steganography and Digital Watermarking, S. Katzenbeisser and F. Petitcolas, Eds., pp. 43–78, Artech House, London, UK, 2000. View at: Google Scholar
  7. W. Bender, D. Gruhl, N. Morimoto, and A. Lu, “Techniques for data hiding,” IBM Systems Journal, vol. 35, no. 3-4, pp. 313–335, 1996. View at: Google Scholar
  8. S. Katzenbeisser and F. A. Petitcolas, Information Hiding Techniques For Steganography and Digital Watermarking, Artech House, 2000.
  9. J. . Fridrich, Steganography in Digital Media: Principles, Algorithms, and Applications, Cambridge University Press, 2009.
  10. A. Cheddad, J. Condell, K. Curran, and P. Mc Kevitt, “Digital image steganography: survey and analysis of current methods,” Signal Processing, vol. 90, no. 3, pp. 727–752, 2010. View at: Publisher Site | Google Scholar
  11. C.-K. Chan and L. M. Cheng, “Hiding data in images by simple LSB substitution,” Pattern Recognition, vol. 37, no. 3, pp. 469–474, 2004. View at: Publisher Site | Google Scholar
  12. R.-Z. Wang, C.-F. Lin, and J.-C. Lin, “Image hiding by optimal LSB substitution and genetic algorithm,” Pattern Recognition, vol. 34, no. 3, pp. 671–683, 2001. View at: Publisher Site | Google Scholar
  13. C.-H. Yang, “Inverted pattern approach to improve image quality of information hiding by LSB substitution,” Pattern Recognition, vol. 41, no. 8, pp. 2674–2683, 2008. View at: Publisher Site | Google Scholar
  14. S.-K. Chen, “A module-based LSB substitution method with lossless secret data compression,” Computer Standards and Interfaces, vol. 33, no. 4, pp. 367–371, 2011. View at: Publisher Site | Google Scholar
  15. R. Amirtharajan and J. B. Balaguru Rayappan, “An intelligent chaotic embedding approach to enhance stego-image quality,” Information Sciences, vol. 193, pp. 115–124, 2012. View at: Publisher Site | Google Scholar
  16. R. Amirtharajan and J. B. Balaguru Rayappan, “Pixel authorized by pixel to trace with SFC on image to sabotage data mugger: a comparative study on PI stego,” Research Journal of Information Technology, vol. 4, no. 4, pp. 124–139, 2012. View at: Publisher Site | Google Scholar
  17. M. Padmaa, Y. Venkataramani, and R. Amirtharajan, “Stego on 2n:1 platform for users and embedding,” Information Technology Journal, vol. 10, no. 10, pp. 1896–1907, 2011. View at: Publisher Site | Google Scholar
  18. Y. K. . Lin, “High capacity reversible data hiding scheme based upon discrete cosine transformation,” Journal of Systems and Software, vol. 85, no. 10, pp. 2395–2404, 2012. View at: Google Scholar
  19. X. Li and J. Wang, “A steganographic method based upon JPEG and particle swarm optimization algorithm,” Information Sciences, vol. 177, no. 15, pp. 3099–3109, 2007. View at: Publisher Site | Google Scholar
  20. C.-C. Chang, C.-C. Lin, C.-S. Tseng, and W.-L. Tai, “Reversible hiding in DCT-based compressed images,” Information Sciences, vol. 177, no. 13, pp. 2768–2786, 2007. View at: Publisher Site | Google Scholar
  21. V. Thanikaiselvan, P. Arulmozhivarman, S. Subashanthini, and R. Amirtharajan, “A graph theory practice on transformed image: a random image steganography,” The Scientific World Journal, vol. 2013, Article ID 464107, 7 pages, 2013. View at: Publisher Site | Google Scholar
  22. V. Thanikaiselvan, P. Arulmozhivarman, R. Amirtharajan, and J. B. Balaguru Rayappan, “Wave (let) decide choosy pixel embedding for stego,” in Proceedings of the International Conference on Computer, Communication and Electrical Technology (ICCCET '11), pp. 157–162, March 2011. View at: Publisher Site | Google Scholar
  23. R. Amirtharajan and J. B. B. Rayappan, “Inverted pattern in inverted time domain for icon steganography,” Information Technology Journal, vol. 11, no. 5, pp. 587–595, 2012. View at: Publisher Site | Google Scholar
  24. P. Y. Chen and H. J. Lin, “A DWT based approach for image steganography,” International Journal of Applied Science and Engineering, vol. 4, no. 3, pp. 275–290, 2006. View at: Google Scholar
  25. S. Rajagopalan, R. Amirtharajan, H. N. Upadhyay, and J. B. B. Rayappan, “Survey and analysis of hardware cryptographic and steganographic systems on FPGA,” Journal of Applied Sciences, vol. 12, no. 3, pp. 201–210, 2012. View at: Publisher Site | Google Scholar
  26. S. Rajagopalan, S. Janakiraman, H. N. Upadhyay, and K. Thenmozhi, “Hide and seek in silicon—performance analysis of Quad block Equisum Hardware Steganographic systems,” Procedia Engineering, vol. 30, pp. 806–813, 2012. View at: Publisher Site | Google Scholar
  27. H. Farouk and M. Saeb, “Design and implementation of a secret key steganographic micro-architecture employing FPGA,” in Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE '04), vol. 3, pp. 212–217, February 2004. View at: Publisher Site | Google Scholar
  28. H. Y. Leung, L. M. Cheng, L. L. Cheng, and C.-K. Chan, “Hardware realization of steganographic techniques,” in Proceedings of the 3rd International Conference on Intelligent Information Hiding and Multimedia Signal Processing (IIHMSP '07), pp. 279–282, November 2007. View at: Publisher Site | Google Scholar
  29. B. J. Mohd, S. Abed, T. Al-Hayajneh, and S. Alouneh, “FPGA hardware of the LSB steganography method,” in Proceedings of the International Conference on Computer, Information and Telecommunication Systems (CITS '12), pp. 1–4, 2012. View at: Google Scholar

Copyright © 2014 Balakrishnan Ramalingam et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Related articles

No related content is available yet for this article.
 PDF Download Citation Citation
 Download other formatsMore
 Order printed copiesOrder

Related articles

No related content is available yet for this article.

Article of the Year Award: Outstanding research contributions of 2021, as selected by our Chief Editors. Read the winning articles.