RU2708358C1 - Криптографическая интегральная схема специального назначения, включающая в себя закодированную в цепи функцию преобразования - Google Patents

Криптографическая интегральная схема специального назначения, включающая в себя закодированную в цепи функцию преобразования Download PDF

Info

Publication number
RU2708358C1
RU2708358C1 RU2018128197A RU2018128197A RU2708358C1 RU 2708358 C1 RU2708358 C1 RU 2708358C1 RU 2018128197 A RU2018128197 A RU 2018128197A RU 2018128197 A RU2018128197 A RU 2018128197A RU 2708358 C1 RU2708358 C1 RU 2708358C1
Authority
RU
Russia
Prior art keywords
cryptographic
integrated circuit
programmable
hash
conversion unit
Prior art date
Application number
RU2018128197A
Other languages
English (en)
Inventor
ДЕ КАСТРО Эдвард Л. РОДРИГЕС
Эдриан Джордж ПОРТ
Сагар В. РЕДДИ
Original Assignee
БЛОКЧЕЙН АСИКС ЭлЭЛСи
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 БЛОКЧЕЙН АСИКС ЭлЭЛСи filed Critical БЛОКЧЕЙН АСИКС ЭлЭЛСи
Application granted granted Critical
Publication of RU2708358C1 publication Critical patent/RU2708358C1/ru

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/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/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
    • 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

Изобретение относится к конструкции интегральных электронных схем. Технический результат – повышение уровня гибкости при развертывании интегральных схем специального назначения в системах проверки доказательства выполнения работы. Интегральная схема с поддержкой преобразования содержит блок преобразования, встроенный среди других компонентов цепи в криптографическом тракте данных интегральной схемы с поддержкой преобразования, блок преобразования может быть сконфигурирован после изготовления интегральной схемы для того, чтобы воплотить в качестве цепи любую из множества функций математического преобразования, что позволяет пользователю систематически модифицировать результаты криптографических операций, выполняемых интегральной схемой, с сохранением высоких показателей производительности интегральных схем специального назначения. 3 н. и 55 з.п. ф-лы, 14 ил.

Description

