CN114089810A - 用于为加密核提供处理时钟信号的方法和时钟产生电路 - Google Patents

用于为加密核提供处理时钟信号的方法和时钟产生电路 Download PDF

Info

Publication number
CN114089810A
CN114089810A CN202110966839.0A CN202110966839A CN114089810A CN 114089810 A CN114089810 A CN 114089810A CN 202110966839 A CN202110966839 A CN 202110966839A CN 114089810 A CN114089810 A CN 114089810A
Authority
CN
China
Prior art keywords
clock
clock signal
processing
encryption
selection
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.)
Pending
Application number
CN202110966839.0A
Other languages
English (en)
Inventor
B·赫特维尔
K·达斯
S·勒格尔
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN114089810A publication Critical patent/CN114089810A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

为加密核提供处理时钟信号的时钟产生电路,包括:时钟发生器和时钟预处理模块。时钟发生器设置为,产生具有根据第一随机选择从第一数量的预定时钟频率中随机选择的第一时钟频率的第一时钟信号,借助处理器核中执行的频率选择程序进行第一随机选择,频率选择程序设置为在特定选择时间点重新进行第一随机选择。时钟预处理模块与时钟发生器连接以接收第一时钟信号且被设置为产生处理时钟信号并提供给加密核,其中通过乘以对应于第二随机选择从第二数量的缩放因子中随机选择的缩放因子由第一时钟频率导出处理时钟信号的处理频率,分别在特定数量的处理时钟信号时钟后重新进行第二随机选择。还提供加密电路、提供处理时钟信号的方法和执行加密的方法。

Description

