CN115484107A - 一种基于并行计算的侧信道密钥分析方法及系统 - Google Patents
一种基于并行计算的侧信道密钥分析方法及系统 Download PDFInfo
- Publication number
- CN115484107A CN115484107A CN202211144156.8A CN202211144156A CN115484107A CN 115484107 A CN115484107 A CN 115484107A CN 202211144156 A CN202211144156 A CN 202211144156A CN 115484107 A CN115484107 A CN 115484107A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- key
- matrix
- parallel
- channel key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 80
- 239000011159 matrix material Substances 0.000 claims abstract description 50
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000017105 transposition Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 5
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computer Networks & Wireless Communication (AREA)
- Algebra (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
Abstract
本公开提供了一种基于并行计算的侧信道密钥分析方法及系统,其属于信息安全技术领域,包括:获取分块存储的功耗曲线,并基于矩阵转置方法对所述分块存储的功耗曲线进行转置,获得包括功耗曲线整列的转置矩阵;对于预设分析模型,利用功耗曲线对应的明文及其密钥猜测进行中间值计算;基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数;其中,所述功耗从所述转置矩阵中逐行读取获得;基于并行计算结果,获得最大相关系数值及其对应的密钥猜想,实现侧信道密钥分析。
Description
技术领域
本公开属于信息安全技术领域,尤其涉及一种基于并行计算的侧信道密钥分析方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
发明人发现,在侧信道安全性评价中,相关功耗分析需要较多的功耗曲线,在采集时分块地进行横向存储,每块文件包含特定数量的功耗曲线。在功耗曲线分析时需要使用密钥猜测对一个时间点的功耗进行相关性计算,逐块读入功耗曲线并提取曲线矩阵的某一列会带来较大的计算成本,且带来了重复的磁盘读写;另一方面,目前的思路习惯分析s-box后的一个字节,每个字节对应于256次密钥猜测,分析效率低下。
发明内容
本公开为了解决上述问题,提供了一种基于并行计算的侧信道密钥分析方法及系统,所述方案通过并行计算来加速侧信道领域中的相关功耗分析,同时,考虑到现实中功耗曲线数量级较大,需要分块存储的情况,提供了一种新的大数量级矩阵转置方法,减少了磁盘读写次数,提高了预处理效率,进而提高了侧信道密钥分析的处理效率;最后,基于获得的侧信道密钥分析结果与预设分析模型实际密钥之间的对比,能够实现对侧信道安全性的快速有效的评价。
根据本公开实施例的第一个方面,提供了一种基于并行计算的侧信道密钥分析方法,包括:
获取分块存储的功耗曲线,并基于矩阵转置方法对所述分块存储的功耗曲线进行转置,获得包括功耗曲线整列的转置矩阵;
对于预设分析模型,利用功耗曲线对应的明文及其密钥猜测进行中间值计算;
基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数;其中,所述功耗从所述转置矩阵中逐行读取获得;
基于并行计算结果,获得最大相关系数值及其对应的密钥猜想,实现侧信道密钥的分析。
进一步的,基于矩阵转置方法对所述分块存储的功耗曲线进行转置,具体为:第一轮:将功耗曲线逐块读入内存,通过矩阵转置算法对每块功耗曲线进行转置;矩阵转置后再根据设备资源将功耗曲线按顺序划分为预设大小的数据块存储至硬盘;第二轮:将第一轮重新分块的功耗曲线载入内存,然后将不同功耗曲线相同顺序的数据块按列拼接,获得包含原始功耗曲线整列数据的完全转置矩阵;其中,获得的结果矩阵中的每一行数据对应原始功耗曲线中对应时间点所采集出的功耗信息。
进一步的,基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数,采用如下公式:
其中,Y为某个功耗点对应在所有功耗曲线上的功耗值,X为中间值,当待猜测密钥共n个bit,则存在2n种密钥猜测,故结果存在2n个假设中间值输出,按照公式计算可得到2n种相关性数值。
进一步的,所述在线更新算法采用Welford's online algorithm,在计算逐次更新的数据时,只需遍历数据一次。
进一步的,所述预设分析模型采用AES-128算法,所述利用功耗曲线对应的明文及其密钥猜测进行中间值计算,具体为:使用明文和密钥猜测计算出AES-128第一轮Mixcolumn之后前32bit数据,并通过计算汉明重量获得所述中间值。
进一步的,当猜测密钥比特数为n时,存在2n种密钥猜测,且所述并行计算基于GPU+CUDA实现。
进一步的,基于获得的侧信道密钥分析结果与预设分析模型实际密钥之间的对比,实现对侧信道安全性的评价。
根据本公开实施例的第二个方面,提供了一种基于并行计算的侧信道密钥分析系统,包括:
数据获取及转置单元,其用于获取分块存储的功耗曲线,并基于矩阵转置方法对所述分块存储的功耗曲线进行转置,获得包括功耗曲线整列的转置矩阵;
中间值计算单元,其用于对于预设分析模型,利用功耗曲线对应的明文及其密钥猜测进行中间值计算;
相关性计算单元,其用于基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数;其中,所述功耗从所述转置矩阵中逐行读取获得;
侧信道分析单元,其用于基于并行计算结果,获得最大相关系数值及其对应的密钥猜想,实现侧信道密钥的分析。
根据本发明实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于并行计算的侧信道密钥分析方法。
根据本发明实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于并行计算的侧信道密钥分析方法。
与现有技术相比,本公开的有益效果是:
(1)本公开提供了一种基于并行计算的侧信道密钥分析方法及系统,所述方案在侧信道密钥分析中通过对分块存储的大规模能量迹曲线进行快速转置,减少了磁盘访问次数,转置处理耗时仅为数据传输耗时的3.3倍。在实际分析场景中,采集出的单条功耗曲线的长度可达百万级,将功耗曲线进行转置后,只需访问磁盘一次,即可直接获取功耗轨迹的一列(一个采样点对应所有曲线的数据),避免了磁盘反复读取相同文件。
(2)本公开实现了更多字节密钥(最多可以到32位)的同时猜测,可以通过GPU+CUDA实现较大规模的并行计算,并且可以向下兼容8位单字节密钥,并且将泄露位置从以往的S-BOX输出转变为Mixcolumn输出,同,CPU上串行计算相比,8位密钥分析GPU策略效率提升了50倍,而对于32位密钥来说,CPU上的密钥分析是计算上不可行的。
(3)本公开所述方案在进行侧信道密钥分析时需要遍历完整的功耗曲线,功耗曲线越长,分析所需时间越长,因此,通过侧信道泄露分析技术如T-Test、信噪比等方法,预先找到泄露较多的时间点,后续只针对这些少量的时间点进行密钥分析,可以进一步缩短分析时间,提高密钥分析效率。
(4)基于本公开所述方案获得的侧信道密钥分析结果与预设分析模型实际密钥之间的对比,能够实现对侧信道安全性的快速有效的评价。
本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为本公开实施例中所述的功耗曲线转置流程示意图;
图2为本公开实施例中所述的一种基于并行计算的侧信道密钥分析方法工作流程图。
具体实施方式
下面结合附图与实施例对本公开做进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本实施例所述方案使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
实施例一:
本实施例的目的是提供一种基于并行计算的侧信道密钥分析方法。
一种基于并行计算的侧信道密钥分析方法,包括:
获取分块存储的功耗曲线,并基于矩阵转置方法对所述分块存储的功耗曲线进行转置,获得包括功耗曲线整列的转置矩阵;
对于预设分析模型,利用功耗曲线对应的明文及其密钥猜测进行中间值计算;
基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数;其中,所述功耗从所述转置矩阵中逐行读取获得;
基于并行计算结果,获得最大相关系数值及其对应的密钥猜想,实现侧信道密钥的分析。
进一步的,基于矩阵转置方法对所述分块存储的功耗曲线进行转置,具体为:第一轮:将功耗曲线逐块读入内存,通过矩阵转置算法对每块功耗曲线进行转置;矩阵转置后再根据设备资源将功耗曲线按顺序划分为预设大小的数据块存储至硬盘;第二轮:将第一轮重新分块的功耗曲线载入内存,然后将不同功耗曲线相同顺序的数据块按列拼接,获得包含原始功耗曲线整列数据的完全转置矩阵;其中,获得的结果矩阵中的每一行数据对应原始功耗曲线中对应时间点所采集出的功耗信息。
进一步的,基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数,采用如下公式:
其中,Y为某个功耗点对应在所有功耗曲线上的功耗值,X为中间值,当待猜测密钥共n个bit,则存在2n种密钥猜测,故结果存在2n个假设中间值输出,按照公式计算可得到2n种相关性数值。
进一步的,所述在线更新算法采用Welford's online algorithm,在计算逐次更新的数据时,只需遍历数据一次。
进一步的,所述预设分析模型采用AES-128算法,所述利用功耗曲线对应的明文及其密钥猜测进行中间值计算,具体为:使用明文和密钥猜测计算出AES-128第一轮Mixcolumn之后前32bit数据,并通过计算汉明重量获得所述中间值。
进一步的,当猜测密钥比特数为n时,存在2n种密钥猜测。
进一步的,基于获得的侧信道密钥分析结果与预设分析模型实际密钥之间的对比,实现对侧信道安全性的评价。
具体的,为了便于理解,以下结合附图对本实施例所述方案进行详细说明
基于现有技术存在的问题,本实施例提供了一种基于并行计算的侧信道密钥分析方法,其具体技术构思为:通过并行计算来加速侧信道领域中的相关功耗分析,考虑到现实中功耗曲线数量级较大,需要分块存储的情况,提供了一种新的大数量级矩阵转置方法,减少了磁盘读写次数,提高了预处理效率;在实施密钥分析流程时,只需读取转置处理后文件矩阵的一行,便可获得原始功耗曲线在一个时间点的所有功耗值。通过在线更新算法,并行计算每个功耗点处的中间值和功耗之间的皮尔逊相关系数,大大提高了现实相关性能量分析的效率。同时可以将一次密钥分析的范围从8位密钥最多扩展至32位,大大延伸了相关性分析的广度,使之适合更多的密码算法。
进一步的,本实施例所述的基于并行计算的侧信道密钥分析方法适用于使用泄露模型的分区式侧信道密钥分析,所述方案具体为:首先在CPU上将分块存储的功耗曲线进行快速转置,然后将相应的明文和转置矩阵从硬盘读取至内存;采用并行计算的策略,根据选定的分析模型使用明文和密钥猜测计算出中间值,对不同的密钥猜测对应的中间值同时通过在线更新算法计算中间值和功耗之间的皮尔逊相关系数,得到的系数大小表示此时间点的功耗与密钥猜测的相关程度,再计算出最大的相关系数值和对应的密钥猜测。
进一步的,所述分块存储的功耗曲线进行快速转置,如图1所示,具体为:该过程需读取全部功耗曲线两轮。第一轮:将功耗曲线逐块读入内存,通过矩阵转置算法对每块功耗曲线进行转置;矩阵转置后再根据设备资源将功耗曲线按顺序划分为合适大小的数据块存储至硬盘;第二轮:将第一轮重新分块的功耗曲线载入内存,然后将不同功耗曲线相同顺序的数据块按列拼接,即可得到包含原始功耗曲线整列数据的完全转置矩阵;处理完毕后,结果矩阵中的每一行数据对应原始功耗曲线中对应时间点所采集出的功耗信息。
其中,Ai为功耗曲线分块矩阵;设置功耗曲线块总数为N,功耗曲线块数为1…i…N;每块矩阵重新分组数为M,具体范围为1…j…M;Ai转置过程中的中间矩阵为Ci;Bj为最终转置完成的曲线块;重新分块后每块数据成为Cj,i,i对应原始数据Ai的块号i,j对应转置后数据Ci内部分块存储的块号j,即Cj,i代表第i块原始分块存储功耗曲线转置后分块存储的第j块。
进一步的,根据选定的分析模型使用明文和密钥猜测计算出中间值,具体为:将明文和密钥猜测按照分析模型计算中间值,是指:按照AES-128算法,使用明文和密钥猜测计算出AES-128第一轮Mixcolumn或S-box之后的中间值,并计算中间值的汉明重量作为最终的中间值。若密钥猜测的比特数为n,则有2n种密钥猜测。
进一步的,所述在线更新算法采用Welford's online algorithm在线更新算法,通过使用在线更新算法计算数据流的方差与协方差,在计算逐次更新的数据时(采样曲线逐条处理,其上数据逐次更新)使用在线更新算法只需遍历数据一次,减少了所需存储的数据以及计算次数。通过在线更新算法取代传统的方差、协方差计算方式,具体为:
采用在线更新算法可以在小内存设备上对大规模数据集进行计算。同时此方法规避了求方差时大数运算的不稳定性。
进一步的,对不同的密钥猜测对应的中间值同时通过在线更新算法计算中间值和功耗之间的皮尔逊相关系数,具体为:根据皮尔森相关性系数公式,两个一维变量X和Y的相关性
对于一个时间点,同时计算2n个密钥猜测,并将计算后的结果取最大值,记录最大值的索引下标(索引下标为密钥猜测),所述的相关性中的Y为某个时间点处所有功耗曲线上的功耗值,X为中间值,当待猜测密钥有n个bit时,存在2n个密钥猜测,故结果存在2n个假设中间值输出,按照公式计算可得到2n个相关性系数。
进一步的,通过在2n个相关性系数中取最大值,并记录下对应的索引下标,索引下标即为密钥猜测。
进一步的,以下结合附图2从具体实施的角度对本实施例所述方案进行详细说明:
步骤一:CPU上运行对功耗曲线进行转置预处理的算法,将按列存储的数据存储到硬盘。
步骤二:CPU中分配GPU计算所需的数据存储空间,读取明文和功耗曲线,将GPU计算所需的明文和转置处理之后的矩阵第一行(即功耗曲线第一个采样时间对应的所有采样数据)传输至GPU。
步骤三:为节省显卡内存,在显卡内部进行中间值计算。使用线程在CUDA内存模型中的位置下标idx来代替密钥猜测。idx范围为0至2n-1。
步骤四:按照AES加密算法进行中间值的计算,一个线程处理一个密钥猜测,计算明文对应的不同密钥猜测对应的中间值。此处中间值采用的是:第一轮Mixcolumn之后前32bit数据进行汉明重量映射得到中间值。
步骤五:每个线程计算出中间值之后与传入的曲线做相关性计算:
所述的相关性中的Y为某个功耗点对应在所有功耗曲线上的功耗值,X为步骤四计算得出的中间值,当待猜测密钥共n个bit,则存在2n种密钥猜测,故结果存在2n个假设中间值输出。
步骤六:利用GPU原子操作API比较所有线程计算的结果,将相关系数的最大值及其位置下标保存下来并传输至CPU。至此,我们可得到第一个时间点位置处,可能性最大的密钥猜测。
步骤七:重复步骤二,继续读取转置预处理后的功耗曲线,读取其第二列,并按照上述相同方法计算出针对后续时间点的相关系数。
步骤八:经过上述步骤,得到了每一个时间点处的相关系数最大值,及可能性最大的密钥猜测;通过在这些相关系数中继续取最大值,其对应的密钥猜测即为正确密钥,其对应的时间点为发生泄露的时间点。
实施例二:
本实施例的目的是提供一种基于并行计算的侧信道密钥分析系统。
一种基于并行计算的侧信道密钥分析系统,包括:
数据获取及转置单元,其用于获取分块存储的功耗曲线,并基于矩阵转置方法对所述分块存储的功耗曲线进行转置,获得包括功耗曲线整列的转置矩阵;
中间值计算单元,其用于对于预设分析模型,利用功耗曲线对应的明文及其密钥猜测进行中间值计算;
相关性计算单元,其用于基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数;其中,所述功耗从所述转置矩阵中逐行读取获得;
侧信道密钥分析单元,其用于基于并行计算结果,获得最大相关系数值及其对应的密钥猜想,实现侧信道密钥的分析。
进一步的,本实施例所述系统与实施例一所述方法相对应,其技术细节在实施例一中进行了详细说明,故此处不再赘述。
在更多实施例中,还提供:
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
上述实施例提供的一种基于并行计算的侧信道密钥分析方法及系统可以实现,具有广阔的应用前景。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种基于并行计算的侧信道密钥分析方法,其特征在于,包括:
获取分块存储的功耗曲线,并基于矩阵转置方法对所述分块存储的功耗曲线进行转置,获得包括功耗曲线整列的转置矩阵;
对于预设分析模型,利用功耗曲线对应的明文及其密钥猜测进行中间值计算;
基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数;其中,所述功耗从所述转置矩阵中逐行读取获得;
基于并行计算结果,获得最大相关系数值及其对应的密钥猜想,实现侧信道密钥的分析。
2.如权利要求1所述的一种基于并行计算的侧信道密钥分析方法,其特征在于,基于矩阵转置方法对所述分块存储的功耗曲线进行转置,具体为:第一轮:将功耗曲线逐块读入内存,通过矩阵转置算法对每块功耗曲线进行转置;矩阵转置后再根据设备资源将功耗曲线按顺序划分为预设大小的数据块存储至硬盘;第二轮:将第一轮重新分块的功耗曲线载入内存,然后将不同功耗曲线相同顺序的数据块按列拼接,获得包含原始功耗曲线整列数据的完全转置矩阵;其中,获得的结果矩阵中的每一行数据对应原始功耗曲线中对应时间点所采集出的功耗信息。
4.如权利要求1所述的一种基于并行计算的侧信道密钥分析方法,其特征在于,所述在线更新算法采用Welford's online algorithm,在计算逐次更新的数据时,只需遍历数据一次。
5.如权利要求1所述的一种基于并行计算的侧信道密钥分析方法,其特征在于,所述预设分析模型采用AES-128算法,所述利用功耗曲线对应的明文及其密钥猜测进行中间值计算,具体为:使用明文和密钥猜测计算出AES-128第一轮Mixcolumn之后前32bit数据,并通过计算汉明重量获得所述中间值。
6.如权利要求5所述的一种基于并行计算的侧信道密钥分析方法,其特征在于,当猜测密钥比特数为n时,存在2n种密钥猜测,且所述并行计算基于GPU+CUDA实现。
7.如权利要求1所述的一种基于并行计算的侧信道密钥分析方法,其特征在于,基于获得的侧信道密钥分析结果与预设分析模型实际密钥之间的对比,实现对侧信道安全性的评价。
8.一种基于并行计算的侧信道密钥分析系统,其特征在于,包括:
数据获取及转置单元,其用于获取分块存储的功耗曲线,并基于矩阵转置方法对所述分块存储的功耗曲线进行转置,获得包括功耗曲线整列的转置矩阵;
中间值计算单元,其用于对于预设分析模型,利用功耗曲线对应的明文及其密钥猜测进行中间值计算;
相关性计算单元,其用于基于在线更新算法并行计算不同时间点每个功耗点处的中间值和功耗之间的皮尔逊相关系数;其中,所述功耗从所述转置矩阵中逐行读取获得;
侧信道密钥分析单元,其用于基于并行计算结果,获得最大相关系数值及其对应的密钥猜想,实现侧信道密钥的分析。
9.一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的一种基于并行计算的侧信道密钥分析方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的一种基于并行计算的侧信道密钥分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211144156.8A CN115484107B (zh) | 2022-09-20 | 2022-09-20 | 一种基于并行计算的侧信道密钥分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211144156.8A CN115484107B (zh) | 2022-09-20 | 2022-09-20 | 一种基于并行计算的侧信道密钥分析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115484107A true CN115484107A (zh) | 2022-12-16 |
CN115484107B CN115484107B (zh) | 2024-05-28 |
Family
ID=84424270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211144156.8A Active CN115484107B (zh) | 2022-09-20 | 2022-09-20 | 一种基于并行计算的侧信道密钥分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115484107B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156615A (zh) * | 2016-06-21 | 2016-11-23 | 上海观源信息科技有限公司 | 基于类可分性判距的旁路区分器方法及系统 |
CN106301758A (zh) * | 2016-09-08 | 2017-01-04 | 中国科学院信息工程研究所 | 面向侧信道密码能量迹的筛选方法及系统 |
CN111565189A (zh) * | 2020-04-30 | 2020-08-21 | 衡阳师范学院 | 基于深度学习的侧信道分析方法 |
CN113438067A (zh) * | 2021-05-30 | 2021-09-24 | 衡阳师范学院 | 一种压缩密钥猜测空间的侧信道攻击方法 |
CN113705107A (zh) * | 2021-09-01 | 2021-11-26 | 桂林电子科技大学 | 一种基于均值岭回归的功耗分析方法 |
-
2022
- 2022-09-20 CN CN202211144156.8A patent/CN115484107B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156615A (zh) * | 2016-06-21 | 2016-11-23 | 上海观源信息科技有限公司 | 基于类可分性判距的旁路区分器方法及系统 |
CN106301758A (zh) * | 2016-09-08 | 2017-01-04 | 中国科学院信息工程研究所 | 面向侧信道密码能量迹的筛选方法及系统 |
CN111565189A (zh) * | 2020-04-30 | 2020-08-21 | 衡阳师范学院 | 基于深度学习的侧信道分析方法 |
CN113438067A (zh) * | 2021-05-30 | 2021-09-24 | 衡阳师范学院 | 一种压缩密钥猜测空间的侧信道攻击方法 |
CN113705107A (zh) * | 2021-09-01 | 2021-11-26 | 桂林电子科技大学 | 一种基于均值岭回归的功耗分析方法 |
Non-Patent Citations (1)
Title |
---|
王伟嘉: "新型功耗分析方法研究及密码攻防实践", 《中国博士学位论文全文数据库 信息科技辑》, no. 01, 15 January 2020 (2020-01-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN115484107B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhasin et al. | Mind the portability: A warriors guide through realistic profiled side-channel analysis | |
Manavski | CUDA compatible GPU as an efficient hardware accelerator for AES cryptography | |
Choudary et al. | Efficient template attacks | |
CN115242475B (zh) | 一种大数据安全传输方法及系统 | |
Reparaz et al. | Selecting time samples for multivariate DPA attacks | |
CN104851071B (zh) | 一种基于三维混沌系统的数字图像加密方法 | |
Tillich et al. | Attacking state-of-the-art software countermeasures—a case study for AES | |
CN103258312B (zh) | 具有快速密钥流生成机制的数字图像加密方法 | |
CN112260818A (zh) | 侧信道曲线的增强方法、侧信道攻击方法及装置 | |
Pu et al. | Trace augmentation: What can be done even before preprocessing in a profiled sca? | |
Ding et al. | Block-oriented correlation power analysis with bitwise linear leakage: An artificial intelligence approach based on genetic algorithms | |
Longo et al. | How low can you go? Using side-channel data to enhance brute-force key recovery | |
CN110708160B (zh) | 基于sm2算法标量乘法编码的抗侧信道攻击方法及系统 | |
Ding et al. | A multiple sieve approach based on artificial intelligent techniques and correlation power analysis | |
CN118138217A (zh) | 一种后量子密码中分组密码的差分能量攻击方法 | |
Ashur | Linear cryptanalysis of reduced-round speck | |
CN115484107A (zh) | 一种基于并行计算的侧信道密钥分析方法及系统 | |
Glowacz et al. | Optimal collision side-channel attacks | |
CN113705107A (zh) | 一种基于均值岭回归的功耗分析方法 | |
Zhao et al. | Systematic construction and comprehensive evaluation of kolmogorov-smirnov test based side-channel distinguishers | |
Zenner | A cache timing analysis of HC-256 | |
Chen et al. | Analysis of differential distribution of lightweight block cipher based on parallel processing on GPU | |
KR102308517B1 (ko) | 블록암호에 대한 상관전력 분석 방법 및 장치 | |
Chen et al. | A deep learning aided key recovery framework for large-state block ciphers | |
CN112134679B (zh) | 针对sm4的组合高阶侧信道攻击方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |