Abstract:
Disclosed is a method for providing a public key for authenticating an integrated circuit. In the method, the integrated circuit obtains a hardware key and an integrated circuit identifier. The integrated circuit generates a derived key based on the hardware key using a key derivation function (KDF) shared with a manufacturing machine. The integrated circuit generates a private key and a corresponding public key using the derived key as an input to a deterministic function. The integrated circuit then provides the public key and the integrated circuit identifier to a partner service for authentication of the integrated circuit using an anonymized credential database to be provided to the partner service by a manufacturer.
Abstract:
In an aspect, a method for protecting software includes obtaining a payload including at least one of instructions or data, establishing a realm in a memory device, encrypting the payload based on an ephemeral encryption key (EEK) associated with the realm, and storing the encrypted payload in the realm of the memory device. In another aspect, a method for protecting software includes receiving a memory transaction associated with the memory device, the memory transaction including at least a realm identifier (RID) and a realm indicator bit, obtaining the EEK associated with the RID when the RID indicates the realm and when the realm indicator bit is enabled, decrypting an instruction and/or data retrieved from the realm based on the EEK when the memory transaction is a read transaction, and encrypting second data for storage in the realm based on the EEK when the memory transaction is a write transaction.
Abstract:
An acoustic tracking system is provided that includes receivers that detect first acoustic signals from a first set of transmitters disposed on a digital pen and second acoustic signals from a second set of transmitters disposed on a base station. The acoustic tracking system also includes a processing component that defines a two-dimensional plane on which the base station lies and determines a three-dimensional position of the digital pen relative to the base station. The processing component projects the three-dimensional position of the digital pen onto the two-dimensional plane and records, based on the projected three-dimensional position, the three-dimensional position of the digital pen relative to the base station, where the recorded three-dimensional position of the digital pen represents an object representative of movement of the digital pen.
Abstract:
Disclosed is an apparatus and method for encrypting plaintext data. The method includes: receiving at least one plaintext data input; applying a Nonce through a function to the at least one plaintext data input to create Nonced plaintext data outputs and/or to intermediate values of a portion of an encryption function applied to the at least one plaintext data input to create intermediate Nonced data outputs; and applying the encryption function to at least one of the Nonced plaintext data outputs and/or the intermediate Nonced data outputs to create encrypted output data. The encrypted output data is then transmitted to memory.
Abstract:
One feature pertains to a content accessing device for securing content. The content accessing device is provisioned with a cryptographic algorithm, and generates a symmetric key also known to a content storage device. The content accessing device sends a first authentication challenge to the content storage device, where the first authentication challenge is based on the cryptographic algorithm and the symmetric key. The content accessing device receives a second authentication challenge from the content storage device in response to sending the first authentication challenge, and determines whether the first authentication challenge is different from the second authentication challenge. If the second authentication challenge is different from the first authentication challenge the content accessing device sends a first response to the content storage device in response to the second authentication challenge.
Abstract:
A method, apparatus, and system for storing memory encryption realm key IDs is disclosed. A method comprises accessing a memory ownership table with a physical address to determine a realm ID associated with the physical address, accessing a key ID association structure with the realm ID to determine a realm key IS associated with the realm ID, and initiating a memory transaction based on the realm key ID. Once retrieved, the realm key ID may be stored in a translation lookaside buffer.
Abstract:
A method, apparatus, and system for storing memory encryption realm key IDs is disclosed. A method comprises accessing a memory ownership table with a physical address to determine a realm ID associated with the physical address, accessing a key ID association structure with the realm ID to determine a realm key IS associated with the realm ID, and initiating a memory transaction based on the realm key ID. Once retrieved, the realm key ID may be stored in a translation lookaside buffer.
Abstract:
In certain aspects of the disclosure, an apparatus, comprises a first memory having a plurality of bits. Each bit of the plurality of bits of the first memory is associated with a region of a second memory, and each bit indicates whether the associated region of the second memory is to be integrity-protected. The first memory further stores a first minimum set of data necessary for integrity protection (MSD) of an associated first integrity protection tree when a first bit of the plurality of bits is set to a value indicating that the first associated region of the second memory is to be integrity-protected. Regions of the second memory that are integrity-protected may be non-contiguous, and may be adjusted during run-time.
Abstract:
One feature pertains to an electronic device that includes a memory circuit and a processing circuit. The processing circuit computes a scalar multiplication output Z where Z=k·P by receiving an input multiplier k and a base P, and adds a modifier s to the input multiplier k to generate k′. The processing circuit also computes an intermediate scalar multiplication output Z′ where Z′=k′·P by using a digit expansion of k′ that includes a sequence of digits ki belonging to a digit set D. Additionally, the processing circuit subtracts s·P from Z′ to obtain the scalar multiplication output Z if k′ is odd or subtracts (s+1)·P from Z′ to obtain the scalar multiplication output Z if k′ is even. The scalar multiplier output Z may be used in a cryptographic security algorithm to secure data.
Abstract:
An acoustic tracking system is provided that includes receivers that detect first acoustic signals from a first set of transmitters disposed on a digital pen and second acoustic signals from a second set of transmitters disposed on a base station. The acoustic tracking system also includes a processing component that defines a two-dimensional plane on which the base station lies and determines a three-dimensional position of the digital pen relative to the base station. The processing component projects the three-dimensional position of the digital pen onto the two-dimensional plane and records, based on the projected three-dimensional position, the three-dimensional position of the digital pen relative to the base station, where the recorded three-dimensional position of the digital pen represents an object representative of movement of the digital pen.