CN117940876A - 使用椭圆曲线加密确定部件的可信性的方法和系统 - Google Patents
使用椭圆曲线加密确定部件的可信性的方法和系统 Download PDFInfo
- Publication number
- CN117940876A CN117940876A CN202180101833.5A CN202180101833A CN117940876A CN 117940876 A CN117940876 A CN 117940876A CN 202180101833 A CN202180101833 A CN 202180101833A CN 117940876 A CN117940876 A CN 117940876A
- Authority
- CN
- China
- Prior art keywords
- integer
- bits
- binary
- supply item
- imaging device
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 238000003384 imaging method Methods 0.000 claims description 124
- 230000004044 response Effects 0.000 claims description 11
- 235000006629 Prosopis spicigera Nutrition 0.000 claims 1
- 240000000037 Prosopis spicigera Species 0.000 claims 1
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000000429 assembly Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
- Credit Cards Or The Like (AREA)
- Storage Device Security (AREA)
Abstract
使用在有限域Fq上定义的椭圆曲线E确定物品的可信性的方法,其中q是整数,该方法包括:生成随机整数j,其中随机整数j在1到整数q的区间内;计算点T=j·S,其中点S是椭圆曲线E(Fq)上的点;计算二进制值k,该k等于被施加了位掩码m的二进制随机整数j;向物品发送点T和二进制值k;和物品对于不同值的整数n迭代地计算点U=n·S,其中对于每次迭代计算,整数n取不同的值,其中对于每次迭代:二进制整数n的对应于位掩码m的非掩码位的位与二进制随机整数j的相对应的位相同;和二进制整数n的对应于位掩码m的掩码位的位在每次迭代中都是不同的。
Description
相关申请的交叉引用
无。
背景
1.技术领域
本公开总体上涉及用于确定部件的可信性(authenticity)的方法和系统,更具体地,涉及用于确定成像设备内供给物品部件的可信性的方法和系统。
2.相关技术描述
在电子系统中,通常希望确认电子系统的部件的可信性,以确保整个系统按设计运行。非可信部件使用各种技术来模拟可信部件的行为。这可以包括拷贝可信部件的电路和存储器内容,以便复制认证算法或在部件与电子系统其余部分之间的加密通信。这在其中希望确认打印系统的供给部件的可信性以确保正确操作的打印系统中尤为重要。
非可信部件可以利用与可信部件不同的资源来完成类似的行为。例如,经由硬件电路在可信部件上完成的加密方案可以经由运行在可编程微控制器上的固件在非可信部件上实现。这使得产生作为可信部件传递的非可信部件变得更加容易。
此外,在许多情况下,(例如在成像设备中)可能需要安全部件来检查若干其他部件(例如供给部件)的可信性,并且可能需要执行许多其他功能。因此,对安全部件的处理要求可能很高。
此外,由于成像系统的生命周期通常比非正品供给物品的生命周期长得多,非正品供给物品中的硬件(例如处理器)的功率可能在成像系统的生命周期中急剧增加,这意味着任何安全方法可能在其生命周期中变得过时。
因此,需要改进的系统和方法来确定部件的可信性,以阻止使用非可信部件,这可在其生命周期期间以灵活的方式进行改进。
概述
本公开提供了可以在任何通用电子系统中或者具体地在成像/打印设备/系统中实现的示例方法和系统,以阻止非可信部件的使用。
在一个方面,提供了一种使用在有限域Fq上定义的椭圆曲线E来确定成像设备中的供给物品的可信性的方法,其中q为整数,该方法包括:成像设备生成随机整数j,其中随机整数j在1到整数q的区间内;成像设备计算点T=j·S,其中点S是椭圆曲线E(Fq)上的点;成像设备计算二进制值k,k等于对其施加了位掩码m的二进制随机整数j;成像设备将点T和二进制值k发送给供给物品;以及供给物品对于不同的整数值n迭代计算点U=n·S,其中对于每次迭代计算,整数n取不同的值,其中对于每次迭代:二进制整数n的对应于位掩码m的非掩码位(unmasked bits)的位与二进制随机整数j的对应位相同;以及二进制整数n的对应于位掩码m的掩码位(masked bits)的位在每次迭代中都是不同的。
在某些实现中,利用这种方法,提供了一种用于确定部件的可信性以阻止非可信性部件的使用的改进的方法,这可在其生命周期内以灵活的方式进行改进。例如,在成像设备的生命周期内,位掩码m可以增加以使得更多的位被掩码,从而增加要求解的问题的复杂性。这种改变可以通过在成像设备的整个生命周期期间对其进行空中更新(over-the-airupdates)来完成,并以方便、渐进的方式增加复杂性。
在某些实现中,该方法还包括:成像设备向供给物品请求响应;供给物品通过向成像设备返回整数n的当前值的至少一部分来响应;成像设备将从供给物品所接收的整数n的至少一部分与随机整数j的对应部分进行比较。
在某些实现中,当确定从供给物品所接收的整数n的至少一部分与随机整数j的对应部分相同时,供给物品被识别为可信部件,并且其中,当确定从供给物品所接收的整数n的至少一部分与随机整数j的对应部分不同时,供给物品被识别为非可信部件。
在某些实现中,成像设备在经过预定时间后向供给物品请求响应。
在某些实现中,在U=T时,供给物品进行的迭代计算停止。
在某些实现中,二进制值k的对应于位掩码m的非掩码位的位与二进制随机整数j的对应的位相同,并且其中,二进制值k的对应于位掩码m的掩码位的位是被掩码的位。
在某些实现中,在计算二进制值k的步骤中,位掩码m掩码二进制随机整数j的最低有效位中的一个或更多个,以给出二进制值k。
在某些实现中,在计算二进制值k的步骤中,位掩码m掩码二进制随机整数j的最低有效位中的16个,以给出二进制值k。
在某些实现中,迭代计算点U包括将点S加到前一次迭代的点U。
在某些实现中,位掩码m中值为零的位是位掩码m的掩码位,以及位掩码m中值为1的位是位掩码m的非掩码位,并且其中,二进制值k=二进制随机整数j AND位掩码m。
在某些实现中,对于由供给物品执行的每次迭代计算,二进制整数n=二进制值kOR二进制值o,其中,二进制值o AND位掩码m=0。
在某些实现中,位掩码m中值为1的位的是位掩码m的掩码位,和位掩码m中值为零的位是位掩码m的非掩码位,并且其中,二进制值k=二进制随机整数j OR位掩码m。
在某些实现中,对于由供给物品执行的每次迭代计算,二进制整数n=二进制值kAND二进制值o,其中,二进制值o OR位掩码m=1111…1。
在某些实现中,该方法还包括成像设备将随机整数j的至少一部分保存到成像设备的存储器。
在某些实现中,点S被保存在成像设备和供给物品中。
在某些实现中,该方法包括成像设备将点S发送到供给物品。
在某些实现中,位掩码m被保存在成像设备和供给物品中。
在某些实现中,该方法包括成像设备将位掩码m发送到供给物品。
在某些实现中,椭圆曲线E的余因子(cofactor)为1。
在某些实现中,点S是随机选择的。
在某些实现中,成像设备在随后确定供给物品的可信性之间增加位掩码m的掩码位的数量。在某些实现中,成像设备仅在经过预定时间量之后,在随后确定供给物品的可信性之间增加位掩码m的掩码位的数量。在某些实现中,该预定时间量在6个月至5年之间,可选地在1年至4年之间,并且还可选地在2年至3年之间。
在另一方面,提供了一种成像系统,包括:成像设备;以及可通信地连接到成像设备的供给物品,其中,成像设备被配置为通过以下方式使用在有限域Fq上定义的椭圆曲线E来确定供给物品的可信性,其中q是一个整数:生成随机整数j,其中随机整数j在1到整数q的区间内;计算点t=j·S,其中,点S是椭圆曲线E(Fq)上的点;计算二进制值,该k等于对其施加了位掩码m的二进制随机整数j;和向供给物品发送点T和二进制值k,并且其中,供给物品被配置为:对于整数n的不同值,迭代地计算点U=n·S,其中对于每次迭代计算,整数n取不同的值,其中对于每次迭代:二进制整数n的对应于位掩码m的非掩码位的位与二进制随机整数j的对应的位相同;以及二进制整数n的对应于位掩码m的掩码位的位在每次迭代中都是不同的。
在某些实施例中,成像设备被配置为向供给物品请求响应,其中供给物品被配置为通过向成像设备返回整数n的当前值的至少一部分来响应,并且其中,成像设备被配置为将从供给物品所接收的整数n的至少一部分与随机整数j的对应部分进行比较。
在某些实施例中,当确定从供给物品所接收的整数n的至少一部分与随机整数j的对应部分相同时,供给物品被识别为可信部件,并且其中,当确定从供给物品所接收的整数n的至少一部分与随机整数j的对应部分不同时,供给物品被识别为非可信部件。
在某些实施例中,成像设备被配置为在经过预定时间后向供给物品请求响应。
在某些实施例中,供给物品被配置成使得在U=T时,供给物品进行的迭代计算停止。
在某些实施例中,二进制值k的对应于位掩码m的非掩码位的位与二进制随机整数j的对应的位相同,并且其中,二进制值k的对应于位掩码m的掩码位的位是被掩码的位。
在某些实施例中,点S保存在成像设备和供给物品中。
在某些实施例中,成像设备被配置为向供给物品发送点S。
在某些实施例中,位掩码m被保存在成像设备和供给物品中。
在某些实施例中,成像设备被配置为向供给物品发送位掩码m。
在某些实施例中,椭圆曲线E的余因子为1。
在某些实施例中,点S是随机选择的。
在某些实施例中,成像设备被配置为在随后确定供给物品的可信性之间增加位掩码m的掩码位的数量。在某些实施例中,成像设备被配置为仅在经过预定时间量之后,在随后确定供给物品的可信性之间增加位掩码m的掩码位的数量。在某些实施例中,该预定时间量在6个月至5年之间,可选地在1年至4年之间,并且还可选地在2年至3年之间。
在本文描述的任何实施方式/实施例中,部件(例如,各种领导者部件/跟随器部件)可以经由任何共享总线(例如I2C)连接。
根据前述公开和以下对各种示例的详细描述,对于本领域技术人员来说将明显的是,本公开在确定电子系统的部件的可信性的领域中提供了显著的进步。鉴于下面提供的详细描述,将更好地理解各种示例的附加特征和优点。
在整个公开中,q是一个整数。在整个公开中,对于素数域,整数q可能是质数p,或对于二进制(或特征二)域,整数q=2m。
如本文所使用的,术语“领导者(leader)”等同于术语“主设备(master)”,并且可以在全文中互换使用,而不会改变含义。如本文所使用的,术语“跟随器(follower)”等同于术语“从设备(slave)”,并且可以在全文中互换使用,而不会改变含义。术语“主设备”和“从设备”都取其在本领域中的通常含义,例如,在官方I2C规范中使用的含义。
附图简述
通过参考结合附图的示例的以下描述,本公开的上述和其他特征及优点以及获得它们的方式将变得更明晰且被更好地理解。在整个说明书中,相同的参考数字用于指示相同的元素。
图1是成像系统的图解视图。
图2是描绘图1的成像设备的部分的框图。
图3是示出与图1的成像设备相关联的方法的流程图。
图4是示出图3中所示方法的一部分的流程图。
附图的详细描述
应理解的是,本公开不限于在以下描述中阐述的或在附图中示出的部件的结构和布置的细节。本公开能够用于其他示例,并且能够以各种方式被实践或执行。例如,其他示例可以结合结构、时间、过程和其他变化。示例仅仅是代表可能的变化。除非明确要求,否则单个部件和功能是可选的,并且操作的顺序可以变化。某些示例的部分及特征可以被包括于其他示例中或代替其他示例的部分及特征。本公开的范围包括所附权利要求和所有可用的等同物。因此,以下描述不被认为是限制性的意义,并且本公开的范围由所附权利要求限定。
此外应理解的是,本文使用的措辞和术语是出于描述的目的并且不应当被视为限制性的。“包括”、“包含”或“具有”及其变形在本文的使用意在包括在其后列出的项和其等同物以及附加的项。此外,术语“一(a)”和“一(an)”在本文中的使用不表示对量的限制,而是表示存在至少一个所提及的项目。
此外,应当理解,本公开的示例包括硬件和电子部件或模块,出于讨论的目的,这些部件或模块可以被示出且描述为好像大多数部件仅在硬件中被实现。
还将理解是,可通过计算机程序指令分别实施图中每个块以及图的块的组合。这些计算机程序指令可以被加载到通用计算机、专用计算机或其他可编程数据处理装置上以生产机器,使得在计算机或其他可编程数据处理装置上执行的指令可以创建用于实现在下面的描述中详细讨论的图中的每个块或块的组合的功能的装置。
这些计算机程序指令也可以存储在非暂时性计算机可读介质中,该介质可以引导计算机或其他可编程数据处理装置以特定方式运行,使得存储在计算机可读介质中的指令可以产生制品,包括实现一个或更多个块中指定的功能的指令装置。也可以将计算机程序指令加载到计算机或其他可编程数据处理装置上,以使得在计算机或其他可编程装置上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令实现一个或更多个块中指定的功能。
因此,图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合、以及用于执行指定功能的程序指令装置。还将理解,图中每个块和图中块的组合可由执行指定功能或步骤的专用的基于硬件的计算机系统或专用的硬件和计算机指令的组合实现。
公开了用于确定诸如成像/打印机系统的电子系统中的部件的可信性的示例系统和方法。
参考图1,示出了与本公开相关联使用的成像系统100的图解视图。成像系统100包括用于在介质片材上打印图像的成像设备105。要打印在介质片材上的图像的图像数据可以从诸如计算机110、膝上型电脑115、移动设备120、成像设备105的扫描仪125或类似计算设备的各种源提供给成像设备105。这些源经由有线和/或无线连接直接或间接地与成像设备105通信。
成像设备105包括成像设备领导者部件130和用户接口135。成像设备领导者部件130可以包括处理器和相关联的存储器。在一些示例中,成像设备领导者部件130可以形成为一个或更多个专用集成电路(ASIC)或片上系统(SoC)。存储器可以是存储数据的任何存储器设备,并且可以与处理器一起使用或者能够与处理器通信。例如,存储器可以是任何易失性的或非易失性的存储器或它们的组合,诸如,例如随机存取存储器(RAM)、只读存储器(ROM)、闪存和/或非易失性RAM(NVRAM),以用于存储数据。可选地,成像设备领导者部件130可以控制打印数据的处理。可选地,成像设备领导者部件130还可以在将图像打印到介质片材上期间控制打印引擎的操作。
在一个示例中,成像设备105可以采用电子认证方案来认证被安装在成像设备105中的可消耗供给物品和/或可更换单元。在图1中,示出了代表性的可消耗供给物品/可更换物品,诸如墨粉盒(toner cartridge)150(另外或替代地,可以同样地使用其他可消耗/可更换供给物品,诸如成像单元和定影器(fuser))。供给物品150可以被安装在成像设备105中的相对应的存储区域中。为了执行供给物品150的认证,成像设备105可以利用被结合在成像设备105中的成像设备跟随器部件160和供给物品150的供给物品跟随器部件165。
成像设备105中的成像设备跟随器部件160和供给物品150中的供给物品跟随器部件165都可以被配置为连接到成像设备领导者部件130的跟随器设备,成像设备领导者部件130被配置为充当领导者设备。成像设备跟随器部件160和供给物品跟随器部件165可以与成像设备领导者部件130相结合地操作,以执行认证功能,这将在下面更详细地解释。
图2是描绘成像设备105和供给物品150的框图。在该示例中,共享总线系统200可用于控制各种子组件和部件(例如供给物品150)和/或获得其状态报告。共享总线系统200可以是包括串行时钟线(SCL)和串行数据线(SDA)的集成电路间(I2C)接口。各种部件(例如成像单元、墨粉盒150以及其他跟随器或供给设备和/或能够接收和/或处理数据的可寻址部件和子组件,例如定影器、激光扫描单元和介质馈送机构)可以连接到共享总线系统200(为简单起见,图2仅示出了连接到共享总线系统200的供给物品150)。成像设备领导者部件130通常可以被配置成控制总线领导者,该总线领导者充当共享总线系统200的领导者。总线领导者可以被实现为成像设备领导者部件130的固件。
成像设备跟随器部件160可以与总线领导者相结合地操作,以便于在成像设备领导者部件130和连接到共享总线系统200的各种部件和子组件(例如供给物品150)之间建立连接。例如,成像设备跟随器部件160可以被配置成提供与供给物品150和其他可寻址部件相关的认证功能、安全和操作互锁和/或地址改变功能。
参考图3,图3是示出确定成像设备105中的供给/可更换物品(例如供给物品150)的可信性的示例性方法300的流程图。尽管下面的方法是关于确定供给物品150的可信性来描述的,但是该方法同样也适用于确定系统中任何部件的可信性,例如任何供给/可更换物品的可信性。可选地,示例性方法300可以使用关于图1和/或图2描述的布置/配置来实现。
确定供给物品150的可信性的方法300使用在有限域Fq上定义的椭圆曲线E,其中q是一个整数。在本文,在有限域Fq上定义的椭圆曲线E被称为椭圆曲线E(Fq)。
当需要确定供给物品150的可信性时,在框310中,成像设备105生成随机整数j,其中随机整数j在1到整数q的区间内(即0<j<q)。随机整数j可以以技术人员已知的任何方式生成,例如通过真(硬件)随机数生成器或伪随机数生成器生成。
在框320中,成像设备105计算点T=j·S,其中点S是椭圆曲线E(Fq)上的点。可选地,椭圆曲线E(Fq)上的点S可以随机选择的。例如,椭圆曲线E(Fq)上的点S可以通过将椭圆曲线E(Fq)的曲线生成器G乘以1到该曲线的阶的区间内的一个随机整数q来随机选择。附加地/可替代地,椭圆曲线E(Fq)上的点S可以预先确定并被存储在成像设备105内。
在框330中,成像设备105计算二进制值k。二进制值k等于对其施加了位掩码m的二进制随机整数j。位掩码m可以被成像设备105和供给物品150预先确定和已知。可替代地,位掩码m可以由成像设备105生成(例如,随机地生成)并(例如,在下面描述的框340中,与点T和二进制值k一起)被发送到供给物品150。
位掩码m是一个二进制值,用于掩码二进制随机整数j的某些位。位掩码m中对二进制随机整数j的相对应的位进行掩码的位被称为位掩码m的掩码位,而位掩码m中不对二进制随机整数j的相对应的位进行掩码(即,保持这些相对应的位不变)的位被称为位掩码m的非掩码位。
当位掩码m被施加于二进制随机整数j时,二进制随机整数j的被掩码的位被称为二进制随机整数j的被掩码位,而二进制随机整数j中未被掩码的位被称为二进制随机整数j的未掩码位。通过将位掩码m施加到二进制随机整数j,二进制随机整数j的被掩码位可以被设置为0或1,这取决于掩码的特定类型及其被施加到二进制随机整数j的方式。将位掩码m施加到二进制随机整数j不更改二进制随机整数j的未掩码位的值。这将在下文进一步详细描述。
例如,位掩码m当被施加于二进制随机整数j时可以将二进制随机整数j的某些位掩码为零(在本文被描述为被掩码OFF)以及将二进制随机整数j的其他位保留不变。在这种情况下(被掩码OFF),位掩码m中值为零的位是位掩码m的掩码位,而位掩码m中值为1的位是位掩码m的非掩码位。对于被掩码OFF的情况,对其施加了位掩码m的二进制随机整数j(即二进制值k)=二进制随机整数j AND位掩码m。换句话说,对于被掩码OFF的情况,二进制值k=二进制随机整数j AND位掩码m。
可替代地,位掩码m当被施加于二进制随机整数/时可以将二进制随机整数j的某些位掩码为1(在本文被描述为被掩码ON)以及将二进制随机整数j的其他位保留不变。在这种情况下(被掩码ON),位掩码m中值为1的位是位掩码m的掩码位,而位掩码m中值为零的位是位掩码m的非掩码位。对于被掩码ON的情况,对其施加了位掩码m的二进制随机整数j(即二进制值k)=二进制随机整数j OR位掩码m。换句话说,对于被掩码ON的情况,二进制值k=二进制随机整数j OR位掩码m。
在框340中,成像设备105向供给物品150发送点T和二进制值k(以及可选的位掩码m)。
如果使用关于图1和/或图2描述的配置来实现该方法,则成像设备105可以经由共享总线系统200(例如集成电路间(I2C)接口)向供给物品150发送点T和二进制值k(以及可选的位掩码m)。
在框350中,对于整数n的不同值,供给物品150迭代地计算点U=n·S。如下所述,对于点U的每次迭代计算,整数n相对于以前的迭代取不同的值。
具体来说,对于点的每次迭代计算U=n·S,供给物品150使整数n变化,使得对于每个变化的整数n,在每次迭代中,以下两个都是正确的:i)二进制整数n的对应于位掩码m的非掩码位的位与二进制随机整数j的相对应的位相同;和ii)二进制整数n的对应于位掩码m的掩码位的位在每次迭代中都是不同的。二进制整数n的对应于位掩码m的掩码位的位可以在每次迭代中相对于先前的迭代变化,使得没有两次迭代使用相同值的二进制整数n。
例如,在被掩码OFF的情况下,对于由供给物品150执行的每次迭代计算,二进制整数n取不同的值,使得二进制整数n=二进制值k OR二进制值o,其中二进制值o AND位掩码m=0,其中不同的二进制值o用于每次迭代。因此,对于每次迭代,供给物品150在迭代之间使二进制值o不同,使得二进制值o AND位掩码m=0并计算二进制整数n=二进制值k OR用于该迭代的二进制值o。一旦对于该特定迭代确定了二进制整数n,供给物品150计算点U=n·S。
可替代地,在被掩码ON的情况下,对于由供给物品150执行的每次迭代计算,二进制整数n取不同的值,使得二进制整数n=二进制值k AND二进制值o,其中二进制值o OR位掩码m=1,其中不同的二进制值o用于每次迭代。因此,对于每次迭代,供给物品150在迭代之间使二进制值o不同,使得二进制值o OR位掩码m=1111…1并计算二进制整数n=二进制值k AND用于该迭代的二进制值o。一旦对于该特定迭代确定了二进制整数n,供给物品150计算点U=n·S。
对于被掩码OFF和被掩码ON两种情况,不同的二进制值o用于每次迭代。对于这两种情况,二进制值o可以系统地变化(这可能更有效和可预测)或随机变化。在二进制值o系统地变化的情况中,被掩码的位可以在每次迭代后顺序地递增/递减。
图4示出了针对被掩码OFF和被掩码ON两种情况执行框350的步骤的示例性方法。
一旦供给物品150从成像设备105接收点T和二进制值k(以及可选的位掩码m)(参照框340),在框351中,供给物品150针对计算的第一次迭代选择二进制值o的起始值,使得二进制值o AND位掩码m=0(对于被掩码OFF情况)或二进制值o OR位掩码m=1111…1(对于被掩码ON情况),如上所述。在这些约束条件下,二进制值o的对应于位掩码m的非掩码位的位取值为0(对于被掩码OFF的情况)或取值为1(对于被掩码ON的情况),而二进制值o对应于位掩码m的掩码位的位可以取值为0/1的任意排列/组合。
在框352中,供给物品150计算二进制整数n=二进制值k OR二进制值o(对于被掩码OFF的情况)或二进制整数n=二进制值k AND二进制值o(对于被掩码ON的情况),如上所述。因此,对于所有迭代,二进制整数n对应于位掩码m的非掩码位的位取二进制随机整数j的相对应的位的值,而二进制整数n的对应于位掩码m的掩码位的位对于每次迭代都是不同的,使得(最终)这些位值的所有可能的排列/组合都被使用。
在框353中,供给物品计算点U=n·S。供给物品150可以将点U的计算值与在框340中由成像设备105发送的点T进行比较。如果计算的点U=点T,则该方法移动到框360。如果计算的点U不等于点T,则该方法返回到框351,以针对新的迭代选择二进制值o的新值。
对于所有迭代,二进制值o AND位掩码m=0(对于被掩码OFF的情况)或二进制值oOR位掩码m=1(对于被掩码ON的情况)。如上所述,在这些约束下,二进制值o对应于位掩码m的非掩码位的位取值为0(对于被掩码OFF的情况)或取值为1(对于被掩码ON的情况),而二进制值o对应于位掩码m的掩码位的位可以取值为零/1的任意排列/组合。因此,各种迭代可以(最终)使用二进制值o的对应于位掩码m的掩码位的位的所有可能的排列/组合。
返回图3,在框360中,成像设备105确定供给物品150的可信性。例如,在框360中,成像设备105可以向供给物品请求响应。成像设备105可以在经过预定时间之后向供给物品150请求响应。例如,成像设备105可以在成像设备105向供给物品150发送点T和二进制值k(以及可选的位掩码m)(在框340中)后经过预定时间之后向供给物品150请求响应。
响应于该请求,供给物品150可以向成像设备105返回整数n的当前值的至少一部分。整数n的所返回的至少一部分可以包括整数n的被掩码的位中的至少一些。可选地,整数n的所返回的至少一部分可以包括整数n的所有被掩码的位。可选地,整数n的所返回的至少一部分可以包括整数n的所有位(即,供给物品150可以向成像设备105返回整数n的当前值的全部)。
一旦成像设备105接收到整数n的所返回的至少一部分,成像设备将从供给物品接收的整数n的至少一部分与随机整数j的相对应的部分进行比较。
当确定从供给物品接收的整数n的至少一部分与随机整数j的相对应的部分相同时,供给物品150被识别为可信部件。
当确定从供给物品150接收的整数n的至少一部分与随机整数j的相对应的部分不同时,供给物品150被识别为非可信部件。可选地,当识别出供给物品150非可信时,成像设备105被配置成采取动作,例如,阻止进一步使用成像设备的功能和/或显示已经发生验证错误的通知。可选地,可以经由用户接口的显示器建议用户获取授权的供给设备150,或者联系系统管理员或技术支持来帮助解决该问题。
在某些实现中,在框330中,在计算二进制值k的步骤中,位掩码m掩码二进制随机整数j的最低有效位中的一个或更多个,以给出二进制值k。可选地,位掩码m掩码二进制随机整数j的最低有效位中的16个,以给出二进制值k。
在这样的实现中,在框350中,迭代地计算点U包括将点S加到上一次迭代的U。
下面给出一个示例计算来进一步描述图3和图4中概述的方法。对于该示例,椭圆曲线E被选为适用于本文描述的任何方法的NIST P-256曲线。
对于NIST P-256,整数q是素数,p=
0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFEFFFFFC2F。
对于NIST P-256,阶=
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141。
为了确定曲线上的点S,选择小于该阶的一个随机整数r。对于NIST P-256,该阶接近2256,所以这可以通过使用加密随机数生成器简单地生成256位随机值来完成。如果该值恰好不小于该阶(非常低的概率),则可能会生成一个新值,直到小于该阶的随机整数r被选择到为止。
在该示例中,随机整数r被视为
0x8B640DE0232E40CB896F287DA0BBE2028EA89D60E1BD34E29B0BB740DF84661C。
通过计算S=r·G确定点S,其中G是NIST P-256生成器。在该示例中,点S=(0xAAAAC9B73050CB4C248D9FAD261522E1A6A6F726DC85C20CE70388D6F1AEF8B3,0xCD2B18F9D83A3487C603C2C4B23E64CA6385FC73758E59A4B9459CDA6D813FC4)。
在适用于本文公开的所有方法的优选示例中,位掩码m被选为
m=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000。
为了认证供给物品150,成像设备105生成随机整数j。用于生成随机整数r的相同方法可用于生成随机整数j。为了保护秘密点,还可以对随机整数j设置一个下限,例如,2216。在该示例中,随机整数j被视为
0xBAC920DBFB0AEEFD67D0CF6AD0F6A31334324B81C4B9B75561C6E24BFBCBA447。
接下来,成像设备105计算点T=j·S。在该示例中,点T=(0xD3FDC6348E7744FAB03738A5F368F6BFF3A7607645EC7A5BC26CEFCEEC145A55,0x1FC42AAE4D42668853FB5BAE954ACC2F94C05FF5C855E571C70E84C89E0FFA21)。
在本文,点T的x坐标被称为Tx以及点T的y坐标被称为Ty。
在如上选择位掩码m时,成像设备105可保存随机整数j的最低有效16位。在本文,随机整数j的最低有效16位被称为j’,在该示例中,其等于:
j’=0xA447。
接下来,成像设备105计算二进制值k,该k等于对其施加了位掩码m的二进制随机整数j。在如上选择位掩码m时,成像设备105可计算二进制值k=j AND m。成像设备105向供给物品150传输Tx,Tc=Tymod 2(点压缩)和二进制值k:
Tx=0xD3FDC6348E7744FAB03738A5F368F6BFF3A7607645EC7A5BC26CEFCEEC145A55Tc=1
k=0xBAC920DBFBOAEEFD67D0CF6AD0F6A31334324B81C4B9B75561C6E24BFBCB0000。
然后,供给物品150计算点U=k·S。在该示例中,点U等于
(0x39442EFE6BBB179F1194AAA2D11917534F8E6C9CBDEFCECD65805219E45C2CF3,0xD1B0B9DD21D43C64E8820A0480473117DEAA9974C3FE19A65D3DCCF05485E029)。
然后,供给物品150执行以下伪代码:
供给物品150循环直到U=T。在这一点上,在这个示例中,
answer=0xA447。
供给物品150将answer传输到成像设备105,成像设备105将其与j′进行比较。如果这些值匹配,则成像设备105认为供给物品150是可信的。
在上面的实施方式/实施例中,各种部件被配置为领导者/跟随器部件。这完全是可选的,并且可以使用其他通信总线。
许多实施例的相对明显的优点包括但不限于提供用于确定部件的可信性的改进的系统和方法,以阻止非可信性部件的使用,这可以在其生命周期期间以灵活的方式得到改进。
应当理解,本文描述的示例应用是说明性的,而不应被认为是限制性的。将认识到,示例流程图中描述并示出的动作可以以任何合适的顺序来被实行或被执行。还要认识到的是,在图3中描述的所有动作并非都需要根据本公开的示例实施例来执行,和/或可以根据本公开的其他示例实施例来执行附加动作。
例如,即使上面指的是跟随器/领导者部件,在替代实施例/实现中,也可以使用其他类型的部件。具体而言,可以使用其它类型的通信总线来代替I2C总线。
受益于前述描述和相关联附图中呈现的教导的这些公开内容所属领域的技术人员将会想到对本文阐述的公开内容的许多修改和其他实施例。因此,应当理解,本公开不限于所公开的特定实施例,以及修改和其他实施例被认为被包括在所附权利要求的范围内。尽管本文使用了特定的术语,但是它们仅在一般和描述性的意义上使用,而不是出于限制的目的。
Claims (20)
1.一种使用在有限域Fq上定义的椭圆曲线E确定成像设备中供给物品的可信性的方法,其中,q是整数,所述方法包括:
所述成像设备生成随机整数j,其中,所述随机整数j在1到整数q的区间内;
所述成像设备计算点T=j·S,其中,点S是椭圆曲线E(Fq)上的点;
所述成像设备计算二进制值k,所述k等于被施加了位掩码m的二进制随机整数j;
所述成像设备向所述供给物品发送点T和二进制值k;和
所述供给物品对于不同值的整数n迭代地计算点U=n.S,其中,对于每次迭代计算,整数n取不同的值,其中,对于每次迭代:
二进制整数n的对应于位掩码m的非掩码位的位与二进制随机整数j的相对应的位相同;和
二进制整数n的对应于位掩码m的掩码位的位在每次迭代中都是不同的。
2.根据权利要求1所述的方法,还包括:
所述成像设备向所述供给物品请求响应;
所述供给物品通过向所述成像设备返回整数n的当前值的至少一部分来响应;
所述成像设备将从所述供给物品所接收的整数n的所述至少一部分与随机整数j的对应部分进行比较。
3.根据权利要求2所述的方法,其中,当确定从所述供给物品所接收的整数n的所述至少一部分与随机整数j的对应部分相同时,所述供给物品被识别为可信部件,并且其中,当确定从所述供给物品所接收的整数n的所述至少一部分与随机整数j的对应部分不同时,所述供给物品被识别为非可信部件。
4.根据权利要求2所述的方法,其中,所述成像设备在经过预定时间后向所述供给物品请求响应。
5.根据权利要求1所述的方法,其中,当U=T时,所述供给物品进行的迭代计算停止。
6.根据权利要求1所述的方法,其中,二进制值k的对应于位掩码m的非掩码位的位与二进制随机整数j的对应的位相同,并且其中,二进制值k的对应于位掩码m的掩码位的位是被掩码的位。
7.根据权利要求1所述的方法,其中,在计算二进制值k的步骤中,所述位掩码m掩码二进制随机整数j的最低有效位中的一个或更多个,以给出二进制值k。
8.根据权利要求7所述的方法,其中,在计算二进制值k的步骤中,所述位掩码m掩码二进制随机整数j的最低有效位中的16个,以给出二进制值k。
9.根据权利要求7所述的方法,其中,迭代计算点U包括将点S加到前一次迭代的点U。
10.根据权利要求1所述的方法,其中,所述位掩码m中值为零的位是位掩码m的掩码位,而所述位掩码m中值为1的位是位掩码m的非掩码位,并且其中,二进制值k=二进制随机整数jAND位掩码m。
11.根据权利要求10所述的方法,其中,对于由所述供给物品执行的每次迭代计算,二进制整数n=二进制值kOR二进制值o,其中,二进制值oAND位掩码m=0。
12.根据权利要求1所述的方法,其中,所述位掩码m中值为1的位是位掩码m的掩码位,而所述位掩码m中值为零的位是位掩码m的非掩码位,并且其中,二进制值k=二进制随机整数jOR位掩码m。
13.根据权利要求12所述的方法,其中,对于由所述供给物品执行的每次迭代计算,二进制整数n=二进制值kAND二进制值o,其中,二进制值oOR位掩码m=二进制1111...1。
14.根据权利要求1所述的方法,包括所述成像设备将随机整数j的至少一部分保存到所述成像设备的存储器。
15.一种成像系统,包括:
成像设备;以及
供给物品,所述供给物品能够通信地连接到所述成像设备,
其中,所述成像设备被配置为通过以下方式使用在有限域Fq上定义的椭圆曲线E确定所述供给物品的可信性,其中q是整数:
生成随机整数j,其中,所述随机整数j在1到整数q的区间内;
计算点T=j·S,其中,点S是椭圆曲线E(Fq)上的点;
计算二进制值k,所述k等于施加了位掩码m的二进制随机整数j;和
向所述供给物品发送点T和二进制值k,
并且其中,所述供给物品被配置为:
对于不同值的整数n,迭代地计算点U=n.S,其中,对于每次迭代计算,整数n取不同的值,其中对于每次迭代:
二进制整数n的对应于位掩码m的非掩码位的位与二进制随机整数j的对应的位相同;以及
二进制整数n的对应于位掩码m的掩码位的位在每次迭代中都是不同的。
16.根据权利要求15所述的成像系统,其中,所述成像设备被配置为向所述供给物品请求响应,其中,所述供给物品被配置为通过向所述成像设备返回整数n的当前值的至少一部分来响应,以及其中,所述成像设备被配置为将从所述供给物品所接收的整数n的所述至少一部分与随机整数j的对应部分进行比较。
17.根据权利要求16所述的成像系统,其中,当确定从所述供给物品所接收的整数n的所述至少一部分与随机整数j的对应部分相同时,所述供给物品被识别为可信部件,并且其中,当确定从所述供给物品所接收的整数n的所述至少一部分与随机整数j的对应部分不同时,所述供给物品被识别为非可信部件。
18.根据权利要求16所述的成像系统,其中,所述成像设备被配置为在经过预定时间后向所述供给物品请求响应。
19.根据权利要求15所述的成像系统,其中,所述供给物品被配置成使得在U=T时,所述供给物品进行的迭代计算停止。
20.根据权利要求15所述的成像系统,其中,二进制值k的对应于位掩码m的非掩码位的位与二进制随机整数j的对应的位相同,并且其中,二进制值k的对应于位掩码m的掩码位的位是被掩码的位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/054398 WO2023063923A1 (en) | 2021-10-11 | 2021-10-11 | Methods and systems for determining the authenticity of a component using elliptic-curve cryptography |
US17/498,433 US20230112524A1 (en) | 2021-10-11 | 2021-10-11 | Methods and Systems for Determining the Authenticity of a Component Using Elliptic-Curve Cryptography |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117940876A true CN117940876A (zh) | 2024-04-26 |
Family
ID=85797769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180101833.5A Pending CN117940876A (zh) | 2021-10-11 | 2021-10-11 | 使用椭圆曲线加密确定部件的可信性的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230112524A1 (zh) |
CN (1) | CN117940876A (zh) |
AU (1) | AU2021468486A1 (zh) |
CA (1) | CA3230757A1 (zh) |
WO (1) | WO2023063923A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8345864B1 (en) * | 2008-12-12 | 2013-01-01 | Emc Corporation | Elliptic curve cryptography scalar multiplication with on demand acceleration table generation |
US9876794B2 (en) * | 2015-12-07 | 2018-01-23 | Lexmark International, Inc. | Systems and methods for authentication of printer supply items |
US11677730B2 (en) * | 2018-01-24 | 2023-06-13 | Intel Corporation | Device authentication |
CA3096272A1 (en) * | 2018-04-16 | 2019-10-24 | Lexmark International, Inc. | System and methods for changing addresses of one or more components |
DE102018113475A1 (de) * | 2018-06-06 | 2019-12-12 | Infineon Technologies Ag | Rechenwerk zum rechnen mit maskierten daten |
-
2021
- 2021-10-11 CA CA3230757A patent/CA3230757A1/en active Pending
- 2021-10-11 CN CN202180101833.5A patent/CN117940876A/zh active Pending
- 2021-10-11 AU AU2021468486A patent/AU2021468486A1/en active Pending
- 2021-10-11 US US17/498,433 patent/US20230112524A1/en active Pending
- 2021-10-11 WO PCT/US2021/054398 patent/WO2023063923A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20230112524A1 (en) | 2023-04-13 |
CA3230757A1 (en) | 2023-04-20 |
AU2021468486A1 (en) | 2024-03-14 |
WO2023063923A1 (en) | 2023-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130290360A1 (en) | Consumable identifier | |
AU2019255227B2 (en) | System and methods for changing addresses of one or more components | |
JP2020017928A (ja) | 認証システム、認証装置、被認証装置及び画像形成装置 | |
CN117940876A (zh) | 使用椭圆曲线加密确定部件的可信性的方法和系统 | |
CN109313692B (zh) | 打印机加密 | |
US20200004476A1 (en) | System and Methods for Changing Addresses of One or More Components | |
US20230025884A1 (en) | Methods and Systems for Determining the Authenticity of a Component | |
US20220303138A1 (en) | Security Device Computation Matching | |
US20240143726A1 (en) | Methods and Systems for Determining the Authenticity of a Component | |
US11665298B2 (en) | Methods and systems for maintaining a time measurement on an electronic device | |
US20220300778A1 (en) | Methods and Systems for Selectively Preventing Operation of a Component | |
US20210099417A1 (en) | System and Methods for Changing Addresses of One or More Components | |
CN118076951A (zh) | 逻辑电路系统封装的认证 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |