Seganography encompasses techniques of transmitting secret data through innocuous covers such that its presence cannot be detected. The aim of this work is to design and implement an Image Based Steganography System (IBSS) that hide secret message or image into a cover image while maintaining the quality of the cover in a plain sight In this work a number of steganography techniques have been implemented to hide secret data within 8-bit and 24-bit cover image. Hiding in 8-bit images is a critical field in IBSS, but the hiding in this type of cover is improved by adopting a number of preprocessing techniques that eliminate or reduce the distortion effects due to the hiding process. The preprocessing and the steganography techniques are evaluated using distortion measures to determine the factors which effect on the preprocessing and embedding performance. To provide another layer of protection to the secret message, the sender is enabled to encrypt the message (using public key cryptosystem) before the embedding stage is began, also different steganography protocols are adopted between the sender and the receiver for communication purpose. Since the LSB steganography workspace (pixel-bit position that carry the message bits) is a common workspace and the attacker evenly knows it. new steganography workspaces are suggested and implemented in this research. Two steganography techniques are suggested and implemented in this research that give good results including the security power, which is evaluated for one of these techniques.