Область техники, к которой относится настоящее изобретение
Настоящее изобретение относится к конструкции интегральных электронных схем и, более конкретно, некоторые варианты осуществления настоящего изобретения относятся к конструкции криптографических интегральных схем.
Предшествующий уровень техники настоящего изобретения
Интегральные схемы специального назначения (ASIC) представляют собой интегральные схемы, разработанные и сконструированные для конкретной цели или конкретного практического применения. ASIC обеспечивают большую скорость вычислений по сравнению с более медленными, более общими решениями, такими как программные решения, выполняемые процессорами общего назначения или программируемыми пользователем вентильными матрицами (FPGA). Как следует из их названия, ASIC обычно разрабатывают только для одного конкретного назначения, что приводит к компромиссу между гибкостью и скоростью вычислений. ASIC приобретают все большее значение в областях, связанных с криптографией, таких как системы доказательства выполнения работы, системы управления правами на электронные продукты и другие приложения, которые, как правило, характеризуются жесткими требованиями к скорости и эффективности.
Краткое описание фигур
Раскрытое в настоящем документе изобретение будет более подробно описано на примере одного или нескольких различных вариантов осуществления со ссылками на следующие фигуры. Фигуры предоставлены лишь в иллюстративных целях и просто изображают типичные или приведенные в качестве примера варианты осуществления настоящего изобретения. Более того, они предоставлены для облегчения понимания настоящего изобретения и не должны рассматриваться в качестве ограничения его сути, объема или применимости. Следует отметить, что в целях наглядности и упрощения иллюстрации фигуры не обязательно выполнены с соблюдением масштаба.
На фиг. 1 представлена приведенная в качестве примера система криптографической обработки, в которой могут быть реализованы варианты осуществления раскрытого в настоящем документе изобретения.
на фиг. 2 представлена приведенная в качестве примера интегральная схема с поддержкой преобразования в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения, которая содержит программируемый блок преобразования, расположенный в одной из точек вдоль тракта данных интегральной схемы, который рассматривается как часть раскрытого в настоящем документе изобретения.
на фиг. 3 представлена приведенная в качестве примера интегральная схема с поддержкой преобразования в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения, которая содержит программируемый блок преобразования, расположенный в другой точке вдоль тракта данных интегральной схемы, который рассматривается как часть раскрытого в настоящем документе изобретения.
на фиг. 4 представлена приведенная в качестве примера интегральная схема с поддержкой преобразования в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения, которая содержит два программируемых блока преобразования, каждый из которых расположен в некоторой точке вдоль тракта данных интегральной схемы, который рассматривается как часть раскрытого в настоящем документе изобретения.
на фиг. 5A представлена приведенная в качестве примера конфигурация программируемого блока преобразования перед кодированием функции преобразования в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения.
на фиг. 5B представлен приведенный в качестве примера программируемый блок преобразования, закодированный в соответствии с двоичным ключом, в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения.
На фиг. 6 представлен приведенный в качестве примера процесс кодировки функции в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения.
На фиг. 7 представлена блок схема базовой системы криптографической обработки, в которой реализована криптографическая интегральная схема с несколькими ядрами криптографической обработки, в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения.
На фиг. 8 представлена приведенная в качестве примера интегральная схема с поддержкой преобразования, характеризующаяся наличием нескольких ядер криптографической обработки, в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения.
На фиг. 9 представлена другая приведенная в качестве примера интегральная схема с поддержкой преобразования, характеризующаяся наличием нескольких ядер криптографической обработки, при этом каждое ядро криптографической обработки имеет программируемый блок преобразования, в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения.
На фиг. 10 представлена приведенная в качестве примера интегральная схема двойного назначения с поддержкой преобразования в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения.
На фиг. 11 представлен приведенный в качестве примера вычислительный компонент, который может быть использован при реализации различных признаков вариантов осуществления раскрываемого изобретения.
На фиг. 12 представлен приведенный в качестве примера криптографический валидатор результатов с поддержкой преобразования, содержащий одно криптографическое ядро хеширования с поддержкой преобразования и один конфигурационный ключ.
На фиг. 13 представлен приведенный в качестве примера криптографический валидатор результатов с поддержкой преобразования, содержащий два отдельных криптографических ядра хеширования с поддержкой преобразования и два отдельных конфигурационных ключа.
Фигуры не должны рассматриваться в качестве исчерпывающих или ограничивающих настоящее изобретение точно раскрытой формой. Следует понимать, что настоящее изобретение может быть реализовано на практике с модификациями и изменениями, и что раскрываемое изобретение ограничивается только прилагаемой формулой изобретения и ее эквивалентами.
Подробное раскрытие вариантов осуществления настоящего изобретения
В соответствии с различными вариантами осуществления раскрываемого изобретения предоставляется интегральная схема для применения в процессах криптографической проверки на основе доказательства выполнения работы, включая, кроме прочего, системы криптографической проверки сетевых транзакций, как правило, используемые в зарождающейся области технологии блокчейн. Интегральная схема содержит один или несколько блоков цепей, реализующих криптографическую функцию, как правило, криптографическую одностороннюю функцию (ОСФ), которая является труднообратимой, например, защищенный алгоритм хеширования. Одна или несколько функций преобразования, выбранных одним или несколькими пользователями и воплощенных в качестве блоков цепи тракта данных, находятся в тракте данных интегральной схемы в точке перед по меньшей мере одним из блоков цепей, реализующих описанную выше криптографическую функцию. Каждый блок цепи, реализующей функцию преобразования, может быть запрограммирован пользователем путем предоставления конфигурационного ключа, например, ключа, состоящего из строки двоичных чисел. Такой ключ затем воплощается в качестве цепи тракта данных внутри блока преобразования.
После такого программирования цепь внутри блока преобразования будет осуществлять конкретное программируемое преобразование, отражающее ключ, запрограммированный пользователем, данных, которые она получает от цепи, расположенной перед ней вдоль тракта данных интегральной схемы, и передавать преобразованные данные в последующую цепь вдоль тракта данных. Таким образом, независимо от содержимого данных, полученных блоком преобразования, осуществляемое им преобразование будет непосредственно и последовательно влиять на конечное значение, вычисленное цепью, расположенной далее вдоль тракта данных, включая блок или блоки цепей, реализующей описанную выше криптографическую функцию.
За счет взаимодействия преобразования с математическими свойствами используемых криптографических алгоритмов, особенно присущего им характера односторонних функций, которые являются труднообратимыми (здесь, а также в других местах настоящего документа, термины, такие как «трудно» и «легко», должны пониматься с точки зрения теории сложности вычислений, в частности теории полиномиального времени), комбинированный эффект заключается в выполнении системного преобразования битов, содержащихся в конечном значении, вычисленном цепью, которое нелегко расшифровывается, нелегко отличимо от шума и нелегко воспроизводимо стороной, не имеющей полного предварительного знания ключа или ключей пользователя, но которое является полностью последовательным, легко воспроизводимым и, следовательно, поддающимся проверке стороной с предварительным знанием ключей или доступом к средствам для их применения в вычислении даже при отсутствии знания о них (например, стороной, обладающей ASIC, запрограммированной для реализации ключей в своей цепи тракта данных).
Применение вышеуказанного в вычислениях доказательства выполнения работы, обычно используемых в области технологии блокчейн, позволяет значительно расширить гибкость его внедрения. В частности, это позволяет пользователям фактически создавать практически неограниченное количество ортогональных блокчейнов. Каждый из таких блокчейнов может полностью отличаться и отделяться от любого другого, поскольку он характеризуется уникальным набором достоверных решений проблемы доказательства выполнения работы, при этом все такие блокчейны полностью внутренне когерентны в отношении криптографических ссылок каждого блока на предыдущий блок и полностью наглядны любой стороне с доступом к ASIC, сконфигурированной для работы в рамках криптографической платформы данного блокчейна.
Таким образом, различные варианты осуществления описанного в настоящем документе изобретения обеспечивают создание нового поколения ASIC, предназначенных для проверки сетевых транзакций связанных с блокчейнами операций, которые способны проверять транзакции среди практически неограниченного количества отличающихся и полностью ортогональных блокчейнов, публичных или частных. Такие блокчейны могут безопасно эксплуатироваться в непосредственной близости друг к другу и среди различных или одинаковых сетей.
Дополнительно, предусмотрены различные реализации описанного в настоящем документе изобретения, которые описывают различные способы воплощения ключа или ключей функции преобразования в виде цепи тракта данных внутри интегральной схемы таким образом, чтобы вызывать очень ограниченные непроизводительные издержки в процессе эксплуатации, сохраняя тем самым основные преимущества ASIC над другими типами решений в отношении скорости и эффективности.
Кроме того, предусмотрены различные способы для дополнительной защиты ключа или ключей, воплощенных в виде цепи тракта данных внутри интегральной схемы. К таким способам, кроме прочего, относится следующее: различные способы предотвращения обнаружения ключа или ключей путем анализа входных и выходных данных интегральной схемы; применение одной или нескольких плавких блокировочных перемычек в соединительной цепи между интерфейсом настройки конфигурации, при помощи которого пользователь может запрограммировать функцию преобразования, и блоком или блоками цепей, осуществляющих преобразование в качестве цепи; применение многокомпонентных ключей; применение нескольких функций преобразования; применение функций преобразования, доступ к которым возможен только во время процесса производства интегральной схемы; и т.п.
Другие признаки и аспекты раскрываемого изобретения будут очевидны из нижеследующего подробного раскрытия, выполненного в сочетании с прилагаемыми фигурами, на которых в качестве примера проиллюстрированы признаки в соответствии с вариантами осуществления раскрываемого изобретения.
Системы проверки доказательства выполнения работы – это класс систем проверки, основанный на решении сложных вычислительных задач, причем полученный ответ не имеет какой-либо внутренней ценности, а имеет доказательную ценность того, что значительный объем вычислительной работы был проведен для получения результата. Отсюда и название. Системы проверки доказательства выполнения работы находят применение в широком диапазоне современных вычислительных систем, включая, кроме прочего, системы, используемые для сдерживания сетевых атак типа отказ в обслуживании (DoS); системы, используемые для предотвращения отправки нежелательной коммерческой почты (спама); и системы, используемые для других практических применений.
Одним из таких других применений проверки доказательства выполнения работы является процесс криптографической проверки сетевых транзакций, лежащий в основе зарождающейся области технологии блокчейн. Технология блокчейн включает в себя различные базовые технологии, обеспечивающие системы децентрализованных транзакций, не требующих доверия, например, которые лежат в основе криптовалют, наиболее известной из которых является биткоин.
В качестве средства для обеспечения контекста, в котором могут функционировать некоторые реализации описанного в настоящем документе изобретения, полезно кратко обсудить принципы работы блокчейн-систем, прежде чем приводить описание каждой иллюстрации.
Блокчейн представляет собой список упорядоченных по времени, нередактируемых записей, идентифицирующих все предыдущие транзакции внутри системы, начиная с момента времени первоначального блока транзакций (который может именоваться первичным блоком) до настоящего времени. Блоки транзакций, содержащие подробную информацию, относящуюся к одной или нескольким достоверными транзакциям, которые произошли в сети, но не были включены в какой-либо блок транзакций, ранее добавленный в блокчейн, непрерывно добавляются к концу блокчейна.
Каждый блок транзакций идентифицируется при помощи одного или нескольких уникальных заголовков блока, которые содержат ссылку на все транзакции, включенные в указанный блок транзакций, а также другую релевантную информацию. В качестве примера, ссылка на различные транзакции, включенные в блок транзакций, может быть включена в заголовок блока транзакций при помощи структуры Меркла-Дамгарда или при помощи других средств.
Заголовки блока транзакций и информация, содержащаяся в них, являются основным организационным принципом блокчейна. Например, кроме прочего, заголовки блоков транзакций могут включать в себя криптографически проверяемую ссылку на заголовок блока транзакций непосредственно предшествующего достоверного блока транзакций в блокчейне. Таким образом, такие ссылки криптографически связывают друг с другом все соседние блоки. Это приводит к организации всех блоков в единую непрерывную цепь блоков, или блокчейн, приблизительно таким же путем, как и в случае набора звеньев физической цепи, где каждое звено соединено с предыдущим элементом физической цепи.
Блоки транзакций, которые должны быть добавлены к концу блокчейна, могут быть идентифицированы при помощи системы доказательства выполнения работы, как описано ранее. Такая система доказательства выполнения работы может быть основана на криптографических ОСФ, как описано ранее. ОСФ иногда именуют криптографическими операциями хеширования. В области технологии блокчейн они иногда могут именоваться операциями хеширования.
В области технологии блокчейн процесс проверки доказательства выполнения работы обычно выполняют по заголовкам блоков транзакций, а не по самим транзакциям. По этой причине, пока выполняется процесс проверки доказательства выполнения работы, один блок транзакций может упоминаться во множестве заголовков блоков транзакций, хотя, в конечном счете, подавляющее большинство из них будет отброшено. Таким образом, для любой группы транзакций вполне нормально быть упомянутой в большом количестве заголовков блоков транзакций, каждый из которых надлежащим образом образован в соответствии с протоколом и каждый из которых содержит достоверную и точную информацию, при этом все они являются немного отличающимися друг от друга.
Такие заголовки блоков транзакций иногда именуют потенциальными заголовками блоков транзакций. Вполне нормально, что количество потенциальных заголовков блоков транзакций является большим, в частности, если используются высокопроизводительные ASIC. Например, одна высокопроизводительная ASIC может компоновать, хешировать, оценивать и отбрасывать несколько сотен миллиардов потенциальных заголовков блоков транзакций каждую секунду.
Как правило, потенциальные заголовки блоков транзакций будут подвергнуты одной или нескольким операциям хеширования, и результирующее хеш-значение будет сравниваться с определенными существующими критериями достоверности. В случае биткоина конкретными используемыми операциями хеширования являются два последовательных применения 256-битной версии 2-й версии безопасного алгоритма хеширования (SHA), как определено Национальным Институт Стандартов и Технологий (NIST). Эту версию алгоритма иногда именуют SHA-256, и два его последовательных применения иногда именуют двойным SHA-256. Для упрощения алгоритм могут иногда называть двойным SHA. Однако следует отметить, что это просто специализированный алгоритм, который используется в случае биткоина; при этом другие блокчейны могут использовать и используют другие алгоритмы. Аналогично, различные варианты осуществления описанного в настоящем документе изобретения могут использовать различные алгоритмы в области технологии блокчейн, при этом другие варианты осуществления применимы в областях, отличных от технологии блокчейн.
Как и в других применениях систем проверки доказательства выполнения работы, сравнение потенциальных результатов с критериями достоверности определяет дальнейшую обработку. Если потенциальный заголовок блока транзакций не удовлетворяет критериям достоверности, он отбрасывается, и система переходит к обработке следующего потенциального заголовка блока транзакций. Если потенциальный заголовок блока транзакций удовлетворяет критериям достоверности, то он считается достоверным заголовком блока транзакций.
При нахождении достоверного заголовка блока транзакций осуществляется ряд других операций. В области технологии блокчейн такие операции, как правило, завершаются путем добавления достоверного заголовка блока транзакций к концу блокчейна вместе с блоком транзакций, с которым он связан. Кроме того, могут происходить и другие операции, такие как выплата вознаграждения стороне, которая первая сообщила о нахождении достоверного заголовка блока транзакций. После этого поиски нового достоверного заголовка блока транзакций начинаются заново, и процесс повторяется.
Вышеизложенное в целом описывает определенные аспекты области технологии блокчейн, в частности некоторые аспекты, связанные с сущностью технологии блокчейн, а именно процесс добавления новых блоков транзакций к цепи, роль и состав заголовков блоков транзакций, работа процесса доказательства выполнения работы и другие. Однако множество других аспектов технологии блокчейн не были описаны. Например, вышеизложенное не описывает то, что можно охарактеризовать как другую половину этого процесса, то есть процесс генерирования транзакций, а не процесс группирования и обработки транзакций. Как правило, подробно описанные аспекты технологии блокчейн являются наиболее перспективными для описанного в настоящем документе изобретения и некоторых его применений в криптографических интегральных схемах, используемых в этой области, тогда как аспекты, которые обычно реализуются программным обеспечением, выполняемым микропроцессорами общего назначения, или иным образом менее перспективны для описанного в настоящем документе изобретения, описаны менее подробно или вообще не описаны.
Основные принципы работы всех аспектов блокчейна определяются протоколом, который обычно именуют блокчейн-протоколом. Это включает в себя те аспекты, которые более подробно описаны выше. В свою очередь, блокчейн-протоколы разработаны для удовлетворения конкретных требований специализированного приложения, для обслуживания которого блокчейн был разработан, как интерпретируется разработчиком или разработчиками протокола. Эти требования могут значительно варьировать от случая к случаю, и, следовательно, не все блокчейн-протоколы должны быть одинаковыми. Фактически, они могут значительно отличаться друг от друга.
Блокчейн-протокол, который управляет операциями блокчейна, лежащего в основе биткоина, иногда именуют просто биткоин-протоколом. Биткоин-протокол является основополагающей работой в узком смысле этого термина; большая часть, если не все то, что мы теперь именуем технологией блокчейн, является производным, основанным на биткоин-протоколе, в той, или иной степени.
Каждый блокчейн поддерживается блокчейн-сетью, которая в области технологии блокчейн иногда именуется просто сетью. В сущности, определение блокчейн-сети является простым; это совокупность аппаратного и программного обеспечения, которое поддерживает блокчейн путем реализации политик, определенных протоколом. На практике блокчейн-сети могут быть сложными. Они представляют собой распределенные неоднородные сочетания самых различных устройств, которые постоянно или периодически подключены к сети, используют различное программное обеспечение, написанное в различное время различными разработчиками, осуществляют различные операции и совместно работают в системе, не требующей доверия. Некоторые блокчейн-сети могут быть обширными и могут использовать значительно продвинутые технологии, включая криптографические ASIC высокой сложности.
В целом, в последние годы технология для решения вычислительно-трудоемких расчетов доказательства выполнения работы, связанных с блокчейн-системами, быстро развивается. Например, в случае транзакций биткоинов процесс доказательства выполнения работы, связанный с определением достоверных заголовков блока транзакций, изначально проводился с использованием программных приложений, выполняемых процессорами общего назначения. Однако скорость и эффективность имеют первостепенное значение в системах доказательства выполнения работы, включая системы, используемые в контексте блокчейн-систем. Соответственно, операции по «майнингу» биткоинов перешли к специализированным аппаратным решениям, включая ASIC. ASIC обеспечивают значительное увеличение скорости и эффективности по причине линейной скорости, с которой могут производиться вычисления. Как следует из их названия, ASIC разработаны и изготовлены для осуществления одного конкретного назначения, в этом случае математических операций, связанных с реализацией определенного криптографического протокола.
Успех платежной сети биткоин свидетельствует о безопасной природе технологии блокчейн. Соответственно, со временем приобрело интерес использование блокчейнов в других релевантных областях. Однако ASIC предназначены для узкого соответствия определенным элементам протокола, в котором они должным быть реализованы, в частности элементам протокола, описывающего особенности системы доказательства выполнения работы согласно протоколу. Для платежной сети биткоин каждая ASIC спроектирована компоновать с большой скоростью заголовки блоков, как описано биткоин-протоколом, подвергать их двум последовательным воздействиям 256-битной версии протокола безопасного алгоритма хеширования (SHA-256) и, наконец, проверять достоверность результирующего 256-битного двоичного хеш-значения путем его сравнения с заранее заданным критерием достоверности, который в случае биткоин-протокола реализован в качестве уровня сложности, что рассматривалось ранее.
Это ограничивает гибкость и возможность распространять технологию блокчейн за пределами платежной сети биткоин или сетей, основанных на ней или «привязанных» к ней, в той или иной степени, поскольку для высокопроизводительных реализаций доказательства выполнения работы обычно требуется использование ASIC, при этом ASIC текущего поколения способны реализовывать только одну высоко специализированную систему доказательства выполнения работы. Более того, из-за характера процесса доказательства выполнения работы любой частный блокчейн, который основан на той же системе доказательства выполнения работы, которая используется биткоином для его собственного процесса доказательства выполнения работы, может легко быть нарушен третьей стороной, использующей коммерчески доступное оборудование, разработанное для решения системы доказательства выполнения работы согласно биткоин-протоколу.
Варианты осуществления раскрытого в настоящем документе изобретения направлены на разработку, изготовление и применение интегральных схем специального назначения (ASIC) для практических применений в области криптографии. Более конкретно, различные варианты осуществления раскрытого в настоящем документе изобретения относятся к ASIC с одной или несколькими программируемыми функциями преобразования, воплощенными в качестве цепи, встроенной в высокоскоростной тракт данных интегральной схемы. Посредством кодирования функции преобразования в качестве цепи тракта данных варианты осуществления раскрытого в настоящем документе изобретения позволяют ASIC реализовывать любую систему из очень широкого диапазона систем доказательства выполнения работы в соответствии с выбором пользователя.
Это, в свою очередь, позволяет безопасно эксплуатировать блокчейн-системы даже при наличии большого количества других ASIC, специально разработанных для решения вычислений доказательства выполнения работы, связанных с криптографической проверкой сетевых блокчейн-транзакций, включая, кроме прочего, ASIC для «майнинга» биткоина, которые иначе могут угрожать безопасности или целостности систем на основе технологи блокчейн, в которых не используется раскрытое в настоящем документе изобретение.
Таким образом, варианты осуществления описанного в настоящем документе изобретения позволяют создать полностью новое поколение ASIC, специально разработанных для блокчейн-применений, которые обеспечивают в настоящее время невообразимый уровень гибкости и безопасности. Кроме того, реализации описанного в настоящем документе изобретения позволяют обеспечить такую гибкость за счет пренебрежимо малого снижения производительности обработки.
Прежде чем перейти к подробному рассмотрению вариантов осуществления раскрытого в настоящем документе изобретения, полезно обсудить общую последовательность выполняемых действий, включенных в обработку операций доказательства выполнения работы, связанных с проверкой сетевых блокчейн-транзакций при помощи систем, использующих ASIC, которые разработаны для этого применения.
На фиг. 1 представлен пример системы 100 криптографической проверки сетевых транзакций общего типа, обычно используемой для блокчейн-применений и содержащей интегральную схему 103, разработанную для этого применения, в которой могут быть реализованы варианты осуществления раскрытого в настоящем документе изобретения.
Для удобства рассмотрения элементы и общее функционирование приведенной в качестве примера системы 100 криптографической обработки будут описаны в отношении биткоин-протокола и сети, поддерживающей блокчейн биткоина. Несмотря на подобное описание, специалисту в данной области техники, читающему настоящее раскрытие, будет понятно, что приведенная в качестве примера система 100 криптографической проверки сетевых транзакций подходит для применений, отличающихся от платежной сети биткоин.
Примеры других практических применений могут включать в себя как частные, так и публичные блокчейны, используемые для практических применений, отличающихся от применений, обычно связанных с биткоином. К другим примерам практических применений, которые отличаются от применений, связанных с биткоином, и в которых может быть использована технология блокчейн, относятся, кроме прочего: системы межбанковских расчетов; системы фондовых бирж; системы товарных бирж; системы управление правами на электронные продукты; системы регистрации прав на физическое имущество; системы регистрации объектов интеллектуальных прав; системы контроля расхода материальных средств; системы комплекса услуг по обработке заказов; системы отслеживания пакетов; системы расчета зарплаты; защищенные системы распознавания; системы для контроля прозрачности и отслеживания использования средств; системы учета в целом; платежные системы в целом; системы регистрации в целом; финансовые системы в целом; и т.п.
Приведенная в качестве примера система 100 криптографической проверки сетевых транзакций содержит интегральную схему 103. Согласно различным вариантам осуществления интегральная схема 103 может включать в себя один или несколько компонентов обработки, включая интерфейс 104 настройки конфигурации, формирователь 105 заголовка блока транзакций, буфер 106, криптографическое ядро 107 хеширования, оцениватель 111 и механизм 112 принятия решений. Согласно некоторым вариантам осуществления один или несколько компонентов могут быть объединены в одну интегральную схему, как представлено на фиг. 1, где все компоненты, представленные внутри интегральной схемы 103, являются физической частью одной интегральной схемы (то есть все компоненты выполнены внутри одного кристалла). Согласно другим вариантам осуществления некоторые из них могут быть выполнены на различных кристаллах и объединены друг с другом при помощи соединительной цепи. Каждый из компонентов будет подробно рассмотрен в отношении приведенной в качестве примера системы 100 криптографической обработки.
Пользователь 101 может настроить один или несколько параметров интегральной схемы при помощи интерфейса 104 настройки конфигурации. К неограничивающим примерам параметров интегральной схемы, которые могут быть настроены пользователем 101, относится, среди прочего: инициализация; внутренняя тактовая частота; или режим связи с другими сетевыми системами. Согласно некоторым вариантам осуществления пользователем 101 может быть человек, обменивающийся данными с интегральной схемой 103 при помощи терминала. Согласно другим вариантам осуществления пользователем 101 может быть автоматизированный процесс, выполняемый в системе или сети. Согласно различным вариантам осуществления интерфейс 104 настройки конфигурации также может быть использован пользователем 101 для осуществления мониторинга рабочих характеристик интегральной схемы 103. Неограничивающие примеры рабочих характеристик, за которыми пользователь 101 может осуществлять мониторинг и которые могут быть предоставлены ему, могут включать в себя, кроме прочего: текущую деятельность; рабочую температуру; рабочее напряжение; или состояние отказа.
Каждый потенциальный заголовок блока транзакций, который последовательно обрабатывается интегральной схемой 103, скомпонован формирователем 105 заголовка блока транзакций с использованием сочетания данных, генерируемых самим формирователем, и данных, полученных из транзакционных и системных данных 102b. Согласно различным вариантам осуществления транзакционные и системные данные 102b скомпилированы предыдущим процессом – программным обеспечением 102a для «майнинга». В любом случае программное обеспечение 102а для «майнинга» является частью программного обеспечения, выполняемого процессором общего назначения и обменивающегося данными с остальной блокчейн-сетью при помощи соединения с общедоступной частью сети Интернет, которое используется для компиляции транзакционных и системных данных 102b.
Определенные свойства общей архитектуры блокчейн-систем, в частности хорошо продуманное обособление различных аспектов системы, обеспечивают эффективную изоляцию между операциями интегральной схемы 103 и сведениями об операциях программного обеспечения 102a для «майнинга». В результате этого почти все сведения об операциях программного обеспечения для «майнинга», включая его физическое местоположение, используемые им процедуры для связи с остальной сетью, используемые им процедуры для компиляции сетевых данных в транзакционные и системные данные 102b, а также другие сведения, являются прозрачными для операций интегральной схемы 103. Аналогично, является ли сеть, к которой подключено программное обеспечение 102а для «майнинга», платежной сетью биткоина или другой сетью, ответственной за поддержания другого блокчейна, также прозрачно для интегральной схемы 103 и различных вариантов осуществления описанной в настоящем документе технологии.
К транзакционным и системным данным 102b могут относиться, например: системная дата и время; версия протокола; структура Меркла-Дамгарда, представляющая группу индивидуальных транзакций, включенных в блок транзакций; уникальный идентификатор самого последнего на данный момент блока, который должен быть добавлен к блокчейну; и аналогичные данные. После приема транзакционных и системных данных 102b формирователь 105 заголовка блока транзакций дополнительно обрабатывает их, чтобы генерировать один или несколько потенциальных заголовков блока транзакций.
Согласно различным вариантам осуществления формирователь 105 заголовка блока транзакций может анализировать транзакционные и системные данные 102b и добавить к ним некоторые другие элементы, такие как последовательный счетчик, чтобы генерировать серию заголовков блока транзакций, все из которых достоверно сформированы и должным образом представляют один и тот же набор транзакций, но немного отличаются друг от друга.
Согласно различным вариантам осуществления скорость, с которой формирователь 105 заголовка блока транзакций может формировать заголовки блока транзакций, все из которых точно представляют блок транзакций на основе транзакционных и системных данных 102b, но немного отличаются друг от друга, может быть достаточно высокой (т.е. составлять от нескольких миллиардов до сотен миллиардов отдельных потенциальных заголовков блока транзакций в секунду). В зависимости от реализации буфер 106 может хранить созданные потенциальные заголовки блока транзакций, ожидающие обработки ядром 107 хеширования.
Каждая интегральная схема 103 может содержать одно или несколько ядер хеширования или других ядер криптографической обработки. Для упрощения представленная в качестве примера система 100 криптографической обработки показана с одним ядром 107 хеширования. Согласно различным вариантам осуществления может быть реализовано несколько параллельных ядер хеширования или других ядер криптографической обработки, как представлено на фиг. 7. Ядро 107 хеширования включает в себя один или несколько блоков хеширования. В примере, представленном на фиг. 1, ядро 107 хеширования содержит два блока 108, 110 хеширования. Блок хеширования может быть сконфигурирован в качестве набора цепей, который выполняет математические операции, определенные применимым стандартом хеширования. Согласно различным вариантам осуществления ядро 107 хеширования может реализовывать общий стандарт хеширования, такой как, например, безопасный алгоритм хеширования (SHA). Согласно некоторым вариантам осуществления может быть использована 256-битная версия SHA (SHA-256). Согласно другим вариантам осуществления ядро 107 хеширования может включать в себя один блок хеширования. Различные варианты осуществления могут включать в себя больше двух блоков хеширования.
Согласно варианту осуществления, представленному на фиг. 1, каждый блок 108, 110 хеширования разработан для выполнения последовательности математических операций в соответствии со стандартом SHA-256. Ядро 107 хеширования обрабатывает каждый потенциальный заголовок блока транзакций в соответствии с реализуемым криптографическим стандартом. Согласно некоторым вариантам осуществления первый блок 108 хеширования может принимать потенциальные заголовки блока транзакций, генерируемые формирователем 105 заголовка блока транзакций, в качестве входных данных и подвергать их математическим операциям, определенным стандартным алгоритмом хеширования. Первый блок 108 хеширования выдает первое хеш-значение 109 для каждого потенциального заголовка блока транзакций, получаемого им от формирователя 105 заголовка блока транзакций. Каждое первое хеш-значение 109 связывается с данным потенциальным заголовком блока транзакций, действуя как тип «цифровой подписи». Согласно различным вариантам осуществления первое хеш-значение 109 может быть дополнительно обработано вторым блоком 110 хеширования. Это является представлением двойной операции хеширования, такой как используется в платежной сети биткоин. Согласно некоторым вариантам осуществления второй блок 110 хеширования может выполнять такую же криптографическую операцию, как и первый блок хеширования 108. Согласно различным вариантам осуществления второй блок 110 хеширования может выполнять криптографическую операцию, которая отличается от операции, выполняемой первым криптографическим блоком 108 хеширования.
Выходные данные из ядра 107 хеширования сравнивают с заданными критериями для идентификации достоверного блока. Согласно различным вариантам осуществления выходные данные из ядра 107 хеширования могут представлять собой выходные данные из второго блока 110 хеширования. Оцениватель 111 интегральной схемы 103 берет конечное хеш-значение, выданное ядром 107 хеширования для каждого потенциального заголовка блока транзакций, и проверяет, соответствуют ли обработанные выходные данные заранее определенным критериям достоверности. В конкретном случае платежной сети биткоин критерии достоверности выражены определенным числовым значением (часто именуемым уровнем сложности), которое не может превышаться числовым значением 256-битного числа, которое получено при помощи выходных данных конечного хеша, если оно считается достоверным. Таким образом, если числовое значение или конечный хеш превышает уровень сложности на любую величину, потенциальный заголовок блока транзакций не проходит проверку достоверности, а если не превышает уровень сложности, то проходит проверку достоверности. В блокчейн-системах, отличающихся от системы, связанной с платежной сетью биткоин, некоторые варианты осуществления могут использовать такие же критерии для определения достоверности, при этом другие варианты осуществления могут использовать отличающиеся критерии для определения достоверности.
Если оцениватель 111 определяет, что конечное хеш-значение не соответствует критерию достоверности, механизм 112 принятия решений может отбросить потенциальный заголовок блока транзакций, связанный с обработанными выходными данными, оцененными при помощи оценивателя 111. Если оцениватель 111 определяет, что конечное хеш-значение соответствует критериям достоверности, то механизм 112 принятия решений сообщит об этом внешнему окружению при помощи отчета 113b об успехе, переданного получателю 113a отчета об успехе. Отчет 113b об успехе наряду с другой информацией, связанной с ним, такой как связанные с ним заголовки блоков транзакций и другие элементы, является криптографическим доказательством выполнения работы, для получения которого система в целом и разработана.
Согласно различным вариантам осуществления получатель 113b отчета об успехе может представлять собой одно целое с программным обеспечением 102а для «майнинга». Согласно другим вариантам осуществления получатель 113b отчета об успехе может представлять собой процесс, отличный от программного обеспечения 102а для «майнинга». После того как отчет 113b об успехе получен, получатель 113a отчета об успехе может выполнить ряд последующих действий. Согласно различным вариантам осуществления такие действия, как правило, связаны с сообщением о нахождении достоверного заголовка блока транзакций остальным членам сети, и, как правило, завершаются добавлением нового блока транзакций к концу блокчейна и началом поиска нового достоверного блока транзакций. В конкретном случае платежной сети биткоин такие действия могут дополнительно включать в себя другие аспекты, такие как начисление вознаграждения первой стороне, сообщившей о нахождении нового достоверного заголовка блока транзакций, и другие.
Однако, как и в предыдущем описании, связанном с операциями программного обеспечения 102а для «майнинга», стоит отметить, что точный характер получателя 113b отчета об успехе и подробности, связанные с тем, какие действия он может или не может предпринять после получения отчета об успехе 113a, являются прозрачными для различных вариантов осуществления описанного в настоящем документе изобретения. Аналогично, обменивается ли получатель 113b отчета об успехе данными с сетью, связанной с поддержанием блокчейна, лежащего в основе биткоина, или сетью, связанной с поддержанием другого блокчейна, является прозрачным для некоторых вариантов осуществления описанного в настоящем документе изобретения.
Совместно с базовой последовательностью выполняемых действий технологии блокчейн, которая описана в отношении приведенной в качестве примера реализации, будут рассмотрены варианты осуществления раскрытого в настоящем документе изобретения со ссылками на приведенную в качестве примера систему 100 криптографической обработки, которая изображена на фиг. 1. В целях упрощения рассмотрения варианты осуществления будут рассмотрены на примере биткоина и связанной с ним реализации блокчейна. Однако, как рассмотрено выше, специалисту в данной области техники, читающему настоящее описание, будет понятно, что описанные в нем варианты осуществления применимы во многих других релевантных областях.
На фиг. 2 представлена приведенная в качестве примера интегральная схема 203 с поддержкой преобразования в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения. Приведенная в качестве примера интегральная схема 203 с поддержкой преобразования реализована в системе 200 криптографической обработки, которая подобна системе 100, описанной со ссылкой на фиг. 1. Интегральная схема 203 с поддержкой преобразования может включать в себя интерфейс 204 настройки конфигурации, формирователь 205 заголовка блока транзакций, буфер 206, ядро 207 криптографической обработки, оцениватель 211 и механизм 212 принятия решений, которые аналогичны компонентам, рассмотренным выше в отношении интегральной схемы 103, которая представлена на фиг. 1.
Как рассмотрено ранее, варианты осуществления раскрытого в настоящем документе изобретения помещают функцию преобразования, воплощенную в виде цепи, в криптографический тракт данных интегральной схемы 203. Согласно примеру, представленному на фиг. 2, ядро 207 криптографической обработки интегральной схемы 203 с поддержкой преобразования содержит два блока 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 преобразования) защищена в отношении раскрытия или обнаружения конфигурационного ключа 214, воплощенного в программируемом блоке 215 преобразования, путем сравнения входных и выходных данных, производимых различными компонентами, расположенными вдоль тракта данных.
В конкретном случае приведенного в качестве примера варианта осуществления, который показан на фиг. 2, тракт данных внутри ядра 207 криптографической обработки сконфигурирован таким образом, чтобы единственной точкой входа всех данных, обрабатываемых ядром 207 криптографической обработки, являлся первый блок 208 хеширования. Исходя из этого, данные, такие как заголовки блока транзакций, проходят по тракту данных, перемещаясь через программируемый блок 215 преобразования, а затем через второй блок 210 хеширования. Второй блок 210 хеширования является единственной точкой выхода, после которой данные покидают ядро 207 криптографической обработки и направляются к оценивателю 211. Расположение программируемого блока 215 преобразования перед по меньшей мере одним блоком хеширования (в этом примере перед блоком 210 хеширования) предотвращает обнаружение конфигурационного ключа 214, воплощенного в программируемом блоке 215 преобразования, при помощи аналитических методик. Например, такое расположение предотвращает обнаружение конфигурационного ключа 214 путем вставки данных, которые обеспечивают получение определенного результата при осуществлении над ними конкретного набора криптографических процессов (например, двойного хеширования SHA-256), а затем сравнения результата, полученного при помощи ядра 207 криптографической обработки с поддержкой преобразования, для выведения конфигурационного ключа 214.
Согласно другим вариантам осуществления, как будет более подробно рассмотрено ниже со ссылкой на фиг. 3, программируемый блок 215 преобразования может быть расположен перед первым блоком 208 хеширования, так что единственной точкой входа ядра 207 криптографической обработки является программируемый блок 215 преобразования.
Согласно различным вариантам осуществления программируемый блок 215 преобразования может быть запрограммирован после изготовления интегральной схемы 203 с поддержкой преобразования, чтобы впоследствии выполнять какое-либо одно преобразование из широкого диапазона возможных математических преобразований над данными, проходящими через него с линейной скоростью благодаря расположению на тракте данных интегральной схемы 203.
Согласно некоторым вариантам осуществления механизм, при помощи которого программируемый блок 215 преобразования способен принимать и сохранять такое программирование, может быть реализован при помощи некоторого типа энергонезависимой постоянной памяти (энергонезависимого ОЗУ), включая, кроме прочего, флэш-память или другие типы энергонезависимой памяти. Согласно различным вариантам осуществления средства настройки программируемого блока 215 преобразования могут быть реализованы при помощи однократно программируемых компонентов (OTP) цепи, включая, кроме прочего, плавкие микроперемычки или другие типы однократно программируемых компонентов цепи. Как правило, плавкие микроперемычки используют в простых аспектах изготовления интегральных схем, таких как запись производственной информации в интегральные схемы во время изготовления или устранение неисправных блоков памяти, идентифицированных во время тестирования. Для удобства рассмотрения раскрытое в настоящем документе изобретение будет рассмотрено со ссылками на программируемый блок 215 преобразования, содержащий плавкие микроперемычки, который будет более подробно описан со ссылками на фиг. 5 и 6.
Различные варианты осуществления интегральной схемы 203 с поддержкой преобразования могут позволить выполнить настройку программируемого блока 215 преобразования при помощи конфигурационного ключа 214. Согласно различным вариантам осуществления конфигурационный ключ 214 может быть закодирован в программируемый блок 215 преобразования пользователем 201, использующим интерфейс 204 настройки конфигурации. Согласно таким вариантам осуществления раскрытое в настоящем документе изобретение предусматривает несколько различных сторон, потенциально выполняющих роль пользователя 201 с целью кодирования конфигурационного ключа 214 в программируемый блок 215 преобразования. К таким сторонам могут относиться, например: изготовитель ИС на заводе-изготовителе; один или несколько конечных пользователей; или какое-либо сочетание перечисленного.
Согласно другим вариантам осуществления, в которых пользователь 201 является единственной стороной, пользователь 201 может предоставить конфигурационный ключ 104, который определяет, какое преобразование будет применено к каждому биту, содержащему данные, получаемые программируемым блоком 215 преобразования. Например, когда программируемый блок 215 преобразования разработан для 256-битной системы, пользователь 201 может ввести конфигурационный ключ 214, определяющий, какое преобразование (если таковое имеется) программируемый блок 215 преобразования применяет ко всем 256 битам принятых данных. Таким образом, указанная сторона будет иметь возможность запрограммировать какую-либо одну из 2^256 математических операций, на выполнение которых программируемый блок 215 преобразования настраивается при помощи 256-битного ключа.
Аналогично, продолжая вышеизложенный 256-битный пример, согласно вариантам осуществления, в которых пользователь 201 включает в себя одну или несколько сторон, настройка программируемого блока 215 преобразования может быть осуществлена каждым из одного или нескольких пользователей 201, каждый из которых вносит часть конфигурационного ключа 214. Такая схема может иногда именоваться многоключевой схемой, и результирующий ключ может иногда именоваться многокомпонентным ключом. Согласно некоторым вариантам осуществления каждый из одного или нескольких пользователей 201 может настраивать, какое преобразование (если таковое имеется) программируемый блок 215 преобразования применяет к подгруппе битов получаемых им данных, и согласно другим вариантам осуществления каждый из одного или нескольких пользователей может вносить частичный ключ, который впоследствии будет преобразован в ключ способом, который не позволяет какому-либо одному пользователю определить, какое преобразование (если таковое имеется) программируемый блок 215 преобразования применяет к какому-либо одному конкретному биту или битам принимаемых им данных.
Согласно различным вариантам осуществления описанного в настоящем документе изобретения, в которых программируемый блок 215 преобразования размещен перед по меньшей мере одним блоком цепи, реализующей криптографическую ОСФ, таким как второй блок 210 хеширования, реализующий стандартный криптографический алгоритм на представленной иллюстрации, комбинированный эффект взаимодействия программируемой функции 215 преобразования и определенных математических свойств используемых криптографических алгоритмов, в частности, присущего им характера односторонних функций, которые являются труднообратимыми (здесь термины, такие как «трудно» и «легко» должны пониматься с точки зрения теории сложности вычислений, в частности теории полиномиального времени), производит определенные специальные результаты. В частности, комбинированный эффект заключается в том, что даже небольшое изменение, внесенное программируемым блоком 215 преобразования, такое как изменение одного бита, приведет к полному преобразованию битов, содержащихся в конечном значении, вычисленном ядром 207 хеширования, которое нелегко расшифровывается, нелегко отличимо от шума и нелегко воспроизводимо стороной, не имеющей полного предварительного знания конфигурационного ключа 214 и специальных аспектов конфигурации программируемой функции 215 преобразования, но которое по-прежнему является полностью последовательным, легко воспроизводимым и, следовательно, поддающимся проверке стороной с такими знаниями или доступом к средствам для их применения в вычислении даже при отсутствия знания о них (например, стороной, обладающей такой же ASIC или другой ASIC, включающей в себя идеи описанного в настоящем документе изобретения и запрограммированной на такой же конфигурационный ключ 214 в своей цепи тракта данных).
Эффекты от использования описанного в настоящем документе изобретения, изложенные в предыдущем абзаце, находят применения в области технологии блокчейн, что обеспечивает множество инновационных и ценных применений во множестве различных областей. Такие применения были вкратце рассмотрены ранее и будут дополнительно рассмотрены ниже.
Согласно некоторым вариантам осуществления программируемый блок 215 преобразования может быть сконфигурирован таким образом, чтобы предоставить возможность конечному пользователю программировать различные схемы преобразования, такие как схемы перестановки, которые переставляют положение во входе и выходе некоторых конкретных битов, оставляя другие биты без изменений. Согласно различным вариантам осуществления программируемый блок 215 преобразования может быть сконфигурирован таким образом, чтобы осуществлять схему преобразования на основе прямой инверсии битов, при которой некоторые биты инвертируют, тогда как другие биты оставляют без изменений.
Для удобства рассмотрения раскрытое в настоящем документе изобретение будет рассмотрено в отношении схемы преобразования на основе прямой инверсии битов, где 256-битный конфигурационный ключ 204 определяет, какое преобразование будет применено к каждому из 256 битов программируемым блоком 215 преобразования, при помощи следующего кода: биты, полученные в положениях, где 256-битный конфигурационный ключ имеет значение «0», будут обработаны одним способом (например, оставлены без изменений), тогда как биты, полученные в положениях, где 256-битный конфигурационный ключ имеет значение «1», будут обработаны отличным способом (например, инвертированы). Такое преобразование более подробно рассмотрено в разделах описания, относящихся к фиг. 5A, 5B и 6.
После того как получено конечное хеш-значение при помощи второго блока 210 хеширования, следует процесс оценки, выполняемый оценивателем 211, и механизмом 212 принятия решений на фиг. 2 аналогичен процессу, описанному со ссылкой на фиг. 1. Первая стадия этого процесса заключается в том, что оцениватель 211 будет определять, действительно ли конечное хеш-значение, созданное конкретным заголовком блока транзакций, отвечает критерию достоверности.
Если конечное хеш-значение не соответствует критериям достоверности (как правило, это относится к подавляющему большинству случаев), конечное хеш-значение и заголовок блока транзакций, создавший это значение, будут отбракованы. Если конечное хеш-значение соответствует критерию достоверности, конечное хеш-значение и заголовок блока транзакций, создавший конечное хеш-значение, будут переданы в механизм 212 принятия решений. После того как уведомление об успехе получено, механизм 212 принятия решений может выдать отчет 213b об успехе в получатель 213а отчета об успехе. Дополнительно, а также как рассмотрено в отношении фиг. 1, получатель 213а отчета об успехе может представлять собой одно целое с программным обеспечением 202а для «майнинга».
Отличие состоит в том, что включение программируемого блока 215 преобразования, его последующее программирование пользователем при помощи определенного конфигурационного ключа 214 и взаимодействие результирующих преобразованных данных со вторым ядром 210 хеширования могут привести к изменению конечного хеш-значения, вычисленного ядром 203 хеширования, для одного или более заголовков блока транзакций, сгенерированных формирователем 205 заголовка блока транзакций и переданных оценивателю 211. Дополнительно, и как рассматривалось ранее, таким изменениям присущи определенные уникальные и полезные математически свойства. В связи с тем, что задача оценивателя 211 заключается в сравнении хеш-значений, полученных от ядра 203 хеширования, с конкретными заранее определенными критериями достоверности и, исходя из этого сравнения, оценке того, проходят ли хеш-значения проверку достоверности или нет, может быть сделан вывод о том, что изменение хеш-значения, полученного оценивателем 211, может привести к изменению оценки, которую выносит оцениватель в отношении достоверности или недостоверности полученного хеш-значения.
Далее, в связи с тем, что функционирование системы доказательства выполнения работы основано на обнаружении достоверного доказательства работы в форме хеш-значения, которое соответствует критерию достоверности, и в связи с тем, что работа системы криптографической проверки сетевых транзакций основана на системе доказательства выполнения работы, и в связи с тем, что построение блокчейна путем добавления новых блоков к концу блокчейна основано на системе криптографической проверки сетевых транзакций, а также в связи с тем, что изменения, вносимые функцией преобразования, полностью когерентны и легко воспроизводимы, даже если они могут казаться внешнему наблюдателю неотличимыми от шума, может быть сделан вывод о том, что, если применять последовательно по всей блокчейн-сети, даже самое незначительное изменение в конфигурационном ключе 214 привело бы к системному изменению операций блокчейн-системы.
Таким образом, определенные варианты осуществления раскрытого в настоящем документе изобретения позволяют создать множество ортогональных блокчейнов, каждый из которых присваивает достоверность полностью отличному набору заголовков блока транзакций в соответствии с конфигурационным ключом 214, который каждым пользователь 201 решит применить к программируемому блоку 215 преобразования.
Согласно различным вариантам осуществления может быть одно или несколько значений нулевого конфигурационного ключа 214, причем, если указанные значения запрограммированы в программируемый блок 215 преобразования, указанный блок не будет вносить изменение в информацию, проходящую через него, в результате чего наличие программируемого блока 215 преобразования не будет вызывать изменений в конечном хеш-значении, вычисляемом ядром 207 криптографической обработки для каждого из заголовков блоков транзакций, принятых от формирователя 205 заголовка блока транзакций и переданных в оцениватель 211. Согласно некоторым вариантам осуществления нулевой (пустой) конфигурационный ключ может быть представлен строкой из нулей, которая характеризуется такой же длиной, как и конфигурационный ключ, и которая согласно некоторым вариантам осуществления может иметь длину в 256 бит.
Согласно различным вариантам осуществления, включающим в себя один или несколько нулевых ключей, общий эффект от программирования программируемой функции преобразования при помощи нулевого ключа заключается в том, что набор хешей заголовков блока транзакций, считающийся достоверным оценивателем, не будет изменяться, что делает выходные данные из ядра 207 криптографической обработки функционально идентичными выходным данным из ядра 107 хеширования, рассмотренного со ссылкой на фиг. 1. Иначе говоря, интегральная схема с поддержкой преобразования, включающая в себя идеи описанного в настоящем документе изобретения и запрограммированная при помощи нулевого ключа, будет производить такие же результаты, как и интегральная схема, которая не включает в себя идеи описанного в настоящем документе изобретения, и, следовательно, будет пригодна для осуществления вычислений доказательства выполнения работы в контексте одних и тех же систем доказательства выполнения работы, включая, кроме прочего, криптографическую проверку сетевых транзакций биткоина (что также именуется «майнингом» биткоина). Этот аспект описанного в настоящем документе изобретения имеет коммерческие последствия, поскольку он позволяет использовать интегральные схемы, включающие в себя варианты осуществления описанного в настоящем документе изобретения, для «майнинга» биткоина в дополнение к использованию в широком диапазоне других применений.
Согласно таким вариантам осуществления и согласно другим вариантам осуществления, которые не включают в себя форму нулевого конфигурационного ключа, программирование программируемого блока 215 преобразования при помощи конфигурационного ключа 214, отличающегося от нулевого конфигурационного ключа, будет вызывать изменение конечного хеш-значения, вычисленного криптографическим ядром 207 хеширования для каждого из потенциальных заголовков блока транзакций, созданных формирователем 205 заголовка блока транзакций и переданных в оцениватель 211. Это, в свою очередь, приведет к изменению того, какое подмножество из всех потенциальных заголовков блока транзакций считается оценивателем 211 в качестве достоверного и, следовательно, направится далее в механизм 212 принятия решений, а также будет передано в форме отчета 213b об успехе за пределы интегральной схемы 203.
Кроме того, как описано выше, по причине взаимодействия программируемой функции 215 преобразования с некоторыми математическими функциями ОСФ, примерами которых является большинство стандартных современных криптографических функций хеширования, любое изменение (включая одну цифру) во входных данных криптографической функции хеширования вызывает значительное изменение в результирующем хеш-значении, которое нелегко отличимо от шума.
Как отмечено выше, согласно некоторым вариантам осуществления программируемый блок 215 преобразования может быть расположен перед первым блоком хеширования, так что единственной точкой входа ядра криптографической обработки является программируемый блок преобразования. Один из таких примеров представлен на фиг. 3. Рассмотрим фиг. 3, согласно этой приведенной в качестве примера компоновке функция преобразования, воплощенная программируемым блоком 315 преобразования, применяется к заголовкам блока транзакций перед применением какой-либо операции хеширования блоками 308, 310 хеширования. Хотя в приведенном в качестве примера варианте осуществления, представленном на фиг. 3, программируемый блок 315 преобразования расположен в другом местоположении, местоположение указанного блока в тракте данных по-прежнему удовлетворяет условию его расположения перед по меньшей мере одним блоком хеширования (в этом случае он располагается перед первым блоком 308 хеширования и вторым блоком 310 хеширования). Таким образом, вариант осуществления, представленный на фиг. 3, функционально аналогичен варианту осуществления, представленному на фиг. 2, и предоставляет одинаковые существенные характеристики как в отношении свойств получаемых результатов, так и в отношении предоставляемой защиты от обнаружения конфигурационного ключа 314, воплощенного в программируемом блоке 315 преобразования, при помощи аналитических методик, что описано выше.
Согласно некоторым вариантам осуществления одна интегральная схема может включать в себя более одного программируемого блока 215 преобразования. На фиг. 4 представлена такая приведенная в качестве примера интегральная схема 400 с поддержкой преобразования. В этих случаях варианты осуществления могут быть реализованы таким образом, чтобы предоставить более чем одному пользователю возможность программировать полный конфигурационный ключ.
Такие варианты осуществления реализуют процесс, который имеет некоторые характеристики как каскадных шифров, так и схем с несколькими подписями, но отличается от них. В частности, каскадные шифры предусматривают последовательное применение шифров, то есть процессы, которые зашифровывают данные таким образом, что позднее они могут быть расшифрованы, то есть снова стать разборчивыми. Различные варианты осуществления описанного в настоящем документе изобретения, как представлено на фиг. 4, включают в себя аналогичную концепцию каскадирования, то есть последовательного применения, криптографических операций, но без использования шифров любого типа. Точнее, они включают в себя последовательное применение преобразований и ОСФ (таких как криптографические процессы хеширования). ОСФ отличаются от шифров, среди прочего, тем, что их определяющей характеристикой является то, что они будут нерасшифровываемыми, нежели расшифровываемыми. Аналогично, различные варианты осуществления описанного в настоящем документе изобретения, как представлено на фиг. 4, характеризуются тем, что их конечный продукт является строкой символов, представляющих то, что можно рассматривать в качестве нескольких цифровых подписей, поставленных под цифровым документом. Однако определяющей характеристикой цифровых подписей любого типа является то, что они могут быть удостоверены стороной, отличающейся от стороны, имеющей право подписи, или держателем ключа стороны, имеющей право подписи. Это не относится к различным вариантам осуществления описанного в настоящем документе изобретения, которые в этом контексте могут рассматриваться в качестве подписи, которая может быть только проверена стороной, имеющей право подписи. Кроме того, схемы с несколькими подписями, как правило, разработаны таким образом, что каждая подпись отличается от других и может быть индивидуально проверена. Это опять не относится к различным вариантам осуществления описанного в настоящем документе изобретения, которые специально разработаны таким образом, чтобы ни одна из исходных сторон, имеющих право подписи, не могла удостоверить подпись без присутствия другой.
Таким образом, различные варианты осуществления описанного в настоящем документе изобретения отличаются от каскадных шрифтов, схем с несколькими цифровыми подписями и других существующих криптографических технологий. Несмотря на отсутствие общего названия по причине ее новизны, такая система может быть описана как многоключевая каскадная система на основе преобразованной односторонней функции.
Согласно некоторым вариантам осуществления криптографический алгоритм хеширования, воплощенный в качестве цепи по меньшей мере во втором блоке 410 хеширования, может быть проверенным стандартным криптографическим алгоритмом хеширования, включающим в себя, кроме прочего: SHA-2 в его различных реализациях; Keccak/SHA-3 в его различных реализациях; Skein в его различных реализациях; Grøstl в его различных реализациях; JH в его различных реализациях; и другие алгоритмы, или может быть нестандартным алгоритмом хеширования, который, хоть и является нестандартными, по-прежнему представляет собой ОСФ, которая является труднообратимой (при этом термин «трудно» должен пониматься с точки зрения теории полиномиального времени). Согласно таким вариантам осуществления описанное в настоящем документе изобретение, как представлено на фиг. 4, позволяет реализовать безопасную многоключевую каскадную систему на основе преобразованной односторонней функции, как описано ранее.
Согласно некоторым вариантам осуществления первый и второй программируемые блоки 418, 415 преобразования могут быть запрограммированы при помощи первого и второго конфигурационных ключей 417, 414, которые характеризуются длиной 256 бит, тогда как согласно другим вариантам осуществления один или оба ключа могут характеризоваться отличающейся длиной в зависимости от специфики реализации.
Согласно различным вариантам осуществления описанного в настоящем документе изобретения, которые представлены на фиг. 4, первая сторона, которая может именоваться первичным источником, может использовать интерфейс 404 настройки конфигурации для программирования первого конфигурационного ключа 417, который может именоваться первичным ключом, в первый блок 418 преобразования, что может именоваться первичным преобразованием. В отдельности, вторая сторона, которая может именоваться вторичным источником, может использовать интерфейс 404 настройки конфигурации для программирования второго конфигурационного ключа 414, который может именоваться вторичным ключом, во второй программируемый блок 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 с поддержкой преобразования в целом.
Согласно различным вариантам осуществления конфигурация программируемого блока 515 преобразования может добавить всего лишь один логический элемент НЕ в цепь тракта данных интегральной схемы с поддержкой преобразования. Для сравнения, каждый блок хеширования может, в зависимости от особенностей его конструкции, содержать приблизительно 4000 логических элементов. Следовательно, программируемый блок 515 преобразования может добавить всего 128 логических элементов (при условии 256-битного ключа) к криптографическому тракту данных, который ранее содержал приблизительно 8000 логических элементов (при условии процесса двойного хеширования SHA-256). Соответственно, снижение производительности, обусловленное программируемым блоком 515 преобразования согласно различным вариантам осуществления, может быть настолько небольшим, что на практике разница в производительности будет затмеваться другими факторами до такой степени, что очень трудно дать точную количественную оценку в отдельности.
Схема преобразования на основе прямой инверсии битов может также предоставить эффективное средство для отмены всех эффектов программируемой функции 215 преобразования путем простого приравнивания к нулю всех значений в 256-битном конфигурационном ключе. Такой ключ может именоваться нулевым (пустым) ключом. Одним из результатов этого является упрощение процесса настройки интегральной схемы 203 с поддержкой преобразования так, что она работает неотличимо от аналогичной интегральной схемы, которая не содержит программируемую функцию 215 преобразования. Практический результат этого состоит в том, что интегральные схемы, включающие в себя описанное в настоящем документе изобретение, могут быть легко сконфигурированы таким образом, чтобы работать аналогично стандартным ASIC для «майнинга» биткоина, и могут использоваться для «майнинга» биткоинов без особых трудностей (помимо и в дополнение к возможности работать способом, который не может быть воспроизведен ASIC для «майнинга» биткоина, которые не включают в себя идеи описанного в настоящем документе изобретения).
Для удобства рассмотрения фиг. 5B и 6 будут рассмотрены со ссылкой на конфигурацию на основе прямой инверсии битов.
Кодирование программируемого блока преобразования изображено на фиг. 5B. Приведенный в качестве примера программируемый блок 520 преобразования показан кодированным в соответствии с конфигурационным ключом 514. Для обозначения конфигурационного ключа 514, воплощенного в программируемом блоке 520 преобразования, используются темные прямоугольники, чтобы указать на то, что плавкая микроперемычка была повреждена (т.е. заблокирован поток данных через поврежденную плавкую микроперемычку). Например, согласно проиллюстрированному примеру при повреждении плавкой микроперемычки 3a2 входной бит 1a2 проходит через программируемый блок 520 преобразования без изменений. Когда плавкая микроперемычка 2b2 повреждена, входной бит 1b2 инвертируется посредством блока 4b2 инвертирования битов при прохождении через программируемый блок 520 преобразования.
На фиг. 6 представлен приведенный в качестве примера процесс кодировки функции в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения. На этапе 1 программируемый блок 15 преобразования представлен в некодированном состоянии, что аналогично программируемому блоку 515 преобразования, изображенном на фиг. 5A. Как изображено на фигуре, программируемый блок 15 преобразования настроен на 6-битное сообщение. Согласно другим вариантам осуществления программируемый блок 15 преобразования может быть сконфигурирован для входных строк любой длины, такой как длина в 256 битов.
На этапе 2 программируемый блок 15 преобразования характеризуется кодированием, которое воплощает конфигурационный ключ 14, предоставленный пользователем. Как изображено на фигуре, конфигурационный ключ 14 содержит строку «011000». Соответствующие плавкие микроперемычки повреждены в соответствии с конфигурационным ключом 14, что показано темными прямоугольниками в программируемом блоке 15 преобразования. На этапе 3 плавкая блокировочная перемычка 16 может быть повреждена после кодирования программируемого блока 15 преобразования, что защищает конфигурационный 14 ключ от обнаружения. Плавкая блокировочная перемычка 16 может быть расположена в программирующей цепи, при помощи которой программирующий блок 15 преобразования программируется пользователем. Путем повреждения (вывода из строя) плавкой блокировочной перемычки 16 ядро криптографической обработки, включающее в себя программируемый блок 15 преобразования, возвращается к состоянию с одной точкой входа и одной точкой выхода, что обеспечивает тип защиты, подробно рассмотренный выше в отношении фиг. 2.
Согласно различным вариантам осуществления несколько ядер криптографической обработки могут быть включены параллельно внутри одной интегральной схемы. На фиг. 7 представлена блок схема базовой системы 700 криптографической обработки, включающей в себя несколько ядер криптографической обработки. Интегральная схема 703 и соответствующие процессы и компоненты аналогичны схеме, процессам и компонентам, рассмотренным выше в отношении базовой конструкции системы, показанной на фиг. 1. Заголовки блока транзакций, генерируемые формирователем 705 заголовка блока транзакций, могут быть направлены в одно из нескольких параллельных ядер 707, 708, 709, 710 криптографической обработки. Следовательно, множество заголовков блока транзакций могут обрабатываться параллельно, что повышает общую скорость системы.
Если реализовано несколько ядер криптографической обработки, некоторые варианты осуществления могут реализовывать программируемый блок преобразования для предоставления возможности генерировать уникальные блокчейны, как рассмотрено выше. На фиг. 8 представлена приведенная в качестве примера интегральная схема 803 с поддержкой преобразования, характеризующаяся наличием нескольких ядер криптографической обработки, в соответствии с вариантами осуществления раскрытого в настоящем документе изобретения. Интегральная схема 803 с поддержкой преобразования является подобной базовой интегральной схеме 703, рассмотренной со ссылкой на фиг. 7. Программируемый блок 815 преобразования расположен в цепи тракта данных интегральной схемы 803 с поддержкой преобразования. Хотя программируемый блок 815 преобразования изображен расположенным снаружи ядер 807, 808, 809, 810 криптографической обработки, указанный блок фактически находится между двумя блоками хеширования ядер 807, 808, 809, 810 криптографической обработки. Для удобства просмотра программируемый блок 815 преобразования изображен в качестве находящегося снаружи, чтобы проиллюстрировать то, что согласно различным вариантам осуществления один и тот же конфигурационный ключ 814 может быть воплощен в каждом из ядер 807, 808, 809, 810 криптографической обработки. Согласно другим вариантам осуществления каждое ядро криптографической обработки может иметь свою собственную программирующую цепь, как изображено на фиг. 9. Таким образом, один или несколько пользователей 901 могут запрограммировать один или несколько конфигурационных ключей 914a, 914b, 914c, 914d.
Согласно различным вариантам осуществления интегральная схема может включать в себя дополнительные некриптографические процессы. На фиг. 10 представленная приведенная в качестве примера интегральная схема 1006 двойного назначения, реализованная в системе 1000 обработки, в соответствии с некоторыми вариантами осуществления раскрытого в настоящем документе изобретения. Интегральная схема 1006 двойного назначения включает в себя криптографическую часть, включающую в себя ядро 1004 криптографической обработки. Ядро 1004 криптографической обработки может быть сконфигурировано аналогично ядру 207 криптографической обработки, рассмотренному выше в отношении фиг. 2. На фиг. 10 пользователь 1001 может настроить программируемый блок преобразования ядра 1004 криптографической обработки при помощи конфигурационного ключа 1003, введенного через интерфейс 1002 настройки конфигурации.
Часть 1007 общего назначения интегральной схемы 1006 двойного назначения может включать в себя компоненты, разработанные для общих целей, такие как центральный процессор (ЦП) или система на кристалле (СнК), разработанные для осуществления множества дополнительных функций (например, графической обработки, аудио обработки, обработки данных, поступающих по линии связи, и т.п.). Резервные ячейки памяти также могут быть включены в часть 1007 общего назначения согласно некоторым вариантам осуществления, чтобы обеспечить возможность замены вышедших из строя компонентов памяти. Согласно некоторым вариантам осуществления часть 1007 общего назначения может иметь свой собственный интерфейс 1009, при помощи которого пользователь 1008 может настраивать компоненты части 1007 общего назначения. Кроме того, согласно некоторым вариантам осуществления пользователь 1008 может записывать системную информацию 1010 в постоянную память части 1007 общего назначения. Согласно различным вариантам осуществления интерфейс 1002 настройки конфигурации и интерфейс 1009 могут представлять собой один набор электрических цепей, и пользователь 1001 и пользователь 1008 могут быть одним и тем же пользователем. Двухсторонний канал 1005 связи может соединять ядро 1004 криптографической обработки с частью 1007 общего назначения, позволяя ЦП или СнК посылать задания, которые должны выполняться ядром 1004 криптографической обработки, и получать результаты вычислений. Интегральная схема 1006 может взаимодействовать с локальными (внутренними) ресурсами 1011 и внешними ресурсами 1012. Внутренним ресурсом 1011 может быть, кроме прочего, пользователь 1001 или 1008, локальная память или программные приложения, выполняемые локально интегральной схемой 1006 двойного назначения. Внешние ресурсы 1012 могут включать в себя внешнюю память или другие узлы в сети, к которой подключена интегральная схема 1006.
Иногда, интегральная схема 1006 двойного назначения может быть подключена к другим узлам в ненадежной цепи, например, при помощи незащищенного проводного или беспроводного соединения. Согласно некоторым вариантам осуществления часть 1007 общего назначения может быть сконфигурирована для выполнения нескольких процессов, разработанных для безопасной идентификации интегральной схемы, содержащей блок преобразования в соответствии с описанным в настоящем документе изобретением, в ненадежной сети. Генератор 1013 строк может получить доступ к системной информации 1010, записанной в интегральную схему 1006 пользователем 1008, и объединить указанную системную информацию 1010 с информацией о транзакции, такой как транзакционные и системные данные 102b, рассмотренные в отношении фиг. 1. После этого генератор 1013 строк может отправить данные в генератор 1014 сообщений.
Генератор 1014 сообщений может отправить данные в ядро 1004 криптографической обработки по двухстороннему каналу 1005 связи. Таким образом, данные могут быть обработаны для генерирования кодированной преобразованием строки, которую ядро 1004 криптографической обработки может отослать обратно в генератор 1014 сообщений. Затем генератор 1014 сообщений может создать сетевое сообщение 1015. Сетевое сообщение 1015 может включать в себя исходные данные, выдаваемые генератором 1013 строк. Согласно различным вариантам осуществления в сетевое сообщение 1015 может быть включена дополнительная информация, к которой относится, кроме прочего, следующее: системная дата и время; ранее полученные внешние сообщения; или кодированная преобразованием строка; и т.п. Затем сетевое сообщение 1015 отправляется в компонент 1016 ввода-вывода. Согласно различным вариантам осуществления компонент 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, может быть физически интегрирована в один кристалл с другими интегральными схемами, выполняющими другие задачи, такими как микропроцессор, сетевой процессор, система на кристалле и другие. Согласно определенным вариантам осуществления программируемый блок преобразования может воплощать конфигурационный ключ в качестве цепи при помощи однократно программируемых элементов схемы, таких как плавкие микроперемычки, тогда как согласно определенным вариантам осуществления могут быть использованы перезаписываемые элементы схемы, такие как энергонезависимые ОЗУ, и согласно другим вариантам осуществления могут быть использованы другие способы.
Рассмотрим теперь фиг. 13, на которой представлено изображение, демонстрирующее интегральную схему 1303, которая в целом схожа с интегральной схемой на фиг. 12, но включает в себя два отдельных ядра 1305, 1309 хеширования с поддержкой преобразования, каждое из которых запрограммировано различным конфигурационным ключом 1306, 1307. Дополнительно, на изображении, представленном на фиг. 13, также представлены три пользователя 1301, 1302 и 1308, которые имеют доступ к интерфейсу 1304 программирования и настройки конфигурации, первому ядру 1305 хеширования с поддержкой преобразования и второму ядру 1309 хеширования с поддержкой преобразования, соответственно.
Способ работы и общее назначение интегральной схемы, показанной на фиг. 13, аналогичны способу работы и общему назначению интегральной схемы, показанной на фиг. 12, при этом согласно некоторым вариантам осуществления интегральная схема, показанная на фиг. 13, может быть использована для хранения множества ключей, а не одного ключа. Согласно некоторым вариантам осуществления конфигурация, такая как представлена на фиг. 13, может быть использована для поддержки двух отдельных ключей в одном криптографическом валидаторе результатов с поддержкой преобразования. Согласно другим вариантам осуществления могут использоваться более двух конфигурационных ключей 1306, 1307, и согласно некоторым таким вариантам осуществления могут использоваться более двух криптографических ядер с поддержкой преобразования. Согласно описанию к фиг. 12 различные варианты осуществления могут предусматривать различные изменения, в рамках которых различные пользователи имеют доступ к функциональным возможностям, поддерживаемым интегральной схемой; выбор способов программирования конфигурационного ключа в программируемую функцию или функции преобразования; выбор различных типов аппаратных средств, в которые может быть интегрирована описанная схема; и т. п.
В этом документе явная отсылка была сделана только к определенным криптографическим алгоритмам хеширования, в частности ко второй итерации семейства безопасных алгоритмов хеширования (SHA-2), а именно 256-битной версии. Однако описанная в настоящем документе технология является полностью применимой в случае других криптографических алгоритмов хеширования, включая, кроме прочего: SHA-2 в его различных реализациях; Keccak/SHA-3 в его различных реализациях; Skein в его различных реализациях; Grøstl в его различных реализациях; JH в его различных реализациях; и т. п.
В контексте настоящего документа термин «набор» может относиться к любому множеству элементов, будь то конечное или бесконечное множество. Термин «поднабор» может относиться к любому множеству элементов, где элементы взяты из исходного набора; при этом поднабор может представлять собой весь исходный набор. Термин «истинный поднабор» относится к поднабору, содержащему меньшее количество элементов, чем исходный набор. Термин «последовательность» может относиться к упорядоченному набору или поднабору. Термины «менее», «менее или равно», «более» и «более или равно» могут использоваться в настоящем документе для описания отношений между различными объектами или членами упорядоченных наборов или последовательностей; причем эти термины следует понимать в качестве относящихся к любому соответствующему отношению упорядочения, применимому к упорядочиваемым объектам.
Термин «инструмент» может быть использован для отсылки к любому устройству, сконфигурированному для выполнения упомянутой функции. Например, инструменты могут включать в себя группу из одного или нескольких компонентов, а также могут состоять из аппаратного обеспечения, программного обеспечения или их сочетания. Таким образом, например, инструмент может быть группой из одного или нескольких программных компонентов, аппаратных компонентов, программно/аппаратных компонентов или любого их сочетания или перестановки. В качестве другого примера инструмент может представлять собой вычислительное устройство или другое устройство, на котором выполняется программное обеспечение или в котором реализовано аппаратное обеспечение.
В контексте настоящего документа термин «компонент» может описывать заданную функциональную единицу, которая может быть выполнена в соответствии с одним или несколькими вариантами осуществления раскрытого в настоящем документе изобретения. В контексте настоящего документа компонент может быть реализован с использованием любой формы аппаратного обеспечения, программного обеспечения или их сочетания. Например, один или несколько процессоров, контроллеров, интегральных схем специального назначения (ASIC), программируемых логических матриц (PLA), программируемых компонентов логики массива (PLA), сложных программируемых логических ИС (CPLD), программируемых пользователем вентильных матриц (FPGA), логических элементов, программных процедур или других механизмов могут быть реализованы, чтобы образовать компонент. При реализации различные компоненты, описанные в настоящем документе, могут быть реализованы в качестве дискретных компонентов, или описанные функциональные возможности и признаки могут быть распределены частично или полностью среди одного или нескольких компонентов. Иначе говоря, как должно быть очевидно специалисту в данной области техники после прочтения настоящего описания, различные признаки и функции, описанные в настоящем документе, могут быть реализованы в любом заданном применении и могут быть реализованы в одном или нескольких отдельных или совместно используемых компонентах в сочетаниях и перестановках. Несмотря на то, что различные признаки или элементы функциональных возможностей могут быть отдельно описаны или заявлены в качестве отдельных компонентов, специалисту в данной области техники будет понятно, что эти признаки и функциональные возможности могут быть разделены между одним или несколькими распространенными программными и аппаратными элементами, причем из этого не следует, что для реализации таких признаков или функциональных возможностей используются отдельные аппаратные или программные компоненты.
Когда компонент или компоненты настоящего изобретения реализуются в целом или частично при помощи программного обеспечения, согласно одному варианту осуществления эти программные элементы могут быть реализованы для работы с вычислительным компонентом или компонентом обработки данных, способным выполнять функциональные возможности, описанные в отношении них. Один такой приведенный в качестве примера вычислительный компонент показан на фиг. 11. Различные варианты осуществления описаны на основании этого приведенного в качестве примера вычислительного компонента 1100. После прочтения этого описания специалисту в данной области техники станет очевидным, как реализовать настоящее изобретение при помощи других вычислительных компонентов или архитектур.
Рассмотрим теперь фиг. 11, вычислительный компонент 1100 может предоставлять, например, вычислительные возможности или возможности обработки данных, присутствующие в настольных компьютерах, компьютерах типа «лаптоп» и компьютерах типа «ноутбук»; портативных вычислительных устройствах (ПЦА, интеллектуальных телефонах, сотовых телефонах, КПК и т.п.); мейнфреймах, суперкомпьютерах, рабочих станция или серверах; или любом другом типе вычислительных устройств специального или общего назначения, которые могут быть желательными или подходящими для данного применения или среды. Вычислительный компонент 1100 может также предоставлять вычислительные возможности, воплощенные или иным образом доступные для данного устройства. Например, вычислительный компонент может присутствовать в других электронных устройствах, таких как, например, цифровые камеры, навигационные системы, сотовые телефоны, портативные вычислительные устройства, модемы, роутеры, веб-телефоны, терминалы и другие электронные устройства, которые могут характеризоваться некоторой формой возможности обработки данных.
Вычислительный компонент 1100 может включать в себя, например, один или несколько процессоров, контроллеров, компонентов системы управления или другие устройства обработки данных, такие как процессор 1104. Процессор 1104 может быть реализован при помощи механизма обработки данных общего назначения или специального назначения, такого как, например, микропроцессор, контроллер или другая логика управления. Согласно показанному примеру процессор 1104 соединен с шиной 1102, при этом любая среда передачи данных может быть использована для обеспечения взаимодействия с другими составляющими вычислительного компонента 1100 или обмена данными с внешней средой.
Вычислительный компонент 1100 также может включать в себя один или несколько компонентов памяти, которые именуются в настоящем документе основной памятью 1108. Например, предпочтительно оперативная память (ОЗУ) или другая динамическая память может быть использована для хранения информации и инструкций, предназначенных для выполнения процессором 1104. Основная память 1108 также может быть использована для хранения временных переменных или другой промежуточной информации во время выполнения инструкций, предназначенных для выполнения процессором 1104. Вычислительный компонент 1100 также может включать в себя постоянную память (ПЗУ) или другое статическое запоминающее устройство, соединенное с шиной 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 памяти и интерфейсы 1120, которые позволяют передавать программное обеспечение и данные из блока 1122 памяти в вычислительный компонент 1100.
Вычислительный компонент 1100 также может включать в себя интерфейс 1124 передачи данных. Интерфейс 1124 передачи данных может быть использован для обеспечения передачи программного обеспечения и данных между вычислительным компонентом 1100 и внешними устройствами. Примеры интерфейса 1124 передачи данных могут включать в себя модем или программный модем, сетевой интерфейс (такой как интерфейс Ethernet, плата сетевого интерфейса, WiMedia, IEEE 802.XX или другой интерфейс), порт связи (такой как, например, порт-USB, ИК-порт, порт RS232, интерфейс Bluetooth® или другой порт), или другие интерфейсы передачи данных. Программное обеспечение и данные, переданные через интерфейс 1124 передачи данных, могут обычно передаваться сигналами, которые могут быть электронными, электромагнитными (включая оптические) или другими сигналами, которыми может обмениваться данный интерфейс 1124 передачи данных. Эти сигналы могут быть направлены в интерфейс 1124 передачи данных через канал 1128. Этот канал 1128 может нести сигналы и может быть реализован при помощи проводной или беспроводной среды передачи данных. Некоторые примеры канала могут включать в себя телефонную линию, сотовый канал связи, радиочастотный канал связи, оптический канал связи, сетевой интерфейс, локальную или глобальную сеть и другие проводные или беспроводные каналы обмена данными.
В этом документе термины «носитель компьютерных программ» и «используемый компьютером носитель» используют, как правило, для обозначения носителей, таких как, например, память 1108, блок 1120 памяти, носитель 1114 и канал 1128. Эти и другие различные формы носителей компьютерных программ или используемых компьютером носителей могут использоваться для переноса одной или нескольких последовательностей из одной или нескольких инструкций в устройство обработки данных для исполнения. Такие инструкции, реализованные на носителе, обычно именуют «компьютерным программным кодом» или «компьютерным программным продуктом» (который может быть сформированы в виде компьютерных программ или других структур). При выполнении такие инструкции могут позволить вычислительному компоненту 1100 исполнять признаки или функции настоящего изобретения, как рассмотрено в настоящем документе.
Хотя различные варианты осуществления настоящего изобретения были описаны выше, следует понимать, что они были представлены лишь в качестве примера, а не для какого-либо ограничения. Аналогично, на различных схемах может быть изображена представленная в качестве примера архитектурная или другая конфигурация настоящего изобретения, что выполнено с целью облегчения понимания признаков и функциональных возможностей, которые могут быть включены в настоящее изобретения. Настоящее изобретение не ограничивается приведенными в качестве примера вариантами архитектуры или конфигурации, при этом требуемые признаки могут быть реализованы при помощи множества различных вариантов архитектуры и конфигурации. Фактически, специалисту в данной области техники будет очевидно то, каким образом альтернативные функциональные, логические или физические разделения и конфигурации могут быть осуществлены для реализации требуемых признаков раскрытого в настоящем документе изобретения. Кроме того, множество различных названий составляющих компонентов, отличающихся от названий, использованных в настоящем документе, могут быть применены к различным вариантам разделения. Дополнительно, что касается схем последовательности операций, функционального описания и пунктов формулы изобретения на способ, порядок, в котором стадии представлены в настоящем документе, не требует, чтобы различные варианты осуществления были реализованы для выполнения указанных функций в таком же порядке, если иное не следует из контекста.
Хотя настоящее изобретение описано выше с точки зрения различных иллюстративных вариантов осуществления и реализаций, следует отметить, что различные признаки, аспекты и функциональные возможности, описанные в одном или нескольких индивидуальных вариантах осуществления, не ограничены в своем применении конкретным вариантом осуществления, при помощи которого они описаны, при этом они могут быть применены, отдельно или в различных сочетаниях, к одному или нескольким другим вариантам осуществления настоящего изобретения, не зависимо от того, описаны или нет такие варианты осуществления, и, представлены или нет такие признаки в качестве части описанного варианта осуществления. Таким образом, сущность и объем раскрытого в настоящем документе изобретения не должны ограничиваться любыми из описанных выше иллюстративных вариантов осуществления.
Термины и фразы, используемые в этом документе, а также их вариации, если прямо не указано иное, должны истолковываться как открытые, а не как ограничивающие. В качестве примеров приведенного выше рассмотрим следующее: термин «включающий в себя» следует истолковывать в качестве означающего «включающий, кроме прочего» или аналогичным образом; термин «иллюстративный (приведенный в качестве примера)» используется для приведения иллюстративных экземпляров рассматриваемого предмета, а не для его ограничения или исчерпывающего описания; формы единственного числа следует истолковывать в качестве означающих «по меньшей мере один», «один или несколько» или аналогичным образом; прилагательные, такие как «обычный», «традиционный», «нормальный», «стандартный», «известный», и термины со сходным значением не должны истолковываться в качестве ограничивающих предмет, описанный для определенного периода времени, или предмет, доступный в определенный период времени, а должны истолковываться для охвата обычных, традиционных, нормальных или стандартных технологий, которые могут быть доступны или известны сейчас или в будущем. Аналогично, если в настоящем документе приводятся отсылки к технологиям, которые будут очевидны или известны специалисту в данной области техники, такие технологии охватывают технологии, очевидные или известные специалисту в данной области техники сейчас или в будущем.
Наличие в некоторых примерах расширяющих слов и фраз, таких как «один или несколько», «по меньшей мере», «кроме прочего» или другие подобные фразы, не следует понимать в качестве означающих, что более узкий случай должен иметь место или необходим в тех случаях, когда такие расширяющие слова могут отсутствовать. Использование термина «компонент» не означает, что все компоненты или функциональные возможности, описанные или заявленные в качестве части определенного компонента, реализованы в общем пакете. Фактически, любые или все различные компоненты, входящие в состав определенного компонента, будь то логика управления или другие компоненты, могут быть объединены в один пакет или располагаться отдельно, а также могут быть дополнительно распределены в нескольких группах или пакетах, или среди нескольких мест.
Кроме того, различные варианты осуществления, изложенные в настоящем документе, описаны со ссылками на иллюстративные блок-схемы, графики последовательности операций и другие иллюстрации. Как станет понятно специалисту в данной области техники после прочтения этого документа, проиллюстрированные варианты осуществления и их различные альтернативы могут быть реализованы без ограничения представленными примерами. Например, блок-схемы и их сопроводительное описание не должны истолковываться в качестве необходимости использования лишь конкретной архитектуры или конфигурации.

Claims (75)

1. Криптографическая интегральная схема, содержащая:
программируемый блок преобразования, содержащий электронную цепь, встроенную в цепь тракта данных криптографической интегральной схемы, и программируемый после изготовления криптографической интегральной схемы для осуществления операции преобразования входных данных, которые являются заголовком блока блокчейн-транзакций, полученных от цепи тракта данных перед программируемым блоком преобразования, а также для передачи преобразованных входных данных в цепь тракта данных после программируемого блока преобразования;
программирующую схему, соединяющую с возможностью обмена данными программируемый блок преобразования и интерфейс настройки конфигурации, для программирования программируемого блока преобразования при помощи интерфейса настройки конфигурации в соответствии с вводом пользователя таким образом, чтобы программируемый блок преобразования был сконфигурирован в соответствии с конфигурационным ключом;
блок хеширования, сконфигурированный для применения алгоритма хеширования к преобразованным входным данным для выдачи хешированных преобразованных входных данных, при этом алгоритм хеширования определен в соответствии с криптографическим стандартом, указанным протоколом доказательства выполнения работы; и
дополнительную цепь, которая обрабатывает хешированные преобразованные входные данные для получения по меньшей мере одного потенциального заголовка блока блокчейн-транзакций, который при проверке выборочно авторизует по меньшей мере одно из создания ортогонального блокчейна и проверки блокчейн-транзакций.
2. Криптографическая интегральная схема по п. 1, в которой конфигурационный ключ является программируемым пользователем, и программируемый блок преобразования сконфигурирован в качестве цепи тракта данных, способной функционировать по меньшей мере с такой же скоростью, как и другие цепи вдоль тракта данных.
3. Криптографическая интегральная схема по п. 2, при этом криптографическая интегральная схема реализована в криптографической системе доказательства выполнения работы, и криптографическая система доказательства выполнения работы, в которой реализована криптографическая интегральная схема, является блокчейн-системой.
4. Криптографическая интегральная схема по п. 3, дополнительно содержащая синтаксический анализатор, сконфигурированный для анализа множества транзакционных данных, полученных от блокчейн-системы, в которой реализована криптографическая интегральная схема, чтобы создать по меньшей мере один потенциальный заголовок блока транзакций.
5. Криптографическая интегральная схема по п. 4, дополнительно содержащая оцениватель для проверки достоверности или недостоверности криптографического хеш-значения, вычисленного блоком хеширования по меньшей мере для одного потенциального заголовка блока транзакций, в соответствии с предварительно установленными критериями достоверности.
6. Криптографическая интегральная схема по п. 3, дополнительно содержащая механизм, посредством которого по меньшей мере один конфигурационный ключ, введенный пользователем, воплощается в качестве цепи по меньшей мере в одной независимой схеме криптографической интегральной схемы.
7. Криптографическая интегральная схема по п. 6, дополнительно содержащая интерфейс, сконфигурированный для приема данных, введенных пользователем, причем эти данные передаются по меньшей мере в одну криптографическую интегральную схему, содержащую блоки цепи, воплощающей по меньшей мере один ранее введенный конфигурационный ключ, и интерфейс сконфигурирован для возврата по меньшей мере одного рассчитанного конечного значения, вычисленного по меньшей мере одной криптографической схемой, пользователю.
8. Криптографическая интегральная схема по п. 1, в которой цепь тракта данных дополнительно содержит первый блок хеширования, сконфигурированный для применения первого алгоритма хеширования, определенного в соответствии с криптографическим стандартом, указанным протоколом доказательства выполнения работы, и второй блок хеширования, сконфигурированный для последующего применения второго алгоритма хеширования, определенного в соответствии с криптографическим стандартом, указанным протоколом доказательства выполнения работы.
9. Криптографическая интегральная схема по п. 8, в которой программируемый блок преобразования расположен перед первым блоком хеширования таким образом, что выходные данные из программируемого блока преобразования являются входными данными в первый блок хеширования.
10. Криптографическая интегральная схема по п. 8, в которой программируемый блок преобразования расположен между первым и вторым блоками хеширования таким образом, что выходные данные первого блока хеширования являются входными данными в программируемый блок преобразования, а выходные данные из программируемого блока преобразования являются входными данными во второй блок хеширования.
11. Криптографическая интегральная схема по п. 8, дополнительно содержащая второй программируемый блок преобразования.
12. Криптографическая интегральная схема по п. 11, в которой первый программируемый блок преобразования расположен перед первым блоком хеширования, так что выходные данные первого программируемого блока преобразования являются входными данными в первый блок хеширования, и второй программируемый блок преобразования расположен между первым и вторым блоками хеширования, так что выходные данные первого блока хеширования являются входными данными во второй программируемый блок преобразования, и выходные данные второго программируемого блока преобразования являются входными данными во второй блок хеширования.
13. Криптографическая интегральная схема по п. 11, в которой первый и второй программируемые блоки преобразования расположены перед первым блоком хеширования.
14. Криптографическая интегральная схема по п. 11, в которой первый и второй программируемые блоки преобразования расположены после первого блока хеширования, но перед вторым блоком хеширования.
15. Криптографическая интегральная схема по п. 11, в которой каждый из первого и второго программируемых блоков преобразования характеризуется наличием отдельной программирующей схемы.
16. Криптографическая интегральная схема по п. 15, в которой программирующая схема каждого программируемого блока преобразования сконфигурирована таким образом, чтобы быть легко доступной как для изготовителя криптографической интегральной схемы во время изготовления, так и для пользователя после изготовления.
17. Криптографическая интегральная схема по п. 15, в которой программный интерфейс первого программируемого блока преобразования сконфигурирован таким образом, чтобы быть легко доступным для изготовителя криптографической интегральной схемы во время изготовления, но не быть легко доступным для пользователей в готовом изделии, и программный интерфейс второго программируемого блока преобразования сконфигурирован таким образом, чтобы быть легко доступным как для изготовителя криптографической интегральной схемы во время изготовления, так и для пользователей в готовом изделии.
18. Криптографическая интегральная схема по п. 15, в которой программный интерфейс второго программируемого блока преобразования сконфигурирован таким образом, чтобы быть легко доступным для изготовителя криптографической интегральной схемы во время изготовления, но не быть легко доступным для пользователей в готовом изделии, и программный интерфейс первого программируемого блока преобразования сконфигурирован таким образом, чтобы быть легко доступным как для изготовителя криптографической интегральной схемы во время изготовления, так и для пользователей в готовом изделии.
19. Криптографическая интегральная схема по п. 1, в которой цепь тракта данных содержит несколько криптографических ядер, причем каждое криптографическое ядро из нескольких криптографических ядер содержит первый блок хеширования.
20. Криптографическая интегральная схема по п. 19, в которой каждое криптографическое ядро из нескольких криптографических ядер содержит программируемый блок преобразования.
21. Криптографическая интегральная схема по п. 20, в которой программируемый блок преобразования расположен перед первым блоком хеширования таким образом, что выходные данные программируемого блока преобразования являются входными данными в первый блок хеширования.
22. Криптографическая интегральная схема по п. 20, в которой каждое криптографическое ядро из нескольких криптографических ядер содержит второй блок хеширования, причем программируемый блок преобразования расположен после первого блока хеширования, так что выходные данные из первого блока хеширования являются входными данными в программируемый блок преобразования, и перед вторым блоком хеширования, так что выходные данные программируемого блока преобразования являются входными данными во второй блок хеширования.
23. Криптографическая интегральная схема по п. 20, в которой один программируемый блок преобразования коллективно используется каждым криптографическим ядром из нескольких криптографических ядер.
24. Криптографическая интегральная схема по п. 23, в которой программируемый блок преобразования расположен перед первым блоком хеширования таким образом, что выходные данные из программируемого блока преобразования являются входными данными в первый блок хеширования.
25. Криптографическая интегральная схема по п. 23, в которой каждое криптографическое ядро из нескольких криптографических ядер содержит второй блок хеширования, причем программируемый блок преобразования расположен после первого блока хеширования, так что выходные данные из первого блока хеширования являются входными данными в программируемый блок преобразования, и перед вторым блоком хеширования, так что выходные данные программируемого блока преобразования являются входными данными во второй блок хеширования.
26. Криптографическая интегральная схема по п. 23, в которой один программируемый блок преобразования, коллективно используемый каждым криптографическим ядром из нескольких криптографических ядер, программируется один раз в соответствии с конфигурационным ключом, введенным пользователем.
27. Криптографическая интегральная схема по п. 23, в которой один программируемый блок преобразования, коллективно используемый каждым криптографическим ядром из нескольких криптографических ядер, программируется в соответствии с несколькими частичными конфигурационными ключами, поставляемыми в различное время по меньшей мере одним пользователем.
28. Криптографическая интегральная схема по п. 27, в которой несколько конфигурационных ключей совместно содержат один конфигурационный ключ, так что каждый программируемый блок преобразования программируется в соответствии с одним многокомпонентным конфигурационным ключом.
29. Криптографическая интегральная схема по п. 1, в которой цепь тракта данных содержит несколько криптографических ядер, причем каждое криптографическое ядро из нескольких криптографических ядер содержит два блока хеширования, соединенных последовательно, так что выходные данные из первого блока хеширования поступают в качестве входных данных во второй
хеширования либо прямо, либо после прохождения через дополнительные блоки цепи.
30. Криптографическая интегральная схема по п. 29, в которой программируемый блок преобразования расположен перед первым блоком хеширования, так что выходные данные из программируемого блока преобразования являются входными данными в первый блок хеширования, и второй программируемый блок преобразования расположен перед вторым блоком хеширования, так что выходные данные из первого блока хеширования являются входными данными во второй программируемый блок преобразования, и выходные данные из второго программируемого блока преобразования являются входными данными во второй блок хеширования.
31. Криптографическая интегральная схема по п. 29, в которой оба программируемых блока преобразования расположены перед первым блоком хеширования, так что объединенные выходные данные из обоих программируемых блоков преобразования являются входными данными в первый блок хеширования.
32. Криптографическая интегральная схема по п. 29, в которой оба программируемых блока преобразования расположены после первого блока хеширования, так что выходные данные из первого блока хеширования являются входными данными в программируемые блоки преобразования, и перед вторым блоком хеширования, так что объединенные выходные данные из обоих программируемых блоков преобразования являются входными данными во второй блок хеширования.
33. Криптографическая интегральная схема по п. 29, в которой программируемый блок преобразования коллективно используется каждым криптографическим ядром из нескольких криптографических ядер, и второй программируемый блок преобразования коллективно используется каждым криптографическим ядром из нескольких криптографических ядер.
34. Криптографическая интегральная схема по п. 33, в которой каждый из двух программируемых блоков преобразования, коллективно используемых каждым криптографическим ядром из нескольких криптографических ядер, программируется один раз в соответствии с конфигурационным ключом, введенным пользователем.
35. Криптографическая интегральная схема по п. 33, в которой по меньшей мере один из двух программируемых блоков преобразования, коллективно используемых каждым криптографическим ядром из нескольких криптографических ядер, программируется в соответствии с несколькими частичными конфигурационными ключами, поставляемыми в одно или различное время по меньшей мере одним пользователем.
36. Криптографическая интегральная схема по п. 35, в которой несколько конфигурационных ключей совместно содержат один конфигурационный ключ, так что каждый программируемый блок преобразования программируется в соответствии с одним многокомпонентным конфигурационным ключом.
37. Криптографическая интегральная схема по п. 33, в которой каждый из первого и второго программируемых блоков преобразования характеризуются наличием отдельной программирующей схемы.
38. Криптографическая интегральная схема по п. 37, в которой программный интерфейс обоих программируемых блоков преобразования сконфигурирован таким образом, чтобы быть легко доступным как для изготовителя интегральной схемы во время изготовления, так и для пользователей в готовом изделии.
39. Криптографическая интегральная схема по п. 37, в которой программный интерфейс первого программируемого блока преобразования сконфигурирован таким образом, чтобы быть легко доступным для изготовителя криптографической интегральной схемы во время изготовления, но не быть легко доступным для пользователей в готовом изделии, и программный интерфейс второго программируемого блока преобразования сконфигурирован таким образом, чтобы быть легко доступным как для изготовителя криптографической интегральной схемы во время изготовления, так и для пользователей в готовом изделии.
40. Криптографическая интегральная схема по п. 37, в которой программный интерфейс второго программируемого блока преобразования сконфигурирован таким образом, чтобы быть легко доступным для изготовителя криптографической интегральной схемы во время изготовления, но не быть легко доступным для пользователей в готовом изделии, и программный интерфейс первого программируемого блока преобразования сконфигурирован таким образом, чтобы быть легко доступным как для изготовителя криптографической интегральной схемы во время изготовления, так и для пользователей в готовом изделии.
41. Криптографическая интегральная схема по п. 2, дополнительно содержащая постоянный и неизменный механизм для воплощения конфигурационного ключа в качестве физической цепи на тракте данных.
42. Криптографическая интегральная схема по п. 41, причем указанный механизм содержит однократно программируемые (OTP) компоненты цепи, включающие в себя ввод, сконфигурированный для приема ключа, введенного пользователем.
43. Криптографическая интегральная схема по п. 42, в которой однократно программируемые компоненты цепи содержат несколько плавких микроперемычек.
44. Криптографическая интегральная схема по п. 2, дополнительно содержащая непостоянный механизм для воплощения конфигурационного ключа в качестве физической цепи на тракте данных.
45. Криптографическая интегральная схема по п. 44, в которой механизм содержит энергонезависимую постоянную память.
46. Криптографическая интегральная схема по п. 45, в которой энергонезависимая постоянная память включает в себя флэш-память.
47. Криптографическая интегральная схема по п. 2, в которой программируемый блок преобразования сконфигурирован для реализации схемы прямой инверсии битов.
48. Криптографическая интегральная схема по п. 47, в которой используемая схема прямой инверсии битов сопоставляет значение 0 или 1, присутствующих в любом конкретном положении в конфигурационном ключе, введенном пользователем, с применением или неприменением логического элемента НЕ к битам, принятым в соответствующем положении функцией преобразования.
49. Криптографическая интегральная схема по п. 2, в которой программируемый блок преобразования сконфигурирован для реализации схемы перестановки битов.
50. Криптографическая интегральная схема по п. 49, в которой используемая схема перестановки битов сопоставляет значение каждого второго из 0 или 1, присутствующих в любом конкретном положении в конфигурационном ключе, введенном пользователем, с перестановкой или неперестановкой одного или более соседних битов данных программируемым блоком преобразования.
51. Криптографическая интегральная схема по п. 2, дополнительно содержащая механизм, в котором нулевой ключ конфигурирует схему таким образом, чтобы позволить данным проходить без применения какого-либо преобразования.
52. Криптографическая интегральная схема по п. 3, дополнительно содержащая одно или более из следующего:
компоненты обработки графических данных, аудио компоненты и компоненты обработки сигналов связи.
53. Криптографическая интегральная схема по п. 3, при этом блокчейн-система содержит одно из следующего:
частная блокчейн-система, публичная блокчейн-система, правительственная блокчейн-система, корпоративная блокчейн-система, система управления правами на электронные продукты и система токенов безопасности.
54. Криптографическая интегральная схема по п. 2, при этом указанная криптографическая интегральная схема разработана и изготовлена для реализации безопасного алгоритма хеширования.
55. Криптографическая интегральная схема по п. 54, в которой безопасный алгоритм хеширования является 256-битным алгоритмом.
56. Криптографическая интегральная схема по п. 1, дополнительно содержащая плавкую блокировочную перемычку, расположенную внутри программирующей схемы, причем программируемый блок преобразования является недоступным, когда блокировочная перемычка повреждена.
57. Криптографический способ, предусматривающий:
программирование программируемого блока преобразования, причем программируемый блок преобразования содержит электронную цепь, встроенную в цепь тракта данных криптографической интегральной схемы, и программируемый блок преобразования выполнен с возможностью программирования после изготовления криптографической интегральной схемы, при помощи интерфейса настройки конфигурации в соответствии с вводом пользователя таким образом, чтобы программируемый блок преобразования был сконфигурирован в соответствии с конфигурационным ключом;
осуществление операции преобразования полученных входных данных, которые поступили от цепи тракта данных перед программируемым блоком преобразования и которые являются заголовком блока блокчейн-транзакций, при помощи запрограммированного программируемого блока преобразования для получения преобразованных входных данных;
передачу преобразованных входных данных в цепь тракта данных после программируемого блока преобразования;
применение блоком хеширования алгоритма хеширования к преобразованным входным данным для выдачи хешированных преобразованных входных данных, причем алгоритм хеширования определен в соответствии с криптографическим стандартом, указанным протоколом доказательства выполнения работы; и
обработку хешированных преобразованных входных данных для получения по меньшей мере одного потенциального заголовка блока блокчейн-транзакций, который при проверке выборочно авторизует по меньшей мере одно из создания ортогонального блокчейна и проверки блокчейн-транзакций.
58. Криптографическая система, содержащая:
средства для программирования программируемого блока преобразования, причем программируемый блок преобразования содержит электронную цепь, встроенную в цепь тракта данных криптографической интегральной схемы, и программируемый блок преобразования выполнен с возможностью программирования после изготовления криптографической интегральной схемы, при помощи интерфейса настройки конфигурации в соответствии с вводом пользователя таким образом, чтобы программируемый блок преобразования был сконфигурирован в соответствии с конфигурационным ключом;
средства для осуществления операции преобразования полученных входных данных, которые поступили от цепи тракта данных перед программируемым блоком преобразования и которые являются заголовком блока блокчейн-транзакций, при помощи запрограммированного программируемого блока преобразования для получения преобразованных входных данных;
средства для передачи преобразованных входных данных в цепь тракта данных после программируемого блока преобразования;
средства для применения блоком хеширования алгоритма хеширования к преобразованным входным данным для выдачи хешированных преобразованных входных данных, причем алгоритм хеширования определен в соответствии с криптографическим стандартом, указанным протоколом доказательства выполнения работы; и
средства для обработки преобразованных входных данных для получения по меньшей мере одного потенциального заголовка блока блокчейн-транзакций, который при проверке выборочно авторизует по меньшей мере одно из создания ортогонального блокчейна и проверки блокчейн-транзакций.
RU2018128197A 2016-01-15 2017-01-13 Криптографическая интегральная схема специального назначения, включающая в себя закодированную в цепи функцию преобразования RU2708358C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/997,113 US10262164B2 (en) 2016-01-15 2016-01-15 Cryptographic ASIC including circuitry-encoded transformation function
US14/997,113 2016-01-15
PCT/US2017/013377 WO2017123902A1 (en) 2016-01-15 2017-01-13 Cryptographic asic including circuitry-encoded transformation function

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2019136310A Division RU2746014C2 (ru) 2016-01-15 2017-01-13 Криптографическая интегральная схема специального назначения, включающая в себя закодированную в цепи функцию преобразования

