Loading [MathJax]/jax/output/HTML-CSS/jax.js
高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于自适应波段聚类主成分分析和反向传播神经网络的高光谱图像压缩

陈善学 张燕琪

陈善学, 张燕琪. 基于自适应波段聚类主成分分析和反向传播神经网络的高光谱图像压缩[J]. 电子与信息学报, 2018, 40(10): 2478-2483. doi: 10.11999/JEIT180055
引用本文: 陈善学, 张燕琪. 基于自适应波段聚类主成分分析和反向传播神经网络的高光谱图像压缩[J]. 电子与信息学报, 2018, 40(10): 2478-2483. doi: 10.11999/JEIT180055
YANG Binbin, YAN Shefeng, ZHANG Shaochen, YE Zihao. Hybrid Bi-directional Turbo Equalization for Underwater Acoustic Communications Based on Kalman Filter[J]. Journal of Electronics & Information Technology, 2022, 44(6): 1879-1886. doi: 10.11999/JEIT211343
Citation: Shanxue CHEN, Yanqi ZHANG. Hyperspectral Image Compression Based on Adaptive Band Clustering Principal Component Analysis and Back Propagation Neural Network[J]. Journal of Electronics & Information Technology, 2018, 40(10): 2478-2483. doi: 10.11999/JEIT180055

基于自适应波段聚类主成分分析和反向传播神经网络的高光谱图像压缩

doi: 10.11999/JEIT180055
基金项目: 国家自然科学基金(61271260),重庆市教委科学技术研究项目(KJ1400416)
详细信息
    作者简介:

    陈善学:男,1966年生,教授,研究方向为图像处理、数据压缩

    张燕琪:女,1992年生,硕士生,研究方向为高光谱图像压缩

    通讯作者:

    张燕琪  752910311@qq.com

  • 中图分类号: TP751.1

Hyperspectral Image Compression Based on Adaptive Band Clustering Principal Component Analysis and Back Propagation Neural Network

