1.一种基于人工智能的网络安全加密方法,其特征在于,该方法包括以下步骤:
获取待加密的彩色明文图像;获取所述彩色明文图像中每个像素点对应的八位二进制数字;将每个所述八位二进制数字分割为两个比特层,所述比特层包括16种类型;每种类型所述比特层对应一个基元;
统计每种所述基元在所述彩色明文图像中出现的频率,基于所有所述基元的频率进行降序排列;频率排序中前N个所述基元为第一基元,剩余的16‑N个所述基元为第二基元;N为正整数且N小于16;自定义每个第一基元的扫描模式以及每个第二基元的扫描模式,所述扫描模式包括24种形式;
基于所述第一基元及其对应的扫描模式和第二基元及其对应的扫描模式构建序列,对所述序列进行加密得到密钥;由所述彩色明文图像中的每个像素点对应的基元构建对应的子块;
根据所述像素点对应基元的扫描模式为所述子块进行赋值得到灰度块;根据所述彩色明文图像中所有像素点对应的灰度块得到灰度密文图像,所述灰度密文图像为所述彩色明文图像加密后的图像。
2.根据权利要求1所述的一种基于人工智能的网络安全加密方法,其特征在于,所述由所述彩色明文图像中的每个像素点对应的基元构建对应的子块的方法,包括:
获取所述彩色明文图像中每个像素点对应的基元,所述基元包括红色通道、绿色通道以及蓝色通道下的共6种基元;根据所述密钥得到每种所述基元对应的扫描模式;
根据每种所述基元对应的所述扫描模式得到对应的6个颜色块分别为红色块R1、红色块R2、绿色块G1、绿色块G2、蓝色块B1以及蓝色块B2;将红色块R1和红色块R2横向拼接得到红块,将绿色块G1和绿色块G2横向拼接得到绿块,将蓝色块B1和蓝色块B2横向拼接得到蓝块;
将红块、绿块以及蓝块上下拼接,所述红块的最后一行与所述绿块的第一行重叠,所述绿块的最后一行与所述蓝块的第一行重叠,拼接后的图像块为所述彩色明文图像中所述像素点对应的子块。
3.根据权利要求1所述的一种基于人工智能的网络安全加密方法,其特征在于,所述根据所述像素点对应基元的扫描模式为所述子块进行赋值得到灰度块的方法,包括:
根据任意扫描模式中的有向线段的方向将所述扫描模式中的像素点依次进行标记;根据标记后的像素点构建限制条件,根据所述限制条件对子块进行赋值,赋值后的所述子块为灰度块。
4.根据权利要求3所述的一种基于人工智能的网络安全加密方法,其特征在于,所述根据任意扫描模式中的有向线段的方向将所述扫描模式中的像素点依次进行标记的方法,包括:
所述扫描方式基于2*2的像素块构建,所述有向线段的方向基于所述像素块中像素点之间的像素差值获得;
所述像素块中的起始扫描点被标记为s1,由扫描起始点开始的有向线段指向的像素点标记为s2,由像素点s2开始的有向线段指向的像素点标记为s3,由像素点s3开始的有向线段指向的像素点标记为s4。
5.根据权利要求4所述的一种基于人工智能的网络安全加密方法,其特征在于,所述根据标记后的像素点构建限制条件的方法,包括:
获取标记后的像素点中像素点s2与像素点s1之间的像素值差值记为d1;像素点s3与像素点s1之间的像素值差值记为d2;像素点s4与像素点s1之间的像素值差值记为d3;
所述限制条件为:像素点s1、像素点s2、像素点s3以及像素点s4对应的像素值单调递增或单调递减且d1<d2<d3。
6.根据权利要求5所述的一种基于人工智能的网络安全加密方法,其特征在于,所述根据所述限制条件对子块进行赋值的方法,包括:
基于绿色块G1的扫描模式得到其中的像素点s1、像素点s2、像素点s3以及像素点s4;
在预设范围内任选一个数值赋予所述绿色块G1中的像素点s1的像素值 基于所述像素值 和像素点s2与像素点s1之间的像素值差值d1得到像素点s2的像素值 所述像素点s2与像素点s1之间的像素值差值d1为在第一预设距离范围内选取的任意数值;
在第二预设距离范围内选取任意数值赋予像素点s3与像素点s1之间的像素值差值d2以及在第三预设距离范围内选取任意数值赋予像素点s4与像素点s1之间的像素值差值d3;根据像素值差值d2与像素点s1的像素值 得到像素点s3的像素值 根据像素值差值d3与像素点s1的像素值 得到像素点s4的像素值 完成对绿色块G1的赋值;
基于绿色块G2的扫描模式得到其中的像素点s1、像素点s2、像素点s3以及像素点s4;在预设范围内任选一个数值赋予所述绿色块G2中的像素点s1的像素值 在第一预设距离范围、第二预设距离范围以及第三预设距离范围中任选数值作为绿色块G2中像素值差值d1、像素值差值d2以及像素值差值d3;根据绿色块G2中的像素值差值d1、像素值差值d2、像素值差值d3以及像素点s1的像素值 得到像素点s2的像素值 像素点s3的像素值 以及像素点s4的像素值 完成对绿色块G2的赋值;
所述像素值差值d1、像素值差值d2以及像素值差值d3的大小满足所述限制条件;
基于赋值后的绿色块G1对红色块R1和蓝色块B1进行赋值,基于赋值后的绿色块G2对红色块R2和蓝色块B2进行赋值;赋值后的红色块R1、红色块R2、绿色块G1、绿色块G2、蓝色块B1以及蓝色块B2构成的子块为灰度块。
7.根据权利要求6所述的一种基于人工智能的网络安全加密方法,其特征在于,所述基于赋值后的绿色块G1对红色块R1和蓝色块B1进行赋值,基于赋值后的绿色块G2对红色块R2和蓝色块B2进行赋值的方法,包括:
基于赋值后的所述绿色块G1得到所述红色块R1中最后一行像素点的像素值;计算所述红色块R1中最后一行像素点之间的像素值差值,根据所述像素值差值的种类对所述红色块R1进行赋值,所述像素值差值的种类包括:像素值差值d1、像素值差值d2、像素值差值d3、像素值差值d4、像素值差值d5以及像素值差值d6;所述像素值差值d4为像素点s3与像素点s2之间的像素值差值;所述像素值差值d5为像素点s4与像素点s2之间的像素值差值;所述像素值差值d6为像素点s4与像素点s3之间的像素值差值;
基于赋值后的所述绿色块G1得到所述蓝色块B1中第一行像素点的像素值;计算所述蓝色块B1中第一行像素点之间的像素值差值,根据所述像素值差值的种类对所述蓝色块B1进行赋值;
基于赋值后的所述绿色块G2得到所述红色块R2中最后一行像素点的像素值;计算所述红色块R2中最后一行像素点之间的像素值差值,根据所述像素值差值的种类对所述红色块R2进行赋值;
基于赋值后的所述绿色块G2得到所述蓝色块B2中第一行像素点的像素值;计算所述蓝色块B2中第一行像素点之间的像素值差值,根据所述像素值差值的种类对所述蓝色块B2进行赋值。
8.根据权利要求7所述的一种基于人工智能的网络安全加密方法,其特征在于,所述根据所述像素值差值的种类对所述红色块R1进行赋值的方法,包括:
若所述像素值差值为d1,所述红色块R1中像素点s1和像素点s2的像素值已知,根据所述像素点s1和像素点s2的像素值判断所述红色块R1的单调性;设定像素值差值d2以及像素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d2和像素值差值d3;根据像素点s1的像素值、像素值差值d2、像素值差值d3以及所述单调性得到所述红色块R1中像素点s3的像素值和像素点s4的像素值;
若所述像素值差值为d2,所述红色块R1中像素点s1和像素点s3的像素值已知,根据所述像素点s1和像素点s3的像素值判断所述红色块R1的单调性;设定像素值差值d1以及像素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d1和像素值差值d3;根据像素点s1的像素值、像素值差值d1、像素值差值d3以及所述单调性得到所述红色块R1中像素点s2的像素值和像素点s4的像素值;
若所述像素值差值为d3,所述红色块R1中像素点s1和像素点s4的像素值已知,根据所述像素点s1和像素点s4的像素值判断所述红色块R1的单调性;设定像素值差值d1以及像素值差值d2的取值范围,在所述取值范围中任选数值作为像素值差值d1和像素值差值d2;根据像素点s1的像素值、像素值差值d1、像素值差值d2以及所述单调性得到所述红色块R1中像素点s2的像素值和像素点s3的像素值;
若所述像素值差值为d4,所述红色块R1中像素点s2和像素点s3的像素值已知,根据所述像素点s2和像素点s3的像素值判断所述红色块R1的单调性;获取像素值差值d1、像素值差值d2以及像素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d1、像素值差值d2以及像素值差值d3;根据像素点s2的像素值、像素值差值d1、像素值差值d3以及所述单调性得到所述红色块R1中像素点s1的像素值和像素点s4的像素值;
若所述像素值差值为d5,所述红色块R1中像素点s4与像素点s2的像素值已知,根据所述像素点s4与像素点s2的像素值判断所述红色块R1的单调性;获取像素值差值d1、像素值差值d2以及像素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d1、像素值差值d2以及像素值差值d3;根据像素点s2的像素值、像素值差值d1、像素值差值d2以及所述单调性得到所述红色块R1中像素点s1的像素值和像素点s3的像素值;
若所述像素值差值为d6,所述红色块R1中像素点s4与像素点s3的像素值已知,根据所述像素点s4与像素点s3的像素值判断所述红色块R1的单调性;获取像素值差值d1、像素值差值d2以及像素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d1、像素值差值d2以及像素值差值d3;根据像素点s3的像素值、像素值差值d1、像素值差值d2以及所述单调性得到所述像素点s1的像素值和像素点s2的像素值。
基于人工智能的网络安全加密方法\n技术领域\n[0001] 本发明涉及图像加密技术领域,具体涉及一种基于人工智能的网络安全加密方\n法。\n背景技术\n[0002] 随着通信技术的发展和互联网的普及,传递信息的形式更为多样化,文本、图像、音频、视频等格式各样的信息载体都可以被便利的传输和获取;但是由于对信息安全性的\n忽视,信息泄露的问题也越来越多,因此数字图像加密技术的应用也越来越广泛,对数字图像进行加密可以有效降低图像数据被恶意篡改的概率,降低对网络安全的威胁。\n[0003] 由于数字图像数据量大,相邻像素之间的相关性较强,统计学特征明显,因此对于数字图像的加密难度要远远大于文本信息。常用的数字图像加密算法对于信息分析、噪声、剪切等常见攻击的抵御性较弱,且密钥空间较小,安全性较低。\n发明内容\n[0004] 为了解决上述技术问题,本发明的目的在于提供一种基于人工智能的网络安全加\n密方法,该方法包括以下步骤:\n[0005] 获取待加密的彩色明文图像;获取所述彩色明文图像中每个像素点对应的八位二\n进制数字;将每个所述八位二进制数字分割为两个比特层,所述比特层包括16种类型;每种类型所述比特层对应一个基元;\n[0006] 统计每种所述基元在所述彩色明文图像中出现的频率,基于所有所述基元的频率\n进行降序排列;频率排序中前N个所述基元为第一基元,剩余的16‑N个所述基元为第二基\n元;N为正整数且N小于16;自定义每个第一基元的扫描模式以及每个第二基元的扫描模式,所述扫描模式包括24种形式;\n[0007] 基于所述第一基元及其对应的扫描模式和第二基元及其对应的扫描模式构建序\n列,对所述序列进行加密得到密钥;由所述彩色明文图像中的每个像素点对应的基元构建\n对应的子块;\n[0008] 根据所述像素点对应基元的扫描模式为所述子块进行赋值得到灰度块;根据所述\n彩色明文图像中所有像素点对应的灰度块得到灰度密文图像,所述灰度密文图像为所述彩\n色明文图像加密后的图像。\n[0009] 优选的,所述由所述彩色明文图像中的每个像素点对应的基元构建对应的子块的\n方法,包括:\n[0010] 获取所述彩色明文图像中每个像素点对应的基元,所述基元包括红色通道、绿色\n通道以及蓝色通道下的共6种基元;根据所述密钥得到每种所述基元对应的扫描模式;\n[0011] 根据每种所述基元对应的所述扫描模式得到对应的6个颜色块分别为红色块R1、\n红色块R2、绿色块G1、绿色块G2、蓝色块B1以及蓝色块B2;将红色块R1和红色块R2横向拼接得到红块,将绿色块G1和绿色块G2横向拼接得到绿块,将蓝色块B1和蓝色块B2横向拼接得到蓝块;\n[0012] 将红块、绿块以及蓝块上下拼接,所述红块的最后一行与所述绿块的第一行重叠,所述绿块的最后一行与所述蓝块的第一行重叠,拼接后的图像块为所述彩色明文图像中所\n述像素点对应的子块。\n[0013] 优选的,所述根据所述像素点对应基元的扫描模式为所述子块进行赋值得到灰度\n块的方法,包括:\n[0014] 根据任意扫描模式中的有向线段的方向将所述扫描模式中的像素点依次进行标\n记;根据标记后的像素点构建限制条件,根据所述限制条件对子块进行赋值,赋值后的所述子块为灰度块。\n[0015] 优选的,所述根据任意扫描模式中的有向线段的方向将所述扫描模式中的像素点\n依次进行标记的方法,包括:\n[0016] 所述扫描方式基于2*2的像素块构建,所述有向线段的方向基于所述像素块中像\n素点之间的像素差值获得;\n[0017] 所述像素块中的起始扫描点被标记为s1,由扫描起始点开始的有向线段指向的像\n素点标记为s2,由像素点s2开始的有向线段指向的像素点标记为s3,由像素点s3开始的有向线段指向的像素点标记为s4。\n[0018] 优选的,所述根据标记后的像素点构建限制条件的方法,包括:\n[0019] 获取标记后的像素点中像素点s2与像素点s1之间的像素值差值记为d1;像素点s3\n与像素点s1之间的像素值差值记为d2;像素点s4与像素点s1之间的像素值差值记为d3;\n[0020] 所述限制条件为:像素点s1、像素点s2、像素点s3以及像素点s4对应的像素值单调递增或单调递减且d1<d2<d3。\n[0021] 优选的,所述根据所述限制条件对子块进行赋值的方法,包括:\n[0022] 基于绿色块G1的扫描模式得到其中的像素点s1、像素点s2、像素点s3以及像素点s4;\n[0023] 在预设范围内任选一个数值赋予所述绿色块G1中的像素点s1的像素值 基于所\n述像素值 和像素点s2与像素点s1之间的像素值差值d1得到像素点s2的像素值 所述像\n素点s2与像素点s1之间的像素值差值d1为在第一预设距离范围内选取的任意数值;\n[0024] 在第二预设距离范围内选取任意数值赋予像素点s3与像素点s1之间的像素值差值\nd2以及在第三预设距离范围内选取任意数值赋予像素点s4与像素点s1之间的像素值差值\nd3;根据像素值差值d2与像素点s1的像素值 得到像素点s3的像素值 根据像素值差值d3\n与像素点s1的像素值 得到像素点s4的像素值 完成对绿色块G1的赋值;\n[0025] 基于绿色块G2的扫描模式得到其中的像素点s1、像素点s2、像素点s3以及像素点s4;\n在预设范围内任选一个数值赋予所述绿色块G2中的像素点s1的像素值 在第一预设距离\n范围、第二预设距离范围以及第三预设距离范围中任选数值作为绿色块G2中像素值差值d1、像素值差值d2以及像素值差值d3;根据绿色块G2中的像素值差值d1、像素值差值d2、像素值差值d3以及像素点s1的像素值 得到像素点s2的像素值 像素点s3的像素值 以及像素点\ns4的像素值 完成对绿色块G2的赋值;\n[0026] 所述像素值差值d1、像素值差值d2以及像素值差值d3的大小满足所述限制条件;\n[0027] 基于赋值后的绿色块G1对红色块R1和蓝色块B1进行赋值,基于赋值后的绿色块G2\n对红色块R2和蓝色块B2进行赋值;赋值后的红色块R1、红色块R2、绿色块G1、绿色块G2、蓝色块B1以及蓝色块B2构成的子块为灰度块。\n[0028] 优选的,所述基于赋值后的绿色块G1对红色块R1和蓝色块B1进行赋值,基于赋值后的绿色块G2对红色块R2和蓝色块B2进行赋值的方法,包括:\n[0029] 基于赋值后的所述绿色块G1得到所述红色块R1中最后一行像素点的像素值;计算\n所述红色块R1中最后一行像素点之间的像素值差值,根据所述像素值差值的种类对所述红\n色块R1进行赋值,所述像素值差值的种类包括:像素值差值d1、像素值差值d2、像素值差值d3、像素值差值d4、像素值差值d5以及像素值差值d6;所述像素值差值d4为像素点s3与像素点s2之间的像素值差值;所述像素值差值d5为像素点s4与像素点s2之间的像素值差值;所述像素值差值d6为像素点s4与像素点s3之间的像素值差值;\n[0030] 基于赋值后的所述绿色块G1得到所述蓝色块B1中第一行像素点的像素值;计算所\n述蓝色块B1中第一行像素点之间的像素值差值,根据所述像素值差值的种类对所述蓝色块\nB1进行赋值;\n[0031] 基于赋值后的所述绿色块G2得到所述红色块R2中最后一行像素点的像素值;计算\n所述红色块R2中最后一行像素点之间的像素值差值,根据所述像素值差值的种类对所述红\n色块R2进行赋值;\n[0032] 基于赋值后的所述绿色块G2得到所述蓝色块B2中第一行像素点的像素值;计算所\n述蓝色块B2中第一行像素点之间的像素值差值,根据所述像素值差值的种类对所述蓝色块\nB2进行赋值。\n[0033] 优选的,所述根据所述像素值差值的种类对所述红色块R1进行赋值的方法,包括:\n[0034] 若所述像素值差值为d1,所述红色块R1中像素点s1和像素点s2的像素值已知,根据所述像素点s1和像素点s2的像素值判断所述红色块R1的单调性;设定像素值差值d2以及像\n素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d2和像素值差值d3;根据像素点s1的像素值、像素值差值d2、像素值差值d3以及所述单调性得到所述红色块R1中像素点s3的像素值和像素点s4的像素值;\n[0035] 若所述像素值差值为d2,所述红色块R1中像素点s1和像素点s3的像素值已知,根据所述像素点s1和像素点s3的像素值判断所述红色块R1的单调性;设定像素值差值d1以及像\n素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d1和像素值差值d3;根据像素点s1的像素值、像素值差值d1、像素值差值d3以及所述单调性得到所述红色块R1中像素点s2的像素值和像素点s4的像素值;\n[0036] 若所述像素值差值为d3,所述红色块R1中像素点s1和像素点s4的像素值已知,根据所述像素点s1和像素点s4的像素值判断所述红色块R1的单调性;设定像素值差值d1以及像\n素值差值d2的取值范围,在所述取值范围中任选数值作为像素值差值d1和像素值差值d2;根据像素点s1的像素值、像素值差值d1、像素值差值d2以及所述单调性得到所述红色块R1中像素点s2的像素值和像素点s3的像素值;\n[0037] 若所述像素值差值为d4,所述红色块R1中像素点s2和像素点s3的像素值已知,根据所述像素点s2和像素点s3的像素值判断所述红色块R1的单调性;获取像素值差值d1、像素值差值d2以及像素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d1、像素值差值d2以及像素值差值d3;根据像素点s2的像素值、像素值差值d1、像素值差值d3以及所述单调性得到所述红色块R1中像素点s1的像素值和像素点s4的像素值;\n[0038] 若所述像素值差值为d5,所述红色块R1中像素点s4与像素点s2的像素值已知,根据所述像素点s4与像素点s2的像素值判断所述红色块R1的单调性;获取像素值差值d1、像素值差值d2以及像素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d1、像素值差值d2以及像素值差值d3;根据像素点s2的像素值、像素值差值d1、像素值差值d2以及所述单调性得到所述红色块R1中像素点s1的像素值和像素点s3的像素值;\n[0039] 若所述像素值差值为d6,所述红色块R1中像素点s4与像素点s3的像素值已知,根据所述像素点s4与像素点s3的像素值判断所述红色块R1的单调性;获取像素值差值d1、像素值差值d2以及像素值差值d3的取值范围,在所述取值范围中任选数值作为像素值差值d1、像素值差值d2以及像素值差值d3;根据像素点s3的像素值、像素值差值d1、像素值差值d2以及所述单调性得到所述像素点s1的像素值和像素点s2的像素值。\n[0040] 本发明具有如下有益效果:本发明实施例中通过对彩色明文图像中每个像素点的\n像素值进行八位二进制数字转换,然后获取对应的比特层和基元;并且设定多种扫描方式,自定义设置基元与扫描方式之间的对应从而构建密钥,增大了密钥空间;进一步将彩色明\n文图像中每个像素点转换为一个子块,根据像素点的扫描模式对子块进行赋值得到灰度\n块,所有像素点对应的灰度块构成灰度密文图像,从而完成对彩色密文图像的加密操作,有效提高了加密的防御性以及安全性。\n附图说明\n[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施\n例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅\n仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。\n[0042] 图1为本发明一个实施例所提供的一种基于人工智能的网络安全加密方法流程\n图;\n[0043] 图2为本发明一个实施例所提供的一种24种形式的扫描模式示意图。\n具体实施方式\n[0044] 为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结\n合附图及较佳实施例,对依据本发明提出的一种基于人工智能的网络安全加密方法,其具\n体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。\n[0045] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的\n技术人员通常理解的含义相同。\n[0046] 本申请适用于对彩色明文图像的加密处理,为解决现有数字图像加密技术密钥空\n间以及防御力差的问题,本发明实施例中通过彩色明文图像中每个像素点的二进制数字得\n到对应的基元,并将基元对应自定义设置的扫描模式,从而根据彩色明文图像中每个像素\n点转化为子块进行赋值得到灰度块,根据所有灰度块组成灰度密文图像完成对彩色明文图\n像的加密,安全性更高且密钥空间大。\n[0047] 下面结合附图具体的说明本发明所提供的一种基于人工智能的网络安全加密方\n法的具体方案。\n[0048] 请参阅图1,其示出了本发明一个实施例提供的一种基于人工智能的网络安全加\n密方法流程图,该方法包括以下步骤:\n[0049] 步骤S100,获取待加密的彩色明文图像;获取彩色明文图像中每个像素点对应的\n八位二进制数字;将每个八位二进制数字分割为两个比特层,比特层包括16种类型;每种类型比特层对应一个基元。\n[0050] 具体的,获取任意一张待加密的彩色明文图像,对该彩色明文图像中每个像素点\n进行处理加密;由于彩色明文图像是RGB图像,因此每个像素点对应三个颜色通道的像素值即红色通道、绿色通道以及蓝色通道;对每个颜色通道下的彩色明文图像中每个像素点进\n行分析。\n[0051] 以红色通道为例,该彩色明文图像中任意像素点的像素值范围均为[0,255],因此以8位的二进制数字表示每个像素点的像素值,将每个像素点对应的二进制数字进行分割\n得到该像素点对应的两个比特层;作为一个示例,假设像素点对应的二进制数字为\nr8r7r6r5r4r3r2r1,按照从左到右的顺序对该二进制数字进行分割,即4位数字为一个比特层,则两个比特层分别为:c1=r8r7r6r5,c2=r4r3r2r1;以此类推得到彩色明文图像中每个像素点对应的2个比特层。\n[0052] 每个比特层对应4个数字即4个比特位,每个比特位的取值为0或1;因此每个比特\n层的取值情况存在16种类型,将每个类型的比特层记为一个基元,则一共具有16个形式的\n基元,将16个基元分别标记为y1,y2,...,y16;其中,y1=0000;y2=0001;以此类推,y16=\n1111。\n[0053] 基于与红色通道相同的方法,获取绿色通道下彩色明文图像中每个像素点的比特\n层和基元以及蓝色通道下彩色明文图像中每个像素点的比特层和基元。\n[0054] 步骤S200,统计每种基元在彩色明文图像中出现的频率,基于所有基元的频率进\n行降序排列;频率排序中前N个基元为第一基元,剩余的16‑N个基元为第二基元;N为正整数且N小于16;自定义每个第一基元的扫描模式以及每个第二基元的扫描模式,扫描模式包括\n24种形式。\n[0055] 由步骤S100中的方法可以得到不同颜色通道下彩色明文图像中每个像素点对应\n的基元,然后统计每个颜色通道下每种类型的基元在该彩色明文图像中出现的频率。以红\n色通道为例,对红色通道下每个类型的基元出现的频率进行统计,将16种基元的频率依次\n标记为:p(y1),p(y2),...,p(y16);p(y1)表示基元y1对应的频率;p(y16)表示基元y16对应的频率;基于每种基元对应的频率进行排序,排序按照频率降序排列,频域越大的基元排序位置越靠前。选取频率高的前N个基元记为第一基元,其他16‑N个基元记为第二基元,N为正整数且N小于16,对于第一基元与第二基元分别分配不同的扫描模式。\n[0056] 作为优选,本发明实施例中设置N取8,即排序后的前8个频率值对应的基元为第一\n基元,排序后后8个频率值对应的基元为第二基元;为每个第一基元分配2种扫描模式,每个第二基元分配1种扫描模式。\n[0057] 其中,扫描模式的具体获取方法为:\n[0058] 选取任意2*2大小的像素块,基于该像素块中像素点的像素值决定扫描模式,假设\n2*2大小的像素块的左上角像素点为扫描起始点,计算像素块内其他三个像素点与该扫描\n起始点的像素值的差值,像素值差值最小的方向为初次扫描的方向,用一个有向线段进行\n表示,有向线段的起点为扫描起始点,终点为与该扫描起始点之间像素值差值最小的像素\n点。以此类推,用3个有向线段对该像素块中4个像素点进行不重复的连接,所形成的图案即是此时的扫描模式;因此以左上角为扫描起始点时,根据像素块中4个像素点之间不同的取值一共可以得到6种形式的扫描模式。而像素块中每个像素点均可作为扫描起始点,因此每个扫描起始点可对应6种形式的扫描模式,则2*2大小的像素块对应的24种形式的扫描模\n式;具体可参阅图2,其完整示出一种24种形式的扫描模式示意图。\n[0059] 由此利用24种形式的扫描模式对第一基元与第二基元进行分配,每个第一基元在\n24种扫描模式中任意不重复的选取两种,即第一个第一基元对应的扫描模式的可能种类为\n种;第二个第一基元对应的扫描模式的可能种类为 以此类推,将8个第一基元对应\n的扫描模式分配选取完成;剩余的8种扫描模式与8个第二基元进行不重复的随机对应,得\n到8个第二基元分别对应的扫描模式。\n[0060] 需要说明的是,第一基元与第二基元的扫描模式均为自定义的选取分配,无规律\n的分配并进行标记,以更好的达到加密的效果。\n[0061] 作为一个优选示例,假设上述根据每个基元对应的频率进行降序排列后的顺序\n为:y2,y14,y1,y3,y12,y6,y11,y7,y9,y16,y10,y8,y15,y4,y13,y5;则频率高的前8个第一基元分别为:y2,y14,y1,y3,y12,y6,y11,y7;频率低的8个第二基元为y9,y16,y10,y8,y15,y4,y13,y5;为每个第一基元选取分配两种扫描模式,则8个第一基元对应的扫描模式分别为:(3,5),(1,11),(8,24),(6,7),(2,12),(13,15),(23,17),(4,20);其中,(3,5)表示频率最大的第一基元y2对应的两种扫描模式,分别为扫描模式3和扫描模式5;(4,20)表示频率排序第8的第一基元y7对应的两种扫描模式,分别为扫描模式4和扫描模式20。频率较低的8个第二基元对应的\n扫描模式分别为:19,14,21,9,18,22,10,16;其中,19表示第二基元y9对应的扫描模式19;\n16表示第二基元y5对应的扫描模式16,以此类推获取16种基元分别对应的扫描模式。\n[0062] 步骤S300,基于第一基元及其对应的扫描模式和第二基元及其对应的扫描模式构\n建序列,对序列进行加密得到密钥;由彩色明文图像中的每个像素点对应的基元构建对应\n的子块。\n[0063] 由步骤S200中的方法得到16种基元分别对应的扫描模式,则可根据得到的基元排\n序序列以及对应的扫描模式构建序列,该序列中包括40个元素,前16个元素为16种基元根\n据频率排序后的序号;剩下的24个元素分别为基元排序中每个基元对应的扫描模式的序\n号。作为一个示例,由步骤S200中的优选示例得到根据每个基元对应的频率进行降序排列\n后的顺序为:y2,y14,y1,y3,y12,y6,y11,y7,y9,y16,y10,y8,y15,y4,y13,y5;然后获得排序后的每个基元自定义分配的扫描模式的序号分别为:(3,5),(1,11),(8,24),(6,7),(2,12),(13,\n15),(23,17),(4,20),19,14,21,9,18,22,10,16。\n[0064] 则根据排序后的基元序列的标号以及对应扫描模式的标号构建得到的序列为:\n[0065]\n[0066] 其中,l1表示序列;序列的前16个元素为基元根据频率降序排列后的基元标号,2\n表示基元y2,5表示基元y5;序列的后24个元素为排列后的每个基元对应的扫描模式的序号,\n3表示扫描模式3,5表示扫描模式5,且扫描模式3和扫描模式5同为基元y2对应的扫描模式。\n[0067] 基于上述在红色通道下获取序列相同的方法,计算绿色通道下以及蓝色通道下基\n元对应的频率,并进一步基于基元的频率分配扫描方式并构建序列,绿色通道下对应序列\nl2,蓝色通道下对应序列l3。\n[0068] 然后,对上述构建的序列进行加密,本发明实施例中通过AES密算法对序列l1加密\n得到密钥1,同样的通过AES密算法对序列l2以及序列l3加密分别得到密钥2和密钥3,密钥空间为 种。\n[0069] 进一步的,根据获取到的密钥1、密钥2以及密钥3对彩色明文图像进行加密,加密\n时对该彩色明文图像中每一个像素点进行加密;本发明实施例中将彩色明文图像中的每个\n像素点转化为一个4*4的子块,以任意一个像素点为例,将该像素点记为明文像素,明文像素转换为子块的具体转化方法为:\n[0070] 由步骤S100和步骤S200可知每个明文像素均对应2个比特层,每个比特层对应一\n个基元,且每个基元对应特定的扫描模式;且根据密钥1、密钥2以及密钥3可知每个基元具体对应的扫描模式;由于第一基元对应2种扫描模式第二基元对应1种扫描模式,因此任选\n一种扫描模式作为每个基元对应的扫描模式,则根据密钥1、密钥2以及密钥3可得到明文像素对应的6种扫描模式,即红色通道下的2种扫描模式、绿色通道下的2种扫描模式以及蓝色通道下的2种扫描模式。\n[0071] 由于每种扫描模式均为2*2像素块对应得到的,因此可根据明文像素对应的6种扫\n描模式得到6个颜色块分别为红色块R1、红色块R2、绿色块G1、绿色块G2、蓝色块B1以及蓝色块B2;每个颜色块的大小均为2*2;因此根据6个2*2大小的颜色块构建明文像素对应的子块,将红色块R1和红色块R2进行横向拼接得到2*4的红块,绿色块G1和绿色块G2横向拼接得到2*\n4的绿块,蓝色块B1和蓝色块B2横向拼接得到2*4的蓝块,然后将2*4的红块、2*4的绿块以及\n2*4的蓝块上下拼接得到4*4的子块,即红块的第二行与绿块的第一行重叠,绿块的第二行\n与蓝块的第一行重叠;从而得到明文像素对应的4*4的子块。\n[0072] 以此类推,获取彩色明文图像中每个像素点对应的4*4的子块,然后对每个子块进\n行加密。\n[0073] 步骤S400,根据像素点对应基元的扫描模式为子块进行赋值得到灰度块;根据彩\n色明文图像中所有像素点对应的灰度块得到灰度密文图像,灰度密文图像为彩色明文图像\n加密后的图像。\n[0074] 由步骤S300中获取彩色明文图像中每个像素点对应的4*4的子块,此时得到的子\n块是基于每个像素点的基元以及该基元在密钥中对应的扫描方式得到的,4*4子块中每个\n像素点的像素值未知,因此需要对每个像素点的像素值进行赋值。\n[0075] 由于每个扫描模式均为3个有向线段的指向构成,而有向线段的指向是像素值之\n间差值最小的方向,因此为避免扫描模式之间的差异造成结果的不准确,本发明实施例中\n首先对2*2的像素块中的像素点进行排序标记,扫描起始点标记为s1,由扫描起始点开始的有向线段指向的像素点标记为s2,由像素点s2开始的有向线段指向的像素点标记为s3,由像素点s3开始的有向线段指向的像素点标记为s4。因此可以根据对红色块R1、红色块R2、绿色块G1、绿色块G2、蓝色块B1以及蓝色块B2中每个像素点进行赋值得到4*4的子块中每个像素点的像素值。\n[0076] 根据每个颜色块对应的扫描模式标记其中的像素点s1、像素点s2、像素点s3以及像素点s4,对每个像素点进行赋值时应满足相应的限制条件,第一条有向线段由像素点s1指向像素点s2时应满足d1<d2且d1<d3;其中, 表示像素点s1的像素值;\n表示像素点s2的像素值; 表示像素点s3的像素值; 表示像素点s4的像素值;d1表示像素\n点s1与像素点s2之间的像素值差值;d2表示像素点s3与像素点s1之间的像素值差值;d3表示像素点s4与像素点s1之间的像素值差值;第二条有向线段由像素点s2指向像素点s3时应满\n足d4<d5;其中, d4表示像素点s3与像素点s2之间的像素值差值;d5表示像\n素点s4与像素点s2之间的像素值差值;第三条有向线段由像素点s3指向像素点s4时的\n无限制;d6表示像素点s4与像素点s3之间的像素值差值;其中,当\n单调递增或者单调递减时,d1、d2、d3、d4、d5以及d6之间还满足:\n[0077]\n[0078] 因此在满足d4<d5时,应满足d2‑d1<d3‑d1,即d2<d3;则最终每个颜色块需要满足限制条件: 单调递增或单调递减且d1<d2<d3即可。\n[0079] 基于限制条件对每个颜色块进行赋值,由于绿色块与红色块以及蓝色块的内容均\n有重叠,因此首先给绿色块G1进行赋值,已知基于绿色块G1对应的扫描模式可以得到其中的像素点s1、像素点s2、像素点s3以及像素点s4,且每个像素点的取值范围为0‑255,因此本发明实施例中在进行赋值时首先从[45,205]的范围中随机选1个数值赋予绿色块G1中的像素\n点s1得到 然后在[11,15]的范围中随机选1个数值赋予d1,从而得到 在\n[16,20]的范围中随机选1个数值赋予d2,从而得到 最终在[21,25]的范围中\n随机选1个数值赋予d3,从而得到 至此,实现对绿色块G1中像素点s1、像素点\ns2、像素点s3以及像素点s4的赋值。\n[0080] 进一步的,由于绿色块G1中的第一行像素点与红色块R1的第二行像素点重叠,因此红色块R1中的两个像素点值已知,即红色块R1的像素点之间的像素值差值中d1,d2,d3,d4,d5,d6存在已知数值,由红色块R1的扫描模式已知,所以根据扫描模式可对应出红色块R1中第二行的像素点属于像素点s1、像素点s2、像素点s3以及像素点s4中的哪一个,当第二行像素点分别为像素点s1和像素点s2时,则红色块R1中的d1已知;当第二行像素点分别为像素点s1和像素点s3时,则红色块R1中的d2已知;以此类推,基于第二行像素点之间像素值差值的6种可能情况以及d1<d2<d3的限定条件确定像素值差值中d1,d2,d3的范围并进行赋值,具体方法为:\n[0081] (1)当红色块R1中与绿色块G1中的重叠像素点之间的像素值差值为d1时,则d2,d3的取值范围应满足:\n[0082]\n[0083] 其中,d1表示像素点s1与像素点s2之间的像素值差值;d2表示像素点s3与像素点s1之间的像素值差值;d3表示像素点s4与像素点s1之间的像素值差值。\n[0084] 同时可确定红色块R1中像素点s1和像素点s2的像素值,并基于像素点s1和像素点s2的像素值确定此时红色块R1中像素点s1的像素值 像素点s2的像素值 像素点s3的像\n素值 以及像素点s4的像素值 的单调性;若 则红色块R1中像素点分别对应的\n像素值 单调递增,且 若 则红色块R1中\n像素点分别对应的像素值 单调递减,且\n[0085] (2)若红色块R1中与绿色块G1中的重叠像素点之间的像素值差值为d2时,则d1,d3的取值范围应满足:\n[0086]\n[0087] 其中,d1表示像素点s1与像素点s2之间的像素值差值;d2表示像素点s3与像素点s1之间的像素值差值;d3表示像素点s4与像素点s1之间的像素值差值。\n[0088] 同理可确定红色块R1中像素点s1和像素点s3的像素值,并基于像素点s1和像素点s3的像素值确定此时红色块R1中像素点s1的像素值 像素点s2的像素值 像素点s3的像\n素值 以及像素点s4的像素值 的单调性;若 则红色块R1中像素点分别对应的\n像素值 单调递增,且 若 则红色块R1中\n像素点分别对应的像素值 单调递减,且\n[0089] (3)若红色块R1中与绿色块G1中的重叠像素点之间的像素值差值为d3时,则d1,d2的取值范围应满足:\n[0090]\n[0091] 其中,d1表示像素点s1与像素点s2之间的像素值差值;d2表示像素点s3与像素点s1之间的像素值差值;d3表示像素点s4与像素点s1之间的像素值差值。\n[0092] 同理可确定红色块R1中像素点s1和像素点s4的像素值,并基于像素点s1和像素点s4的像素值确定此时红色块R1中像素点s1的像素值 像素点s2的像素值 像素点s3的像\n素值 以及像素点s4的像素值 的单调性;若 则红色块R1中像素点分别对应的\n像素值 单调递减,且 若 则红色块R1中\n像素点分别对应的像素值 单调递增,且\n[0093] (4)若红色块R1中与绿色块G1中的重叠像素点之间的像素值差值为d4,则d1,d2,d3的取值范围应满足:\n[0094]\n[0095] 其中,d1表示像素点s1与像素点s2之间的像素值差值;d2表示像素点s3与像素点s1之间的像素值差值;d3表示像素点s4与像素点s1之间的像素值差值;d4表示像素点s3与像素点s2之间的像素值差值。\n[0096] 同理可确定红色块R1中像素点s2和像素点s3的像素值,并基于像素点s2和像素点s3的像素值确定此时红色块R1中像素点s1的像素值 像素点s2的像素值 像素点s3的像\n素值 以及像素点s4的像素值 的单调性;若 则红色块R1中像素点分别对应的\n像素值 单调递减,且 若 则红色块R1中\n像素点分别对应的像素值 单调递增,且\n[0097] (5)若红色块R1中与绿色块G1中的重叠像素点之间的像素值差值为d5,则d1,d2,d3的取值范围应满足:\n[0098]\n[0099] 其中,d1表示像素点s1与像素点s2之间的像素值差值;d2表示像素点s3与像素点s1之间的像素值差值;d3表示像素点s4与像素点s1之间的像素值差值;d5表示像素点s4与像素点s2之间的像素值差值。\n[0100] 同理可确定红色块R1中像素点s4与像素点s2的像素值,并基于像素点s2和像素点s4的像素值确定此时红色块R1中像素点s1的像素值 像素点s2的像素值 像素点s3的像\n素值 以及像素点s4的像素值 的单调性;若 则红色块R1中像素点分别对应的\n像素值 单调递减,且 若 则红色块R1中\n像素点分别对应的像素值 单调递增,且\n[0101] (6)若红色块R1中与绿色块G1中的重叠像素点之间的像素值差值为d6,则d1,d2,d3的取值范围应满足:\n[0102]\n[0103] 其中,d1表示像素点s1与像素点s2之间的像素值差值;d2表示像素点s3与像素点s1之间的像素值差值;d3表示像素点s4与像素点s1之间的像素值差值;d6表示像素点s4与像素点s3之间的像素值差值。\n[0104] 同理可确定红色块R1中像素点s4与像素点s3的像素值,并基于像素点s4与像素点s3的像素值确定此时红色块R1中像素点s1的像素值 像素点s2的像素值 像素点s3的像\n素值 以及像素点s4的像素值 的单调性;若 则红色块R1中像素点分别对应的\n像素值 单调递减,且 若 则红色块R1中\n像素点分别对应的像素值 单调递增,且\n[0105] 结合上述(1)至(6)所描述的多种情况,可根据绿色块G1与红色块R1重叠的两个像\n素点完成对红色块R1的赋值。\n[0106] 基于上述对红色块R1赋值相同的方法,由于绿色块G1中的第二行像素点与蓝色块\nB1中的第一行像素点重叠,因此可利用上述对红色块R1赋值相同的方法对蓝色块B1进行赋\n值。然后利用对绿色块G1赋值相同的方法,对绿色块G2进行赋值,并基于赋值后的绿色块G2对红色块R2以及蓝色块B2进行赋值;从而完成对彩色明文图像中每个像素点对应的红色块\nR1、红色块R2、绿色块G1、绿色块G2、蓝色块B1以及蓝色块B2中每个像素点进行赋值,进而得到每个像素点对应的4*4子块中像素点的像素值,将赋值后的子块记为灰度块。\n[0107] 则可根据彩色明文图像中每个像素点对应的4*4的灰度块构成对应的灰度密文图\n像,该灰度密文图像即为对彩色明文图像加密完成后的图像。\n[0108] 进一步的,基于本发明实施例中的方法对彩色明文图像加密之后进行解密时,即\n对灰度密文图像进行解密,将灰度密文图像中每个灰度块还原为彩色明文图像中对应的像\n素点,进而实现了对灰度密文图像的解密;具体将每个灰度块还原为彩色明文图像中对应\n像素点的方法为:将4*4大小的灰度块分割为6个颜色块分别为红色块R1、红色块R2、绿色块G1、绿色块G2、蓝色块B1以及蓝色块B2;然后获取每个颜色块对应的扫描模式,根据每个颜色通道对应的密钥得到扫描模式对应的基元,再进一步根据基元还原像素点对应的比特层,\n从而根据二进制的2个比特层得到像素点对应的像素值,从而完成将灰度块还原为对应像\n素点的步骤。\n[0109] 综上所述,本发明实施例中通过对待加密的彩色明文图像中每个像素点进行比特\n层的分割并得到对应的基元,然后为每种基元分配自定义的扫描模式从而得到特定的密\n钥,根据密钥中每个基元对应的扫描模式将待加密的彩色明文图像中每个像素点转换为一\n个子块,并基于密钥对子块进行赋值得到最终的灰度块,彩色明文图像中所有像素点对应\n的灰度块的组合构成灰度密文图像,从而达到对彩色明文图像进行加密的目的,提高了密\n钥的空间并且保证了加密的安全性和防御性。\n[0110] 需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。\n另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结\n果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。\n[0111] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部\n分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。\n[0112] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之\n内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2023-03-21
实质审查的生效
IPC(主分类): H04N 1/44
专利申请号: 202211506473.X
申请日: 2022.11.29
- 2023-03-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |