CN111382464A - 包括电路编码变换函数的加密asic - Google Patents

包括电路编码变换函数的加密asic Download PDF

Info

Publication number
CN111382464A
CN111382464A CN202010185225.4A CN202010185225A CN111382464A CN 111382464 A CN111382464 A CN 111382464A CN 202010185225 A CN202010185225 A CN 202010185225A CN 111382464 A CN111382464 A CN 111382464A
Authority
CN
China
Prior art keywords
block
programmable
hash
encryption
encryption method
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
CN202010185225.4A
Other languages
English (en)
Other versions
CN111382464B (zh
Inventor
E·L·罗德里格斯德卡斯特罗
A·G·波特
S·V·雷迪
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.)
Brock Chann Assix
Original Assignee
Brock Chann Assix
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 Brock Chann Assix filed Critical Brock Chann Assix
Priority to CN202010185225.4A priority Critical patent/CN111382464B/zh
Publication of CN111382464A publication Critical patent/CN111382464A/zh
Application granted granted Critical
Publication of CN111382464B publication Critical patent/CN111382464B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/76Protecting 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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/32Cryptographic 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

提供了用于在加密工作证明系统中使用的启用变换的集成电路。启用变换的集成电路包括嵌在启用变换的集成电路的加密数据路径内的其它电路部件当中的变换块。变换块可以在集成电路的制造之后的时间被配置以具体化为多个数学变换函数中的任一个的电路,因而使用户能够系统性地修改由集成电路执行的加密操作的结果,同时保持专用集成电路的高性能和效率特性。本文公开的技术的实施例在工作证明验证系统例如私有区块链系统、公共区块链系统、数字版权管理、安全令牌和其它加密相关领域内的专用集成电路的部署中提供到此为止不可达到的水平的灵活性。

Description

包括电路编码变换函数的加密ASIC
本申请是2017年01月13日提交的申请号为201780006769.6的同名专利申请的分案申请。
技术领域
所公开的技术总体上涉及集成电子电路的设计,并且更具体地一些实施例涉及加密集成电路的设计。
背景技术
专用集成电路(ASIC)是被设计和构建成服务于特定的目的或应用的集成电路。与较慢的、更一般化的解决方案(例如在通用处理器或现场可编程门阵列(FPGA)上运行的软件解决方案)相比较,ASIC提供快速的计算速度。如名称所暗示的,ASIC通常被设计成只执行一个特定的应用,从而导致在灵活性和计算速度之间的折衷。ASIC在加密相关的领域(例如工作证明系统、数字版权管理系统和通常具有严格的速度和效率要求的其它应用)中的重要性增加。
附图说明
根据一个或多个各种实施例,参考下面的附图详细描述了本文公开的技术。附图仅为了说明的目的而被提供且仅描绘所公开的技术的一般或示例性实施例。这些附图被提供来便于读者对所公开的技术的理解,且不应被认为是对其广度、范围或可应用性的限制。应注意,为了说明的清楚和容易,这些附图不一定按比例绘制。
图1示出了示例性加密处理系统,本文公开的技术的实施例可以在该加密处理系统内实施。
图2示出了根据本文公开的技术的实施例的并包含位于沿着集成电路数据路径的点之一处的可编程变换块的示例性启用变换的集成电路,集成电路数据路径被设想为本文公开的技术的部分。
图3示出了根据本文公开的技术的实施例的并包含位于沿着集成电路数据路径的不同点处的可编程变换块的示例性启用变换的集成电路,集成电路数据路径被设想为本文公开的技术的部分。
图4示出了根据本文公开的技术的实施例的并包含都位于沿着集成电路数据路径的点处的两个可编程变换块的示例性启用变换的集成电路,集成电路数据路径被设想为本文公开的技术的部分。
图5A示出了根据本文公开的技术的实施例的在对变换函数进行编码之前的示例性可编程变换块配置。
图5B示出了根据本文公开的技术的实施例的根据二进制密钥进行编码的示例性可编程变换块。
图6示出了根据本文公开的技术的实施例的示例性函数编码过程。
图7示出了根据本文公开的技术的实施例的实施具有多个加密处理核心的加密集成电路的基本加密处理系统的方框图。
图8示出了根据本文公开的技术的实施例的具有多个加密处理核心的示例性启用变换的集成电路。
图9示出了根据本文公开的技术的实施例的具有多个加密处理核心的另一示例性启用变换的集成电路,每个加密处理核心包括有可编程变换块。
图10示出了根据本文公开的技术的实施例的示例性双重目的启用变换的集成电路。
图11示出了可以在实施所公开的技术的实施例的各种特征时使用的示例性计算部件。
图12示出了包含一个启用变换的加密散列核心和一个配置密钥的启用变换的加密结果验证器的示例。
图13示出了包含两个单独的启用变换的加密散列核心和两个单独的配置密钥的启用变换的加密结果验证器的示例。
附图并不旨在是穷举性的或将本发明限制为所公开的精确形式。应理解,本发明可以在有修改和变更的情况下实践,并且所公开的技术仅由权利要求及其等效形式限制。
具体实施方式
根据所公开的技术的各种实施例,提供了集成电路以用于在基于工作证明的加密验证过程中使用,包括但不限于常常在区块链技术的新兴领域中使用的加密网络交易验证系统。集成电路包括实施加密函数(通常是难以反转的加密单向函数(OWF),例如安全散列算法)的电路的一个或多个块。由一个或多个用户选择并被具体化为数据路径电路的块的一个或多个变换函数被放置在集成电路数据路径上在实施上面所述的加密函数的电路的至少一个块之前的一点处。实施变换函数的电路的每个块可以由用户通过提供配置密钥(例如由一串二进制数字组成的密钥)来编程。这样的密钥接着被具体化为变换块内的数据路径电路。
在这样的编程之后,变换块内的电路将实现特定编程变换,特定编程变换反映沿着集成电路数据路径由用户对它从在其之前的电路接收的数据编程的密钥,并且将所变换的数据沿着数据路径传递到另一电路上。因此且不考虑由变换块接收的数据的内容,其应用的变换将直接且一致地影响由电路进一步沿着数据路径计算的最终值,包括实施上面所述的加密函数的电路的一个或多个块或块。
由于变换与所涉及的加密算法的数学特性的交互作用,特别是它们的作为难以恢复的OWF的性质(此处以及在本文档中的其它点处,术语例如“难”和“易”可以在计算复杂性理论、特别是多项式时间理论的意义上被理解),组合的效果是产生被包含在由电路计算的最终值中的位的系统性变换,其不容易被译解,不容易与噪声区分开,并且不容易由缺乏用户的一个或多个密钥的完全先验知识的一方复制,但然而是完全一致的并且能够由具有密钥的先验知识或甚至在缺乏它们的知识时对在计算中利用它们的手段的访问的一方(例如拥有被编程为将密钥具体化在其数据路径电路内的ASIC的一方)容易复制且因而可验证。
常常在区块链技术的领域中使用的在工作证明计算内应用上述内容使在其部署的灵活性中的极大扩展成为可能。特别地,其使用户能够实际上创建几乎无限数量的正交区块链。任何这样的区块链可以是完全不同的并与任何其它区块链分离,因为其由对工作证明问题的唯一组的有效解决方案表征,然而所有这样的区块链关于每个块对前一块的加密参考在内部是完全一致的,并且完全可以展示给访问被配置为在给定区块链的加密框架内操作的ASIC的任一方。
因此,本文所述的技术的各种实施例使专用于区块链操作的网络交易验证的新一代ASIC的创建成为可能,区块链操作能够验证在几乎无限数量的不同和完全正交的公共或私人区块链上的交易。这样的区块链可以在彼此的紧邻区域中并在多个或相同的网络上安全地操作。
另外,提供本文所述的技术的各种实施方式,其描述各种方法以将一个或多个变换函数密钥具体化为集成电路内的数据路径电路,以便导致非常有限的性能开销,因而保持ASIC从速度和效率方面来说优于其它类型的解决方案的核心优点。
此外,提供各种方法以进一步保护被具体化为集成电路内的数据路径电路的一个或多个密钥。这样的方法没有限制地包括:防止经由集成电路的输入和输出的分析来发现一个或多个密钥的各种方法;在用户可以对变换函数编程的配置接口和将变换具体化为电路的一个或多个块之间的连接电路中使用一个或多个锁定熔丝;使用多部分密钥;使用多个变换函数;使用只可以在集成电路的制造过程期间被访问的变换函数;以及其它等等。
根据结合附图理解的下面的具体实施方式中,所公开的技术的其它特征和方面将变得明显,附图通过示例的方式示出了根据所公开的技术的实施例的特征。
工作证明验证系统是在解决复杂的计算问题时不是为了所得出的答案的任何内在值而是为了这样的答案的证明价值而预测的一类验证系统,假定在产生这样的结果时扩展相当大量的计算工作。因此名称。工作证明验证系统具有遍及各种现代计算系统(没有限制地包括:用于制止拒绝服务(SoS)网络攻击的系统;用于防止不需要的商业电子邮件(spam)的系统;以及用于其它应用的系统)的应用。
工作证明验证在其操作中的一个这样的其它使用是作为区块链技术的新兴领域的基础的加密网络交易验证过程。区块链技术包括使分散的不可信交易系统成为可能的各种基础技术,例如支持加密货币的那些技术,最广为人知的加密货币是比特币。
作为提供上下文(本文所述的技术的一些实施方式可以在该上下文内操作)的一种手段,在进入每个图示的描述内之前简要讨论区块链系统如何操作是有用的。
区块链是时间顺序的不可编辑的记录的列表,其识别从初始交易块(其可以被称为起源块)的时间开始到目前的系统内的所有过去的交易。包含涉及在网络内出现但不被包括在以前附加到区块链的任何交易块中的一个或几个有效的交易的详细信息的交易块连续附加到区块链的末端。
每个交易块由一个或几个独特的块首部识别,块首部包含对被包括在交易块内的所有交易的引用以及其它相关信息。作为示例,对并入到交易块内的各种交易的引用可以借助于
Figure BDA0002413948170000051
结构或通过其它手段并入到交易块首部内。
交易块首部和被包含在它们内的信息是区块链的主要组织原理。例如并且除了其它项目以外,交易块首部可以包含对区块链中的紧接着前面的有效交易块的交易块首部的加密可验证的引用。因此这样的引用将所有邻近的块加密地链接在一起,每个交易块链接到每个交易块。这导致所有块以与一组物理链链接将每个块连接到来自物理链的前一块非常相同的方式组织成块的单个不间断的链或区块链。
如前所述的,哪个交易块附加到区块链的末端可以通过工作证明系统来识别。还如前所述的,这样的工作证明系统可以基于加密OWF。OWF有时被称为加密散列操作。在区块链技术的领域内,它们有时可以被称为散列操作。
在区块链技术的领域内,通常在交易块首部上而不是在交易本身上执行工作证明验证过程。为了这个原因,虽然工作证明过程被执行,一个交易块可以由很多交易块首部引用,即使最终它们中的压倒性的多数将被丢弃。因此任何组的交易由大量交易块首部提及是完全正常的,所有交易块首部根据协议正确地被构造且所有交易块首部包含真实和准确的信息,然而所有交易块首部彼此之间有细微不同。
这样的交易块首部有时被称为候选交易块首部。对于多个候选交易块首部而言是大的是完全正常的,特别是如果高性能ASIC被涉及的情况下。例如,单个高性能ASIC可以每秒组装、散列、评估和丢弃几千亿候选交易块首部。
通常,候选交易块首部将接受一个或几个散列操作,并且因而产生的散列值将为了有效性而与某个预先存在的标准相比较。在比特币的情况下,所使用的特定散列操作碰巧是安全散列算法(SHA)的第2版本的256比特版本的两个随后的应用,如由国家技术标准研究所(NIST)所定义的。这有时被称为SHA-256,并且它的两个连续应用有时被称为双SHA-256。为了简单,其有时也可以被称为双SHA。然而,值得注意的是,这仅仅是碰巧在比特币的情况下使用的特定算法;其它区块链可以并确实使用其它算法。类似地,本文所述的技术的各种实施例可以使用在区块链技术的领域内的各种不同算法,而其它实施例适用于于除了区块链技术以外的领域。
如在工作证明验证系统的其它使用中常见的,候选结果与有效性标准的比较确定进一步的处理。如果候选交易块首部未能通过有效性标准,则其被丢弃且系统继续移动到处理下一候选交易块首部。如果候选交易块首部通过有效性标准,则其被认为是有效交易块首部。
当找到有效交易块首部时,执行一系列其它操作。在区块链技术的领域内,这样的操作通常在有效交易块首部附加到区块链的末端时连同其引用的交易块一起达到极点。也可能出现其它操作,例如将报酬分配到首先报告有效交易块首部的发现的一方。随后,对新的有效交易块首部的搜索重新开始并且该过程重复。
上文通常描述区块链技术的领域的某些方面,特别是与区块链的性质、用于将新交易块附加到其的过程、交易块首部的作用和组成、工作证明过程的操作以及其它等等有关的一些方面。然而,存在未描述的区块链技术的很多其它方面。作为示例且没有限制地,上文不描述可以被特征化为这个过程的另一半的东西,也就是说,产生交易的过程,其与分组和处理交易的过程相反。通常,更详细描述的区块链技术的方面是与本文所述的技术最有密切关系的技术和在这个领域中使用的加密集成电路内的它的一些应用,而通常由在通用微处理器上运行的软件执行的或在其它情况下与本文所述的技术较没有密切关系的方面较不详细地描述或根本不被描述。
支持区块链的所有方面的操作的管理原理由常常被称为区块链协议的协议限定。这包括在上面更详细描述的那些方面。相反,区块链协议被设计为满足区块链被设计服务于的特定应用的特定需要,如由协议设计者或设计者解释的。这样的要求可以从一种情况到另一情况完全不同,并且因此不是所有区块链协议都需要是相同的。实际上,一些区块链协议可以明显改变。
管理作为比特币的基础的区块链的操作的区块链协议有时简单地被称为比特币协议。比特币协议是在术语的狭窄意义上的有潜力的工作;我们现在称为区块链技术的大部分(如果不是全部)是基于从一个程度到另一程度的比特币协议的衍生工作。
每个区块链由区块链网络维持,区块链网络在区块链技术的领域中有时简单地被称为网络。本质上,区块链网络的定义是直接的;硬件和软件的集合通过实施由协议限定的策略来维持区块链。实际上,区块链网络可能是复杂的。它们是永久或间歇地连接到网络的各种设备的分布式异构组合,其运行由各种人在不同的时间写的不同软件,执行不同的操作并在可信系统内一起工作。一些区块链网络可能是扩展的,并且采用明显先进的技术,包括复杂的加密ASIC。
通常,用于解决在区块链系统中涉及的在计算上密集的工作证明计算的技术已在近年来快速发展。例如在比特币交易的情况下,最初利用在通用处理器上运行的软件应用来进行在发现有效交易块首部时涉及的工作证明过程。然而,速度和效率在工作证明系统(包括在区块链系统的上下文内使用的那些系统)中是最重要的。因此,比特币挖掘操作移向专用硬件解决方案(包括ASIC)。ASIC提供从精细级速度产生的速度和效率的深远增加,计算可以以该精细级速度来进行。如名称暗示的,ASIC被设计和制造成执行一个特定的应用,在这种情况下是在实施特定的加密协议时涉及的数学操作。
比特币网络的成功证明了区块链技术的安全性质。因此,在其它相关领域中使用区块链已随着时间获得兴趣。然而,ASIC被设计为狭窄地匹配协议的特定元件,它们将在该协议内被实施,特别是描述由协议限定的工作证明系统的细节的协议的元件。对于比特币网络,每个ASIC被设计为在极大速度下组装块首部,如由比特币协议描述的,使它们受到安全散列算法(SHA-256)协议的256比特版本的两个连续实例,并最后通过比较它与预先确定的有效性测试来检查因而产生的256位二进制散列的有效性,有效性测试在比特币协议的情况下被具体化为难度水平,如前面讨论的。
这限制灵活性和使区块链技术在比特币网络本身或从一个程度到另一程度基于它的或在它上“链接”的网络之外激增的机会,因为高性能工作证明实施方式通常需要ASIC的使用,并且当代ASIC只能够实施一个高度特定的工作证明系统。而且,由于工作证明过程的性质,依赖于由比特币为其本身的工作证明过程使用的同一工作证明系统的任何私有区块链可能容易受到第三方干扰,第三方使用被设计为解决由比特币协议限定的工作证明系统的在市场上可买到的设备。
本文公开的技术的实施例目的在于加密相关应用的专用集成电路的设计、制造和利用。更特别地,本文所述的技术的各种实施例涉及具有被具体化为并入到集成电路的高速数据路径内的电路的一个或几个可编程变换函数的ASIC。通过将变换函数编码为数据路径电路,本文所公开的技术的实施例使ASIC能够实施如由用户选择的各种工作证明系统中的任一个。
这进而使区块链系统能够安全地操作,甚至在特别设计为解决在区块链交易的加密网络交易验证中涉及的工作证明计算的大量其它ASIC(包括但不限于在其它情况下可能威胁未并入本文公开的技术的基于区块链的系统的安全性或整体性的比特币挖掘ASIC)存在的情况下。
因此,本文所述的技术的实施例使为提供当前难以想象的水平的灵活性和安全性的区块链应用特别设计的整个新一代ASIC的创建成为可能。此外,本文所述的技术的实施方式进一步允许这样的灵活性被实现,以处理性能中的几乎可忽略的成本作为回报。
在详细讨论本公开的技术的实施例之前,讨论围绕在由利用为这个应用设计的ASIC的系统进行的区块链交易的网络交易验证中涉及的工作证明操作的处理的总工作流是有帮助的。
图1示出了通常用于区块链应用和并入为这个应用设计的集成电路103的一般类型的加密网络交易验证系统100的示例,本文公开的技术的实施例可以在该应用内实施。
为了便于讨论,将关于比特币协议和支持比特币区块链的网络描述示例性加密处理系统100的元件和总操作。尽管以这种方式进行描述,阅读本公开的普通技术人员将认识到,示例性加密网络交易验证系统100适用于除了比特币网络以外的使用。
其它应用的示例可以包括用于除了一般与比特币相关联的那些应用以外的应用的私有和公共区块链两者。除了与区块链技术可用于的比特币相关联的那些应用以外的应用的一些示例没有限制地包括:银行间结算系统;数字版权管理系统;物理特性版权注册系统;智能特性注册系统;库存控制系统;履行系统;包装跟踪系统;薪金名册系统;安全识别系统;基金使用跟踪和透明系统;通常会计系统;通常支付系统;通常注册系统;通常金融系统;以及其它等等。
示例性加密网络交易验证系统100包括集成电路103。在各种实施例中,集成电路103可以包括一个或多个处理部件,包括配置接口104、交易块首部调帧器105、缓冲器106、加密散列核心107、评估器111和决策引擎112。在一些实施例中,一个或多个部件可以组合到单个集成电路中,如图1中所示的,其中在集成电路103内表示的所有部件在物理上都是同一集成电路的部分(也就是说,都被精巧地制作在同一片硅内)。在其它实施例中,它们中的一些可以由硅的不同片精巧地制作并借助于连接电路组合在一起。关于示例性加密处理系统100详细讨论了每个部件。
用户101可以通过配置接口104来配置一个或多个集成电路参数。可以由用户101配置的集成电路参数的非限制性示例包括:初始化;内部时钟速度;或与其它联网系统的通信的模式;以及其它。在一些实施例中,用户101可以是经由终端与集成电路103通信的人。在其它实施例中,用户101可以是在系统或网络上运行的自动过程。在各种实施例中,配置接口104也可由用户101使用来监控集成电路103的操作特性。可被监控并提供给用户101的操作特性的非限制性示例可以包括:电流活动;操作温度;操作电压;或故障状态;连同其它。
由交易块首部调帧器105使用由调帧器本身产生的数据和从交易和系统数据102b得到的数据的组合来组装随后由集成电路103处理的每个候选交易块首部。在各种实施例中,交易和系统数据102b由现有过程、挖掘软件102a编译。在很多情况下,挖掘软件102a是在通用处理器上运行并经由到公共互联网的连接与区块链网络的其余部分通信的一件软件,其利用该软件来编译交易和系统数据102b。
区块链系统的总架构的某些品质,特别是在系统的不同方面之间的良好设计的区分提供在集成电路103的操作和关于挖掘软件102a的操作的细节之间的有效隔离。作为结果,关于挖掘软件的操作的大部分细节(包括它在物理上存在于哪里、它使用什么过程来与网络的其余部分通信、它使用什么过程来将网络数据编译成交易和系统数据102b以及其它等等)对集成电路103的操作是透明的。类似地,挖掘软件102a连接到的网络是否碰巧是比特币网络或负责不同区块链的维护的不同网络对集成电路103和本文所述的技术的各种实施例也是透明的。
交易和系统数据102b可以包括例如:系统日期和时间;协议版本;表示被包括在交易块中的这组单独交易的
Figure BDA0002413948170000101
结构;附加到区块链的最近块的唯一标识符;以及其它。当接收到交易和系统数据102b时,交易块首部调帧器105对其进行进一步精心制作,以便产生一个或多个候选交易块首部。
在各种实施例中,交易块首部调帧器105可以解析交易和系统数据102b并向它添加某些其它元件(例如顺序计数器),以便产生一系列交易块首部,其都有效地被形成且都适当地表示同一集合的交易,但都稍微不同于彼此。
在各种实施例中,交易块首部调帧器105可以产生交易块交易块首部(其全部准确地表示如从交易和系统数据102b接收的交易块但都稍微不同于彼此)的速率可能很快,在每秒几十亿或几千亿单独候选交易块首部的范围内。根据实施方式,缓冲器106可以存储所创建的候选交易块首部,候选交易块首部等待由散列核心107进行处理。
每个集成电路103可以包含一个或多个散列核心或其它加密处理核心。为了简单,示出了包括单个散列核心107的示例性加密处理系统100。在各种实施例中,可以实施多个并行的散列或其它加密处理核心,如图7所示。散列核心107包括一个或多个散列块。在图1所示的示例中,散列核心107包括两个散列块108、110。散列块可以被配置为执行由可应用的散列标准定义的数学操作的一组电路。在各种实施例中,散列核心107可以具体化公共散列标准,例如安全散列算法(SHA)。在一些实施例中,可以使用SHA的256位版本(例如SHA-256)。在其它实施例中,散列核心107可以包括单个散列块。各种实施例可以包括多于两个散列块。
在图1的所示实施例中,每个散列块108、110被设计为根据SHA-256标准来执行一序列数学操作。散列核心107根据所实施的交易标准来处理每个候选交易块首部。在一些实施例中,第一散列块108可以接受由交易块首部调帧器105产生的候选交易块首部作为输入,并使它们受到由标准散列算法定义的数学操作。第一散列块108为它从交易块首部调帧器105接收的每个候选交易块首部输出第一散列值109。每个第一散列值109与充当一种类型的“数字签名”的给定候选交易块首部相关。在各种实施例中,第一散列值109可以进一步由第二散列块110处理。这是双重散列操作例如在比特币网络内利用的操作的表示。在一些实施例中,第二散列块110可以实施与第一散列块108相同的加密操作。在各种实施例中,第二散列块110可以实施与第一加密散列块108不同的加密操作。
散列核心107的输出与预先存在的标准相比较以用于识别有效块。在各种实施例中,散列核心107的输出可以是来自第二散列块110的输出。集成电路103的评估器111为每个候选交易块首部采用由散列核心107输出的最终散列值,并检查以查看所处理的输出是否满足预先确定的有效性标准。在比特币网络的特定情况下,有效性标准由由最终散列输出产生的256位数字的数值可能未超过的某个数值(常常被称为难度水平)表示,如果它被考虑为有效的。因此如果数值或最终散列超过难度水平任何数量,候选交易块首部未通过有效性测试,并且如果它不超过难度水平,则它通过有效性测试。在除了与比特币网络相关联的区块链系统以外的区块链系统中,一些实施例可以采用用于确定有效性的相同标准,而其它实施例可以使用用于确定有效性的不同标准。
如果评估器111确定最终散列值不满足有效性标准,则决策引擎112可以丢弃与由评估器111评估的经处理的输出相关联的候选交易块首部。如果评估器111确定最终散列值不满足有效性标准,则决策引擎112将在外部经由传输到成功报告接收方113a的成功报告113b来报告那个事实。成功报告113b连同与其相关的其它信息(例如与其和其它项目相关的交易块首部一起)是系统作为整体被设计为产生的加密工作证明。
在各种实施例中,成功报告接收方113b可以与挖掘软件102a相同。在其它实施例中,成功报告接收方113b可以是与挖掘软件102a不同的过程。当接收到成功报告113b时,成功报告接收方113b可以采用多个随后的动作。在各种实施例中,这样的动作通常涉及有效交易块首部的发现到网络的其余部分的通信,并且通常在新交易块附加到区块链的末端和交易的下一有效块的搜索开始的情况下达到极点。在比特币网络的特定情况下,这样的动作可以此外包括其它方面,例如将报酬分配到第三方以报告新的有效交易块首部的发现以及其它等等。
然而且如对关于挖掘软件102a的操作的在先描述的情况,值得注意的是,成功报告接收方113b的确切性质和关于它在成功报告113a的接收之后可以或可以不采取什么动作的细节对本文所述的技术的各种实施例是透明的。类似地,成功报告接收方113b是否与和作为比特币的基础的区块链的维护相关的网络或与不同区块链的维护相关的网络通信对本文所述的技术的一些实施例是透明的。
针对关于示例性实施方式所述的区块链技术的基本工作流,将关于图1的示例性加密处理系统100来讨论本文所公开的技术的实施例。为了便于讨论,将关于比特币和与其相关的区块链实施方式来讨论实施例。然而如上面讨论的,阅读这个描述的本领域中的普通技术人员将认识到,本文所述的实施例可以应用于很多其它相关领域。
图2示出了根据本文公开的技术的实施例的示例性启用变换的集成电路203。示例性启用变换的集成电路203在加密处理系统200内实施,类似于关于图1所述的系统100。启用变换的集成电路203可以包括配置接口204、交易块首部调帧器205、缓冲器206、加密处理核心207、评估器211和决策引擎212,类似于上面关于图1的集成电路103所讨论的部件。
如前面讨论的,本文公开的技术的实施例安排被具体化为在集成电路203的加密数据路径内的电路的变换函数。在图2中所示的示例中,启用变换的集成电路203的加密处理核心207包括两个散列块208、210和可编程变换块215。散列块208、210可以被实施为包括散列或其它加密函数例如电路以根据SHA-256标准执行散列过程。
在所示示例中,可编程变换块215是电子电路的块,其被特别设计为适合于直接集成到高性能加密集成电路的线速度数据路径内,但然而保持能够被编程为在集成电路数据路径上对它从在它之前的电路接收的输入数据执行大范围的可能的数学变换操作中的任一个,并在集成电路数据路径上以全线速度将因而产生的已变换数据输出到在它之后的电路。
在一些实施例(例如图2所示的实施例)中,可编程变换块215集成到加密处理核心207的数据路径中。ASIC在这个示例中被配置为使得在加密处理核心207内的所有部件都沿着单个高速数据路径布置,在数据路径的任一端处有单个输入点和单个输出点,并且没有对在包括加密处理核心207的部件之间移动的信号的外部访问。
可编程变换块215集成到加密处理核心207中的高速数据路径内允许加密处理核心207在线速度下操作,并且因此当与不包括可编程信息块215的加密处理核心比较时,电路作为整体遭受性能的非常小的降级。这通过将变换函数具体化为数据路径电路(即,可编程变换块215)以将在下面更详细公开的方式来实现。
类似地,将在加密处理核心207内的电路布置到统一数据路径中保护配置密钥214(关于图5A、5B和6更详细地讨论)不被检测。加密处理核心207包含在任一端处的单个输入点和单个输出点,且没有对在包括加密处理核心207的部件之间移动的信号的外部访问。因此,通过比较由沿着数据路径布置的不同部件产生的输入和输出来保护加密处理核心207内的电路(例如可编程变换块215)不受可编程变换块215内具体化的配置密钥214的披露或发现。
在图2中所示的示例性实施例的特定情况下,加密处理核心207内的数据路径被布置成使得由加密处理核心207处理的所有数据的单个输入点是第一散列块208。从那里,数据例如交易块首部沿着它采用的数据路径继续前进,通过可编程变换块215并接着通过第二散列块210。第二散列块210是单个输出点,且随后数据离开加密处理核心207并继续前进到评估器211。将可编程变换块215放置在至少一个散列块之前(在这个示例中,在散列块210之前)经由分析技术来保护在可编程变换块215中具体化的配置密钥214的发现。例如,这样的放置通过被已知在受到特定组的加密过程(例如双SHA-256散列)时产生某个结果的数据的插入并接着比较由启用变换的加密处理核心207产生的结果以推断配置密钥214来保护配置密钥214的发现。
在如将在下面关于图3更详细讨论的其它实施例中,可编程变换块215可以放置在第一散列块208之前,使得加密处理核心207的单个输入点是可编程变换块215。
在各种实施例中,可编程变换块215可以在启用变换的集成电路203的制造之后的时间被编程以由于它在集成电路203的数据路径上的位置而对以线速度流经它的数据一致地执行各种可能的数学变换中的任一个。
在一些实施例中,机制(可编程变换块215能够通过该机制接受并保持这样的编程)可以是经由一种类型的非易失性只读存储器(NVRAM),包括但不限于闪存或其它类型的非易失性存储器。在各种实施例中,配置可编程变换块215的手段可以是经由一次性可编程(OTP)电路部件,包括但不限于微型熔丝或其它类型的OTP电路布局。通常在集成电路制造的简单方面例如在制造期间将制造信息写到集成电路上或补救在测试期间识别的有故障的存储器组时利用微型熔丝。为了便于讨论,将参考包括微型熔丝的可编程变换块215来讨论本公开的技术,微型熔丝将关于图5和6更详细地被讨论。
启用变换的集成电路203的各种实施例可以借助于配置密钥214来使配置可编程变换块215成为可能。在各种实施例中,配置密钥214可以由通过配置接口204动作的用户201编码到可编程变换块215内。在这样的实施例中,本文公开的技术设想为了将配置密钥214编码到可编程变换块215内的目的而潜在地承担用户201的作用的几个不同方。这样的方可以包括例如:在工厂处由IC制造商;由一个或几个最终用户;或由上述项的某种组合。
在用户201是单个方的一些实施例中,用户201可以提供配置密钥214,其规定什么变换应被应用于包括由可编程变换块215接收的数据的每个位。例如,在为256位系统设计可编程变换块215的情况下,用户201可输入规定可编程变换块215将什么变换(如果有的话)应用于所接收的数据的所有256位的配置密钥214。因此,那一方将有对可编程变换块215能够被配置为使用256位密钥来执行的2^256个数学操作中的任一个编程的自由。
类似地且继续上面的256位示例,在用户201包括一方或多方的实施例中,可编程变换块215的配置可以由一个或多个用户201中的每个执行,每个用户贡献配置密钥214的一部分。这样的方案有时可以被称为多密钥方案,且因而产生的密钥有时可以被称为多部分密钥。在一些实施例中,一个或多个用户201中的每个可配置可编程变换块215可将什么变换(如果有的话)应用于它接收的数据的位的子集,而在其它实施例中,一个或多个用户中的每个可贡献部分密钥,其随后以不允许任一个用户确定可编程变换块215可以将什么变换(如果有的话)应用于它接收的数据的任一个或多个特定位的方式被处理成密钥。
在本文所述的技术的各种实施例(其中可编程变换块215放置在实施加密OWF(例如第二散列块210,其实现图示中的标准加密算法)的电路的至少一个块前面)中,可编程变换块215和所涉及的加密算法的某些数学特性的交互作用的组合效应、特别是作为难以恢复(在这里术语“难”和“易”可以在计算复杂度理论、特别是多项式时间理论的意义上被理解)的OWF的它们的性质产生某些特定的结果。特别地,组合效应是,甚至由可编程变换块215引起的轻微变化例如单一位变化也将导致在由散列核心207计算的最终值中包含的位的大规模变换,其不容易被译解,不容易与噪声区分开,并且不容易由缺乏配置密钥214的完全的先验知识和可编程变换块215的设计的特定方面的一方可以复制,但然而是完全一致的且由具有这样的知识或对在计算中利用它们的手段的访问同时缺乏它们的知识的一方(例如拥有同一ASIC或并入本文所述的技术并被编程到在它的数据路径电路内的同一配置密钥214的另一ASIC的一方)可容易复制和因而可验证。
在先前段落中概述的本文所述的技术的应用的效果在区块链技术的领域内有用处,区块链技术使跨越多个不同领域的各种创新和有价值的应用成为可能。这样的应用在前面被简要说明且将不在下面进一步讨论。
在一些实施例中,可编程变换块215可以被配置为使最终用户能够对各种变换方案例如调换在某些特定位的输入和输出内的位置同时保持其它位不变的调换方案编程。在各种实施例中,可编程变换块215可以被配置为执行直接位反转变换方案,其中一些位反转而其它位保持不变。
为了便于讨论,将关于直接位反转变换方案讨论本公开的技术,其中256位配置密钥204借助于下面的代码来确定什么变换将应用于由可编程变换块215接收的256位中的每个:在包含“0”的值的256位配置密钥将以一种方式(例如保持不变)被处理的位置处接收的位,而在256位配置密钥包含“1”的值的位置处接收的位将以不同的方式(例如反转)被处理。在描述中关于图5A、5B和6更详细讨论了这样的变换。
在由第二散列块210产生最终散列值之后,由图2中的评估器211和决策引擎212执行的评估过程类似于关于图1所述的过程。在该过程中的第一步骤是评估器211将确定由特定交易块首部产生的最终散列值是否满足有效性标准。
如果最终散列值不满足有效性标准(如在大部分情况下通常是情况是这样),最终散列值和产生它的交易块首部都将被丢弃。如果最终散列值满足有效性标准,则最终散列值和产生最终散列值的交易块首部将传递到决策引擎212。在接收到成功的指示之后,决策引擎212可以接着向成功报告接收方213a发出成功报告213b。此外且也关于图1讨论的,成功报告接收方213a可以或可以不与挖掘软件202a相同。
不同的是,可编程变换块215的包含物、其由用户使用某个配置密钥214随后编程的、以及因而产生的经变换数据与第二散列核心210的交互作用可以引起最终散列值的变化,其由散列核心203为由交易块首部调帧器205产生并传递到评估器211的一个或多于一个交易块首部。此外且如前面讨论的,这样的变化具有某些独特和有用的数学特性。假定评估器的任务是比较从散列核心203接收的散列值与某个预定有效性标准以及在那个基础上评估散列值是否通过或未通过有效性测试,由此可见,由评估器211接收的散列值的变化可以导致评估器关于所接收的散列值的有效性或非有效性做出的变化。
进一步假定在发现以满足有效性标准的散列值的形式的工作证明时预测工作证明系统的操作,此外假定加密网络交易验证系统的操作在工作证明系统上被预测,此外假定在加密网络交易验证系统上预测通过将新块附加到区块链的末端来构造区块链,以及此外假定由变换函数引入的变换是完全一致的且容易可以复制,即使它们在外部观察者看来与噪声不可区别,则由此可见,如果在整个区块链网络中一致地被施加,在配置密钥241中的然而轻微的变化将导致区块链系统的操作的系统性变化。
因此,本文公开的技术的某些实施例允许多个正交区块链的创建,每个正交区块链根据每个用户201选择来应用于可编程变换块215的配置密钥214将有效性分配到完全不同的一组交易块首部。
在各种实施例中,可以有一个或几个零配置密钥214值,其如果被编程到可编程变换块215中则将使可编程变换块215不造成在穿过它的信息中的变化,并且因此使可编程变换块215的存在不造成最终散列值的变化,其由加密处理核心207为从交易块首部调帧器205接收的每个交易首部块计算并继续传递到评估器211。在一些实施例中,零配置密钥可以由与配置密钥的长度相同的长度的一串零表示,配置密钥在某些实施例中在长度上可以是256位。
在并入一个或几个零密钥的各种实施例中,使用零密钥对可编程变换函数编程的总体效应使得被评估器考虑为有效的这组交易块首部散列将不改变,使来自加密处理核心的输出变得与关于图1讨论的来自散列核心107的输出在功能上相同。也就是说,并入本文所述的技术并用零密钥编程的启用变换的集成电路将在产生与未并入本文所述的技术的集成电路时表现得好,且因此适合于在相同的工作系统的上下文内执行工作证明计算,包括但不限于比特币交易的加密网络交易验证(也被称为比特币挖掘)。本文所述的技术的这个方面具有商业应用,因为它使并入本公开所述的技术的实施例的集成电路的使用能够对挖掘比特币的目的是有用的以及对各种其它应用是有用的。
在这样的实施例中以及在未并入零配置密钥的数字的其它实施例中,具有不同于零配置密钥的配置密钥214的可编程变换块215的编程将引起最终散列值的变化,其由加密处理核心207为由交易块首部调帧器205产生的每个候选交易首部块计算并继续传递到评估器211。这又引起所有候选交易块首部的什么子集被评估器211认为是有效的且因此进一步传递到决策块212的变化,其然后以成功报告213b的形式在集成电路203的外部被传递。
此外且如上所述,由于可编程变换函数215与OWF的某些数学函数例如大部分标准现代加密散列函数的交互作用,在加密散列函数的输入中的任何变化(包括单个数字)引起不容易与噪声区分开的因而产生的散列值的大规模变化。
如上面提到的,在一些实施例中,可编程变换块215可以放置在第一散列块之前,使得加密处理核心的单个输入点是可编程变换块。在图3中示出此的一个这样的示例。现在参考图3,在这个示例性布置中,由可编程变换块315具体化的变换函数在任何散列操作由散列块308、310应用之前应用于交易块首部。虽然位于图3的示例性实施例中的不同位置上,在数据路径内的可编程变换块315的位置仍然满足它放置在至少一个散列块之前(在那种情况下,它放置在第一散列块308和第二散列块310前面)的条件。因此,由图3所示的实施例在功能上类似于图2所示的实施例,并经由分析技术提供相同的基本性质——例如关于它产生的结果的特性和关于它提供的保护以不被具体化在可编程变换块315内的配置密钥314发现,如上所述。
在一些实施例中,单个集成电路可以并入多于一个可编程变换块215。图4示出了这样的示例性启用变换的集成电路400。在这样的情况下,实施例被实施为给多于一个用户提供对整个配置密钥编程的能力。
这样的实施例实施与级联密码和多签名方案共享相同的特性但与这两者不同的过程。特别地,级联密码涉及密码的连续应用的使用,也就是说,对数据加密使得它在稍后的时间可以被译解、即再次变得易读的过程。如在图4中所示的本文所述的技术的各种实施例并入类似的级联概念,即连续地应用加密操作但不涉及任何种类的密码的使用。更确切地,它们涉及连续应用变换和OWF(例如加密散列过程)。OWF不同于密码连同其它方面,因为它们的定义特性是它们是不可译的而不是可破译的。类似地,如在图4中所示的本文所述的技术的各种实施例在它们的最终产品中是一串字符,其表示什么可以被认为是应用于数字文档的多个数字签名。然而,任何种类的数字签名的定义特性是它们可以由不同于签名者的一方或保持签名者的密钥的一方生效。那不是本文所述的技术的各种实施例的情况,实施例在那个上下文中可以被认为是可以只由签名者验证的签名。此外,多签名方案常常设计成使得每个签名不同于其它签名,并可以单独地被验证。那再次不是本文所述的技术的各种实施例的情况,实施例特别设计成使得没有一个原始签名者能够在其他签名者不存在的情况下使签名生效。
因此,本文所述的技术的各种实施例不同于级联密码、数字多签名方案和其它存在的加密技术。虽然由于它的新颖性而缺乏公共名称,这样的系统可以被描述为多密钥级联变换的单向函数系统。
在一些实施例中,其中被具体化为在至少第二散列块410中的电路的加密散列算法可以是已证明的标准加密散列算法,没有限制地包括:在它各种实施方式中的SHA-2;在它的各种实施方式中的Keccak/SHA-3;在它的各种实施方式中的Skein;在它们的各种实施方式中的
Figure BDA0002413948170000191
在它的各种实施方式中的JH;以及其它等等,或是非标准散列算法,其尽管是非标准的,但仍然是难以反转的OWF(其中术语“难”在多项式时间理论的意义上被理解)。在这样的实施例中,如在图4中所示的本文所述的技术使安全多密钥变换的单向函数系统的实施方式成为可能,如前所述。
在一些实施例中,第一可编程变换块418和第二可编程变换块415可以由在长度上是256位的第一配置密钥417和第二配置密钥414编程,而在其它实施例中,一个或两个配置密钥可以具有不同的长度,这取决于实施方式的细节。
在也如在图4中所示的、本文所述的技术的各种实施例中,可以被称为主要权威的第一方可以使用配置接口404来将可以被称为主要密钥的第一配置密钥417编程到第一变换块418内,第一变换块418可以被称为主要变换。单独地,可以被称为次要权威的第二方可以使用配置接口404来将可以被称为次要密钥的第二配置密钥414编程到第二可编程变换块415内,第二可编程变换块415可以被称为次要变换。
在也由图4所示的、本文所述的某些实施例中,主要权威和次要权威中的一个或两个可以由几个不同的方组成。在一些这样的实施例中,主要方作为整体可以将主要密钥编程为多部分密钥,而次要方作为整体可以将次要密钥编程为多部分密钥。在其它实施例中,任一或两个密钥都可以由主要和次要方联合地配置为多部分密钥。在某些实施例中,由主要方、次要方或这两者编程的密钥可以是零密钥。在其它实施例中,第一和第二可编程变换块418、415可以由用户401通过配置接口404输入的单个配置密钥编程。
在未在图4中所示的、本文所述的技术的其它实施例中,过程可以通常是类似的,除了由主要权威使用的配置接口可以不同于由次要权威使用的配置接口以外。在一些这样的实施例中,由主要权威使用的配置接口可以被创建为以在集成电路的制造过程期间是可访问的但在因而产生的完成的部分中是不可访问的,而由次要权威使用的配置接口可以被构成为在制造过程期间和在因而产生的完成的部分中都是可访问的。在本文所述的其它实施例中,每个配置接口的相对可访问性或不可访问性都可以不同地被构成。
在本文所述但未在图4中示出的技术的一些实施例中,该过程可以通常类似于在图4中所示的过程,除了设计可以并入多于两个散列循环或多于两个可编程变换函数或这两者以外。
图5A示出根据本文公开的技术的实施例的在被编码之前的示例性可编程变换块515的配置。可编程变换块515包括定义由配置密钥514(在图5B中示出)表示的变换函数的几组可编程电路。在各种实施例中,可编程变换块515可以被配置为使多个变换操作之一成为可能,由此,输入数据的一个或多个位(例如1a1、1b1等)用输入数据的另一位调换以产生修改的输出数据(例如5a1、5b1等)。在其它实施例中,可编程变换块515可以被配置为使多个直接位反转或位翻转操作之一成为可能,由此,输入数据的一个或多个位翻转以产生修改的输出数据。
可以实施利用如本文所述的直接位反转变换方案的各种实施例以利用下面的事实:256位二进制配置密钥提供简洁的手段来使对由可编程变换函数215提供的全部密钥空间的访问成为可能。也就是说,256位是使用户能够规定在256个不同变换当中的哪个将由可编程变换函数215对第一散列值209执行所必须的最小长度。使用直接位反转变换方案也可以使最小数量的新电路元件的使用能够将变换函数具体化为数据路径电路。这是重要的,因为变换函数被具体化为数据路径电路的事实意味着放置在数据路径上的任何额外电路将在线速度下操作并导致启用变换的集成电路203作为整体的性能的总体降级。
在各种实施例中,可编程变换块215的配置可以将少至单个NOT门添加到启用变换的集成电路的数据路径电路。通过比较,每个散列块可以根据它们的设计的细节来包含大约4,000个门。因此,可编程变换块515可以将非常适度的128个门(假设256位密钥)添加到以前包含大约8,000个门(假设双SHA-256散列过程)的加密数据路径。因此,在各种实施例中由可编程变换块515引入的性能的降级可能是非常有限的,到这种程度,使得实际上其它因素使性能的差异不显著到难以准确地量化隔离的程度。
直接位反转变换方案也可以提供简单的手段以通过简单地将256位配置中的所有值设置为零来禁用可编程变换块215的所有效应。这样的密钥可以被称为零密钥。这的一个结果是它简化了配置启用变换的集成电路203的过程,使得它以与不并入可编程变换函数215的可以比较的集成电路的方式不可区分的方式操作。此的实际结果是,并入本文所述的技术的集成电路可以容易配置为以与标准比特币挖掘ASIC相同的方式操作,且可以用于挖掘比特币而没有特别的难度(不包括和除了能够以由不并入本文所述的技术的比特币挖掘ASIC可复制的方式操作以外)。
为了便于讨论,将针对直接位反转配置来讨论图5B和6。
在图5B中示出了可编程变换块的编码。示例性可编程变换块520被示为根据配置密钥514来编码。为了指示具体化在可编程变换块520内的配置密钥514,阴影框用于指示微型熔丝被禁用(阻止数据流经禁用的微型熔丝)。例如,在所示示例中,当微型熔丝3a2被禁用时,输入位1a2流经未改变的可编程变换块520。当微型熔丝2b2被禁用时,输入位1b2在它流经可编程变换块520时由位翻转器4b2反转。
图6示出了根据本文公开的技术的实施例的示例性函数编码过程。阶段1表示在未编码状态中的可编程变换块15,其类似于图5A的可编程变换块515。如所示的,为六位消息配置可编程变换块15。在其它实施例中,可以为任何长度(例如256位长度)的输入串配置可编程变换块15。
在阶段2,可编程变换块15被编码,具体化如由用户提供的配置密钥14。如所示的,配置密钥14包括串“011000”。根据配置密钥14来禁用相应的微型熔丝,如由在可编程变换块15内的阴影框所示的。在阶段3,可以在可编程变换块15的编码之后禁用锁定熔丝,保护配置密钥14不被发现。锁定熔丝16可以布置在编程电路上,可编程变换块15可以由用户通过编程电路来编程。通过禁用锁定熔丝16,包括编程变换块15的加密处理核心返回到具有单个输入点和单个输出点,从而提供上面关于图2详细讨论的保护的类型。
在各种实施例中,多个加密处理核心可以并行地被包括在同一集成电路内。图7是包括多个加密处理核心的基本加密处理系统700的方框图。集成电路703和相应的过程和部件类似于上面关于图1的基本系统设计讨论的那些。由交易块首部调帧器705产生的交易块首部可以按规定路线被发送到并行的多个加密处理核心707、708、709、710内。以这种方式,多个交易块首部可以并行地处理,从而增加系统的总速度。
在实施多个加密处理核心的情况下,一些实施例可以实施可编程变换块以如上所讨论的提供产生独特区块链的能力。图8示出了根据本文公开的技术的实施例的具有多个加密处理核心的启用变换的集成电路803。启用变换的集成电路803类似于关于图7讨论的基本集成电路703。可编程变换块815放置在启用变换的集成电路803的数据路径电路内。虽然被描绘为在加密处理核心807、808、809、810之外,可编程变换块815实际上位于加密处理核心807、808、809、810的两个散列块之间。为了便于观看,在各种实施例中,可编程变换块815被示为在外部以说明同一配置密钥814可以具体化在加密处理核心807、808、809、810的每个内。在其它实施例中,每个加密处理核心可以具有它自己的编程电路,如图9所示。以这种方式,一个或多个用户901可以对一个或多个配置密钥914a、914b、914c、914d编程。
在各种实施例中,集成电路可以包括额外的非加密过程。图10示出了根据本文公开的技术的实施例的在处理系统1000内实施的示例性双重目的集成电路1006。双重目的集成电路1006包括加密部分,其包括加密处理核心1004。可以用与上面关于图2所述的加密处理核心207相似的方式配置加密处理核心1004。在图10中,用户1001可以经由通过配置接口1002输入的加密密钥1003来配置加密处理核心1004的可编程变换块。
双重目的集成电路1006的通用目的部分1007可以包括为一般目的而设计的部件,例如设计成执行多种额外的功能(例如图形、音频、通信处理等)的中央处理单元或片上系统(SoC)处理器。在一些实施例中备用的存储器单元也可以被包括在通用部分1007中以使换出有故障的存储器部件成为可能。在一些实施例中,通用部分1007可以具有其自身的接口1009,用户1008可以通过该接口1009配置通用部分1007的部件。此外在一些实施例中,用户1008可以将系统信息1010写到通用部分1007的永久存储器内。在各种实施例中,配置接口1002和接口1009可以是单组电路,且用户1001和用户1008可以是同一实体。双向通信链路1005可以将加密处理核心1004连接到通用部分1007,使CPU或SoC能够发送任务以由加密处理核心1004执行,并接收计算的结果。集成电路1006可以与本地资源1011和外部资源1012交互作用。内部资源1011可以是但不限于用户1001或1008、本地存储器或在本地与双重目的集成电路1006一起运行的软件应用。外部资源1012可以包括外部存储器或网络内的其它节点,集成电路1006连接在其它节点上。
偶尔地,双重目的集成电路1006可以例如通过不安全的无线或有线连接而连接到在不可信网络中的其它节点。在一些实施例中,通用部分1007可以被配置为进行几个过程,其设计成根据本文提出的技术通过不可信网络安全地识别包含变换块的集成电路。串发生器1013可以访问由用户1008写到集成电路1006内的系统信息1010,并组合这样的系统信息1010与交易信息,例如关于图1讨论的交易和系统数据102b。串发生器1013可以接着将数据发送到消息发生器1014。
消息发生器1014可以通过双向通信链路1005将数据发送到加密处理核心1004。以这种方式,可以处理数据以产生变换编码串,加密处理核心1004可以将该变换编码串发送回到消息发生器1014。消息发生器1014可以接着产生网络消息1015。网络消息1015可以包括由串发生器1013输出的初始数据。在各种实施例中,额外的信息可以被包括在网络消息1015中,包括但不限于:系统日期和时间;以前接收的外部消息;或变换编码串;连同其它。网络消息1015然后被发送到IO部件1016。在各种实施例中,IO部件1016可以包括本地通信协议、外部通信协议或其组合。
现在参考图12,示出了什么可以被称为启用变换的加密结果验证器的图示。该图示示出了本文所述的技术的实施方式,其中集成电路1203包含编程和配置接口1204、启用变换的散列核心1205和配置密钥1206。两个用户1201、1202访问集成电路,用户1201访问编程和配置接口1204,而用户1202访问启用变换的散列核心。
如可以从图中看到的,在图12中所示的电路通常比在前面的图中所示的电路简单。在一些实施例中,在图12中所示的电路此外也是较低功率消耗和较低性能电路,一些实施例在前面的图中示出。在某些实施例中,这个电路的总目的是使由本文公开的技术的一些实施例例如在前面的图中所示的一些实施例产生的结果的验证成为可能。一般操作模式是用户1 1201可以使用编程和配置接口1204,以便都配置集成电路的操作的各种参数,例如时钟速度、外部通信和其它等等,并将一个或几个配置密钥1204编程到在启用变换的散列核心1205内的一个或多个可编程函数内,其中它们将被具体化为数据路径电路。在一些实施方式中,某些事物例如编程被执行的方式、机制(一个或多个加密密钥1204通过该机制被具体化为数据路径电路)、用于保护它编程到可编程变换函数内的密钥的机制和其它事物通常以与它们在由前面的图所示的一些其它实施方式中被执行的方式通常类似的方式被执行。
在一些实施方式中,在启用变换的散列核心1205内的可编程变换块的编程之后,用户2可以简单地输入一些输入值,其接着作为输入数据直接被传送到启用变换的散列核心1205,随后当完成计算时,启用变换的散列核心1205接着将所计算的最终散列值返回给用户2。如果本文所述的技术的实施方式在启用变换的散列核心1205中通常与在以前执行这样的操作的不同启用变换的电路中相同,输入数据例如交易块首部在这两种情况下是相同的,且被编程到这两者内的一个或多个配置密钥在这两种情况下也是相同的,则由两个集成电路计算的最终散列值也将是相同的。因此,可以验证某些项的有效性,这些项可以例如包括来自区块链的交易块首部、其它交易块首部、其它候选交易块首部等。此外通过使用电路例如在图12中所示的电路的一些实施例,这样的验证可以被执行而用户2不需要知道被编程到可编程变换块内的一个或多个密钥。
在一些实施例中,用户可以是人,而在其它实施例中,用户可以是自动过程,例如钱包软件、挖掘软件或其它种类的自动过程。在某些实施例中,用户2也可以访问如上所述的集成电路的各种操作方面的配置。在某些实施例中,可以有用于作为整体配置集成电路的各种操作方面、密钥的编程和得到基于由用户提供的数据而计算的最终启用变换的散列值的单个接口,而在其它实施例中,那些功能中的一些或全部可以是分开的。在某些实施例中,由图12示出的集成电路可以是较大的计算系统的部分,例如挖掘系统、硬件钱包、安全令牌或保护锁或其它等等。在一些实施例中,图12中所示的集成电路的各种实施方式可以是并入包含本文所述的技术的其它实施方式(例如在前面的图中所示的一些实施方式)的一个或多个集成电路的系统的部分。
在某些实施例中,图12中所示的集成电路的各种实施方式可以物理地集成到与本文所述的技术的其它实施例相同的硅中。在一些这样的实施例中,图12所示的集成电路可以此外进一步连接到本文所述的技术的其它实施例。例如,在各种这样的情况下,图12所示的集成电路可以以可类似于多个不同的散列核心如何访问单个变换函数的方式与在同一集成电路内的其它电路共享地访问可编程变换块,如在图8和9中所示的。在各种其它实施例中,图12所示的电路可以与执行不同的任务的另一集成电路例如微处理器、网络处理器、片上系统以及其它等物理地集成到同一硅内。在某些实施例中,可编程变换块可以借助于一次性可编程电路元件(例如微型熔丝)将配置密钥具体化为电路,而在某些实施例中,可以使用可重写电路元件,例如nvRAM,并且在其它实施例中,可以使用其它方法。
现在转到图13,提供了示出与图12中的集成电路总体上类似但并入两个单独的启用变换的散列核心1305、1309的集成电路1303的图示,每个启用变换的散列核心由不同的配置密钥1306、1307编程。此外,在图13中提供的图示也显示3个用户1301、1302和1308,每个用户访问编程和配置接口1304、第一启用变换的散列核心1305和第二启用变换的散列核心1309。
图13中所示的集成电路的操作方法和总目的类似于图12中所示的集成电路的操作方法和总目的,但在一些实施例中图13所示的集成电路可以用于保持多个密钥而不是仅仅一个密钥。在一些实施例中,配置例如在图13中提供的配置可以用于将两个单独的密钥维持在单个启用变换的加密结果验证器内。在其它实施例中,多于两个配置密钥1306、1307以及在一些这样的实施例中多于两个启用变换的加密核心可以被包含。如在附随图12的描述中所述的,各种实施例可以在哪些不同的用户访问由集成电路支持的哪些功能、什么方法用于将配置密钥编程到一个或多个可编程变换函数内、所述电路可以集成到不同类型的硬件内以及其它等方面设想不同的变形。
在这个文档中,明确的参考只由某些加密散列算法、特别是安全散列算法系列(SHA-2)的第二迭代和特别地在256位版本内构成。然而,本文所述的技术完全可以应用于其它加密散列算法,没有限制地包括:在它的各种实施方式中的SHA-2;在它的各种实施方式中的Keccak/SHA-3;在它的各种实施方式中的Skein;在它们的各种实施方式中的
Figure BDA0002413948170000261
在它的各种实施方式中的JH;以及其它等等。
如本文使用的,术语“集合”可以指元件的任何集合,不管是有限的还是无限的。术语“子集”可以指元件的任何集合,其中元件取自父集合;子集可以是整个父集合。术语“真子集”指包含比父集合少的元件的子集。术语“序列”可以指有序集合或子集。术语“小于”、“小于或等于”、“大于”和“大于或等于”可以在本文用于描述在各种物体或有序集合或序列的成员之间的关系;这些术语将被理解为指可以应用于被排序的物体的任何适当的排序关系。
术语“工具”可以用于指被配置为执行所列举的功能的任何装置。例如,工具可以包括一个或多个部件的集合,且也可以由硬件、软件或其组合组成。因此,例如工具可以是一个或多个软件部件、硬件部件、软件/硬件部件或其任何组合或置换的集合。作为另一示例,工具可以是计算设备或其它器具,软件在计算设备或其它器具上运行或在计算设备或其它器具中实施。
如在本文使用的,术语“部件”可以描述可根据本文公开的技术的一个或多个实施例执行的给定功能单元。如在本文使用的,可以利用任何形式的硬件、软件或其组合来实施部件。例如,可以实施一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑部件、软件例程或其它机制以构成部件。在实施方式中,本文所述的各种部件可以被实施为分立的部件,或所述功能和特征可以在一个或多个部件当中部分地或全部被共享。换句话说,如在阅读了这个描述之后将对本领域中的普通技术人员明显的,本文所述的各种特征和功能可以在任何给定应用中实施,并可以在一个组合和置换中在一个或多个单独或共享的部件中实施。即使功能的各种特征或元件可以单独地被描述或主张为单独的部件,本领域中的普通技术人员将理解,这些特征和功能可以在一个或多个公共软件和硬件元件当中被共享,且这样的描述不应要求或暗示单独的硬件或软件部件用于实施这样的特征或功能。
在使用软件全部或部分地实施部件或技术的部件的情况下,在一个实施例中,这些软件元件可以被实施以与能够执行关于其所述的功能的计算或处理部件一起操作。在图11中示出一个这样的示例性计算部件。从这个示例性计算部件1100方面描述了各种实施例。在阅读了这个描述之后,如何使用其它计算部件或架构来实施该技术将对相关领域中的技术人员将变得明显。
现在参考图11,计算部件1100可以代表例如存在于桌上型计算机、膝上型计算机和笔记本计算机;手持计算设备(PDA、智能电话、蜂窝电话、掌上型计算机等);大型计算机、超级计算机、工作站或服务器;或如可以对给定应用或环境合乎需要或适合的任何其它类型的专用或通用计算设备中的计算或处理能力。计算部件1100也可以代表嵌在给定设备内或否则给定设备可以采用的计算能力。例如,计算部件可以存在于其它电子设备例如数字摄像机、导航系统、蜂窝电话、便携式计算设备、调制解调器、路由器、WAP、终端和可能包括某种形式的处理能力的其它电子设备中。
计算部件1100可以包括例如一个或多个处理器、控制器、控制部件或其它处理设备,例如处理器1104。可以使用通用或专用处理引擎例如微处理器、控制器或其它控制逻辑来实施处理器1104。在所示示例中,处理器1104连接到总线1102,虽然任何通信调制解调器可用于便于与计算部件1100的其它部件的交互作用或在外部进行通信。
计算部件1100还可以包括一个或多个存储器部件,其在本文被简单地称为主存储器1108。例如优选地,随机存取存储器(RAM)或其它动态存储器可以用于存储信息和指令以由处理器1104执行。主存储器1108也可以用于在由处理器1104执行指令期间存储临时变量或其它中间信息。计算部件1100可以同样包括只读存储器(“ROM”)或耦合到总线1102用于为处理器1104存储静态信息和指令的其它静态存储设备.
计算部件1100也可以包括信息存储机制1110的一个或多个各种形式,其可以包括例如介质驱动器1112和存储单元接口1120。介质驱动器1112可以包括驱动器或其它机制以支持固定或可移动存储介质1114。例如,可以提供硬盘驱动器、软盘驱动器、磁带驱动器、光盘驱动器、CD或DVD驱动器(R或RW)或其它可移动或固定介质驱动器。因此,存储介质1114可以包括例如硬盘驱动器、软盘驱动器、磁带、磁带盒、光盘、CD或DVD或由介质驱动器1112读取或写入或访问的其它固定或可移动介质。如这些示例示出的,存储介质1114可以包括计算机可用存储介质,其具有存储在其中的计算机软件或数据。
在可选的实施例中,信息存储机制1110可以包括用于允许部件程序或其它指令或数据加载到计算机部件1100内的其它类似仪器。这样的仪器可以包括例如固定或可移动存储单元1122和接口1120。这样的存储单元1122和接口1120的示例可以包括程序盒和盒式接口、可移动存储器(例如闪存或其它可移动存储部件)和存储器插槽、PCMCIA插槽和卡以及允许软件和数据从存储单元1122转移到计算部件1100的其它固定或可移动存储单元1122和接口1120。
计算部件1100还可以包括通信接口1124。通信接口114可以用于允许软件和数据在计算部件1100和外部设备之间转移。通信接口1124的示例可以包括调制解调器或软调制解调器、IEEE 802.XX、网络接口(例如以太网、网络接口卡、WiMedia或其它接口)、通信端口(例如USB端口、IR端口、RS232端口
Figure BDA0002413948170000281
接口或其它端口)或其它通信接口。经由通信接口1124转移的软件和数据可以一般在信号上执行,信号可以是能够由给定通信接口1124交换的电子、电磁(其包括光学)或其它信号。这些信号可以经由通道1128被提供到通信接口1124。这个通道1128可携带信号,且可以使用有线或无线通信介质来实施。通道的一些示例可以包括电话线、蜂窝线、RF链路、光学链路、网络接口、局域或广域网和其它有线或无线通信通道。
在这个文档中,术语“计算机程序介质”和“计算机可用介质”用于通常指介质,例如存储器1108、存储单元1120、介质1114和通道1128。计算机程序介质或计算机可用介质的这些和其它形式可以涉及将一个或多个指令的一个或多个序列传送到处理设备用于执行。具体化在介质上的这样的指令通常被称为“计算机程序代码”或“计算机程序产品”(其在计算机程序或其它分组的形式中被分组)。当被执行时,这样的指令可以使计算部件1100能够执行如本文讨论的所公开的技术的特征或功能。
虽然描述了所公开的技术的各种实施例,应理解,它们仅作为示例而不是限制被提出。同样,各种图可以描绘示例性架构或所公开的技术的其它配置,其被完成以帮助理解可以被包括在所公开的技术中的特征和功能。所公开的技术不限于所示的示例性架构或配置,但期望特征可以使用各种可选的架构和配置来实施。实际上,可以如何实施可选的功能、逻辑或物理划分和配置以实施本文公开的技术的期望特征对本领域中的技术人员将明显。此外,除了在本文描绘的那些名称以外的多个不同的构成部件名称可以应用于各种分区。此外,关于流程图、操作描述和方法权利要求,步骤在本文被呈现的顺序不应要求各种实施例被实施来以相同的顺序执行所列举的功能,除非上下文指示相反的情况。
尽管上面从各种示例性实施例和实施方式方面描述了所公开的技术,应理解,在一个或多个单独的实施例中描述的各种特征、方面和功能在它们的可应用性方面不限于特定的实施例(它们使用该特定的实施例来描述),但替代地可以单独地或在各种组合中应用于所公开的技术的其它实施例中的一个或多个,不管这样的实施例是否被描述以及这样的特征是否被呈现为所述实施例的一部分。因此,在本文公开的技术的广度和范围不应由上面所述的示例性实施例中的任一个限制。
除非另外明确地规定,在这个文档中使用的术语和短语及其变形应被解释为开放式的,与限制性相反。作为前述内容的示例:术语“包括”应被理解为意指“包括但不限于”等;术语“示例”用于提供在讨论中的项目的示例性实例,不是其无遗漏的或限制性列表;术语“一”或“一个”应被理解为意指“至少一个”、“一个或多个”等;以及形容词例如“常规”、“传统”、“正常”、“标准”、“已知”和类似含义的术语不应被解释为将所述项目限制到给定的时间段或到给定时间为止可用的项目,但替代地应被理解为包括可在未来的任何时间可用的或已知的常规、传统、正常或标准技术。同样,在本文档提到将对本领域中的普通技术人员明显或已知的技术的情况下,这样的技术包括现在或在未来的任何时间对技术人员明显或已知的那些技术。
在一些实例中的加宽词和短语例如“一个或多个”、“至少”、“但不限于”或其它类似短语的存在不应被理解为意指在这样的加宽短语可能缺乏的实例中预期或需要较窄的情况。术语“部件”的使用并不暗示部件或被描述或主张为部件的部分的功能都在公共封装中被配置。实际上,一个部件的各种部件中的任一个或全部——不管是控制逻辑或其它部件——都可以被组合在单个封装中或单独地被维持并可以进一步分布在多个分组或封装中或跨越多个位置。
此外,从示例性方框图、流程图和其它图示方面描述了在本文阐述的各种实施例。如在阅读了本文档之后将对本领域中的普通技术人员变得明显的,所示实施例及其各种可选形式可以被实施而不限制到所示示例。例如,方框图及其附随的描述不应被解释为要求特定的架构或配置。

