-
公开(公告)号:US11595195B2
公开(公告)日:2023-02-28
申请号:US17226770
申请日:2021-04-09
Applicant: NXP B.V.
Inventor: Tobias Schneider , Joppe Willem Bos , Björn Fay , Marc Gourjon , Joost Roland Renes , Christine van Vredendaal
Abstract: Various embodiments relate to a method for masked decoding of a polynomial a using an arithmetic sharing a to perform a cryptographic operation in a data processing system using a modulus q, the method for use in a processor of the data processing system, including: subtracting an offset δ from each coefficient of the polynomial a; applying an arithmetic to Boolean (A2B) function on the arithmetic shares of each coefficient ai of the polynomial a to produce Boolean shares âi that encode the same secret value ai; and performing in parallel for all coefficients a shared binary search to determine which of coefficients ai are greater than a threshold t to produce a Boolean sharing value {circumflex over (b)} of the bitstring b where each bit of b decodes a coefficient of the polynomial a.
-
2.
公开(公告)号:US11500970B2
公开(公告)日:2022-11-15
申请号:US16529882
申请日:2019-08-02
Applicant: NXP B.V.
Inventor: Joppe Willem Bos , Simon Johann Friedberger , Nikita Veshchikov , Christine van Vredendaal
Abstract: A method and data processing system are provided for determining if a machine learning model has been copied. The machine learning model has a plurality of nodes, the plurality of nodes is organized as a plurality of interconnected layers, and the plurality of interconnected layers includes an input layer and an output layer. The output layer has a predetermined number of output nodes for classifying input samples into a predetermined number of categories, where each output node corresponds to a category. An additional watermarking node is added to the output layer. The model is trained to classify the input data into the predetermined number of categories and into an additional category for the additional node. The additional node may be added to another model to determine if the another model is a copy or clone of the ML model.
-
公开(公告)号:US20210326748A1
公开(公告)日:2021-10-21
申请号:US16853826
申请日:2020-04-21
Applicant: NXP B.V.
Abstract: A method for protecting a first machine learning (ML) model is provided. In the method, a dataset of non-problem domain (NPD) data is selected from a large dataset using a second ML model. The second ML model classifies the large dataset into NPD classifications and PD classifications. The PD classified data is excluded. A distinguisher includes a third ML model that is trained using selected NPD data from the large dataset. The distinguisher receives input samples that are intended for the first ML model. The third ML model provides either a PD classification or NPD classification in response to receiving each input sample. An indication of a likely extraction attempt may be provided when a predetermined number of NPD classifications are provided. The method provides an efficient way to create a training dataset for a distinguisher and for protecting a ML model with the distinguisher.
-
4.
公开(公告)号:US20210232667A1
公开(公告)日:2021-07-29
申请号:US16752734
申请日:2020-01-27
Applicant: NXP B.V.
Inventor: Christine van Vredendaal , Hans de Jong , Marc Vauclair
Abstract: A data processing system and a method are provided for recognizing a scanned biometric characteristic in the data processing system. The data processing system includes a biometric sensor, a rich execution environment (REE), and a secure element (SE). In one embodiment, during an enrollment operation, a random challenge is applied to scanned data to produce a biometric template that is stored. During subsequent validation operations, the SE determines if user data includes evidence of the random challenge before providing access to a secure application. Evidence of the random challenge indicates the user data was provided by the biometric sensor. In another embodiment, the sensor data is split between the REE and the SE and partially processed in the SE. The described embodiments prevent a replay attack from being conducted in communications between the REE and the SE.
-
公开(公告)号:US20240313963A1
公开(公告)日:2024-09-19
申请号:US18183310
申请日:2023-03-14
Applicant: NXP B.V.
Inventor: Christine van Vredendaal , Björn Fay , Mario Lamberger
CPC classification number: H04L9/0894 , H04L9/0891 , H04L9/3263
Abstract: A method for provisioning a plurality of IC devices, the method including: providing, by a first entity, the plurality of IC devices; storing, by the first entity, in one of the plurality of IC devices used as a provisioning device, one or more keys, and a public key, wherein the one or more keys include a reprovisioning key for reprovisioning the remaining IC devices; installing, by the first entity, provisioning software in the provisioning device; signing, by the first entity, provisioning software using a private key, the private key corresponding to the public key; provisioning the remaining IC devices by the provisioning device including providing cryptographic assets to the remaining IC devices, wherein the cryptographic assets include cryptographic code and keys; and reserving space in the remaining IC devices for reprovisioning the remaining IC devices with updated cryptographic assets.
-
公开(公告)号:US20240126511A1
公开(公告)日:2024-04-18
申请号:US17935550
申请日:2022-09-26
Applicant: NXP B.V.
Inventor: Melissa Azouaoui , Yulia Kuzovkova , Tobias Schneider , Markus Schoenauer , Christine van Vredendaal
CPC classification number: G06F7/724 , G06F9/3001 , G06F9/30029 , G06F2207/7233
Abstract: Various embodiments relate to a data processing system comprising instructions embodied in a non-transitory computer readable medium, the instructions for a cryptographic operation using masked compressing of coefficients of a polynomial having ns arithmetic shares for lattice-based cryptography in a processor, the instructions, including: shifting a first arithmetic share of the ns arithmetic shares by an input mask λ1; scaling the shifted first arithmetic share by a value based on a first compression factor δ and a masking scaling factor φ1; shifting the scaled first arithmetic share by a value based on the masking scaling factor φ1; scaling a second to ns shares of the ns arithmetic shares by a value based on the first compression factor δ and the masking scaling factor φ1; converting the ns scaled arithmetic shares to ns Boolean shares; right shifting the ns Boolean shares based upon the masking scaling factor φ1 and a second compression factor φ2; XORing an output mask λ2 with the shifted first Boolean share to produce ns compressed Boolean shares; and carrying out a cryptographic operation using the ns arithmetic shares when the ns compressed Boolean shares indicates that the coefficients of the polynomial are within boundary values.
-
公开(公告)号:US20230353383A1
公开(公告)日:2023-11-02
申请号:US17733780
申请日:2022-04-29
Applicant: NXP B.V.
Inventor: Christine van Vredendaal , Joppe Willem Bos , Babette Anne Margaretha Lips , Joost Roland Renes
CPC classification number: H04L9/3247 , H04L9/14 , H04L9/0897
Abstract: Various embodiments relate to a data processing system comprising instructions embodied in a non-transitory computer readable medium, the instructions for signing messages using a plurality of one-time signing (OTS) keys and a binary-hash-tree structure having a height h and a plurality of nodes configured to provide a public key having, including: generating and storing an authentication path A[d:h−1] for a first 2d signatures corresponding to the first 2d OTS keys of the plurality of OTS keys, where d is the height of a sub-tree associated with first 2d OTS keys; initiating a signature counter; signing a first message using the first OTS key of the plurality of OTS keys; incrementing the signature counter; determining if 2d messages have been signed; signing a second message and incrementing the signature counter when 2d messages have not been signed; and updating authentication path A[d:h−1] for a second 2d signatures corresponding to the second 2d OTS keys of the plurality of OTS keys when 2d messages have been signed.
-
公开(公告)号:US20230047965A1
公开(公告)日:2023-02-16
申请号:US17392332
申请日:2021-08-03
Applicant: NXP B.V.
Inventor: Joost Roland RENES , Joppe Willem Bos , Christine van Vredendaal , Tobias Schneider
Abstract: Various embodiments relate to a method for multiplying a first and a second polynomial in a ring q[X]/(Xn+1) to perform a cryptographic operation in a data processing system where q is a positive integer, the method for use in a processor of the data processing system, comprising: receiving the first polynomial and the second polynomial by the processor; mapping the first polynomial into k smaller third polynomials over k smaller rings based upon primitive roots of unity, where k is a positive integer; mapping the second polynomial into k smaller fourth polynomials over the k smaller rings based upon primitive roots of unity; applying an isomorphism to the k third polynomials resulting in k fifth polynomials; applying the isomorphism to the k fourth polynomials resulting in k sixth polynomials; applying a Kronecker substitution on the k fifth polynomials and the k sixth polynomials and perform the multiplication of the k fifth polynomials and the k sixth polynomials to produce a multiplication result; applying an inverse of the isomorphism to the multiplication result to obtain the multiplication of the first polynomial and the second polynomial; and mapping the k inverted polynomials to a single polynomial in the ring mapping the k inverted polynomials to a single polynomial in the ring q[X]/(Xn+1.
-
公开(公告)号:US11410057B2
公开(公告)日:2022-08-09
申请号:US16795774
申请日:2020-02-20
Applicant: NXP B.V.
IPC: G06N5/04 , G06F16/901 , G06N20/00
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.
-
公开(公告)号:US20210110002A1
公开(公告)日:2021-04-15
申请号:US16598148
申请日:2019-10-10
Applicant: NXP B.V.
Inventor: Nikita Veshchikov , Joppe Willem Bos , Simon Johann Friedberger , Christine van Vredendaal
Abstract: A method is provided for protecting a software program from copying. The method includes providing a first implementation of the software program. A second implementation of the software program is then provided. The second implementation provides a same functionality as the first implementation, and wherein the second implementation includes a plurality of dummy operations to increase a number of operations and an execution time of the second implementation compared to the first implementation. The dummy operations are encoded. The second implementation may then be compared to another software program to determine if the another software program is a copy of the first implementation of the software program. This allows a copy of the first implementation to be detected without disclosing the first implementation.
-
-
-
-
-
-
-
-
-