# Audio Steganalysis Estimation with the Goertzel Algorithm
## 2 Materials and Methods
### Steganalyzer Process  
In this section, each step of the proposed method for the steganalysis of audio files is detailed. To better demonstrate how a steganalyzer works, we begin with a basic description of how steganographic algorithms work. Steganography is the process of hiding data within a digital medium known as the host medium; in this case, the medium is an audio file [13]. In this work, we implemented the Steghide algorithm. Steghide is designed as a steganographic tool with very good robustness [14]. In general, it consists of the following algorithm [14]: \"The embeddingalgorithm roughly works as follows: At first, the secret data is compressed and encrypted. Then, a sequence of positions of pixels in the cover file is created based on a pseudo-random number generator initialized with the passphrase (the secret data will be embedded in the pixels at these positions). Of these positions, those that do not need to be changed (because they already contain the correct value by chance) are sorted. Then, a graph-theoretic matching algorithm finds pairs of positions such that exchanging their values has the effect of embedding the corresponding part of the secret data\". Steganalysis consists of the detection of hidden information embedded with the use of steganography tools or techniques in media files [13]. Figure 1 depicts the block diagram of the general basic mechanism for data insertion (steganography). For this investigation, a wav audio file is considered. Our first main input function is x[n], which represents the original audio file, also known as the host file. The other main input function y[x], to the matchpoint is the hide signal on the host function. The matchpoint is the insertion point of the vector to be hidden in the audio vector (host file), which is known as the hiding process. Currently, there are various steganography methods: the classic methods are in the time domain, such as the one known in the insertion of the least significant bit (LSB) [15; 16]. There are other methods in the frequency domain, for which it is common to find methods related to the Discrete Wavelet Transform (DWT) and the Discrete Fourier Transform (DFT), to mention a few, and finally, there are methods that present a combination of these domains (time-frequency). At the end of the process, we obtain a modified audio file, known as stegoaudio, and represent it by the function s[n]. s[n] is used to determine if any information is embedded inside the file. Proposed Stegoanalyzer  
In this section, we describe the proposed audio stegoanalyzer. Figure 2 shows a block diagram of the proposed stegoanalyzer. In general, Figure 2 is divided into the 3 main steps of processing the signal to be analyzed: In step 1, the original audio files x[n] and the possible stegoaudio s[n] are entered. Next, in step 2, the Goertzel algorithm is applied to perform the frequency analysis of the audio vectors \(x[d]\) and \(s^{\prime}\). A frequency scan is then executed to detect the characteristic fingerprints of each signal. In step 3, the results obtained from step 1 and step 2 are validated twice. In addition, the statistical dependency between the fingerprints obtained in the first step is analyzed. Figure 1: Block diagram of the embedding mechanism of the audio inside another audio file. Figure 2 depicts the detailed stegoanalyzer process. * Step 1. Goertzel algorithm  
From the Figure 2, the Goertzel algorithm is typically used for detecting the tones produced on a telephone keypad, known as dual-tone multifrequency (DTMF) [6; 17; 18]. The tones are recognized using the total run of the harmonic current. Therefore, the algorithm can provide a non-zero value when it detects such a harmonic in the frequency range of the input signal. The tested signal is divided by the number of intervals for the analysis. The exact Fast Fourier Transform (FFT) in the range of the reference frequency can then be calculated [19; 20]. The procedure for the Goertzel algorithm is detailed below.