This document discusses audio steganography techniques. It describes how digital audio works through sampling and quantization. It then explains how least significant bit coding can be used to hide messages in audio files by replacing the least significant bit of samples with bits of the hidden message. The document provides details of the encoding algorithm, including using the RC4 encryption algorithm to determine which bits to replace. It notes that wav files are commonly used as they do not involve lossy compression. The document provides an overview of audio steganography and how covert messages can be embedded and extracted from digital audio files.
2. STEGANOGRAPHY
No one apart
from the
Art and A form of sender and
science of security intended
writing hidden through recipient,
messages obscurity suspects the
existence of
the message
www.company.com
6. AUDIO TERMS
• Sampling is the process in which
the analogue values are only captured at regular
time intervals.
• Quantization converts each input value into one
of a discrete value.
• Popular sampling rates for audio include 8 kHz,
9.6 kHz, 10kHz, 12 kHz, 16 kHz, 22.05 kHz and
44.1 kHz
www.company.com
14. LSB ALGORITHM
Step 2 Step 4
• Receives the • Check which LSB • Replaces the LSB
audio file • Each character to Replace By bit from audio
convert it into bit in the message is RC4 Algorithm with LSB bit from
pattern. converted into
character in the
bit pattern.
message.
Step1 Step 3
www.company.com
17. RC4 ALGORITHM
RC4
The pseudo-
The key-
random
scheduling
generation
algorithm (KSA)
algorithm (PRGA)
www.company.com
18. RC4 ALGORITHM
• The key-scheduling algorithm (KSA)
• initialize the permutation in the array "S
• Array "S" is initialized to the identity permutation
• Swap values of S[i] and S[j].
www.company.com
19. RC4 ALGORITHM
• The pseudo-random generation algorithm (PRGA)
• Used as many iterations as are needed
www.company.com
The key-scheduling algorithm is used to initialize the permutation in the array "S." "keylength" is defined as the number of bytes in the key and can be in the range 1 ≤ keylength ≤ 256, typically between 5 and 16, corresponding to a key length of 40 – 128 bits. First, the array "S" is initialized to the identity permutation. S is then processed for 256 iterations in a similar way to the main PRGA, but also mixes in bytes of the key at the same time.
or as many iterations as are needed, the PRGA modifies the state and outputs a byte of the keystream. In each iteration, the PRGA increments i, looks up the ith element of S, S[i], and adds that to j, exchanges the values of S[i] and S[j], and then uses the sum S[i] + S[j] (modulo 256) as an index to fetch a third element of S, (the keystream value K below) which is XORed with the next byte of the message to produce the next byte of either ciphertext or plaintext. Each element of S is swapped with another element at least once every 256 iterations.