support@w4writers.com +44 7743 307695
Feb 26, 2024

Assignment Task

Digital Watermarking

For this task you should use the LSB_watermark_embed and LSB_watermark_extract functions included in the Task_1 folder in your zip archive. These functions are simplified versions of the LSB_steg_embed and LSB_steg_extract functions that you have worked with in the labs. The simplification is that the watermarks to be embedded are uint8 vectors, i.e., one dimensional 8-bit number arrays which include character strings, but not images that are 2-D or 3-D matrices.

a. Use LSB_watermark_embed to embed the SHA-512 hash of the string ‘2023’ as the watermark into the image original.png and your URN as the key. You can find the image in the Task_1 folder. Save the watermarked image as watermarked.png in the Sol_1 folder.

b. You have received 10 images in the Task_1 folder. These images have been watermarked by embedding a SHA-512 hash of an unknown message and with an unknown key using the function LSB_watermark_embed from Task 1(a) above. The same watermark and key were used for all 10 messages. Your task is to erase the watermark (and only the watermark) by replacing it with zeros. Change as few pixel values as possible.

Steganalysis

Analyse the 6 images Picture1.png through Picture_6.png in the Task_2 folder and provide the results of your analysis by filling in the form at including it in your Sol_2 folder. Your analysis should aim at finding out which images are stego images, whether any embedded information is encrypted, and what the information is. See the form for the detailed questions.

LSB Steganography

For this problem you can use your own steganography functions from Lab 2, Task 2(c) or the LSB_steg_embed.m and LSB_steg_extract.m functions provided as a solution to Lab 2 Task 2(c) on SurreyLearn.

Extend the functions by implementing as many of the features (a) – (d) as possible. All embedding features must be implemented in the same embedding function and all extraction features must be implemented in the same extraction function. (I.e., do not submit more than one embedding function and do not submit more than one extraction function. Only one function of each will be marked.) Your embedding function’s Matlab file must be called LSB embed.m and the function’s signature must be s = LSB_embed(c, p, k), where c is the cover image, p is the plaintext, k is the stego key and s is the stego image.

a) Extend the embedding function so that it embeds a plaintext in a true colour or gray scale cover image using the LSB embedding method with the two (instead of 1) least significant bitplanes

  • Using random paths based on the stego key supplied,
  • Using sequential embedding when no stego key is supplied,
  • And return [] giving appropriate error messages using disp when unsuitable inputs are provided

b) Extend the extraction function so that it extracts LSB embedded plaintext from the two least significant bitplanes from true colour or grayscale stego images

  • Along random paths based on the stego key supplied,
  • From a sequential embedding when no stego key is supplied,
  • And return [] giving appropriate error messages using disp when unsuitable inputs are provided

c. Extend the embedding function so that the LSB embedding itself contains sufficient information for the receiver to correctly extract the plaintext even if the receiver does not know the size of the embedding. The embedding should work.

d. Extend the extraction function so that it recovers an embedded plaintext from a stegotext produced with your embedding function implementing feature (c) above. The function should do this when the size parameter is not provided and when it is provided but set to 0. The extraction should work.

Recent Post

Order this Assignment now

Total: GBP120

fables template