Rapid Improvement In The Field Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The rapid improvement in the field of Information Security and the data embedding caused significant changes in the global society, ranging from the influence on the secure transactions to the way people nowadays communicate. Information that is passed over the internet needs high level security. Since the information is distributed among the users, the information should be confidential when it is transmitted from one system to another. Confidentiality, authenticity and availability are the essential security services needed to hide the secret information from unauthorized access. Confidentiality is the most common aspect to protect our undisclosed information. Authenticity ensures that message to be passed has not been modified during the transmission and the intruder unable to substitute a fake message for a legitimate one. Availability is the important component because the unavailability of the resources is just as harmful for the organization, so all resources should be available to authorized user at all times.

The confidentiality of the data can be threatened by several kinds of attacks which are classified as passive attacks and active attacks. In passive attacks the intruder's goal is to monitoring of information during transmission, but they do not involve any modification of the data. Since these attacks are difficult to find until sender or receiver finds out about the leaking of confidential data. However these attacks can be prevented by encryption of the data. Unlike passive attacks, an active attack involves in modification of the information and these attacks can be detected easily. One of the common tools for preventing attacks from the intruders is cryptography which includes encryption and decryption algorithm.

1.1 Cryptography

Cryptography is the science of writing in secret code in such a way that no one can understand except the intended viewer. It provides privacy, integrity and authenticity. Cryptography can be found as back as 1900 BC, it is a technique that renovates the plaintext into scrambled message. The process of converting plaintext into cipher text which is in the unreadable format is called as encipher or encryption and the reverse process is called as decipher or decryption.

1.1.1 Techniques of Cryptographic Encryption:

There are the two methods which are used to convert plain text to the corresponding cipher text. They includes

Substitution Technique

Transportation Technique

Substitution technique:

In substitution technique the letters of the plain text are replaced by other letters or numbers or symbols. As the name indicates, it reorganizes the location of character instead of surrogating one character with another. The plain text may be processed many in two ways. Based on these methods the substitution technique is generally classified into two types.

Block Cipher

Stream Cipher

Block cipher

It divides the plain text into number of blocks and perform operation on each block independently, the blocks used in this cipher generally contain 8 or 16 bytes long. The major problem in this technique is repeating text where the same cipher will be generated, that can act as a clue for the cryptanalyst to break the covert message.

Stream cipher

This cipher uses one time pad which abandoned after a single use and it is possible only for short messages. It encrypts the one bit or one byte at a time, so it is two times faster than block cipher.

Transposition technique

As the name indicates, it reorganizes the location of character instead of surrogating one character with another. The two types of transposition cipher are

Keyless transposition cipher

keyed transposition cipher

The keyless transposition cipher involves two methods for character permutation. In the first method, the text is written into a table column by column and then transmitted row by row. In the second method, the text is written into a table row by row and then transmitted column by column.

In the keyed transposition technique the whole plain text is used to create the cipher text. Another method divides the plaintext into number of blocks and in each block the key is used to permute the characters.

1.1.2 Types of cryptography

To achieve the goal of cryptography which includes encryption and decryption various types of cryptographic algorithms are used. There are, in general, three types of cryptographic schemes typically used to accomplish these goals: secret key (or symmetric) cryptography, public-key (or asymmetric) cryptography, and hash functions.

In all cases, the initial unencrypted data is referred to as plain text. It is encrypted into cipher text, which will in turn (usually) be decrypted into usable plaintext.

The three types of algorithms are:

Secret Key Cryptography (SKC): Uses a single key for both encryption and decryption

Public Key Cryptography (PKC): Uses one key for encryption and another for decryption

Hash Functions: Uses a mathematical transformation to irreversibly "encrypt" information

Secret key cryptography

A secret or single key is used for both encryption and decryption in secret key cryptography. In this type, the sender uses a secret key to encrypt the plain text and sends the cipher text to the receiver. The receiver applies the same secret key to decrypt the message and recover the plain text. Because a single key is used for both encryption and decryption, secret key cryptography is also called symmetric encryption.

Public key cryptography

Public key cryptography has been said to be the most significant new development in cryptography in the last 300-400 years. Modern public key cryptography was first described publicly by Stanford University professor Martin Hellman and graduate student Whitfield Diffie in 1976. This paper describes a two-key cryptosystem in which two parties could engage in a secure communication over a non-secure communication channel without having to share a secret key.

1.1.3 Hash Functions

Hash Functions, also called message digests and one-way encryption, are algorithms that, in some sense, use no key. Instead a fixed length hash value is computed based upon the plaintext that makes it impossible for either the contents or length of the plain text to be recovered. Hash algorithms are typically used to provide a digital fingerprint of a file's contents often used to ensure that the file has not been altered by an intruder or virus. Hash functions are also commonly employed by many operating systems to encrypt passwords. Hash functions, then, provide a measure of the integrity of a file.

1.1.4 Cryptanalysis

Cryptanalysis is technique of obtaining the meaning of encrypted information by the unauthorized user. In cipher text attack, the encryption algorithm used and the cipher text to be decoded are known to cryptanalyst. This is the most difficult attacks among all the attacks encountered in cryptanalysis.

