## 3 Proposed Work
### Watermark Embedding and Extraction
Selecting seed(s) as satisfying the condition as GCD of the s with the m is 1, i.e., GCD (3, 209) = 1  
BBS series is 9, 81, 82, 36, 42, 92, 104, 157, 196, 169, 137, 168,..., _n_th term  
Determining the embedding position in selected blocks is shown in Figure 2. After determining the embedding position, the encrypted watermark vectors (\(V_{odd}^{1}\) and \(V_{even}^{1}\)) are embedded using adaptively generated ISF (\(\alpha\)). Encrypted watermark vectors are generated by using the proposed encryption scheme, as explained in Section 3.2. \(\alpha\) is generated by using the texture range filter elaborated in Section 3.3. Finally, SVD and IWT inverse transforms are applied to get a watermarked image. ```
0: Cover image (C), Watermark (W), m, s
0: Watermarked image (C\({}_{1}\))
1: Apply 1-IWT to C, to obtain LL, LH, HL and HH. Select LH and HL for embedding. 2: Divide \(LH\) and \(HL\) into 4 \(\times\) 4 non-overlapping blocks. 3: Find entropy for 4 \(\times\) 4 non-overlapping blocks and store it in vector \(\mathbb{V}\). 4: Apply SVD transform on LH and HL, to obtain \(U_{LH},S_{LH},V_{LH},U_{HL},S_{HL},V_{HL}\). Select \(S_{LH}\) and \(S_{HL}\) for embedding. 5: Select a block having a low entropy value (\(B_{LH}\)_and_\(B_{HL}\)) for embedding. 6: Encrypt the watermark image using the proposed encryption scheme
7: Determine random embedding position \(P_{1}\) (\(row\)) and \(P_{2}\) (\(col\)), using a BBS generator in selected block for embedding. 8: Generate \(\alpha\) using the proposed initial scaling factor generation scheme
9: For real time applications, skip Step 10 and move on to Step 11. 10: Optimize \(\alpha\) using GA or ABC or FO algorithm using a following fitness function: \(Fitnessfunction=\frac{(PSNR\times SSIM)}{\alpha}+\frac{(NC\times BER)}{\alpha}\)
11: Embed \(V_{add}^{1}\) in \(B_{LH}\) and \(V_{even}^{1}\) in \(B_{HL}\) using the following relation: \(B_{LH}^{1}(P_{1},P_{2})=B_{LH}(P_{1},P_{2})+\alpha*V_{add}^{1}\)
12: \(B_{HL}^{1}(P_{1},P_{2})=B_{HL}(P_{1},P_{2})+\alpha*V_{even}^{1}\)
13: Apply inverse SVD and IWT to get the watermarked image (C\({}_{1}\)). ```  
**Algorithm 1** Watermark embedding. Figure 1: Block diagram for the Watermark Embedding process. Watermark Extraction: Watermark extraction is the reverse process of watermark embedding. In the proposed scheme, the watermark is extracted from the watermarked image using secret keys (\(\alpha\), Random key, s and m) generated during the embedding process. The original cover image is not required for watermark extraction--therefore, the proposed scheme blind. The block diagram for the proposed watermark extraction is shown in Figure 3, and the algorithmic steps are provided in Algorithm 2. To extract the watermark, firstly, 1-IWT is applied on the received watermarked image to obtain \(LL^{1}\), \(LH^{1}\), \(HL^{1}\) and \(HH^{1}\) sub-bands. SVD transform is applied to \(LH^{1}\), \(HL^{1}\) sub bands to obtain three matrices each: \(U^{1}_{LH}\), \(S^{1}_{LH}\), \(V^{1}_{LH}\) and \(U^{1}_{HL}\), \(S^{1}_{HL}\), \(V^{1}_{HL}\). Furthermore, \(S^{1}_{LH}\), \(S^{1}_{HL}\) is divided into \(4\times 4\) non-overlapping blocks and low entropy blocks \(B^{1}_{LH}\), \(B^{1}_{HL}\) are selected for watermark extraction. The BBS Pseudo random series is generated, using the side information s, m (secret keys). Using BBS series, random positions (\(P_{1}\), \(P_{2}\)) within \(B^{1}_{LH}\), \(B^{1}_{HL}\) blocks are determined for watermark extraction. Encrypted watermark vectors, \(V^{11}_{odd}\) and \(V^{11}_{even}\), are extracted from \(B^{1}_{LH}\) and \(B^{1}_{HL}\), respectively, as shown in step 6 of Algorithm 2. The pseudo random key (\(PR_{key}\)) is generated using random key (\(R_{key}\) ) received as side information from the trusted third party. \(PR_{key}\) is used to re-shuffle \(V^{11}_{odd}\) and \(V^{11}_{even}\) watermark vectors to obtain the decrypted odd and even watermark vectors (\(EV_{even}\) _and_\(EV_{odd}\)). Both odd and even watermark vectors are merged to get the extracted watermark (\(EW\)).