CN111602366B - 可更换的打印机组件的密码函数和认证 - Google Patents
可更换的打印机组件的密码函数和认证 Download PDFInfo
- Publication number
- CN111602366B CN111602366B CN201980008359.4A CN201980008359A CN111602366B CN 111602366 B CN111602366 B CN 111602366B CN 201980008359 A CN201980008359 A CN 201980008359A CN 111602366 B CN111602366 B CN 111602366B
- Authority
- CN
- China
- Prior art keywords
- code
- word
- result
- words
- subtracted
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及应用于第一字(a0)、第二字(a1)、第三字(a2)和第四字(a3)的加密函数,该加密函数包括:将第三字(a2)乘以第四字(a3);加上乘法(31)的结果;从与第一字的加法(32)结果中减去与第二字的加法结果;加上减法(34)的结果;将第三字与减法结果相加的结果与常数(Ci)组合;以及将上述组合的结果乘以2,并且对以下各项的相应结果的代码进行循环移位(41,42,43):第四字与减法结果相加(36)、第二字与乘法结果相加(33)、以及第一字与乘法结果相加。
Description
相关申请的交叉引用
本专利申请要求法国专利申请FR18/50331的优先权权益,该申请通过引用并入本文。
技术领域
本公开总体上涉及执行密码操作的电路和电子系统,更特别地,用于对打印机墨盒进行认证的方法和电路。
背景技术
众所周知,很多加密技术用以保护信息(数据、密钥等)免于未经授权的访问(黑客)。这种技术可以被用于签名目的以保证信息或产品的真实性或来源,也可以被用于实际加密目的以防止侵犯者知道某些信息等。
为了尝试发现受保护的量(密钥或数据),侵犯者或黑客实现不同类别的攻击。这些可能是通过分析电路响应(就功耗、辐射等而言)而进行的攻击,这些攻击称为旁路攻击。另一类别的攻击包括在电路操作中引入干扰并且分析其对直接或间接响应的影响(故障注入攻击)。
攻击的发展促使人们开发出越来越强大的加密算法来保护信息或产品。
加密算法通常基于多次执行连续的相同基本操作来实现形成非线性置换的函数以处理消息。连续的基本操作通常被称为回合或回合函数。该函数通常再次使用先前回合的结果,如被应用于当前回合的操作数中的一个操作数。回合次数通常制约了算法的抵抗能力。
本公开更特别地涉及一种可以被用于例如哈希、加密或签名计算的置换加密函数。
发明内容
实施例克服了通常的加密算法的部分或全部缺点。
实施例提供了一种加密函数,该加密函数能够保护加密或签名,特别地能够抵抗旁路攻击或故障注入攻击。
实施例提供一种置换加密函数,该置换加密函数使得能够容易检测到有意或偶然故障。
实施例提供了一种对可更换打印机组件(例如,墨盒)进行认证的解决方案。
实施例提供了一种由打印机对打印机墨盒进行认证的机制。
实施例提供了一种由电子电路执行的加密函数,该加密函数被应用于第一字、第二字、第三字和第四字,所有这些字表示以7为基数的代码,该加密函数包括以下步骤:
将第三字逐代码地乘以第四字;
将乘法结果分别与第一字和第二字逐代码地相加;
从与第一字的加法结果中逐代码地减去与第二字的加法结果;
将减法结果分别与第三字和第四字逐代码地相加;
将第三字与减法结果相加的结果与回合常数(round constant)逐代码地组合;以及
将上述组合的结果乘以2,并且对以下步骤的相应结果的代码进行循环移位:第四字与减法结果相加、第二字与乘法结果相加、以及第一字与乘法结果相加。
根据实施例,每个字包括32个代码。
根据实施例,循环移位分别移位1、5和14个位置。
根据实施例,每个以7为基数的代码被表示为二进制状态的三元组。
根据实施例,上述步骤被执行多次,迭代的最终状态形成下一迭代的初始状态。
实施例提供了一种实现至少一个加密函数的哈希方法。
根据实施例,将消息转换为以7为基数以应用于上述函数。
根据实施例,该函数被多次应用。
实施例提供了一种保护由电子电路操纵的信息的方法,该方法实现了哈希方法。
根据实施例,经确定的比特三元组的出现标识错误。
实施例提供了一种包括指令的计算机程序产品,该指令在由处理器执行时使处理器实现诸如所描述的函数或方法。
实施例提供了一种存储指令的存储器,该指令在由处理器实现时使处理器实现诸如所描述的函数和/或方法。
实施例提供了一种存储器,该存储器包含一组结果,该组结果表示将诸如所描述的函数或方法应用到一组数字。
实施例提供了一种电子电路,该电子电路被配置为执行实现诸如所描述的函数和/或方法的加密操作。
实施例提供了一种电子电路,该电子电路被配置为接收数字,并且传递表示应用诸如所描述的函数和/或方法的结果。
实施例提供了一种用于可更换打印机组件的电路和/或存储器和/或计算机程序产品。
实施例提供了一种用于打印机的电路和/或存储器和/或计算机程序产品。
实施例提供了一种由打印机对可更换打印机组件进行认证的方法,该方法包括由打印机组件实现诸如所描述的函数和/或方法的至少一个步骤。
实施例提供一种方法,包括至少一个处理单元,上述处理单元被配置为实现诸如所描述的认证方法。
实施例提供了一种可更换打印机组件,该可更换打印机组件包括诸如所描述的电路和/或存储器。
根据实施例,该组件形成墨水盒。
附图说明
将结合附图在以下特定实施例的描述中通过说明且非限制性的方式详细描述前述和其他特征和优点。
图1以框图形式非常示意性地示出了可以应用将被描述的实施例的类型的电子电路实施例;
图2以框图形式非常示意性地示出了加密函数的实施例;
图3以框图形式非常示意性地示出了图2的函数回合的实施例;
图4以框图形式示意性地示出了可以应用所描述的函数的类型的函数示例;
图5以框图形式非常示意性地示出了作为示例可以应用所描述的加密函数的类型的打印系统实施例;以及
图6以框图形式非常示意性地示出了由打印机认证墨盒的方法实现的简化示例。
具体实施方式
在不同附图中,相同的特征用相同的附图标记表示。特别地,在各个实施例中共有的结构和/或功能性特征可以用相同的附图标记指定并且可以设置相同的结构、尺寸和材料特性。
为了清楚起见,仅示出和详细描述对理解所描述的实施例有用的步骤和元件。特别地,所描述的加密函数可以未详细描述的各种加密方案来实现,该函数与这种常用方案兼容。此外,描述了将所描述的实施例实现为打印机墨盒认证机制的最终应用的示例。但是,所描述的加密函数适用于其他认证机制,它们用于可更换打印机组件或是其他组件。所描述的实施例确实与加密函数的常用应用兼容。
除非另有说明,当提及两个元件连接在一起,这意味着除了导体之外没有中间组件的直接连接,并且当提及两个元件耦合在一起,这意味着两个元件可以经由一个或多个其他组件来连接或耦合。
在以下描述中,将参考“0”和“1”来分别指定数字信号的低逻辑状态和高逻辑状态。除非另有说明,否则状态0表示控制信号的非活动状态。
除非另有说明,术语“大约”、“近似”、“基本上”和“约”表示在正负10%内、优选是在正负5%内。
图1非常示意性地示出了可以应用所描述实施例的类型的电子电路1的实施例。
电路1包括:
处理单元11(PU),例如状态机、微处理器、可编程逻辑电路等;
一个或多个易失性和/或非易失性存储区13(MEM),用于存储全部或部分数据和程序;
在电路1内部的不同元件之间的一个或多个数据、地址和/或控制总线15;
输入输出接口17(I/O),用于与电路1的外部进行通信;以及
根据本申请的各种其他电路,在图1中由框19(FCT)表示。
根据所示实施例,电路1进一步包括实现一种或多种加密算法的加密电路或函数2(ALGO)。元素2可以是以硬件方式(有线逻辑)执行加密算法的硬件电路、执行由处理器(例如,单元11)实现的程序的软件函数或两者的组合。在应用到打印机墨盒的示例中,墨盒和打印机配备有图1中类型的电路。
为了使黑客的任务更加复杂,已提供以加密算法来操纵非二进制数,该非二进制数以不同于基数2的基数示出。例如,文献EP-A-2 523485和US-B-9,485,087描述了使用大于2的数字表示基数的某些使用原则。
根据所描述的实施例,提供的是使用以7为基数的表示。这种以7为基数或以7为模的表示为加密函数提供了显著的稳健性和快速性,这将从所描述的实施例中显现出。
此外,提供通过将先前回合的结果(输出状态)用作输入操作数(状态)来以回合形式在可执行(即,与相同基本操作的连续执行兼容)的函数中实现这种以7为基数的表示。
图2以框图形式非常示意性地示出了执行加密置换f的函数的实施例。
函数f接收以基数7来表示的块或状态a作为输入,该块或状态a被提交(步骤25,R)到函数f回合中的处理。回合次数n根据算法所需要的阻力来选择。作为结果,函数f提供与输入块相同大小的块a。
图3以框图形式非常示意性地示出了图2的加密函数f的回合R的实施例。
图3所示的回合函数处理一百二十八(128)个以7为基数的代码或数字的块a,即,每个代码是7阶有限主体的元素(GF(7)={0、1、2、3、4、5、6})。一百二十八个代码中的每个代码可以由三个比特的三元组以二进制方式来表示。实际上,在操纵比特的技术中,以7为基数的代码在函数f中必须以二进制形式表示。
根据图2中描述的实施例,由回合函数处理的状态“a”包括四个字a(0)、a(1)、a(2)、a(3),每个字具有三十二(32)个以7为基数的代码。
通过任意约定,下文中将字的索引被称为x。因此,状态a包括四个字a(x),x的范围为0到3。字的代码索引被称为z。因此,每个字a(x)包括32个代码a(x,z),z的范围为0到31。最后,每个代码可以由比特的三元组(a(x,z,0),a(x,z,1),a(x,z,2))表示,其中a(x,z)=a(x,z,0)+2.a(x,z,1)+4.a(x,z,2)。
已经可以看到,在函数f的执行期间,三元组(a(x,z,0),a(x,z,1),a(x,z,2))=(1,1,1)应当永远不会出现。然后,可以利用该特性来以极其简单的方式来检测故障,无论是否有意(攻击)。实际上,由加密电路操纵的三元组的简单逻辑组合(例如,执行三输入AND型函数)立即在比特上提供错误检测信号。
图3示出了置换f的回合,称为等级i。如前所述,回合次数n根据算法所需要的阻力来设置。作为特定示例,回合次数是24或48。然而,应当注意,可以存在任何的回合次数,优选在算法所需要的稳健性与执行持续时间之间进行选择。
回合置换可以四条直线0、1、2和3的形式来说明,在该回合的每个步骤处对状态a(x)(字a(0)、a(1)、a(2)和a(3))的32个代码a(x,z)进行基本操作。下文中参考状态a(x)和代码a(x,z)进行以7为模的运算。逐代码地执行以7为模的运算(加法、乘法、减法)。
其开始于依次将字a(2)的32个代码a(2,z)与字a(3)的32个代码a(3,z)相乘(运算31,x),即,字a(2)和a(3)的以7为模的乘法。换言之,乘法是逐代码地来被执行。
然后,将乘法31的结果与字a(0)和a(1)的代码进行以7为模的加法(运算32和33)。这等于逐代码地将字a(0)的32个代码a(0,z)与乘法31的结果W31的32个代码依次相加,并且将字a(1)的32个代码a(1,z)与结果W31的32个代码依次相加。
然后,逐代码地从加法32的结果W32中以7为模的减去(运算34)加法33的结果W33。
然后,将减法34的结果W34与字a2和a3以7为模的相加(运算35和36)。换言之,逐代码地将字W34的主体GF7中的32个代码与字a(2)的32个代码a(2,z)依次相加,并且与字a(3)的30个代码a(3,z)依次相加。
然后(步骤37),执行由运算32、33、35和36产生的字W32、W33、W35和W36的置换。从而:
字W32(a(0))变为直线3的字a(3);
字W33(a(1))变为直线2的字a(2);
字W35(a(2))变为直线0的字a(0);以及
字W36(a(3))变为直线1的字a(1)。
下一步骤包括逐代码地将具有32个以7为基数的代码的字的形式的回合常数与字W35(a(0))进行以7为模相加(运算38)。每个回合的回合常数Ci不同。
回合的最后一步包括:
将加法38的结果以7为模乘以2(运算40),这等于逐代码地将32个代码中的每个代码都乘以2。
对字a1(W36)的代码a(1,z)以一个位置执行模32的循环移位(运算41),除代码a(1,0)外变为代码a(1,31)以外,每个代码a(1,z)变为代码a(1,z-1);
对字a2(W33)的代码a(2,z)以五个位置执行模32的循环移位(运算42),除代码a(2,4),a(2,3),a(2,2),a(2,1)和a(2,0)分别变为a(2,31)、a(2,30)、a(2,29)、a(2,28)和a(2,27)以外,每个代码a(2,z)变为代码a(2,z-5);以及
对字a3(W32)的代码a(3,z)以十四个位置执行模32的循环移位(运算43),除代码a(3,13)、a(3,12)、a(3,11)、a(3,10)、a(3,9)、a(3,8)、a(3,7)、a(3,6)、a(3,5)、a(3,4)、a(3,3)、a(3,2)、a(3,1)和a(3,0)分别变为a(3,31)、a(3,30)、a(3,29)、a(3,28)、a(3,27)、a(3,26)、a(3,25)、a(3,24)、a(3,23)、a(3,22)、a(3,21)、a(3,20)、a(3,19)和a(3,18)以外,每个代码a(3,z)变为代码a(3,z-14)。
运算40、41、42和43的结果分别形成等级i的当前回合的输出值a(0)、a(1)、a(2)和a(3)。这些状态通常变为下一回合的输入状态或函数f的结果。
图4以框图形式示意性地示出了可以应用所描述的加密函数f的类型的算法示例。
图4的示例对应于被称为“海绵”的算法,该算法实现吸收阶段ABS和压缩阶段SQ,其中从吸收阶段的输出状态生成具有任意期望长度的字符串。
这种类型的算法方案例如在https://keccak.team/sponge_duplex.html中描述,该文献在法律允许的最大范围内通过引用并入本文。
消息M由块51(CONV)转换为具有给定数目代码的四个字P0、P1、P2和P3,每个代码是以7为基数的代码。
吸收阶段ABS包括将置换f应用到以下结果的任何循环次数(例如,四个循环531、532、533和534),即将字P0至P3中的一个字分别与运算551的初始值530或与运算552、553和554的先前循环531、532或533的结果的逐代码地的以7为模进行加法(运算551、552、553和554)的结果。初始值530例如为零(0),但可以是任何值,只要将其固定即可。在使用密钥的应用中,密钥可以被包含在初始值中。
该结果(循环534的输出)被提交给压缩阶段SQ,该压缩阶段SQ例如包括应用函数f的两个连续的循环571和572。第一循环571接收循环534的结果。第二循环572接收循环571的结果。进一步提取循环534、571和572的相应输出,以形成被级联(运算59,CONC)的值Z0、Z1和Z2来提供结果V。循环次数57(此处为两个:571和572)可以大于两个。它取决于结果V所需要的大小。
每个循环531、532、533、534、571和572包括函数f的应用,即,图2的n个回合(或n次图3的回合置换)。
图4仅是可以应用结合图2和3所描述的函数的算法示例。该函数实际上具有自主操作,并且可以由任何加密置换使用或者甚至被用于块加密中。
从二进制到基数7的转换以及从基数7到二进制的转换的步骤51和59(图4)可以采用各种形式。例如,可以使用转换表。这种表特别适合于在二进制到基数7的方向上的转换。在从基数7到二进制方向上,作为变型,可以使用每次应用函数f的结果的累加器。然后,将程序的指令存储在非易失性存储器13中。
所描述的实施例的优点在于,函数f可以以硬件或软件方式来实现。
所描述的实施例的另一优点在于,函数f与加密算法的其余结构无关。因此,它不限于特定的算法结构。
函数f例如至少部分地以硬件运算符(逻辑运算符)的形式来实现,该硬件运算符由电路的存储器13中所存储的、使用该函数实现算法的程序指令来控制。作为变型,该函数由处理器(例如,处理单元11)以软件方式实现。
图5以框图形式非常示意性地示出了作为示例可以应用所描述的加密置换的类型的打印系统实施例。
根据该示例,该系统包括打印机61和一个或多个墨水盒63。更一般地,该系统可以包括打印机和与该打印机相关联的任何可更换或可消耗的元件或组件,例如,打印头类型的备用配件。
打印机61和每个墨盒63分别包括一个或多个电子电路615、635。电路615和635是结合图1描述的类型的电路1。特别地,电路615和635至少包括尤其用于与系统的其他部分(墨盒或打印机)进行通信的以下各项:存储器(图1中的13);处理单元(图1中的11),例如处理器或有线逻辑状态机;输入-输出接口(图1中的17);以及上述函数2类型的加密函数。
一个或多个密钥被存储在电路615和电路635的(非易失性)存储器13中。该密钥被用于打印机对墨盒的认证方法中。
图6以框图形式非常示意性地示出了由打印机对墨盒进行认证的方法实现的简化示例。
根据该简化实施例,在每次上电时和/或周期性地和/或在每次安装新墨盒时,打印机PRT启动认证过程。
已知实现签名计算或哈希机制(诸如SHA)的多个认证过程。可以使用能够使用所描述加密函数f的任何算法。SHA算法(特别地是SHA-3)是一种使用图4所使用类型的海绵函数的算法。
在图6的示例中,以简化方式假定打印机电路例如随机地选择数字NB。例如,数字NB形成待被提交给海绵函数的消息M(图4)。由打印机将数字NB传输到墨盒CART的电路,以便后者使用基于加密函数f的海绵函数将其提交给签名算法66。结果R或作为该结果的函数的信息由墨盒CART返回至打印机PRT。
假定墨盒使用密钥K计算签名,密钥K被完全或部分地用于海绵函数的初始值(图4中的530)中。
在图6的示例中,还假定打印机(其包括的电子电路)具有与墨盒相同的签名算法,并且还计算(框66')数字NB的签名结果R'。在该示例中,打印机和墨盒共享相同的密钥,但是可以使用更复杂的机制来表示密钥派生(例如,会话密钥)或密钥传输,而这不会影响加密函数f的使用原理。然后,打印机能够验证(框68,检查)由墨盒根据数字NB来计算的签名与其具有的自身计算的签名是否相同。如果墨盒是可信的,则打印机授权它在由打印机操作的打印中使用。如果不是,则可以提供各种对策,就其本身而言,各种对策通常例如是关闭打印机、发出错误消息、完全或部分闭锁打印机的功能,等等。
打印机和墨盒的电路615和635之间的交换优选被加密。
已经描述了各种实施例。本领域技术人员将容易想到各种改变、修改和改进。特别地,回合次数的选择可以从一个应用到另一应用而改变。
此外,所描述的功能和/或方法可以以结果的表或集合的形式来实现,该结果的表或集合表示将它们应用到一组数字。然后将该结果存储在存储器中,优选为非易失性存储器等,并且根据由墨盒或打印机传送的数字来提取结果。类似地,可以使用提供表示将所描述的功能和/或方法应用到数字的结果的任何电路。这样的电路可以与存储器相关联和/或被配置为执行表示所描述的功能和/或方法的程序。此外,已经描述的所有内容可以软件或硬件方式或通过这两者的组合来实现。
最后,基于以上给出的函数指示,已描述的实施例的实际实现在本领域技术人员的能力范围内。此外,尽管已经给出了用于认证打印机墨盒的签名计算的具体示例,但是所描述的加密函数可以更普遍地用于一个元件被另一元件认证的任何机制中,前提是两个元件都配备有适用的电路和/或存储器,并且更一般地是用任何的加密机制。
Claims (49)
1.一种保护密码操作的方法,包括:
在由电子电路执行所述密码操作期间,使用四个字来保护所述电子电路,每个字表示以7为基数的代码,所述保护包括:
将所述四个字中的第三字逐代码地乘以所述四个字中的第四字;
将所乘得的结果与所述四个字中的第一字逐代码地相加;
将所乘得的所述结果与所述四个字中的第二字逐代码地相加;
从与所述第一字的所述相加的结果中逐代码地减去与所述第二字的所述相加的结果;
将减去的结果与所述第三字逐代码地相加;
将减去的所述结果与所述第四字相加;
将所述第三字与减去的所述结果相加的结果逐代码地与回合常数组合;
将所述组合的结果逐代码地乘以2;
对将所述第四字与减去的所述结果相加的结果的代码进行循环移位;
对将所述第二字与所乘得的所述结果相加的所述结果的代码进行循环移位;以及
对将所述第一字与所乘得的所述结果相加的所述结果的代码进行循环移位。
2.根据权利要求1所述的方法,其中每个字包括32个代码。
3.根据权利要求1所述的方法,其中所述循环移位分别移位1、5和14个位置。
4.根据权利要求1所述的方法,其中每个以7为基数的代码被表示为二进制状态的三元组。
5.根据权利要求1所述的方法,其中所述保护是迭代过程,迭代的最终状态形成下一迭代的初始状态。
6.根据权利要求1所述的方法,其中所述密码操作包括哈希函数。
7.根据权利要求6所述的方法,包括将消息转换为以7为基数。
8.根据权利要求6所述的方法,其中所述保护是多次被应用的迭代过程。
9.根据权利要求1所述的方法,其中所述保护包括保护由所述电子电路操纵的信息。
10.根据权利要求4所述的方法,其中经确定的三元组的出现标识错误。
11.根据权利要求1所述的方法,其中所述电子电路是打印机。
12.根据权利要求1所述的方法,其中所述电子电路是可更换打印机组件。
13.根据权利要求1所述的方法,其中所述密码操作包括由打印机对可更换打印机组件的认证。
14.根据权利要求13所述的方法,其中所述可更换打印机组件执行所述保护。
15.一种设备,包括:
一个或多个存储器;以及
耦合到所述一个或多个存储器的数字信号处理电路系统,所述数字信号处理电路系统在操作中使用四个字来保护密码操作,每个字表示以7为基数的代码,所述保护包括:
将所述四个字中的第三字逐代码地乘以所述四个字中的第四字;
将所乘得的结果与所述四个字中的第一字逐代码地相加;
将所乘得的所述结果与所述四个字中的第二字逐代码地相加;
从与所述第一字的所述相加的结果中逐代码地减去与所述第二字的所述相加的结果;
将减去的结果与所述第三字逐代码地相加;
将减去的所述结果与所述第四字相加;
将所述第三字与减去的所述结果相加的结果逐代码地与回合常数组合;
将所述组合的结果逐代码地乘以2;
对将所述第四字与减去的所述结果相加的结果的代码进行循环移位;
对将所述第二字与所乘得的所述结果相加的所述结果的代码进行循环移位;以及
对将所述第一字与所乘得的所述结果相加的所述结果的代码进行循环移位。
16.根据权利要求15所述的设备,其中每个字包括32个代码。
17.根据权利要求15所述的设备,其中所述循环移位分别移位1、5和14个位置。
18.根据权利要求15所述的设备,其中每个以7为基数的代码被表示为二进制状态的三元组。
19.根据权利要求15所述的设备,其中所述保护是迭代过程,迭代的最终状态形成下一迭代的初始状态。
20.根据权利要求15所述的设备,其中所述密码操作包括哈希函数。
21.根据权利要求15所述的设备,其中所述保护包括生成所述四个字。
22.根据权利要求15所述的设备,其中所述保护包括保护由所述密码操作操纵的信息。
23.根据权利要求15所述的设备,其中经确定的三元组的出现标识所述密码操作中的错误。
24.根据权利要求15所述的设备,其中所述设备是打印机。
25.根据权利要求15所述的设备,其中所述设备是可更换打印机组件。
26.根据权利要求15所述的设备,其中所述密码操作包括由打印机对可更换打印机组件的认证。
27.根据权利要求26所述的设备,其中所述可更换打印机组件执行所述保护。
28.一种系统,包括:
一个或多个功能电路;以及
耦合到所述一个或多个功能电路的数字信号处理电路系统,所述数字信号处理电路系统在操作中使用四个字来保护密码操作的执行,每个字表示以7为基数的代码,所述保护包括:
将所述四个字中的第三字逐代码地乘以所述四个字中的第四字;
将所乘得的结果与所述四个字中的第一字逐代码地相加;
将所乘得的所述结果与所述四个字中的第二字逐代码地相加;
从与所述第一字的所述相加的结果中逐代码地减去与所述第二字的所述相加的结果;
将减去的结果与所述第三字逐代码地相加;
将减去的所述结果与所述第四字相加;
将所述第三字与减去的所述结果相加的结果逐代码地与回合常数组合;
将所述组合的结果逐代码地乘以2;
对将所述第四字与减去的所述结果相加的结果的代码进行循环移位;
对将所述第二字与所乘得的所述结果相加的所述结果的代码进行循环移位;以及
对将所述第一字与所乘得的所述结果相加的所述结果的代码进行循环移位。
29.根据权利要求28所述的系统,其中所述密码操作的结果与所述功能电路系统的函数有关。
30.根据权利要求28所述的系统,其中每个以7为基数的代码被表示为二进制状态的三元组。
31.根据权利要求28所述的系统,其中所述保护包括在所述密码操作的执行期间检测错误。
32.根据权利要求31所述的系统,其中所述错误是故障注入错误。
33.一种非瞬态计算机可读介质,其具有将数字信号处理电路系统配置为执行一种方法的内容,所述方法包括:
使用四个字来保护由所述数字信号处理电路系统执行的密码操作,每个字表示以7为基数的代码,所述保护包括:
将所述四个字中的第三字逐代码地乘以所述四个字中的第四字;
将所乘得的结果与所述四个字中的第一字逐代码地相加;
将所乘得的所述结果与所述四个字中的第二字逐代码地相加;
从与所述第一字的所述相加的结果中逐代码地减去与所述第二字的所述相加的结果;
将减去的结果与所述第三字逐代码地相加;
将减去的所述结果与所述第四字相加;
将所述第三字与减去的所述结果相加的结果逐代码地与回合常数组合;
将所述组合的结果逐代码地乘以2;
对将所述第四字与减去的所述结果相加的结果的代码进行循环移位;
对将所述第二字与所乘得的所述结果相加的所述结果的代码进行循环移位;以及
对将所述第一字与所乘得的所述结果相加的所述结果的代码进行循环移位。
34.根据权利要求33所述的计算机可读介质,其中每个字包括32个代码。
35.根据权利要求33所述的计算机可读介质,其中所述内容包括由所述数字信号处理电路系统执行的指令。
36.根据权利要求33所述的计算机可读介质,其中所述内容包括表示将所述方法应用到一组数字的一组结果。
37.根据权利要求33所述的计算机可读介质,其中所述数字信号处理电路系统包括可更换打印机组件的电路系统。
38.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质具有将数字信号处理电路系统配置为执行一种方法的内容,所述方法包括:
接收数字;
基于所述数字来生成输出;以及
使用所述输出来保护密码操作,其中所述输出对应于:
将所述数字表示为四个字,每个字表示以7为基数的代码;
将所述四个字中的第三字逐代码地乘以所述四个字中的第四字;
将所乘得的结果与所述四个字中的第一字逐代码地相加;
将所乘得的所述结果与所述四个字中的第二字逐代码地相加;
从与所述第一字的所述相加的结果中逐代码地减去与所述第二字的所述相加的结果;
将减去的结果与所述第三字逐代码地相加;
将减去的所述结果与所述第四字相加;
将所述第三字与减去的所述结果相加的结果逐代码地与回合常数组合;
将所述组合的结果逐代码地乘以2;
对将所述第四字与减去的所述结果相加的结果的代码进行循环移位;
对所述第二字与所乘得的所述结果相加的所述结果的代码进行循环移位;以及
对所述第一字与所乘得的所述结果相加的所述结果的代码进行循环移位。
39.根据权利要求38所述的计算机可读介质,其中所述内容包括用以将数字转换为对应输出的查找表。
40.根据权利要求38所述的计算机可读介质,其中所述数字信号处理电路系统包括可更换打印机组件的处理电路系统。
41.根据权利要求38所述的计算机可读介质,其中所述密码操作认证可更换打印机组件。
42.一种保护密码操作的方法,包括:
接收数字;
基于所述数字来生成输出;以及
使用所述输出来保护所述密码操作,其中所述输出对应于:
将所述数字表示为四个字,每个字表示以7为基数的代码;
将所述四个字中的第三字逐代码地乘以所述四个字中的第四字;
将所乘得的结果与所述四个字中的第一字逐代码地相加;
将所乘得的所述结果与所述四个字中的第二字逐代码地相加;
从与所述第一字的所述相加的结果中逐代码地减去与所述第二字的所述相加的结果;
将减去的结果与所述第三字逐代码地相加;
将减去的所述结果与所述第四字相加;
将所述第三字与减去的所述结果相加的结果逐代码地与回合常数组合;
将所述组合的结果逐代码地乘以2;
对将所述第四字与减去的所述结果相加的结果的代码进行循环移位;
对将所述第二字与所乘得的所述结果相加的所述结果的代码进行循环移位;以及
对将所述第一字与所乘得的所述结果相加的所述结果的代码进行循环移位。
43.根据权利要求42所述的方法,其中生成所述输出包括从查找表中检索所述输出。
44.根据权利要求42所述的方法,其中所述密码操作由可更换打印机组件的处理电路系统执行。
45.根据权利要求42所述的方法,其中所述密码操作认证可更换打印机组件。
46.一种设备,包括:
一个或多个存储器;以及
耦合到所述一个或多个存储器的处理电路系统,其中所述处理电路系统在操作中:
基于数字来生成输出;以及
使用所述输出来保护密码操作,其中所述输出对应于:
将所述数字表示为四个字,每个字表示以7为基数的代码;
将所述四个字中的第三字逐代码地乘以所述四个字中的第四字;
将所乘得的结果与所述四个字中的第一字逐代码地相加;
将所乘得的所述结果与所述四个字中的第二字逐代码地相加;
从与所述第一字的所述相加的结果中逐代码地减去与所述第二字的所述相加的结果;
将减去的结果与所述第三字逐代码地相加;
将减去的所述结果与所述第四字相加;
将所述第三字与减去的所述结果相加的结果逐代码地与回合常数组合;
将所述组合的结果逐代码地乘以2;
对将所述第四字与减去的所述结果相加的结果的代码进行循环移位;
对将所述第二字与所乘得的所述结果相加的所述结果的代码进行循环移位;以及
对将所述第一字与所乘得的所述结果相加的所述结果的代码进行循环移位。
47.根据权利要求46所述的设备,其中生成所述输出包括从查找表中检索所述输出。
48.根据权利要求46所述的设备,其中所述设备包括可更换打印机组件。
49.根据权利要求46所述的设备,其中所述密码操作认证可更换打印机组件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1850331 | 2018-01-16 | ||
FR1850331A FR3076925B1 (fr) | 2018-01-16 | 2018-01-16 | Fonction cryptographique |
PCT/EP2019/050350 WO2019141542A1 (fr) | 2018-01-16 | 2019-01-08 | Fonction cryptographique et authentification de composant remplaçable pour imprimante |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111602366A CN111602366A (zh) | 2020-08-28 |
CN111602366B true CN111602366B (zh) | 2023-08-15 |
Family
ID=62455615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980008359.4A Active CN111602366B (zh) | 2018-01-16 | 2019-01-08 | 可更换的打印机组件的密码函数和认证 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11025426B2 (zh) |
EP (1) | EP3512153B1 (zh) |
CN (1) | CN111602366B (zh) |
FR (1) | FR3076925B1 (zh) |
WO (1) | WO2019141542A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3076923A1 (fr) | 2018-01-16 | 2019-07-19 | Stmicroelectronics (Rousset) Sas | Procede et circuit d'authentification |
FR3098949B1 (fr) * | 2019-07-15 | 2023-10-06 | St Microelectronics Rousset | Fonction à sens unique |
FR3101979B1 (fr) * | 2019-10-14 | 2021-09-24 | Proton World Int Nv | Procédé de chiffrement de données |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2523385A1 (en) * | 2011-05-05 | 2012-11-14 | Proton World International N.V. | Method and circuit for cryptographic operation |
CN105302522A (zh) * | 2014-06-26 | 2016-02-03 | 英特尔公司 | 提供通用gf(256)simd密码算法功能性的指令和逻辑 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020004812A1 (en) | 1997-06-26 | 2002-01-10 | Tetsuro Motoyama | Method and system for diagnosis and control of machines using connectionless modes having delivery monitoring and an alternate communication mode |
US5048086A (en) | 1990-07-16 | 1991-09-10 | Hughes Aircraft Company | Encryption system based on chaos theory |
US6125182A (en) | 1994-11-09 | 2000-09-26 | Channel One Communications, Inc. | Cryptographic engine using logic and base conversions |
JP3525209B2 (ja) | 1996-04-05 | 2004-05-10 | 株式会社 沖マイクロデザイン | べき乗剰余演算回路及びべき乗剰余演算システム及びべき乗剰余演算のための演算方法 |
US6618117B2 (en) * | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
US6298135B1 (en) | 1999-04-29 | 2001-10-02 | Motorola, Inc. | Method of preventing power analysis attacks on microelectronic assemblies |
US7188258B1 (en) | 1999-09-17 | 2007-03-06 | International Business Machines Corporation | Method and apparatus for producing duplication- and imitation-resistant identifying marks on objects, and duplication- and duplication- and imitation-resistant objects |
US7200225B1 (en) | 1999-11-12 | 2007-04-03 | Richard Schroeppel | Elliptic curve point ambiguity resolution apparatus and method |
US7685423B1 (en) * | 2000-02-15 | 2010-03-23 | Silverbrook Research Pty Ltd | Validation protocol and system |
GB0013355D0 (en) | 2000-06-01 | 2000-07-26 | Tao Group Ltd | Parallel modulo arithmetic using bitwise logical operations |
GB0013398D0 (en) | 2000-06-01 | 2000-07-26 | Tao Group Ltd | A method of protecting a cryptosystem from a multiple transmission attack |
DE10061997A1 (de) | 2000-12-13 | 2002-07-18 | Infineon Technologies Ag | Kryptographieprozessor |
KR100436814B1 (ko) | 2001-12-20 | 2004-06-23 | 한국전자통신연구원 | 아이씨카드용 알에스에이 암호 연산 장치 |
DE10224742B4 (de) | 2002-06-04 | 2004-07-08 | Infineon Technologies Ag | Datenverarbeitungsschaltung und Verfahren zum Übertragen von Daten |
TW586086B (en) | 2002-12-27 | 2004-05-01 | Ind Tech Res Inst | Method and apparatus for protecting public key schemes from timing, power and fault attacks |
US20050195975A1 (en) | 2003-01-21 | 2005-09-08 | Kevin Kawakita | Digital media distribution cryptography using media ticket smart cards |
US20140055290A1 (en) * | 2003-09-09 | 2014-02-27 | Peter Lablans | Methods and Apparatus in Alternate Finite Field Based Coders and Decoders |
US7505589B2 (en) | 2003-09-09 | 2009-03-17 | Temarylogic, Llc | Ternary and higher multi-value digital scramblers/descramblers |
DE602005018457D1 (de) | 2004-02-24 | 2010-02-04 | Nxp Bv | Verfahren und Einrichtung zum Schützen einer integrierten Schaltung mittels Einbrucherkennung durch Monte-Carlo-Analyse |
US7580472B2 (en) | 2004-02-25 | 2009-08-25 | Ternarylogic Llc | Generation and detection of non-binary digital sequences |
US7631190B2 (en) * | 2004-05-27 | 2009-12-08 | Silverbrook Research Pty Ltd | Use of variant and base keys with two entities |
JP4969106B2 (ja) * | 2006-01-05 | 2012-07-04 | ルネサスエレクトロニクス株式会社 | マイクロコントローラ |
US7739198B2 (en) * | 2006-07-31 | 2010-06-15 | Lexmark International, Inc. | System and method for remotely authenticating a device in a reward program |
KR100867989B1 (ko) | 2006-12-06 | 2008-11-10 | 한국전자통신연구원 | 단순전력분석에 안전한 Left-to-Right방향으로 리코딩과 스칼라 곱셈을 동시에 수행하는 스칼라곱셈 방법 |
KR20100016579A (ko) | 2007-04-05 | 2010-02-12 | 인터내셔널 비지네스 머신즈 코포레이션 | 크리덴셜 배포를 위한 시스템 및 방법 |
US8670557B2 (en) | 2007-09-10 | 2014-03-11 | Spansion Llc | Cryptographic system with modular randomization of exponentiation |
WO2011068996A1 (en) | 2009-12-04 | 2011-06-09 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
CN102754462B (zh) | 2010-05-12 | 2016-05-11 | 中兴通讯股份有限公司 | 一种实现移动终端转账的方法和业务平台 |
US8532506B2 (en) * | 2010-11-29 | 2013-09-10 | Xerox Corporation | Multiple market consumable ID differentiation and validation system |
ES2767052T3 (es) * | 2014-10-31 | 2020-06-16 | Hewlett Packard Development Co | Cifrado de cartuchos de fluido para su uso con dispositivos de imágenes |
-
2018
- 2018-01-16 FR FR1850331A patent/FR3076925B1/fr active Active
-
2019
- 2019-01-08 CN CN201980008359.4A patent/CN111602366B/zh active Active
- 2019-01-08 EP EP19150830.8A patent/EP3512153B1/fr active Active
- 2019-01-08 WO PCT/EP2019/050350 patent/WO2019141542A1/fr active Application Filing
- 2019-01-16 US US16/249,799 patent/US11025426B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2523385A1 (en) * | 2011-05-05 | 2012-11-14 | Proton World International N.V. | Method and circuit for cryptographic operation |
CN105302522A (zh) * | 2014-06-26 | 2016-02-03 | 英特尔公司 | 提供通用gf(256)simd密码算法功能性的指令和逻辑 |
Also Published As
Publication number | Publication date |
---|---|
FR3076925B1 (fr) | 2020-01-24 |
US11025426B2 (en) | 2021-06-01 |
EP3512153A1 (fr) | 2019-07-17 |
US20190222421A1 (en) | 2019-07-18 |
CN111602366A (zh) | 2020-08-28 |
EP3512153B1 (fr) | 2021-05-05 |
WO2019141542A1 (fr) | 2019-07-25 |
FR3076925A1 (fr) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109791517B (zh) | 保护并行乘法运算免受外部监测攻击 | |
CN111602366B (zh) | 可更换的打印机组件的密码函数和认证 | |
EP2082346B1 (en) | Protection against side channel attack with an integrity check | |
US9898623B2 (en) | Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product | |
Wang et al. | Algebraic manipulation detection codes and their applications for design of secure cryptographic devices | |
EP1398901B1 (en) | Feistel type encryption method and apparatus protected against DPA attacks | |
JP5693927B2 (ja) | 故障利用攻撃の検出方法及び検出装置 | |
CN106487499B (zh) | Rijndael算法的保护 | |
US20150074422A1 (en) | Electronic circuit and method for monitoring a data processing | |
US8321691B2 (en) | EMA protection of a calculation by an electronic circuit | |
WO2018115143A1 (en) | A calculation device for encoded addition | |
US9251098B2 (en) | Apparatus and method for accessing an encrypted memory portion | |
US10855443B2 (en) | Protecting polynomial hash functions from external monitoring attacks | |
US11444760B2 (en) | System, method, and apparatus for obfuscating device operations | |
US20100054460A1 (en) | Protection of a ciphering algorithm | |
JP5150642B2 (ja) | 効率的なデータ完全性保護 | |
CN113141255A (zh) | 用于在处理设备、对应的处理设备和计算机程序产品中对数据执行密码运算的方法 | |
WO2004006074A2 (en) | Method for protecting an electronic circuit against fault-based attacks | |
JP2005045760A (ja) | 暗号処理方法及び装置 | |
JP2007174024A (ja) | 暗号処理装置 | |
CN101465726B (zh) | 用于秘钥的反破解方法及执行此方法的控制器与储存装置 | |
JP2007325219A (ja) | 暗号処理システムおよび暗号処理装置 | |
Sagar | Cryptographic Hashing Functions-MD5 | |
CN113475034B (zh) | 电路编译设备和电路评估设备 | |
US20240069917A1 (en) | Method for executing a machine code by means of a computer |
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 |