Claims (56)

1.一种加密方法,包括:
对可编程变换块进行编程,所述可编程变换块包括集成到加密集成电路的数据路径电路中的电子电路,所述可编程变换块在所述加密集成电路的制造之后根据用户输入通过配置接口可编程,使得所述可编程变换块根据配置密钥而被配置;
对接收到的输入数据执行变换操作以产生变换的输入数据,所述接收到的输入数据是从所述可编程变换块上游的数据路径电路接收的,并且是具有编程的可编程变换块的区块链交易块首部;
将所述变换的输入数据传递到所述可编程变换块下游的数据路径电路;
通过散列块,将散列算法应用于所述变换的输入数据,以输出散列的变换的输入数据,所述散列算法是根据由工作证明协议规定的加密标准来确定的;以及
处理散列的变换的输入数据以产生至少一个候选区块链交易块首部,所述至少一个候选区块链交易块首部在被验证时,选择性地授权正交区块链创建和区块链交易验证中的至少一项。
2.根据权利要求1所述的加密方法,其中,所述配置密钥能够由所述用户编程,并且所述可编程变换块被配置为能够至少以与沿着所述数据路径的其他电路相同的速度操作的数据路径电路。
3.根据权利要求2所述的加密方法,其中,所述加密集成电路在加密工作证明系统中实施,并且在其中实施所述加密集成电路的所述加密工作证明系统是区块链系统。
4.根据权利要求3所述的加密方法,还包括使用数据解析器,所述数据解析器被配置为解析从所述区块链系统接收的多个交易数据,在所述区块链系统中实施所述加密集成电路以创建所述至少一个候选交易块首部。
5.根据权利要求4所述的加密方法,还包括使用评估器,以根据先前建立的有效性标准来验证由所述散列块针对所述至少一个候选交易块首部计算出的加密散列值的有效性或无效性。
6.根据权利要求3所述的加密方法,还包括使用一种机制,通过所述机制将由所述用户输入的至少一个配置密钥具体化为进入所述加密集成电路的至少一个独立电路的电路。
7.根据权利要求6所述的加密方法,还包括使用被配置为接收由所述用户输入的数据的接口,其中,该数据被提交给至少一个加密集成电路,所述至少一个加密集成电路包括具体化至少一个先前输入的配置密钥的电路块,并且其中,所述接口被配置为将由至少一个加密电路计算的至少一个计算的最终值返回给所述用户。
8.根据权利要求3所述的加密方法,还包括使用以下中的一个或多个:图形处理部件、音频部件、以及通信处理部件。
9.根据权利要求3所述的加密方法,其中,所述区块链系统包括以下中的一个:私有区块链系统、公共区块链系统、政府区块链系统、公司区块链系统、数字版权管理系统、以及安全令牌系统。
10.根据权利要求2所述的加密方法,还包括使用永久且不能消除的机制来将所述配置密钥具体化为所述数据路径上的物理电路。
11.根据权利要求10所述的加密方法,所述机制包括一次性可编程(OTP)电路部件,所述一次性可编程(OTP)电路部件包括被配置为接收由所述用户输入的所述密钥的输入。
12.根据权利要求11所述的加密方法,其中,所述OTP电路部件包括多个微型熔丝。
13.根据权利要求2所述的加密方法,还包括使用非永久性机制来将所述配置密钥具体化为所述数据路径上的物理电路。
14.根据权利要求13所述的加密方法,其中,所述机制包括非易失性随机存取存储器(nvRAM)。
15.根据权利要求14所述的加密方法,其中,所述nvRAM包括闪存。
16.根据权利要求2所述的加密方法,其中,所述可编程变换块被配置为实施直接位反转方案。
17.根据权利要求16所述的加密方法,其中,利用的所述直接位反转方案将在由所述用户输入的所述配置密钥上的任何特定位置中存在的0或1的值匹配至:由所述变换函数将NOT门应用或不应用于在对应位置接收的位。
18.根据权利要求2所述的加密方法,其中,所述可编程变换块被配置为实施位调换方案。
19.根据权利要求18所述的加密方法,其中,利用的所述位调换方案将在由所述用户输入的配置密钥上的任何特定位置中存在的0或1的每第二者的值匹配至:由所述可编程变换块来调换或不调换数据的一个或多个相邻位。
20.根据权利要求2所述的加密方法,还包括使用一种机制,其中,空密钥将所述电路配置为允许数据通过而根本不应用任何变换。
21.根据权利要求2所述的加密方法,其中,所述加密集成电路被设计和制造为实施安全散列算法。
22.根据权利要求21所述的加密方法,其中,所述安全散列算法是基于256位的算法。
23.根据权利要求1所述的加密方法,其中,所述数据路径电路还包括第一散列块和第二散列块,所述第一散列块被配置为应用根据由工作证明协议规定的加密标准而确定的第一散列算法,并且所述第二散列块被配置为随后应用根据由所述工作证明协议规定的所述加密标准而确定的第二散列算法。
24.根据权利要求23所述的加密方法,其中,所述可编程变换块位于所述第一散列块之前,使得所述可编程变换块的输出是对所述第一散列块的输入。
25.根据权利要求23所述的加密方法,其中,所述可编程变换块位于所述第一散列块和所述第二散列块之间,使得所述第一散列块的输出是对所述可编程变换块的输入并且所述可编程变换块的输出是对所述第二散列块的输入。
26.根据权利要求23所述的加密方法,还包括使用第二可编程变换块。
27.根据权利要求26所述的加密方法,其中,所述第一可编程变换块位于所述第一散列块之前,使得所述第一可编程变换块的输出是对所述第一散列块的输入,并且所述第二可编程变换块位于所述第一散列块和所述第二散列块之间,使得所述第一散列块的输出是对所述第二可编程变换块的输入,并且所述第二可编程变换块的输出是对所述第二散列块的输入。
28.根据权利要求26所述的加密方法,其中,所述第一可编程变换块和所述第二可编程变换块位于所述第一散列块之前。
29.根据权利要求26所述的加密方法,其中,所述第一可编程变换块和所述第二可编程变换块位于所述第一散列块之后,但是在所述第二散列块之前。
30.根据权利要求26所述的加密方法,其中,所述第一可编程变换块和所述第二可编程变换块均具有单独的编程电路。
31.根据权利要求30所述的加密方法,其中,每个可编程变换块的所述编程电路被配置为既易于在制造期间被所述加密集成电路的制造商访问,又易于在制造之后被用户访问。
32.根据权利要求30所述的加密方法,其中,所述第一可编程变换块的所述编程接口被配置为易于在制造期间被所述加密集成电路的制造商访问,但是不易于在完成的部分中被用户访问,并且其中,所述第二可编程变换块的所述编程接口被配置为既易于在所述制造期间被所述加密集成电路的制造商访问,又易于在所述完成的部分中被用户访问。
33.根据权利要求30所述的加密方法,其中,所述第二可编程变换块的所述编程接口被配置为易于在所述制造期间被所述加密集成电路的制造商访问,但是不易于在完成的部分中被用户访问,以及其中,所述第一可编程变换块的所述编程接口被配置为既易于在所述制造期间被所述加密集成电路的制造商访问,又易于在所述完成的部分中被用户访问。
34.根据权利要求1所述的加密方法,其中,所述数据路径电路包括多个加密核心,其中,所述多个加密核心中的每个加密核心包括第一散列块。
35.根据权利要求34所述的加密方法,其中,所述多个加密核心中的每个加密核心包括可编程变换块。
36.根据权利要求35所述的加密方法,其中,所述可编程变换块位于所述第一散列块之前,使得所述可编程变换块的输出是对所述第一散列块的输入。
37.根据权利要求35所述的加密方法,其中,所述多个加密核心中的每个加密核心包括第二散列块,其中,所述可编程变换块位于所述第一散列块之后,使得来自所述第一散列块的输出是对所述可编程变换块的输入,并且所述可编程变换块位于所述第二散列块之前,使得所述可编程变换块的输出是对所述第二散列块的输入。
38.根据权利要求35所述的加密方法,其中,单个可编程变换块被所述多个加密核心中的每个加密核心共享。
39.根据权利要求38所述的加密方法,其中,所述可编程变换块位于所述第一散列块之前,使得所述可编程变换块的输出是对所述第一散列块的输入。
40.根据权利要求38所述的加密方法,其中,所述多个加密核心中的每个加密核心包括第二散列块,其中,所述可编程变换块位于所述第一散列块之后,使得来自所述第一散列块的输出是对所述可编程变换块的输入,并且所述可编程变换块位于所述第二散列块之前,使得所述可编程变换块的输出是对所述第二散列块的输入。
41.根据权利要求38所述的加密方法,其中,根据由所述用户输入的配置密钥,一次编程由所述多个加密核心中的每个加密核心共享的所述单个可编程变换块。
42.根据权利要求38所述的加密方法,其中,根据由至少一个用户在不同时间提供的多个部分配置密钥来对由所述多个加密核心中的每个加密核心共享的所述单个可编程变换块进行编程。
43.根据权利要求42所述的加密方法,其中,所述多个配置密钥共同包括单个配置密钥,使得根据单个多部分配置密钥来对每个可编程变换块进行编程。
44.根据权利要求1所述的加密方法,其中,所述数据路径电路包括多个加密核心,其中,所述多个加密核心中的每个加密核心包括顺序地连接的两个散列块,使得来自第一散列块的输出是对第二散列块的直接的或者通过额外的电路块之后的输入。
45.根据权利要求44所述的加密方法,其中,所述可编程变换块位于所述第一散列块之前,使得所述可编程变换块的输出是对所述第一散列块的输入,并且其中,第二可编程变换块位于所述第二散列块之前,使得来自所述第一散列块的输出是对所述第二可编程变换块的输入,并且来自所述第二可编程变换块的输出是对所述第二散列块的输入。
46.根据权利要求44所述的加密方法,其中,两个可编程变换块位于所述第一散列块之前,使得来自两个可编程变换块的组合输出是对所述第一散列块的输入。
47.根据权利要求44所述的加密方法,其中,两个可编程变换块位于所述第一散列块之后,使得来自所述第一散列块的输出是对所述可编程变换块的输入,并且所述两个可编程变换块位于所述第二散列块之前,使得来自两个可编程变换块的组合输出是所述第二散列块的输入。
48.根据权利要求44所述的加密方法,其中,所述可编程变换块由所述多个加密核心中的每个加密核心共享,并且第二可编程变换块由所述多个加密核心中的每个加密核心共享。
49.根据权利要求48所述的加密方法,其中,根据由所述用户输入的配置密钥,一次编程由所述多个加密核心中的每个加密核心共享的所述两个可编程变换块中的每一个。
50.根据权利要求48所述的加密方法,其中,由所述多个加密核心中的每个加密核心共享的所述两个可编程变换块中的至少一个是根据由至少一个用户在一个或不同时刻提供的多个部分配置密钥而被编程的。
51.根据权利要求50所述的加密方法,其中,所述多个配置密钥共同包括单个配置密钥,使得根据单个多部分配置密钥来对每个可编程变换块进行编程。
52.根据权利要求48所述的加密方法,其中,所述第一可编程变换块和所述第二可编程变换块均具有单独的编程电路。
53.根据权利要求52所述的加密方法,其中,两个可编程变换块的所述编程接口被配置为使得既易于在所述制造期间被所述集成电路的制造商访问,又易于在完成的部分中被用户访问。
54.根据权利要求52所述的加密方法,其中,所述第一可编程变换块的所述编程接口被配置为易于在所述制造期间被所述加密集成电路的制造商访问,但是不易于在所述完成的部分中被用户访问,并且其中,所述第二可编程变换块的所述编程接口被配置为既易于在所述制造期间被所述加密集成电路的制造商访问,又易于在所述完成的部分中被用户访问。
55.根据权利要求52所述的加密方法,其中,所述第二可编程变换块的所述编程接口被配置为易于在所述制造期间被所述加密集成电路的制造商访问,但是不易于在所述完成的部分中被用户访问,并且其中,所述第一可编程变换块的所述编程接口被配置为既易于在所述制造期间中被所述加密集成电路的制造商访问,又易于在所述完成的部分中被用户访问。
56.根据权利要求1所述的加密方法,还包括使用设置在所述编程电路内的锁定熔丝,其中,当所述锁定熔丝被禁用时所述可编程变换块是不能够被访问的。
CN202010185225.4A 2016-01-15 2017-01-13 包括电路编码变换函数的加密asic Active CN111382464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010185225.4A CN111382464B (zh) 2016-01-15 2017-01-13 包括电路编码变换函数的加密asic

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/997,113 2016-01-15
US14/997,113 US10262164B2 (en) 2016-01-15 2016-01-15 Cryptographic ASIC including circuitry-encoded transformation function
PCT/US2017/013377 WO2017123902A1 (en) 2016-01-15 2017-01-13 Cryptographic asic including circuitry-encoded transformation function
CN202010185225.4A CN111382464B (zh) 2016-01-15 2017-01-13 包括电路编码变换函数的加密asic
CN201780006769.6A CN108885675B (zh) 2016-01-15 2017-01-13 包括电路编码变换函数的加密asic

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780006769.6A Division CN108885675B (zh) 2016-01-15 2017-01-13 包括电路编码变换函数的加密asic

