一种基于小波分析的能量泄漏信号的降噪方法及系统与流程

文档序号:12375507阅读:226来源:国知局
一种基于小波分析的能量泄漏信号的降噪方法及系统与流程
本发明涉及侧信道密码分析技术,具体涉及一种基于小波分析的能量泄漏信号的降噪方法及系统。
背景技术
:密码设备在运行密码算法时会无意识地产生声音、电磁、能量等侧信道信息,侧信道密码分析利用这些侧信道信息可成功提取密码设备内部的秘密信息。侧信道密码泄漏信号的处理直接关系到后续的侧信道密码分析是否能以较大的概率成功,关系到相关检测机构对密码芯片的有效评估与认证。传统的侧信道密码能量泄漏信号处理方法,是通过大量能量泄漏信号的叠加平均达到降噪的目的;而实际上,能够用于侧信道密码分析的能量泄漏信号是有限的,同时噪声形式多种多样,因此,有用的泄漏信号频段无法精确确定,导致降噪效果有限;另外,目前用于能量泄漏信号的降噪的小波变换、经验模态分解及基于信噪比准则的优化等方法也存在侧信道密码能量泄漏信号不完全匹配及无法分析单条或少量能量泄漏信号等问题。技术实现要素:针对现有技术中的缺陷,本发明提供一种基于小波分析的能量泄漏信号的降噪方法,所述方法包括:步骤1.在加密或解密过程中产生的侧信道信息中,获取所述能量泄漏信号;步骤2.根据选定的母小波和分解层数对所述能量泄漏信号进行小波多尺度分解,得到所述能量泄漏信号的低频系数;步骤3.分解构建得到的所述低频系数的汉克尔矩阵,得到降噪后的稀疏矩阵;步骤4.根据降噪后的所述稀疏矩阵,计算得到降噪后的低频系数;步骤5.对所述降噪后的低频系数进行逆小波变换,得到降噪后的所述能量泄漏信号。进一步的,所述步骤1,包括:在密码设备进行加密或解密过程中产生的侧信道信息中,用探头在运行AES算法的FPGA上采集所述能量泄漏信号,所述能量泄漏信号中包括密码信息、环境噪声、设备噪声及采样噪声。进一步的,所述步骤2,包括:2-1.根据所述能量泄漏信号的时频分布图确定所述分解层数,并在Daubechies小波族中选取母小波;2-2.根据所述分解层数及选定的母小波,采用Mallat算法对所述能量泄漏信号进行小波多尺度分解,得到所述能量泄漏信号的低频系数:aj+1(n)=Σl=-∞∞aj(l)h0(l-2n)=aj(n)*h‾0(2n)---(1)]]>式(1)中,j为分解层中的某一层,aj为第j层的低频系数,j=0时aj为原始能量泄漏信号的值,h0为母小波生成的分解低频滤波器系数,为低频滤波器系数的共轭值,n为得到相应系数值的某一时刻,l为计数值。进一步的,所述步骤3,包括:3-1.选取窗长L:式(2)中,N为低频系数的长度;3-2.根据所述窗长L,构建所述低频系数的汉克尔矩阵XL×K;式(3)中,si为第i个低频系数值,K=N-L+1;3-3.对所述汉克尔矩阵XL×K进行鲁棒性的主成分分解:minM,Y||M||*+λ||Y||0s.t.||M+Y-XL×K||F≤ϵ---(4)]]>式(4)中,M是鲁棒性的主成分分解中的低秩矩阵,Y是鲁棒性的主成分分解中的稀疏矩阵,||M||*为低秩矩阵的核范数,||Y||0为稀疏矩阵的零范数,λ是平衡两个目标函数的参数,F为弗罗宾尼斯范数,ε表示未知干扰部分的参数;3-4.采用ADM算法,在式(4)中分离得到所述稀疏矩阵Y。进一步的,所述步骤4,包括:对降噪后的所述稀疏矩阵进行斜对角平均操作,计算得到降噪后的低频系数a~(n)=1n+1Σk=1n+1xk,n-k+2*0≤n≤L*-11L*Σk=1L*xk,n-k+2*L*-1≤n<K*1N-nΣk=n-K*+2N-K*+1xk,n-k+2*K*≤n<N---(5)]]>式(5)中,x*是稀疏系数矩阵Y中的元素,L*表示为L*=min{L,K},K*表示为K*=max{L,K};N为低频系数的长度;n为得到相应系数值的某一时刻,L为窗长,K=N-L+1。进一步的,所述步骤5,包括:对所述降噪后的低频系数进行逆小波变换,得到降噪后的所述能量泄漏信号y(n):y(n)=Σl=-∞∞a~(l)g0(l-n)=a~(n)*g‾0(n)---(6)]]>式(6)中,为某一计数时的低频系数,为降噪后的低频系数,g0是由母小波生成的重建低频滤波器系数,为重建低频滤波系数的共轭值,n为得到相应系数值的某一时刻,l为计数值。另一方面,本发明还提供了一种基于小波分析的能量泄漏信号的降噪系统,所述系统包括:能量泄漏信号获取模块,用于在加密或解密过程中产生的侧信道信息中,获取所述能量泄漏信号;降噪参数选取模块,用于根据选定的母小波和分解层数对所述能量泄漏信号进行小波多尺度分解,得到所述能量泄漏信号的低频系数;观测矩阵构建及分离模块,用于分解构建得到的所述低频系数的汉克尔矩阵,得到降噪后的稀疏矩阵;低频系数重建模块,用于根据降噪后的所述稀疏矩阵,计算得到降噪后的低频系数;能量泄漏信号重建模块,用于对所述降噪后的低频系数进行逆小波变换,得到降噪后的所述能量泄漏信号。进一步的,所述能量泄漏信号获取模块包括:侧信道信息获取单元,用于获取密码设备进行加密或解密过程中产生的侧信道信息;能量泄漏信号获取单元,用于在所述侧信道信息中,用探头在运行AES算法的FPGA上采集所述能量泄漏信号,所述能量泄漏信号中包括密码信息、环境噪声、设备噪声及采样噪声。进一步的,所述降噪参数选取模块包括:分解层数选取单元,用于根据所述能量泄漏信号的时频分布图确定所述分解层数;母小波选取单元,用于在Daubechies小波族中选取母小波;低频系数获取单元,用于根据所述分解层数及选定的母小波,采用Mallat算法对所述能量泄漏信号进行小波多尺度分解,得到所述能量泄漏信号的低频系数。进一步的,所述观测矩阵构建及分离模块,包括:窗长选取单元,用于选取窗长;汉克尔矩阵构建单元,用于根据所述窗长,构建所述低频系数的汉克尔矩阵;汉克尔矩阵分解单元,用于对所述汉克尔矩阵进行鲁棒性的主成分分解;稀疏矩阵获取单元,用于采用ADM算法,分离得到所述稀疏矩阵。由上述技术方案可知,本发明提供的一种基于小波分析的能量泄漏信号的降噪方法及系统,能够精确且全面地去除能量泄漏信号的噪声,同时能够实现对单条或少量能量泄漏信号的准确降噪,提高相关能量攻击的攻击性能,相关检测机构对密码芯片的有效评估与认证提供了准确且可靠的分析基础。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的一种基于小波分析的能量泄漏信号的降噪方法的流程示意图;图2为本发明的方法中步骤101的流程示意图;图3为本发明的方法中步骤102的流程示意图;图4为本发明的一种基于小波分析的能量泄漏信号的降噪系统示意图;图5为本发明的系统中能量泄漏信号获取模块10的示意图;图6为本发明的系统中降噪参数选取模块11的示意图;图7为本发明的系统中观测矩阵构建及分离模块12的示意图;图8为本发明的具体应用例中降噪方法的流程示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明一种基于小波分析的能量泄漏信号的降噪方法,具体过程如下:100.在加密或解密过程中产生的侧信道信息中,获取能量泄漏信号;密码设备在运行密码算法时会无意识地产生声音、电磁、能量等侧信道信息,为了利用这些侧信道信息成功提取密码设备内部的秘密信息;在密码设备的加密或解密过程中产生的侧信道信息中,获取在加解密过程中产生的能量泄漏信号,能量泄漏信号是通过探头在运行AES算法的FPGA上采集的信号;此种方式采集的能量泄漏信号准确且可靠,同时能量泄漏信号中带有采样的噪声,使得后续更精确且无干扰的降噪,保证了降噪的效果。101.根据选定的母小波和分解层数对能量泄漏信号进行小波多尺度分解,得到能量泄漏信号的低频系数;根据事先绘制的能量泄漏信号的时频分布图,确定对能量泄漏信号进行分解的层数,并在多贝西小波(Daubechies小波)族中选取母小波;其中,小波(Wavelet)变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破;应用小波分析的方式,使得本方法的降噪过程准确且可靠。102.分解构建得到的低频系数的汉克尔矩阵,得到降噪后的稀疏矩阵;其中,汉克尔矩阵(HankelMatrix)是指每一条副对角线上的元素都相等的方阵;矩阵中非零元素的个数远远小于矩阵元素的总数,并且非零元素的分布没有规律,通常认为矩阵中非零元素的总数比上矩阵所有元素总数的值小于等于0.05时,则称该矩阵为稀疏矩阵(sparsematrix)。103.根据降噪后的稀疏矩阵,计算得到降噪后的低频系数;104.对降噪后的低频系数进行逆小波变换,得到降噪后的能量泄漏信号;根据降噪后的低频系数及由母小波生成的重建低频滤波器系数进行逆小波变换,得到重建的降噪后的能量泄漏信号,完成降噪,进而精确且全面地去除能量泄漏信号的噪声,同时能够实现对单条或少量能量泄漏信号的准确降噪。其中,步骤100,具体如下:在密码设备进行加密或解密过程中产生的侧信道信息中,用探头在运行AES算法的FPGA上采集能量泄漏信号,能量泄漏信号中包括密码信息、环境噪声、设备噪声及采样噪声。如图2所示,步骤101,具体如下:200.根据能量泄漏信号的时频分布图确定分解层数,并在Daubechies小波族中选取母小波;201.根据分解层数及选定的母小波,采用Mallat算法对能量泄漏信号进行小波多尺度分解,得到能量泄漏信号的低频系数:aj+1(n)=Σl=-∞∞aj(l)h0(l-2n)=aj(n)*h‾0(2n)---(1)]]>式(1)中,j为分解层中的某一层,aj为第j层的低频系数,j=0时aj为原始能量泄漏信号的值,h0为母小波生成的分解低频滤波器系数,=0时aj为原始能量泄漏信号的值,h0为母小波生成的分解低频滤波器系数,为低频滤波器系数的共轭值,n为得到相应系数值的某一时刻,l为计数值。如图3所示,步骤102,具体如下:300.选取窗长L:式(2)中,N为低频系数的长度;301.根据窗长L,构建低频系数的汉克尔矩阵XL×K;式(3)中,si为第i个低频系数值,K=N-L+1;302.对汉克尔矩阵XL×K进行鲁棒性的主成分分解:minM,Y||M||*+λ||Y||0s.t.||M+Y-XL×K||F≤ϵ---(4)]]>式(4)中,M是鲁棒性的主成分分解中的低秩矩阵,Y是鲁棒性的主成分分解中的稀疏矩阵,||M||*为低秩矩阵的核范数,||Y||0为稀疏矩阵的零范数,λ是平衡两个目标函数的参数,F为弗罗宾尼斯范数,ε表示未知干扰部分的参数;303.采用ADM算法,在式(4)中分离得到稀疏矩阵Y。其中,步骤103,包括:对降噪后的稀疏矩阵进行斜对角平均操作,计算得到降噪后的低频系数a~(n)=1n+1Σk=1n+1xk,n-k+2*0≤n≤L*-11L*Σk=1L*xk,n-k+2*L*-1≤n<K*1N-nΣk=n-K*+2N-K*+1xk,n-k+2*K*≤n<N---(5)]]>式(5)中,x*是稀疏系数矩阵Y中的元素,L*表示为L*=min{L,K},K*表示为K*=max{L,K};N为低频系数的长度;n为得到相应系数值的某一时刻,,L为窗长,K=N-L+1。其中,步骤104,包括:对降噪后的低频系数进行逆小波变换,得到降噪后的能量泄漏信号y(n):y(n)=Σl=-∞∞a~(l)g0(l-n)=a~(n)*g‾0(n)---(6)]]>式(6)中,为某一计数时的低频系数,为降噪后的低频系数,g0是由母小波生成的重建低频滤波器系数,为重建低频滤波系数的共轭值,n为得到相应系数值的某一时刻,l为计数值。如图4所示,本发明还提供了一种基于小波分析的能量泄漏信号的降噪系统,系统中具体设有:能量泄漏信号获取模块10,用于在加密或解密过程中产生的侧信道信息中,获取能量泄漏信号;能量泄漏信号获取模块10对应上述方法中步骤100中的技术方案,密码设备在运行密码算法时会无意识地产生声音、电磁、能量等侧信道信息,为了利用这些侧信道信息成功提取密码设备内部的秘密信息;在密码设备的加密或解密过程中产生的侧信道信息中,获取在加解密过程中产生的能量泄漏信号,能量泄漏信号是通过探头在运行AES算法的FPGA上采集的信号;此种方式采集的能量泄漏信号准确且可靠,同时能量泄漏信号中带有采样的噪声,使得后续更精确且无干扰的降噪,保证了降噪的效果。降噪参数选取模块11,用于根据选定的母小波和分解层数对能量泄漏信号进行小波多尺度分解,得到能量泄漏信号的低频系数;降噪参数选取模块11对应上述方法中步骤101,根据选定的母小波和分解层数对能量泄漏信号获取模块10中的能量泄漏信号进行小波多尺度分解,得到能量泄漏信号的低频系数,即根据事先绘制的能量泄漏信号的时频分布图,确定对能量泄漏信号进行分解的层数,并在多贝西小波(Daubechies小波)族中选取母小波。观测矩阵构建及分离模块12,用于分解构建得到的低频系数的汉克尔矩阵,得到降噪后的稀疏矩阵;观测矩阵构建及分离模块12对应上述方法中步骤102中的分解构建得到的低频系数的汉克尔矩阵,得到降噪后的稀疏矩阵的技术内容,观测矩阵构建及分离模块12分解构建降噪参数选取模块11中的低频系数的汉克尔矩阵,得到降噪后的稀疏矩阵。低频系数重建模块13,用于根据降噪后的稀疏矩阵,计算得到降噪后的低频系数;低频系数重建模块13对应上述方法中步骤103。能量泄漏信号重建模块14,用于对降噪后的低频系数进行逆小波变换,得到降噪后的能量泄漏信号;对应上述方法中步骤104中的技术内容,详见上述方法的技术内容,此处不再赘述。根据降噪后的低频系数及由母小波生成的重建低频滤波器系数进行逆小波变换,得到重建的降噪后的能量泄漏信号,完成降噪,进而精确且全面地去除能量泄漏信号的噪声,同时能够实现对单条或少量能量泄漏信号的准确降噪。如图5所示,能量泄漏信号获取模块10包括:侧信道信息获取单元20,用于获取密码设备进行加密或解密过程中产生的侧信道信息;能量泄漏信号获取单元21,用于在侧信道信息中,用探头在运行AES算法的FPGA上采集能量泄漏信号,能量泄漏信号中包括密码信息、环境噪声、设备噪声及采样噪声,能量泄漏信号获取单元21将能量泄漏信号发送至降噪参数选取模块11。如图6所示,降噪参数选取模块11包括:分解层数选取单元30,接收能量泄漏信号获取单元21发出的能量泄漏信号,并根据能量泄漏信号的时频分布图确定分解层数;母小波选取单元31,用于在Daubechies小波族中选取母小波;低频系数获取单元32,用于根据分解层数及选定的母小波,采用Mallat算法对能量泄漏信号进行小波多尺度分解,得到能量泄漏信号的低频系数,并将低频系数发送至观测矩阵构建及分离模块12。如图7所示,观测矩阵构建及分离模块12,包括:窗长选取单元40,用于选取窗长;汉克尔矩阵构建单元41,用于根据窗长及低频系数获取单元32发送的低频系数,构建低频系数的汉克尔矩阵;汉克尔矩阵分解单元42,用于对汉克尔矩阵进行鲁棒性的主成分分解;稀疏矩阵获取单元43,用于采用ADM算法,分离得到稀疏矩阵,并将稀疏矩阵发送至低频系数重建模块13。如图8所示,本发明提供一种基于小波分析的能量泄漏信号的降噪方法的具体应用例,如下:S01.获取AES算法在加解密过程中产生的能量泄漏信号s(t),s(t)是通过探头在运行AES算法的FPGA上采集的能量泄漏信号,采集的信号既包括与密钥密切相关的有用信息,也包括环境、设备和采样在内的所有噪声;获取AES算法在加解密过程中产生的能量泄漏信号s(t),s(t)是通过探头在运行AES算法的FPGA上采集的能量泄漏信号;密码算法在密码设备上运行时会泄漏与密码内部运算相关的能量信息,通常对于AES这种对称的密码算法,其攻击点常选为非线性的S盒部分;从侧信道FPGA评估板上采集的能量泄漏信号,每一个采样点包含了多种能量信息如下:Ptotal=Pexp+Pnoise+Pconst(1-1)其中,Ptotal为每个采样点的总能量,Pexp为与密钥信息相关可用的泄漏信号,Pnoise为采集过程中产生的噪声,Pconst为采集设备的静态能量损耗。降噪的过程是尽可能的消除噪声Pnoise。S02.选取基本小波和分解层数并计算对能量泄漏信号进行小波多尺度分解的高频系数和低频系数;母小波选自Daubechies小波族,本应用例中采用db5,多尺度小波分解的层数根据采样信号的时频分布确定,泄漏信号集中在低频部分,因此本应用例中采用4层小波分解。根据选定的母小波和分解层数计算高频系数和低频系数。分解低频滤波器系数h0和分解高频滤波器系数h1可直接从系数图中读取。第j层的低频系数可通过下式计算:aj+1(n)=Σl=-∞∞aj(l)h0(l-2n)=aj(n)*h‾0(2n)---(1-2)]]>其中,aj为第j层的低频系数,初始j=0时aj为原始能量泄漏信号的值。第j层的高频系数可通过下式计算:dj+1(n)=Σl=-∞∞aj(l)h1(l-2n)=aj(n)*h‾1(2n)---(1-3)]]>其中,dj为第j层的高频系数,初始j=0时aj为原始能量泄漏信号的值。S03.选择窗长对低频系数构建一个Hankel轨迹矩阵;窗长按下式进行选择:本示例中选择c=2,对低频系数构建Hankel轨迹矩阵,本示例中对第4层低频系数进行如下构建:其中,N低频系数的长度,L为选定的窗长,K=N-L+1,si为第i个低频系数值。S04.对构建后的Hankel轨迹矩阵做鲁棒性的主成分分解,得到去噪后的稀疏系数矩阵;对构建后的Hankel轨迹矩阵做鲁棒性的主成分分解,即求解如下优化问题:minM,Y||M||*+λ||Y||0s.t.||M+Y-X||F≤ϵ---(1-5)]]>其中M是鲁棒性的主成分分解中的低秩矩阵,Y是鲁棒性的主成分分解中的稀疏矩阵,||·||*代表矩阵的核范数,||·||0代表矩阵的零范数,参数λ用于平衡两个目标函数,参数ε用于表示未知干扰部分。求解鲁棒性的主成分分解可通过变方向算法(ADM)求得,其中λ参数为2e-2,参数ε为5e-3×||X||,分离稀疏系数矩阵Y。对稀疏系数矩阵Y按下式做斜对角平均:a~(n)=1n+1Σk=1n+1xk,n-k+2*0≤n≤L*-11L*Σk=1L*xk,n-k+2*L*-1≤n<K*1N-nΣk=n-K*+2N-K*+1xk,n-k+2*K*≤n<N---(1-6)]]>其中x*是稀疏系数矩阵Y中的元素,hn是重建的低频系数,L*和K*分别表示为L*=min{L,K},K*=max{L,K}。S05.对去噪后的稀疏系数矩阵做斜对角平均得到降噪后的低频系数。S06.对降噪后的低频系数做逆小波变换得到去噪后的能量泄漏信号;读取母小波db5对应的重建低频滤波器系数,按下式进行重建:y(n)=Σl=-∞∞a~(l)g0(l-n)=a~(n)*g‾0(n)---(1-7)]]>其中是去噪后的低频系数,g0是由母小波生成的重建低频滤波器系数,y(n)是重建的去噪后的能量泄漏信号。经过(1-7)式计算后,即可得到降噪后的时域能量泄漏信号。本发明所提供的系统可通过MATLAB实现。除数字滤波器外,小波变换、经验模态分解等方法也被应用于能量泄漏信号的降噪。一方面,基于阈值的小波变换和经验模态分解方法都是根据理论的噪声模型计算得到,并不能有效的与侧信道密码能量泄漏信号相匹配;另一方面,经验模态分解方法存在缺乏完备的数学理论、对采样和噪声敏感等问题导致在实际应用中降噪效果有限;此外,基于经验模态分解的降噪方法其效果也对多种参数设置较为敏感,并不完全适用于侧信道密码能量泄漏信号的降噪。当前为提高侧信道密码分析的性能,一些基于信噪比准则的优化方法被提出,但这种方式无法避免大量能量泄漏信号的使用。尤其当只有单条能量迹用于密码分析时,这些降噪方法将无法发挥其作用;而本发明通过小波分析技术,能够精确且全面地去除能量泄漏信号的噪声,同时能够实现对单条或少量能量泄漏信号的准确降噪,提高相关能量攻击的攻击性能,相关检测机构对密码芯片的有效评估与认证提供了准确且可靠的分析基础。本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1