主权项 |
1.一种基于压缩编码的GIF图像加密方法,其特征在于包括以下步骤:步骤一、输入GIF明文图像;步骤二、对GIF图像的颜色列表进行加密或/和对GIF图像的图像数据进行LZW编码加密:步骤三、输出GIF密文图像;所述对GIF图像的颜色列表进行加密按以下步骤进行:设定密钥流为K={K<sub>n</sub>∣0<K<sub>n</sub><1},n为正整数;设定GIF图像的颜色列表中各颜色分量为T(x,y),T(x,y)∈[0,255],x、y均为整数且x∈[0,255],y∈[0,2];将密钥流中的值K<sub>n</sub>乘以255后取整,得到K<sub>n</sub>′;设定加密后GIF图像的颜色列表为T′(x,y);计算<img file="FDA00002292660800011.GIF" wi="463" he="51" />得到加密后GIF图像的颜色列表;所述对GIF图像的图像数据进行LZW编码加密按以下步骤进行:S1、初始化字典,对所述字典进行置乱;S2、读取输入字符,并将该输入字符赋值给前缀字符串ω,直到数据流读完,当数据流读取完时,输出ω在字典中所对应的元素索引值;S3、判断当前字典中是否存在ωQ,Q为输入字符;当前字典中存在ωQ时,将ωQ的值放入ω的队列清单;当前字典中不存在ωQ时,输出ω在所述字典中所对应的元素索引值;S4、设定密钥流为K={K<sub>n</sub>∣0<K<sub>n</sub><1},n为正整数;设定当前字典中含有l个元素,设定当前匹配的元素索引值为Z,设定一个随机产生的元素索引值为index;当队列清单不为空时,取出队列清单中队首的值赋给Z;计算<img file="FDA00002292660800012.GIF" wi="342" he="59" />交换字典中Z和index两个位置的元素值,直到队列清单为空;S5、设置字符串变量S,初始时所述字符串变量S为空;当有字符串string需要加入到字典中时,判断S是否为空;当S为空时,将string赋值给S;当S不为空时,将S插入到字典中,然后将string赋值给S。 |