Publications (2)

Publication Number Publication Date
CN111382464A true CN111382464A (zh) 2020-07-07
CN111382464B CN111382464B (zh) 2023-12-12

Family

ID=59311516

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780006769.6A Active CN108885675B (zh) 2016-01-15 2017-01-13 包括电路编码变换函数的加密asic
CN202010185225.4A Active CN111382464B (zh) 2016-01-15 2017-01-13 包括电路编码变换函数的加密asic

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201780006769.6A Active CN108885675B (zh) 2016-01-15 2017-01-13 包括电路编码变换函数的加密asic

Country Status (6)

Country Link
US (2) US10262164B2 (zh)
CN (2) CN108885675B (zh)
DE (1) DE112017000394T5 (zh)
HK (1) HK1258400A1 (zh)
RU (2) RU2708358C1 (zh)
WO (1) WO2017123902A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936758B2 (en) 2016-01-15 2021-03-02 Blockchain ASICs Inc. Cryptographic ASIC including circuitry-encoded transformation function
US11042669B2 (en) 2018-04-25 2021-06-22 Blockchain ASICs Inc. Cryptographic ASIC with unique internal identifier

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US9185095B1 (en) 2012-03-20 2015-11-10 United Services Automobile Association (Usaa) Behavioral profiling method and system to authenticate a user
US10979410B1 (en) 2015-05-04 2021-04-13 United Services Automobile Association (Usaa) Systems and methods for utilizing cryptology with virtual ledgers in support of transactions and agreements
US10164973B1 (en) 2015-12-02 2018-12-25 United Services Automobile Association (Usaa) Public authentication systems and methods
US10454677B1 (en) 2016-02-24 2019-10-22 United Services Automobile Associate (USAA) Cryptographic key generation from biometric data
US10630490B2 (en) 2016-02-26 2020-04-21 Apple Inc. Obtaining and using time information on a secure element (SE)
US10523447B2 (en) 2016-02-26 2019-12-31 Apple Inc. Obtaining and using time information on a secure element (SE)
US10680833B2 (en) * 2016-02-26 2020-06-09 Apple Inc. Obtaining and using time information on a secure element (SE)
US11694520B2 (en) * 2016-04-22 2023-07-04 Americorp Investments Llc System and method for purchasing lottery tickets
US10826685B1 (en) * 2016-06-28 2020-11-03 Amazon Technologies, Inc. Combined blockchain integrity
US11854011B1 (en) 2016-07-11 2023-12-26 United Services Automobile Association (Usaa) Identity management framework
US10367645B2 (en) * 2016-10-26 2019-07-30 International Business Machines Corporation Proof-of-work for smart contracts on a blockchain
US10657526B2 (en) 2016-10-28 2020-05-19 International Business Machines Corporation System and method to dynamically setup a private sub-blockchain based on agility of transaction processing
US10296764B1 (en) 2016-11-18 2019-05-21 Amazon Technologies, Inc. Verifiable cryptographically secured ledgers for human resource systems
US10862959B2 (en) * 2016-11-28 2020-12-08 Keir Finlow-Bates Consensus system and method for adding data to a blockchain
US10476665B1 (en) * 2016-12-28 2019-11-12 Wells Fargo Bank, N.A. Cryptographic algorithm status transition
US10509891B2 (en) * 2017-05-03 2019-12-17 Cisco Technology, Inc. Method and system for content and service sharing
US10762506B1 (en) 2017-05-11 2020-09-01 United Services Automobile Association Token device for distributed ledger based interchange
EP3649558B8 (en) * 2017-07-06 2024-04-17 Chromaway AB Method and system for a distributed computing system
US10805085B1 (en) 2017-08-24 2020-10-13 United Services Automobile Association (Usaa) PKI-based user authentication for web services using blockchain
CN111684412A (zh) * 2018-01-29 2020-09-18 亚历山大·石 安全区块链集成电路
US10372943B1 (en) * 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
US10630760B2 (en) * 2018-03-28 2020-04-21 Ca, Inc. Adaptive encryption in checkpoint recovery of file transfers
US11159376B2 (en) * 2018-05-24 2021-10-26 International Business Machines Corporation System and method for network infrastructure analysis and convergence
US20190394113A1 (en) * 2018-06-25 2019-12-26 Blocktest Global Systems and methods to automatically evaluate blockchain-based solution performance
CN108846705A (zh) * 2018-06-26 2018-11-20 李建欣 一种数字积分服务系统、方法和电子装置
US10404473B1 (en) * 2018-09-05 2019-09-03 Accelor Ltd. Systems and methods for processing transaction verification operations in decentralized applications
US10432405B1 (en) 2018-09-05 2019-10-01 Accelor Ltd. Systems and methods for accelerating transaction verification by performing cryptographic computing tasks in parallel
CN109117607B (zh) * 2018-09-06 2021-01-26 杭州安恒信息技术股份有限公司 一种基于私有链的软件许可管理方法和系统
US20200082405A1 (en) * 2018-09-12 2020-03-12 NEC Laboratories Europe GmbH Method and system for client support in a blockchain network
KR20200034020A (ko) 2018-09-12 2020-03-31 삼성전자주식회사 전자 장치 및 그의 제어 방법
US10681083B2 (en) * 2018-12-29 2020-06-09 Alibaba Group Holding Limited System and method for detecting replay attack
KR102226258B1 (ko) 2018-12-29 2021-03-12 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 재전송 공격을 검출하기 위한 시스템 및 방법
US10735464B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for detecting replay attack
EP3545665B1 (en) 2018-12-29 2023-05-03 Advanced New Technologies Co., Ltd. System and method for detecting replay attack
CN113597627B (zh) * 2019-01-15 2023-06-30 布洛克钱恩阿西克斯公司 区块链报头验证中的动态变换
US11296887B2 (en) * 2019-08-02 2022-04-05 Unisys Corporation Blockchain mechanism for safety-critical systems
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020001384A1 (en) * 2000-04-13 2002-01-03 Broadcom Corporation Authentication engine architecture and method
US20040123121A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Methods and apparatus for ordering data in a cryptography accelerator
US20110010552A1 (en) * 2009-07-10 2011-01-13 Frank Hoornaert Authentication token with incremental key establishment capacity
CN103875001A (zh) * 2011-03-31 2014-06-18 耶德托公司 用于保护密码散列函数的执行的方法和系统
CN104683099A (zh) * 2015-02-03 2015-06-03 香港应用科技研究院有限公司 一种改进的加密/解密内容和分发加密内容的方法和装置
US20150294308A1 (en) * 2014-04-14 2015-10-15 21, Inc. Digital currency mining circuitry

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0812537B2 (ja) 1993-03-11 1996-02-07 日本電気株式会社 暗号化装置
US5774552A (en) 1995-12-13 1998-06-30 Ncr Corporation Method and apparatus for retrieving X.509 certificates from an X.500 directory
US6581162B1 (en) 1996-12-31 2003-06-17 Compaq Information Technologies Group, L.P. Method for securely creating, storing and using encryption keys in a computer system
JP3988172B2 (ja) 1997-04-23 2007-10-10 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US6704871B1 (en) 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
US6708273B1 (en) 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6307936B1 (en) 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
US7373517B1 (en) 1999-08-19 2008-05-13 Visto Corporation System and method for encrypting and decrypting files
US6763465B1 (en) 1999-11-23 2004-07-13 International Business Machines Corporation Method of ensuring that the PC is not used to make unauthorized and surreptitious telephone calls
SE522531C2 (sv) 1999-11-24 2004-02-17 Micronic Laser Systems Ab Metod och anordning för märkning av halvledare
EP1132873A1 (en) 2000-03-07 2001-09-12 THOMSON multimedia Electronic wallet system
US7003107B2 (en) 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
US7558965B2 (en) 2000-08-04 2009-07-07 First Data Corporation Entity authentication in electronic communications by providing verification status of device
US20020147918A1 (en) 2001-04-05 2002-10-10 Osthoff Harro R. System and method for securing information in memory
US20060291650A1 (en) 2001-05-22 2006-12-28 Viswanath Ananth State-varying hybrid stream cipher
US20020184512A1 (en) 2001-05-31 2002-12-05 Cardoso Augusto C. Method and apparatus for supporting remote configuration to facilitate subscriber management
GB0114317D0 (en) 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
US7134041B2 (en) 2001-09-20 2006-11-07 Evault, Inc. Systems and methods for data backup over a network
US7234021B1 (en) 2001-10-05 2007-06-19 Emc Corporation Methods and apparatus for accessing data elements using improved hashing techniques
US7840803B2 (en) 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
US7483945B2 (en) 2002-04-19 2009-01-27 Akamai Technologies, Inc. Method of, and system for, webcasting with just-in-time resource provisioning, automated telephone signal acquisition and streaming, and fully-automated event archival
JP4326189B2 (ja) 2002-06-10 2009-09-02 健 坂村 自律型icカード及び通信システム
SG105005A1 (en) 2002-06-12 2004-07-30 Contraves Ag Device for firearms and firearm
US7469338B2 (en) 2002-07-29 2008-12-23 Broadcom Corporation System and method for cryptographic control of system configurations
KR100723399B1 (ko) 2002-08-06 2007-05-30 삼성전자주식회사 비스무트 티타늄 실리콘 산화물, 비스무트 티타늄 실리콘산화물 박막 및 그 제조방법
US6912435B2 (en) 2002-08-28 2005-06-28 Inficon Lt Inc. Methods and systems for controlling reticle-induced errors
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
EP1620773A4 (en) * 2003-05-02 2011-11-23 Giritech As EFFICIENT NETWORK SECURITY SYSTEM AND USER-CENTER VALID BY DYNAMIC SWITCHING OF DATAGRAMS AND ENCRYPTION AND AUTHENTICATION STRUCTURE ON DEMAND THROUGH INTELLIGENT AND MOBILE DATA CARRIERS
US7398399B2 (en) 2003-12-12 2008-07-08 International Business Machines Corporation Apparatus, methods and computer programs for controlling performance of operations within a data processing system or network
US7644278B2 (en) 2003-12-31 2010-01-05 International Business Machines Corporation Method for securely creating an endorsement certificate in an insecure environment
US7472369B1 (en) 2004-06-03 2008-12-30 Altera Corporation Embedding identification information on programmable devices
US20060041510A1 (en) 2004-08-19 2006-02-23 Securemedia International Method for a secure system of content distribution for DVD applications
US20070093234A1 (en) 2004-08-20 2007-04-26 Willis John A Identify theft protection and notification system
US20060059368A1 (en) 2004-09-10 2006-03-16 International Business Machines Corporation System and method for processing by distinct entities securely configurable circuit chips
US20060072748A1 (en) 2004-10-01 2006-04-06 Mark Buer CMOS-based stateless hardware security module
US7418100B2 (en) * 2004-10-20 2008-08-26 Cisco Technology, Inc. Enciphering method
US8667580B2 (en) 2004-11-15 2014-03-04 Intel Corporation Secure boot scheme from external memory using internal memory
US20060182283A1 (en) 2005-02-14 2006-08-17 Tricipher, Inc. Architecture for asymmetric crypto-key storage
US7818584B1 (en) 2005-01-25 2010-10-19 Altera Corporation One-time programmable memories for key storage
US7725738B1 (en) 2005-01-25 2010-05-25 Altera Corporation FPGA configuration bitstream protection using multiple keys
US7606362B1 (en) 2005-01-25 2009-10-20 Altera Corporation FPGA configuration bitstream encryption using modified key
KR100666328B1 (ko) 2005-02-11 2007-01-09 삼성전자주식회사 온 칩 메모리를 이용한 기밀 정보 보안 장치 및 보안 방법
JP2006260614A (ja) 2005-03-15 2006-09-28 Sony Corp ディスク製造方法、データ記録装置、情報記録媒体、情報処理装置および方法、並びにコンピュータ・プログラム
JP2006295872A (ja) 2005-03-18 2006-10-26 Matsushita Electric Ind Co Ltd 機器固有鍵の生成方法、これを用いた機密情報処理機能を備えた機密情報lsi、これを搭載したホスト機器、これに用いられる認証機能付き記録媒体、および認証機能を備えた記録媒体付き携帯端末
US9171187B2 (en) 2005-05-13 2015-10-27 Nokia Technologies Oy Implementation of an integrity-protected secure storage
US7533905B2 (en) 2005-06-02 2009-05-19 Hewlett-Packard Development Company, L.P. Anti-counterfeiting system and method
US20070005963A1 (en) 2005-06-29 2007-01-04 Intel Corporation Secured one time access code
CN1815948B (zh) * 2005-06-30 2010-04-28 西南交通大学 基于复合非线性数字滤波器的混沌散列构造方法
US8132005B2 (en) * 2005-07-07 2012-03-06 Nokia Corporation Establishment of a trusted relationship between unknown communication parties
EP1748343A1 (en) 2005-07-29 2007-01-31 STMicroelectronics Limited Circuit personalisation
US20070090920A1 (en) 2005-10-22 2007-04-26 Canter James M Apparatus and Method for Controlling Access to Remotely Located Equipment
US20070101156A1 (en) 2005-10-31 2007-05-03 Manuel Novoa Methods and systems for associating an embedded security chip with a computer
US7389426B2 (en) 2005-11-29 2008-06-17 Research In Motion Limited Mobile software terminal identifier
US20070208918A1 (en) 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
EP1832996B1 (en) 2006-03-06 2009-02-18 STMicroelectronics (Research & Development) Limited Circuit security
US8929553B2 (en) 2006-03-31 2015-01-06 International Business Machines Corporation Using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects
US7894602B2 (en) 2006-03-31 2011-02-22 Sap Ag System and method for generating pseudo-random numbers
EP2002437A1 (en) 2006-03-31 2008-12-17 International Business Machines Corporation Method and systems using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects
US20070245159A1 (en) 2006-04-18 2007-10-18 Oracle International Corporation Hash function strengthening
US20070255966A1 (en) 2006-05-01 2007-11-01 Vincenzo Condorelli Cryptographic circuit with voltage-based tamper detection and response circuitry
US9489318B2 (en) 2006-06-19 2016-11-08 Broadcom Corporation Method and system for accessing protected memory
US7675313B1 (en) 2006-08-03 2010-03-09 Lattice Semiconductor Corporation Methods and systems for storing a security key using programmable fuses
US7971017B1 (en) 2006-08-21 2011-06-28 Rockwell Automation Technologies, Inc. Memory card with embedded identifier
JP5001123B2 (ja) 2006-12-07 2012-08-15 パナソニック株式会社 記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体
US20080148001A1 (en) 2006-12-14 2008-06-19 Telefonaktiebolaget L M Ericsson (Publ) Virtual Secure On-Chip One Time Programming
US8046571B1 (en) 2006-12-18 2011-10-25 Marvell International Ltd. System-on-a-chip (SoC) security using one-time programmable memories
JP5073312B2 (ja) 2007-02-16 2012-11-14 株式会社日立製作所 Icタグシステム
US8769637B2 (en) 2007-03-23 2014-07-01 Sap Ag Iterated password hash systems and methods for preserving password entropy
US8065515B2 (en) 2007-04-23 2011-11-22 Cisco Technology, Inc. Autoconfigured prefix delegation based on distributed hash
US20090024784A1 (en) 2007-07-20 2009-01-22 Wang Liang-Yun Method for writing data into storage on chip and system thereof
US9158957B2 (en) 2007-09-07 2015-10-13 Apple Inc. Finger sensing apparatus using hybrid matching and associated methods
EP2214117B1 (en) 2007-09-19 2012-02-01 Verayo, Inc. Authentication with physical unclonable functions
US8402241B2 (en) 2007-10-02 2013-03-19 Advanced Micro Devices, Inc. Method and apparatus to control access to device enable features
JPWO2009057641A1 (ja) 2007-10-30 2011-03-10 京セラ株式会社 情報処理装置
US9866370B2 (en) 2007-12-05 2018-01-09 Itt Manufacturing Enterprises, Llc Configurable ASIC-embedded cryptographic processing engine
US7890917B1 (en) 2008-01-14 2011-02-15 Xilinx, Inc. Method and apparatus for providing secure intellectual property cores for a programmable logic device
US20090202068A1 (en) 2008-02-07 2009-08-13 Amjad Qureshi Media security through hardware-resident proprietary key generation
US8850568B2 (en) * 2008-03-07 2014-09-30 Qualcomm Incorporated Method and apparatus for detecting unauthorized access to a computing device and securely communicating information about such unauthorized access
US20090259855A1 (en) 2008-04-15 2009-10-15 Apple Inc. Code Image Personalization For A Computing Device
US8150039B2 (en) 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
US8209762B2 (en) 2008-06-24 2012-06-26 Ricoh Company, Ltd. Approach for printing locked print data using user and print data authentication
US8726364B2 (en) 2008-06-30 2014-05-13 Intel Corporation Authentication and access protection of computer boot modules in run-time environments
US8332931B1 (en) 2008-09-04 2012-12-11 Marvell International Ltd. Processing commands according to authorization
US7715247B2 (en) 2008-09-06 2010-05-11 Juhan Kim One-time programmable read-only memory with a time-domain sensing scheme
US8738922B2 (en) 2008-09-30 2014-05-27 Stepover Gmbh Method and device for electronically capturing a handwritten signature and safeguarding biometric data
US20100088752A1 (en) 2008-10-03 2010-04-08 Vikram Nagulakonda Identifier Binding for Automated Web Processing
US8683210B2 (en) 2008-11-21 2014-03-25 Verayo, Inc. Non-networked RFID-PUF authentication
WO2013131065A1 (en) 2012-03-02 2013-09-06 Syphermedia International, Inc. Blackbox security provider programming system permitting multiple customer use and in field conditional access switching
US8442218B2 (en) 2009-02-27 2013-05-14 Red Hat, Inc. Method and apparatus for compound hashing via iteration
JP2010252305A (ja) 2009-03-25 2010-11-04 Renesas Electronics Corp 半導体集積回路及びその制御方法
US8448009B2 (en) 2009-08-17 2013-05-21 Sandisk Il Ltd. Method and memory device for generating a time estimate
US8644499B2 (en) 2009-09-14 2014-02-04 Broadcom Corporation Method and system for securely protecting a semiconductor chip without compromising test and debug capabilities
US20110119293A1 (en) 2009-10-21 2011-05-19 Randy Gilbert Taylor Method And System For Reverse Pattern Recognition Matching
US8719587B2 (en) 2009-12-18 2014-05-06 CompuGroup Medical AG Computer implemented method for generating a pseudonym, computer readable storage medium and computer system
US20120060039A1 (en) 2010-03-05 2012-03-08 Maxlinear, Inc. Code Download and Firewall for Embedded Secure Application
US8612398B2 (en) 2010-03-11 2013-12-17 Microsoft Corporation Clean store for operating system and software recovery
US9177152B2 (en) 2010-03-26 2015-11-03 Maxlinear, Inc. Firmware authentication and deciphering for secure TV receiver
US9231768B2 (en) 2010-06-22 2016-01-05 International Business Machines Corporation Utilizing a deterministic all or nothing transformation in a dispersed storage network
US8949616B2 (en) 2010-09-13 2015-02-03 Ca, Inc. Methods, apparatus and systems for securing user-associated passwords used for identity authentication
US20120151223A1 (en) 2010-09-20 2012-06-14 Conde Marques Ricardo Nuno De Pinho Coelho Method for securing a computing device with a trusted platform module-tpm
US20120069995A1 (en) 2010-09-22 2012-03-22 Seagate Technology Llc Controller chip with zeroizable root key
US10360561B2 (en) 2010-12-14 2019-07-23 Lime Light RM, Inc. System and method for secured communications between a mobile device and a server
US20140156531A1 (en) 2010-12-14 2014-06-05 Salt Technology Inc. System and Method for Authenticating Transactions Through a Mobile Device
EP2506176A1 (en) 2011-03-30 2012-10-03 Irdeto Corporate B.V. Establishing unique key during chip manufacturing
US20170109676A1 (en) 2011-05-08 2017-04-20 Panaya Ltd. Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process
US20170109668A1 (en) 2011-05-08 2017-04-20 Panaya Ltd. Model for Linking Between Nonconsecutively Performed Steps in a Business Process
US8725112B2 (en) 2011-06-05 2014-05-13 Apple Inc. Activation solution
US8523657B2 (en) 2011-09-13 2013-09-03 Igt Gaming system, gaming device and method for utilizing bitcoins
US9054874B2 (en) 2011-12-01 2015-06-09 Htc Corporation System and method for data authentication among processors
US10778659B2 (en) 2012-05-24 2020-09-15 Smart Security Systems Llc System and method for protecting communications
US9100189B2 (en) 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
US9100174B2 (en) 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
GB201219521D0 (en) 2012-10-30 2012-12-12 Rex Edmund Generative scheduling method
WO2014075162A1 (en) 2012-11-15 2014-05-22 Behzad Malek System and method for location-based financial transaction authentication
TWI622969B (zh) 2012-12-17 2018-05-01 印奈克斯托股份有限公司 用以使用物理特性來標記製造物品的方法及設備
US8938792B2 (en) * 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
KR20140099757A (ko) 2013-02-04 2014-08-13 삼성전자주식회사 전자장치 및 전자장치의 펌웨어 업그레이드 방법
US9117179B2 (en) 2013-03-11 2015-08-25 International Business Machines Corporation Predicting user activity in social media applications
US9495668B1 (en) 2013-05-10 2016-11-15 EMC IP Holding Company LLC Computing solutions to a problem involving inversion of a one-way function
US9230137B2 (en) 2013-05-30 2016-01-05 Dell Products, L.P. Secure original equipment manufacturer (OEM) identifier for OEM devices
US10181124B2 (en) 2013-05-30 2019-01-15 Dell Products, L.P. Verifying OEM components within an information handling system using original equipment manufacturer (OEM) identifier
GB2514771B (en) 2013-06-03 2015-10-21 Broadcom Corp Methods of securely changing the root key of a chip, and related electronic devices and chips
US9479328B1 (en) 2013-06-11 2016-10-25 Amazon Technologies, Inc. Secure key provisioning
US20150003607A1 (en) 2013-06-26 2015-01-01 Samsung Electronics Co., Ltd. Secure connection method and apparatus of electronic device
KR20150008546A (ko) 2013-07-15 2015-01-23 삼성전자주식회사 보안 다운로드 및 기능 실행방법 및 장치
US9386008B2 (en) 2013-08-19 2016-07-05 Smartguard, Llc Secure installation of encryption enabling software onto electronic devices
RU2552135C2 (ru) * 2013-09-09 2015-06-10 Общество с ограниченной ответственностью "СмартТелеМакс" Устройство защиты от атак для сетевых систем
JP2015065495A (ja) 2013-09-24 2015-04-09 ルネサスエレクトロニクス株式会社 暗号鍵供給方法、半導体集積回路および暗号鍵管理装置
US9672385B2 (en) 2013-10-07 2017-06-06 Microsemi SoC Corporation Method of improving FPGA security using authorization codes
US20150134555A1 (en) 2013-11-08 2015-05-14 Tracker Corp Document error resolution
US9798880B2 (en) 2013-11-13 2017-10-24 Via Technologies, Inc. Fuse-enabled secure bios mechanism with override feature
US9779243B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Fuse-enabled secure BIOS mechanism in a trusted computing system
RS61234B1 (sr) 2013-11-19 2021-01-29 Top Galore Ltd Postupak i uređaj za rudarenje blokova
US9219722B2 (en) 2013-12-11 2015-12-22 Globalfoundries Inc. Unclonable ID based chip-to-chip communication
US20150213253A1 (en) 2014-01-28 2015-07-30 Qualcomm Incorporated Authorizing an application for use by a computing device
US10340038B2 (en) 2014-05-13 2019-07-02 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain, systems and methods
US9582262B2 (en) 2014-06-16 2017-02-28 Wipro Limited Systems and methods for installing upgraded software on electronic devices
US11055707B2 (en) * 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
US9928080B2 (en) 2014-09-30 2018-03-27 International Business Machines Corporation Hardware security module access management in a cloud computing environment
US9331989B2 (en) 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods
US20160148232A1 (en) 2014-11-21 2016-05-26 The Nielsen Company (Us), Llc Using hashed media identifiers to determine audience measurement data including demographic data from third party providers
US9870487B2 (en) 2014-12-30 2018-01-16 Data I/O Corporation Automated manufacturing system with adapter security mechanism and method of manufacture thereof
US11627639B2 (en) 2015-01-26 2023-04-11 Ievgen Verzun Methods and apparatus for HyperSecure last mile communication
EP3872666A1 (fr) * 2015-01-30 2021-09-01 Enrico Maim Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées
WO2016131482A1 (en) 2015-02-18 2016-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Establishing and managing identities for constrained devices
US11023968B2 (en) 2015-03-05 2021-06-01 Goldman Sachs & Co. LLC Systems and methods for updating a distributed ledger based on partial validations of transactions
US9813392B2 (en) 2015-03-06 2017-11-07 Qualcomm Incorporated Apparatus and method for providing a public key for authenticating an integrated circuit
US9893885B1 (en) 2015-03-13 2018-02-13 Amazon Technologies, Inc. Updating cryptographic key pair
US10735200B2 (en) 2015-03-27 2020-08-04 Comcast Cable Communications, Llc Methods and systems for key generation
US20160283920A1 (en) 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
US9667600B2 (en) 2015-04-06 2017-05-30 At&T Intellectual Property I, L.P. Decentralized and distributed secure home subscriber server device
US10812274B2 (en) 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
EP3304431B1 (en) 2015-06-04 2021-09-08 Chronicled, Inc. Open registry for identity of things
US20170228731A1 (en) 2016-02-09 2017-08-10 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
US11120436B2 (en) 2015-07-17 2021-09-14 Mastercard International Incorporated Authentication system and method for server-based payments
US20170126414A1 (en) 2015-10-28 2017-05-04 Texas Instruments Incorporated Database-less authentication with physically unclonable functions
WO2017079652A1 (en) 2015-11-05 2017-05-11 Pulsifer Allen Cryptographic transactions system
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10262164B2 (en) 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
US11042878B2 (en) 2016-01-19 2021-06-22 Priv8Pay, Inc. Network node authentication
US11107071B2 (en) 2016-02-01 2021-08-31 Apple Inc. Validating online access to secure device functionality
US11354658B2 (en) 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
US20170250796A1 (en) 2016-02-18 2017-08-31 Gideon Samid Trans Vernam Cryptography: Round One
CN107306183B (zh) 2016-04-22 2021-12-21 索尼公司 客户端、服务端、方法和身份验证系统
US10594480B2 (en) 2016-05-13 2020-03-17 Gideon Samid Efficient proof of knowledge of arbitrarily large data which remains unexposed
EP3459029A1 (en) 2016-05-20 2019-03-27 Moog Inc. Secure and traceable manufactured parts
US11204597B2 (en) 2016-05-20 2021-12-21 Moog Inc. Outer space digital logistics system
US9967096B2 (en) 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
US11107088B2 (en) 2016-05-27 2021-08-31 Chronicled, Inc. Open registry for internet of things
US20180108024A1 (en) 2016-06-03 2018-04-19 Chronicled, Inc Open registry for provenance and tracking of goods in the supply chain
US10411905B2 (en) 2016-07-01 2019-09-10 Intel Corporation Public key infrastructure using blockchains
US20180046956A1 (en) 2016-08-11 2018-02-15 Panaya Ltd. Warning About Steps That Lead to an Unsuccessful Execution of a Business Process
US10250694B2 (en) 2016-08-19 2019-04-02 Ca, Inc. Maintaining distributed state among stateless service clients
US11074584B2 (en) 2016-09-23 2021-07-27 Raise Marketplace, Llc Authorizing exchange item redemption in an exchange item marketplace network
US10516538B2 (en) 2016-11-01 2019-12-24 Netcomm Inc. System and method for digitally signing documents using biometric data in a blockchain or PKI
MY181840A (en) 2016-11-04 2021-01-08 Thomson Licensing Devices and methods for client device authentication
US20180184290A1 (en) 2016-12-22 2018-06-28 Cypress Semiconductor Corporation Embedded Certificate Method for Strong Authentication and Ease of Use for Wireless IoT Systems
US10382485B2 (en) 2016-12-23 2019-08-13 Vmware, Inc. Blockchain-assisted public key infrastructure for internet of things applications
US10764259B2 (en) 2017-02-07 2020-09-01 Microsoft Technology Licensing, Llc Transaction processing for consortium blockchain network
JP2018133744A (ja) 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
US11263326B2 (en) 2017-06-02 2022-03-01 Apple Inc. Method and apparatus for secure system boot
US20190102558A1 (en) 2017-06-02 2019-04-04 Apple Inc. Method and Apparatus for Secure System Boot
US10528740B2 (en) 2017-06-15 2020-01-07 International Business Machines Corporation Securely booting a service processor and monitoring service processor integrity
US10397230B2 (en) 2017-06-15 2019-08-27 International Business Machines Corporation Service processor and system with secure booting and monitoring of service processor integrity
JP6882678B2 (ja) 2017-06-30 2021-06-02 富士通株式会社 衝突検出システムおよび衝突検出方法
US20190080093A1 (en) 2017-09-12 2019-03-14 Qualcomm Incorporated Secure selective load of dynamic paged segments in memory constrained systems
KR102434444B1 (ko) 2017-11-29 2022-08-19 한국전자통신연구원 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치
US10372943B1 (en) 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
US10404454B1 (en) 2018-04-25 2019-09-03 Blockchain Asics Llc Cryptographic ASIC for derivative key hierarchy

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020001384A1 (en) * 2000-04-13 2002-01-03 Broadcom Corporation Authentication engine architecture and method
US20040123121A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Methods and apparatus for ordering data in a cryptography accelerator
US20110010552A1 (en) * 2009-07-10 2011-01-13 Frank Hoornaert Authentication token with incremental key establishment capacity
CN103875001A (zh) * 2011-03-31 2014-06-18 耶德托公司 用于保护密码散列函数的执行的方法和系统
US20150294308A1 (en) * 2014-04-14 2015-10-15 21, Inc. Digital currency mining circuitry
CN104683099A (zh) * 2015-02-03 2015-06-03 香港应用科技研究院有限公司 一种改进的加密/解密内容和分发加密内容的方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936758B2 (en) 2016-01-15 2021-03-02 Blockchain ASICs Inc. Cryptographic ASIC including circuitry-encoded transformation function
US11042669B2 (en) 2018-04-25 2021-06-22 Blockchain ASICs Inc. Cryptographic ASIC with unique internal identifier
US11093655B2 (en) 2018-04-25 2021-08-17 Blockchain ASICs Inc. Cryptographic ASIC with onboard permanent context storage and exchange
US11093654B2 (en) 2018-04-25 2021-08-17 Blockchain ASICs Inc. Cryptographic ASIC with self-verifying unique internal identifier