Publications (1)

Publication Number Publication Date
RU2708358C1 true RU2708358C1 (ru) 2019-12-05

Family

ID=59311516

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2018128197A RU2708358C1 (ru) 2016-01-15 2017-01-13 Криптографическая интегральная схема специального назначения, включающая в себя закодированную в цепи функцию преобразования
RU2019136310A RU2746014C2 (ru) 2016-01-15 2017-01-13 Криптографическая интегральная схема специального назначения, включающая в себя закодированную в цепи функцию преобразования

Family Applications After (1)

Application Number Title Priority Date Filing Date
RU2019136310A RU2746014C2 (ru) 2016-01-15 2017-01-13 Криптографическая интегральная схема специального назначения, включающая в себя закодированную в цепи функцию преобразования

Country Status (6)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU224749U1 (ru) * 2023-07-11 2024-04-02 Открытое Акционерное Общество "Российские Железные Дороги" Высокоскоростное средство криптографической защиты информации

Families Citing this family (43)

* 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
US11032286B1 (en) 2015-12-02 2021-06-08 United Services Automobile Association (Usaa) Block chain authentication systems and methods
US10262164B2 (en) 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
US10454677B1 (en) 2016-02-24 2019-10-22 United Services Automobile Associate (USAA) Cryptographic key generation from biometric data
US10680833B2 (en) * 2016-02-26 2020-06-09 Apple Inc. Obtaining and using time information on a secure element (SE)
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)
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
WO2018215947A1 (en) * 2017-05-26 2018-11-29 nChain Holdings Limited Script-based blockchain interaction
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
EP3746879B1 (en) * 2018-01-29 2023-06-21 Shi, Alexander Secure blockchain integrated circuit
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
US10256974B1 (en) * 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
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 李建欣 一种数字积分服务系统、方法和电子装置
US10432405B1 (en) 2018-09-05 2019-10-01 Accelor Ltd. Systems and methods for accelerating transaction verification by performing cryptographic computing tasks in parallel
US10404473B1 (en) * 2018-09-05 2019-09-03 Accelor Ltd. Systems and methods for processing transaction verification operations in decentralized applications
CN109117607B (zh) * 2018-09-06 2021-01-26 杭州安恒信息技术股份有限公司 一种基于私有链的软件许可管理方法和系统
KR20200034020A (ko) 2018-09-12 2020-03-31 삼성전자주식회사 전자 장치 및 그의 제어 방법
US20200082405A1 (en) * 2018-09-12 2020-03-12 NEC Laboratories Europe GmbH Method and system for client support in a blockchain network
US10681083B2 (en) * 2018-12-29 2020-06-09 Alibaba Group Holding Limited System and method for detecting replay attack
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
US11283634B2 (en) 2018-12-29 2022-03-22 Advanced New Technologies Co., Ltd. System and method for detecting replay attack
KR20210116552A (ko) 2019-01-15 2021-09-27 블록체인 에이직스 인크. 블록체인 헤더 검증에서의 동적 변환
US11296887B2 (en) * 2019-08-02 2022-04-05 Unisys Corporation Blockchain mechanism for safety-critical systems
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11443380B2 (en) * 2020-02-20 2022-09-13 Mark Cummings System and method of providing and recording personalized context-specific advice in the form of an artificial intelligence view of a hierarchical portfolio
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132005B2 (en) * 2005-07-07 2012-03-06 Nokia Corporation Establishment of a trusted relationship between unknown communication parties
US8347096B2 (en) * 2009-07-10 2013-01-01 Vasco Data Security, Inc. Authentication token with incremental key establishment capacity
US8402241B2 (en) * 2007-10-02 2013-03-19 Advanced Micro Devices, Inc. Method and apparatus to control access to device enable features
RU2013141238A (ru) * 2013-09-09 2015-03-20 Общество с ограниченной ответственностью "СмартТелеМакс" Устройство защиты от физических атак для сетевых систем
US20150294308A1 (en) * 2014-04-14 2015-10-15 21, Inc. Digital currency mining circuitry

