Steganography is a process of hiding/encrypting confidential data files into carrier/host files, and transmitting the obtained encrypted files from the sender to the receiver. It is the art of inconspicuously hiding data within data, so that unwanted recipients do not suspect and decipher the original, confidential message. Although people have employed the technique of hiding secret messages in plain sight using various novel techniques throughout ages, the recent surge in computer usage and technological advances has propelled the need for security and confidentiality to the forefront. Therefore, it is essential to develop an efficient tool which will incorporate all the security and confidentiality needs, and which shall withstand malicious intrusion attacks.It is important to understand that messages are not secure just by being hidden. Steganography is not all about keeping the messages hidden, but rather keeping their existence hidden.  For this purpose, the report will discuss several useful algorithms, their implementation, their advantages and shortcomings, and more specifically, how these algorithms can be employed to develop highly effective steganography solutions concerning images as the carrier medium.