用于为加密核提供处理时钟信号的方法和时钟产生电路
技术领域
本发明涉及用于为加密核提供处理时钟信号(Verarbeitungstaktsignal)的方法和时钟产生电路,以及涉及加密电路和用于执行一次或多次加密的方法。
背景技术
许多现代电子设备、例如智能卡或控制设备中的微控制器都实现(implementieren)加密方法(例如AES——Advance Encryption Standard(高级加密标准),或DES——Data Encryption Standard(数据加密标准))以实现数据加密或实现与其他设备的经加密的通信。可以借助于所谓的旁道攻击来攻击这种加密,在旁道攻击中分析所使用的加密方法的物理实现。
更具体地说,在其中实现加密方法的电子电路、例如微处理器或FPGA(现场可编程门阵列,可编程逻辑门)在执行密码方法期间的能量消耗或电磁辐射可以提供关于所使用的密钥的提示。对此的基础是假设:加密方法的各个步骤的能量消耗取决于相应所处理的数据(待加密的数据,密钥),例如因为不同的二进制值(对应于不同的数据)具有不同数量的'0'或'1',并且在处理'0'时的能量消耗与处理'1'时的能量消耗不同。
基于该假设,(对于假设的待加密数据)可以为可能的密钥或密钥的可能部分(例如AES中所谓的部分或轮密钥(Rundenschlüssel))对在加密方法内如下特定时间点的相应能量消耗进行建模以获得大量的假设能量消耗值,其中在所述特定时间点出现了特征性能量消耗(在AES方法中例如适合的是将“SubBytes”函数的输入或输出作为时间点)。此外,可以测量在(使用假设的待加密数据)执行该方法期间大量能量消耗变化过程(英语:powertraces(功率轨迹)),并且可以分析所测量的大量能量消耗值与大量假设能量消耗值之间的相关性,以找到可能的(部分)密钥。在此重要的是在加密方法内分别在特定时间点进行测量。
发明内容
根据本发明,提出了具有独立专利权利要求的特征的时钟产生电路和用于为加密核提供处理时钟信号的方法以及加密电路和用于执行一次或多次加密的方法。有利的设计方案是从属权利要求和以下描述的主题。
根据本发明,通过所述时钟产生电路或用于提供处理时钟信号的方法以及对应地通过所述加密电路或用于执行加密的方法首先根据第一随机选择从第一数量的时钟频率中选择第一时钟频率,并且通过使用根据第二随机选择而从第二数量的缩放因子中选择的缩放因子来缩放所述第一时钟频率而获得用于执行加密的处理时钟频率。所述第一随机选择和所述第二随机选择连续地、在特定选择时间点或在一个或多个处理时钟(Verarbeitungstakt)之后被改变。由此实现:所述加密核为了加密并且在加密期间使用连续变化的时钟频率,即所述处理时钟信号的时钟具有连续变化的持续时间,使得执行特定加密步骤的准确时间点对于潜在攻击者而言以未知的方式变化,因此所述攻击者更难将能量消耗测量分配给所述加密方法的准确步骤。原则上,在所述处理时钟信号中所包含的不同频率、即不同的时钟长度越多,攻击者就必须测量越多的能量消耗变化过程。
另一个优点在于,在产生所述处理时钟信号时进行双重随机选择,从而不同频率的总数由这两个随机选择可能性的乘积给定,即由(第一数量)x(第二数量)给定。通过这种方式,所述处理时钟信号中可以包含非常高总数(大于100000,或者也大于1000000)的不同频率,即使第一和第二数量与所述总数相比相对较小。这使得可以以节省资源的方式实现高总数的不同频率,而例如无需从中随机获取相应频率的大的表格(查找表)。
通过选择程序在处理器核中实现第一随机选择进一步使得加密方法或加密电路的高度可配置性成为可能。
优选地,所述时钟预处理模块(Taktaufbereitungsmodul)包括:接收所述第一时钟信号的至少一个时钟缩放单元,其中所选择的时钟缩放单元(如果只包括一个时钟缩放单元,则该时钟缩放单元显然是所选择的时钟缩放单元)被设置为产生对应于第二数量的第二时钟信号,其中第二时钟信号的第二时钟频率分别通过将所述第一时钟频率乘以这些缩放因子中的相应一个缩放因子来加以确定;随机数发生器,特别是线性反馈移位寄存器,基于所述随机数发生器的输出进行所述第二随机选择,其中所述随机数发生器通过所述处理时钟信号而被定时(getaktet);以及多路复用器(Multiplexer),所述多路复用器被设置为接收所述第二时钟信号并且根据所述随机数发生器的输出而选择所述第二时钟信号之一并作为处理时钟信号输出。
这种实施方式特别是使得能够在可编程逻辑门(FPGA)中简单地实现。所述多路复用器应当被设置为产生无干扰的输出时钟信号(“glitch-free clock(无毛刺时钟)”)。“所述随机数发生器通过所述处理时钟信号而被定时”意味着:该随机数发生器在每个时钟之后或在特定数量的时钟之后分别生成新的随机数。例如在线性反馈移位寄存器的情况下,位可以随每个时钟移位。如果上游还连接了触发器,则例如可以每隔一个时钟实现一次移位,并以此类推。
优选地,所述至少一个时钟缩放单元被设置为存储一个或多个缩放值组(Sätzevon Skalierungswerten),并且根据所述时钟缩放单元的状态而选择其中一组,其中所选择的时钟缩放单元使用根据其状态而选择的缩放值组作为缩放因子。缩放值是所谓的潜在的缩放因子。因此,总体上所述处理时钟信号中不同时钟长度的数量可以增加。所述状态由所述选择程序设定。
优选地,所述时钟预处理模块被设置为重新配置所述缩放因子,其中重新设定所述缩放因子,其中重新配置在特定的重新配置时间点进行,所述特定的重新配置时间点优选地与选择时间点重合。这里,所述处理时钟信号中不同时钟长度的数量也被增加。更改时钟缩放单元的状态也是重新配置的一种形式。
特别地,在重新配置期间可以重新设定(在所述至少一个时钟缩放单元的对应组中的)缩放值;其中(在设置多个时钟缩放单元的情况下)优选地重新设定在相应的重新配置时间点未选择的时钟缩放单元的缩放值。因此,34256在重新配置期间不需要中断所述处理时钟信号的输出。
优选地,所述时钟预处理模块和/或所述时钟发生器在可编程逻辑门中实现。由此,尤其是可以实现:能够以高速且非常频繁地执行第二随机选择。
根据本发明的加密电路包括根据本发明的时钟产生电路和加密核,所述加密核被设置为根据由所述时钟产生电路提供的处理时钟信号执行加密。
优选地,处理器核与所述加密核连接,其中所述处理器核和所述加密核被设置为:使得所述处理器核能够经由该连接控制所述加密核中的加密的起始时间点;和/或经由该连接从所述加密核向所述处理器核传送加密的结束时间点或传送所述处理时钟信号。优选地,将选择时间点确定为,使得所述选择时间点位于两次相继的加密之间,其中更优选地,特定数量的加密位于每两个相继的选择时间点之间。
在重新进行所述第一随机选择时或者在重新配置所述缩放因子时(见下文),可能发生:并不产生稳定的处理时钟信号,而是该处理时钟信号具有干扰(英语:glitch)。这可能会导致错误的加密,从而有利的是,在所述时间期间不执行加密。加密的结束时间点可以由加密核直接传送到处理器核或者由处理器核或所述处理器核中执行的选择程序从起始时间点开始计算,其中所述处理器核/所述选择程序知道针对加密所需的处理时钟信号的时钟数量。然而,对于后一种情况,必须将由于第二随机选择而导致对于所述处理器核而言最初未知的处理时钟信号传送到所述处理器核,这可以从加密核出发而进行,或者也可以从时钟预处理模块出发进行。
如下加密过程在这里应理解为“加密”,在所述加密过程中,基于可由所述加密方法立即处理的明文、例如在诸如AES这样的块加密方法(Blockverschlüsselungsverfahren)中的块而产生经过加密的文本。该过程通常由多个加密步骤(例如AES中的密钥扩展和轮次)组成。这些加密步骤在如下加密核中执行,其中使用所述处理时钟信号对所述加密核进行定时。典型地,每个加密步骤对应于特定数量(大于或等于1)的处理时钟信号时钟,即需要对应数量的时钟。所述加密核还可以并行处理属于不同加密的多个加密步骤。
根据本发明的用于为加密核提供处理时钟信号的方法包括:产生具有第一时钟频率的第一时钟信号,所述第一时钟频率是根据第一随机选择从第一数量的预定时钟频率中随机选择的,其中在特定的选择时间点重新进行所述第一随机选择;基于所述第一时钟信号产生所述处理时钟信号,其中所述处理时钟信号的处理频率是通过乘以对应于第二随机选择从第二数量的缩放因子中随机选择的缩放因子而由所述第一时钟频率导出的,其中分别在特定数量的处理时钟信号时钟之后重新进行所述第二随机选择;以及为所述加密核提供所述处理时钟信号。上述优点、特别是“在所述处理时钟信号中包括大量不同的时钟长度”同样可以通过根据本发明的方法实现。
优选地,所述方法包括重新配置所述缩放因子,其中所述缩放因子是重新设定的,其中所述重新配置在特定的重新配置时间点进行,所述重新配置时间点优选与选择时间点重合。通过重新设定所述缩放因子,可以增加不同处理频率的总数。通常可以任意确定所述重新配置时间点。然而,所述重新配置优选地在重新进行所述第一随机选择的选择时间点执行,因为两者根据具体实现方案而定都可能导致处理时钟信号的中断。
优选地,在所述方法中所述第一随机选择由软件(即选择程序)进行,和/或所述第二随机选择由硬件(即随机数发生器)进行。通过软件的使用保证了所述方法的高度灵活性,因为软件可以由用户根据其需要进行编程。将实现为硬件的随机数发生器用于第二随机选择确保了能够以高频率重新进行第二随机选择,原则上,第二随机选择可以随着所述处理时钟信号的每个时钟而重新进行。具体的实现方案由根据本发明的时钟信号产生电路给出。
优选地,所述处理时钟信号的产生包括:产生对应于第二数量的第二时钟信号,其中通过将所述第一时钟频率分别乘以缩放因子之一来确定所述第二时钟信号的第二时钟频率;对应于所述第二随机选择来随机选择第二时钟信号之一;并且使用选择的第二时钟信号作为处理时钟信号。该实施方式使得可以快速实现第二随机选择,因为第二随机选择可以基于已经产生的第二时钟信号进行(即只需要选择第二时钟信号中的一个),而不必在选择了对应的缩放因子后才产生时钟信号。
根据本发明的用于在加密核中执行一次或多次加密的方法包括:按照根据本发明的用于提供处理时钟信号的方法为所述加密核提供处理时钟信号,并且对应于所述处理时钟信号的时钟在所述加密核中执行加密步骤。
本发明的其他优点和设计方案从说明书和附图中得出。
基于实施例在附图中示意性地示出本发明并且在下面参照附图进行描述。
附图说明
图1示出了根据用于为加密核提供处理时钟信号的方法的优选实施方式的流程图;
图2示出了根据本发明优选实施方式的时钟产生电路和加密电路;以及
图3示出了根据本发明的另一优选实施方式的时钟产生电路和加密电路。
具体实施方式
图1示出了根据本发明优选实施方式的用于为加密核提供处理时钟信号的方法的流程图。首先,在可选的步骤10中配置第二数量的缩放因子,即这些缩放因子是(新)设置或预给定的。原则上,缩放因子也能够以不变的方式预给定,于是不需要配置。
在步骤12中产生具有第一时钟频率的第一时钟信号,其中从多个(即第一数量)预定时钟频率中随机选择第一时钟频率。这种随机选择称为第一随机选择。步骤10(对缩放因子进行配置)和步骤12(产生第一时钟信号)也可以以相反的顺序执行。
在步骤14中由第一时钟信号导出第二时钟信号,即产生第二数量(等于缩放因子的数量)的具有第二时钟频率的第二时钟信号,其中每个第二时钟频率是由第一时钟频率通过乘以这些缩放因子其中的相应一个缩放因子而获得的。
在步骤16中进行第二随机选择,在所述第二随机选择中从步骤14中产生的第二时钟信号中随机选择一个第二时钟信号。所选择的第二时钟信号在步骤18中作为处理时钟信号被提供给加密核,其中在步骤18中分别提供时钟。在所述处理时钟信号的每个时钟之后分别执行以下步骤。
在步骤20中,检查是否已经到达特定时间点(称为选择时间点)。这例如可以是加密结束之后和下一次加密开始之前的时间点。如果已经到达,即箭头22,则再次以步骤12继续进行,即根据第一随机选择产生第一时钟信号,即重新进行第一随机选择,从而一般而言(Im Allgemeinen)使第一时钟频率改变。
如果还没有到达特定的选择时间点,即箭头24,则在可选的步骤26中检查是否应当对缩放因子进行重新配置。原则上,该步骤在例如应在步骤10中仅一次性配置缩放因子的情况下或者在省略步骤10的情况下也可以被省略,因为使用了固定预给定的缩放因子组。如果应当进行重新配置,即箭头28,则以步骤10继续进行,即对缩放因子进行配置。
如果不应当进行重新配置,即箭头30,则在步骤32中检查是否已向加密核提供了具有特定处理时钟频率的处理信号的预定数量的时钟,所述预定数量是在步骤16中通过第二随机选择设定的。如果还未提供,即箭头34,则跳回到步骤18,并且向加密核提供所述处理时钟信号(具有不变的处理时钟频率)的其他时钟。
另一方面,如果已达到处理时钟信号的预定数量的时钟,即箭头36,则以步骤16继续进行并重新进行第二随机选择,从而一般而言选择这些第二时钟信号中的另一个第二时钟信号并且使处理时钟频率相应地改变。优选地,处理时钟信号的时钟的预定数量等于一,从而在处理时钟信号的每个时钟之后重新进行第二随机选择。
应当注意的是,在本申请的范围中,术语“处理时钟频率分别涉及各个时钟,即相应的目前的处理时钟频率例如由处理时钟信号的两个连续上升沿之间的时间间隔的倒数给出。因此,处理时钟频率不是通常意义上的涉及周期性过程的频率。相反,以通常意义来定义第一时钟频率和第二时钟频率,因为第一时钟信号和第二时钟信号具有周期性重复的形式。
所述方法优选地由时钟产生电路或加密电路实现,其中第一随机选择基本上在选择程序中实现,即实现为软件,而第二随机选择基本上在电子电路中实现,即实现为硬件。下面描述这样的时钟产生电路或加密电路。
图2示出了根据本发明优选实施方式的时钟产生电路和加密电路。加密电路包括时钟发生器52、时钟预处理模块54、处理器核56和加密核58。时钟发生器52、时钟预处理模块54和处理器核56共同形成为加密核58提供处理时钟信号的时钟产生电路。
时钟发生器52被设置为产生具有第一时钟频率的第一时钟信号62,其中从第一数量的时钟频率中随机选择第一时钟频率。该第一随机选择基本上是由在处理器核56中执行的选择程序进行的。
具体地,这可以例如如下地实现。首先,时钟源64提供具有特定频率的原始时钟信号65。所述时钟源可以是例如包括在电路中的振荡器,或者优选地是连接到外部时钟源的连接端,通过所述外部时钟源为所述电路提供所述原始时钟信号。
所述原始时钟信号由分频器单元66处理,分频器单元66根据分频比降低所述原始时钟信号的频率。所述分频比通过处理器核56中执行的选择程序从第一数量的分频比中随机(对应于第一随机选择)确定,并经由处理器核与分频器单元之间的连接68而在分频器单元66处被设置。为此,例如可以提供具有可能的分频比(对应于所述第一数量)的表格,其中所述选择程序以随机方式从该表格中提取条目。为此,所述选择程序可以例如生成伪随机数,或者也可以从另一随机发生器(实现为软件或硬件)接收(übernehmen)随机数。分频器单元66可以包括一个或多个串联连接的分频器。在存在多个分频器的情况下,所述分频比由多个除数(Teiler)确定。例如,如果设置了两个分频器(例如6位分频器),则所述分频比由两个除数(例如6位数字)确定,于是所述表格对应地包含除数对。
所述选择程序还被设置为在特定的选择时间点重新执行第一频率的随机选择。
分频器单元66的输出信号67可以经由时钟输出单元70作为第一时钟信号62输出或转发到时钟预处理模块54,所述分频器单元的频率根据所述原始时钟信号的频率通过随机分频比给出。时钟输出单元70用于提供无干扰的时钟信号(英语:glitch-free clock(无毛刺时钟))。如果由所述选择程序重新进行随机选择并且因此出现第一时钟信号中的频率变化,则这里可能出现干扰,从而在转换时(am Übergang)可能产生干扰(glitch(毛刺))信号变化过程,这种信号变化过程可能导致下游的逻辑电路出现错误。用于规避该问题的合适电路是本领域技术人员已知的。
将第一时钟信号62传送到时钟预处理模块54,该时钟预处理模块被设置为产生并提供处理时钟信号60,其中所述处理时钟信号的频率(称为处理频率)通过乘以从第二数量的缩放因子中随机选择的缩放因子来加以确定。这种选择称为第二随机选择。
在所示的实施方式中,时钟预处理模块54包括时钟缩放单元72、多路复用器76和随机数发生器78。其中,首先在时钟缩放单元72中由第一时钟信号62导出或产生第二数量的第二时钟信号74。第二时钟信号74的频率(第二频率)通过将第一时钟信号的第一频率分别乘以缩放因子之一来给出。为此,这些缩放因子存储在时钟缩放单元72中,其中这些缩放因子优选地能够被重新设置或配置。
将第二时钟信号74传送到多路复用器76,通过该多路复用器从第二时钟信号中选择其中之一并将其作为处理时钟信号60而提供。这种选择(第二随机选择)是基于从随机数发生器78传送到多路复用器76的信号进行的。随机数发生器78因此生成对应于所述第二数量的随机数。随机数发生器78可以被实现为例如线性反馈移位寄存器。优选地,随机数发生器78是通过多路复用器76的输出信号,也即通过处理时钟信号而被定时的。
将处理时钟信号60传送到加密核58,对于加密核而言该处理时钟信号用作时钟信号。
图2还示出了连接80,处理器核56可以经由该连接与时钟预处理模块54通信,特别是与时钟缩放单元72通信。经由连接80,在处理器核56中执行的选择程序特别是可以重新设置必要时存储在时钟缩放单元72中的缩放因子,即所述选择程序可以对缩放因子进行重新配置。所述处理时钟信号也可以经由该连接被传输到处理器核(未具体示出)。
同样地,时钟缩放单元72可以被设置为其可以存储多个缩放值组,其中每个组中缩放值的数量等于所述第二数量。然后根据时钟缩放单元的状态(Status)选择这些缩放值组之一作为缩放因子并如上地加以应用。可以经由连接80通过在所述处理器核中执行的选择程序来改变所述状态。这可以看作是对缩放因子的重新配置的其他形式。此外,也可以经由该连接改变缩放值组,即,将新的缩放值存储在这些组中,其中有利地改变组中的以下缩放值,所述缩放值在相应的时间点并没有凭借状态而被选择为缩放因子。
总体而言,通过重新配置缩放因子可以显著增加可能的不同处理频率的数量,从而实现免遭旁道攻击的额外安全性。
还示出了处理器核56和加密核58之间的连接82。经由该连接,一方面,处理器核可以控制由加密核进行的加密,特别是确定各个加密的起始时间点和/或将待加密的数据传送到加密核,另一方面,加密核可以将加密的结束时间点、处理时钟信号和/或经过加密的数据传送到处理器核。
优选地,将时钟产生电路和/或加密电路实现为FPGA(现场可编程门阵列,可编程逻辑门)。
图3示出了根据本发明的另一优选实施方式的时钟产生电路和加密电路。该实施方式与图2中所示的实施方式大部分相同,区别仅在于时钟预处理模块54的设计。下面仅解释该区别,其他方面则适用上面的陈述。所述加密电路再次包括时钟发生器52(仅示意性地示出而没有细节,然而还是参见图2)、时钟预处理模块54和处理器核56,以及加密核58,其中时钟发生器52、时钟预处理模块54和处理器核56共同形成时钟产生电路。
时钟预处理模块54在这里包括多个时钟缩放单元721、722、...72N,它们经由相应的连接801、802、...80N连接到处理器核56。在这些时钟缩放单元其中每个中存储一个或多个缩放值组(每个组中缩放值的数量再次为所述第二数量),其中如果存储多个组,则可以根据时钟缩放单元的状态来选择其中一个如下组,该组经由与处理器核的对应连接通过在该处理核中执行的选择程序确定。在这些时钟缩放单元其中每个中将第一时钟信号62用作输入信号。这些时钟缩放单元其中每个时钟缩放单元的功能都对应于图2的时钟缩放单元72的功能,即从所述输入信号产生第二数量的输出信号,这些输出信号的频率通过将所述输入信号的频率乘以(选择的)缩放值来给出。
此外,可以进一步地经由连接801、802、...80N或替代地通过多路复用器76而从这些时钟缩放单元中选择一个时钟缩放单元,其中所述多路复用器76于是具有自己的与处理器核的(未示出的)连接。该选择再次由选择程序进行。然后,所选择的时钟缩放单元的输出信号(即所示出的时钟信号741、742、...74N的集合之一)由多路复用器76使用(因此所述输出信号是第二数量的第二时钟信号),以根据由随机发生器78生成的随机数(第二随机选择)提供时钟信号作为用于加密核58的处理时钟信号。
可以由选择程序改变对所述时钟缩放单元的选择,从而进一步增加不同处理频率的数量。这个具有多个时钟缩放单元的实施方式特别是适宜地与时钟缩放单元的重新配置相结合的,因为缩放值或未被选择的时钟缩放单元的状态可以改变,而第二随机选择可以基于所选择的时钟缩放单元的输出信号进行。因此,所述加密核可以以无中断的方式继续运行。

