lundi 1 avril 2019

How to generate pseudo-random noise to modify DCT coefficients for steganography in JPEG images?

I'm doing an exercise on steganography in JPEG images on an 8x8 pixels block of a JPEG image.

I applied quantization matrix to the DCT coefficients of the 8x8 block and this are the values I calculated in a zig-zag sequence

ZigZagSequence = {36, -2, 0, -2, -1, -3, 1, -2, 0, -1, 0, 0, 1, 0, 1, 0,0,........,0};

The next step of this exercise is: "A pseudo random noise must be applied to each coefficient. A pseudo random generator of integer numbers with uniform distribution in [-k,+k] (the parameters a, c, X0 and m must be selected in an appropriate way) must be applied to compute the watermarked coefficients [c1, .., c64]

How can i generate this numbers?

I read that the JPEG images has Gaussian noise distribution and I think that all the 0 after the first fifteen numbers in the array don't have to be affected by the noise because that would affect RLE and Huffman compression, am I right?

How can I determinate those numbers?

The suggested algorithm is Lehmer's linear congruence method

multiplier   a 0<a<m
increase     c 0<=c<m
seed        Xn 0<=Xn<m

Xn+1 = (a*Xn + c)mod m```




Aucun commentaire:

Enregistrer un commentaire