Family Cites Families (190)

* 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 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US6307936B1 (en) 1997-09-16 2001-10-23 Safenet, Inc. Cryptographic key management scheme
US6708273B1 (en) 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6704871B1 (en) 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
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
US7177421B2 (en) 2000-04-13 2007-02-13 Broadcom Corporation Authentication engine architecture and method
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
US7191341B2 (en) 2002-12-18 2007-03-13 Broadcom Corporation Methods and apparatus for ordering data in a cryptography accelerator
KR100825241B1 (ko) * 2003-05-02 2008-04-25 기리테크 아크티에 셀스카브 이동식 지능형 데이터 캐리어를 통한 동적 데이터그램스위치, 및 온-디맨드 인증 및 암호화 방식에 의해가능해지는 퍼베이시브 사용자 중심 네트워크 보안
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
US7606362B1 (en) 2005-01-25 2009-10-20 Altera Corporation FPGA configuration bitstream encryption using modified key
US7725738B1 (en) 2005-01-25 2010-05-25 Altera Corporation FPGA configuration bitstream protection using multiple keys
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 西南交通大学 基于复合非线性数字滤波器的混沌散列构造方法
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
WO2007113040A1 (en) 2006-03-31 2007-10-11 International Business Machines Corporation Method and systems 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
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
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
US8782396B2 (en) 2007-09-19 2014-07-15 Verayo, Inc. Authentication with physical unclonable functions
WO2009057641A1 (ja) 2007-10-30 2009-05-07 Kyocera Corporation 情報処理装置
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
TWI498827B (zh) 2008-11-21 2015-09-01 Verayo Inc 非連網射頻辨識裝置物理不可複製功能之鑑認技術
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
WO2011109780A2 (en) 2010-03-05 2011-09-09 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
WO2011119985A2 (en) 2010-03-26 2011-09-29 Maxlinear, Inc. Firmware authentication and deciphering for secure tv receiver
US8892598B2 (en) 2010-06-22 2014-11-18 Cleversafe, Inc. Coordinated retrieval of data from a dispersed storage network
WO2012037172A1 (en) 2010-09-13 2012-03-22 Computer Associates Think, 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
EP2691906B1 (en) * 2011-03-31 2018-12-26 Irdeto B.V. Method and system for protecting execution of cryptographic hash functions
US20170109668A1 (en) 2011-05-08 2017-04-20 Panaya Ltd. Model for Linking Between Nonconsecutively Performed Steps in a Business Process
US20170109676A1 (en) 2011-05-08 2017-04-20 Panaya Ltd. Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of 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
EP2820546B1 (en) 2012-03-02 2019-07-31 INSIDE Secure Blackbox security provider programming system permitting multiple customer use and in field conditional access switching
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
CA2930752A1 (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
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
US9230137B2 (en) 2013-05-30 2016-01-05 Dell Products, L.P. Secure original equipment manufacturer (OEM) identifier for OEM devices
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
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
SI3095044T1 (sl) 2013-11-19 2021-02-26 Top Galore Limited Postopki in naprave za rudarjenje blokov
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
CN113946817A (zh) * 2015-01-30 2022-01-18 E·马伊姆 用于管理安全实体的连网承诺的系统和方法
US9374373B1 (en) * 2015-02-03 2016-06-21 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Encryption techniques for improved sharing and distribution of encrypted content
US11101978B2 (en) 2015-02-18 2021-08-24 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
EP3405862B1 (en) 2016-01-19 2020-11-18 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
WO2017201489A1 (en) 2016-05-20 2017-11-23 Moog Inc. Secure and traceable manufactured parts
US11204597B2 (en) 2016-05-20 2021-12-21 Moog Inc. Outer space digital logistics system
US9967088B2 (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
US20180225661A1 (en) 2017-02-07 2018-08-09 Microsoft Technology Licensing, Llc Consortium blockchain network with verified blockchain and consensus protocols
JP2018133744A (ja) 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
US20190102558A1 (en) 2017-06-02 2019-04-04 Apple Inc. Method and Apparatus for Secure System Boot
US11263326B2 (en) 2017-06-02 2022-03-01 Apple Inc. Method and apparatus for secure system boot
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
US10528740B2 (en) 2017-06-15 2020-01-07 International Business Machines Corporation Securely booting a service processor and monitoring 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
US10256974B1 (en) 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132005B2 (en) * 2005-07-07 2012-03-06 Nokia Corporation Establishment of a trusted relationship between unknown communication parties
US8402241B2 (en) * 2007-10-02 2013-03-19 Advanced Micro Devices, Inc. Method and apparatus to control access to device enable features
US8347096B2 (en) * 2009-07-10 2013-01-01 Vasco Data Security, Inc. Authentication token with incremental key establishment capacity
RU2013141238A (ru) * 2013-09-09 2015-03-20 Общество с ограниченной ответственностью "СмартТелеМакс" Устройство защиты от физических атак для сетевых систем
US20150294308A1 (en) * 2014-04-14 2015-10-15 21, Inc. Digital currency mining circuitry

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU224749U1 (ru) * 2023-07-11 2024-04-02 Открытое Акционерное Общество "Российские Железные Дороги" Высокоскоростное средство криптографической защиты информации

Also Published As

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

Similar Documents

Publication Publication Date Title
RU2708358C1 (ru) Криптографическая интегральная схема специального назначения, включающая в себя закодированную в цепи функцию преобразования
Bhutta et al. A survey on blockchain technology: Evolution, architecture and security
TWI770022B (zh) 電腦實施之控制方法、系統及控制系統
EP3693886B1 (en) Optimizations for verification of interactions system and method
Nartey et al. On blockchain and IoT integration platforms: current implementation challenges and future perspectives
US9942046B2 (en) Digital currency mining circuitry with adaptable difficulty compare capabilities
KR102416893B1 (ko) 조합된 함수들을 갖는 암호화 asic
EP4073733A1 (en) Digital currency minting in a system of network nodes implementing a distributed ledger
CN109698753B (zh) 基于区块链的上链共识算法匹配方法及装置
Niksefat et al. ZIDS: a privacy-preserving intrusion detection system using secure two-party computation protocols
CN110750329B (zh) 基于fpga实现虚拟机运算的方法及装置
US11676111B1 (en) Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing
CA2194532C (en) Virtual authentication network for secure processors
Bruneau et al. Development of the unified security requirements of PUFs during the standardization process
US11546136B2 (en) Generating shared authentication keys using network connection characteristics
CN113507528A (zh) 数据处理方法及电子设备
Szatmáry Quantum Computers—Security Threats and Solutions
Ge et al. A deep learning modeling attack method for MISR-APUF protection structures
Kumar et al. Sublinear message bounds of authenticated implicit byzantine agreement
US20240126896A1 (en) System and method for encrypting machine learning models
Sarkar et al. CMOS technology-based energy efficient artificial neural session key synchronization for securing IoT
WO2022195799A1 (ja) 秘密計算システム、秘密計算サーバ装置、秘密計算方法および秘密計算プログラム
JOHANSSON et al. Using Blockchain Techniques to Create an Opinion-Based Whitelisting Procedure
Selvarajan et al. Testing and Substantiation of Zero Trust Devices with Blockchain Procedures for Secured Data Transfer Approach
Zhu et al. Research on the Security Verification and Evaluation System of Distribution Network Dispatching Instructions in Telephone Mode