恭喜合肥工业大学宋万获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网恭喜合肥工业大学申请的专利基于无损压缩算法的图片加密解密方法、设备及存储介质获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN115941323B 。
龙图腾网通过国家知识产权局官网在2025-03-25发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202211563595.2,技术领域涉及:H04L9/40;该发明授权基于无损压缩算法的图片加密解密方法、设备及存储介质是由宋万;詹曙;丁正龙;臧怀娟;刘睿哲设计研发完成,并于2022-12-07向国家知识产权局提交的专利申请。
本基于无损压缩算法的图片加密解密方法、设备及存储介质在说明书摘要公布了:本发明公开了一种基于无损压缩算法的图片加密解密方法、设备及存储介质,涉及图片加解密算法领域。加密方法中先对图片数据进行预处理,再对预处理得到数据进行无损压缩,最后采用254位二进制的密钥对无损压缩后的数据进行加密。整个过程可逆即为解密方法。本发明由无损压缩并加密后的图片可以恢复出原图,并可实现节省图片的空间内存,保护图片隐私两大功能。
本发明授权基于无损压缩算法的图片加密解密方法、设备及存储介质在权利要求书中公布了:1.一种基于无损压缩算法的图片加密方法,其特征在于,包括以下步骤:步骤1、获取原始图片数据img,并对原始图片数据进行预处理,过程如下:依次遍历图片数据中各个通道,对于每个通道先依次遍历所有列,并从第二列开始将每一列的值变成该列与前一列的像素值之差,然后再依次遍历所有行,并从第二行开始将每一行的值变成该行与前一行的像素值之差,由此得到预处理后的图片数据img_new;步骤2、对步骤1预处理后的图片数据img_new进行压缩,过程如下:步骤2.1、基于Python语言构建int_bin函数,基于int_bin函数的规则得到字典用dictm表示,其中m范围为整数1到9,由此得到字典dict1、dict2、dict3、dict4、dict5、dict6、dict7、dict8、dict9,字典dictm的键为整数n,n的范围是0到2的m次方减1,字典的值为字典的键即整数n转换成的m位二进制字符串,若转换后的二进制数据实际长度length1小于m,则在转换后的二进制数据前面补上m-length1位的字符0;步骤2.2、设置空白的列表list1、list2、list1_end、list2_end,循环遍历预处理后的图片数据img_new的所有通道,用k表示当前正在处理的通道编号,然后循环遍历每个通道所有的行,用i表示对应的行序号,再循环遍历每个通道所有的列,用j表示对应的列序号,并按以下规则将上述循环遍历结果添加至空白的列表中:若遍历到的整数等于0,先判断是否为最后一列,若是最后一列则在列表list1添加字符串元素000,若不是最后一列则计算一共出现多少个连续的字符0,并且限制字符0的连续次数count的最大值A,A为大于6的整数,并基于连续次数count进行判断和添加字符串:当连续次数count等于1,则在列表list1添加字符串000;当连续次数count范围在2到5,则在列表list1添加字符串001,以及在列表list2中添加字符串dict2[count-2],其中dict2是步骤2.1得到的字典,count-2作为dict2的键,用于获取对应的值;当连续次数count范围在6到A,则在列表list1添加字符串010,以及在列表list2添加字符串dict6[count-6],[]是取字典dict6重键为count-6的值;当连续次数count比A大,则令count等于A,则在列表list1添加字符串010,以及在列表list2添加字符串dict6[A-6],最后令j=j+count-1,由此已经遍历了count次;若遍历到的整数num等于1,则在列表list1添加字符串011;若遍历到的整数num等于-1,则在列表list1添加字符串100;若遍历到的整数num等于2,则在列表list1添加字符串101;若遍历到的整数num等于-2,则在列表list1添加字符串110;若遍历到的整数num等于3或4,则在列表list1添加字符串111,以及在列表list2添加字符串00+dict1[num-3];若遍历到的整数num范围是5到8,则在列表list1添加字符串111,以及在列表list2添加字符串100+dict2[num-5];若遍历到的整数范围是9到10,则在列表list1添加字符串111,以及在列表list2添加字符串101+dict9[num];若遍历到的整数num等于-3或-4,则在列表list1添加字符串111,以及在列表list2添加字符串01+dict1[-num-3];若遍历到的整数num范围是-8到-5,则在列表list1添加字符串111,以及在列表list2添加字符串110+dict2[-num-5];若遍历到的整数num范围是-10到-9,则在列表list1添加字符串111,以及在列表list2添加字符串111+dict9[-num];完成上述过程后,令j=j+1,使得列序号增加1,列序号对应的值已遍历,并判断此时列表list1、list2的长度,若列表list1的长度大于50,则在列表list1_end添加元素list1,再令列表list1置为空列表即[]以便于后续存储新的字符串元素,若列表list2的长度大于50,则在列表list2_end添加元素list2,再令列表list2置为空列表;最后,设置空字符串str1和str2,并将列表list1_end中所有元素存储的字符串元素依次拼接到str1中,以及将列表list2_end中所有元素存储的的字符串元素依次拼接到str2中;步骤3、对步骤2压缩后的数据进行加密,过程如下:步骤3.1、设置254位二进制的密钥;步骤3.2、对于步骤2得到的str1和str2,分别用所述密钥进行加密处理对应得到加密的字符串str1_end、str2_end;步骤3.3、将加密的字符串str1_end的长度用30位二进制字符串str3表示,将图片的宽度用13位二进制字符串str4表示,将图片的高度用13位二进制字符串str5表示,并进行以下操作:首先将str1_end添加到空的字符串str_end,然后将str3、str4、str5依次添加到字符串str_end前面;完成上述操作后,计算字符串str_end的长度即整数num_end,对num_end除以24并向下取整得到length,设加密后的图片宽度width=length,加密后的图片高度heigth=length,进入while循环判断width*heigth*24是否大于或等于num_end,若没有大于或等于num_end则令width自加1并继续循环并执行,直至width*heigth*24大于或等于num_end时,计算width*height*24-num得到需要添加在字符串str_end前面的字符串0,并且基于计算结果对字符串str_end补齐;步骤3.4、将步骤3.3得到补齐后的字符串str_end通过三层for循环存储到尺寸为height、width、3的数组img_end;步骤3.5、将img_end数据写入图片得到压缩加密后的图片。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人合肥工业大学,其通讯地址为:230009 安徽省合肥市屯溪路193号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。