CN113691375B - 一种ecc椭圆曲线抗攻击的硬件架构 - Google Patents

一种ecc椭圆曲线抗攻击的硬件架构 Download PDF

Info

Publication number
CN113691375B
CN113691375B CN202110975490.7A CN202110975490A CN113691375B CN 113691375 B CN113691375 B CN 113691375B CN 202110975490 A CN202110975490 A CN 202110975490A CN 113691375 B CN113691375 B CN 113691375B
Authority
CN
China
Prior art keywords
point
module
attack
elliptic curve
top layer
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.)
Active
Application number
CN202110975490.7A
Other languages
English (en)
Other versions
CN113691375A (zh
Inventor
詹瑞典
刘远
高倾健
章涵宇
熊晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chipeye Microelectronics Foshan Ltd
Guangdong University of Technology
Original Assignee
Chipeye Microelectronics Foshan Ltd
Guangdong University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chipeye Microelectronics Foshan Ltd, Guangdong University of Technology filed Critical Chipeye Microelectronics Foshan Ltd
Priority to CN202110975490.7A priority Critical patent/CN113691375B/zh
Publication of CN113691375A publication Critical patent/CN113691375A/zh
Application granted granted Critical
Publication of CN113691375B publication Critical patent/CN113691375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种ECC椭圆曲线抗攻击的硬件架构,包括模运算模块、点运算模块、顶层控制模块、顶层接口模块以及寄存器存储模块,使用随机掩码对ECC点乘中的密钥k和椭圆曲线点P进行功耗攻击的防护,使得点乘运算的全过程都存在随机变化,从而大幅降低了功耗与数据的相关性;本发明使用基于椭圆曲线的错误检测对点乘运算进行故障攻击防护,该方法的硬件开销较小,便于实现,并支持在任意位置检测,灵活性高,可配置性强;本发明提出抗攻击的ECC并行多点乘算法,可将多次点乘转化为预计算和一次点乘,从而大幅降低了抗攻击方法的面积和速度开销,优化了整体性能。

Description

一种ECC椭圆曲线抗攻击的硬件架构
技术领域
本发明涉及信息安全技术领域,具体涉及一种ECC椭圆曲线抗攻击的硬件架构。
背景技术
ECC(Elliptic curve cryptography)椭圆曲线加密算法自从1985年被提出以来,就成为公钥加密体制中的核心算法,广泛应用于数据的加密、解密以及数字签名,是目前国际通用且主流的非对称加密算法之一。与RSA(Rivest Shamir Adleman)算法相比,ECC的算法更加复杂,安全强度更高,更适用于现今高安全要求的场景。
随着信息技术与物联网的发展,如今的密码算法多以硬件的形式搭载在专用的安全芯片中。与软件实现相比,硬件实现的方法各不相同,底层电路结构与运算过程也千差万别,因此具有很高的安全性。但ECC算法的硬件实现较为复杂,而不同硬件架构对算法性能有着很大的影响。因此,需要设计一种高性能的ECC硬件实现方法。
而随着侧信道攻击(Side Channel Attack,SCA)的提出,数学上被证明安全的密码算法也受到了严重威胁。侧信道攻击主要通过分析芯片通信信道外的泄露信息来破解密钥,这些泄露信息主要有功耗和电磁信号等。目前常见的侧信道攻击方法主要有功耗攻击和故障攻击。其中,功耗攻击主要有SPA(Simple Power Attack)、DPA(Differential PowerAttack)和CPA(Correlation Power Attack);而故障攻击的主要方法为DFA(DifferentialFault Attack)。这些攻击方法能够对加解密运算时产生的功耗数据或是错误结果进行统计学分析,进而破解密钥。相较于传统攻击方法,SCA的实现成本低、密钥搜索空间小、效率高,是目前信息安全的重要威胁之一。
发明内容
本发明针对现有硬件实现及SCA的安全威胁问题,通过改进算法结构,提出一种ECC椭圆曲线抗攻击的硬件架构,从而为安全设备的加密模块提供有效的解决方案。
为了实现上述任务,本发明采用以下技术方案:
一种抗攻击的ECC并行多点乘算法,获取n比特的密钥k,在椭圆曲线E上取点P,并产生随机数r、z;所述算法包括以下步骤:
(1)初始化k=(k+r)–r;
(2)将点P表示为等价的投影坐标点(xz2,yz3,z);
(3)初始化Q=O,O表示椭圆曲线上的无穷远点;
(4)预计算点加,中间变量T=P+P,T同样为椭圆曲线上的点;
(5)令i=n-1,对于每个i,执行如下过程,之后i-1,直到i=0:
(5.1)计算倍点Q=2Q;
(5.2)若(ki+ri)==1且ri==1,则:
计算点加Q=Q+T;
(5.3)若(ki+ri)==1且ri==0,则:
计算点加Q=Q+P;
(5.4)若(ki+ri)==0且ri==1,则:
计算点加Q=Q+P;
其中,ri表示第i次产生的随机数r,ki表示密钥k中的第i位密钥;
(6)验证点Q是否落在椭圆曲线上,若不在则报错;
(7)将点Q转换为仿射坐标点;
(8)返回点Q;
输出椭圆曲线点Q,Q为k和P点乘的结果。
一种ECC椭圆曲线抗攻击的硬件架构,包括模运算模块、点运算模块、顶层控制模块、顶层接口模块以及寄存器存储模块,其中:
模运算模块包括模加子模块、模减子模块、模乘子模块、模逆子模块,用于接收顶层接口模块和点运算模块发来的数据,完成相应的底层模加、模减、模乘、模逆运算;
点运算模块包括倍点子模块、点加子模块、预处理子模块、错误检测子模块,在接收顶层控制模块的模式选择信号后,完成相应的点加、倍点、预处理和错误检测运算;若顶层仅执行点加或倍点,则将结果写入寄存器存储模块中等待输出;若点运算模块由顶层点乘调用,则将结果存入寄存器存储模块同时返回给顶层控制模块;预处理的过程为抗攻击的ECC并行多点乘算法的步骤(1)到步骤(4),其结果用作点加、倍点和点乘的输入;若仅执行点加或倍点运算,则通过直接调用点加子模块或倍点子模块实现;若是点乘运算则会继续进行步骤(5)到步骤(8),将步骤(4)的结果作为步骤(5)的输入,其结果Q将作为错误检测的过程,即抗攻击的ECC并行多点乘算法的步骤(6)的输入,根据椭圆曲线方程,将计算得到的点Q带入方程,以验证点Q是否在椭圆曲线上,若该点不在曲线上,则直接报错,反之将点Q作为抗攻击的ECC并行多点乘算法的步骤(7)的输入,进行坐标仿射,仿射后的坐标将通过步骤(8)返回给顶层控制模块;
顶层控制模块负责接收接口控制信号与输入数据,调度点运算模块和模运算模块的执行,其输出存放在寄存器存储模块中;当进行点乘运算时,其根据抗攻击的ECC并行多点乘算法的流程调用点运算模块的各个子模块按顺序完成相应的操作;当仅需执行某一个运算时,例如点加、倍点、模加、模乘等,则仅调用对应的子模块;
顶层接口模块负责适配各类总线协议,是整个算法架构入口和出口;其将总线控制信号与数据读入,传给顶层控制模块并写入寄存器存储模块;整体运算完成后,通过读寄存器存储模块将结果送到总线上;
寄存器存储模块主要负责算法输入、输出及中间变量的寄存。
进一步地,所述模运算模块中,根据顶层控制模块的控制信号,若顶层仅需要模运算结果,则将结果写入寄存器存储模块中等待输出;若模运算由点运算模块调用,则将结果存入寄存器存储模块同时返回给点运算模块。
进一步地,所述ECC椭圆曲线抗攻击的硬件架构的工作过程包括:
步骤1,顶层接口模块从总线上取出控制信号及输入数据,送给顶层控制模块;
步骤2,顶层控制模块根据控制信号判断需要执行的操作,若执行点乘,则根据所述算法按下述步骤执行:
首先,调用点运算中的预处理过程完成初始化;
其次,顶层控制模块根据算法的步骤(5)的流程调用点加和倍点操作,完成点乘运算;
随后,调用错误检测运算检验点Q是否在椭圆曲线上;
最后,顶层控制模块将点Q转换到仿射坐标点并存储计算结果;
步骤3,顶层接口模块读寄存器存储模块,将结果输出到总线上。
与现有技术相比,本发明具有以下技术特点:
1.使用随机掩码对ECC点乘中的密钥k和点P进行了防护,相对于冗余操作等其他方法,本发明提出的方案资源开销更少、计算速度损失更小,能在保证性能与硬件实现成本的前提下,抵御诸如SPA、DPA、CPA等攻击。
2.使用基于椭圆曲线的错误检测来抵御诸如DFA等故障攻击,该方案可通过配置寄存器来实现任意位置的检测,具有较高的可配置性与准确性,且资源开销较小。
3.提出了抗攻击的ECC并行多点乘算法,使用一次预计算和一次点乘实现了两次点乘操作,大幅降低了面积和速度额外开销,在保证安全性的同时提升了整体性能。
附图说明
图1为本发明ECC椭圆曲线抗攻击的硬件架构示意图。
具体实施方式
ECC算法的核心为点乘运算,其不仅实现复杂、资源开销大,还由于易泄露密钥关键信息而成为攻击者的首要攻击点,因此,本专利主要对点乘进行设计。
传统的ECC点乘算法如算法1所示,根据密钥k的每一位进行逐位计算。其中,2Q为倍点运算,Q+P为点加运算。当密钥k的当前位为0时,只执行倍点运算;而当ki为1时,执行倍点和点加运算。从算法1可以看出,每轮执行的操作与密钥ki的值有关。当其为1时,多执行一次点加,因此功耗较大;反之为0时,功耗较小。于是,攻击者可以通过分析安全设备运算过程中的功耗大小来判断密钥的值,从而破解加密信息。此外,若攻击者在运算过程中引入一个错误,则该错误会随计算传播至最终结果,通过建立错误结果、正确结果与错误之间的关系式,即可解出密钥的关键信息。
本发明基于随机化和错误检测的思想,从三个角度入手,对算法全过程进行抗攻击组合设计。
(1)引入随机数r,对输入密钥k进行随机掩码。令k=(k+r)-r,于是在点乘时有:kP=(k+r)P–rP=kP。掩码后的最终计算结果相同,但密钥在运算过程中始终有随机成分,功耗可被有效打乱,攻击者无法通过功耗大小对密钥的每一位进行正确区分。
(2)引入随机数z,将输入点投影至雅可比坐标,并对该点坐标进行随机化(xz2,yz3,z)。通过坐标的随机化,点P在运算过程中也被赋予了随机成分,从而进一步降低了功耗与数据的相关性,增强了算法的安全性。
(3)检测Q点是否在椭圆曲线上。由于点乘运算基于椭圆曲线,因此计算中的任意点都应当满足椭圆曲线方程。当攻击者注入错误时,攻击点的坐标会发生改变,从而偏离椭圆曲线。因此,可通过计算椭圆曲线方程来判断是否受到攻击,若不满足方程,则返回错误信号,并中断计算。该检测可在任意位置进行,可通过配置控制寄存器来选择检测位置。
然而,在(1)的抗攻击方案中,由于对密钥进行了拆分,需要分别执行两次点乘运算,而点乘的硬件开销十分庞大,若并行两个点乘模块则面积翻倍,若串行先后执行两次点乘,则面积无额外开销但运算速度大幅降低。
针对上述问题,本发明根据预计算的思想,设计了抗攻击的ECC并行多点乘算法,如算法2所示。由于在点乘中,每一位k+r和r的值有且仅有4种组合,即11、10、01、00四种情况,相对应的,分别执行2/1/1/0次点加操作,因此可以预计算两次点加(算法2中的第4步),之后通过判断k+r和r的组合情况,从而实现只用一次点乘完成整个运算。
其中,Fq表示有限域,E表示椭圆曲线,ri表示第i次产生的随机数r,ki表示密钥k中的第i位密钥。
该算法可以在抵御SPA、DPA、CPA、DFA等攻击的同时,兼顾硬件实现的性能要求,面积增幅与速度损失极小,且原理简单明了,无需复杂的其他相关算法配合,易于RTL实现。
基于上述抗攻击的点乘算法,本发明设计了如图1所示的ECC抗攻击硬件架构。实现ECC点乘的硬件模块主要有模运算模块、点运算模块、顶层控制模块、顶层接口模块以及寄存器存储模块。其中:
模运算模块包括模加子模块、模减子模块、模乘子模块、模逆子模块,用于接收顶层接口模块和点运算模块发来的数据,完成相应的底层模加、模减、模乘、模逆运算。根据控制信号,若顶层仅需要模运算结果,则将结果写入寄存器中等待输出;若模运算由点运算模块调用,则将结果存入寄存器同时返回给点运算模块。
点运算模块为本发明的核心运算模块,包括倍点子模块、点加子模块、预处理子模块、错误检测子模块,用于接收顶层控制模块的模式选择信号后,完成相应的点加、倍点、预处理和错误检测运算。若顶层仅执行点加或倍点,则将结果写入寄存器中等待输出;若点运算模块由顶层点乘调用,则将结果存入寄存器同时返回给顶层控制模块。其中,预处理的过程为算法2的步骤(1)到步骤(4),其结果用作点加和倍点的输入;若仅执行点加或倍点运算,则通过直接调用点加子模块或倍点子模块实现;若是点乘运算则会继续进行步骤(5)到步骤(8),将步骤(4)的结果作为步骤(5)的输入,其结果Q将作为错误检测的过程,即抗攻击的ECC并行多点乘算法的步骤(6)的输入,根据椭圆曲线方程,将计算得到的点Q带入方程,以验证点Q是否在椭圆曲线上,若该点不在曲线上,则直接报错,反之将点Q作为抗攻击的ECC并行多点乘算法的步骤(7)的输入,进行坐标仿射,仿射后的坐标将通过步骤(8)返回给顶层控制模块。
顶层控制模块为本设计算法方案的顶层,负责接收接口控制信号与数据,调度点运算和模运算模块的执行,其输出存放在寄存器存储模块中。当进行点乘运算时,其根据算法2的流程调用点运算的各个子模块按顺序完成相应的操作,当仅需执行某一个运算时,例如点加、倍点、模加、模乘等,则仅调用对应的子模块。
顶层接口模块负责适配各类总线协议,是整个算法架构入口和出口。其将总线控制信号与数据读入,传给顶层控制模块并写入寄存器;整体运算完成后,通过读寄存器将结果送到总线上。
寄存器存储模块主要负责算法输入、输出及中间变量的寄存。
基于上述硬件架构,本发明的工作过程如下:
步骤1,顶层接口模块从总线上取出控制信号及输入数据,送给顶层控制模块;
步骤2,顶层控制模块根据控制信号判断需要执行的操作,若执行点乘,则根据算法2按下述步骤执行。
步骤3,首先,调用点运算中的预处理模块完成初始化;
步骤4,其次,顶层控制模块根据算法2步骤5的流程调用点加和倍点模块,完成点乘运算;
步骤5,随后,调用错误检测模块检验点Q是否在椭圆曲线上;
步骤6,最后,顶层控制模块将点Q转换到仿射坐标点并存储计算结果;
步骤7,顶层接口模块读寄存器,将结果输出到总线上。
本发明使用随机掩码对ECC点乘中的密钥k和点P进行功耗攻击的防护,使得点乘运算的全过程都存在随机变化,从而大幅降低了功耗与数据的相关性;本发明使用基于椭圆曲线的错误检测对点乘运算进行故障攻击防护,该方法的硬件开销较小,便于实现,并支持在任意位置检测,灵活性高,可配置性强;本发明提出抗攻击的ECC并行多点乘算法,可将多次点乘转化为预计算和一次点乘,从而大幅降低了抗攻击方法的面积和速度开销,优化了整体性能。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (3)

1.一种ECC椭圆曲线抗攻击的硬件架构系统,其特征在于,包括模运算模块、点运算模块、顶层控制模块、顶层接口模块以及寄存器存储模块,其中:
模运算模块包括模加子模块、模减子模块、模乘子模块、模逆子模块,用于接收顶层接口模块和点运算模块发来的数据,完成相应的底层模加、模减、模乘、模逆运算;
点运算模块包括倍点子模块、点加子模块、预处理子模块、错误检测子模块,在接收顶层控制模块的模式选择信号后,完成相应的点加、倍点、预处理和错误检测运算;若顶层仅执行点加或倍点,则将结果写入寄存器存储模块中等待输出;若点运算模块由顶层点乘调用,则将结果存入寄存器存储模块同时返回给顶层控制模块;预处理的过程为抗攻击的ECC并行多点乘算法的步骤(1)到步骤(4),其结果用作点加、倍点和点乘的输入;若仅执行点加或倍点运算,则通过直接调用点加子模块或倍点子模块实现;若是点乘运算则会继续进行步骤(5)到步骤(8),将步骤(4)的结果作为步骤(5)的输入,其结果Q将作为错误检测的过程,即抗攻击的ECC并行多点乘算法的步骤(6)的输入,根据椭圆曲线方程,将计算得到的点Q带入方程,以验证点Q是否在椭圆曲线上,若该点不在曲线上,则直接报错,反之将点Q作为抗攻击的ECC并行多点乘算法的步骤(7)的输入,进行坐标仿射,仿射后的坐标将通过步骤(8)返回给顶层控制模块;
顶层控制模块负责接收接口控制信号与输入数据,调度点运算模块和模运算模块的执行,其输出存放在寄存器存储模块中;当进行点乘运算时,其根据抗攻击的ECC并行多点乘算法的流程调用点运算模块的各个子模块按顺序完成相应的操作;当仅需执行某一个运算时,则仅调用对应的子模块;所述运算包括点加、倍点、模加、模乘;
顶层接口模块负责适配各类总线协议,是整个算法架构入口和出口;其将总线控制信号与数据读入,传给顶层控制模块并写入寄存器存储模块;整体运算完成后,通过读寄存器存储模块将结果送到总线上;
寄存器存储模块主要负责算法输入、输出及中间变量的寄存;
所述抗攻击的ECC并行多点乘算法包括:
获取n比特的密钥k,在椭圆曲线E上取点P,并产生随机数r、z;所述算法包括以下步骤:
(1)初始化k=(k+r)–r;
(2)将点P表示为等价的投影坐标点(xz2,yz3,z);
(3)初始化Q=O,O表示椭圆曲线上的无穷远点;
(4)预计算点加,中间变量T=P+P,T同样为椭圆曲线上的点;
(5)令i=n-1,对于每个i,执行如下(5.1)至(5.4)的过程,之后i-1,直到i=0:
(5.1)计算倍点Q=2Q;
(5.2)若(ki+ri)==1且ri==1,则:
计算点加Q=Q+T;
(5.3)若(ki+ri)==1且ri==0,则:
计算点加Q=Q+P;
(5.4)若(ki+ri)==0且ri==1,则:
计算点加Q=Q+P;
其中,ri表示第i次产生的随机数r,ki表示密钥k中的第i位密钥;
(6)验证点Q是否落在椭圆曲线上,若不在则报错;
(7)将点Q转换为仿射坐标点;
(8)返回点Q;
输出椭圆曲线点Q,Q为k和P点乘的结果。
2.根据权利要求1所述的ECC椭圆曲线抗攻击的硬件架构系统,其特征在于,所述模运算模块中,根据顶层控制模块的控制信号,若顶层仅需要模运算结果,则将结果写入寄存器存储模块中等待输出;若模运算由点运算模块调用,则将结果存入寄存器存储模块同时返回给点运算模块。
3.根据权利要求1所述的ECC椭圆曲线抗攻击的硬件架构系统,其特征在于,所述ECC椭圆曲线抗攻击的硬件架构的工作过程包括:
步骤1,顶层接口模块从总线上取出控制信号及输入数据,送给顶层控制模块;
步骤2,顶层控制模块根据控制信号判断需要执行的操作,若执行点乘,则根据所述算法按下述步骤执行:
首先,调用点运算中的预处理过程完成初始化;
其次,顶层控制模块根据算法的步骤(5)的流程调用点加和倍点操作,完成点乘运算;
随后,调用错误检测运算检验点Q是否在椭圆曲线上;
最后,顶层控制模块将点Q转换到仿射坐标点并存储计算结果;
步骤3,顶层接口模块读寄存器存储模块,将结果输出到总线上。
CN202110975490.7A 2021-08-24 2021-08-24 一种ecc椭圆曲线抗攻击的硬件架构 Active CN113691375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110975490.7A CN113691375B (zh) 2021-08-24 2021-08-24 一种ecc椭圆曲线抗攻击的硬件架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110975490.7A CN113691375B (zh) 2021-08-24 2021-08-24 一种ecc椭圆曲线抗攻击的硬件架构

Publications (2)

Publication Number Publication Date
CN113691375A CN113691375A (zh) 2021-11-23
CN113691375B true CN113691375B (zh) 2023-08-04

Family

ID=78581933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110975490.7A Active CN113691375B (zh) 2021-08-24 2021-08-24 一种ecc椭圆曲线抗攻击的硬件架构

Country Status (1)

Country Link
CN (1) CN113691375B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118103A (zh) * 2019-06-20 2020-12-22 佛山芯珠微电子有限公司 一种素域Fp下椭圆曲线快速点乘的硬件实现系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214195A (zh) * 2018-07-26 2019-01-15 广东工业大学 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法
CN110611559A (zh) * 2019-08-21 2019-12-24 广东工业大学 基于算法层的抗侧信道攻击sm2点乘架构及其运算方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214195A (zh) * 2018-07-26 2019-01-15 广东工业大学 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法
CN110611559A (zh) * 2019-08-21 2019-12-24 广东工业大学 基于算法层的抗侧信道攻击sm2点乘架构及其运算方法

Also Published As

Publication number Publication date
CN113691375A (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
Koeune et al. A tutorial on physical security and side-channel attacks
Karaklajić et al. Hardware designer's guide to fault attacks
Batina et al. Mutual information analysis: a comprehensive study
KR100891323B1 (ko) 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
CA2542556C (en) An authentication system executing an elliptic curve digital signature cryptographic process
Wang et al. Algebraic manipulation detection codes and their applications for design of secure cryptographic devices
Hess et al. Information leakage attacks against smart card implementations of cryptographic algorithms and countermeasures–a survey
EP2002331A1 (en) Protection against side channel attacks
CN108964914B (zh) 抗侧信道攻击的sm2点乘架构
CN111835518B (zh) 椭圆曲线公钥密码算法安全性测评中的错误注入方法及系统
US20210152331A1 (en) Protecting polynomial hash functions from external monitoring attacks
US20090086961A1 (en) Montgomery masked modular multiplication process and associated device
WO2018019233A1 (zh) 一种运算方法和安全芯片
Bauer et al. Correlation analysis against protected SFM implementations of RSA
WO2019121747A1 (en) Device and method for protecting execution of a cryptographic operation
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
CN113691375B (zh) 一种ecc椭圆曲线抗攻击的硬件架构
CN107896142B (zh) 一种执行模幂运算的方法及装置、计算机可读存储介质
Fournaris et al. Protecting CRT RSA against fault and power side channel attacks
TW200411593A (en) Method and apparatus for protecting public key schemes from timing, power and fault attacks
Wang et al. Secure multipliers resilient to strong fault-injection attacks using multilinear arithmetic codes
Coron et al. Improved gadgets for the high-order masking of dilithium
TW201909593A (zh) 用於模糊化裝置操作的系統、方法、及設備
US7496758B2 (en) Method and apparatus for protecting an exponentiation calculation by means of the chinese remainder theorem (CRT)
Ming et al. Revealing the weakness of addition chain based masked SBox implementations

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