Abstract
Embedded devices with highly constrained resources are emerging in numerous application areas which include wireless sensor networks, Radio-Frequency IDentification (RFID) tags, and Internet of Things (IoT). These devices need to typically communicate small payload in the form of text/image/audio for which security is exceptionally essential. Considering the resource limitation on constrained devices, many crypto algorithms and a few stego algorithms have been designed with lightweight properties. Majority of these algorithms have been tested for lightweight property only based on their algorithmic attributes. Conversely, ensuring such lightweight characteristics by analysing their feasibility to reside and run in a constrained environment based on the device’s architectural attribute is inevitable for IoT applications. This paper aims to contribute by proposing an indicator based lightweight Least Significant Bit (LSB) steganography algorithm and to compare it’s algorithmic and device dependent implementation aspects with similar algorithms on popular 32-bit Reduced Instruction Set Computer (RISC) microcontrollers used in IoT platforms. The proposed variable embedding algorithm achieves a Peak Signal to Noise Ratio (PSNR) of over 46 dB with Normalised Cross Correlation (NCC) & Structural Similarity Index Measure (SSIM) being 0.9999 and 0.9998 respectively for an average embedding capacity of 1.5 bits per pixel. In addition to the above mentioned benchmarking parameter results, the Regular & Singular (RS) group and Sample Pair (SP) steganalysis, were also carried out to validate the security level of the proposed algorithm. On analysing the suitability of the proposed algorithm in terms of timing performance and memory requirements by implementing on different IoT hardware, the microcontroller with PIC32 core achieves a higher embedding throughput of over 2.7 Mega bits per second with a smaller memory footprint of less than 2 KB. Finally, the results obtained from the proposed work outperform the microcontroller implementation of stego algorithms reported in the literature.
Similar content being viewed by others
References
Adat V, Gupta BB (2018) Security in internet of things: issues, challenges, taxonomy, and architecture. Telecommun Syst 67:423–441
Amirtharajan R, Abhiram VM, Revathi G, Reddy BJ, Thanikaiselvan V, Rayappan JBB (2013) Rubik's cube: a way for random image steganography. Res J Inf Technol 5:329–340. https://doi.org/10.3923/rjit.2013.263.276
Amirtharajan R, Karthikeyan K, Malleswaran M, Rayappan JBB (2013) Kuberakolam: a way for random image steganography. Res J Inf Technol 5:304–316. https://doi.org/10.3923/rjit.2013.263.276
Amirtharajan R, Ashfaaq KM, Kingsly AI, Rayappan JBB (2013) High performance pixel indicator for colour image steganography. Res J Inf Technol 5:277–290. https://doi.org/10.3923/rjit.2013.277.290
Atawneh S, Almomani A, Al Bazar H, Sumari P, Gupta B (2017) Secure and imperceptible digital image steganographic algorithm based on diamond encoding in DWT domain. Multimed Tools Appl 76:18451–18472
Bucerzan D, Raţiu C (2016) Reliable metrics for image LSB steganography on Mobile platforms. International workshop soft computing applications: 517–528. Springer, Cham. doi:https://doi.org/10.1007/978-3-319-62524-9_38
Chan CK, Cheng LM (2004) Hiding data in images by simple LSB substitution. Pattern Recogn 37:469–474. https://doi.org/10.1016/j.patcog.2003.08.007
Dinu D, Biryukov A, Großschädl J, Khovratovich D, Corre YL, Perrin L (2015) Felics–fair evaluation of lightweight cryptographic systems. NIST Workshop on Lightweight Cryptography 128
Dumitrescu S, Wu X, Wang Z (2003) Detection of LSB steganography via sample pair analysis. IEEE Trans Signal Process 51:1995–2007. https://doi.org/10.1109/TSP.2003.812753
Elhoseny M, Ramírez-González G, Abu-Elnasr OM, Shawkat SA, N A, Farouk A (2018) Secure medical data transmission model for IoT-based healthcare systems. IEEE Access 6:20596–20608
El-Latif AA, BAbd-El-Atty MSH, Rahman MA, Alamri A, Gupta BB (2018) Efficient quantum information hiding for remote medical image sharing. IEEE Access 6:21075–21083
Ganguly NM, Paul G, Saha SK (2018) An efficient multi-bit steganography algorithm in spatial domain with two-layer security. Multimed Tools Appl 77:18451–18481
Gupta B, Agrawal DP, Yamaguchi S (2016) Handbook of research on modern cryptographic solutions for computer and cyber security. IGI Global. https://doi.org/10.4018/978-1-5225-0105-3
Gupta BB, Yamaguchi S, Agrawal DP (2018) Advances in security and privacy of multimedia big data in mobile and cloud computing. Multimed Tools Appl 77:9203–9208
Gutub AAA (2010) Pixel Indicator technique for RGB image steganography. J Emerg Technol Web Intell 2:56–64. https://doi.org/10.4304/jetwi.2.1.56-64
Hussain M, Wahab AW, Idris YI, Ho AT, Jung KH (2018) Image steganography in spatial domain: a survey. Signal Process Image Commun 65:46–66
Hyncica O, Kucera P, Honzik P, Fiedler P (2011) Performance evaluation of symmetric cryptography in embedded systems. Intelligent data acquisition and advanced computing systems (IDAACS), IEEE: 277–282
Iao S, Zhou C, Shi Y, Zou W, Li X (2019) Review on optical image hiding and watermarking techniques. Opt Laser Technol 109:370–380
Janakiraman S, Amirtharajan R, Thenmozhi K, Rayappan JBB (2012) Pixel forefinger for Grayin color: a layer by layer Stego. Inf Technol J 11:9–19. https://doi.org/10.3923/itj.2012.9.19
Janakiraman S, Thenmozhi K, Rajagopalan S, Upadhyay HN, BRayappan JB, Amirtharajan R (2014) Space filling curve for data filling: an embedded security approach. Res J Inf Technol 6:188–197. https://doi.org/10.3923/rjit.2014.188.197
Janakiraman S, Thenmozhi K, Rayappan JBB, Amirtharajan R (2015) Light weight steganography on RISC platform-implementation and analysis. Asian J Scientific Res 8:278–290. https://doi.org/10.3923/ajsr.2015.278.290
Janakiraman S, Amirtharajan R, Thenmozhi K, Rayappan JBB (2018) Lightweight chaotic image encryption algorithm for real-time embedded system: implementation and analysis on 32-bit microcontroller. MicroprocessMicrosyst. 56:1–12. https://doi.org/10.1016/j.micpro.2017.10.013
Janakiraman S, Rajagopalan S, Rengarajan A (2019) Reliable medical image communication in healthcare IoT: watermark for authentication. Medical data security for bioengineers, IGI Global:1–26. doi:https://doi.org/10.4018/978-1-5225-7952-6.ch001
Kamil S, SN Abdullah ZA (2018) Lightweight and optimized multi-layer data hiding using video steganography paper. Int J Adv Comput Sci Appl 9:256–262. https://doi.org/10.14569/IJACSA.2018.091237
Katzenbeisser S, Petitcolas FAP (2000) Information hiding techniques for steganography and digital watermarking. Artech House, Norwood, MA
Kumar M, Kumar S, Budhiraja R, Das MK, Singh S (2016) Lightweight data security model for IoT applications: a dynamic key approach. IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData): 424–428
Li J, Yu C, Gupta BB, Ren X (2018) Color image watermarking scheme based on quaternion Hadamard transform and Schur decomposition. Multimed Tools Appl 77:4545–4561
Liu H, Guo Q, Wang G, Gupta BB, Zhang C (2017) Medical image resolution enhancement for healthcare using nonlocal self-similarity and low-rank prior. Multimed Tools Appl: 1–8.
Manoharan S (2008) An empirical analysis of RS steganalysis. 3rd international conference on internet monitoring and protection, ICIMP'08, IEEE: 172–177
Murillo-Escobar MA, Abundiz-Pérez F, Cruz-Hernández C, López-Gutiérrez RM (2014) A novel symmetric text encryption algorithm based on logistic map, In Proceedings of the international conference on communications, signal processing and computers: 49–53
Murillo-Escobar MA, Cruz-Hernández C, Abundiz-Pérez F, López-Gutiérrez RM (2016) Implementation of an improved chaotic encryption algorithm for real-time embedded systems by using a 32-bit microcontroller. Microprocess Microsyst 45:297–309. https://doi.org/10.1016/j.micpro.2016.06.004
Parah SA, Sheikh JA, Akhoon JA, Loan NA, Bhat GM (2018) Information hiding in edges: a high capacity information hiding technique using hybrid edge detection. Multimed Tools Appl 77:185–207
Rajagopalan S, HN Upadhyay R, Ragavan R, Amirtharajan JBBBR (2014) Layer router for grayscale STEGO - a hardware architecture on FPGA and ASIC platforms. J Sci Ind Res 73:701–703
Rajagopalan S, Janakiraman S, Rengarajan A (2019) Medical image encryption: microcontroller and FPGA perspective. Medical Data Security for Bioengineers, IGI Global:278–304. doi:https://doi.org/10.4018/978-1-5225-7952-6.ch014
Ramalingam B, Amirtharajan R, Rayappan JBB (2016) Multiplexed stego path on reconfigurable hardware: a novel random approach. Comput Electr Eng 55:153–163. https://doi.org/10.1016/j.compeleceng.2016.02.010
Rangaswamaiah C, Bai Y, Choi Y (2019) Multilevel data concealing technique using steganography and visual cryptography. In Future of information and communication conference, Springer, Cham, 739–758
Ranjani JJ (2017) Data hiding using pseudo magic squares for embedding high payload in digital images. Multimed Tools Appl 76:3715–3729
Shaik A, Thanikaiselvan V, Amitharajan R (2017) Data security through data hiding in images: a review. J Artif Intell 10:1–21. https://doi.org/10.3923/jai.2017.1.21
Stanescu D, Stangaciu V, Ghergulescu I, Stratulat M (2009) Steganography on embedded devices, 5th international symposium on applied computational intelligence and informatics. SACI'09, IEEE: 313–318. doi:https://doi.org/10.1109/SACI.2009.5136263
Tiwari N, Shandilya M (2010) Secure RGB image steganography from pixel indicator to triple algorithm-an incremental growth. Int J Sec Applic 4:53–62
Usman M, Ahmed I, MI Aslam SK, Shah UA (2017) Sit: a lightweight encryption algorithm for secure internet of things. Int J Adv Comput Sci Appl 8:1–10
Wadi SM, Zainal N (2013) A low cost implementation of modified advanced encryption standard algorithm using 8085A microprocessor. J Eng Sci Technol 8:406–415
Acknowledgements
The authors wish to thank Technology Business Incubator (TBI) for the Internet of Things (IoT) at SASTRA Deemed University, Thanjavur, Tamilnadu, India for providing the infrastructure support to carry out this research work.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix 1
Appendix 1
1.1 Target devices
In this work, the following microcontrollers comprising most popular 32-bit CPU cores having high performance and low power consumption characteristics were chosen as target devices. The primary specifications of the selected target devices are compared in Table 12.
1.2 ARM – LPC2148 Microcontroller
The LPC2148 microcontroller (https://www.nxp.com/docs/en/user-guide/UM10139.pdf) manufactured by the NXP Semiconductors has a 32 bit ARM7TDMI-S CPU which can operate at a maximum frequency of 60 MHz and follows Von-Neumann architecture. The ARM7TDMI-S can provide high performance and very low power consumption due to the implementation of RISC architecture and simplified decode mechanism for the instructions. This simplicity enables high instruction throughput and impressive real-time interrupt response.
The ARM7TDMI-S processor has two instruction sets, the standard 32-bit ARM instruction set, and 16-bit THUMB instruction set. It has 37 registers all of which are 32- bits long: 1 program counter, 1 Current Program Status Register (CPSR), 5 Saved Program Status Registers (SPSRs) and 30 General Purpose Registers (GPRs). The processor also has 7 operating modes. The User mode runs most of the task while other modes are meant for privileged operations such as interrupt/exception handling. The device provides 512 KB of on-chip program memory and 32 KB of on-chip SRAM. The ARM7TDMI-S CPU uses the ARM7 Local bus to interface on-chip memory controller, AMBA Advanced High-Performance Bus (AHB) for providing an interface to the interrupt controller and ARM Peripheral Bus (APB) for on-chip peripheral functions. It follows a 3 stage pipeline technique where, while one instruction is being executed, the second one is being decoded, and the third instruction is being fetched from memory. It has 2 power saving modes namely Idle and power down mode. It requires a supply voltage of 3.0 V to 3.6 V. The KEIL MDK Integrated Development Environment (IDE) comprising ARMCC compiler is widely used to develop application software for this embedded device.
1.3 PIC32MX150F128B Microcontroller
The PIC32MX150F128B microcontroller (http://ww1.microchip.com/downloads/en/DeviceDoc/60001168J.pdf) produced by Microchip has a CPU core PIC32 (MIPS32 M4K) with Harvard RISC architecture. The 50 MHz MIPS32 M4K processor core is divided into multifaceted, parallel working logic blocks that provide an efficient and high performance computing engine. The blocks include Execution Unit, autonomous Multiply/Divide Unit (MDU), System Control Coprocessor (CPO), Fixed Mapping Translation (FMT), Dual Internal Bus Interfaces, Power Management MIPS16e Support and Enhanced JTAG controller. The processor core execution unit implements load/store architecture with all the Arithmetic Logic Unit (ALU) operations like logical, shift, add and subtract being executed in a single cycle.
The core contains thirty-two 32-bit General Purpose Registers which are mainly used for integer operations and address calculations. The register file consists of two read and one write ports which can be bypassed to minimise the operation latency during the pipeline. Unlike the other processor core, the MIPS32 M4K follows a 5-stage pipeline. The CPU first fetches the instructions, decodes each of the instruction, then fetches source operands, executes each instruction and finally writes the result into the intended destinations. The Multiply/Divide unit also contains a separate pipeline for implementing the multiply and divide operations.
The device provides nine power-saving methods and modes that allow the user to balance power consumption with device performance. In all of the above techniques and modes, the power saving is being controlled by the software. The device provides 128 KB of on-chip program memory, 32 KB of on-chip RAM and 4GB of virtual memory address space. It requires a supply voltage of 1.8 V to 3.3 V. The opensource MPLAB IDE supports the device programming with PIC32-GCC compiler.
1.4 AVR – AT32UC3A0128 Microcontroller
The AT32UC3A0128 is a 32-bit microcontroller (http://ww1.microchip.com/downloads/en/DeviceDoc/doc32058.pdf) manufactured by Atmel and has AVR32 UC3 CPU which can be operated up to 66 MHz clock and follows Harvard RISC architecture. This system-on-chip microcontroller has a high performing and efficient core which is mainly designed for cost-sensitive embedded applications that emphasis more on low power consumption and high code density.
The register file is designed to hold sixteen 32-bit general purpose registers, a program counter, link register, and stack pointer. The processor core implements an AVR32A micro-architecture which is mainly used for smaller microcontrollers. The micro-architecture supports some instructions with multiple addressing modes to reduce the code size. Also, the frequently used instructions like add, which takes 2 operands, are extended to accept 3 operands. This format increases the performance by allowing addition and data moving in a single cycle. It provides a special set of instructions for performing DSP operations. The AVR32 UC has 3 memory interfaces: a High-speed Bus for instruction fetch, data access and slave interfacing. A local bus interface is also used for providing an interface between CPU and device specific high-speed systems like the fast GPIO ports and floating point units. The processor also contains a Memory Protection Unit and a fast and flexible interrupt controller for modern operating systems and real-time application. It also follows the 3 stage pipelining technique: fetch, decode and execute. The Power Manager controls the oscillators along with Phase Locked Loop (PLLs) and generates a clock when the device resets. The device provides 128 KB of on-chip program memory and 32 KB of on-chip RAM. It requires a supply voltage of 1.8 V to 3.3 V. The opensource Atmel Studio IDE with AVR- GCC compiler supports device programming.
Rights and permissions
About this article
Cite this article
Janakiraman, S., Thenmozhi, K., Rayappan, J.B.B. et al. Indicator-based lightweight steganography on 32-bit RISC architectures for IoT security. Multimed Tools Appl 78, 31485–31513 (2019). https://doi.org/10.1007/s11042-019-07960-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-019-07960-z