Authors-Hala Farouk, Magdy Saeb
Year – 2004
Year – Proceedings of the Design, Automation and Test in Europe Conference and Exhibition Designers’ Forum (DATE’04)
Link:- csdl.computer.org/comp/proceedings/asp-dac/2004/2543/00/25430577.pdf
Importance to my Research – Very High
MY REVIEW
In this paper stego alogorithm has been implemented on FPGA. The basic objective of this algorithm is to select 2-bit of message and then replace zero and eight bits of covers by message bits.
Micro-architecture (MA) for algo implementation has been discussed. MA divided into embedded processor (EP) and SDRAM. EP consists of address generator, Stegoblock, Status and state register, message cache, key cache, counters, multipliers, address extender and control unit. Address generator (AG) is further divided into memory of pointer, shuffler and shift & concatenation.
MP: It has 64 of eight bits counters.
Shuffler: It received 512 bit from MP and 8 bit from key. On the bases of these 520 bits, it transmits one counter to shifter. Shuffler can select one counter out of 64 by help of 8 bits from key. What is the use of 512 bits? The issue of range and non-uniform distribution key counter has been discussed well.
Stegoblock: It just hides two bits of message in the frame.
Status and state registers: On the basis of message counter and key counter 10 bits feeded to status register, then these bits set or reset and send to controller. Controller generates 3-bits to state register.
Message cache: Block of 256 words starts from 131072 memory location has been cached. Author claimed that addressing word in SDRAM takes 8 to 9 cycles while to access to words in cache requires just one cycle.
Key cache: 8-bits out of 32-bits key has been used for selection of block. Big question is here about the selection of 32-bits. Either it is random process or fixed or formula based. In last two cases it would be trivial and in case of random process. It will open another door of complexity.
Counters: Message and key counters are used to know the status message has hidden under cover. The counter value decides about the new block of message to be loaded in to cache or whole message has hidden under cover.
Address and data multiplier: The control unit feed in signals to multiplexers in order to select appropriate data and address in memory.
Control unit: It consists of decoder, state register and logic gates. It produces 7-bits for data and 3-bits for address multiplexer.
SDRAM: 16MB SDRAM is organized in 4096 rows x 512 columns x 4 banks.
My Finding:
Message and key interfaces are not cleared in this micro-architecture. Message is present already at 131072 memory location, this location should be encrypted by certain formula. Cover word is also fixed at 5544hex location of SDRAM. The whole story is to replace two fixed bits of cover with message. The following confusion arises:
- When message and cover is present in SDRAM, why extra cycles consumed for to take these data first in caches then updated and finally writes back.
- The interface of input video/audio frame and their interfaces.
- Nothing is clear about the message data. For example its statistical nature, means message values should be of which range.
Cite this article as
Critical Review on “design & implementation of a secret key steganograhic micro-architecture employing FPGA” by I.Sajid 10 march, 2008.