Thesis
Thesis
Thesis
Nishant Bhosale
Student ID: 22227377
Abstract
This project addresses the performance issues of conventional RSA encryption by com-
bining audio steganography with Elliptic Curve Cryptography (ECC) to improve data
security. ECC is a viable substitute thanks to its more effective operations and reduced
key sizes. The goal of the project is to use audio steganography to create a system that
uses the advantages of ECC inside a multi-layered security framework.
The main goal is to create a reliable security solution with reduced computational
cost and faster processing by integrating audio steganography with ECC. The approach
involves employing multi-layer Least Significant Bit (LSB) embedding for data hiding
in audio files and implementing ECC algorithms in Python. Metrics like Signal-to-Noise
Ratio (SNR) and Peak Signal-to-Noise Ratio (PSNR) will be used in the testing process to
assess encryption and decryption rates, computing efficiency, and audio quality. Security
evaluations will contrast ECC’s resistance to steganalysis methods and cryptographic
attacks with that of RSA. Aiming to establish a new benchmark for safe data transmission
and storage, expected results include increased encryption efficiency, increased resilience
to attacks, and optimized data security measures.
Contents
1 Introduction 4
2 Objectives 5
3 Literature Review 6
3.1 Important Takeaways from Al-Juaid and Gutub’s ”Combining RSA and
Audio Steganography on Personal Computers for Enhancing Security” (2019) 6
3.1.1 Security Model with Two Layers . . . . . . . . . . . . . . . . . . 6
3.1.2 Practical Challenges and Solutions . . . . . . . . . . . . . . . . . 6
3.2 Key Findings from ”A Novel Steganography Approach for Audio Files” by
SN Computer Science . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.1 Compression-Encryption Technique . . . . . . . . . . . . . . . . . 7
3.2.2 Multiple LSB Embedding . . . . . . . . . . . . . . . . . . . . . . 7
3.2.3 Perceptual Quality Preservation . . . . . . . . . . . . . . . . . . . 8
3.3 Key Findings from ”Performance Analysis and Implementation of DES Al-
gorithm and RSA Algorithm with Image and Audio Steganography Tech-
niques” by Gambhir et al. (2019) . . . . . . . . . . . . . . . . . . . . . . 8
3.3.1 Comparative Analysis of DES and RSA . . . . . . . . . . . . . . . 8
3.3.2 Integration with Steganography . . . . . . . . . . . . . . . . . . . 8
3.3.3 Performance and Security Analysis . . . . . . . . . . . . . . . . . 9
3.4 Key Findings from ”Security Enhancement in Audio Steganography by
RSA Algorithm” by Jawed and Das (2015) . . . . . . . . . . . . . . . . . 9
3.4.1 RSA-based Security Enhancement . . . . . . . . . . . . . . . . . . 9
3.4.2 Audio Steganography . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.3 Performance and Security Analysis . . . . . . . . . . . . . . . . . 10
3.5 Key Findings from ”Information Hiding: Steganography and Watermark-
ing—Attacks and Countermeasures” by Johnson et al. (2001) . . . . . . 11
3.5.1 Comprehensive Coverage of Steganography and Watermarking . . 11
3.5.2 Attack Strategies and Countermeasures . . . . . . . . . . . . . . . 11
3.5.3 Theoretical Foundations and Practical Applications . . . . . . . . 11
1
5 Methodology for Implementing ECC and RSA with Audio Steganogra-
phy 15
5.1 RSA Key Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.1 Public and Private Key Generation . . . . . . . . . . . . . . . . . 15
5.1.2 Pseudo Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 ECC Key Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2.1 Elliptic Curve Selection . . . . . . . . . . . . . . . . . . . . . . . 15
5.2.2 Key Pair Generation . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2.3 Pseudo Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3 Message Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3.1 RSA Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3.2 ECC Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 Message Embedding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4.1 Embedding Encrypted Messages into Audio Files . . . . . . . . . 17
5.5 Message Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5.1 Extracting Embedded Messages from Audio Files . . . . . . . . . 17
5.6 Message Decryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.6.1 RSA Decryption . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.6.2 ECC Decryption . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.7 Performance Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.7.1 Time Taken for Each Process . . . . . . . . . . . . . . . . . . . . 18
5.7.2 CPU Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.7.3 Memory Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.7.4 Efficiency of Each Process . . . . . . . . . . . . . . . . . . . . . . 19
5.7.5 Security Assessment . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.8 Practical Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.8.1 Step-by-Step Implementation . . . . . . . . . . . . . . . . . . . . 19
5.9 Security Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.9.1 Noise and Quality Assessment . . . . . . . . . . . . . . . . . . . . 20
5.9.2 Integrity Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2
6.6.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.6.2 Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.7 ECC Decryption (ecc decrypt.py) . . . . . . . . . . . . . . . . . . . . . . 23
6.7.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.7.2 Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3
Chapter 1
Introduction
4
Chapter 2
Objectives
Creating and implementing a security solution that combines audio steganography and
ECC encryption is the main objective of this project. The effectiveness, security, and
resource usage of this system will be compared to that of conventional RSA-based systems.
The particular goals consist of:
1. Creating ECC Algorithms: Putting ECC ideas into practice for key generation,
encryption, and decryption procedures.
3. Performance Evaluation: Empirical testing should be done to assess how well the
suggested system performs in terms of efficiency, security, and computing demands
in comparison to RSA-based systems.
5
Chapter 3
Literature Review
6
audio quality is addressed, with strategies to minimize audio quality degradation while
maximizing data embedding capacity.
Relevance to App Implementation: The insights on key management can be
leveraged to develop a robust ECC key management system for the app. This system
will handle key generation, distribution, and storage securely, ensuring the protection of
encrypted data. Furthermore, techniques to preserve audio quality while embedding data
can be applied to ensure that the integration of ECC and LSB steganography maintains
high audio quality. This is critical for the app’s usability, as it ensures that the stego-audio
files remain indistinguishable from the original audio files to human listeners.
7
3.2.3 Perceptual Quality Preservation
Maintaining the perceptual quality of the audio is crucial for practical steganographic
applications. The method proposed in the paper ensures that the embedded data does
not perceptibly alter the audio files, maintaining high audio quality. The authors report
high signal-to-noise ratio (SNR) and peak signal-to-noise ratio (PSNR) values, indicating
minimal degradation of audio quality. Listening tests confirmed that the embedded data
did not perceptibly alter the audio files.
Relevance to App Implementation: Ensuring high audio quality after embedding
ECC-encrypted data is essential for the practical application of the ECC-audio steganog-
raphy system. The app can adopt the methods used to preserve audio quality while
embedding data, ensuring that the integration of ECC and multi-layer LSB techniques
maintains high audio quality. Empirical validation and metrics like SNR and PSNR can
be used to assess and ensure that the audio quality remains high after embedding the
data, making the stego-audio files indistinguishable from the original audio files to human
listeners.
8
steganography, the study uses image files as carriers for embedding encrypted data, em-
ploying techniques such as LSB modification to hide the encrypted data within the image
pixels. For audio steganography, the study uses audio files as carriers, employing LSB
modification to embed the encrypted data within the audio samples. The effectiveness of
the steganographic process is evaluated based on the visual quality of the stego-images
and the perceptual quality of the stego-audio files, as well as their resistance to steganal-
ysis.
Relevance to App Implementation: The hybrid integration of ECC with audio
steganography can be explored in a similar manner to evaluate its effectiveness in hiding
encrypted data within audio files. The proposed app will focus on integrating ECC
encryption with LSB steganography to ensure robust security and efficient performance.
Techniques such as adaptive LSB and spread spectrum can be investigated for their
suitability in embedding ECC-encrypted data into audio files. The app will also evaluate
the visual and perceptual quality of the stego-images and stego-audio files, ensuring that
the embedding process does not degrade the quality of the carrier files.
9
plaintext. The complexity of these processes ensures that only the intended recipient,
who possesses the private key, can decrypt the data.
Relevance to App Implementation: The detailed descriptions of RSA’s encryp-
tion and decryption processes can be adapted for ECC in the proposed app. ECC also uses
a public and private key pair system for encryption and decryption but with smaller key
sizes and lower computational requirements. By implementing ECC’s public and private
key pair system, the app can achieve robust encryption and decryption processes simi-
lar to RSA but with improved efficiency. Ensuring that the encryption process provides
robust security will protect the data even if the steganographic layer is compromised,
making ECC a suitable replacement for RSA in the app.
10
3.5 Key Findings from ”Information Hiding: Steganog-
raphy and Watermarking—Attacks and Coun-
termeasures” by Johnson et al. (2001)
3.5.1 Comprehensive Coverage of Steganography and Water-
marking
The book ”Information Hiding: Steganography and Watermarking—Attacks and Coun-
termeasures” by Johnson et al. (2001) provides a detailed overview of the principles
and techniques of steganography and watermarking. The text explores various stegano-
graphic methods, including spatial domain techniques like LSB modification and trans-
form domain techniques such as Discrete Cosine Transform (DCT) and Discrete Wavelet
Transform (DWT). Each technique is analyzed for its strengths and weaknesses, pro-
viding a holistic view of the field. Watermarking methods, which embed information
into media to assert ownership or provide authentication, are also covered extensively,
discussing techniques like robust watermarking, fragile watermarking, and semi-fragile
watermarking.
Relevance to App Implementation: The comprehensive coverage of stegano-
graphic and watermarking techniques provides valuable methodological insights for de-
signing and implementing the proposed ECC-audio steganography system. The app can
select and adapt appropriate steganographic techniques for embedding ECC-encrypted
data into audio files, ensuring robust security and efficient performance. Techniques such
as adaptive LSB and transform domain methods can be considered for their robustness
and capacity, providing enhanced security for the embedded data.
11
support steganographic and watermarking methods, such as probability theory, signal
processing, and information theory. These models help in designing effective and se-
cure information hiding systems. Various practical applications of steganography and
watermarking are explored, including digital rights management, secure communication,
and covert data transmission, demonstrating the real-world relevance and importance of
robust information hiding techniques.
Relevance to App Implementation: The theoretical foundation provided in the
text will help in developing a robust security framework for the proposed app, ensuring
that the integrated system is well-protected against various threats. Utilizing the mathe-
matical models discussed will guide the design and optimization of ECC-based encryption
and steganography algorithms. Additionally, evaluating the system’s performance and
security in practical applications like secure communication and digital rights manage-
ment will provide insights into its practical applicability and identify potential challenges
and solutions for real-world deployment.
12
Chapter 4
Based on the extracted findings, the following steps outline the strategy for implementing
the app:
13
metrics such as encryption and decryption times, CPU usage, memory consumption, em-
bedding capacity, and audio quality, using SNR and PSNR values. Ensuring high audio
quality after embedding ECC-encrypted data is essential for the practical application
of the system. The proposed app will conduct listening tests and quality assessments
to ensure that the audio quality remains high after embedding the data, making the
stego-audio files indistinguishable from the original audio files to human listeners.
14
Chapter 5
This methodology outlines the detailed steps and technical implementation for combin-
ing two encryption algorithms, Elliptic Curve Cryptography (ECC) and RSA, with audio
steganography. The objective is to enhance data security by leveraging the strengths of
both encryption algorithms and the covert communication capabilities of audio steganog-
raphy. The methodology focuses on technical details, performance metrics, and practical
implementation, ensuring a thorough understanding of each step and its significance.
15
p is a prime number, and a and b are curve parameters that satisfy certain mathematical
properties ensuring the curve’s security and efficiency.
Pseudo Code
Load RSA public key
Read plaintext message from file
Encrypt message using public key and OAEP padding with SHA-256
Save encrypted message to binary file
Pseudo Code
Load ECC public key
Read plaintext message from file
16
Encrypt message using public key and ECIES with KDF and symmetric encryption
Save encrypted message to binary file
Pseudo Code
Open audio file in binary mode
Read audio frames into byte array
Convert encrypted message to binary format
Embed message bits into LSBs of audio frames
Save modified audio file
Pseudo Code
Open modified audio file in binary mode
Read audio frames into bytearray
Extract LSBs from audio frames to reconstruct binary message
Group bits into bytes and save extracted message to binary file
17
Pseudo Code
Load RSA private key
Read encrypted message from binary file
Decrypt message using private key and OAEP padding with SHA-256
Display or save decrypted message
Pseudo Code
Load ECC private key
Read encrypted message from binary file
Decrypt message using private key and ECIES with KDF and symmetric decryption
Display or save decrypted message
18
5.7.4 Efficiency of Each Process
Calculate the efficiency based on the time, CPU, and memory usage. Compare the per-
formance metrics of RSA and ECC to determine which algorithm offers better efficiency
when combined with audio steganography.
Message Encryption
• Read the secret message from the user input via the GUI.
• Encrypt the message using RSA and ECC algorithms.
• Save the encrypted messages to binary files for further processing.
Message Embedding
• Select an audio file to use as the cover medium.
• Embed the encrypted messages into the audio file using LSB steganography.
• Save the modified audio files with embedded messages, ensuring the integrity and
quality of the audio are maintained.
Message Extraction
• Open the modified audio files and extract the embedded messages.
• Save the extracted messages to binary files for decryption.
Message Decryption
• Decrypt the extracted messages using the respective private keys.
• Display the decrypted messages to verify the accuracy of the process and ensure
the original message is recovered correctly.
19
Performance Evaluation
• Time Measurement: Use high-resolution timers to measure the start and end
times of each operation. Calculate the elapsed time for key generation, encryption,
embedding, extraction, and decryption, ensuring precise measurements.
Security Evaluation
• Robustness Testing: Conduct steganalysis tests to evaluate the robustness of the
embedded messages against detection. Perform cryptanalysis to assess the security
of the encrypted messages, ensuring they are resistant to common attacks.
20
Chapter 6
6.1.2 Process
• RSA Key Generation:
21
6.2.2 Process
• The RSA public key is loaded from a file.
• The message is encrypted using the RSA public key with OAEP padding and SHA-
256 as the hashing algorithm.
6.3.2 Process
• The ECC public key is loaded from a file.
• The message is encrypted using the ECC public key with ECIES, combining elliptic
curve cryptography with symmetric encryption.
6.4.2 Process
• The encrypted message is read from a binary file.
• The audio file is opened and its frames are read into a bytearray.
• Each bit of the message is embedded into the least significant bits of the audio
frames.
• The modified audio file is saved, maintaining the quality and integrity of the original
audio.
22
6.5 Message Extraction (extract.py)
6.5.1 Purpose
The message extraction module extracts the embedded message from the modified audio
file.
6.5.2 Process
• The modified audio file is opened and its frames are read into a bytearray.
• The least significant bits of the audio frames are extracted to reconstruct the original
binary message.
6.6.2 Process
• The RSA private key is loaded from a file.
• The message is decrypted using the RSA private key with OAEP padding.
6.7.2 Process
• The ECC private key is loaded from a file.
• The message is decrypted using the ECC private key with ECIES.
23
Chapter 7
24
7.2 Practical Implementation
7.2.1 Setting Up the Environment
Ensure the necessary libraries and dependencies are installed, such as cryptography, tkin-
ter, psutil, and audio processing libraries. Set up the project directory with the required
files, including the encryption and decryption scripts, key generation scripts, and the
audio file for embedding.
25
• Integrity Checks: Verify the integrity of the decrypted messages by comparing
them with the original secret messages. Ensure that the decryption process retrieves
the exact message that was initially encrypted and embedded.
26