一种基于ChaCha20和CCSDS的选择性卫星图像压缩加密方法

文档序号:9924103阅读:757来源:国知局
一种基于ChaCha20和CCSDS的选择性卫星图像压缩加密方法
【技术领域】
[0001] 本发明设及一种图像处理方法,主要是卫星图像压缩加密方法。
【背景技术】
[0002] 卫星图像不受国界、地域限制,包含了丰富的观测数据和情报信息,对全球经济、 政治、军事等产生深远影响,但在存储、传输和使用过程中存在一定的泄密隐患,因而寻求 高效的卫星图像加密技术具有重要的理论意义和工程应用价值。相对于一般数字图像压缩 加密,卫星图像数据量较大,且受传输带宽限制,需要先对卫星图像压缩形成编码数据流再 进行传输和存储,因而传统的图像压缩加密算法推广到卫星图像并不能达到最佳压缩加密 效果。另外,现有的一些卫星图像加密技术一般通过传统加密算法或者安全协议进行端对 端传输,未充分考虑卫星图像分辨率高、容量大、信息量丰富、图像价值高等特点,存在加密 时间长、实时性处理差、安全性不高、自适应性差等局限性。

【发明内容】

[0003] 为克服现有技术不足,本发明提供一种基于化a化曰20和CCSDS的选择性卫星图像 压缩加密方法(简称为SECC加密方法)。
[0004] 本发明目的在于针对卫星图像数据量大、价值高且难W再次获取、加密强度要求 高,现有加密算法自适应差、加密效率低等问题,提出一种基于化a化曰20和CCSDS的选择性 卫星图像压缩加密方法,实现卫星图像加密效果好、自适应性强、且对压缩性能影响小的效 果。
[0005] 为实现上述目的,本发明技术方案的基本思想为:针对卫星图像特点,首先利用 CCSDS图像压缩算法中9/7整型小波对图像进行S级二维离散小波变换,得到变换后的DC系 数和AC系数。其次,通过编码选项中的头信息与512位初始密钥,采用化aCha20流密码运算 产生化aCha20初始字节流;混浊迭代初始密钥和明文图像归一化均值,通过分段线性混浊 映射(Piecewise Linear Chaotic Map,PWLCM)迭代产生的字节流与ChaCha20初始字节流 求和取模生成畑aCha20字节流。然后,将畑aCha20字节流与DC系数和部分AC系数(每个 block中的父、子系数)、所有AC系数符号进行异或加密。DC系数加密^segment为单位,前一 个加密过的系数反馈作用到当前系数的加密,并且每个segment中最后一个已加密DC系数 会作用到下一个segment中的第一个DC系数,使得一个segment中系数的变化扩散到W后所 有segment的系数中;AC系数Wblock为单位和化a化曰20字节流进行异或加密,AC系数符号 位与ChaCha20字节流转化成的比特流进行异或加密。最后,将加密过的DC、AC系数W segment为单位进行编码压缩,完成卫星图像压缩加密。化a化曰20字节流的产生与待加密卫 星图像、压缩编码参数相关,增强加密的自适应性。
[0006] 本发明基于化a畑曰20和CCSDS的选择性卫星图像压缩加密SECC方法包括如下步 骤:
[0007] 步骤1:小波变换
[0008] 对大小为MXN的输入图像进行S级二维整型9/7离散小波变换,产生与输入图像 像素数量相同的变换系数,其中DC系数占总系数的1/64 ,AC系数占总系数的63/64;
[0009] 步骤2:化a化a20字节流生成
[0010] ChaCha20的每个状态(state)共16个状态字(state word),每个32位,分别为4个 常数constant,8个输入密钥key,2个块计数器counter,2个随机数nonce,Cha化日20状态的 排列方式如公式(1)所示;本发明将原始的化a化曰20密钥略加修改,使化a化曰20的256位密 钥key扩充到512位,即把密钥key与consent ,counter、nonce共同作为QiaQia20的输入密 钥(外部密钥),扩充后状态的排列方式如公式(2)所示。为了增强图像加密的自适应性, SECC加密方法采用化a化曰20流密码结合图像明文像素总和、编码选项参数头信息(即,子带 加权系数、一个segment容许的最大字节数Se浊yteLimit)产生初始字节流,再与PWLCM映射 共同作用生成化a化曰20字节流。
[OOU] 1)输入512位外部密钥,按照*日,机,'\¥2,*3,*4,*日,'\¥6,*7,則,*9,机日,机1,机2,机3,讯14, W15顺序,依次将外部密钥W小端字节序方式,赋给化a化a20状态字作为初始值,每个32位, 得到化a化日20初始态(Initial S化te);将子带加权系数组s[i] ,i=0,1,. . .9按照公式(3) 合并成20比特的整数number;
H)
[0015] 2)为增强加密方法的自适应性,将畑a化曰20初始态中的W12与明文图像像素总和 Siim(P) ,number、56浊八61^;[1]1;[1:进行异或,如公式(4)所示。异或处理后的初始态称为基准状 态,作为扩散操作的起点;
[001W 二',Vp ?踩"/(巧货乃輯玻er皆及巧却化左知城 (4》
[0017]式中,货表示异或操作;
[0018] 3) W基准状态为基础进行20轮化a化a20扩散操作,产生化a化a20最终状态。从上 到下逐行读取最终状态的每个状态字,依据小端字节序方式将其转换成字节流,连接成512 位哈希密钥流;8位一组(单字节整数e[0~255])分割成长度为64的化a化a20初始字节流 keyO。每次将上一次的状态字W12加1,其它状态字保持不变,进行20轮扩散过程,每次产生64 个字节,如此重复M*N/256次,拼接产生长度为M*N/4的初始字节流by testreamo;
[0019] 4)计算明文图像归一化均值XO = mean (P) /256,mean (P)表示对明文图像P中的像 素求均值,将归一化均值XO和输入初值Io作为公式(5)中PWLCM映射参数Xn,1的初值,迭代 ki+M*N/4次,产生长度为ki+M*N/4的混浊序列,舍弃前ki项(避免暂态效应),生成长度为M* (5 ) N/4的混浊序列c;
[0021] 5)采用公式(6)将序列C转换成整数序列0={〇1,…,〇v,-'om*n/4},〇vE[0,255],
[0022] 〇v=floo;r(mod(Cv*l〇i5,256)) ,V=I ,2,...M*N/4 (6)
[0023] 根据公式(7)构建 QiaQia20 字节流 bytestream;
[0024] bytestream(i) =mod(bytestream〇(i)+0(i),化6),i = 1,2,...M*N/4 (7)
[0025] 其中,mod(x,y)表示X对y取模;
[0026] 步骤3:加密小波变换系数
[0027] 设一个segment由S个block组成,即一个segment中包含S个DC系数。
[002引1)加密DC系数
[0029] 第t个segment的DC系数序列表示为DCbytest( j),j = 1,2,…S。图像变换后的DC系 数占全部系数总数的1/64,而且8位深度图像变换后的系数值基本上为(0,255)之间的整 数。SECC加密方法将生成的ChaCha20字节流bytestream的前M*N/64个字节与DC系数逐个进 行异或操作,并且使用明文图像像素值总和加密首个segment的第一个DC系数。为了增强DC 系数间的扩散性能,将前一个加密后的DC系数作为反馈来影响当前DC系数加密。同时,为了 增强segment间的扩散性能,将一个segment中最后一个已加密DC系数反馈到下一个 segment中的第一个DC系数加密过程。
[0030] (1)获得异或初值日日;初值ao = mod(sum(P) ,256) ,Siim(P)表示明文图像像素总和。 ao用来加密第一个segment中的第一个DC系数,如公式(8)所示,得到加密后的第一个DC系 数DCb}ftesi'(1);
[0031 ] DCAj'化 v;(lj =DC妙&^i(I)货'卸給S托知奶巧想(?. (致)
[0032] (2)加密第t个segment的DC系数;如公式(9)、(10)所示,得到第t个segment加密后 的DC系数DCb}ftest'( j),j = l,2,…S; D(7n 化 V. (1) ? /"'化"化""Z(I) ? <2。 扩=1
[003;3] DCAv/化(1)叫 ? ' . (9) ? ' 吟(7吓/巧(1)黄 Aj/e'v/r化'"z((/ -1)+ I)? 0<:7,,,他'(S) / 卓 1 DCh\'tcs,( f)二 lX:hYU,s,U)?h\'h,strc(!m(〇 - V)* S + j)承 lX:hYU,s,i j - 1%
[0034].可 . HO) J = 2,3.---5
[00对 2)加密AC系数
[0036] AC系数子带的最大值和平均值均远小于DC系数,如果直接加密所有的AC系数将大 幅度增加编码码流。AC系数在编码过程中,一个
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1