Attacks can also be characterized by the resources they require. Those resources include:


The number of computation steps (like encryptions) which must be performed.


The amount of storage required to perform the attack.


The quantity of plaintexts and cipher texts required.

1.2 Steganography:

Steganography was first proposed by a Greek ruler Herodotus in ancient Greece by around 440 BC. Steganography is a science of secret communication that hides the secret information within another object, text or image. It is derived from the Greek word stego means roof or cover and graphy means writing, so Steganography literally means cover writing ,the medium in which the covert message is embedded is known as stego medium. Steganography is considered to be one of the robust methods for hiding the secret information. It is often confused with cryptography the way they are used, the easiest way to differentiate between cryptography and steganography is that, the steganography conceals not only the content of the message but also the existence of the message. It has its root in military and government application and has advanced in inventiveness and complexity.

Audio steganography aims at embedding secret message into a audio file to increase for the secure communication. Even though it is one of the effective ways to secure our secret message, it is the most challenging technique to deal with the steganography technique. There are different methods are used for implement audio steganography. One technique of audio steganography is masking in which the properties of the human ear exploits to hide the secret message unnoticeable because the human system can only hear in the frequencies range between 20 HZ to 20000 HZ. Another technique is Least Significant Bit manipulation which will not create significant audible changes to the sounds. Localizing the secret message in one area of the photo increases the risk of a savvy steganalyst finding and removing the copyright message for his use.

1.2.1 Characteristics of Steganography:

An effective steganography technique should have the following desired characteristics:

(1) Confidentiality:

The unauthorized person should not be able to access the covert data from the cover medium without the knowledge of the proper secret key used in the decryption algorithm.

(2) Imperceptibility:

The cover medium after being embedded with the secret information should be indiscernible from the original medium. The other persons should not become suspicious of the existence of the secret information within the medium.

(3) High competence:

The maximum length of the secret information that can be embedded within the cover medium which maybe text, audio, video or image should be as long as possible.

(4) Confrontation:

The secret information should have the ability to endure when the host medium has been manipulated.

(5) Perfect extraction:

The extraction of the secret message from the cover medium should be accurate and reliable.

1.2.2 Types of steganography:

Steganography can be split into two types, these are Fragile and Robust


Fragile steganography involves embedding information into a file which is destroyed if the file is modified. This method is unsuitable for recording the copyright holder of the file since it can be so easily removed, but is useful in situations where it is important to prove that the file has not been tampered with, such as using a file as evidence in a court of law, since any tampering would have removed the watermark. Fragile steganography techniques tend to be easier to implement than robust methods.


Robust marking aims to embed information into a file which cannot easily be destroyed. Although no mark is truly indestructible, a system can be considered robust if the amount of changes required to remove the mark would render the file useless. Therefore the mark should be hidden in a part of the file where its removal would be easily perceived. There are two main types of robust marking. Fingerprinting involves hiding a unique identifier for the customer who originally acquired the file and therefore is allowed to use it. Should the file be found in the possession of somebody else, the copyright owner can use the fingerprint to identify which customer violated the license agreement by distributing a copy of a file.

Based on the usage of the key, the steganography is categorized into following types.

Pure Steganography

Private Key Steganography

Public Key Steganography

Pure Steganography uses no key to embed the covert message within the medium to hide the existence of the message; it is least secure method because the steganalysis can easily break it once the existence of the message is detected. It is considered to be secured only in two aspects which are the fact that only the sending and receiving parties knows the existence of the secret message and the steganography algorithm used to hide the message.

The private key uses mutual key for encrypting then hiding the covert message within the medium. Since this type requires both the party to exchange the key, once it is compromised the entire transmission is unsecure. In public key Steganography we use two keys in transmission of the secret message, one is public key and another is private key.

The public key is used in the encrypting process it is known both to the sender and receiver; the private key which is used in the decrypting process is known only to the receiver. This approach is recommended because it uses a key pair system which adds a layer of robustness to the entire transmission. This is considered to be the most secure types of steganography which hides the existence of the covert message with the security of encryption.

1.2.3 Importance of Steganography

encryption and decryption not required

improved deniability and confidentiality

large capacity of information hiding

high security

1.2.4 Steganalysis:

Steganalysis is the art of detecting the message that is hidden using steganography which is similar to cryptanalysis in cryptography. The attacks performed by steganalysis are being classified into two types' active attacks and passive attacks. In a "passive attack" one could allow the message to be delivered but make a copy of the stego message for later forensic steganalysis. An "active attack" represents either forging a new secret message, simply removing a message or tampering with a message in order to make it useless. There are also exit 5 steganalysis attacks which are incidentally derived from 4 cryptanalysis techniques: stego-only, known message, known-cover, chosen stego, and chosen message only methods.

1.3 Genetic Algorithm:

Genetic Algorithms are adaptive heuristic search algorithm premised on the evolutionary ideas of natural selection and genetics. The basic concept of GAs is designed to simulate processes in natural system necessary for evolution, specifically those that follow the principles first laid down by Charles Darwin of survival of the fittest. They represent an intelligent exploitation of random search that is used to solve optimization problems. GA simulates the survival of the fittest among individuals over consecutive generation for solving a problem. Each generation consists of a population of character strings that are analogous to the chromosome that one can see in human DNA. Each individual represents a point in a search space in order pay a way for a possible solution. The individuals in the population are then made to go through a process of evolution. A typical genetic algorithm requires:

a genetic representation of the solution domain

a fitness function to evaluate the solution domain

Genetic algorithms are based on an analogy with the genetic structure and behavior of chromosomes within a population of individuals using the following foundations:

Individuals in a population compete for resources and mates

Those individuals most successful in each competition will produce more offspring than those individuals that perform poorly.

Thus each successive generation will become more suited to their environment.

The main process of genetic algorithm will involve of:

Create a Random Initiate State

The first stage of Genetic Algorithm is to generate the initial population in a random way. The initial population consists of different chromosomes and assumes that each chromosome is represented as binary format.

Evaluate Fitness

Since each chromosome is represented as binary, the differences of binary digits in each chromosome will determine the fitness of the chromosome. Each individual has different of fitness value. The fitness evaluation is based on the fitness function.


Reproduction involves the process of mutation and crossover. Chromosomes that have higher fitness value will be more likely to produce offspring or new generations which result from the combination of genes from two chromosomes and this process is called crossover. As for the unfit individuals, it will be eliminated or killed in order to give space for the new generation

Next Generation

If the fitness of the offspring or new generation is close enough or exactly the same with the answer, the solution is the best choice for the problem whereas if it is not the best solution, the offspring will have to go through the reproductive stage until the optimal solution is found.

The inductive nature of the GA means that it does not have to know any rules of the problem - it works by its own internal rules. This is very useful for complex or loosely defined problems.

Homomorphic Encryption

Homomorphic encryption is a form of encryption which allows specific types of computations to be carried out on cipher text and obtain an encrypted result which decrypted matches the result of operations performed on the plaintext. For instance, one person could add two encrypted numbers and then another person could decrypt the result, without either of them being able to find the value of the individual numbers. Homomorphic encryption schemes are malleable by design. The Homomorphic property of various cryptosystems can be used to create secure voting systems, collision-resistant hash functions and private information retrieval schemes enable widespread use of cloud computing by ensuring the confidentiality of processed data.

Homomorphic encryption is the conversion of data into cipher text that can be analyzed and worked with as if it were still in its original form. Homomorphic encryptions allow complex mathematical operations to be performed on encrypted data without compromising the encryption. In mathematics, homomorphic describes the transformation of one data set into another while preserving relationships between elements in both sets.  The term is derived from the Greek words for "same structure." Because the data in a homomorphic encryption scheme retains the same structure, identical mathematical operations -- whether they are performed on encrypted or decrypted data will yield equivalent results.

Homomorphic encryption is expected to play an important part in cloud computing, allowing companies to store encrypted data in a public cloud and take advantage of the cloud provider's analytic services.

There are several efficient, partially homomorphic cryptosystems, and two fully homomorphic, but less efficient cryptosystems. Although a cryptosystem which is unintentionally homomorphic can be subject to attacks on this basis, if treated carefully homomorphism can also be used to perform computations securely.

Analysis of Algorithms

In computer science, efficiency is used to describe properties of an algorithm relating to how much of various types of resources it consumes. Algorithmic efficiency can be thought of as analogous to engineering productivity for a repeating or continuous process, where the goal is to reduce resource consumption, including time to completion, to some acceptable, optimal level.

The two most frequently encountered and measurable metrics of an algorithm are:-

speed or running time-the time it takes for an algorithm to complete, and

'space'-the memory or 'non-volatile storage' used by the algorithm during its operation.

And also might apply to

transmission size-such as required bandwidth during normal operation or

size of external memory- such as temporary disk space used to accomplish its task

And perhaps even

The size of required 'long term' disk space required after its operation to record its output or maintain its required function during its required useful lifetime. (examples: a data table, archive or a computer log)

The performance per watt and the total energy, consumed by the chosen hardware implementation during its required useful lifetime. See Total cost of ownership for other potential costs that might be associated with any particular implementation.

The process of making code more efficient is known as optimization and in the case of automatic optimization, usually focus on space at the cost of speed, or vice versa. There are also quite simple programming techniques and 'avoidance strategies' that can actually improve both at the same time, usually irrespective of hardware, software or language. Even the re-ordering of nested conditional statements to put the least frequently occurring condition first can reduce actual instruction path length. 

1.6 Objective

The principle approach of this project is to embed the secret information by modifying an audio signal in an imperceptible manner using steganography followed by cryptography. The secret message is converted into cipher text using homomorphic approach called SBM cipher. This cipher in turn is converted into binary sequence and is given to DES algorithm. The output of the binary sequence is embedded into an audio by bit replacing using AMET. Even in the presence of subsequent imperceptible alterations of the modified signal the embedding is possible. Using the genetic algorithm the bit replacement is possible in the deeper layers of LSB including MSB. The robustness is highly achieved against attacks by hiding secret data in random layers of the LSB with minimal perceptual difference compared to original audio signal.