Claims (14)

1.用于为加密核(58)提供处理时钟信号的时钟产生电路,包括:
时钟发生器(52),所述时钟发生器被设置为产生具有第一时钟频率的第一时钟信号(62),其中所述第一时钟频率是根据第一随机选择从第一数量的预定时钟频率中随机选择的,其中借助于在处理器核(56)中执行的频率选择程序进行所述第一随机选择,所述频率选择程序被设置为在特定的选择时间点重新进行所述第一随机选择;
时钟预处理模块(54),所述时钟预处理模块与所述时钟发生器连接以接收所述第一时钟信号,并且所述时钟预处理模块被设置为产生所述处理时钟信号(60)并提供给所述加密核,其中所述处理时钟信号的处理频率是通过乘以对应于第二随机选择从第二数量的缩放因子中随机选择的缩放因子而由所述第一时钟频率导出的,其中分别在特定数量的处理时钟信号时钟之后重新进行所述第二随机选择。
2.根据权利要求1所述的时钟产生电路,其中所述时钟预处理模块包括:
接收所述第一时钟信号的至少一个时钟缩放单元(72;721、722、...72N),其中所述至少一个时钟缩放单元其中的所选择的时钟缩放单元被设置为产生对应于第二数量的第二时钟信号,其中所述第二时钟信号的第二时钟频率分别通过将所述第一时钟频率乘以所述缩放因子中的相应一个缩放因子来加以确定;
随机数发生器(78),特别是线性反馈移位寄存器,基于所述随机数发生器的输出进行所述第二随机选择,其中所述随机数发生器通过所述处理时钟信号而被定时;以及
多路复用器(76),所述多路复用器被设置为接收所述第二时钟信号并且根据所述随机数发生器的输出而选择所述第二时钟信号之一并作为处理时钟信号输出。
3.根据权利要求2所述的时钟产生电路,其中所述至少一个时钟缩放单元(72;721、722、...72N)被设置为存储一个或多个缩放值组,并且根据所述时钟缩放单元的状态选择其中一组;以及
其中所选择的时钟缩放单元使用根据其状态而选择的缩放值组作为缩放因子。
4.根据前述权利要求中任一项所述的时钟产生电路,其中所述时钟预处理模块(54)被设置为重新配置所述缩放因子,其中重新设定所述缩放因子,其中所述重新配置在特定的重新配置时间点进行,所述重新配置时间点优选地与选择时间点重合。
5.根据权利要求3和4所述的时钟产生电路,其中在所述重新配置期间重新设定所述缩放值;其中优选地重新设定在相应的重新配置时间点未选择的时钟缩放单元的缩放值。
6.根据前述权利要求中任一项所述的时钟产生电路,其中所述时钟预处理模块(54)和/或所述时钟发生器(52)在可编程逻辑门中实现。
7.加密电路,所述加密电路包括:
根据前述权利要求中任一项所述的时钟产生电路;和
加密核(58),所述加密核被设置为根据由所述时钟产生电路提供的处理时钟信号执行加密。
8.根据权利要求7所述的加密电路,其中所述处理器核(56)与所述加密核(58)连接,
其中所述处理器核和所述加密核被设置为使得所述处理器核能够经由所述连接控制所述加密核中的加密的起始时间点;和/或经由所述连接从所述加密核向所述处理器核传送加密的结束时间点或传送所述处理时钟信号;
其中优选地将所述选择时间点确定为,使得所述选择时间点位于两次相继的加密之间,
其中更优选地,特定数量的加密位于每两个相继的选择时间点之间。
9.用于为加密核提供处理时钟信号的方法,包括:
产生(12)具有第一时钟频率的第一时钟信号,所述第一时钟频率是根据第一随机选择从第一数量的预定时钟频率中随机选择的,其中在特定的选择时间点重新进行所述第一随机选择;
基于所述第一时钟信号产生(14、16)所述处理时钟信号,其中所述处理时钟信号的处理频率是通过乘以对应于第二随机选择从第二数量的缩放因子中随机选择的缩放因子而由所述第一时钟频率导出的,其中分别在特定数量的处理时钟信号时钟之后重新进行所述第二随机选择;以及
为所述加密核提供(18)所述处理时钟信号。
10.根据权利要求9所述的方法,所述方法包括:
重新配置(10)所述缩放因子,其中所述缩放因子是重新设定的,其中所述重新配置在特定的重新配置时间点进行,所述重新配置时间点优选与选择时间点重合。
11.根据权利要求9至10中任一项所述的方法,其中所述第一随机选择由软件、特别是选择程序进行,和/或所述第二随机选择由硬件、特别是随机数发生器进行。
12.根据权利要求9至11中任一项所述的方法,其中所述处理时钟信号的产生包括:
产生(14)对应于所述第二数量的第二时钟信号,其中通过将所述第一时钟频率分别乘以所述缩放因子之一来确定所述第二时钟信号的第二时钟频率;
对应于所述第二随机选择来随机选择(16)第二时钟信号之一;
使用选择的第二时钟信号作为处理时钟信号。
13.用于在加密核中执行一次或多次加密的方法,包括:
按照根据权利要求9至12中任一项所述的方法为所述加密核提供处理时钟信号;以及
对应于所述处理时钟信号的时钟在所述加密核中执行加密步骤。
14.根据权利要求13所述的方法,其中通过分别在所述加密核中执行预定数量的加密来确定所述选择时间点。
CN202110966839.0A 2020-08-24 2021-08-23 用于为加密核提供处理时钟信号的方法和时钟产生电路 Pending CN114089810A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020210695.9A DE102020210695A1 (de) 2020-08-24 2020-08-24 Takterzeugungsschaltung und Verfahren zur Bereitstellung eines Verarbeitungstaktsignals für einen Verschlüsselungskern
DE102020210695.9 2020-08-24