Funds: The National Natural Science Foundation of China (61271260), The Science and Technology Research Item of Chongqing Education Commission (KJ1400416)
  • 摘要: 高光谱遥感图像具有丰富的光谱信息,数据量大。为了能够有效地利用高光谱图像数据,促进高光谱遥感技术的发展,该文提出一种基于自适应波段聚类主成分分析(PCA)与反向传播(BP)神经网络相结合的高光谱图像压缩算法。算法利用近邻传播(AP)聚类算法对波段进行自适应聚类,对聚类后的各个分组分别进行PCA运算,最后利用BP神经网络对所有主成分进行编码压缩。该文的创新点在于BP神经网络压缩图像时,在训练步骤过程中,误差反向传播是用原图与输出作差值,再反向调整各层的权值、阈值。对高光谱图像进行波段聚类,不仅能够有效地利用谱间相关性,提高压缩性能,还可以降低PCA的运算量。实验结果表明,该文算法与其它现有算法比较,在相同压缩比下,其光谱角更小,信噪比更高。
  • 在公钥密码体制中,由Koblitz和Miller提出的椭圆曲线密码(Elliptic Curve Cryptography, ECC)在安全性、处理速度、硬件实现代价等方面的优势,使其逐渐取代RSA密码算法成为下一代公钥密码标准,具有广泛的应用前景。同时,随着密码应用的不断发展,密码算法在各种硬件平台上具备不同的实现形式,密码算法运算时旁路信息电气特征往往会泄露密码运算中的秘密信息[1],因此对于ECC芯片而言,除了传统密码分析安全性外,侧信道安全性同样至关重要。侧信道攻击一般分为时间攻击、能量攻击和电磁攻击等,其中能量攻击中的相关功耗分析(Correlation Power Analysis, CPA)通过中间数据与功耗之间的相关性差异来获取密钥信息,具有攻击成本小、成功率高的特点,是硬件电路安全防护的重点研究对象。

    目前针对硬件电路的安全防护可分为电路级、行为级和系统级。电路级的防护策略包括安全倍速寄存器(Secure Double Rate Registers, SDRRs)[2]、感应调压器(Inductive Voltage Regulators, IVRs)[3]、低压降稳压器(Low-DropOut Regulator, LDO)[4]等,由于其涉及到元器件级或门级改进,对于ECC这类复杂电路来说难度高,同时其防护代价较大,如SDRR提供了功耗的随机化,但它的功耗和面积开销成倍增加,频率降低1倍。ECC电路的行为级防护策略发展较为成熟,在文献[5]中,Coron提出了椭圆曲线密码防御侧信道攻击的3个策略:随机化基点、随机化私钥、随机化射影坐标,此后大量研究人员在高速或小面积的ECC电路上进行了应用[6-8],带来了额外的计算时间和较大的硬件资源开销,并会在电路中引入额外的随机源,成本较高。此外,可重构体系结构的调度也用于抗侧信道分析[9,10],这些方法在芯片级的防护中有较好的效果,但其电路设计复杂、对灵活性要求高,存在吞吐量损失或较大的面积开销。而一般的功耗隐藏通过随机产生冗余功耗或平滑各时间点功耗进行,这样的策略存在着引入额外随机源或功耗代价过大的问题。

    针对上述分析,本文通过深入研究ECC点乘的中间数据汉明距离的数据特点,提取出其概率分布特征;然后,将降低功耗中的密钥信息量问题转换成为减少猜测正确与错误密钥对应的中间数据汉明距离概率分布差异性问题,以概率分布函数差异为对象构建了等概率映射的功耗补偿模型,并通过模拟退火算法求得模型的最优矩阵解;最终,以该模型为指导,结合模运算基本电路结构,采用离线的方式进行配置矩阵计算,大大减少了硬件资源开销,完成了低成本的防护硬件电路设计。ECC运算复杂,不同ECC算法下的硬件设计方案不尽相同[6-8,11],本文提出的功耗补偿策略依赖于统计提取的中间数据特征,可变化的模型参数与可替换的动态补偿电路设计支持不同硬件结构ECC电路。

    本文结构安排如下:第2节对ECC运算及其泄露模型进行了分析;第3节基于中间数据的概率分布特征提出了等概率映射的功耗补偿模型与基于模拟退火的映射矩阵求解算法;在该模型的基础之上,第4节介绍了功耗补偿的硬件电路设计方案;第5节进行了实验验证及分析,第6节总结了全文工作。

    椭圆曲线密码运算包含多个层次,分别为群运算层、曲线层和有限域层。群运算层主要包括点乘(Point Multiplication, PM),是ECC中私钥参与计算的核心运算,通过其运算产生的功耗可以直接或间接推测出密钥信息;曲线层主要是点加(Point Add, PA)和倍点(Point Double, PD)运算,在不同坐标系下以不同的算法通过调用底层的模运算来实现;模运算(Modular Arithmetic, MA)位于有限域层,包括模加、模减、模乘、模逆等基本操作。

    ECC点乘运算相对复杂,硬件电路实现中需要分级调用各层次的运算,计算过程中的各级数据变化如图1所示,点乘(PM)多次调用点加与倍点(PA&PD)运算,点加与倍点运算多次调用模运算(MA),模运算需要多个时钟周期(Clock Period, CP)实现,在每一种运算的计算过程中,硬件电路中的寄存器数据在不断翻转变化。每一比特私钥ka,kb,,kz在相应迭代轮的曲线层运算决定运算操作,因此在ECC硬件电路中存在中间数据与私钥的操作相关性与数据相关性。目前,存在着多种防护策略可较好地消除操作相关性,有效防止简单功耗分析,如Double-and-Always点乘算法、点加与倍点并行等,在此安全防护框架之下,本文针对数据相关性进行研究。基点P 作为输入,在每比特密钥的控制下进行不同的曲线层运算,最终得到点乘结果[k]P。每一次迭代输出的数据与密钥相关,这些与密钥相关的数据会在下一次迭代中进入曲线层、有限域层运算,在点乘运算每一个时钟周期的中间数据寄存器翻转都存在着不同程度的功耗泄露。

    图 1  椭圆曲线密码各层次运算

    依据汉明距离模型,功耗PowerHW(statestate), state和state为寄存器翻转的前后两个状态,则数据分析的对象应为模运算中的每个时钟周期寄存器的翻转情况,以及曲线层和群运算层的中间数据。对于模运算而言,首先,由于模加减运算相比于模乘除运算硬件电路规模小,电路中的功耗主要取决于模乘除;其次,模乘除运算的实现算法较多,主要包括基于加法器和基于乘法器的硬件实现方式,不同算法的中间数据特征不同;再者,有限域运算相对复杂,进行汉明距离与统计学计算的公式推导难度大。因此,采用统计方法,通过大量随机数据的计算,得到模乘、模逆计算数据的概率分布,对于不同参数、不同硬件结构的ECC电路,概率分布的特征不同。下面以基于加法器结构的模乘电路为例,进行数据的统计学特征分析,模乘算法如表1所示。

    表 1  Radix-4交错模乘算法
     输入:A, B, P, 位宽m
     输出:V=AB\boldsymbolodP
     (1) V=b0A, U=2A\boldsymbolodP, A=4A\boldsymbolodP, B=B/2
     (2) For i from 0 to m/21
     V=(V+b0U+b1A)\boldsymbolodP, U=2A\boldsymbolodP,
     A=4A\boldsymbolodP, B=B/4
     (3) Return V
    下载: 导出CSV 
    | 显示表格

    模乘电路主要由2AmodP, 4AmodP, V+b0U+b1A\boldsymbolodP 3个部分构成,m位的模乘由m/2次迭代实现。取10000个随机变化的32 bit数据组A, B,对32位模乘运算的16轮迭代中间值汉明距离进行概率统计,图2(a)绘制出了任意5轮的离散概率分布,图中相同颜色的曲线代表由正态分布拟合的概率分布曲线,可以看出汉明距离基本满足正态分布的特性。取50个随机的模数P,重复上述统计,得到的16轮迭代中间值汉明距离的实际离散概率分布与近似正态分布的平均平方误差如图2(b)所示,误差小于6×106,可由正态分布近似描述其统计学特性。

    图 2  正态分布对模运算的中间值汉明距离拟合程度

    基于上述分析与统计样本,计算50组模数P下的16轮迭代中间值汉明距离的均值与标准差,前6轮迭代的均值与标准差如图3(a)所示,图中横坐标表示随机模数P的序号,曲线的颜色由深至浅表示迭代次数的增多,可以看出不同模数P下的汉明距离统计特征不同,但随着迭代次数的增多,均值与标准差均趋于一致。计算50组P下的1~15轮迭代的实际概率分布与后一轮迭代的平方误差的均值,如图3(b)所示,在第4次迭代后,相邻两轮迭代之间的误差小于10–6。因此,通过4个概率分布即可较好地描述一个模运算内的所有中间数据概率分布特征。

    图 3  不同有限域P下的中间数据汉明距离的均值与标准

    对于不同硬件结构的ECC实现,其功耗泄露模型的差异性体现在模运算的实现方式。设计者依据自身设计中寄存器的翻转特征,通过统计的方式得到中间数据汉明距离的概率分布。一般来说,模乘算法可分为基于加法器实现和基于乘法器实现,前者即为上文所描述的情况,后者相比前者其迭代次数大大减少,可由全部迭代中间数据汉明距离的概率分布直接描述其统计特征。模除算法包括基于费马小定理或对求最大公约数算法的扩展。前者通过大量乘法运算迭代实现,硬件代价与运算时间长,一般不使用;后者通过加减法与移位实现,经统计分析,其中间数据统计特征与上文基于加法器的模乘算法相似,可通过同样的方式简化。

    在一般的攻击与防护场景中,某一时刻的能量消耗由可利用的能量消耗Iexp、转换噪声Isw.noise和电子噪声Iel.noise 3个随机变量组成,三者相互独立[12],如式(1)所示。对于攻击者而言,当密钥猜测错误时密钥仍未知,能量迹中包含与密钥相关的信息量,即Iwrong=Iexp+Isw.noise+Iel.noise;当密钥猜测正确时密钥已知,能量迹中不再包含与密钥相关的信息量,即Iright=Isw.noise+Iel.noise。从统计学的角度,密钥猜测正确与错误时的功耗概率分布存在差异性,主要体现在Iexp分量上,在上述2.2节中,ECC点乘在不同私钥下的中间数据汉明距离的概率分布很好地体现了这种差异性。功耗攻击与防护中,信噪比(Signal to Noise Ratio, SNR)用来描述功耗这一侧信道信息中包含的信息量,如式(2)所示。其中,Var(X)表示随机变量X的方差,IrightIwrong的方差差值ΔVar与SNR成正比,即可通过消除IrightIwrong的概率分布差异性降低信噪比,减少信息泄露

    Itotal=Iexp+Isw.noise+Iel.noise (1)
    SNR=Var(Iexp)Var(Isw.noise+Iel.noise)=Var(Iexp+Isw.noise+Iel.noise)Var(Isw.noise+Iel.noise)Var(Isw.noise+Iel.noise)=Var(Iwrong)Var(Iright)Var(Isw.noise+Iel.noise)=ΔVarVar(Isw.noise+Iel.noise) (2)

    基于功耗隐藏的思想,产生额外实时功耗来改变IrightIwrong的统计学特征[13,14]。基于汉明距离模型,将功耗抽象为中间数据的汉明距离(Hamming Distance, HD),电路实际汉明距离与防护后的汉明距离之间满足某种一一对应关系,使得ΔVar尽可能小,将该对应关系描述为列向量形式m=(m1,m2,···,mn)T,其中n为汉明距离可能的取值个数,mi表示当实际汉明距离为i时防护后的汉明距离为mi, mi{x|1xn,xZ},未进行防护时m=(1,2,···,n)T。用统计学中的平方差作为描述密钥猜测正确与错误的概率分布差异性的代价函数,则防护后的代价函数如式(3)所示。其中,fwrongfright分别表示密钥猜测错误与正确时的离散概率分布函数,fwsubr为二者的差值,即fwrongfright, f(m)=(f(m1),f(m2),···,f(mn))T为一个列向量。由2.2节可知,模乘除运算的每一次迭代的中间数据可由num次迭代过程中的中间数据汉明距离的概率分布函数对代表模乘除数据的全部fwsubr。点加与倍点运算一般通过调用8~30次模乘除实现,假设电路实现点加与倍点需要mmd个模乘除,则一共需要nummmdfwsubr来描述一次点乘迭代中所有时钟周期上的数据汉明距离统计差异性。

    点乘迭代过程中,每一次迭代在相应的1 bit密钥的控制下进行,该轮迭代的中间数据与当前比特密钥以及在这之前参与计算的所有比特密钥相关。对于分组密码而言,攻击者通常不会采取比特攻击方式分析密钥,因为当攻击对象为某一位时,其他的所有密钥皆为转换噪声,此时的信噪比较低,攻击效果不理想;同时,攻击者也不会选择过多的位数进行攻击,因为采集的样本数随一次攻击的位数成指数上升,将导致样本量过大。但对于ECC而言,不存在比特攻击转换噪声大的问题,因为密钥逐比特参与运算,若逐比特攻击,在已知参与计算的所有比特的情况下攻击当前比特,能量迹对应的该轮迭代的功耗段将只于该比特密钥有关,其他密钥要么为已知,要么还未参与计算,不产生由密钥带来的转换噪声,且此时攻击者每次攻击1 bit密钥仅需猜测密钥为1或0两种情况,样本量大大降低。因此,针对ECC的攻击通常采用比特攻击的方式,在进行防护时对于任意一轮点乘迭代,在之前参与计算的所有比特密钥已知的情况下,分析当前比特密钥。

    假设防护针对比特攻击,用于描述计算过程中的概率分布差异性的fwsubr函数个数为n,一般n=162~576,将导致代价函数累加项过多,使得统计的工作量以及代价函数寻优的复杂度增加。假设只对第1轮迭代进行防护,则使得攻击者在第1轮迭代对应的能量迹上对第1 bit密钥的攻击失败,此时攻击者可以通过对第2轮迭代对应的能量迹得到密钥的第1,2 bit,此时攻击者需要猜测4个密钥值;以此类推,若对前i轮迭代进行防护,攻击者可以通过对第(i+1)轮迭代对应的能量迹得到密钥的前(i+1) bit,此时攻击者需要猜测2i+1个密钥值。当猜测密钥数量过大时,攻击者攻击的难度也将加大,从实践的角度来讲,当攻击成功所需的样本量过大时,可以认为攻击失败。设定当猜测密钥数大于100000时,攻击失败,则i≥16,即对前16轮迭代进行防护可以在实践上认为ECC点乘具备防护能力。与此同时,对前16轮的防护仅仅体现在代价函数的构建上,使得通过得到的矩阵映射能够有效减少前16轮数据的概率差异性,但是补偿电路产生额外功耗发生点乘的每一次迭代中,根据正态分布的特性,代价函数不包含这些迭代对应的fwsubr(m)项只是使得映射后的差异性减少程度变小,仍然具备防护能力,使得该策略为电路抗功耗攻击提供了第2层防护。因此,总体代价函数如式(4)所示,为16nummmdfwsubr(m)的均值。

    cost=fwrong(m)frignt(m)=fwsubr(m) (3)
    costSUM(m)=116nummmd16nummmdj=1fwsubr(j)(m) (4)

    此时,汉明距离的补偿关系为一一对应的,而点乘中间数据的概率分布差异性较小,该补偿方式的精度较低,为使得代价函数达到阈值,根据正态分布的特性可知最优解容易达到全补偿,即 m=(n,···,n)T,导致补偿的功耗代价过大。因此,将模型改进为概率映射,电路实际汉明距离按照一定概率映射为2h 个值,将该映射关系描述为矩阵形式如式(5),改进后的代价函数如式(6)所示,其中参数的含义如表2所示

    表 2  参数列表
    参数含义
    num模乘除运算中间数据的概率分布函数之差的个数
    fwsubr(j)j个密钥猜测错误与正确时的离散概率分布函数之差
    mmdECC硬件实现时,在能量迹上显示出的模乘和模除数量之和
    nECC硬件实现中,中间数据汉明距离的所有可能汉明距离的个数
    h衡量等概率映射时的概率参数,汉明距离以概率2h被映射为2h个值
    M为一个n行2h的概率矩阵,矩阵中的第x行元素(mx,1,mx,2,···,mx,2h)表示将实际汉明距离x分别以相等的概率2-h映射为mx,1,mx,2,···,mx,2h
    Mi矩阵的第i列向量
    下载: 导出CSV 
    | 显示表格
    M=(m11m12···m12hm21m22···m22hmn1mn2···mn2h)n×2h (5)
    costSUM(M)=116nummmd16nummmdj=1(12h2hi=1fwsubr(j)(Mi)) (6)

    寻找M矩阵使得costSUM(M)足够小,对于同一参数下的椭圆曲线,对应的fwsubr函数相同,在ECC计算不更换参数的情况之下,可使用同一M矩阵进行映射,以达到防护的效果。因此寻找M矩阵的过程可以通过离线的方式进行,这样可以减少防护带来的额外面积开销。在更换参数时,防护者统计样本得到fwsubr函数组,并通过离线计算的方式得到M矩阵,将矩阵配置到硬件电路中产生相应的补偿功耗。

    求解最优转换矩阵属于离散最优化问题中的整数非线性规划问题,属于NP问题,目前没有普适的算法[15],引入元启发式算法中的模拟退火算法来寻找全局最优解。模拟退火是一种基于概率的算法,在寻找最优解的过程之中引入随机数,但使用该算法求解最优M矩阵是离线进行的,避免了电路开销与随机源的引入,算法如表3所示。

    表 3  寻找最优M矩阵的模拟退火算法
     输入:代价函数costSUM,降温系数α,代价函数阈值threshold,矩阵维度n, h
     输出:映射矩阵M
     (1) 初始化M矩阵元素mi,j=i,温度Tmp;
     (2) 计算代价函数costold=costSUM(M)
     (3) 生成随机向量r=(r1,r2,···,rn)n,其中ri=(i1)+(ni+1)randi, randi为0~1之间的随机数;将矩阵的一列向量更新为
       Mi=r=(r1,r2,···,rn)T
     (4) 重复步骤 3,直到矩阵的h个列向量全部被替换,生成新的Mnew
     (5) 计算新的代价函数costnew,以及δ=costnewcostold
     (6) 生成一个0~1的随机数R,若δ<0,则M=Mnew, costold=costnew
     否则,若exp(δ/Tmp)>R,则M=Mnew, costold=costnew,并进行降温,令Tmp=Tmpα
     (7) 若costold>threshold,则返回步骤  3;
     (8) 令M中的元素mi,j=mi,ji,生成M矩阵并返回。
    下载: 导出CSV 
    | 显示表格

    算法产生新的M矩阵后,对比原M矩阵与代价函数值。若代价函数变小,则说明新的M矩阵使得正确与错误密钥下的概率分布差异减小,算法使原M矩阵更新;代价函数变大,说明新的M矩阵概率分布差异增大,此时按照Metropolis准则,以概率exp(δ/Tmp)更新M矩阵。最终,当代价函数小于阈值时,结束迭代得到最优的M矩阵。由于矩阵中各元素的含义为补偿后新的汉明距离,而电路需要产生的功耗值与补偿后增加的汉明距离值直接相关,因此为适合硬件设计,在最后一个步骤将M矩阵的每一个值减去其初始值,得到表征增加汉明距离关系的映射矩阵M

    在步骤(3)中,采用扰动的方式产生新的M矩阵,由于采用补偿的方式进行防护时,电路中的功耗只可以增大不能够减少,因此对于矩阵中的元素mi,j,其取值范围为in的整数,对于最后一行元素其值不可变,固定为n。在每一次产生新的矩阵时,随机产生nh个0~1的小数rand,使得mi,j=(i1)+(ni+1)rand,等概率取in的整数。

    上述基于概率的补偿映射模型在应用时代价函数中的参数h对防护的效果与代价影响显著,h越大使得每一个汉明距离对应的概率值被等分得越细,汉明距离映射的精度越大,在寻找最优M矩阵的过程中达到近似全补偿的可能性越小;同时h的增大导致实际汉明距离到补偿汉明距离的映射次数增多、防护电路的硬件电路面积增大,也使得模拟退火算法的解空间增多,算法收敛时间增大。因此,需要针对具体的应用场景合理选择。

    对于位宽为128 bit的ECC点乘,n=384,统计点乘计算的前16轮中间数据,得到相应代价函数,设定初始温度为3000。由正态分布的特点,随机变量大于(μz0.0001σ)的概率小于0.01%,相应的对于电路中间数据而言,其汉明距离大于354的概率极小,为避免不必要的功耗代价,可使得算法2中的M矩阵元素的最大值不超过354(大于354的元素在算法迭代过程中不变),将减少解空间大小,降低收敛时间。对参数h=1~5进行多次计算,其平均收敛时间与补偿后的汉明距离如图4所示。随增大收敛时间增加、补偿后的HD减少,但当h大于2后补偿后的HD减少不到1%,收敛时间却以指数形式增长。因此,在该应用场景下选择h为2。

    图 4  不同参数h下,针对ECC128的模拟退火算法收敛时间与补偿后的平均汉明距离

    依据上述动态补偿模型,需要由汉明距离映射关系产生相应的实时冗余功耗,ECC电路功耗主要来源于模运算电路。冗余功耗产生电路工作时,在每个时钟周期内,依据电路当前汉明距离以及计算得到的最优M矩阵产生定量的冗余功耗,通过输入来进行定量功耗产生的控制。ECC中的基本运算为模运算,由于其运算复杂,为减少电路规模,一般可通过寄存与复用在多周期实现,尤其对于模乘、模除运算。因此,电路在一个时钟周期内的功耗特征取决于设计者采用的算法将模运算分解为一个时钟周期内的何种基本运算。除此之外,对于可支持两种有限域的ECC电路,在二元域的计算由异或门实现,而在素数域一般为较复杂的加法器和乘法器,电路规模远大于前者,决定了功耗的主要特征。

    补偿功耗产生电路为设计者在实现模运算使用的基本运算op,一般为加法、乘法等。该运算在一个时钟周期内完成,为主要功耗产生来源,输入与汉明距离的关系如式(7),其中HW(X)表示X的汉明重量,input1为基本运算op的可变输入,input2为不变输入,如模数Pf(x)等。式(7)中对input1所有可能取值情况的集合到HD所有可能取值的集合可能既非单射或非满射,当由HD求解input1时可能不存在反函数,因此需要对op运算进行分析,进而得到汉明距离与输入的表达式。由于篇幅有限,以op为加法为例进行分析说明,其余情况不再赘述

    HD=HW(input1op(input1,input2)) (7)

    在模运算中,加法器用于计算数据加/减模数,其input1为A, input2为P,加法器第i位计算进位与结果表达式为ci=aipi+ci1(aipi), si=aipici1,其中ai,pi,ci,si依次为输入A, P,进位C和结果S的第i位。电路寄存器汉明距离则为输入与输出的异或值,对于第i位异或值xi=siai=pici1。由进位表达式可知,当pi=0时,ci=aici1;当pi=1时,ci=ai+ci1,真值表如表4所示。其中当pi,ci,ci1分别为000和111对应的ai的值任意,此时,无论ai值为何,ci的结果一定。为简化运算,令ai=0。此外,该真值表不包含pi,ci,ci1为010和101两种情况,将这两种取值表示为表达式形式如式(8)。当xi=0xi+1pi+1pi=1时,state=1,即满足上述条件时,在当前P 取值的情况下,xi不可为0。xi是输入与输出的异或值,为防护时设定的补偿汉明距离的1个比特,需要额外补偿e个汉明距离时,置xi=1,ie,置xi=0,i>e。因此为避免上述state为1,当xi=0时,使得pi=0,又由于xi=0时,xi+1也一定为0,即P=PX。基于上述分析对真值表输出ai修改为ai,得到ai的表达式如式(9)。由补偿汉明距离值到加法器输出A的转换电路(Switching Circuit, SC)如图5所示,由于c0=0, P为素数则p1=1,则x1=c0p1=1,a1=c1

    表 4  ci输出值推导出的ai真值表
    picici1aiai
    00000
    00010
    00100
    01111
    010X
    10000
    11011
    11100
    01110
    101X
    下载: 导出CSV 
    | 显示表格
    图 5  转换电路结构图
    state=ciˉci1ˉpi+ˉcici1pi=ci(xipi+ˉxiˉpi)ˉpi+ˉci(xiˉpi+ˉxipi)pi=ˉxi(cipi)=ˉxi(xi+1pi+1pi) (8)
    ai=cici1ˉpi+ciˉci1pi=ci(pici1)=cixi (9)

    补偿电路依据算法得到的M矩阵,将主电路中的每一个时钟周期模运算结果存储寄存器数据汉明距离映射新的汉明距离,并产生相应的补偿功耗,电路结构如图6(a)所示,图中相应的位宽以128位ECC为例。计算参与模运算的寄存器输入与输出的汉明距离,当电路中的参数更换时,进行离线计算得到最优的M矩阵,将其配置在存储电路中。电路工作时,以主电路的相关寄存器的汉明距离作为数选信号,由数选器完成映射,得到2h个列向量对应的需要增加的汉明距离。依据功耗补偿模型,电路以相等的概率选择这2h个值产生补偿功耗,在电路增加一个h位的计数器,该计数器在每个时钟周期上升沿进行加1操作,即等概率地产生0~(2h–1)的数据,以计数器的输出为数选信号得到每个时钟周期相应的汉明距离。

    图 6  补偿电路的硬件实现与时序逻辑

    假设设计者在实现模运算使用的基本运算op对应的电路为OP电路,一般为加法器、乘法器等。OP电路与SC电路共同组成了冗余功耗产生电路。将该汉明距离扩展为相应的异或结果作为SC电路的输入,即汉明距离为e时,SC电路的输入为xx的低e位为1,其余位为0。SC电路的输出与模数P进入OP电路产生补偿功耗。实验数据表明,相同汉明距离下,基于表1中算法加法器结构的模运算单元功耗是一个加法器OP电路的功耗2.34倍,因此在汉明距离扩展之前应将汉明距离乘以相应的比例因子。对于补偿矩阵M的行数为n的ECC电路,其位宽为n/3,由于比例因子的存在,其补偿的最高汉明距离为7.02×(n/3),因此该ECC电路防护时的OP电路由8组n/3 bit加法器构成。

    与此同时,补偿电路应保证产生冗余功耗与主电路寄存器的翻转在一个时钟周期内同时发生,为满足时序特性,在主电路参与模运算的寄存器输入与输出异或电路之后插入一级寄存器R。插入寄存器后的时序如图6(b)所示,D1, Q1为主电路参与模运算的寄存器输入与输出,D2, Q2为插入寄存器的输入与输出,M_out为M矩阵映射后的输入,A_out为加法器输入。可以看出,Q1的翻转和加法器的计算同时发生在t2到t3时刻之间,满足时序要求。补偿电路仅在主电路的关键路径上增加了一级异或门的延时,与关键路径相比其增加的延时较小,可忽略不计,对主电路的ECC计算速度保持不变,电路性能不受影响。

    在CMOS 40nm工艺下进行逻辑综合,防护前后的电路面积分别为0.281 mm2和0.345 mm2,面积增加22.8%,关键路径延时保持3.21 ns不变。补偿电路不影响关键路径与点乘的计算,对ECC的计算性能不产生任何影响。

    实验以Sakura-G开发板为平台,电路在其主FPGA(Xilinx Spartan-6)实现,如图7所示。分别以主电路和带防护ECC电路为对象进行CPA分析,其中主电路实现128位ECC点乘。带防护的ECC电路使用4285个FF,19687个LUT单元,功耗为0.12W,与主ECC电路相比,增加了19.9%FF,24.2%LUT单元以及18.8%功耗,如表5所示。

    图 7  基于Sakura-G开发板的安全测试平台
    表 5  防护前后代价与性能对比
    综合面积(mm2/kGates)关键路径延时(ns)FPGA LUTs/FFsFPGA 功耗(W)
    防护前0.281/293.43.2115851/35740.101
    防护后0.345/360.33.2119687/42850.120
    增加的百分比+22.8%0+24.2%/+19.9%+18.8%
    下载: 导出CSV 
    | 显示表格

    安全防护测试在PC端进行明文与密钥的输入以及点乘输出的验证,使用PicoScope 3403D示波器进行功耗波形采集,示波器探头与开发板电源之间连接1 Ω电阻,以该电阻上的压降等效为开发板功耗。对密钥的第2位进行CPA攻击,通过输入1000个基点采集功耗曲线,每个功耗曲线包含1500个采样点。未防护时,采样功耗曲线为1000条的情况之下,正确密钥在相应的采样点处的相关系数远大于其他点,而猜测错误密钥未出现这样的相关系数极大点,如图8(a)所示。此时,最小泄露轨迹数(Minimum Trace of Data, MTD)为32,如图8(b)所示。防护后,相同采样曲线条数的情况之下,相关系数曲线未见明显较大值点,如图8(c)所示。进一步增大采样曲线条数,观察相关系数,从图8(d)可以看出,防护后的MTD大于104,与防护前相比,抗CPA攻击能力提升大于312倍。

    图 8  CPA攻击相关系数与最小泄露轨迹数

    目前,ECC电路的防护主要依赖于随机化方法,表6展示了该策略分别与其他防护方法的对比结果,其中括号内为防护后的数据,与ECC电路的硬件实现方式有关,因此将防护后的数据占未防护时的百分比作为对比对象将更加准确。文献[6]中的基点随机化点乘算法需要存储额外的点坐标,并在每次计算前进行随机基点的点乘,导致其运算时间增加为原来的1倍左右,而文本提出的功耗补偿策略不对电路频率与ECC电路的迭代时间产生任何影响,虽然其防护能力提升了333倍,略优于本策略的防护效果,但其在性能上不具有优势。文献[7]和文献[16]分别使用中间点随机化技术和标量点乘随机化方法,前者在点乘算法的每次迭代中增加了一次点加计算;后者使得k的位宽变大,增加了迭代次数,安全防护使得二者的点乘时间增加约50%;此外,本文与之相比增加了22.8%的面积,但是在防护效果上,本文要明显优于二者。文献[17]使得射影坐标随机化,增加了额外的计算量,与未使用该方法相比计算时间增加了62%;且在功耗代价上,该文的防护方法使得功耗增加50%,而本文仅增加18.8%。总的来说,与随机化的防护方法相比,本文提出的防护策略虽然产生了一定的面积代价,但对电路的运算性能不产生任何影响,且具有良好的防护能力与更小的功耗代价。

    表 6  防护能力与电路代价对比分析
    VLSI’14 [6]TIE’16[7]TDSC’18[16]TCAS-I’21[17]本文
    原理基点随机化中间点随机化标量k随机化射影坐标随机化功耗补偿
    域-位宽(bit)素域-160素域-163素域-128素域-256素域-128
    运算性能代价+100.6%+53.8%+50%+62%+0
    (点乘时间@频率/ms@MHz)(0.34@194)(0.6@316)(82.5@8)(0.089@222)(0.37@312)
    面积代价(面积/kGates)+0(98)+0(189)+0(--)+0(194.7)+22.8%(360.3)
    功耗代价(功率/mW)--(34.4)--(34.3)--(--)+50%(73.5)+18.8%(120.0)
    最小泄露轨迹数MTD
    防护能力提升倍数
    >105
    >333
    >2×104
    >250
    >5×103
    >119
    --
    --
    >104
    >312
    下载: 导出CSV 
    | 显示表格

    本文针对ECC硬件电路中由数据相关性带来的侧信息泄露问题,提出了一种基于模拟退火算法的功耗隐藏策略,通过建立映射模型动态补偿功耗。依据该模型设计的防护电路在一定面积与功耗代价下具备与目前普遍使用的随机化方法相当的安全防护能力,且不会带来电路运算性能的损失。该模型理论上可支持不同硬件结构的ECC电路,但防护电路不尽相同,更加普适的防护电路设计是未来研究的重点。

  • 图  1  BP神经网络

    图  2  算法整体流程图

    图  3  率失真性能比较

    表  1  Cuprite波段聚类分组结果

    分组号 1 2 3 4 5 6
    各组波段划分 1~17 18~32 33~60 61~74 75~96 97~117
    组内相关性 0.9738 0.9998 0.9998 0.9948 0.9997 0.9902
    分组号 7 8 9 10 11 12
    各组波段划分 118~145 146~161 162~177 178~191 192~202 203~224
    组内相关性 0.9961 0.9963 0.9963 0.9925 0.9828 0.8134
    不分组时波段间相关性 0.7759
    下载: 导出CSV

    表  2  Jasper Ridge波段聚类分组结果

    分组号 1 2 3 4
    各组波段划分 1~24 25~36 37~105 106~113
    组内相关性 0.9679 0.9662 0.9663 0.9662
    分组号 5 6 7 8
    各组波段划分 114~121 122~153 154~166 167~224
    组内相关性 0.9665 0.9663 0.9663 0.9664
    不分组时波段间相关性 0.6939
    下载: 导出CSV

    表  3  Lunar Lake波段聚类分组结果

    分组号 1 2 3 4 5
    各组波段划分 1~19 20~39 40~70 71~107 108~111
    组内相关性 0.9704 0.9993 0.9993 0.9972 0.5797
    分组号 6 7 8 9 10
    各组波段划分 112~155 156~166 167~206 207~221 222~224
    组内相关性 0.9742 0.4823 0.9934 0.9868 0.8380
    不分组时波段间相关性 0.6413
    下载: 导出CSV

    表  4  光谱角对比

    比特率(bit/s) Cuprite Jasper Ridge Lunar Lake
    本文算法 文献[12]算法 3D-SPIHT 本文算法 文献[12]算法 3D-SPIHT 本文算法 文献[12]算法 3D-SPIHT
    0.1 0.4842 0.5922 18.4829 1.5030 4.0054 43.8099 0.5151 0.6494 4.7773
    0.2 0.3898 0.5179 6.2616 1.4196 3.1861 24.8005 0.4620 0.5847 1.1188
    0.4 0.2820 0.4531 1.8106 1.3757 2.8051 8.2692 0.3331 0.5217 0.8408
    0.7 0.2697 0.3956 0.7953 1.2893 2.4240 3.3733 0.3325 0.4599 0.4622
    下载: 导出CSV
  • BIOUCA-DIAS J, PLAZA A, CAMPS-VALLS G, et al. Hyperspectral remote sensing data analysis and future challenges[J].IEEE Geoscience and Remote Sensing Magazine, 2013, 1(2): 6–36 doi: 10.1109/MGRS.2013.2244672
    SHEN Hongda, PAN W D, WU Dongsheng, et al. Fast Golomb coding parameter estimation using partial data and its application in hyperspectral image compression[C]. Southeastcon, Norfolk, USA, 2016: 1–7.
    FU Wei, LI Shutao, FANG Leyuan, et al. Adaptive spectral–spatial compression of hyperspectral image with sparse representation[J]. IEEE Transactions on Geoscience&Remote Sensing, 2017, 55(2): 671–682 doi: 10.1109/TGRS.2016.2613848
    LANDGREBE D. Hyperspectral image data analysis[J]. IEEE Signal Processing Magazine, 2002, 19(1): 17–28 doi: 10.1109/79.974718
    陈善学, 韩勇, 于佳佳, 等. 矢量维数分割量化的高光谱图像压缩方法[J]. 系统工程与电子技术, 2013, 35(9): 1989–1993 doi: 10.3969/j.issn.1001-506x.2013.09.31

    CHEN Shanxue, HAN Yong, YU Jiajia, et al. Compression algorithm of hyperspectral image based on vector dimension segmentation quantization[J]. Journal of Systems Engineering and Electronics, 2013, 35(9): 1989–1993 doi: 10.3969/j.issn.1001-506x.2013.09.31
    KARAMI A, YAZDI M, and MERCIER G. Compression of hyperspectral images using discrete wavelet transform and tucker decomposition[J]. IEEE Journal on Selected Topics in Applied Earth Observations and Remote Sensing, 2012, 5(2): 444–450 doi: 10.1109/JSTARS.2012.2189200
    MIELIKAINEN J and HUANG B. Lossless compression of hyperspectral images using clustered linear prediction with adaptive prediction length[J]. IEEE Geoscience and Remote Sensing Letters, 2012, 9(6): 1118–1121 doi: 10.1109/LGRS.2012.2191531
    ZHU Shiping and ZONG Xianzi. Fractal lossy hyperspectral image coding algorithm based on prediction[J]. IEEE Access, 2017, 5: 21250–21257 doi: 10.1109/ACESS.2017.2755681
    SHEN Hongda, PAN W D, and WU Dongsheng. Predictive lossless compression of regions of interest in hyperspectral images with no-data regions[J]. IEEE Transactions on Geoscience&Remote Sensing, 2016, 55(1): 173–182 doi: 10.1109/TGRS.2016.2603527
    WEN Jia, MA Caiwen, and ZHAO Junsuo. FIVQ algorithm for interference hyper-spectral image compression[J].Optics Communications, 2014, 322(8): 97–104 doi: 10.1016/j.optcom.2014.02.016
    韩力群. 人工神经网络理论、设计及应用[M]. 第2版, 北京: 化学工业出版社, 2007: 第3章.

    HAN Liqun. Artificial Neural Network Theory, Design and Application[M]. Second Edition, Beijing: Chemical Press, 2007: Chapter three.
    吴倩, 张荣, 徐大卫. 基于稀疏表示的高光谱数据压缩算法[J]. 电子与信息学报, 2015, 37(1): 78–84 doi: 10.11999/JEIT140214

    WU Qian, ZHANG Rong, and XU Dawei. Hyperspectral data compression based on sparse representation[J]. Journal of Electronica&Information Technology, 2015, 37(1): 78–84 doi: 10.11999/JEIT140214
    高放, 孙长建, 邵庆龙, 等. 基于K-均值聚类和传统递归最小二乘法的高光谱图像无损压缩[J]. 电子与信息学报, 2016, 38(11): 2709–2714 doi: 10.11999/JEIT151439

    GAO Fang, SUN Changjian, SHAO Qinglong, et al. Lossless compression of hyperspectral image using K-means clustering and conventional recursive least-squares predictor[J]. Journal of Electronica&Information Technology, 2016, 38(11): 2709–2714 doi: 10.11999/JEIT151439
    FOWLER J E. Compressive-projection principal component analysis[J]. IEEE Transactions on Image Processing, 2009, 18(10): 2230–2242 doi: 10.1109/TIP.2009.2025089
    WEI Jia. Application of hybrid back propagation neural network in image compression[C]. International Conference on Intelligent Computation Technology and Automation, Nanchang, China, 2016: 209–212.
    闫红梅, 吴冬梅. 改进BP网络在超光谱图像压缩中的应用[J]. 图学学报, 2013, 34(5): 110–114 doi: 10.3969/j.issn.2095-302X.2013.05.022

    YAN Hongmei and WU Dongmei. Application of improved BP neural network in hyperspectral image compression[J]. Journal of Engineering Graphics, 2013, 34(5): 110–114 doi: 10.3969/j.issn.2095-302X.2013.05.022
  • 期刊类型引用(6)

    1. 刘志伟,宁克,刘星廷,侯滨,王海旗. 融合图像识别与地理信息的电力设备送样监测技术. 电子设计工程. 2025(03): 106-110 . 百度学术
    2. 曹小明,张华兵,叶思斯,石宏宇,魏理豪. 结合ECC算法的电力监控网络智能接入协议. 沈阳工业大学学报. 2024(01): 60-65 . 百度学术
    3. 辛明勇,冯起辉,徐长宝. AES密码芯片DPA攻击的关联检测算法设计. 自动化技术与应用. 2024(11): 83-87 . 百度学术
    4. 李超,张艳玲,张清媛. 面向医疗系统的隐私保护疾病预测研究. 计算机测量与控制. 2023(04): 219-224+231 . 百度学术
    5. 陈佳雯,严利民. 基于风险反馈的网络安全密钥可信度识别仿真. 计算机仿真. 2023(08): 393-397 . 百度学术
    6. 蔡威,冯光辉. 可信计算下多播网络编码匿名通信仿真. 计算机仿真. 2023(10): 408-411+472 . 百度学术

    其他类型引用(1)

  • 加载中
图(3) / 表(4)
计量
  • 文章访问数:  1584
  • HTML全文浏览量:  418
  • PDF下载量:  61
  • 被引次数: 7
出版历程
  • 收稿日期:  2018-01-16
  • 修回日期:  2018-05-24
  • 网络出版日期:  2018-07-30
  • 刊出日期:  2018-10-01

目录

/

返回文章
返回