# A Dynamic Multi-Layer Steganography Approach Based on Arabic Letters' Diacritics and Image Layers
## 2 Related Work
### Arabic Text Steganography Methods  
Several scholars have proposed techniques to embed sensitive data in Arabic text and other languages [28; 29]. Their studies focused on the characteristics of the language, such as punctuation marks, diacritics, and others. This subsection reviews existing work on Arabic text steganography and presents its advantages and disadvantages. **Using Dot positions:** The Arabic language contains 15 dotted letters out of its 28 letters, which are shown in Figure 3.  
The research in this area focuses on changing the positions of the dots of the letters. The position of the dot in the letter itself is changed by shifting it, as presented in Figure 4[30]. This method has advantages in that there are 16 Arabic characters (15 as mentioned earlier plus the letter Kaf (\(\underline{\lambda}\))) that can be used in the embedding process, in addition to the different types of calligraphy, from Al-Diwani, Al-Raq'ah, Al-Farsi, Al-Thulus, and Al-Naskh [31]. However, the common shortcomings of this approach are:  
* The process of extracting the text requires an optical character recognition (OCR) process to extract it to establish the locations of the variable points in their places, in addition to the fact that a change in font type would lead to complete loss of the embedded data;
* The position of the hidden bits is not random; thus, the predictability can be exploited;
* Low sustainability. **Using Kashida:** Kashida is implemented in Arabic and Persian by stretching a letter, as shown in Figure 5. This method allows for extending the original text with characters to hide the secret message. One of this method's most significant challenges is alleviating text distortion. The outcome can be compressed to enhance security. Several research studies have focused on this field. In [28], the authors proposed a static steganography algorithm. However, the proposed algorithm is breakable, and the mode of action can be discovered easily. In [32], the authors  
Figure 4: Example for shifting the position of the dot. Figure 5: Example of applying Kashida. Figure 3: Letters of the Arabic language. combined more than one method with the Kashida, including using special symbols to hide the secret. The researchers in [30] lid the secret in the Kashida, using different and more complex scenarios. The researchers in [31,33] presented two ways to hide the text: a false spaces-based approach and a hybrid approach combining false spaces with the Kashida. This method can be used in all languages using Arabic alphabets, including Persian and Urdu. However, this method uses a pattern-based technique for the embedding process, which might lead to secret predictability, while [34] used only the dots. The previous algorithms were modified by adding bits through the connection of the characters and their extension to hide one bit, as well as using a zero-width character to embed two bits per cursive [35]. **Using letter shapes and edges:** This method relies on the shape of the Arabic letter and hides the text in the edges (Figure 6 shows an example of the edges of the Arabic letter)  
This method has a high secret embedding capacity [36]. It is also a performance-friendly steganography approach as it does not require re-writing the text. Instead, it only modifies the edges of the letter to hide the secret. In [37], the authors extended this approach to hide secrets in the dots of 15 dotted Arabic letters. However, despite the potential of this approach, it is vulnerable to predictability exploitation, as the concealment is not performed with random locations. In addition, it requires OCR to reveal the hidden message. **Using character encoding:** This method exploits the fact that some letters, namely the letter Kaf (\(\Delta\)) and the letter Yaa (\(\underline{\varepsilon}\)), have multiple encodings according to their placement in a word (see Table 2) [33]. This approach is mostly used to ensure imperceptibility, as the hidden text that the user sees is the same as the original text.