Publications (1)

Publication Number Publication Date
CN114089810A true CN114089810A (zh) 2022-02-25

Family

ID=80112725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110966839.0A Pending CN114089810A (zh) 2020-08-24 2021-08-23 用于为加密核提供处理时钟信号的方法和时钟产生电路

Country Status (2)

Country Link
CN (1) CN114089810A (zh)
DE (1) DE102020210695A1 (zh)

Also Published As

Publication number Publication date
DE102020210695A1 (de) 2022-02-24

Similar Documents

Publication Publication Date Title
EP2260376B1 (en) Digital random number generator based on digitally-controlled oscillators
JP6761934B1 (ja) 検出および補正機能を備えた真の乱数の発生方法および装置
KR101987141B1 (ko) 난수 발생기
JP2012186809A (ja) 乱数を発生させるための装置および方法
CN105247471A (zh) 用于动态调谐对于随机数生成器的反馈控制的***和方法
CN108768619B (zh) 一种基于环形振荡器的强puf电路的工作方法
US20050097153A1 (en) Pseudorandom number generator
CN109167664B (zh) 一种基于异或门的可重构环形振荡器puf电路
US9612801B2 (en) Power supply for ring-oscillator based true random number generator and method of generating true random numbers
WO2021098077A1 (zh) 一种真随机数发生器和真随机数发生方法
US8180816B2 (en) Control of a pseudo random number generator and a consumer circuit coupled thereto
Trichina et al. Supplemental cryptographic hardware for smart cards
JP5171420B2 (ja) 擬似乱数生成装置
JP6423270B2 (ja) 乱数生成装置及び乱数生成方法
CN114115807A (zh) 随机数生成器及随机数生成方法
JP5119417B2 (ja) 擬似乱数生成装置
CN114089810A (zh) 用于为加密核提供处理时钟信号的方法和时钟产生电路
JP6697776B2 (ja) 固有情報生成装置
JP2016126518A (ja) 乱数生成装置及び乱数生成方法
US7502814B2 (en) Device and method for generating a pseudorandom sequence of numbers
CN110213037B (zh) 一种适合硬件环境的流密码加密方法及***
Chang et al. Modeling attack resistant arbiter puf with time-variant obfuscation scheme
CN113760222A (zh) 一种随机数产生装置和方法
CN101729489A (zh) 无线电***的电路、应用以及运行方法
Anchana et al. Design of PUF Based Chaotic Random Number Generator

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