发明内容
有鉴于此,本发明提供一种实现加密的方法和装置、一种实现解密的方法和装置、及一种实现加密和解密的系统,简单方便地实现图像的信息安全。
本发明提供的图像加密方法包括步骤A:根据控制值选取密钥中的一个整数型数据生成密钥参数,并根据所述控制值和生成的伪随机序列生成随机列标,然后根据所述密钥参数和所述随机列标生成列标,根据所述列标对待传输的图像数据进行分段,得到各图像数据段,根据设定的传输顺序打乱各图像数据段的排列顺序,并按照打乱后的排列顺序依次发送各图像数据段。所述步骤A之后进一步包括:根据密钥生成列标,根据所述列标确定收到的各图像数据段的分段点,根据所述分段点和设定的传输顺序还原各图像数据段的排列顺序。
所述控制值:预先设定;或根据设定算法生成。
所述伪随机序列的生成过程为:根据同步信号初始化移位寄存器,选取移位寄存器的至少两位,将所述至少两位寄存器值进行逻辑运算,然后将所述逻辑运算结果作为伪随机序列移位寄存器的低位输入值,并将所述逻辑运算结果左移进移位寄存器的最低位,移位寄存器每移位一次,输出一个伪随机序列输出值,最后得到设定位数的伪随机序列。
所述密钥:预先设定;或根据设定的密钥算法生成。
所述对待传输的图像数据进行分段,为:对待传输的图像的行数据进行分段。设定分段数量,所述生成的列标的数量与所述分段数量相对应。
本发明提供的实现解密的方法包括:根据控制值选取密钥中的一个整数型数据生成密钥参数,并根据所述控制值和生成的伪随机序列生成随机列标,然后根据所述密钥参数和所述随机列标生成列标,根据所述列标确定收到的各图像数据段的分段点,根据所述分段点和设定的传输顺序还原各图像数据段的排列顺序。
所述控制值:预先设定;或根据设定算法生成。
所述伪随机序列的生成过程为:根据收到的同步信号初始化移位寄存器,选取移位寄存器的至少两位,将所述至少两位寄存器值进行逻辑运算,然后将所述逻辑运算结果作为伪随机序列移位寄存器的低位输入值,并将所述逻辑运算结果左移进移位寄存器的最低位,移位寄存器每移位一次,输出一个伪随机序列输出值,最后得到设定位数的伪随机序列。
所述密钥:预先设定;或根据设定的密钥算法生成。所述收到的各图像数据段为图像的一行数据。设定分段数量,所述生成的列标的数量与所述分段数量相对应。根据所述分段点和设定的传输顺序还原各图像数据段的排列顺序,为:根据相邻分段点之间的长度确定出各图像数据段,然后根据设定的传输顺序确定所述各图像数据段的排列顺序。
本发明提供的实现加密的装置包括:列标生成单元、分段单元和倒序单元,其中,所述列标生成单元用于根据控制值选取密钥中的一个整数型数据生成密钥参数,并根据所述控制值和生成的伪随机序列生成随机列标,然后根据所述密钥参数和所述随机列标生成列标,并向分段单元提供该列标;所述分段单元用于根据收到的列标对图像数据进行分段,并向倒序单元提供各图像数据段;所述倒序单元用于接收各图像数据段,并根据设定的传输顺序打乱各图像数据段的排列顺序,并按照打乱后的排列顺序依次发送各图像数据段。
所述列标生成单元包括:伪随机序列生成单元、控制值提供单元、随机列标生成单元、密钥提供单元、密钥参数确定单元和列标确定单元,其中,所述伪随机序列生成单元用于生成伪随机序列,并向随机列标生成单元提供该伪随机序列,所述控制值提供单元用于向随机列标生成单元和密钥参数确定单元提供控制值,所述随机列标生成单元用于根据所述伪随机序列和所述提供给本随机列标生成单元的控制值生成随机列标,并向列标确定单元提供所述随机列标,所述密钥提供单元用于向密钥参数确定单元提供密钥,所述密钥参数确定单元用于根据所述提供给本密钥参数确定单元的控制值和所述密钥确定密钥参数,并向列标确定单元提供所述密钥参数,所述列标确定单元用于根据所述随机列标和所述密钥参数确定列标。
所述列标生成单元根据设定的分段数量生成相应数量的列标。
本发明提供的实现解密的装置包括:列标生成单元、分段确定单元和顺序还原单元,其中,所述列标生成单元用于根据控制值选取密钥中的一个整数型数据生成密钥参数,并根据所述控制值和生成的伪随机序列生成随机列标,然后根据所述密钥参数和所述随机列标生成列标,并向分段确定单元提供所述列标;所述分段确定单元用于根据所述列标确定各图像数据段的分段点,并向顺序还原单元提供所述分段点;所述顺序还原单元用于根据所述分段点和设定的传输顺序还原收到的各图像数据段的排列顺序。
所述列标生成单元包括:伪随机序列生成单元、控制值提供单元、随机列标生成单元、密钥提供单元、密钥参数确定单元和列标确定单元,其中,所述伪随机序列生成单元用于生成伪随机序列,并向随机列标生成单元提供该伪随机序列,所述控制值提供单元用于向随机列标生成单元和密钥参数确定单元提供控制值,所述随机列标生成单元用于根据所述伪随机序列和所述提供给本随机列标生成单元的控制值生成随机列标,并向列标确定单元提供所述随机列标,所述密钥提供单元用于向密钥参数确定单元提供密钥,所述密钥参数确定单元用于根据所述提供给本密钥参数确定单元的控制值和所述密钥确定密钥参数,并向列标确定单元提供所述密钥参数,所述列标确定单元用于根据所述随机列标和所述密钥参数确定列标。
所述列标生成单元根据设定的分段数量生成相应数量的列标。
本发明提供的实现加密和解密的系统,该系统包括:加密端和解密端,其中,所述加密端用于根据控制值选取密钥中的一个整数型数据生成密钥参数,并根据所述控制值和生成的伪随机序列生成随机列标,然后根据所述密钥参数和所述随机列标生成列标,根据该列标对图像数据进行分段,并根据设定的传输顺序打乱分段得到的各图像数据段的排列顺序,以及按照打乱后的排列顺序依次发送各图像数据段;所述解密端用于根据控制值选取密钥中的一个整数型数据生成密钥参数,并根据所述控制值和生成的伪随机序列生成随机列标,然后根据所述密钥参数和所述随机列标生成列标,根据该列标确定收到的各图像数据段的分段点,并根据所述分段点和设定的传输顺序还原收到的各图像数据段的排列顺序。
所述加密端包括:列标生成单元、分段单元和倒序单元,其中,所述列标生成单元用于根据控制值选取密钥中的一个整数型数据生成密钥参数,并根据所述控制值和生成的伪随机序列生成随机列标,然后根据所述密钥参数和所述随机列标生成列标,并向分段单元提供该列标;所述分段单元用于根据收到的列标对图像数据进行分段,并向倒序单元提供各图像数据段;所述倒序单元用于接收各图像数据段,并根据设定的传输顺序依次发送各图像数据段。所述解密端包括:列标生成单元、分段确定单元和顺序还原单元,其中,所述列标生成单元用于根据控制值选取密钥中的一个整数型数据生成密钥参数,并根据所述控制值和生成的伪随机序列生成随机列标,然后根据所述密钥参数和所述随机列标生成列标,并向分段确定单元提供所述列标;所述分段确定单元用于根据所述列标确定各图像数据段的分段点,并向顺序还原单元提供所述分段点;所述顺序还原单元用于根据所述分段点和设定的传输顺序还原收到的各图像数据段的排列顺序。
本发明中,在图像的信源端、即加密端,根据密钥生成列标,根据该列标对待传输的图像数据进行分段,然后根据设定的传输顺序依次发送各段图像数据,通过设定的传输顺序使得发送各图像数据段时的排列顺序与各图像数据段原本的排列顺序不一致,使得解密端收到的各图像数据段的顺序已打乱了原本的排列顺序,从而实现对图像的加密。由此可见,本发明提供的加密算法简单易行、操作方便,大大降低了图像加密算法的复杂度,并且降低了后续解密过程的复杂度。
在图像的信宿端、即解密端,根据密钥生成列标,根据该列标确定收到的图像数据的分段方式,然后根据设定的传输顺序还原各图像数据段的排列顺序,获取图像,对于解密端而言,如果没有正确的密钥或密钥和相关参数、以及设定的传输顺序,将无法对收到的各图像数据段进行正确排序,也就无法得到最终的图像。由此可见,本发明提供的解密算法也简单易行、操作方便,大大降低了图像解密算法的复杂度。
根据本发明提出的方案,加密或解密过程中仅需要对几行、甚至一行像素数据进行缓存,存储代价非常小,而且具有良好的稳定性。
具体实施方式
图2为本发明实施例中实现图像加密的装置的结构示意图,如图2所示,实现图像加密的装置包括:列标生成单元、分段单元和倒序单元,其中,列标生成单元用于根据密钥生成列标,并向分段单元提供该列标,密钥可由多个八位整型数据构成,该密钥可预先设定,也可根据设定密钥算法生成;分段单元用于根据收到的列标对图像数据进行分段,并向倒序单元提供各图像数据段;倒序单元用于接收各图像数据段,并根据设定的传输顺序打乱各图像数据段的排列顺序,并按照打乱后的排列顺序依次发送各图像数据段。列标是分段单元对图像数据进行分段的依据。可预先设定分段单元对图像数据划分的分段数量,此时,分段单元需要列标生成单元提供相应数量的列标,即列标生成单元生成的列标的数量与分段数量相对应,例如,设定将图像数据分成三段,列标生成单元就提供两个列标。对图像数据划分的段数越多,得到的加密效果越好。列标单元可生成一个列标就向分段单元提供该列标,即一次仅向分段单元提供一个列标;也可生成多个列标后,向分段单元提供这些列标,即一次向分段单元提供多个列标。如果需要将图像数据划分成至少三段,则列标单元可分多次向分段单元提供每次生成的列标,也可一次将生成的所有列标提供给分段单元。列标生成单元的实现方式有很多种,下面举例进行说明。
图3A为本发明实施例中列标生成单元的第一种结构示意图,如图3A所示,列标生成单元包括:控制值提供单元、密钥提供单元和列标确定单元,其中,控制值提供单元用于向列标确定单元提供控制值,控制值提供单元可为存储单元,即预先设定控制值,由该存储单元进行存储,控制值提供单元也可为需要进行相应处理的处理单元,即控制值提供单元提供控制值之前进一步用于根据设定算法生成控制值;密钥提供单元用于向列标确定单元提供密钥,密钥可由多个八位整型数据构成,密钥提供单元可为存储单元,即预先设定密钥,由该存储单元进行存储,密钥提供单元也可为需要进行相应处理的处理单元,即密钥提供单元提供密钥之前进一步用于根据设定密钥算法生成密钥;列标确定单元用于根据收到的控制值和密钥生成列标,例如,根据控制值选取密钥中的一个整数型数据,如列标确定单元收到的控制值为5,则在密钥中选择从低至高位于第5位的密钥参数、即八位整型数据作为一个列标。如果设定将图像数据划分至少两段,则列标生成单元中的各部分重复执行操作,生成相应数量的列标。
图3B为本发明实施例中列标生成单元的第二种结构示意图,如图3B所示,列标生成单元包括:伪随机序列生成单元、密钥提供单元和列标确定单元,其中,伪随机序列生成单元用于生成伪随机序列,并向列标确定单元提供该伪随机序列;密钥提供单元用于向列标确定单元提供密钥,密钥可由多个八位整型数据构成,密钥提供单元可为存储单元,即预先设定密钥,由该存储单元进行存储,密钥提供单元也可为需要进行相应处理的处理单元,即密钥提供单元提供密钥之前进一步用于根据设定密钥算法生成密钥;列标确定单元用于根据收到的伪随机序列与收到的密钥生成列标,例如,将收到的伪随机序列与密钥进行逻辑运算、如异或操作、与操作、或操作、同或操作等,将得到的数值作为列标。
图3C为本发明实施例中列标生成单元的第三种结构示意图,如图3C所示,列标生成单元包括:伪随机序列生成单元、控制值提供单元、随机列标生成单元、密钥提供单元、密钥参数确定单元和列标确定单元,其中,伪随机序列生成单元用于生成伪随机序列,并向随机列标生成单元提供该伪随机序列;控制值提供单元用于向随机列标生成单元和密钥参数确定单元提供控制值,控制值提供单元可为存储单元,即预先设定控制值,由该存储单元进行存储,控制值提供单元也可为需要进行相应处理的处理单元,即控制值提供单元提供控制值之前进一步用于根据设定算法生成控制值;随机列标生成单元用于根据收到的伪随机序列和收到的控制值生成随机列标,并向列标确定单元提供该随机列标,例如,将收到的伪随机序列与收到的控制值进行逻辑运算,如异或操作、与操作、或操作、同或操作等,将得到的数值作为随机列标;密钥提供单元用于向密钥参数确定单元提供密钥,密钥可由多个八位整型数据构成,密钥提供单元可为存储单元,即预先设定密钥,由该存储单元进行存储,密钥提供单元也可为需要进行相应处理的处理单元,即密钥提供单元提供密钥之前进一步用于根据设定密钥算法生成密钥;密钥参数确定单元用于根据收到的控制值和收到的密钥确定密钥参数,并向列标确定单元提供该密钥参数,例如,根据控制值选取密钥中的一个整数型数据,如密钥参数确定单元收到的控制值为7,则在密钥中选择从低至高位于第7位的数值作为密钥参数提供给列标确定单元;列标确定单元用于根据收到的随机列标和密钥参数确定列标,例如,将收到的随机列标与收到的密钥参数进行逻辑运算,如异或操作、与操作、或操作、同或操作等,将得到的数值作为列标。
以上所述伪随机序列生成单元可为移位寄存器,具体实现参见图4,根据同步信号初始化15位移位寄存器,将移位寄存器的最高两位寄存器值进行逻辑运算,如异或操作、与操作、或操作、同或操作等,然后将逻辑运算结果作为伪随机序列(Pseudo Random Binary Sequence,PRBS)移位寄存器的低位输入值,并将该逻辑运算结果左移进移位寄存器的最低位,移位寄存器每移位一次,输出一个伪随机序列输出值,最后得到相应位数的伪随机序列,如8位伪随机序列,其取值范围为0至255。所述同步信号可为加密端生成的,为了保证加密端和解密端能够生成相同的伪随机序列,加密端需要向解密端提供该同步信号,解密端根据收到的同步信号初始化15位移位寄存器。加密端可将同步信号叠加在加密的图像数据上传输给解密端,也可通过单独发送给解密端。
以上对伪随机序列生成过程的描述中,仅是以15位移位寄存器为例,实际应用中,可选取任意其他位数的移位寄存器,如9位移位寄存器、11位移位寄存器、14位移位寄存器;仅是以移位寄存器的最高两位进行逻辑运算为例,实际应用中,可使用移位寄存器的任意两位或多位进行逻辑运算。
每生成一个列标就需要一个伪随机序列。移位寄存器初始化后,执行一定次数的移位操作后,会将伪随机序列移位寄存器填满,此时,伪随机序列移位寄存器输出一个伪随机序列;后续生成列标的处理过程中,继续对伪随机序列移位寄存器进行移位操作,此时,输出伪随机序列时,既可以重新执行对应于伪随机序列移位寄存器位数次的移位操作,然后输出伪随机序列,也可利用原有伪随机序列移位寄存器的寄存器值输出伪随机序列。例如,对于8位的伪随机序列移位寄存器,移位寄存器初始化后,执行8次移位操作后,伪随机序列移位寄存器输出一个伪随机序列;后续生成列标的处理过程中,可重新执行8次移位操作,伪随机序列移位寄存器输出一个伪随机序列;也可只执行1次移位操作,将伪随机序列移位寄存器的各寄存器值输出作为一个伪随机序列,该伪随机序列的高7位为进行移位操作前伪随机序列移位寄存器的低7位,最低1位为本次执行移位操作左移进伪随机序列寄存器的值。
本发明中提供的方法中,在图像的信源端、即加密端,根据密钥生成列标,根据该列标对待传输的图像数据进行分段,然后根据设定的传输顺序依次发送各段图像数据,该密钥可预先设定,也可根据设定密钥算法生成。加密端根据密钥生成列标的处理方式有很多种,可根据密钥和确定的控制值生成列标,例如,根据控制值选取密钥中的一个整数型数据,如密钥参数确定单元收到的控制值为2,则在密钥中选择从低至高位于第2位的数值作为密钥参数提供给列标确定单元;也可根据密钥和生成的伪随机序列生成列标,例如,将收到的伪随机序列与密钥进行逻辑运算,如异或操作、与操作、或操作、同或操作等,将得到的数值作为列标;还可根据确定的控制值和生成的伪随机序列生成列标,下面对该实现过程进行详细描述。
图5为本发明实施例中实现图像加密的流程图,如图5所示,实现图像加密的处理过程包括以下步骤:
步骤501:确定密钥,密钥可由多个八位整型数据构成,该密钥可预先设定,也可根据设定密钥算法生成。
步骤502:确定控制值,该控制值可预先设定,也可根据设定算法生成控制值。
步骤503:生成伪随机序列。例如,根据同步信号初始化15位移位寄存器,将移位寄存器的最高两位寄存器值进行异或操作,然后将异或操作结果作为伪随机序列移位寄存器的低位输入值,并将该异或操作结果左移进移位寄存器的最低位,移位寄存器每移位一次,输出一个伪随机序列输出值,最后得到相应位数的伪随机序列。所述同步信号可为加密端生成的,为了保证加密端和解密端能够生成相同的伪随机序列,加密端需要向解密端提供该同步信号,解密端根据收到的同步信号初始化15位移位寄存器。加密端可将同步信号叠加在加密的图像数据上传输给解密端,也可通过单独发送给解密端。
每生成一个列标就需要一个伪随机序列。移位寄存器初始化后,执行一定次数的移位操作后,会将伪随机序列移位寄存器填满,此时,伪随机序列移位寄存器输出一个伪随机序列;后续生成列标的处理过程中,继续对伪随机序列移位寄存器进行移位操作,此时,输出伪随机序列时,既可以重新执行对应于伪随机序列移位寄存器位数次的移位操作,然后输出伪随机序列,也可利用原有伪随机序列移位寄存器的寄存器值输出伪随机序列。例如,对于8位的伪随机序列移位寄存器,移位寄存器初始化后,执行8次移位操作后,伪随机序列移位寄存器输出一个伪随机序列;后续生成列标的处理过程中,可重新执行8次移位操作,伪随机序列移位寄存器输出一个伪随机序列;也可只执行1次移位操作,将伪随机序列移位寄存器的各寄存器值输出作为一个伪随机序列,该伪随机序列的高7位为进行移位操作前伪随机序列移位寄存器的低7位,最低1位为本次执行移位操作左移进伪随机序列寄存器的值。
步骤501、步骤502和步骤503在执行上没有明显的时间顺序,可同时执行,也可先后执行,但不对执行的先后顺序进行严格要求。
步骤504:根据密钥和控制值生成密钥参数,如控制值为7,在密钥中选择从低至高位于第7位的数值作为密钥参数。
步骤505:根据控制值和伪随机序列生成随机列标,如将伪随机序列与控制值进行逻辑运算,如异或操作、与操作、或操作、同或操作等,将得到的数值作为随机列标。步骤504和步骤505在执行上没有明显的时间顺序,可同时执行,也可先后执行,但不对执行的先后顺序进行严格要求。
步骤506:根据随机列标和密钥参数确定列标,如将收到的随机列标与密钥参数进行逻辑运算,如异或操作、与操作、或操作、同或操作等,将得到的数值作为列标。
步骤507:根据列标对图像数据进行分段,得到多个图像数据段。进行分段的图像数据的单位可为电视信号中的场图的一行或多行,也可为图像的帧图的一行或多行。
步骤508:根据设定的传输顺序依次发送各图像数据段,通过设定的传输顺序打乱各图像数据段原本的排列顺序。
以上所述的密钥、控制值、设定的传输顺序在图像数据的传输过程可实时改变,只要保证加密端与解密端一致即可。
图6为本发明实施例中实现图像解密的装置的结构示意图,如图6所示,实现图像解密的装置包括:列标生成单元、分段确定单元和顺序还原单元,其中,列标生成单元用于根据密钥生成列标,并向分段确定单元提供该列标,密钥可由多个八位整型数据构成,该密钥可预先设定,也可根据设定密钥算法生成;分段确定单元用于根据收到的列标确定图像数据的分段方式,即确定各图像数据段的分段点,并向顺序还原单元提供相应分段点;顺序还原单元用于根据收到的分段点和设定的传输顺序还原收到的各图像数据段的排列顺序。预先设定分段数量,列标生成单元根据设定的分段数量生成相应数量的列标。
解密端的列标生成单元与加密端的列标生成单元的具体实现相同,详细描述可参见前面图3A、图3B、图3C和图4的描述,在此不再赘述。
该实现图像解密的装置还包括用于在所述图像数据为电视图像数据时,针对还原出的电视图像数据的u分量和v分量在分离时由于滤波运算所产生的高频信息,利用垂直低通滤波来进行消除的修复单元(图中未示出)。
伪随机序列生成单元为移位寄存器时,根据收到的同步信号初始化15位移位寄存器,将移位寄存器的最高两位寄存器值进行逻辑运算,如异或操作、与操作、或操作、同或操作等,该逻辑运算与加密端采用的逻辑运算相同,然后将逻辑运算结果作为PRBS移位寄存器的低位输入值,并将该逻辑运算结果左移进移位寄存器的最低位,移位寄存器每移位一次,输出一个伪随机序列输出值,最后得到相应位数的伪随机序列,如8位伪随机序列,其取值范围为0至255。所述同步信号来自加密端。
本发明中提供的方法中,在图像的信宿端、即解密端,根据密钥生成列标,根据该列标确定收到的图像数据的分段方式,即各图像数据段的分段点,然后根据设定的传输顺序还原各图像数据段的排列顺序,获取图像,该密钥可预先设定,也可根据设定密钥算法生成。解密端根据密钥生成列标的处理方式有很多种,可根据确定的控制值和密钥生成列标,例如,根据控制值选取密钥中的一个整数型数据,如密钥参数确定单元收到的控制值为6,则在密钥中选择从低至高位于第6位的数值作为密钥参数提供给列标确定单元;也可根据生成的伪随机序列和密钥生成列标,例如,将收到的伪随机序列与密钥进行逻辑运算,如异或操作、与操作、或操作、同或操作等,将得到的数值作为列标;还可根据确定的控制值和生成的伪随机序列生成列标,下面对该实现过程进行详细描述。
图7为本发明实施例中实现图像解密的流程图,如图7所示,实现图像解密的处理过程包括以下步骤:
步骤701~步骤702与步骤501~步骤502相同。
步骤703:生成伪随机序列。例如,根据收到的同步信号初始化15位移位寄存器,将移位寄存器的最高两位寄存器值进行异或操作,然后将异或操作结果作为伪随机序列移位寄存器的低位输入值,并将该异或操作结果左移进移位寄存器的最低位,移位寄存器每移位一次,输出一个伪随机序列输出值,最后得到相应位数的伪随机序列。所述同步信号来自加密端。
步骤704~步骤706与步骤504~步骤506相同。
步骤707:根据列标确定收到的图像数据的分段方式,即确定收到的各图像数据段的分段点。
步骤708:根据分段点和设定的传输顺序还原各图像数据段的排列顺序,具体可为:根据相邻分段点之间的长度确定出各图像数据段,然后根据设定的传输顺序确定所述各图像数据段的排列顺序。
步骤709:获取图像数据。
如果图像数据为电视信号,电视信号的解码过程中u、v分量进行分离时,行与行之间存在滤波运算,这样,解密后的图像在一些位置会出现高频信息,表现为一些彩条的出现,此时,需要对u,v分量进行适当的修复,可通过对电视图像进行垂直低通滤波来消除这些高频信息。
通过采用相应的处理方式,解密端必然能够生成与加密端相同的密钥、控制值和伪随机序列,例如,生成伪随机序列的过程中,只要保证加密端和解密端初始化移位寄存器的过程相同、进行相同的逻辑运算的寄存器位选取得相同,就能够生成相同的伪随机序列。如果密钥和/或控制值是预先设定的,则只需加密端与解密端双方约定好即可。
这样,本发明对图像数据的加密是通过对图像数据进行分段、并打乱各图像数据段的发送顺序来实现的,这种加密算法简单易行,大大降低了现有图像加密算法的复杂度,并且降低了后续解密过程的复杂度。加密端通过设定的传输顺序使得发送各图像数据段时的排列顺序与各图像数据段原本的排列顺序不一致,使得解密端收到的各图像数据段的顺序已打乱了原本的排列顺序,从而实现对图像的加密。对于解密端而言,如果没有正确的密钥或密钥和相关参数、以及设定的传输顺序,将无法对收到的各图像数据段进行正确排序,也就无法得到最终的图像。
图8为本发明实施例中实现图像加密和解密的系统的结构示意图,如图8所示,该系统包括加密端和解密端,其中,加密端用于根据密钥生成列标,根据该列标对图像数据进行分段,并根据设定的传输顺序打乱分段得到的各图像数据段的排列顺序,以及按照打乱后的排列顺序依次发送各图像数据段;解密端用于根据密钥生成列标,根据该列标确定收到的图像数据的分段方式,即确定收到的各图像数据段的分段点,并根据分段点和设定的传输顺序还原收到的各图像数据段的排列顺序。其中,加密端包括列标生成单元、分段单元和倒序单元,其中,列标生成单元用于根据密钥生成列标,并向分段单元提供该列标,密钥可由多个八位整型数据构成,该密钥可预先设定,也可根据设定密钥算法生成;分段单元用于根据收到的列标对图像数据进行分段,并向倒序单元提供各图像数据段;倒序单元用于接收各图像数据段,并根据设定的传输顺序依次发送各图像数据段。解密端包括列标生成单元、分段确定单元和顺序还原单元,其中,列标生成单元用于根据密钥生成列标,并向分段确定单元提供该列标,密钥可由多个八位整型数据构成,该密钥可预先设定,也可根据设定密钥算法生成;分段确定单元用于根据收到的列标确定图像数据的分段方式,即确定各图像数据段的分段点,并向顺序还原单元提供相应分段点;顺序还原单元用于根据收到的分段点和设定的传输顺序还原收到的各图像数据段的排列顺序。加密端或解密端的列标生成单元的具体实现可参见相应部分的描述,在此不再赘述。
该解密端还包括用于在所述图像数据为电视图像数据时,针对还原出的电视图像数据的u分量和v分量在分离时由于滤波运算所产生的高频信息,利用垂直低通滤波来进行消除的修复单元(图中未示出)。
传统电视信号的传输是一种模拟信号的传输,电视信号也是一种视频数据,以下以电视信号为例,对本发明的提供的加密、解密方案进行示例描述。加密端与解密端确定相同的密钥,如预先设置密钥为6个八位整型数据,并确定相同的控制值,如控制值为5,则选取密钥中从低至高位于第5个的八位整型数据,加密端和解密端生成相同的伪随机序列,如加密端和解密端的移位寄存器根据加密端的同步信号生成相同的伪随机序列;另外,加密端和解密端还需设定每行电视信号的视频数据的分段数量,如4段,并设定相同的传输顺序,如设定的传输顺序是视频数据段3、1、4、2。每行电视信号的视频数据量为720,伪随机序列可为10位。加密端根据密钥、控制值和伪随机序列依次生成3个列标,此处得到的列标是对图像信号的每一行进行分段的依据,因此,最终生成的列标应当小于被加密图像的一行图像数据的总量,如果前述步骤内生成的列标不小于一行图像数据的总量,则可采用本领域内公知的一些技术进行相应处理使列标的范围控制在一行图像数据的总量内,例如,通过伪随机序列的位数控制列标的取值范围,或将超出数据总量的数值直接丢弃,或对超出数据总量的数值进行除法,并可进一步进行取整,以将列标的取值控制在数据总量的范围内,等等,在本实施例中各列标分别为400、150、572。这样,根据列标得到的各段视频数据为:第一段视频数据1至150,长度为150;第二段视频数据为151至400,长度为250;第三段视频数据为401至572,长度为172;第四段视频数据为573至720,长度为148。根据设定的传输顺序,加密端依次传输第三段视频数据、第一段视频数据、第四段视频数据和第二段视频数据。解密端根据密钥、控制值和伪随机序列依次生成的3个列标与加密端相同,分别为400、150、572。解密端收到一行视频数据后,根据3个列标及设定的传输顺序视频数据段3、1、4、2,在收到的一行视频数据中,首先将位于起始长度172的视频数据段作为第三段视频数据,其次将接下来将长度为150的视频数据段作为第一段视频数据,再次将接下来将长度为148的视频数据段作为第四段视频数据,最后将剩余的长度250的视频数据段作为第二段视频数据,以将各数据段的排列顺序还原,获取视频数据。根据以上描述可见,加密端和解密端只需缓存一行视频数据,无需同现有方法一样对场图像进行缓存,降低了存储成本。
以上描述的都是对一行图像数据进行分段,对多行图像数据进行分段时,则按照以上描述的方案分别生成行标和列标,即列标生成单元进一步用于生成行标,然后根据行标和列标对像素数据进行分段。此时,加密端和解密端只需缓存相应行数的图像数据,同样能够降低存储成本。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。