【技术实现步骤摘要】
基于彩色字符画的信息隐藏及恢复方法、设备及存储介质
本专利技术属于信息安全和信息隐藏的交叉领域,涉及一种基于彩色字符画的信息隐藏及恢复方法、设备及存储介质。
技术介绍
传统信息隐藏通常采用修改式嵌密,如关注于图像嵌密的数字图像密写,例如:SwainG,2016(SwainG.Adaptivepixelvaluedifferencingsteganographyusingbothverticalandhorizontaledges[J].MultimediaToolsandApplications,2016,75(21):13541-13556.)和张洋,2018(张洋,邵利平,任平安.免基向量EMD(n,m)模型及其在图像密写上的应用[J].计算机辅助设计与图形学报,2018,30(8):1490-1504.);借助部分影子图像对秘密信息重构的数字图像分存,例如KansoA,2017(KansoA,GheblehM.Anefficient(t,n)–thresholdsecretimagesharingscheme[J].MultimediaToolsandApplications,2017,76(15):16369-16388.)和LiuY,2019(LiuY,YangC,WuC,etal.Thresholdchangeablesecretimagesharingschemebasedoninterpolationpolynomial[J].MultimediaToolsandApplications,2019,7 ...
【技术保护点】
1.一种基于彩色字符画的信息隐藏方法,其特征在于,包括以下步骤:/nS1:获取大小为m
【技术特征摘要】
1.一种基于彩色字符画的信息隐藏方法,其特征在于,包括以下步骤:
S1:获取大小为m0×n0的彩色图像;
S2:根据预设字号的字符0和字符1,生成8幅大小均为l1×l1的字符图像;
S3:获取彩色图像的红色通道图像绿色通道图像和蓝色通道图像并分别转换为红色通道二值图像绿色通道二值图像和蓝色通道二值图像其中,t为大于0的整数,i∈{0,1,2,…,m0-1},j∈{0,1,2,…,n0-1};
S4:获取长度l的2值比特序列S=(si)l,si∈{0,1}为秘密信息,将2值比特序列S中每2比特为一组进行10进制转化,得到10进制序列A=(ai)l/2,根据预设的转换密钥,将10进制序列A=(ai)l/2插值备份为分存值序列即分存值序列βr,βg,βb;
S5:根据预设的嵌入密钥随机生成长度为L的随机坐标序列以及嵌密坐标位置序列即随机坐标序列Zr,Zg,Zb和嵌密坐标位置序列Z′r,Z′g,Z′b,其中,m2,n2均为大于0的整数,m2=m0·h,n2=n0·h,h为矩阵膨胀参数,h>0,L为大于0的整数;
S6:根据红色通道二值图像R′、绿色通道二值图像G′、蓝色通道二值图像B′、嵌密坐标位置序列Z′ρ以及随机坐标序列Zρ,从8幅字符图像中选取目标字符图像,通过隐字符位置方式编码分存值序列βρ并进行掩盖,得到大小为m2×n2的嵌密掩体图像将嵌密掩体图像Mρ进行三通道结合,得到彩色嵌密字符画图像Mrgb,其中ρ∈{r,g,b}。
2.根据权利要求1所述的基于彩色字符画的信息隐藏方法,其特征在于,所述S3的具体方法为:
获取彩色图像的红色通道图像绿色通道图像和蓝色通道图像
将红色通道图像R,绿色通道图像G和蓝色通道图像B分别作为t阶灰度图像进行如下转换,得到红色通道二值图像绿色通道二值图像和蓝色通道二值图像
S301:对于t阶灰度图像U中的每个元素ui,j,按式(2)将ui,j映射为u′i,j;
S302:按式(3)计算误差Δi,j,将Δi,j按式(4)分布到ui,j周围未按式(2)处理的8领域像素上:
Δi,j=ui,j-u′i,j·(2t-1)(3)
ux,y=Range(ux,y+Δi,j/NC,0,2t-1)(4)
其中,(x,y)∈{(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)},NC是ui,j周围8领域未按式(3)处理的有效像素的个数,Range(ux,y+Δi,j/NC,0,2t-1)函数用于将ux,y+Δi,j/NC调整到0到2t-1范围之内,当ux,y+Δi,j/NC<0时,将ux,y+Δi,j/NC作为0,当ux,y+Δi,j/NC>2t-1时,将ux,y+Δi,j/NC作为2t-1;
S303:反复执行S301至第S302,至t阶灰度图像U中的所有元素ui,j都处理完毕,将作为处理好的2值图像;
所述S4中,转换密钥包括第一转换密钥k0和第二转换密钥k1,所述将10进制序列A=(ai)l/2插值备份为分存值序列即分存值序列βr,βg,βb的具体方法为:
S401:根据第一转换密钥k0生成随机数序列C=(ci)l/2;
S402:对10进制序列A中的每个元素ai,根据式(5)生成两个系数r0,r1:
其中,r1为r0的认证变量;
S403:将第二转换密钥k1作为随机数种子,将连续生成的三个两两不等的随机数作为参与值o0,o1,o2∈{1,2,3},,将参与值o0,o1,o2分别作为o,和r0,r1一起代入式(6),将分别得到的对应的整数记为
其中,是GF(22)有限域上的本原多项式整数,是参与者值,r0,r1∈{0,1,2,3}是多项式系数,表示为秘密信息和认证信息,为GF(22)有限域上o,r0,r1的多项式整数;
S404:反复执行S402和S403,至10进制序列A中的所有元素处理完毕,得到分存值序列即分存值序列βr,βg,βb。
3.根据权利要求1所述的基于彩色字符画的信息隐藏方法,其特征在于,所述S5中嵌入密钥包括第一嵌入密钥k2和第二嵌入密钥k3;所述随机生成长度为L的随机坐标序列即随机坐标序列Zr,Zg,Zb的具体方法为:
S501:初始化空白图像根据第一嵌入密钥k2生成随机数初始化最大迭代次数δ,δ>0,初始化随机坐标序列Zρ=φ,当前迭代次数变量ITρ=0,其中,ρ∈{r,g,b};
S502:以为初始随机数种子,连续生成随机坐标(xi,yi)∈m2×n2,将空白图像Mρ上以(xi,yi)为左上角坐标起点,且大小为h×h的小块记为其中,ρ∈{r,g,b};
S503:当上的元素t0,0,t0,h-1,th-1,0,th-1,h-1全为1时,将上的所有元素ti,j置为0,将(xi,yi)加入到随机坐标序列Zρ中,更新ITρ=0;否则,将(xi,yi)抛弃,更新ITρ=ITρ+1;
S504:反复执行S502到S503直至ITρ=δ,若L<l/2,失败退出;否则,得到随机坐标序列其中L是Zρ中随机坐标的数量;
所述S5中生成嵌密坐标位置序列即嵌密坐标位置序列Z′r,Z′g,Z′b的具体方法为:
根据第二嵌入密钥k3生成随机数通过分别从随机坐标序列Zρ中选择l/2个坐标位置作为嵌密坐标位置,将其标记为嵌密坐标位置序列可得到嵌密坐标位置序列Z′r,Z′g,Z′b。
4.根据权利要求1所述的基于彩色字符画的信息隐藏方法,其特征在于,所述S2的具体方法为:
S201:获取预设字号的字符0和字符1;
S202:记能同时容纳单个字符0和字符1的最小外包矩形的高度为m1,宽度为n1,按式(1)确定能同时容纳单个字符0和字符1的正方形图像的边长l1:
l1=m1+n1/2(1)
S203:将字符0依次放置在l1×l1正方形图像内部的最上侧、最下侧、最左侧和最右侧的居中位置,得到4幅分辨率为l1×l1的字符图像将字符1依次放置在l1×l1正方形图像内部的最上侧、最下侧、最左侧和最右侧的居中位置,得到4幅分辨率为l1×l1的字符图像
所述S5中的矩阵膨胀参数h=l1+d,d为块扩展参数,d≥n1/2;
所述S6的具体方法为:
S601:将和分别作为式(7)中的二值半色调图像按式(7)转换为嵌密掩体图像
其中,函数Emb()用于将二值半色调图像转换为嵌密掩体图像Mρ,ρ∈{r,g,b},其中Emb()的具体嵌入过程是:
S6011:对于分存值序列中的每个元素从嵌密坐标位置序列Z′ρ中获取第i个坐标按式(8)从中获取像素值ρ′x′,y′,其中,U′r=R′,U′g=G′,U′b=B′:
S6012:按式(9)从8幅字符图像中选取一幅字符图像作为目标字符图像D,将目标字符图像D放置在Mρ中以为左上角起点,且大小为h×h的小...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。