Also Published As

Publication number Publication date
US20190272393A1 (en) 2019-09-05
US20170206382A1 (en) 2017-07-20
RU2746014C2 (ru) 2021-04-05
CN108885675A (zh) 2018-11-23
RU2708358C1 (ru) 2019-12-05
DE112017000394T5 (de) 2018-10-25
CN111382464B (zh) 2023-12-12
HK1258400A1 (zh) 2019-11-08
US10936758B2 (en) 2021-03-02
RU2019136310A (ru) 2019-12-23
RU2019136310A3 (zh) 2020-07-30
WO2017123902A1 (en) 2017-07-20
CN108885675B (zh) 2020-03-03
US10262164B2 (en) 2019-04-16

Similar Documents

Publication Publication Date Title
CN108885675B (zh) 包括电路编码变换函数的加密asic
Hell et al. Grain-128AEADv2-A lightweight AEAD stream cipher
US8782396B2 (en) Authentication with physical unclonable functions
KR101723006B1 (ko) 물리적 복제 방지 기능 기반 키 생성 시스템을 이용하는 디바이스 인증
CN112136134B (zh) 具有组合的函数的加密asic
US20140247944A1 (en) Cryptographic device with resistance to differential power analysis and other external monitoring attacks
US20100303229A1 (en) Modified counter mode encryption
JPWO2018168723A1 (ja) ネットワーク上の装置認証技術
Lee Security basics for computer architects
Windarta et al. Lightweight cryptographic hash functions: Design trends, comparative study, and future directions
CN113158200A (zh) 使用挑战-响应协议执行认证的集成电路和使用其的方法
Assiri et al. Software implementation of a SRAM PUF-based password manager
Prasanna et al. Performance analysis of md5 and sha-256 algorithms to maintain data integrity
Vig et al. Customizing skewed trees for fast memory integrity verification in embedded systems
AbuJoodeh Exploring and Adapting AES Algorithm for Optimal Use as a Lightweight IoT Crypto Algorithm
Khudhur et al. Enhancing e-banking security: using whirlpool hash function for card number encryption
Roy et al. Two efficient fault-based attacks on CLOC and SILC
Zhang et al. Enhanced-Bivium algorithm for RFID system
Zhang et al. Improved conditional differential cryptanalysis
Chaum et al. WOTSwana: A Generalized S leeve Construction for Multiple Proofs of Ownership
Sayed et al. Split-n-Swap: A New Modification of the Twofish Block Cipher Algorithm
Hui-Juan et al. A fog computing security: 2-adic complexity of balanced sequences
JOHANSSON et al. Using Blockchain Techniques to Create an Opinion-Based Whitelisting Procedure
Zhong When Alice meets the``Hardware''Bob---Attacks and Solutions in the Digital World
Das et al. SSKA: secure symmetric encryption exploiting Kuznyechik algorithm for trustworthy communication

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