Speeding up hash-chain computations

    公开(公告)号:US12047491B2

    公开(公告)日:2024-07-23

    申请号:US17243058

    申请日:2021-04-28

    Applicant: NXP B.V.

    CPC classification number: H04L9/0643 H04L9/3236 H04L9/50

    Abstract: Various embodiments relate to a hardware device configured to compute a plurality of chained hash functions in parallel, including: a processor implementing p hash functions configured to operate on a small input, where p is an integer; a data unit connected to the plurality of hash functions, configured to store the outputs of plurality of hash functions that are then used as the input to a next round of computing the hash function, wherein the processor receives a single instruction and p small data inputs, and wherein each of the p hash functions are used to perform a chained hash function operation on a respective small input of the p small inputs.

    Masked comparison circumventing compression in post-quantum schemes

    公开(公告)号:US11528124B2

    公开(公告)日:2022-12-13

    申请号:US17224359

    申请日:2021-04-07

    Applicant: NXP B.V.

    Abstract: Various embodiments relate to a method for securely comparing a first polynomial represented by a plurality of arithmetic shares and a second compressed polynomial represented by a bitstring where the bits in the bitstring correspond to coefficients of the second polynomial, including: performing a first masked shift of the shares of the coefficients of the first polynomial based upon the start of the interval corresponding to the compressed coefficient of the second polynomial and a modulus value; performing a second masked shift of the shares of the coefficients of the first polynomial based upon the end of the interval corresponding to the compressed coefficient of the second polynomial; bitslicing the most significant bit of the first masked shift of the shares coefficients of the first polynomial; bitslicing the most significant bit of the second masked shift of the shares coefficients of the first polynomial; and combining the first bitsliced bits and the second bitsliced bits using an AND function to produce an output including a plurality of shares indicating that the first polynomial would compress to a bitstream matching the bitstream representing the second compressed polynomial.

    Challenge-response method for biometric authentication

    公开(公告)号:US11500976B2

    公开(公告)日:2022-11-15

    申请号:US17087752

    申请日:2020-11-03

    Applicant: NXP B.V.

    Abstract: A biometric authentication method is provided. In the method, identification information is collected from a user. A biometric scanner is used to scan a particular biometric characteristic of the user. If the user identification corresponds to the scanned biometric characteristic, then the scanner requests the user perform a predetermined action of a portion of the user's body. The predetermined action may be, for example, a hand gesture. The biometric characteristic is monitored while the predetermined action is being scanned. The scanner determines that the predetermined action is performed with the same portion of the user's body that was scanned for the biometric characteristic. The scanner determines if the portion of the user's body leaves the scanning area and monitors the scanning area for extraneous objects. The method provides more resistance against a replay attack.

    MASKED COMPARISON CIRCUMVENTING COMPRESSION IN POST-QUANTUM SCHEMES

    公开(公告)号:US20220337389A1

    公开(公告)日:2022-10-20

    申请号:US17224359

    申请日:2021-04-07

    Applicant: NXP B.V.

    Abstract: Various embodiments relate to a method for securely comparing a first polynomial represented by a plurality of arithmetic shares and a second compressed polynomial represented by a bitstring where the bits in the bitstring correspond to coefficients of the second polynomial, including: performing a first masked shift of the shares of the coefficients of the first polynomial based upon the start of the interval corresponding to the compressed coefficient of the second polynomial and a modulus value; performing a second masked shift of the shares of the coefficients of the first polynomial based upon the end of the interval corresponding to the compressed coefficient of the second polynomial; bitslicing the most significant bit of the first masked shift of the shares coefficients of the first polynomial; bitslicing the most significant bit of the second masked shift of the shares coefficients of the first polynomial; and combining the first bitsliced bits and the second bitsliced bits using an AND function to produce an output including a plurality of shares indicating that the first polynomial would compress to a bitstream matching the bitstream representing the second compressed polynomial.

    METHOD FOR MULTIPLYING POLYNOMIALS FOR A CRYPTOGRAPHIC OPERATION

    公开(公告)号:US20220286286A1

    公开(公告)日:2022-09-08

    申请号:US17190986

    申请日:2021-03-03

    Applicant: NXP B.V.

    Abstract: Various embodiments relate to a method for multiplying a first and a second polynomial in the ring [X]/(XN−1) to perform a cryptographic operation in a data processing system, the method for use in a processor of the data processing system, including: receiving the first polynomial and the second polynomial by the processor; mapping the first polynomial into a third polynomial in a first ring and a fourth polynomial in a second ring using a map; mapping the second polynomial into a fifth polynomial in the first ring and a sixth polynomial in the second ring using the map; multiplying the third polynomial in the first ring with the fifth polynomial in the first ring to produce a first multiplication result; multiplying the fourth polynomial in the second ring with the sixth polynomial in the second ring to produce a second multiplication result using Renes multiplication; and combining the first multiplication result and the second multiplication result using the map.

    EFFICIENT MASKED POLYNOMIAL COMPARISON

    公开(公告)号:US20220231831A1

    公开(公告)日:2022-07-21

    申请号:US17154116

    申请日:2021-01-21

    Applicant: NXP B.V.

    Abstract: Various embodiments relate to a method and system for securely comparing a first and second polynomial, including: selecting a first subset of coefficients of the first polynomial and a second subset of corresponding coefficients of the second polynomial, wherein the coefficients of the first polynomial are split into shares and the first and second polynomials have coefficients; subtracting the second subset of coefficients from one of the shares of the first subset of coefficients; reducing the number of elements in the first subset of coefficients to elements by combining groups of / elements together; generating a random number for each of the elements of the reduced subset of coefficients; summing the product of each of the elements of the reduced subset of coefficients with their respective random numbers; summing the shares of the sum of the products; and generating an output indicating that the first polynomial does not equal the second polynomial when the sum does not equal zero.

    Method for multiplying polynomials for a cryptographic operation

    公开(公告)号:US11206136B1

    公开(公告)日:2021-12-21

    申请号:US16884136

    申请日:2020-05-27

    Applicant: NXP B.V.

    Abstract: A method is provided for multiplying two polynomials. In the method, first and second polynomials are evaluated at 2t inputs, where t is greater than or equal to one, and where each input is a fixed power of two 2l/(2t) multiplied with a different power of a primitive root of unity, thereby creating 2 times 2t integers, where l is an integer such that 2l is at least as large as the largest coefficient of the resulting product multiplying the first and second polynomials. The 2 times 2t integers are then multiplied pairwise, and a modular reduction is performed to get 2t integers. A linear combination of the 2t integers multiplied with primitive roots of unity is computed to get 2t integers whose limbs in the base 2l-bit representation correspond to coefficients of the product of the first and second polynomials. The method can be implemented on a processor designed for performing RSA and/or ECC type cryptographic operations.

    METHOD FOR MULTIPLYING POLYNOMIALS FOR A CRYPTOGRAPHIC OPERATION

    公开(公告)号:US20210377026A1

    公开(公告)日:2021-12-02

    申请号:US16884136

    申请日:2020-05-27

    Applicant: NXP B.V.

    Abstract: A method is provided for multiplying two polynomials. In the method, first and second polynomials are evaluated at 2t inputs, where t is greater than or equal to one, and where each input is a fixed power of two multiplied with a different power of a primitive root of unity, thereby creating 2 times 2t integers, where is an integer such that is at least as large as the largest coefficient of the resulting product multiplying the first and second polynomials. The 2 times 2t integers are then multiplied pairwise, and a modular reduction is performed to get 2t integers. A linear combination of the 2t integers multiplied with primitive roots of unity is computed to get 2t integers whose limbs in the base -bit representation correspond to coefficients of the product of the first and second polynomials. The method can be implemented on a processor designed for performing RSA and/or ECC type cryptographic operations.

    METHOD FOR ANALYZING A PREDICTION CLASSIFICATION IN A MACHINE LEARNING MODEL

    公开(公告)号:US20210264295A1

    公开(公告)日:2021-08-26

    申请号:US16795774

    申请日:2020-02-20

    Applicant: NXP B.V.

    Abstract: A method is provided for analyzing a classification in a machine learning model (ML). In the method, the ML model is trained using a training dataset to produce a trained ML model. One or more samples are provided to the trained ML model to produce one or more prediction classifications. A gradient is determined for the one of more samples at a predetermined layer of the trained ML model. The one or more gradients and the one or more prediction classifications for each sample are stored. Also, an intermediate value of the ML model may be stored. Then, a sample is chosen to analyze. A gradient of the sample is determined if the gradient was not already determined when the at least one gradient is determined. Using the at least one gradient, and one or more of a data structure, a predetermined metric, and an intermediate value, the k nearest neighbors to the sample are determined. A report comprising the sample and the k nearest neighbors may be provided for analysis.

Patent Agency Ranking