Research Article

Reversible Fragile Watermarking Scheme for Relational Database Based on Prediction-Error Expansion

Algorithm 2

Watermark embedding.
(1)Hp = HMAC (Ks ||h1 ||h2 ||…|| hµ || Ks)  //Hashing of primary key hash values
(2)for each attribute Ajdo
(3)Hj = HMAC (Hp ||t1.Aj||t2.Aj||…|| tµ.Aj|| Ks) //attribute hash
(4)  //Generate watermark bits
(5)Wj = µ MSB (Hj) //Assume length (Hj) ≥ µ
(6)  //Encode bit
(7)for each tuple tido
(8) Encode_Bit (ti.Aj, Wj[i], hi)   //See Algorithm3
(9)end for
(10)end for