【技术实现步骤摘要】
一种基于余弦数变换的图像加密硬件加速器
[0001]本专利技术属于集成电路的图像加密
,具体而言,是一种基于余弦数变换的图像加密硬件加速器。
技术介绍
[0002]在商业、医学、军事甚至个人生活等领域,数字图像代表了一种包含秘密信息的多媒体技术。而在使用公共或共享数字网络进行数据存储和处理时,数字图像容易受到具有破坏性的攻击,如重播或基于人的攻击、暴力和统计攻击。同时,随着5G时代的到来,人均数据产生量和处理需求量在云端激增,对数字图像处理的速度要求也越来越高。因此,设计一种高效的密码系统来保护存储和移动中的秘密图像是一个挑战。
[0003]目前大多数图像加密方案都是在软件上运行的,而在计算机上,软件攻击非常复杂且难以检测。相反,硬件的电路灵活度大,处理能力强,安全性也较为突出。硬件实现通过运行算法也可以提供更高的性能和安全性。因此,使用硬件实现是实现强大密码系统的最佳解决方案。
[0004]虽然目前已有一些基于硬件实现的图像加密方案,但仍然存在着局限性:
[0005]2019年,Ravi等人提出了一种混合算法的图像加密方案,它提供了很好的安全性但是它的处理时间需要216ms且吞吐率为4.85Mbps。2021年,Lata等人提出了一种基于混沌理论的图像加密算法并在FPGA上进行实现,设计的图像加密硬件有很强的鲁棒性,但是它所需要的加密时间为21.14ms。2022年,Siva等人提出了一种基于分形的混沌图像加密方案并在FPGA上实现,该方案需要12.13ms加密图像且吞吐率达到86.4 ...
【技术保护点】
【技术特征摘要】
1.一种基于余弦数变换的图像加密硬件加速器,其特征在于,包括:取模模块、CNT变换模块、选择模块、转置模块;其中,所述转置模块包括第一RAM和第二RAM;所述CNT变换模块接收外部输入的尺寸为k
×
k像素的图像并进行分块处理,得到若干个尺寸为8
×
8像素的图像块,对每个图像块中的8个像素点x0~x7进行j次CNT行变换和若干次取模,从而得到取模后的j组1D
‑
CNT系数;所述取模模块将CNT变换模块中位宽为t比特的部分中间数据中每个数据分别分成低t/2位数据和高t/2位数据,并将高t/2位数据乘以负一后,与低t/2位数据相加,得到每个数据的取模结果并返回给所述CNT变换模块,若取模结果为负数,则将负数的取模结果加上模数q后作为最终的取模结果;其中,部分中间数据包括:预处理数据a0~a3,初步CNT行变换结果y0~y7,一组1D
‑
CNT系数C0~C7;所述取模结果包括:取模后的预处理数据a
′0~a3′
,取模后的初步CNT行变换结果y
′0~y
′7,取模后的一组1D
‑
CNT系数C0′
~C7′
;所述选择模块通过j
‑
1个移位寄存器同时接收到取模后的j组1D
‑
CNT系数,并根据外部接收到的第一密钥进行选择,选出取模后的一组1D
‑
CNT系数作为1D
‑
CNT图像块系数I的一行数据I0~I7,从而对每个图像块经过8次运算后,得到每个图像块对应的8
×
8像素的1D
‑
CNT图像块系数I;所述转置模块接收1D
‑
CNT图像块系数I后使用所述第一RAM按行写列读的方式将1D
‑
CNT图像块系数I转换成1D
‑
CNT图像块转置系数I
T
,并在所述第一RAM按列读数据时将下一个图像块的1D
‑
CNT图像块系数按行写入所述第二RAM,在所述第二RAM按列读数据时将下一个图像块的1D
‑
CNT图像块系数按行写入所述第一RAM,从而实现所述第一RAM和所述第二RAM的交替读写,直至完成对所有图像块的1D
‑
CNT图像块系数的转置;所述CNT变换模块接收8
×
8像素的1D
‑
CNT图像块转置系数I
T
,并对I
T
的一行数据i0~i7进行j次的CNT列变换和若干次取模,从而得到取模后的j组2D
‑
CNT系数;所述取模模块对CNT变换模块中部分中间数据进行取模后并返回给所述CNT变换模块;所述选择模块通过j
‑
1个移位寄存器同时接收到取模后的j组2D
‑
CNT系数,并根据外部接收到的第二密钥进行选择,选出取模后的一组2D
‑
CNT系数作为2D
‑
CNT图像块系数M的一行数据M0~M7,从而对I
T
经过8次运算后,得到8
×
8像素的2D
‑
CNT图像块系数M,以实现对k
×
k像素的图像的加密。2.一种基于余弦数变换的图像加密硬件加速方法,其特征在于,是应用于由取模模块、CNT变换模块、选择模块、转置模块组成的加速器中,其中,所述CNT变换模块包括一个混合加减运算模块、偶系数生成模块和奇系数生成模块模块,所述转置模块包括深度为8
×
8的第一RAM和第二RAM;所述图像加密硬件加速方法是按如下步骤进行:步骤1、所述CNT变换模块获取尺寸为k
×
k像素的图像并进行分块处理,得到若干个尺寸为8
×
8像素的图像块,将其中任意一个图像块记为A;步骤2、所述CNT变换模块将图像块A中的8个像素点x0~x7发送到自身的混合加减运算模块中,由所述混合加减运算模块根据外部使能信号en对x0~x7分别执行加法或减法操作,得到预处理数据a0~a3;若en为高电平,则对x0~x7进行加法运算;若en为低电平,则对x0~x7进行减法运算;步骤3、所述取模模块将每个位宽都为t的预处理数据a0~a3分别分成低t/2位数据和高
t/2位数据,将高t/2位数据乘负一后,与低t/2位数据相加,得到每个数据的取模结果a
′0~a3′
,若取模结果为负数,则将负数的取模结果加上模数q后作为最终的取模结果;步骤4、若en为高电平,则将预处理数据的取模结果a
′0~a3′
输送到所述偶系数生成模块中,由所述偶系数生成模块中的第一加法器对a
′0~a3′
进行加法操作,输出两个系数b0,b1,同时,所述偶系数生成模块中的四个移位加减法模块SAU1,SAU2,SAU3,SAU4分别对a
′0~a3′
进行移位和加减法操作,得到每个移位加减法模块输出的两个系数;步骤5、若en为低电平,则将a
′0~a3′
输送到所述奇系数生成模块中,四个移位加减法模块SAU5,SAU6,SAU7,SAU8分...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。