Patent classifications
H04L9/3066
CRYPTOGRAPHIC SYSTEM, ENCRYPTION DEVICE, DECRYPTION DEVICE, AND KEY GENERATION DEVICE
A cryptographic system (1) performs a cryptographic process in which a Richelot isogeny sequence φ.sub.s whose starting point is an abelian surface A.sub.0 and whose end point is an abelian surface A.sub.s is a secret key and the abelian surface A.sub.s is a public key. An encryption device (28) computes an abelian surface A.sub.m by transitioning the abelian surface A.sub.s, which is the public key, by a Richelot isogeny sequence φ.sub.m generated by encoding a plaintext m, and sets the abelian surface A.sub.m as a ciphertext. A decryption device (30) computes a Richelot isogeny φ.sub.m whose starting point is the abelian surface A.sub.s, which is the public key, and whose end point is the abelian surface A.sub.m, which is the ciphertext, based on the Richelot isogeny sequence φ.sub.s, which is the secret key.
Distributed Communication Network
The present disclosure provides a distributed communication network comprising a plurality of computing nodes assigned to each participant of the network and a method of controlling access to data shared on said network. The computing node operates according to a set of pre-defined rules to control how a participant is able to behave on the network, that is, with whom they are able to communicate and on what basis, whilst at the same time giving the participant complete control over their data. The pre-defined rules are published to a blockchain ledger as a network protocol ledger to ensure it is immutable, traceable and easily distributed. In doing so, network protocol(s) not only specify the rules for the network but also enforces the rules on the participants to ensure it complies with the pre-defined behaviour.
CRYPTOGRAPHIC SYSTEM, MASTER KEY UPDATE APPARATUS, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM STORING MASTER KEY UPDATE PROGRAM
A master key update apparatus (400) acquires a master public key mpk including a basis B and a master secret key msk including a basis B* which is different from the basis B included in the master public key mpk. The master key update apparatus (400) updates the basis B included in the master public key mpk with updating information upk so as to generate a new master public key mpk′, and updates the basis B* included in the master secret key msk with the updating information upk so as to generate a new master secret key msk′.
IMPLEMENTING LOGIC GATE FUNCTIONALITY USING A BLOCKCHAIN
The invention presents a solution in which blockchain Transactions are created to implement the functionality of a logic gate. The invention may be implemented on the Bitcoin platform or an alternative blockchain platform. The transaction includes a locking script which comprises instructions selected so as to implement the functionality of a logic gate such as OR, AND, XOR, NOT and so on. In some examples, the instructions may be provided in a hashed form. When the script is executed (because a second transaction is attempting to spend the output associated with the locking script) the inputs will be processed by the conditional instructions to provide an output of TRUE or FALSE. The second transaction is transmitted to the blockchain network for validation and, if determined to be valid, it will be written to the blockchain. Validation of the second transaction can be interpreted as a TRUE output. Thus, the locking script of the first transaction provides the functionality of the desired logic gate. The invention provides numerous advantages and can be used in a wide variety of applications, such as for the implementation of control systems and processes.
Protection of an iterative calculation
The disclosure concerns a method of protecting a calculation on a first number and a second number, including the steps of: generating a third number including at least the bits of the second number, the number of bits of the third number being an integer multiple of a fourth number; dividing the third number into blocks each having the size of the fourth number; successively, for each block of the third number: performing a first operation with a first operator on the contents of a first register and of a second register, and then on the obtained intermediate result and the first number, and placing the result in a third register; and for each bit of the current block, performing a second operation by submitting the content of the third register to a second operator with a function of the rank of the current bit of the third number, and then to the first operator with the content of the first or of the second register according to state “0” or “1” of said bit, and placing the result in the first or second register.
Methods and apparatus for offloading signature revocation checking on acceleration circuitry
A system for supporting Enhanced Privacy Identification (EPID) is provided. The system may include a host processor operable to communicate with a remote requestor, where the host processor needs to perform signature revocation checking in accordance with EPID. To perform signature revocation checking, the host processor has to perform either a sign or verify operation. The host processor may offload the sign/verify operation onto one or more associated hardware acceleration coprocessors. A programmable coprocessor may be dynamically configured to perform the desired number of sign/verify functions in accordance with the requirements of the current workload.
Virtual memory extension layer for hardware security modules
A key management system includes a hardware security module (HSM) with a secure memory; an HSM driver implementing an API, interfaced with the HSM to provide handles to cryptographic objects stored on the secure memory of the HSM; and a shim layer interfaced with the HSM driver. The layer is generally configured to enable a client application to interact with the HSM via the driver, i.e., for the HSM to manage cryptographic objects for the client, notwithstanding the layer. External memory storage resides outside the HSM and is interfaced with the layer. The method includes instructing (at the layer) to: (i) encrypt cryptographic objects from the HSM (with the help of the driver) and store the resulting encrypted objects at respective memory locations on the storage, to free up memory space; and (ii) store handles to such cryptographic objects along with references to said respective memory locations, on the storage.
Cryptosystem and method with efficient elliptic curve operators for an extraction of EiSi coordinate system
A system, method and computer-readable medium provide secure communication between a first and a second computer system based on supersingular isogeny elliptic curve cryptography. The first computer system and the second computer system each determine kernels K.sub.A and K.sub.B including computing mP+nQ by accessing a lookup table stored in a memory that contains a range of doubles of an end point of the respective kernels, where P and Q are points on the public elliptic curve and m and n are integers. The first computer system and the second computer system compute secret isogenies by determining a respective kernel K.sub.BA and K.sub.AB using mixed-base multiplicands with a single inversion, including computing the respective kernel K.sub.BA and K.sub.AB by converting the multiplicands to base 32, and computing scalar multiplications using the base 32 multiplicands.
Secrets management using key agreement
A client system may generate a new key pair for a secrets management process. The client may generate a shared secret using the private key of the new key pair and a public key of a secrets management server. Using the shared secret, the client may derive an encryption key and encrypt a data payload for subsequent decryption by the secrets management server. Upon encryption of the data payload, the client may erase the private key. Subsequently, the client or an associated client may call the secrets management server for decryption of the data payload. The secrets management server may derive the encryption key using the public key associated with the encrypted payload and the private key of the secrets management server and use the encryption key to decrypt the data payload for use by the client or an associated client.
METHODS AND SYSTEMS OF PROVIDING VERIFICATION OF THE IDENTITY OF A DIGITAL ENTITY USING A CENTRALIZED OR DISTRIBUTED LEDGER
Methods and systems of providing verification of the identity of a digital entity are provided, including receiving information and a public key of the digital entity, wherein the information has been previously attested to in an attestation transaction stored within a centralized or distributed ledger at an attestation address, the centralized or distributed ledger providing a record of transactions; deriving an attestation address using the information and the public key of the digital entity; verifying the existence of the attestation transaction at the attestation address in the centralized or distributed ledger and verifying that the attestation transaction has not been revoked; receiving at the processor associated with the user a cryptographic challenge nonce signed by the digital entity's private key; and verifying the digital entity's identity with the cryptographic challenge nonce signed by the digital entity's key.