输入:网页载体H,待隐藏的秘密信息a。
输出:嵌入信息后的网页H′。
步骤:
(1)同一表格中,每个<tr></tr>中的<td>的height属性值相同。取网页载体H,找到<tr></tr>中第一个<td>的height值,并将该值赋给这一<tr></tr>的其他<td>的height。
(2)同一表格中,不同<tr></tr>中的<td>的width组值相同,且取决于第一个<tr></tr>中<td>的width组。找到第一个<tr></tr>中<td>的width组值,将这一集合值赋给其他<tr></tr>中<td>的width组。
(3)取表格Ti。
(4)分别计算Ti的行数m和列数n。若满足m≥1且n≥2或m≥2且n≥1,则转到(5);否则,i=i+1,返回(3),取下一个表格。
(5)按行遍历表格Ti的每个单元格,遍历当前行为Rj。
(6)遍历行Rj的当前列为Ck。
(7)若k+1<n,则判断(C[i,j,k]→width,C[i,j,k+1]→width)的奇偶性。
若a中要嵌入的位为“1”,且(C[i,j,k]→width,C[i,j,k+1]→width)的奇偶性为非双奇,则需将其中的偶数值加1,变为奇数;若当要嵌入的比特为“0”,且(C[i,j,k]→width,C[i,j,k+1]→width)的奇偶性为非双偶,则需将其中的奇数值+1,变为偶数。(www.daowen.com)
每嵌入1比特,则N=N-1,且保存R[i,k,j]→height和R[i,k+1,j]→height的值,k=k+2,返回(6)。
若j=m且行Rm中的列全部遍历完成,则此时信息横向嵌入完成,并且每个单元格height值保存完成,转到(8);否则,j=j+1,返回(5)遍历表格iT的下一行。
(8)重新令k=1(1≤k≤t),进行表格的纵向嵌入,转到(9)。
(9)令j=1(1≤j≤m),若j+1<m,则判断(R[i,k,j]→height,R[i,k,j+1]→height)的奇偶性。
若a中要嵌入的比特为“1”,但(R[i,k,j]→height,R[i,k,j+1]→height)的奇偶性为非双奇,则需将其中的偶数值减1,变为奇数;若要嵌入的比特为“0”,但(R[i,k,j]→height,R[i,k,j+1]→height)的奇偶性非双偶,则需将其中的奇数值-1,变为偶数。
每嵌入1比特,则N=N-1,j=j+2,返回(9)。
若k=n,且i < t,则i=i+1,返回(3),取下一个表格重复以上步骤。
若i=t,则转到(10);否则,k=k+1,返回(8)。
(10)此时,N=0,嵌入完成。
(11)输出H′。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。