Project Topics

Engineering Projects

Published on Nov 30, 2023


The techniques for secret hiding of messages in an otherwise innocent looking carrier message belong to the field of steganography. The purpose of steganography is to conceal the very presence of secret information. To make the communication more secure, the secret information can be compressed and encrypted before it is hidden in the carrier. This is important because in this way we minimize the amount of information that is to be sent, and it is also easier to hide a random looking message into the carrier than to hide a message with a high degree of regularity. Encrypting the compressed message before hiding is recommended and provides double protection

Image steganography

As stated earlier, images are the most popular cover objects used for steganography. In the domain of digital images many different image file formats exist, most of them for specific applications. For these different image file formats, different steganographic algorithms exist.

Image definition

To a computer, an image is a collection of numbers that constitute different light intensities in different areas of the image . This numeric representation forms a grid and the individual points are referred to as pixels. Most images on the Internet consists of a rectangular map of the image's pixels (represented as bits) where each pixel is located and its colour . These pixels are displayed horizontally row by row.

The number of bits in a colour scheme, called the bit depth, refers to the number of bits used for each pixel . The smallest bit depth in current colour schemes is 8, meaning that there are 8 bits used to describe the colour of each pixel . Monochrome and greyscale images use 8 bits for each pixel and are able to display 256 different colours or shades of grey. Digital colour images are typically stored in 24-bit files and use the RGB colour model, also known as true colour . All colour variations for the pixels of a 24-bit image are derived from three primary colours: red, green and blue, and each primary colour is represented by 8 bits . Thus in one given pixel, there can be 256 different quantities of red, green and blue, adding up to more than 16-million combinations, resulting in more than 16-million colours . Not surprisingly the larger amount of colours that can be displayed, the larger the file size

The development of the software involves a series of production activities where opportunities of human feasibility are enormous. Errors may begin to occur at the very inception of the process where the objectives maybe erroneously or imperfectly specified as well as in later design and development stages because of the human inability to perform and communicate with perfection. 

A test case is simply a test with formal steps and instructions. They are valuable because they are repeatable, reproducible under the same environments, and easy to improve upon with feedback. A test case is the difference between saying that something seems to be working ok and proving that a set of specific tasks are known to be working correctly. 

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and testing.

Once the source code has been generated, the software must be tested to uncover as many errors as possible before delivery to the customer .Software testing is critical element of software quality assurance and represents the ultimate review of specification design and code generation.

Testing Principles

• All test should be traceable to customer requirements

• Test should be planned large before testing

• Testing should begin in the small and progress towards in the large.

• Testing is the major quality measure employed during the software engineering development. Its basic function is to detect error in the software. Testing is necessary for the proper functioning of the system.

Testing Objectives

• Testing is a process of executing a program with the intention of finding an error .

• A good test case is one that has a high probability of finding an error as yet discovered.

A successful test is one that uncovers an as yet undiscovered error.