Home > Computer science essays > Performance analysis of steganography algorithm using security application

Essay: Performance analysis of steganography algorithm using security application

Essay details and download:

  • Subject area(s): Computer science essays
  • Reading time: 18 minutes
  • Price: Free download
  • Published: 26 November 2015*
  • Last Modified: 23 July 2024
  • File format: Text
  • Words: 5,023 (approx)
  • Number of pages: 21 (approx)

Text preview of this essay:

This page of the essay has 5,023 words.

CHAPTER 1
PREAMBLE
This segment denotes the project ‘Performance analysis of steganography algorithm using security application’ preamble. This includes the details of project like the need of project. To explain more we have the introduction of project with the setbacks, alive system, intension aspiration and factual.
1.1 Introduction
In modern world with increase in demand of high security to our large and important data we have seen the use of cryptography and steganography conveniently. Information cryptography is action to convert the subject of data into unreadable or invisible format. Then the data can be of any format like image, text, audio, video etc [5]. The priority goal of cryptography is securing the data from unauthorized accesses. The course of action of ever-changing data to unreadable format is called encryption were as reverse of action gives the secured data back is called decryption.
The main process used now days for security of subject is the steganography. Steganography is obtained form a word ‘steganos’ which tactic of secret or covered in Greek and ‘graphy’ is tactic for writing or drawing [3]. In short steganography is tactic of concealing data behind something. Images files are used to hide message and send secure data. But for image files, secret data is concealed in computeriesed image files in format of jpeg, gif, bmp, etc [3] or audio files in format of wav,mp3, etc[8] or video files in format of mpeg, avi, etc or even text files.
Before discussing the steganography need to grasp the image processing. Though project object is video, videos are collections of image frames [9], hence image is the key subject and can be described by a function containing parameters x, y, where x corresponding y are the co-ordinates of the image pixels. These co-ordinates demonstrate values of pixels. This values ranges from 0-255. Color image have triple values for red, blue and green components each. Each pixels encompass 8 bits values for each component. For gray scaled we have only one 8bit value. Processing is done on these 8 bits in steganography.
The advancement in technology had greater demand in properties of integrity and confidentiality there is greater need for focus on lesser visual degradation [5]. Hence to achieve this processing is done on LSB bits on pixel values. There are no specific rules or protocols to the procedure of image processing, in simple no start or end points. Just to keep in mind that the procedure done in embedding is reverse for extracting. Every image processing has different set of steps to hide image, pixels values specifically the bits are changed or swapped accordingly. In DCT there is no 100% change in LSB nits, but the bits are changes or swapped on the given set of conditions.
Cryptography methodology is number of types. But for the efficient cryptography is declared on the bases of the project requirements. The list of requirements satisfied by the methodology, the more is the advantage in using it. As there is combination of the cryptography & embedding methodology, so the collective performance is essential to be studied to conclude its usability & efficiency.
1.2 Problem Background
Rapid development in different multimedia technologies, large size of data is generated and sent and received in different fields like military, cooperation’s, medical, social etc. This data may contain very important and high priority information which should not be accessible by unauthorized individual.
Steganography advantage is that the secret message is not highlighted that the attacker’s attention is pulled toward it. This is main advantage of steganography over cryptography. Media files are a good example for use of steganography algorithm. There are many ways used of steganography from ancient era in physical form like hidden message behind Wax Table, hidden message over messenger’s body etc.
1.3 Existing system
There are many existing system which uses video as stream for sending secret data. Also there are many algorithms used till now for encrypting the secret data and then embedding. Even there are various embedding algorithm existing for the process of inserting secret data into the video frames. Various embedding techniques are like LSB (Least Significant Bit) where the least significant bit that is the last one , two and three bits of image pixels are changed with the secret data. Alternative embedding algorithm are the HLSB which is Hashed LSB same as LSB but using Hashing technique.
Further the embedding and extracting process is same for the entire carrier file chosen. From study [2][3][5], various embedding techniques were noted like LSB, HLSB, DCT with LSB. Also different image processing done on images, in brief the image compression for size parameter. The size parameter also showed the effect on the size of data to be hidden. All possible compressions are experimented [4] on data as well as image or carrier to lower the performance delay. The number of bits to be changed is also varies from experiment to experiment.
1.4 Objective
The objective of this study is as follows:
i. Enhance security using Steganography and Cryptography.
ii. Efficient PSNR and MSE values.
iii. Select Efficient Encryption Algorithm.
iv. Explore the technique of steganography
1.5 Purpose
The purpose of this project is to find out the efficient pair of cryptography and steganography methodology for the hidden data transmission. Among various possible methodology of cryptography and embedding techniques, the most efficient techniques after study found are the DES and DCT respectively. Various experimental results are obtained regarding certain parameter like PSNR, MSE and time for the conclusion.
Figure 1.1: Flow chart of existing system
For stable results the experiments values or inputs are dynamically changes and experimented so as to check all the boundary values and conclude the unique results for the project done.
1.6 Scope
The scope of project is as follows:
i. Steganography process which has the lower loss of data.
ii. Video steganography with which obtains lower visual degradation.
iii. To evaluate such an cryptographic methodology which obtains highest efficiency.
CHAPTER 2
LITERATURE SURVEY
This chapter gives the detail study brief ides of the project related documents present till now. All the documents stated the all experiments done till now on all images as well as video carrier of data. Various results obtained and its conclusion is stated.
[1] ‘A Real Time Approach for Secure Text Transmission Using Video Cryptography’, Deepak Kumar Jain
Above paper is the bass paper taken to do this project. The authors have given the basic explanation how the steganography and cryptography is used for the secure text transmission through video file as carrier. Authors explains the basic image processing happing in the video cryptography. Different video encoding techniques are mentioned with brief explanation. The steps in encryption ant decryption are diagrammatically described.
[2] ‘ Improved Protection In Video Steganography Using DCT & LSB’, Poonam V Bodhak, Baisa L Gunjal
Above paper is explaining improved methods for video steganography with the help of combination of DCT & LSB. Authors introduced the motivation for the study. There is details of existing system containing various steganography techniques. Various literature study is being mentioned. The basic steps for concealing the data into video is given with the details of DCT processing in practical with the diagrammatic format. There is a block diagram of overall video steganography. Algorithm for video steganography for both DCT and LSB step wise listed.
[3] ‘ Embedding of Data in Motion Vector by Using Steganogrpahy Concept’, kolli Aditya, S. Sri Durga Kameswari
Above paper describes the embedding of data in moving set of images which is a video. Authors gave detail explanation of frames of videos and their different properties. Continued to explain of two types of steganography i.e. spatial domain & transform domain. Next explained DCT methodology in detail with diagrammatical representation. Computational steps for DCT are mentioned. Embedding and extracting with their diagrammatical representation and steps are listed. Various error analyses are detailed with the result analysis with the screen shot described. Focused at the end on the stimulation result tables and the achived results are explained.
[4] ‘Implementation of Steganography Using LSB & DCT that Minimizes PSNR & MSE’, Naitik P Kamdar, Dharmesh N. Khandhar.
Authors of above paper gives the introduction of study work then starts with steganography techniques types with examples. Describes various related work done. Then continues with model designed with the error analysis of MSE and PSNR. Algorithm for steganography are listed and the obtained results are shown using screen shots of implementation with obtained PSNR and MSE values. The various experiments are described with different result tables.
[5] ‘ Steganography in Compressed Video Stream’, Changyoung Xu, Xijian Ping, Tao Zhang
Authors gave the introduction to the topic with explanation of information hiding and carrier files. Continued with steganography algorithm of embedding data in frames. Explains embedding information in I frame. Then describes extracting process. At last the experimental analysis with screen shots of original I frames anf embedded frames. Mentions’ PSNR table obtained with the graphs of embedding capacity and PSNR against threshold.
CHAPTER 3
SYSTEM REQUIREMENT AND SPECIFICATION
This section describes in detail different requirements and specification for the implementation of the project. This contains in detail all the function and non-functional requirements for design and development of project.
3.1 Hardware Requirements
Hardware requirements are nothing but the hardware components required for the building of the project. Various hardware are used for the implementation and development of projects depending upon the need of project. Following is the list of hardware components required in this project:
i. Intel Pentium IV Processor
ii. 2 GB RAM
iii. 20 GB HDD
3.2 Software Requirements
Same as hardware components some software components are also essential for development of this project as per functionality or usability and various other requirements. Software components required may be dependent or independent of the hardware components used. To satisfy all the requirements we have used following software components:
i. Operating System: Windows XP, Windows 7.
ii. MATLAB 2012b and above.
iii. MATLAB related software’s.
iv. Video files in any format.
3.3 Functional Requirements
The functional requirements of project are noting but the functional the necessity of the projects. In short the function the project should carry out to get the required results or analysis.
3.3.1 Loading video
The basis requirement of video file sending data secretly is the video. Hence we required to take video i.e. to load the video in application. System or application should give the choice to select video or itself provide video to use as carrier file for embedding data and sending.
3.3.2 Data entry
To hide data behind video loaded we need to the enter data from user for future processing and embedding into the video. This data is nothing but secret data to me hidden in video and transmitted. The size of data to be entries depends on the application need and implementation
3.3.3 Encryption
Before sending the secret data for protection and security purpose we apply encryption and then embed data into the video frames. Encryption used again depends on the requirement of project. Depending on encryption technique the data type and size is related. If required the data type properties conversion is done. Same decryption process is done on receiver side for getting secret message
3.3.4 Embedding
After encrypting we get cipher text that we need to embed into the video frames using embedding algorithm. This embedding algorithm used depends on the requirement of the project.
3.3.5 Extracting
Cipher text is embedded into the video which is extracted using reverse embedding methodology. While reverse methodology also the data type conversion may be required depending upon the requirements.
3.3.6 Decrypting
Cipher text extracted is needed to be reverse encryption for getting the plain text i.e. the secret message sent through that video stream. Same reverse steps are used on data for getting the plain text embedded.
3.4 Non-Functional Requirements
Non-functional requirements are the functions that a system or application does not mentions but the general requirements that is independent of the function of project. These requirements are applicable for any type of project.
3.4.1 Usability
The system application should be user friendly. As the user of the product can be a professional or non-professional so it should be self explanatory.
3.4.2 Testability
The degree at which system components helps in testing it is called testability. Lower degree of testability increase the efforts in testing of components. Software components for testability are determined based on understandability, observability, controllability, etc.
3.4.3 Serviceability
The ability of system to provide ease in service like installation, configure, error recognizing and handling etc. This project or application may be handled by any level of user like developer, technical, or employer hence it should be ease to provide service to all users.
3.4.4 Security
System should protect from danger to vulnerable, non-vulnerable, person and all kinds of assets from harm. This application may be used at any level of communication like from low level to high level secured communication. Hence high level security is required.
CHAPTER 4
HIGH LEVEL DESIGN
This chapter consists of design implementation required for the project. This design includes architecture diagram, data flow diagrams and UML diagrams for the project. The design is done in consideration of project overall requirements and its needs. This design may demonstrate the actual flow of data, flow of modules and its use case. Before implementation in design itself we get the detail requirement for the project in coding and implementation modules.
4.1 Architecture Diagrams
The architecture diagram contains the architecture description of project, the basic components of the project. Seeing architecture we get the whole project processing in one diagram.
4.1.1 Block Diagram
This Block diagrams denotes the functions and input/output modules required for the project. The functions modules required are denoted by round symbols whereas the input/ output modules required are in square boxes forms.
i. Input Video: It contains the module to select video for the secret message hidden into it.
ii. Frame separation and Selection: This is a function module used for the frame formation of the video chosen.
iii. DCT: This module contains the function for the DCT coding and finding the co-efficient.
iv. Input Text: It contains the module for enter ans store secret data to be hidden in the video
v. Encrypting text: This module contain function for encrypting the secret text entered.
vi. DCT co-efficient: This is a module for the storing and processing of DCT co-efficient found and the cipher text obtained from encrypting text module.
Figure 4.1: Block diagram
vii) Embedding Text: This module contains function for embedding the secret text into the video and forming the stegno video.
viii) Stegno_video: This contains the module for the storage of stegno video formed.
ix) Reverse DCT: This is module contains function for extracting the secret data in cipher text form.
x) Decrypting Text: this contains the function for decrypting the extracted cipher text into plain text.
xi) Output Text: Contains the module to hold the plain text obtained.
4.1.2 Flow Charts
(a) Flow Chart for Embedding Process
Figure 4.2: Flow Chart for Embedding Process
The above flow chart describes the overall flow of the project while embedding the text behind the video. This flowchart is shown for both the application working with DES and RSA algorithm.
(b)Flow Chart for Extracting
Figure 4.3: Flow Chart for Extracting Process
The above flow chart shows the reverse of the embedding process which is the extracting process. Same as above this flow describes for both application with DES and RSA algorithm.
4.2 Data Flow Diagrams
Data Flow Diagrams (DFD’s) gives the detail of the flow of data from one module to other module. This flow of data can me also contains the detail transfer of control of the module. Various levels of DFD’s are drawn for understanding the project as follows:
(a) Context Level
Figure 4.4: Context Level Diagram
Above diagram shows the context level of the data flow of the project. Here only two basic modules of customer/user and application GUI.
(b) DFD Level 0
Figure 4.5: DFD Level 0 Diagram
DFD level 0 shows all the basic modules and the transfer of data among them. These all components are in are at top view modules the fundamental modules.
(c) DFD Level 1
Figure 4.6: DFD Level 1 Diagram
Above DFD Level 1 diagram show the detail flow of data with its type and format from user to system level. This diagram shows at which module the data is in which format and the passage of data flow. From DFD Level 0 the modules are step in detail in level1. Data from plaintext to cipher text and back to plain text journey is clearly seen in the figure 4.6 above. Also at module DCT the calculation of PSNR and MSE is done is being described.
(d) DFD Level Decomposition
The overall decomposition of the modules from level 0 to 1 is show in figure 4.7. The module from primary to the high level module is displayed in the diagram below. The transfer of the data can also be demonstrated from figure 4.7. This shows two levels with the context flow in same environment. The flow of data is also clear from the below decomposition of levels.
Figure 4.7: DFD Level Decomposition Diagram
4.3 UML diagrams
(a) Class Diagram
The class diagram for a project gives in detail the number of objects in used. Also the relation of one object with other objects is denoted by the type of line connecting it. In figure 4.8 below shows the class diagram for this project. Here we have objects like application GUI, and then frames the collected know as video. There is a text for input secret data and a crypt for cryptography on the text. DCT for the embedding of the encrypted data. DCT in generalized has Embed and Extract. Crypt in generalized form has a encrypt and decrypt object for encryption and decryption of embedded and extracted message respectively. The figure 4.8 is the basic object required class diagram.
Figure 4.8: Class Diagram
(b) Sequence Diagram
Sequence diagram show the sequence of events taking place in the whole projects with its data flow from one object to other object. Figure 4.9 shows the sequence of events taking place while embedding the secret data behind the video. Whereas figure 4.10 shows the sequence of the events taking place while extracting the secret data from the stegno video. The sequence for the embedding is exact reverse for the extracting process. There are events in embedding process like text validation and video validation. Other major events are the encryption and then embedding process.
While major events in extracting is decrypting and extracting process. Also the decrypting the mandatory event taking place.
Figure 4.9: Sequence Diagram for Embedding
Figure 4.10: Sequence Diagram for Extracting
Chapter 5
IMPLEMENTATION
This chapter includes the detail implementation of the project. This implementation details include the descriptions of methodologies and theirs procedure or algorithm to be used and the steps taken to process using the pseudo code written.
5.1 Information security in video cryptography
5.1.1 Types of video encryption algorithm
We classify video encryption algorithms in four categories.
i. Fully layered Encryption: In this type of cryptography, encryption is done by primarily compressing whole content of video and then encrypted using standard algorithms like Blow-fish, DEA, DES, AES, and RSA etc. This technique is not very suitable in real time video applications due to substantial computation and slug speed.
ii. Permutation based Encryption: The video encryption algorithms in this category simply use different permutation algorithms to alter or encrypt the video contents. It is not necessary to alter each and every byte. Some algorithms may use predefined structured list as secret key to encrypt video contents.
iii. Encryption: algorithms in which process selectively alter or encrypt the bytes within video frames. As these algorithms are not encrypting each and every byte of video frames data, it lowers the computational complexity.
iv. Perceptual Encryption: This type of encryption requires that quality of audio/visual data is only partially degraded by encryption i.e., the encrypted multimedia data is still partially perceptible after encryption
5.1.2 Performance Parameters
We need to define a couple of components i.e. parameters based on which we can study, compare and conclude the best video encryption algorithms. Some parameters listed below are collected from large survey study.
i. Visual Degradation (VD): This parameter measures the emotive quality distortion of the video data with regard to the plain video. In some applications, it could be necessary to gain enough visual degradation, so that an attacker would still recognize or grasp the content but prefer to pay attention towards the un-crucial and unencrypted content. However, for delicate data, elevated visual degradation could be relevant to completely mask the visual content. For this we use PSNR and corresponding MSE values as observation parameters.
ii. Encryption ratio (ER): This parameter measures the ratio of range of size between the encrypted part and the actual data. Encryption ratio has to be mineralized to lower computational complexity. We can use ration of plain text to cipher text as ER.
iii. Speed (S): In many real-time video applications, it is important that the cryptographic procedure of encryption and reverse should be fast enough to meet real time requirements. We use computational time as a parameter for speed.
5.2 Information hiding in video Steganography
5.2.1 Steps in Steganography
At sender side:
i. Enter the secrete message
ii. Choose the file into which data to be hidden
iii. Hide secrete data into chosen file using hiding methodology such as DCT
iv. Send stegno file.
At receiver side:
i. Collect the stegno file.
ii. Apply reverse of hiding process.
iii. Extract message secretly passed.
5.2.2 Techniques of Steganography
a) Injection
This is very similar to its name, simple method in which we just inject the required data (secret information) to be hided in the cover file or image to be sent. It is just injected, so a very high risk of getting used by unauthorized person.
b) Substitution
In these techniques of steganography we substitute the secret information with the whole carrier file or with the least significant bit of carrier file so as to obtain less distortion in the stegno file.
c) Generation
In these steganography techniques we use generation of new file called overt file and inject it in covert file as in injection procedure.
5.2.3 Applications of Steganography
i. Steganography can be the way of not hiding data but hiding the password to extract the secret data.
ii. The message sent (i.e. stegno image or file) are not attracting attention toward it or notify any change in itself. Only the authorized receiver can detect.
iii. Various techniques are use to hide data create a patter to hide data hence very difficult for the attacker to extract secret message easily.
iv. Steganography can be applied to various formats of files like text, image, audio, video, etc.
5.3 Propose Video Cryptography Method: Use of DES and DCT
In this project we have used DES and RSA algorithm both for encryption and then embedding the cipher text obtained from the cryptographic algorithm for the comparative analysis of two algorithms. For embedding we have used DCT algorithm and for extracting the reverse of DCT algorithm is used again
5.3.1 Introduction: DES algorithm
DES is a block cipher hence it takes fixed length block i.e. string as input for processing it through series of complex computation to get the cipher text and reverse series for the cipher text o plain text conversion. DES operates with 64bit block size i.e. 64 bits. The key used in DES algorithm for computation with plain text is of 56 bits in length. Basic structure of DES consists of initial and final permutations and round function using the key in small block for the computation of cipher text. Basic feistel structure of DES algorithm is as follows:
64 bit Plain text
K1
K2
K16
64 bit Cipher text
Figure 5.1: Basic feistel structure of DES
Initial and final permutations are standard table helping in permutation of input text. We have a standard table helping to rearrange the bits for complex computation. Next important part is the round functions which are in total 16 round functions. Each round is a feistel structure so before first round function i.e. Round 1 we do the first cress-cross by dividing plain text into two halves, 32 bits each named as left and right part. Structure for this feistel structure is as follows. The round function consists of a mixer and swapper. Mixer is a function where left part is kept. The right halve part is passed through 3 step process which consists of expansion P box then are S boxes and then a Straight P box.z
Key
(48bit)
Figure 5.2: Round Function mechanism
In expansion P Box we expand 32 bit input to 48 bit for equalizing with 48 bit key. Then the 48 bit input is XOR with 48 bit key to get a 48 bit output which is again passed through S Box where 48 bit output is converted back to 32 bit. At last 32 bit outputs of S Box are again straight permutated where standard permutation table is used for permutation. Output of first round is swapped and second round function is started. Same way 16 times the computation is done and passed to final permutation block.
Figure 5.3: Complete DES block diagram
DES algorithm consists of following steps:
a) DES accepts an input of 64-bit plaintext and 64-bit key (8 bits of parity) and produce output of 64 bit block.
b) The plaintext block has to shift the bits around through 16 rounds.
c) The 8 parity bits are removed from the key by processing the key to through its Key Permutation.
d) The plaintext and key will processed as following
(i) The key is divide into two 28 halves.
(ii) Each half of the key is shifted by one or two bits, depending on the round number it is in.
(iii) The halves are merged and sent to a compressing permutation to reduce the key from 56 bits to 48 bits. This 48 bits keys used to encrypt current round’s plaintext block.
(iv) The shifted key halves from step (ii) are used in next round.
(v) The plaintext block is split into two halves of 32-bit.
(vi) Left half is sent to an expansion permutation to increase its size to 48 bits.
(vii)Left half after expansions is X-OR’ed with the 48bit key from step (iii).
(viii) X-OR’ed values is sent to S-box, which alternate the key bits and compresses the 48-bit block back down to 32-bits.
(ix) From S-Box is sent to a P-box to permute the bits.
(x) From P-box is X-OR with right half of the plaintext block.
(xi) The two halves are swapped and become the next round’s input as left half and right half.
Reverse order is applied for decryption of cipher text obtain from encryption. The key is generated with a series of steps for the encryption process. First is a random 64 bit key is taken. For processing we know DES is a 56 bit key algorithm hence the key is passed through parity drop whose function is explained by its name that is the drop of extra bits. Next is obtaining 48 bits of 56 bit key for each round function for computation of cipher text, so a key generation process is carried out. Key generation process consists of bit shifting. This bit shifting is one bit or two bit depending the number of round function it is going to be used. For round function having number 1, 2, 9 and 16 require 1 bit shifting and remaining round function require 2 bits shifting. This shifting is taken 16 times for 16 round function. The shifting is left shift but before shifting the key is divide into two halves of 28 bits each. Then shifting is applied to both halves and then passed to a compression P Box for compression and obtain 48 bit key. Every shifting generates a unique key for processing with plaint text for cipher text formation. The diagrammatic presentation of key generation is as follows.
Key with parity bits (64 bits)
56 bits
K1
K2
K3
48 bits
Figure 5.4: Key generation block diagram
DES consists of minor properties like complementation property which means encryption of some plain text P with key K obtaining cipher text C; in revere encryption of cipher text with same key k obtain the plain text P after encryption.
5.3.2 Introduction: RSA algorithm
RSA which is Ron Rivest, Adi Shamir and Leonard Adleman who first time described the algorithm in 1977. RSA is a public key cryptography algorithm. In this algorithm two different keys are used for encryption a public key and a private key for decryption.RSA use prime number to generate keys for cryptography. RSA consists of 3 basic steps those are key generation then encryption and decryption. Following is a block diagram of RSA cryptosystem.
Cipher Text
Plain text Plain text
Public key Private Key
Figure 5.5: Block diagram of RSA
Key Generation
RSA algorithm requires public key and private key for encryption and decryption. Public key is used for encryption and is known publicly while private key is kept private and known only to valid user for decryption. Steps for key generation are as follows:
i. Select two prim numbers p and q.
ii. Compute n = pq. n is kept hidden always for security perpose.
iii. Compute eulier(n) = n- ( p + q ‘ 1)
iv. Select integer e such that 1 < e < eulier(n) and gcd(e, eulier(n)) = 1. This e is used as public key for encryption. v. Determine d such that d = e^-1(mod (eulier(n)). This d is used as private key for decryption process. Hence, public key consist of e and n, Private Key consists of n and d component. Encryption For understanding the encryption scenario of RSA algorithm we take an example of ABC sending secret message M to XYZ. If we have public key (e, n) then cipher text is given as C = M^ e (mod n) ABC XYZ Public key (e, n) Figure 5.6: Block diagram of RSA encryption Decryption As example taken above ABC sends cipher text to XYZ. Now XYZ need to decrypt cipher text to obtain secret message M. XYZ uses private key (d, n) and obtain message M as follows M = C^ d (mod n) XYZ ABC Private Key (d, n) Figure 5.7: Block diagram of RSA decryption Example Here is an example how RSA is used for encryption and decryption process. i. Select two prime number p and q. let p = 61 and q = 53. ii. Calculate n = pq, n = 61 * 53 = 3233. Hence n = 3233. iii. Compute totient (n) which is equal to (p ' 1) (q ' 1) = (61-1)(53-1) = 3120. iv. Choose e such that 1< e <3120. Let e = 17. v. Calculate d such that d is modular multiplicative of e(mod totient(n)). After calculating we get d = 2753. Now the public key is (e, n) which is (17, 3233). If the message is m than for encryption we perform as follows C (m) = m^ 17 mod 3233 The private key is given by (d, n) which in example is (2753, 3233). For decryption process following calculation is followed m ( C ) = C^ 2753 mod 3233 For example let m = 65, we calculate C= 65^ 17 mod 3233 = 2790 To decrypt c = 2790, we calculate m = 2790^ 2753 mod 3233 = 65 Hence we securely encrypted and decrypted the message using RSA algorithm. RSA algorithm can be used as signing algorithm. For example if A send a message to B using its pubic key then B can recognized it as it can decrypt it using A's private key as it is the authorized user of this communication and vise versa. 5.3.3 Introduction: DCT algorithm A Discrete Cosine Transform (DCT) express in sum of cosine function. This transformation is applied to images to convert the data points into cosine frequency domain. DCT is well known for its lossy compression of audio, images video etc. DCT is often used in signal and image processing because it has strong energy compaction. Most of the time there is use of low frequency components of DCT. In simple image processing language DCT is Discrete Cosine Transform in which with mathematical transform pixel in such a way from image representation to frequency representation, by separating the whole image into the blocks of 8x8 pixels. The image processing is done on this 8x8 block pixel, where we find out the high, medium and low priority pixel location. Lowest priority pixel value is used for steganography because the change in these values has least affect on the visual degradation. Basically we calculate the DCT coefficient for the use of embedding the secret data into the frames. Steps for DCT coefficient calculation: i. Image (frame of video) is taken. ii. Whole image is divided into 8x8 blocks. iii. 8x8 blocks are again dividing into 4 blocks of 4x4 bits. iv. 1st block of 4x4bit, its co-ordinate (4, 4) is its 1st coefficient q1. v. 2nd block of 4x4, its co-ordinate (4, 4) is its 3rd coefficient q3. vi. 3rd block of 4x4, its co-ordinate (4, 4) is its 2nd coefficient q2. vii. 4th block of 4x4, its co-ordinate (4, 4) is its 4th coefficient q4. viii. q1, q2, q3, q4 are 4 DCT coefficients from which q2 has the least priority values hence it is used for embedding process. Following diagram contains the brief description of the DCT co-efficient calculation from the video frames using above steps. The diagram describes actual division of the image for finding out the DCT co-efficient for the replacement of the secret data into the image frames. After getting the q2 values the steps for replacing the secret data is as follows. Figure 5.8: DCT co-efficient calculation diagram i) we get the least effective coefficient from above calculation i.e. q2 for frame 1. ii) We first convert the secret data into binary values. Then take 3 bits each in sequence for embedding in each frame. iii) Then q2 coefficient value is also converted to binary. We check for condition which is as follows: Take last two bits (4,3) and (4,4) of q2, If we have to embed bit 1 then check if left value is high then right if not swap values. If we have to embed bit 0 then check if right value is high then left if not swap values. If both values are same then add 0.1 to left for embedding bit 1 and add 0.1 to right if we have to embed bit 0. From step (III) 1 bit is embedded in the frame. iv) Take next bit and same DCT coefficient is calculated for 2nd bit and so for 3rd bit. iv) Again step (I) for next 3 consecutive bits of secret data to be embedded. Flow chart explaining the steps involved overall in the DCT module is as follows: Figure 5.9: DCT flow diagram PSNR and MSE After embedding the data into the frames, frames are recollected and sent as video to sender. For the calculation of error we have two parameters which are PSNR (Peak Signal to Noise Ratio) and MSE (Mean Square Error). PSNR gives the ration of maximum power of signal to its signal noise rate. Signals have wide dynamic range of values hence we represent PSNR in logarithmic decibel scale. PSNR with DCT is used to calculate the loss of quality of image due to application of DCT algorithm to the image. Here signal and noise corresponds to original image and reconstructed image after applying DCT. Instead of representing PSNR individually we represent PSNR in terms of MSE by which we also get the correlation between PSNR and MSE obtained. MSE is nothing but the average of mean square error occurred. In simple language MSE is nothing but the difference between the expected and obtained values. ). MSE is the calculation of square of error between input frame All_frame and stegno frame Reshap_frame which can be formulated as follows: Here, M, N is size of frame. PSNR are used for pr??cised comparison of the input and stegno frame. We use MSE value to calculate the PSNR value which is as follows: In images maximum possible values when the image is 8 bits is 256.While calculating PSNR and MSE for color images we divide the image RGB layers from each other or either convert the image to gray scale and then perform DCT and do computation. Higher the PSNR value best is the quality of image. But MSE values should be lowering as possible as it shows the error rate. 5.3.4 Steps to use both DES and DCT algorithm Here is series of steps to impose DES and DCT algorithm for Video steganography. Steps for embedding the text: i. Select video as stream for text transfer from the system. ii. Dividing image into gray scale. iii. Display of input frames. iv. Enter text for the securely transferring. v. Performing DES encryption algorithm. vi. Display encrypted message and time required for encryption. vii. Encrypted message taken as input to DCT algorithm. viii. Taking input frames computation of DCT coefficient. ix. Embedding cipher text to DCT coefficient. x. Calculate PSNR and MSE. xi. Integrate video and send. Steps for extracting the secret message sent: i. Take the video received. ii. Disintegrate the video frames of gray scale. iii. Display the stegno frames. iv. Calculating DCT coefficient. v. Extracting values from the coefficient position. vi. Apply the reverse DES and convert cipher to plain text. vii. Display time taken for decryption viii. Display secret message received. 5.4 Pseudo code 1. Loading video 2. DES Encryption & Decryption 3. RSA Encryption & Decryption 4. DCT embedding and Extraction 5. PSNR & MSE calculation CHAPTER 6 TESTING This chapter includes the tables describing the various levels of testing taken place while programming for the project development and testing after the completion of the development of project application. This test assure about the results obtained by the project for the studies and future conclusion. 6.1 Unit testing These are written from the programmer's perspective. In unit testing we test each module wise which means take the list of functionality and implement the code for each function to be performed. 1. Loading video Case no. Description Precondition Steps Expected result Obtained result Pass fail 1 Load video from same folder Video file in same folder Click on load video File loaded File loaded Pass 2 Load video from different folder Video file in different folder Click on load video File loaded File loaded Pass 3 Load video from same directory Video file in same directory Click on load video File loaded File loaded Pass Table 6.1: Loading video 2. Encryption (DES) Case no. Description Precondition Steps Expected Results Obtained results Passfail 1 Encryption of message Enter characters Click on encrypt Cipher text display Cipher text displayed Pass 2 Encryption of message Enter numerical Click on encrypt Cipher text display Cipher text displayed Pass 3 Encryption of message Enter symbols Click on encrypt Cipher text display Cipher text displayed Pass 4 Encryption of message Enter characters & numerical Click on encrypt Cipher text display Cipher text displayed Pass 5 Encryption of message Enter characters & symbols Click on encrypt Cipher text display Cipher text displayed Pass 6 Encryption of message Enter numerical & symbols Click on encrypt Cipher text display Cipher text displayed Pass 7 Encryption of message Keep blank Click on encrypt Display error Error displayed Pass Table 6.2: Encryption (DES) 3. Decryption (DES) Case no. Description Precondition Steps Expected Results Obtained results Passfail 1 Decryption of message Enter characters Click on encrypt Cipher text display Cipher text displayed Pass 2 Decryption of message Enter numerical Click on encrypt Cipher text display Cipher text displayed Pass 3 Decryption of message Enter symbols Click on encrypt Cipher text display Cipher text displayed Pass 4 Decryption of message Enter characters & numerical Click on encrypt Cipher text display Cipher text displayed Pass 5 Decryption of message Enter characters & symbols Click on encrypt Cipher text display Cipher text displayed Pass 6 Decryption of message Enter numerical & symbols Click on encrypt Cipher text display Cipher text displayed Pass 7 Decryption of message Keep blank Click on encrypt Display error Error displayed Pass Table 6.3: Decryption (DES) 4. Encryption (RSA) Case no. Description Precondition Steps Expected Results Obtained results Passfail 1 Encryption of message Enter characters Click on encrypt Cipher text display Cipher text displayed Pass 2 Encryption of message Enter numerical Click on encrypt Cipher text display Cipher text displayed Pass 3 Encryption of message Enter symbols Click on encrypt Cipher text display Cipher text displayed Pass 4 Encryption of message Enter characters & numerical Click on encrypt Cipher text display Cipher text displayed Pass 5 Encryption of message Enter characters & symbols Click on encrypt Cipher text display Cipher text displayed Pass 6 Encryption of message Enter numerical & symbols Click on encrypt Cipher text display Cipher text displayed Pass 7 Encryption of message Keep blank Click on encrypt Display error Error displayed Pass Table 6.4: Encryption (RSA) 5. Decryption (RSA) Case no. Description Precondition Steps Expected Results Obtained results Passfail 1 Decryption of message Enter characters Click on encrypt Cipher text display Cipher text displayed Pass 2 Decryption of message Enter numerical Click on encrypt Cipher text display Cipher text displayed Pass 3 Decryption of message Enter symbols Click on encrypt Cipher text display Cipher text displayed Pass 4 Decryption of message Enter characters & numerical Click on encrypt Cipher text display Cipher text displayed Pass 5 Decryption of message Enter characters & symbols Click on encrypt Cipher text display Cipher text displayed Pass 6 Decryption of message Enter numerical & symbols Click on encrypt Cipher text display Cipher text displayed Pass 7 Decryption of message Keep blank Click on encrypt Display error Error displayed Pass Table 6.5: Decryption (RSA) 6. Embedding (DCT) Case no. Description Precondition Steps Expected Results Obtained Result Passfail 1 Calculating DCT coefficient Select video Click on apply DCT Display coefficient Coefficient is displayed Pass 2 Calculating DCT coefficient No video Click on apply DCT Display error no video Error displayed Pass 3 Embedding data into coefficient Input message and no video Click on embed Display error no video Error displayed Pass 4 Embedding data into coefficient Input message and video Click on embed Message embedded Message embedded Pass Table 6.6: Embedding (DCT) 7. Extracting (DCT) Case no. Description Precondition Steps Expected Results Obtained Result Passfail 1 Calculating DCT coefficient Select video Click on apply DCT Display coefficient Coefficient is displayed Pass 2 Calculating DCT coefficient No video Click on apply DCT Display error no video Error displayed Pass 3 Embedding data into coefficient Input message and no video Click on embed Display error no video Error displayed Pass 4 Embedding data into coefficient Input message and video Click on embed Message embedded Message embedded Pass Table 6.7: Extracting (DCT) 8. PSNR & MSE calculation Case no. Description Precondition Steps Expected result Obtained Result PassFail 1 Calculating PSNR Input original and stego frames Click calculate PSNR Display PSNR value PSNR value displayed Pass 2 Calculating PSNR Input original frames Click calculate PSNR Display error no stego frames Error displayed Pass 4 Calculating PSNR Input stegno frames Click calculate PSNR Display error no original frames Error displayed Pass 5 Calculating MSE Input original and stego frames Click calculate MSE Display MSE value MSE value displayed Pass 6 Calculating PSNR Input original frames Click calculate MSE Display error no stego frames Error displayed Pass 7 Calculating PSNR Input stegno frames Click calculate MSE Display error no original frames Error displayed Pass Table 6.8: PSNR & MSE 6.2 Integration Testing Integration my meaning states the function of this testing is to integrate things. The modules function created. Various modification need to take integration testing as simply collecting modules won't work practically. Also when collected modules these should perform some part of actual system. For example to calculate a summation and store it in the data base in form of table or text or notepad. 1. Loading and encrypting Case no. Description Precondition Steps Expected Result Obtained Result Pass Fail 1 Loading video Select video Click load video Video loaded Video loaded and displayed Pass 2 Enter input Video loaded Enter message Message displayed Message displayed Pass 3 Encryption of message Message entered Click encrypt Encryption done Cipher text displayed Pass 4 Encryption time Encryption done Click encrypt Time displayed Time displayed Pass 5 Encryption of message Message null entered Click encrypt Error null input Error displayed Pass Table 6.9: Loading and encrypting 2. Cipher text embedding and calculating PSNR and MSE Case no. Description Precondition Steps Expected Result Obtained Result Pass Fail 1 Calculating DCT coefficient Cipher text displayed Click calculate Display coefficient Displayed coefficient Pass 2 Embedding cipher bits into frames Input frames available Click embed Message embedded Displayed message embedded Pass 3 Display stegno frames Embedding bits done Click view stegno frames Frames displayed Frames displayed Pass 4 Calculate PSNR Embedding bits done Click PSNR PSNR value displayed PSNR value displayed Pass 5 Calculate MSE Embedding bits done Click MSE MSE value displayed MSE value displayed Pass 6 Calculate the time of embedding Data embedded Click Calculate Display time Time displayed Pass Table 6.10: Cipher text embedding and calculating PSNR and MSE 3. Extracting and decipherment Case no. Description Precondition Steps Expected result Obtained Result Pass Fail 1 Calculating DCT coefficient Stego frames available Click calculate co-efficient Display co-efficient Co-efficient displayed Pass 2 Extract bits Co-efficient displayed Click extract Display cipher text bits Display cipher text bits Pass 3 Decipher cipher text Cipher text extracted Click decipher Display plain text Display plain text Pass Table 6.11: Extracting and decipherment 6.3 System testing System testing is done for the end user view. Here the complete functionality required is tested collectively. All the modules are collaborated and formed and tested. While testing the testing is done as not an technical personal but as end user known of the proceeding and procedure. Case no. Description Precondition Steps Expected result Obtained result Pass / fail 1 Loading video Run the application Click on load video button Choice box to select video Choice box opened Pass 2 Selecting video Clicked load button Select video from list Loaded video display in panel Video is displayed in panel Pass 3 Display input frames Video loaded Select video Display all input frames Frames displayed Pass 4 Enter input message Video is selected for hiding Enter the text No error to occur while text input No error occurred Pass 5 Encrypting the text Encryption is done Click on encrypt button Encryption done with no error No error occurred Pass 6 Encryption time calculation Encryption is done Click on encrypt button Time displayed in display box Time displayed Pass 7 Embedding time calculation Embedding is done Click on embed button Embedding is done with no errors No error occurred Pass 8 Embedding the text in video Text is encrypted Click on embed button Time displayed in display box Time displayed Pass 9 Display stegno frames Embedding is done Clicked view Stegno frames displayed Stegno frames displayed Pass 10 Decryption of cipher text Extraction of embedded text Click on decrypt button Decrypted text to be displayed Decrypted text displayed Pass 11 Decrypting time calculation Decrypting is done Click on decrypt button Time displayed in display box Time displayed Pass Table6.12: System Testing CHAPTER 7 RESULTS This Chapter contains the results obtained after successful testing on all modules and the complete system in together. These results are taken for all them parameters being considered while aiming for the project idea. 7.1 PSNR and MSE values As stated above PSNR (peak signal to noise ratio) and MSE (mean square error) are metrics to calculate the image quality after embedding or compressing. Here in our project we have taken several videos and calculated the PSNR and MSE values. For comparison of our project done with DES, we use RSA Algorithm and calculated PSNR and MSE values with both cryptography algorithm after applying DCT. The table below gives the details of video and the number of frames and PSNR values and MSE values using DES and RSA cryptography respectively. In following table MSE values are x10^ -6 and PSNR values are in decibel. DES Algorithm RSA Algorithm Video PSNR MSE PSNR MSE Video 1 (431 frames) 160 7.728 83.76 0.002 Video 2 (654 frames) 133 9.26 82.64 0.00035 Video 3 (589 frames) 146.39 9.156 80.39 0.00059 Table 7.1: PSNR & MSE For DES and RSA From above table1 we get that compared to RSA, DES algorithm has obtained higher PSNR values and relatively lower MSE values. Hence we prefer for higher PSNR value obtaining encryption algorithm for good quality video steganography. We have plotted a graph of PSNR to MSE values for DES algorithm encryption application where the input size started with 1 bit and is increased by 1bit correspondingly. Figure 7.1: Graph for PSNR vs MSE (DES) Graph show that always with increase in bit size of input, PSNR value decrease and MSE values goes on increasing. The values obtained for any particular bit is not constant, but vary every time. Similarly we have plotted graphy for PSNR vs MSE values using RSA encryption for video steganography application. In this graph also we see the typical characteristics of PSNR and MSE co-relation. Here also with increase in MSE with increase in input bit size from 1 bit obtains decrease in PSNR values respectively. Figure 7.2: Graph for PSNR vs MSE (RSA) 7.2 Plaintext to Cipher text ratio In this study we have used DES algorithm hence it works on 64bits block size. Hence the ratio of plaintext (64bits) and the cipher text (64bits) is 1. Also respectively decipher text will also be 64bits. As DES is used with DCT module, so DCT is also operating with 64 bits correspondingly. Whereas for the RSA algorithm the ratio of plain text to cipher text always various depending upon the key size and data size. 7.3 Time Consumption We have calculated time consumption for encryption, decryption and embedding for both DES and RSA cryptography. Below table contains encryption, embedding and decryption time required using RSA algorithm. For study we have taken two different videos names video 1 and video 2. For each video we gave 3 different inputs for future analysis. Using different input for each video we have seen that each time we get different time requirement for performance of computation. Video RSA algorithm Encryption Embedding Decryption Video 1 memory swap system 0.127 0.784 0.4144 0.220 0.816 0.4560 0.280 0.696 0.7064 Video 2 Security dual peak 0.184 0.863 0.4240 0.304 0.899 0.5120 0.432 0.840 0.7096 Table 7.2: Time Consumption for RSA We plotted the encryption decryption and embedding time for each execution i.e. totally 6 execution times as above. From above bar chart we see how for each execution the time in sec required for 64 bits data. Figure7.4: Bar chart for time consumption (RSA) Same we have done with DES algorithm; we have drawn a table for encryption, embedding and decryption time in sec. Here also we have taken two sample videos and 6 set of inputs for the application to calculate the time. The table is as follows: Bar chart for the above experiment values are as follows which shows clearly that time of encryption, embedding and decryption for DES is comparatively less than RSA algorithm. From which we conclude that when we need to prefer for less time consumption process then we can grow for DES algorithm rather than RSA algorithm. Video DES algorithm Encryption Embedding Decryption Video 1 sequel swap system 0.113 0.195 0.090 0.15 0.261 0.091 0.200 0.169 0.094 Video 2 security dual peak 0.150 0.173 0.055 0.130 0.240 0.094 0.190 0.250 0.088 Table 7.3: Time Consumption for DES Figure 7.5: Bar chart for time consumption (DES) 7.4 Study of Histograms Two images one is the original frame no. 1 and second is the histogram of stegno frame no. 1. Below histogram demonstrates us that due to implementation of DES and DCT secret data is being embedded into the pixels still there is no naked difference between original and stegno frame. Figure 7.6: Histogram for original image Figure 7.7: Histogram for stegno image CHAPTER 8 CONCLUSION AND FUTURE ENHANCMENT 8.1 Conclusion The proposed work is done for the video steganography where we want to hide the secret data into the video and transfer. Various previous proposed system gave different methodology using cryptography and embedding techniques. But the best pair of cryptography and embedding technique was not experimented and concluded. Hence the proposed system consists of two key operations which is encrypting the data using DES and RSA, then embedding that cipher text into the video using DCT algorithm. It has 3 parameters PSNR, MSE and the time consumption for the comparison study of encryption algorithm. As verified by various test results for above parameters, DES with DCT proves to be better than RSA algorithm. 8.2 Future Enhancements For future we can come up with the other forms of data like audios, videos for transfer securely. Also we can search for more efficient embedding process with lossless or reduced visual degradation by minimizing MSE and increasing PSNR values. Some best ideas for enhancements are like the fusion of videos or audios and then embedding the text. Other thing that can be experimented is to send audio or video data in that fusion of videos or audios. REFERENCES [1] Metaliya Viral G 2014, 'A Real Time Approach for Secure Text Transmission Using Video Cryptography'. [2] Poonam V Bondhak, Baisa L Gunjal 2012, 'Improved Protection In Video Steganography Using DCT & LSB'. [3] Kolli Aditya, S. Sri Durgra Kameswari 2013, 'Embedding of Data in Motion Vectors by Using Steganoraphy Concepts'. [4] Naitik P Kamdar, Dharmesh N Khandhar 2013, 'Implementation of Steganography Using LSB & DCT that Minimize PSNR & MSE'. [5] Changyong Xu, Xijian Ping, 'Steganography in compressed Video Stream', Tao Zhang. [6] P.PaulPandi 2012, 'Hiding Message Using Vector Technique In Video Steganography'. [7] Dipesh G. Kamdar 2008, 'Performance Evaluation of LSB Based Steganography for optimization of PSNR and MSE'. [8] Prof. Dr. P.R.Deshmukh 2014, 'Hash Based Least Significant Bit Techniques For Video Steganography'. [9] Arup Kumar Bhaumik, Minkyu Choi 2008, 'Data Hiding in Video'. [10] Parmjeet kaur Assistant Professor, Poonam Sethi Assistant Professor 2012, 'Blocking Artifacts Reduction in Block based Discrete Cosine Transform Compressed Images'. [11] Shuguo Yang, Shenghe Sun, 'A video encryption method based on chaotic maps in DCT domain'. [12] S. Suma Christal Mary M.E (Ph.D )2010, 'Improved Protection In Video of Steganography Used Compressed Video Bitstreams'. [13] Dr. Prerna Mahajan & Abhishek Sachdeva 2013 , 'A Study of Encryption Algorithms AES, DES and RSA for Security'. [14] Arnaud Lagger, Ilhan Hatirnaz Assistant, Yusuf Leblebici Professor 2003, 'Implementation of DES Algorithm Using FPGA Technology'. [15] Shashi Mehrotra Seth, Rajan Mishra Dept. of CS & IT, MERI College of Engg. & Tech 2011, 'Comparative Analysis Of Encryption Algorithms For Data Communication'. [16] Muhilm Mohomad, Amin Subhrah, Ibirahim Mazlina, Sallah Modh Rozi Kathim 2003,'Information hiding using steganography'. [17] S.G. Gino Sophia, K.Padmaveni, Linda Joseph 2014, 'Four key Secured Data Transfer Using Steganography and Cryptograph'. [18] Pawanpuneet Mander M.Tech, Balpreet Kaur Assistant Professor 2014, 'An Encrypted Key Mechanism Based Enhanced Video Cryptography'. [19] Jason Paul Cruz, Nathaniel Joseph Libatique, and Gregory Tangonan ,Electronics, Communications and Computer Engineering Department 2012 , 'Steganography and Data Hiding in Flash Video (FLV)'. [20] Ketki Thakre, Nehal Chitaliya , 'Dual Image Steganography for Communicating High Security Information', 2014. [21] Jolly shah and Dr. Vikas Saxena , Dept. of CSE & IT , 'Video Encryption: A Survey', 2011. [22] M. Abomhara, Omar Zakaria, Othman O. Khalifa , 'An Overview of Video Encryption Techniques', 2010

About this essay:

If you use part of this page in your own work, you need to provide a citation, as follows:

Essay Sauce, Performance analysis of steganography algorithm using security application. Available from:<https://www.essaysauce.com/computer-science-essays/essay-performance-analysis-of-steganography-algorithm-using-security-application/> [Accessed 19-12-24].

These Computer science essays have been submitted to us by students in order to help you with your studies.

* This essay may have been previously published on EssaySauce.com and/or Essay.uk.com at an earlier date than indicated.