CN107735981A - 用于防御加密攻击的时钟周期随机化 - Google Patents

用于防御加密攻击的时钟周期随机化 Download PDF

Info

Publication number
CN107735981A
CN107735981A CN201780000669.2A CN201780000669A CN107735981A CN 107735981 A CN107735981 A CN 107735981A CN 201780000669 A CN201780000669 A CN 201780000669A CN 107735981 A CN107735981 A CN 107735981A
Authority
CN
China
Prior art keywords
delay
variable
maker
correcting code
variable delay
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
Application number
CN201780000669.2A
Other languages
English (en)
Other versions
CN107735981B (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN107735981A publication Critical patent/CN107735981A/zh
Application granted granted Critical
Publication of CN107735981B publication Critical patent/CN107735981B/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/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pulse Circuits (AREA)
  • Manipulation Of Pulses (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

使用时钟周期随机化来防御加密攻击的方法、系统和设备。所述方法、系统和设备被设计为通过在加密操作期间使用具有可变周期的时钟来使边信道攻击和故障注入攻击更困难。在示例实施例中,时钟周期随机化器包括固定延迟生成器和可变延迟生成器,其中,由可变延迟生成器生成的可变延迟基于偶尔地或周期性地改变的随机或伪随机值。所述方法、系统和设备可用在关注故障注入和/或边信道攻击的硬件安全应用中。

Description

用于防御加密攻击的时钟周期随机化
相关申请的交叉引用
本申请要求2016年2月23日提交的美国临时专利申请No.62/298,842的优先权,其完整公开通过引用并入本文。
背景技术
许多计算系统使用密码术来实现实体之间的安全通信。现代加密系统通常依赖于密钥,一些密钥必须对外界保密以便维持安全性。已提出并实现了众多方法来暗中提取这些密钥。
加密攻击的两种类别是边信道攻击和故障注入攻击。在边信道攻击中,攻击者监测执行加密算法的装置。例如,在执行期间,装置的功耗、电磁辐射和/或声发射可向攻击者提供关于所处理的数据和所执行的指令的信息,因为当对特定数据进行操作时,指令可能提供特征。如果攻击者能够访问装置并反复地变化输入,则可搜集到关于私有密钥的信息。在知道特定加密算法及其对故障注入攻击的弱点的情况下,仅通过可行量的重复,攻击者就能够推断出加密密钥。
在故障注入攻击中,攻击者将故障注入执行并监测结果。故障注入包括变化电源供应、更改装置的时钟周期、更改温度、或者使用光、激光、x射线或离子来引起故障。例如,变化电源供应可引起导致指令跳过的毛刺。跳过条件跳转指令可能绕过重要的安全检查。变化时钟可能导致数据误读(例如,在存储器向总线提供适当的值之前从数据总线读取值)或指令缺失(例如,电路在处理器完成先前指令之前开始执行指令)。在另一示例中,由于RAM可能对写入有一个温度容限,并对读取有不同的温度容限,所以将温度改变为介于这两个温度容限之间的数将使得装置进入可向RAM写入数据,但无法从其读取数据的状态,或者反之(取决于哪一温度容限更高)。
如果加密攻击能够从装置提取秘密密钥,则会危及装置的安全性。因此,可取的是使攻击过程尽可能困难。
发明内容
为了提供对本公开的一些方面的基本理解,本发明内容以简化形式介绍了对概念的选择。本发明内容不是本公开的广泛概述,而且并不旨在识别本公开的关键或重要元素或者描绘本公开的范围。本发明内容仅仅呈现本公开的一些概念,作为下面所提供的具体实施方式的前言。
本公开大体上涉及用于保护数据的安全性的方法和系统。更具体地,本公开的各方面涉及利用时钟周期随机化来防御加密攻击。
通常,本说明书中所描述的主题的一个方面可被具体实现于一种在加密操作期间随机地变化装置时钟的设备中,该设备包括:输入时钟;以及时钟周期随机化器,该时钟周期随机化器生成随机地变化的可变时钟周期,以生成至少在加密操作期间以随机时钟速率驱动装置的输出可变时钟。
在至少一个实施例中,时钟周期随机化器包括:电路,其包括可变电容器;以及开关,其被配置为将可变电容器切换到电路中或切换出电路,所述开关由修正码控制,其中,所述电路被配置为基于所述开关的操作将时钟信号从低改变到高或从高改变到低。
在至少一个实施例中,该设备还包括生成修正码的修正码生成器,该修正码生成器包括生成随机数或伪随机数的随机数生成器。
在至少一个实施例中,修正码生成器包括一组寄存器,各个寄存器保存修正码。
在至少一个实施例中,修正码生成器包括线性反馈移位寄存器。
在至少一个实施例中,所述电路还包括:固定延迟生成器,其包括反相器、电阻器和电容器;可变延迟生成器,其包括反相器、电阻器和可变电容器;逻辑门,其连接至固定延迟生成器和可变延迟生成器,所述逻辑门输出具有可变时钟周期的时钟信号。
在至少一个实施例中,时钟周期随机化器包括:固定延迟生成器,其生成固定延迟;可变延迟生成器,其生成可变延迟;以及修正码生成器,其被配置为控制可变延迟生成器,其中,时钟信号具有通过固定延迟和可变延迟设定的可变周期。
在至少一个实施例中,其中,可变延迟生成器包括第一延迟单元和第二延迟单元,其中,第一延迟单元包括被配置为生成延迟的第一电路以及被配置为将第一电路切换到电路中以及切换出电路的第一多路复用器,其中,第一多路复用器通过修正码生成器所生成的修正码来控制,其中,第二延迟单元包括被配置为生成延迟的第二电路以及被配置为将第二电路切换到电路中以及切换出电路的第二多路复用器,其中,第二多路复用器通过修正码生成器所生成的修正码来控制,并且其中,修正码生成器包括生成随机数或伪随机数的随机数生成器。
在至少一个实施例中,固定延迟基于可变延迟生成器的最小延迟来确定。
在至少一个实施例中,固定延迟与可变延迟生成器的最小延迟之和满足关联的装置的最小时钟周期。
在至少一个实施例中,固定延迟与可变延迟生成器的最小延迟之和的上界满足关联的装置的预定性能阈值。
在至少一个实施例中,时钟周期随机化器包括:固定延迟生成器,其生成固定延迟;以及可变延迟生成器,其生成可变延迟,所述可变延迟生成器包括具有底板的变容二极管,其中,通过使对于变容二极管的底板的电压变化来生成可变延迟,并且其中,时钟信号具有通过固定延迟和可变延迟设定的可变周期。
在至少一个实施例中,时钟周期随机化器包括:固定延迟生成器,其生成固定延迟;以及可变延迟生成器,其生成可变延迟,所述可变延迟生成器包括生成可变延迟的相位插值器,其中,时钟信号具有通过固定延迟和可变延迟设定的可变周期。
在至少一个实施例中,可变延迟生成器包括被配置为生成延迟的电路以及被配置为将所述电路切换到电路中以及切换出电路的多路复用器,其中,多路复用器通过修正码生成器所生成的修正码来控制,并且其中,修正码生成器包括生成随机数或伪随机数的随机数生成器。
在至少一个实施例中,控制器基于输入时钟同步地将修正码提供给开关。
在至少一个实施例中,时钟周期随机化器包括:数模转换器(DAC);电压调节器,其接收逐循环变化的输入参考;以及串联的2n+1个反相器,所述反相器通过电压调节器输出的信号来驱动,其中n是大于零的整数。
在至少一个实施例中,可变电容器是线性电容器。
在至少一个实施例中,可变电容器是非线性电容器。
在至少一个实施例中,时钟周期随机化器还包括多个开关,其中,所述电路还包括多个基本上相同的可变电容器,并且其中,应用于所述基本上相同的可变电容器的修正码基于一元编码。
在至少一个实施例中,时钟周期随机化器还包括多个开关,其中,所述电路还包括多个可变电容器,并且其中,应用于可变电容器的修正码被二进制加权。
在至少一个实施例中,时钟周期随机化器还包括多个开关,其中,所述电路还包括第一可变电容器和第二可变电容器,并且其中,应用于第一可变电容器的第一修正码是二进制加权的修正码,并且其中,应用于第二可变电容器的第二修正码基于一元编码。
通常,本说明书中所描述的主题的一个方面可被具体实现于一种至少在加密操作期间生成用于装置的时钟信号的可变时钟周期以防御加密攻击的方法中,该方法包括:由固定延迟生成器生成固定延迟;由可变延迟生成器生成可变延迟;由随机数生成器生成随机数或伪随机数;基于随机数或伪随机数来控制可变延迟的量;基于固定延迟和可变延迟来控制时钟信号的可变周期;以及至少在加密操作期间按照可变时钟周期来驱动装置。
在至少一个实施例中,固定延迟与最小量的可变延迟之和大于或等于关联的装置的最小时钟周期。
在至少一个实施例中,固定延迟与最大量的可变延迟之和小于或等于关联的装置的预定性能阈值。
通常,本说明书中所描述的主题的一个方面可被具体实现于一种至少在加密操作期间将关联的装置的时钟的时钟周期随机化以防御加密攻击的方法中,该方法包括:确定修正码的集合,所述集合至少包括第一修正码和第二修正码;通过物理电子硬件生成随机数或伪随机数;基于随机数或伪随机数从修正码的集合中选择第一修正码;基于随机数或伪随机数从修正码的集合中选择第二修正码;将第一修正码提供给可变延迟生成器,该可变延迟生成器包括基于修正码的集合中的任何修正码来进行操作的元件;以及将第二修正码提供给可变延迟生成器,其中,当第一修正码被提供给可变延迟生成器时,关联的装置的时钟周期为第一时间量,其中,当第二修正码被提供给可变延迟生成器时,关联的装置的时钟周期为第二时间量,并且其中,第一时间量大于第二时间量。
在至少一个实施例中,可变延迟生成器具有最小延迟,其中,固定延迟生成器具有固定延迟,其中,固定延迟对关联的装置的时钟周期的长度作出贡献,并且其中,固定延迟与可变延迟生成器的最小延迟之和大于或等于关联的装置的最小时钟周期。
在至少一个实施例中,固定延迟与可变延迟生成器的最小延迟之和小于或等于关联的装置的预定性能阈值。
在至少一个实施例中,第一时间量至少比第二时间量大1%。
本文所公开的处理器和存储器系统中的一些或全部的实施例也可被配置为执行上面所公开的方法实施例中的一些或全部。上面所公开的方法中的一些或全部的实施例也可被表示为具体实现于诸如光学存储器或磁存储器的非暂时性处理器可读存储介质上的指令。另外,本公开的系统可被另选地实现于执行诸如例如高级加密标准(AES)、安全散列算法(SHA)等的加密功能的专用硬件中。
本公开的方法和系统的进一步的适用范围将通过下面给出的具体实施方式而变得显而易见。然而,应该理解,具体实施方式和具体示例在指示方法和系统的实施例时仅以例示的方式被给出,因为对本领域的技术人员而言,在本文所公开的概念的精神和范围内的各种变化和修改将从该具体实施方式而变得显而易见。
附图说明
对本领域的技术人员而言,本公开的这些和其它目标、特征和特性将结合随附权利要求书和附图从以下具体实施方式的研究中而变得更显而易见,其全部形成本说明书的一部分。附图中:
图1是示出对处理装置的常规加密攻击的示例的框图。
图2是示出根据本文所述的一个或更多个实施例的使用时钟周期随机化来防御加密攻击的示例效果的框图。
图3是示出根据本文所述的一个或更多个实施例的使用时钟周期随机化来防御加密攻击的示例高级系统的框图。
图4是示出根据本文所述的一个或更多个实施例的用于生成时钟周期随机化的示例系统的电路图,该示例系统包括反相器、可变电容器和逻辑门的布置。
图5是示出根据本文所述的一个或更多个实施例的用于生成修正码的示例系统的框图。
图6是示出根据本文所述的一个或更多个实施例的用于生成时钟周期随机化的示例方法的流程图。
图7是示出根据本文所述的一个或更多个实施例的用于生成时钟周期随机化的示例系统的框图,该示例系统包括同步镜像延迟。
图8是示出根据示例实施例的至少在加密操作期间生成用于装置时钟信号的可变时钟周期以防御加密攻击的方法的框图。
图9是示出根据示例实施例的至少在加密操作期间将关联的装置的时钟的时钟周期随机化以防御加密攻击的方法的框图。
图10是示出根据至少一个实施例的可被切换到电路中或被切换出电路的线性电容器组的电路图。
图11是示出根据示例实施例的用于生成时钟周期随机化的示例系统的电路图,该示例系统包括控制器、参考电压源、电压调节器以及串联的奇数个反相器。
本文所提供的标题仅仅是为了方便,未必会影响本公开所要求保护的内容的范围或含义。
在附图中,为了易于理解和方便,相同的标号以及任何首字母缩略词识别具有相同或相似的结构或功能的元件或动作。将在以下具体实施方式期间详细描述附图。
具体实施方式
现在将描述本公开的方法和系统的各种示例和实施例。以下描述为彻底理解这些示例并实现这些示例的描述提供了具体细节。然而,相关领域的技术人员将理解,本文所描述的一个或更多个实施例可在没有这些细节中的许多细节的情况下实践。同样,相关领域的技术人员还将理解,本公开的一个或更多个实施例可包括本文未详细描述的其它特征。另外,下面可能没有详细示出或描述一些熟知的结构或功能,以避免不必要地模糊相关描述。
如上所述,现代计算系统使用密码术来提供不同实体之间的安全通信,并且所实现的加密技术可能依赖于秘密密钥。对这些秘密密钥的依赖已促使开发了各种方法来攻击这样的系统并暗中提取密钥。
发明人认识到,利用具有固定周期的时钟来操作的装置使得更容易进行包括边信道攻击和故障注入攻击的加密攻击。使装置的时钟周期随机化会使加密攻击更困难。例如,加密密钥的位的确定至少部分地基于对时钟周期的长度的了解;因此,随机化的时钟周期会使加密攻击更困难。
图1示出常规地对处理装置进行的示例攻击。在所示的示例布置100中,处理器执行实现诸如例如高级加密标准(AES)的加密算法的代码。随着处理器执行连续的指令I0、I1、I2等,处理器将牵引供应电流(IDD)110,其为正执行的指令和正处理的数据二者的函数。在另一示例场景中,由于专用AES硬件执行指令而可牵引供应电流110。通过分析此特征并观察在不同的输入下该特征如何改变,可能能够获得关于加密密钥或者通常攻击者感兴趣的任何其它值或对象的信息,并最终推断出加密密钥或者通常攻击者感兴趣的任何其它值或对象。也可通过测量装置的电磁辐射(EMR)或声发射而非电源供应来执行分析。这种类型的方法(例如,分析装置的电源供应或EMR)通常被称作边信道攻击。
另一类攻击旨在通过使处理器发生故障、通过在操作期间操纵电源供应、更改装置的时钟周期、更改温度或者使用光、激光、x射线或离子来扰乱装置,以干扰装置。这些攻击通常被称作故障注入攻击120,并且它们依赖于在特定时间点提供干扰,例如,当处理器正在执行分支或跳转指令时。
如上所述,如果加密攻击能够从系统或装置提取加密密钥,则将危及系统或装置的安全性。
因此,设计出本公开的方法和系统以使攻击装置或系统的过程更困难。如本文中将描述的,本公开的实施例利用随机化的、伪随机化的、或者可变的时钟周期来保护装置免受加密攻击。例如,边信道攻击和故障注入攻击可依赖于相对一致的时钟周期。因此,代替使用具有固定周期P的时钟,本公开的方法和系统提供或包括具有可变周期的时钟。
在示例实施例中,时钟的可变周期可被表示为P+R×D,其中P是固定周期,D是恒定延迟,并且R是随机或伪随机值。在示例实施例中,R可以是例如间隔[0…1]中的值。在示例实施例中,一个时钟循环中的R的值可不同于另一时钟循环。在另一示例实施例中,R可随各个时钟循环而变化。在示例实施例中,R可每第k个时钟循环而改变,其中k是正整数。在另一示例实施例中,R可随不同的时钟循环而变化,但是每次R改变时R改变的循环之间的循环数量无需相同。
图2示出根据本文所述的一个或更多个实施例的使用时钟周期随机化来防御加密攻击的示例效果。如上所述,可按照P+R×D来定义图2中的时钟周期。然而,使时钟周期随机化使得加密攻击更困难,因为对于每次R改变时攻击者将无法具有R的先验知识。在边信道攻击的情况下,攻击者可能将当前测量与先前测量进行比较,但是在不知道对应时钟循环的长度的情况下比较将受阻。当攻击需要反复的处理以确定私有密钥的位值时,困难加重。在故障注入攻击的情况下,对给定加密算法的特定攻击可能需要恰好在执行特定指令之前注入故障。在攻击需要在第k个时钟循环中注入的故障出现在时间tk的情况下,随机化的时钟周期使得难以确定何时是tk或者在tk时执行什么指令。同样,当攻击需要多次重复时,困难加重。
在图2中,边信道攻击可能监测供应电流IDD 210。然而,基于功率分析的边信道攻击由于不知道在测量的时候正在执行哪一指令而受阻。即使知道(指令,数据)对的给定集合的功率(或发射)特征,针对各种对中的一个寻找匹配可能包括尝试各种时间偏差因素以及各种时间窗口。寻找注入故障220的时间tk的问题也变得更困难。
在众多其它用途和应用当中,本公开的方法、设备和系统可用在例如关注故障注入和/或差别边信道攻击的硬件安全应用中。尽管存在用于防御边信道攻击和故障注入攻击的方法,这些方法均未提供或包括本公开的方法和系统中所提供的方式的时钟周期随机化。
本领域的普通技术人员将认识到,如本文所用,实现“随机”、“随机性”、“随机化”、“随机地”等的实施例可使用“伪随机”、“伪随机性”、“伪随机化”、“伪随机地”等来如此做。
图3示出使用时钟周期随机化来防御加密攻击的示例高级系统300。诸如集成电路、芯片或片上系统的装置(未示出)提供包括安全操作的操作,包括诸如加密通信的加密操作。装置由输入时钟360来驱动或定时以提供操作。系统300至少在安全操作期间使装置时钟速度随机化,以防御加密攻击。根据至少一个实施例,系统300可包括时钟周期随机化器350,其包括生成tFIXED 310的固定延迟生成器、生成tVAR 320的可变延迟生成器和随机数生成器330。在示例实施例中,生成tVAR 320的可变延迟生成器可以是可控的可变延迟生成器。输入时钟360被提供给时钟周期随机化器350。在至少一个实施例中,在不包括其中可集成高级系统300的更大的系统或计算装置的设计期间考虑的微不足道的抖动的情况下,输入时钟360将具有固定周期。时钟周期随机化器350输出可变时钟365,其是驱动集成了系统300的装置的操作速度的可变时钟信号。
在示例实施例中,生成tFIXED 310的固定延迟生成器可被包括在生成tFIXED 310的延迟的电路中。在示例实施例中,生成tVAR 320的可变延迟生成器可被包括在生成tVAR 320的延迟的电路中。在示例实施例中,可基于随机数生成器330的输出来控制生成tVAR 320的可变延迟生成器,该输出是随机数或伪随机数。
在示例实施例中,可基于修正码生成器500(图5)的输出来控制生成tVAR 320的可变延迟生成器。在示例实施例中,生成tFIXED 310的固定延迟生成器、生成tVAR 320的可变延迟生成器和随机数生成器可连接。
在示例实施例中,生成tVAR 320的可变延迟生成器(图3)可包括反相器430a(图4)、电阻器445a和可变电容器440a。
在示例实施例中,生成tFIXED 310的固定延迟生成器(图3)可包括电容器420(图4)、电阻器415a和电容器425a。在示例实施例中,随机数生成器330可以是修正码生成器500(图5)的一部分。
在示例实施例中,生成tFIXED 310的固定延迟生成器(图3)可以是tFIXED生成器710(图7)。在示例实施例中,生成tVAR 320的可变延迟生成器可包括τ延迟生成器720以及将τ延迟生成器720切换到包括生成tVAR 320的可变延迟生成器的电路中或切换出该电路的多路复用器。
在示例实施例中,输入时钟360(图3)可具有长度为P的周期。(实际上,P将具有非零的抖动量,但是为了高级别的描述,P可被认为从一个时钟循环到下一时钟循环一致。)在示例实施例中,输出可变时钟365可具有长度为P+R×D的周期,其中R是随机或伪随机变量,D是常数。
为了系统300(图3)在装置中的适当操作,固定延迟310应该至少为装置可支持的最小周期(例如,最高频率)。可变延迟320可以某一最大值tMAX为边界。应该注意的是,tMAX的值越大,可使得边信道攻击和故障注入攻击越不可能成功,但是由于降低了有效时钟频率,系统性能也可能越低。根据至少一个实施例,利用模拟或数字控制信号来设定可变延迟320。可变延迟320(图3)的实现方式可包括环形振荡器,但是其它实现方式也是可能的。系统300可以是各种装置的一体部分或者被嵌入各种装置中,以为其提供安全,这样的装置包括例如安全集成电路(也称为安全“芯片”)、片上系统(也称为“SoC”)或者计算或通信装置。
随机数生成器330可以例如是测量系统300作为其一体部分或被嵌入其中的系统或装置中的某一随机参数或事件的真正随机数生成器(TRNG)、诸如线性反馈移位寄存器的伪随机数生成器、其某种组合、或者提供随机性或伪随机性的一些其它实现方式。
根据本公开的一个或更多个实施例,系统的实现细节可相对于图3所示的示例系统300变化。例如,可变延迟tVAR 320的任何实现方式将具有特定最小延迟。可在设计固定延迟tFIXED 310时考虑此最小延迟。
输出可变时钟365以时钟周期随机化器针对其生成可变时钟周期的装置的最大频率为下界。在一些装置中,例如,使用动态电压缩放和/或动态频率缩放的那些装置,时钟的最大频率本身是可变的。随着最大频率变化,输出可变时钟365的下界也将变化。因此,在可变周期被表示为P+R×D并且R是间隔[0…1]中的值的情况下,P以时钟周期随机化器针对其生成可变时钟周期的装置的最大频率为下界。
图4示出用于生成时钟周期随机化的示例系统400,其包括反相器、可变电容器和逻辑门的布置。图4包括逻辑门410,电阻器415a-415d、反相器420a-420d、电容器425a-425d、反相器430a-430d、可变电容器440a-440d、电阻器445a-445d、时钟周期随机化器450、输入时钟460、输出可变时钟465、信号接地470a-470d、信号接地475a-475d、固定延迟线480、可变延迟线485、输出可变时钟线487和控制器490。控制器490可包括修正码生成器500(图5)。另选地,控制器490可连接至修正码生成器500以从修正码生成器500接收至少一个修正码。控制器490将至少一个修正码提供给可变电容器440a-440d。
在图4所描绘的示例实施例中,通过四个反相器420a-420d、电阻器415a-415d和电容器425a-425d的组合来提供固定延迟tFIXED 310(图3)的本体。例如,可通过推出时钟的下降沿来提供可变延迟。例如,可通过四个反相器430a-430d、四个电阻器445a-445d和四个可变电容器440a-440d的组合来实现该可变延迟。四个电阻器445a-445d和四个可变电容器440a-440d可基于它们所实施的时间常数来提供可变延迟,并且实施此时间常数可包括应用至少一个修正码。可按照不同的循环改变至少一个修正码以实现可变延迟tVAR 320。
图4描绘了逻辑门410作为与非(NAND)门,但是实施例不限于此。在另一示例实施例中,代替NAND门,可利用诸如或非(NOR)门的逻辑来实现时钟周期随机化器。
在示例实施例中,系统400可按照以下方式操作。输入时钟460向控制器490提供时钟信号。在至少一个实施例中,在不包括微不足道的抖动的情况下,输入时钟460可以是具有固定周期的时钟,并且输入时钟460可驱动时钟周期随机化器450与其成一体或被嵌入其中的装置。在至少一个实施例中,在执行加密算法期间或者在需要安全性的过程期间,输入时钟460可驱动时钟周期随机化器450或为其提供时钟,以使得时钟周期随机化器450操作以提供输出可变时钟465。在至少一个实施例中,输出可变时钟465可提供驱动执行需要安全性的操作的电路或处理器的可变时钟信号。
控制器490向可变电容器440a-440d提供控制信号。控制信号可包括少一个修正码。
在基于图4的实施例中,时钟周期随机化器450包括电容器470a-470d和可变电容器445a-445d二者。在至少一个实施例中,设计的一个优点在于可通过控制器490同步地将修正码提供给可变电容器440a-440d。即,输入时钟460以及向可变电容器440a-440d提供修正码的控制器490可具有同步系统设计。
由于根据控制信号来控制可变延迟链(反相器430a-430d、电阻器445a-445d、可变电容器475a-475d),所以可变延迟链的时间常数τ基于控制信号而变化。因此,从可变延迟链输入至逻辑门410的可变延迟线485处的电压将基于控制信号而变化。一旦来自固定延迟线480的电压和来自可变延迟线485的电压到达逻辑门410,逻辑门410就经由输出可变时钟线487实现时钟信号从高到低或从低到高的改变,从而得到输出可变时钟465。信号接地470a-470d和信号接地475a-475d向电路中的各个级提供参考电压。控制信号490向时钟周期随机化器450提供随机性或伪随机性以实现τ中的随机或伪随机变化。
如图4所描绘的时钟周期随机化器450包括包含反相器、电阻器、电容器和信号接地的集合的四个实例。另外,如图4所描绘的时钟周期随机化器450包括包含反相器、电阻器、可变电容器和信号接地的集合的四个实例。然而,实施例不限于此。本领域的普通技术人员将认识到,集合的数量可根据设计参数或偏好而变化。
在至少一个实施例中,可变电容器440a-440d可被实现为线性电容器组(例如,如在图10中示出并在下面更详细描述的)。在此实施例中,对电容器440a-440的控制信号可操作一个或多个开关,所述开关将电容器440a-440d切换到电路中/切换出电路。在此实施例中,应该注意仅当不存在横切固定延迟链(反相器420a-420d、电阻器415a-415d、电容器425a-425d)的脉冲时才更新电容器设置,以使得输出可变时钟465不产生毛刺。
在至少一个其它实施例中,可变电容器440a-440d可被实现为底板电压变化的变容二极管。在实施例中,对可变电容器440a-440d的控制信号可操作以使对于变容二极管的底板的电压变化。
除了上面描述并在图3和图4中示出的示例实现方式之外或代替这些示例实现方式,存在众多其它可能的实现方式。例如,通过在各个级处而非仅在单独的级处包括可变电容器,可围绕环更均匀地分布提供可变延迟(tVAR 320)的元件。在至少一个其它实施例中,可由输入参考逐循环地变化的电压调节器驱动对整个环的供应(例如,如在图11中示出并在下面更详细描述的)。另选地,可利用多路复用器结构或同步镜像延迟的修改形式来变化环中的有效元件的数量(例如,如在图7中示出并在下面更详细描述的).
根据一个或更多个其它实施例,可使用相位插值器以变化延迟。在这样的实施例中,相位插值器控制的子集被设定为随机或伪随机输入,而非诸如斜坡的已知图案。
图10是示出根据至少一个实施例的可被切换到电路中或切换出电路的线性电容器组1050的电路图。图10包括开关1030a-1030n、信号Sel0至Seln-1、信号线性电容器1040a-1040n、输入时钟1060、信号接地1075a-1075n、可变延迟线1085和控制器1090,其中,在至少一个实施例中,n≥2。电容器440a-440d(图4)可以是线性电容器1040a-1040n;输入时钟460可以是输入时钟1060;信号接地475a-475d可以是信号接地1075a-1075n;可变延迟线485可以是可变延迟线1085;和/或控制器490可以是控制器1090,但是实施例不限于此。在至少一个实施例中,尽管未描绘,其它元件可连接至延迟线1085,例如反相器430a-430d、电阻器445a-445d和/或逻辑门410。控制器1090可包括修正码生成器500(图5),或者连接至修正码生成器500以从修正码生成器500接收至少一个修正码,并将该至少一个修正码提供给线性电容器1040a-1040。
控制器1090向开关1030a-1030n提供包括信号(例如,位向量)Seli0≤i≤n-1的修正码,以将线性电容器1040a-1040n中的每一个切换到电路中或切换出电路。输入时钟1060和控制器1090可具有同步设计,使得基于输入时钟1060将修正码同步地提供给开关1030a-1030n。
在至少一个实施例中,线性电容器1040a-1040n类似于数字至时间转换器(DTC),其各种实现方式对于本领域的普通技术人员而言是已知的。
在至少一个实施例中,线性电容器1040a-1040n(或者在至少一个实施例中,包括线性电容器1040a-1040n的元件的n个集合)可相同(或者“基本上相同”,例如具有相同的零件编号或相同的型号),在这种情况下应用于开关1030a-1030n的修正码集合中的至少一些修正码可基于一元编码(例如,温度计编码)。
在至少一个实施例中,线性电容器1040a-1040n(或者在至少一个实施例中,包括线性电容器1040a-1040n的元件的n个集合)可被二进制加权,在这种情况下修正码集合中的至少一些修正码在本文中被称作“二进制加权修正码”,其随二进制数增大。
在至少一个实施例中,线性电容器1040a-1040n(或者在至少一个实施例中,包括线性电容器1040a-1040n的元件的n个集合)可以是相同线性电容器和二进制加权的线性电容器(包括线性电容器的元件的n个集合)的组合,其中,与较高有效位对应的线性电容器(包括线性电容器的元件的n个集合)被二进制加权并通过应用于对应开关的二进制加权修正码来控制,与较低有效位对应的线性电容器相同并通过基于一元编码的修正码来控制。
线性电容器1040a-1040n可以是线性电容器,但是实施例不限于此。例如,如果取代线性电容器1040a-1040n的电容器基于源极和漏极被短路的CMOS装置,则电容将是非线性的。
图11是示出根据示例实施例的用于生成时钟周期随机化的示例系统的电路图,该示例系统包括控制器、参考电压源、电压调节器和串联的奇数个反相器。图11包括反相器1130a-1130(2n+1)、电压调节器1150、控制器1190、输出可变时钟线1187、输出可变时钟1165和参考电压VREF。在图11中,可由其输入参考VREF逐循环地变化的电压调节器1150来驱动对整个环的供应。环包括串联的奇数个反相器,即,环中的反相器的数量为2n+1,n>0。环中的所有级由电压调节器1150来驱动。级被描绘为反相器,但是实施例不限于此。通过控制器1190所提供的参考信号VREF来控制电压调节器1150的输出。可由其输入周期性地改变以生成周期性变化的数模转换器(DAC)来驱动VREF;在此实施例中,控制器1190可包括DAC。在至少一个其它实施例中,电压调节器1150可包括DAC功能;在此实施例中,电压调节器1150可具有数字电压控制输入。
图5示出用于生成修正码的示例系统。图5包括修正码生成器500、随机数生成器530、种子543、m位伪随机二进制序列生成器515、逻辑门510、包括触发器520a-520m的移位寄存器、模运算计算器512、包括寄存器540a-540p的寄存器组以及多路复用器550。包括寄存器540a-540p的寄存器组可包括16个寄存器,但是实施例不限于此。可由本领域的普通技术人员基于设计参数或偏好来选择寄存器组中的寄存器540的数量。
根据至少一个实施例,修正码生成器500使用伪随机性来输出修正码以确定应该输出修正码集合中的哪一修正码。在示例实施例中,修正码可用于控制形成振荡器的一部分的电容器阵列。通常,修正码生成器500的方法并非是知道在硬件中使频率变化多少,而仅仅是从可编程修正码的集合中随机地进行选择,使得对目标电路应用修正码的结果集中于期望的频率。
在示例实施例中,随机数生成器530将种子543提供给m位伪随机二进制序列生成器515,并且m位伪随机二进制序列生成器515将m位伪随机二进制序列(mPRBS)提供给模运算计算器512。
存在可以更新m位伪随机二进制序列生成器515的多种方式。如果m位伪随机二进制序列生成器515所输出的mPRBS具有足够的长度,则每加密例程仅将种子543更新到m位伪随机二进制序列生成器515一次可能就足够了。在至少一个其它实施例中,可在有限状态机的控制下周期性地更新种子543。
模运算计算器512可确定mPRBS按λ取模(mPRBS modλ),其中λ是正整数。由模运算计算器512确定的值被提供给多路复用器550以控制多路复用器550,使得保存在包括寄存器540a-540p的寄存器组的特定寄存器中的值将作为多路复用器550的输出被提供。在示例实施例中,多路复用器550的输出可作为控制信号被提供给控制器490(图4)以控制时钟周期随机化器450。在另一实施例中,多路复用器550的输出可作为控制信号被提供给控制器1090(图10)以控制可以作为时钟周期随机化器450的一部分的线性电容器组1050。
在示例实施例中,随机数生成器530被实现为真正随机数生成器。在示例实施例中,m位伪随机二进制序列生成器515被实现为线性反馈移位寄存器(LFSR)。在示例实施例中,m的值被选择为使得实现期望水平的伪随机性。尽管逻辑门510被描绘为同或(XNOR)门,但本领域的普通技术人员将认识到,m位伪随机二进制序列生成器515的实施例不限于此。存在实现LFSR的许多方式,包括在LFSR中的逻辑门可不是XNOR门。
在示例实施例中,λ等于连接至多路复用器550的寄存器组中的寄存器540a-540p的数量。在示例实施例中,模运算计算器512确定mPRBS按16取模(mPRBS mod 16)。在示例实施例中,保存在寄存器540a-540p中的值是可被供应给控制器490的修正码。本领域的普通技术人员将认识到,供应给控制器490的可能修正码的数量可取决于如何实现时钟周期随机化器450中的可变电容器阵列。在示例实施例中,时钟周期随机化器450可包括对电容器440a-440d(或1040a-1040n)进行切换的若干开关(例如,1030a-1030n(图10)),并且开关的集合可具有对于时钟周期随机化器450的操作而言容许(例如,有用或有效或合法)的数量为σ的状态。在示例实施例中,可期望σ个寄存器540a-540p。
图6示出用于生成时钟周期随机化的示例方法600。根据本文所描述的至少一个实施例,处理600可包括方框605至620。然而,根据本公开的一个或更多个其它实施例,除了在图6中示出并在下面更详细描述的那些步骤或操作之外或代替那些步骤或操作,示例处理600可包括一个或多个其它步骤或操作。
在方框605,可对同步系统可操作的最小时间周期(tMIN)进行确定。例如,同步系统设计包含设定系统的最大操作频率(fMAX)的一些关键路径。在数据输入的一些集合和环境条件下,在fMAX以上运行的同步系统中的时钟最终将生成不正确的结果。观察到
最大操作频率fMAX可基于执行加密算法并接收输出可变时钟365、465或1165的CPU、ASIC或其它集成电路的规格。
在方框610,可对在维持特定性能水平(例如,满足性能阈值)的同时整个装置可操作的最大时间周期(tMAX)进行确定。
最大时间周期tMAX可取决于设计偏好。如果加密算法的复杂度相对低,并且在与通用处理器相反的ASIC上执行加密算法,则tMAX将相对低,但是与在通用处理器上执行加密算法相比,ASIC可能成本更高。另一方面,如果加密算法的复杂度相对高,并且在通用处理器上执行加密算法,则对设计偏好和参数而言tMAX的重要性更高,因为由输出可变时钟365、465或1165驱动的加密算法的执行将需要相对更多的时间。
在方框615,时钟周期的最小时间周期可被设定为同步系统设计可操作的最小时间周期tMIN(在方框605处所确定的)。
在方框620,时钟周期的变化可被设定为在方框610处确定的最大周期与在方框605处确定的最小周期之差,或者(tMAX)-(tMIN)。
图7示出用于生成时钟周期随机化的示例系统700,其包括同步镜像延迟(SMD)。在示例实施例中,由tFIXED生成器710提供固定延迟tFIXED 310。根据本文所描述的至少一个实施例,可利用具有电容或RC负载的反相器来实现tFIXED生成器710。然而,根据一个或更多个其它实施例,可利用生成延迟的任何电路来实现tFIXED生成器710。在所示的示例中,tFIXED生成器710还为振荡器生成反转,但是也可在环中的别处提供此功能。
可利用选择信号Sel0、Sel1、…、Seln来选择(其中n是完整镜像延迟级的数量)延迟的可变部分(tVAR 320,图3)。各个τ延迟生成器720具有固定延迟。选择给定信号Seli高导致2τi的可变延迟(假设各个τ延迟生成器720被实现为提供相同量的延迟)。在示例实施例中,可由接收选择信号的多路复用器730i来完成对给定信号Seli高的选择。通过进行i随机或伪随机的选择,振荡器的总延迟将在tFIXED与tFIXED+2τn之间随机地或伪随机地变化。
在示例实施例中,多路复用器730i以及包括τ延迟生成器720的电路可被称作延迟单元,可将τ延迟生成器720切换到电路中以及切换出电路。
在示例实施例中,控制器790提供选择信号Sel0、Sel1、…、Seln。在示例实施例中,控制器790是修正码生成器500。在示例实施例中,控制器790是修正码生成器500,其中,多路复用器550的输出是长度为n的位向量。在示例实施例中,控制器790是具有σ个寄存器540a-540p的修正码生成器500,其中,通过选择信号选择的合法状态的数量为σ。
尽管图7中的示例示出离散的多路器,应该注意的是,同样可考虑将前向路径环回到反向路径的众多其它布置方式。
图8是示出根据示例实施例的至少在加密操作期间生成装置的时钟信号的可变时钟周期以防御加密攻击的方法800的框图。图8开始于发起(805)加密操作。不要求本文所描述的时钟周期随机化器的实施例发起加密操作;时钟周期随机化器以外的装置或单元可发起加密操作。如果加密操作被实现于软件中,则该软件可触发(例如,使得)时钟周期随机化器开始随机地变化的可变时钟周期以生成至少在加密操作期间以随机时钟速率驱动装置的输出可变时钟。如果加密操作被实现于用于加密操作的硬件中(例如,用于加密操作的ASIC、安全或加密协同处理器等上),则用于加密操作的硬件的启动可触发(例如,使得)时钟周期随机化器开始随机地变化的可变时钟周期以生成至少在加密操作期间以随机时钟速率驱动装置的输出可变时钟。通常,确定加密操作将发起或正发起的任何其它常规或已知的手段可辅以逻辑,该逻辑触发(例如,使得)时钟周期随机化器开始随机地变化的可变时钟周期以生成至少在加密操作期间以随机时钟速率驱动装置的输出可变时钟。
时钟周期随机化器开始操作。
首先,固定延迟生成器生成(810)固定延迟。固定延迟生成器可包括RC电路,例如,时钟周期随机化器450的包括电阻器415a-415d、反相器420a-420d和电容器425a-425d的部分。在至少一个其它实施例中,固定延迟生成器可包括tFIXED生成器710。在至少一个其它实施例中,tFIXED可以是在图11的VREF的脉冲之间的时间中的时间分量。在至少一个其它实施例中,tFIXED可以是在图11的实施例中的数字电压控制输入的数字信号之间的时间中的的时间分量,其中,电压调节器1150包括DAC功能。
其次,可变延迟生成器生成(820)可变延迟。可变延迟生成器可包括反相器430a-430d、电阻器445a-445d和可变电容器440a-440d,并且可从修正码生成器500接收修正码。在至少一个实施例中,可变延迟生成器可包括τ延迟生成器720和多路复用器7300-730n,并且可从控制器790接收信号。在至少一个实施例中,可变延迟生成器可包括开关1030a-1030n和电容器1040a-1040n,并且可从控制器1090接收由修正码生成器500生成的修正码。在至少一个实施例中,可变延迟tVAR可以是在图11的VREF的脉冲之间的时间中随机地或伪随机地变化的时间分量。在至少一个其它实施例中,tVAR可以是在图11的实施例中的数字电压控制输入的数字信号之间的时间中随机地或伪随机地变化的时间分量,其中,电压调节器1150包括DAC功能。
第三,随机数生成器生成(830)随机数或伪随机数。随机数生成器可以是随机数生成器330或530。
第四,基于随机数或伪随机数来控制(840)可变延迟的量。可由修正码生成器500和控制器490、790或1090基于随机数或伪随机数来控制可变延迟的量。可由控制器1190基于随机数或随机数来控制可变延迟的量。可由接收数字信号的电压调节器1150基于随机数或伪随机数来控制可变延迟的量,其中,电压调节器1150包括DAC功能。
第五,基于固定延迟和可变延迟来控制(850)时钟信号的可变周期。可由修正码生成器500和控制器490、790或1090基于固定延迟和可变延迟来控制时钟信号的可变周期。在至少一个实施例中,可由控制器1190基于固定延迟和可变延迟来控制时钟信号的可变周期。在至少一个实施例中,可由接收数字信号的电压调节器1150基于固定延迟和可变延迟来控制时钟信号的可变周期,其中,电压调节器1150包括DAC功能。
第六,至少在加密操作期间按照可变时钟周期来驱动(860)装置。可由输出可变时钟365、465或1165来驱动装置。
图9是示出根据示例实施例的至少在加密操作期间使关联的装置的时钟的时钟周期随机化以防御加密攻击的方法900的框图。首先,确定(910)修正码的集合,所述集合至少包括第一修正码和第二修正码。可由修正码生成器500来生成或确定修正码的集合。可由本领域的普通技术人员基于修正码集合中的各个修正码可包括的位数来确定修正码的集合。与修正码集合中的各个修正码可包括的位数有关的因素可包括使用修正码来控制的元件的数量以及使用修正码来控制的元件的期望或容许的状态的数量。
其次,物理电子硬件生成(920)随机数或伪随机数。可由随机数生成器330或530来生成随机数或伪随机数。
第三,基于随机数或伪随机数从修正码的集合选择(930)第一修正码。可由基于随机数或伪随机数来选择修正码集合中的第一修正码,修正码生成器500包括m位伪随机二进制序列生成器515、逻辑门510、包括触发器520a-520m的移位寄存器、模运算计算器512、包括寄存器540a-540p的寄存器组以及多路复用器550。
第四,基于随机数或伪随机数从修正码的集合中选择(940)第二修正码。可由修正码生成器500基于随机数或伪随机数来选择修正码集合中的第二修正码,修正码生成器500包括m位伪随机二进制序列生成器515、逻辑门510、包括触发器520a-520m的移位寄存器、模运算计算器512、包括寄存器540a-540p的寄存器组以及多路复用器550。
第五,将第一修正码提供(950)给可变延迟生成器,该可变延迟生成器包括基于修正码集合中的任何修正码来操作的元件。在至少一个实施例中,修正码集合可仅包括用于容许状态的修正码;在至少一个实施例中,并非特定长度的位向量的所有排列均可作为用于容许状态的修正码,因为一些排列在被应用时可能导致无用、不期望、无效和/或不合法的配置(例如,硬件配置或开关配置)。可变延迟生成器可包括反相器430a-430d、电阻器445a-445d和可变电容器440a-440d,并且可从修正码生成器500接收第一修正码和第二修正码。在至少一个实施例中,可变延迟生成器可包括τ延迟生成器720和多路复用器7300-730n,并且可从控制器790接收信号,该信号包括第一修正码和第二修正码。在至少一个实施例中,可变延迟生成器可包括开关1030a-1030n和电容器1040a-1040n,并且可从控制器1090接收第一修正码和第二修正码。在至少一个实施例中,可变延迟tVAR可以是在图11的VREF的脉冲之间的时间中随机地或伪随机地变化的时间分量,并且随机或伪随机变化可以是第一修正码或和第二修正码的函数,由包括集成电路的逻辑或由控制器1190来确定或计算该函数。在至少一个其它实施例中,tVAR可以是在图11的实施例中的数字电压控制输入的数字信号之间的时间中随机地或伪随机地变化的时间分量,其中,电压调节器1150包括DAC功能,并且数字信号是第一修正码或第二修正码的函数或者包括第一修正码或第二修正码。
第六,将第二修正码提供(960)给可变延迟生成器,其中,当第一修正码被提供给可变延迟生成器时,关联的装置的时钟周期为第一时间量,其中,当第二修正码被提供给可变延迟生成器时,关联的装置的时钟周期为第二时间量,并且其中,第一时间量至少比第二时间量大1%。
如本文所用,“加密操作”包括加密算法中所包括的操作。“加密操作”还包括对私有密钥的操作。加密算法包括(但不限于)美国联邦信息处理标准出版物202(SHA-3标准)和美国联邦信息处理标准出版物197(AES标准)中所提供的算法。
以上详细描述已经经由使用框图、流程图和/或示例阐述了装置和/或处理的各种实施例。由于这些框图、流程图和/或示例包含一个或更多个功能和/或操作,本领域的技术人员将理解,这些框图、流程图或示例内的各个功能和/或操作可通过宽范围的硬件、软件、固件或其几乎任何组合单独地和/或共同地被实现。根据至少一个实施例,本文所描述的主题的多个部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或者其它集成格式来实现。然而,本领域的技术人员将认识到,本文所公开的实施例的一些方面可全部或部分地在集成电路中等效地实现,作为在一个或更多个计算机上运行的一个或更多个计算机程序、作为在一个或更多个处理器上运行的一个或更多个程序、作为固件、或者作为其几乎任何组合,并且本领域的技术人员将认识到根据本公开设计电路和/或编写软件和/或固件的代码将在其能力范围内。
对于本文中所使用的基本上任何复数形式和/或单数形式的术语,在适合于上下文和/或应用时,本领域的技术人员可从复数形式变换为单数形式和/或从单数形式变换为复数形式。为清晰起见,可在本文中明确地阐述各种单数形式/复数形式置换。
因此,已描述了主题的特定实施例。其它实施例在以下权利要求书的范围内。在一些情况下,权利要求书中叙述的动作可按照不同的顺序来执行,并且仍可实现期望的结果。另外,附图中所描绘的处理不一定需要所示的特定顺序或相继顺序来实现期望的结果。在某些实现方式中,多任务处理和并行处理可为有利的。

Claims (28)

1.一种在加密操作期间随机地变化装置时钟的设备,所述设备包括:
输入时钟;以及
时钟周期随机化器,所述时钟周期随机化器生成随机地变化的可变时钟周期以生成至少在加密操作期间以随机时钟速率驱动所述装置的输出可变时钟。
2.根据权利要求1所述的设备,其中,所述时钟周期随机化器包括:
电路,所述电路包括可变电容器;以及
开关,所述开关被配置为将所述可变电容器切换到所述电路中或切换出所述电路,所述开关由修正码控制,
其中,所述电路被配置为基于所述开关的操作将时钟信号从低改变到高或从高改变到低。
3.根据权利要求2所述的设备,还包括生成所述修正码的修正码生成器,所述修正码生成器包括生成随机数或伪随机数的随机数生成器。
4.根据权利要求3所述的设备,其中,所述修正码生成器包括寄存器组,每个寄存器保存修正码。
5.根据权利要求4所述的设备,其中,所述修正码生成器包括线性反馈移位寄存器。
6.根据权利要求2所述的设备,其中,所述电路还包括:
固定延迟生成器,所述固定延迟生成器包括反相器、电阻器和电容器;
可变延迟生成器,所述可变延迟生成器包括反相器、电阻器和所述可变电容器;
逻辑门,所述逻辑门连接至所述固定延迟生成器和所述可变延迟生成器,所述逻辑门输出具有所述可变时钟周期的所述时钟信号。
7.根据权利要求1所述的设备,所述时钟周期随机化器包括:
固定延迟生成器,所述固定延迟生成器生成固定延迟;
可变延迟生成器,所述可变延迟生成器生成可变延迟;以及
修正码生成器,所述修正码生成器被配置为控制所述可变延迟生成器,
其中,时钟信号具有通过所述固定延迟和所述可变延迟设定的可变周期。
8.根据权利要求7所述的设备,
其中,所述可变延迟生成器包括第一延迟单元和第二延迟单元,
其中,所述第一延迟单元包括被配置为生成延迟的第一电路以及被配置为将所述第一电路切换到电路中以及切换出电路的第一多路复用器,其中,所述第一多路复用器通过所述修正码生成器所生成的修正码来控制,
其中,所述第二延迟单元包括被配置为生成延迟的第二电路以及被配置为将所述第二电路切换到电路中以及切换出电路的第二多路复用器,其中,所述第二多路复用器通过所述修正码生成器所生成的修正码来控制,以及
其中,所述修正码生成器包括生成随机数或伪随机数的随机数生成器。
9.根据权利要求7所述的设备,其中,所述固定延迟基于所述可变延迟生成器的最小延迟来确定。
10.根据权利要求9所述的设备,其中,所述固定延迟与所述可变延迟生成器的所述最小延迟之和满足关联的装置的最小时钟周期。
11.根据权利要求9所述的设备,其中,所述固定延迟与所述可变延迟生成器的所述最小延迟之和的上界满足关联的装置的预定性能阈值。
12.根据权利要求1所述的设备,所述时钟周期随机化器包括:
固定延迟生成器,所述固定延迟生成器生成固定延迟;以及
可变延迟生成器,所述可变延迟生成器生成可变延迟,所述可变延迟生成器包括具有底板的变容二极管,
其中,所述可变延迟通过使对于所述变容二极管的所述底板的电压变化来生成,以及
其中,时钟信号具有通过所述固定延迟和所述可变延迟设定的可变周期。
13.根据权利要求1所述的设备,所述时钟周期随机化器包括:
固定延迟生成器,所述固定延迟生成器生成固定延迟;以及
可变延迟生成器,所述可变延迟生成器生成可变延迟,所述可变延迟生成器包括生成所述可变延迟的相位插值器,
其中,时钟信号具有通过所述固定延迟和所述可变延迟设定的可变周期。
14.根据权利要求7所述的设备,
其中,所述可变延迟生成器包括被配置为生成延迟的电路以及被配置为将所述电路切换到电路中以及切换出电路的多路复用器,
其中,所述多路复用器通过所述修正码生成器所生成的修正码来控制,以及
其中,所述修正码生成器包括生成随机数或伪随机数的随机数生成器。
15.根据权利要求2所述的设备,其中,控制器基于所述输入时钟同步地将所述修正码提供给所述开关。
16.根据权利要求1所述的设备,所述时钟周期随机化器包括:
数模转换器(DAC);
电压调节器,所述电压调节器接收逐循环变化的输入参考;以及
串联的2n+1个反相器,所述反相器通过所述电压调节器所输出的信号来驱动,其中n是大于零的整数。
17.根据权利要求2所述的设备,其中,所述可变电容器是线性电容器。
18.根据权利要求2所述的设备,其中,所述可变电容器是非线性电容器。
19.根据权利要求2所述的设备,其中,所述时钟周期随机化器还包括多个开关,其中,所述电路还包括多个基本上相同的可变电容器,并且其中,应用于所述基本上相同的可变电容器的修正码基于一元编码。
20.根据权利要求2所述的设备,其中,所述时钟周期随机化器还包括多个开关,其中,所述电路还包括多个可变电容器,并且其中,应用于所述可变电容器的修正码被二进制加权。
21.根据权利要求2所述的设备,其中,所述时钟周期随机化器还包括多个开关,其中,所述电路还包括第一可变电容器和第二可变电容器,并且其中,应用于所述第一可变电容器的第一修正码是二进制加权的修正码,并且其中,应用于所述第二可变电容器的第二修正码基于一元编码。
22.一种至少在加密操作期间为装置的时钟信号生成可变时钟周期以防御加密攻击的方法,所述方法包括:
由固定延迟生成器生成固定延迟;
由可变延迟生成器生成可变延迟;
由随机数生成器生成随机数或伪随机数;
基于所述随机数或所述伪随机数来控制所述可变延迟的量;
基于所述固定延迟和所述可变延迟来控制时钟信号的可变周期;以及
至少在加密操作期间按照所述可变时钟周期驱动所述装置。
23.根据权利要求22所述的方法,其中,所述固定延迟与所述可变延迟的最小量之和大于或等于关联的装置的最小时钟周期。
24.根据权利要求23所述的方法,其中,所述固定延迟与所述可变延迟的最大量之和小于或等于所述关联的装置的预定性能阈值。
25.一种至少在加密操作期间使关联的装置的时钟的时钟周期随机化以防御加密攻击的方法,所述方法包括:
确定修正码的集合,所述集合至少包括第一修正码和第二修正码;
通过物理电子硬件生成随机数或伪随机数;
基于所述随机数或所述伪随机数从所述修正码的集合中选择所述第一修正码;
基于所述随机数或所述伪随机数从所述修正码的集合中选择所述第二修正码;
将所述第一修正码提供给可变延迟生成器,所述可变延迟生成器包括基于所述修正码的集合中的任何修正码操作的元件;以及
将所述第二修正码提供给所述可变延迟生成器,
其中,当所述第一修正码被提供给所述可变延迟生成器时,所述关联的装置的时钟周期为第一时间量,
其中,当所述第二修正码被提供给所述可变延迟生成器时,所述关联的装置的时钟周期为第二时间量,并且
其中,所述第一时间量大于所述第二时间量。
26.根据权利要求25所述的方法,
其中,所述可变延迟生成器具有最小延迟,
其中,固定延迟生成器具有固定延迟,
其中,所述固定延迟对所述关联的装置的所述时钟周期的长度作出贡献,以及
其中,所述固定延迟与所述可变延迟生成器的所述最小延迟之和大于或等于所述关联的装置的最小时钟周期。
27.根据权利要求26所述的方法,其中,所述固定延迟与所述可变延迟生成器的所述最小延迟之和小于或等于所述关联的装置的预定性能阈值。
28.根据权利要求25所述的方法,其中,所述第一时间量至少比所述第二时间量大1%。
CN201780000669.2A 2016-02-23 2017-02-22 用于防御加密攻击的时钟周期随机化 Active CN107735981B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662298842P 2016-02-23 2016-02-23
US62/298,842 2016-02-23
US15/436,489 US10958414B2 (en) 2016-02-23 2017-02-17 Clock period randomization for defense against cryptographic attacks
US15/436,489 2017-02-17
PCT/US2017/018813 WO2017147116A1 (en) 2016-02-23 2017-02-22 Clock period randomization for defense against cryptographic attacks

Publications (2)

Publication Number Publication Date
CN107735981A true CN107735981A (zh) 2018-02-23
CN107735981B CN107735981B (zh) 2021-06-25

Family

ID=59630310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780000669.2A Active CN107735981B (zh) 2016-02-23 2017-02-22 用于防御加密攻击的时钟周期随机化

Country Status (7)

Country Link
US (2) US10958414B2 (zh)
EP (1) EP3420667B1 (zh)
JP (2) JP6621533B2 (zh)
CN (1) CN107735981B (zh)
DE (2) DE112017000048B4 (zh)
GB (1) GB2555725B (zh)
WO (1) WO2017147116A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105894079A (zh) * 2016-04-22 2016-08-24 上海东软载波微电子有限公司 时钟加扰电路
CN110598484A (zh) * 2018-06-12 2019-12-20 恩智浦有限公司 同步故障注入的故障攻击防护
CN110726483A (zh) * 2019-09-30 2020-01-24 安徽问天量子科技股份有限公司 抵御雪崩过渡区攻击的装置及方法
CN111200490A (zh) * 2018-11-18 2020-05-26 新唐科技股份有限公司 使用小型间接随机预充电以防范旁通道攻击的电子元件
US10958414B2 (en) 2016-02-23 2021-03-23 Google Llc Clock period randomization for defense against cryptographic attacks
CN114048470A (zh) * 2022-01-13 2022-02-15 浙江大学 基于tdc模块的硬件攻击的防御方法及装置、电子设备
US11349650B2 (en) 2019-03-06 2022-05-31 Boe Technology Group Co., Ltd. Circuits for data encryption and decryption, and methods thereof
TWI773430B (zh) * 2021-07-09 2022-08-01 新唐科技股份有限公司 安全啟動系統及其方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951391B2 (en) * 2015-09-06 2021-03-16 Bar-Ilan University Randomized logic against side channel attacks
US10609068B2 (en) * 2017-10-18 2020-03-31 International Business Machines Corporation Identification of attack flows in a multi-tier network topology
US10263767B1 (en) 2018-07-03 2019-04-16 Rajant Corporation System and method for power analysis resistant clock
CN110298200B (zh) * 2019-07-05 2023-05-02 电子科技大学 基于温度统计特征分析的asic芯片硬件后门探测方法
FR3102268B1 (fr) * 2019-10-18 2023-03-10 St Microelectronics Rousset Procédé d’authentification d’un circuit sur puce et système sur puce associé
KR102492252B1 (ko) * 2019-11-19 2023-01-26 구글 엘엘씨 클록 변동들 하에서의 전압-변화 검출
US11651194B2 (en) 2019-11-27 2023-05-16 Nvidia Corp. Layout parasitics and device parameter prediction using graph neural networks
KR102348912B1 (ko) * 2019-12-06 2022-01-11 주식회사 이와이엘 부채널 공격 방어를 위한 난수발생기 및 이의 동작 방법
US11283349B2 (en) * 2020-04-23 2022-03-22 Nvidia Corp. Techniques to improve current regulator capability to protect the secured circuit from power side channel attack
US11507704B2 (en) 2020-04-23 2022-11-22 Nvidia Corp. Current flattening circuit for protection against power side channel attacks
KR102374329B1 (ko) * 2020-07-28 2022-03-14 경북대학교 산학협력단 전압의 변화를 이용한 전력분석 공격 방지 장치 및 방법
US11741227B2 (en) 2021-06-22 2023-08-29 Intel Corporation Platform security mechanism
US11762993B2 (en) * 2021-04-12 2023-09-19 Nxp B.V. Securing cryptographic operations from side channel attacks using a chaotic oscillator
GB202107381D0 (en) * 2021-05-24 2021-07-07 Nordic Semiconductor Asa Security in integrated circuits
US20210312045A1 (en) * 2021-06-22 2021-10-07 Intel Corporation Integrated circuit side-channel mitigation mechanism
TWI818503B (zh) * 2022-04-11 2023-10-11 新唐科技股份有限公司 加密裝置以及加密方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4932053A (en) * 1988-11-10 1990-06-05 Sgs-Thomson Microelectronics, S.A. Safety device against the unauthorized detection of protected data
US5404402A (en) * 1993-12-21 1995-04-04 Gi Corporation Clock frequency modulation for secure microprocessors
CN1190830A (zh) * 1997-01-16 1998-08-19 日本电气株式会社 伪随机数产生电路及其在数据通信系统的应用
US20020093872A1 (en) * 1999-10-29 2002-07-18 Fujitsu Limited Semiconductor integrated circuit, method of controlling the same, and variable delay circuit
JP2003337750A (ja) * 2002-05-22 2003-11-28 Hitachi Ltd 内部解析防止機能付き半導体デバイス
US6930954B2 (en) * 2001-12-10 2005-08-16 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
CN101542969A (zh) * 2006-10-30 2009-09-23 夏普株式会社 加密装置
CN101739061A (zh) * 2009-12-04 2010-06-16 威盛电子股份有限公司 时钟产生器以及通用串行总线模块
CN102254110A (zh) * 2010-05-20 2011-11-23 中国人民解放军国防科学技术大学 寄存器翻转时刻随机化控制电路
US20110299678A1 (en) * 2010-06-07 2011-12-08 Alexander Roger Deas Secure means for generating a specific key from unrelated parameters
CN103378828A (zh) * 2012-04-25 2013-10-30 飞思卡尔半导体公司 用于时钟源的微调电路
CN104866007A (zh) * 2014-02-26 2015-08-26 精工爱普生株式会社 微型计算机以及电子设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5164677A (en) 1990-01-16 1992-11-17 Digital Equipment Corporation Method and apparatus for synchronizing signals
AU2003213570A1 (en) * 2002-02-26 2003-09-09 The Regents Of The University Of Michigan Mems-based, computer systems, clock generation and oscillator circuits and lc-tank apparatus for use therein
GB0213687D0 (en) 2002-06-14 2002-07-24 Ibm Multi-byte lempel-ziv 1 (LZ1) decompression
US6987405B1 (en) 2002-10-18 2006-01-17 Mips Technologies, Inc. Apparatus and method for generating multi-phase signals with digitally controlled trim capacitors
GB2411061B (en) 2004-02-12 2008-11-05 Zarlink Semiconductor Ab Directly modulated CMOS VCO
JP2007248380A (ja) 2006-03-17 2007-09-27 Fujitsu Ltd 遅延時間評価方法及び回路、及び半導体装置
IL188089A (en) * 2007-12-12 2013-02-28 Nds Ltd Bit generator
US8253454B2 (en) * 2007-12-21 2012-08-28 Realtek Semiconductor Corp. Phase lock loop with phase interpolation by reference clock and method for the same
US8344808B2 (en) * 2008-03-31 2013-01-01 Javelin Semiconductor, Inc. Non-linear capacitance compensation
US8115532B2 (en) * 2008-07-11 2012-02-14 Integrated Device Technology, Inc. Linear monotonic delay chain circuit
US8427194B2 (en) 2010-05-24 2013-04-23 Alexander Roger Deas Logic system with resistance to side-channel attack by exhibiting a closed clock-data eye diagram
US8645714B2 (en) * 2010-05-25 2014-02-04 Via Technologies, Inc. Branch target address cache for predicting instruction decryption keys in a microprocessor that fetches and decrypts encrypted instructions
KR20120095699A (ko) * 2011-02-21 2012-08-29 에스케이하이닉스 주식회사 위상 보간기
US8878614B2 (en) * 2012-02-28 2014-11-04 Megachips Corporation Phase-locked loop
US8692599B2 (en) 2012-08-22 2014-04-08 Silicon Laboratories Inc. Interpolative divider linearity enhancement techniques
US9093336B2 (en) 2013-02-12 2015-07-28 Texas Instruments Incorporated Determining optimum code from default, programmable, and test trim codes
US9696350B2 (en) 2013-03-15 2017-07-04 Intel Corporation Non-linear control for voltage regulator
GB2513987B (en) 2013-03-15 2016-01-06 Intel Corp Parallel apparatus for high-speed, highly compressed LZ77 tokenization and huffman encoding for deflate compression
US8971447B1 (en) * 2013-10-17 2015-03-03 Fujitsu Limited Variable delay of data signals
WO2015145487A1 (ja) 2014-03-28 2015-10-01 三菱電機株式会社 クロック位相制御回路
US9252792B2 (en) * 2014-05-12 2016-02-02 Texas Instruments Incorporated Tunable frequency-to-voltage controlled oscillation
US9287893B1 (en) 2015-05-01 2016-03-15 Google Inc. ASIC block for high bandwidth LZ77 decompression
US10958414B2 (en) 2016-02-23 2021-03-23 Google Llc Clock period randomization for defense against cryptographic attacks
CN105894079B (zh) 2016-04-22 2019-03-15 上海东软载波微电子有限公司 时钟加扰电路

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4932053A (en) * 1988-11-10 1990-06-05 Sgs-Thomson Microelectronics, S.A. Safety device against the unauthorized detection of protected data
US5404402A (en) * 1993-12-21 1995-04-04 Gi Corporation Clock frequency modulation for secure microprocessors
CN1190830A (zh) * 1997-01-16 1998-08-19 日本电气株式会社 伪随机数产生电路及其在数据通信系统的应用
US20020093872A1 (en) * 1999-10-29 2002-07-18 Fujitsu Limited Semiconductor integrated circuit, method of controlling the same, and variable delay circuit
US6930954B2 (en) * 2001-12-10 2005-08-16 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
JP2003337750A (ja) * 2002-05-22 2003-11-28 Hitachi Ltd 内部解析防止機能付き半導体デバイス
CN101542969A (zh) * 2006-10-30 2009-09-23 夏普株式会社 加密装置
CN101739061A (zh) * 2009-12-04 2010-06-16 威盛电子股份有限公司 时钟产生器以及通用串行总线模块
CN102254110A (zh) * 2010-05-20 2011-11-23 中国人民解放军国防科学技术大学 寄存器翻转时刻随机化控制电路
US20110299678A1 (en) * 2010-06-07 2011-12-08 Alexander Roger Deas Secure means for generating a specific key from unrelated parameters
CN103378828A (zh) * 2012-04-25 2013-10-30 飞思卡尔半导体公司 用于时钟源的微调电路
CN104866007A (zh) * 2014-02-26 2015-08-26 精工爱普生株式会社 微型计算机以及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BAYRAK ET AL.: "An EDA-friendly protection scheme against side-channel attacks", 《2013 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE)》 *
Y. ZAFAR ; D. HAR: "A Novel Countermeasure Enhancing Side Channel Immunity in FPGAs", 《2008 INTERNATIONAL CONFERENCE ON ADVANCES IN ELECTRONICS AND MICRO-ELECTRONICS》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958414B2 (en) 2016-02-23 2021-03-23 Google Llc Clock period randomization for defense against cryptographic attacks
US11750361B2 (en) 2016-02-23 2023-09-05 Google Llc Clock period randomization for defense against cryptographic attacks
CN105894079B (zh) * 2016-04-22 2019-03-15 上海东软载波微电子有限公司 时钟加扰电路
CN105894079A (zh) * 2016-04-22 2016-08-24 上海东软载波微电子有限公司 时钟加扰电路
CN110598484A (zh) * 2018-06-12 2019-12-20 恩智浦有限公司 同步故障注入的故障攻击防护
CN110598484B (zh) * 2018-06-12 2024-06-11 恩智浦有限公司 同步故障注入的故障攻击防护
CN111200490B (zh) * 2018-11-18 2023-04-07 新唐科技股份有限公司 使用小型间接随机预充电以防范旁通道攻击的电子元件
CN111200490A (zh) * 2018-11-18 2020-05-26 新唐科技股份有限公司 使用小型间接随机预充电以防范旁通道攻击的电子元件
US11349650B2 (en) 2019-03-06 2022-05-31 Boe Technology Group Co., Ltd. Circuits for data encryption and decryption, and methods thereof
CN110726483B (zh) * 2019-09-30 2021-10-08 安徽问天量子科技股份有限公司 抵御雪崩过渡区攻击的装置及方法
CN110726483A (zh) * 2019-09-30 2020-01-24 安徽问天量子科技股份有限公司 抵御雪崩过渡区攻击的装置及方法
TWI773430B (zh) * 2021-07-09 2022-08-01 新唐科技股份有限公司 安全啟動系統及其方法
CN114048470B (zh) * 2022-01-13 2022-06-24 浙江大学 基于tdc模块的硬件攻击的防御方法及装置、电子设备
CN114048470A (zh) * 2022-01-13 2022-02-15 浙江大学 基于tdc模块的硬件攻击的防御方法及装置、电子设备

Also Published As

Publication number Publication date
EP3420667A1 (en) 2019-01-02
GB2555725B (en) 2021-11-10
US20210194667A1 (en) 2021-06-24
JP7094932B2 (ja) 2022-07-04
CN107735981B (zh) 2021-06-25
DE212017000013U1 (de) 2018-01-29
JP2020058034A (ja) 2020-04-09
US20170244546A1 (en) 2017-08-24
JP6621533B2 (ja) 2019-12-18
EP3420667B1 (en) 2020-09-30
GB201717083D0 (en) 2017-11-29
GB2555725A (en) 2018-05-09
US10958414B2 (en) 2021-03-23
US11750361B2 (en) 2023-09-05
WO2017147116A1 (en) 2017-08-31
DE112017000048T5 (de) 2018-08-16
DE112017000048B4 (de) 2024-02-15
JP2018535606A (ja) 2018-11-29

Similar Documents

Publication Publication Date Title
CN107735981A (zh) 用于防御加密攻击的时钟周期随机化
US10007488B2 (en) Secured pseudo-random number generator
CN101965552B (zh) 基于数控振荡器的数字随机数生成器
US10142103B2 (en) Hardware assisted fast pseudorandom number generation
US9871651B2 (en) Differential power analysis countermeasures
Nguyen et al. Designing a pseudorandom bit generator with a novel five-dimensional-hyperchaotic system
Dabal et al. A chaos-based pseudo-random bit generator implemented in FPGA device
Li et al. A novel image encryption scheme based on improved random number generator and its implementation
CN111355589B (zh) 一种可重构环形振荡器物理不可克隆函数电路及其激励生成方法
Lampert et al. Robust, low-cost, auditable random number generation for embedded system security
Rachwalik et al. Generation of nonlinear feedback shift registers with special-purpose hardware
KR20170106623A (ko) 클락 지연들을 변동시킴으로써 부채널 공격들로부터 보호하는 시스템 및 방법
CN107016292A (zh) 防止通过功率分析进行窃听的电子电路及防止窃听的方法
Wu et al. Binary data encryption using the Sudoku block cipher
Wang et al. A new image encryption algorithm based on hyperchaotic mapping
CN104063203A (zh) 用于产生随机的输出比特序列的方法
Soorat et al. Hardware Random number Generator for cryptography
Wijesinghe et al. Hardware implementation of random number generators
Anchana et al. Design of PUF Based Chaotic Random Number Generator
Zulfikar et al. FPGA-based design system for a two-segment fibonacci lfsr random number generator
Chugunkov et al. New class of pseudorandom number generators for logic encryption realization
Soorat et al. Random number generator for cryptography
Zhang et al. Rolling dice at the nanoscale
Lee et al. Uniform random number generator using leap-ahead LFSR architecture
Dasgupta et al. Grayscale image encryption based on high-dimensional fractional order Chua’s system

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