METHOD OF GENERATING AN ELLIPTIC CURVE CRYPTOGRAPHIC KEY PAIR

    公开(公告)号:US20180115419A1

    公开(公告)日:2018-04-26

    申请号:US15335177

    申请日:2016-10-26

    Applicant: NXP B.V.

    Abstract: A method is provided for generating an elliptic curve cryptography key pair that uses two topologically identical pseudo-random number generators operating in parallel and in step with each other. One generator operates in the scalar number domain and the other generator operates in the elliptic curve point domain. Parallel sequences of pseudo-random elliptic curve points aG and corresponding scalars a are generated in this manner. A scalar a becomes a private key and an elliptic curve point aG is a public key of a key pair. Each generator is advanced by one iteration successively, and the isomorphic relationship ensures that the point domain generator always contains values which are multiples of the system base point according to values contained in the corresponding position in the number domain generator. In one embodiment, the pseudo-random number generators are each characterized as being lagged Fibonacci generators.

    Robust repeatable entropy extraction from noisy source

    公开(公告)号:US11271732B2

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

    申请号:US16681443

    申请日:2019-11-12

    Applicant: NXP B.V.

    Inventor: Bjorn Fay

    Abstract: Various embodiments relate to a method for generating a bit stream in a physical unclonable function (PUF) system, including: receiving a set of values from a plurality of physical devices in the PUF system in a first order; sorting the set of values into a second order; for each of the L highest values, setting a corresponding levelTag value to a first bit value and setting a corresponding usageTag value to a first usage value that indicates that the levelTag for the corresponding value is to be used to generate the bit stream, wherein L is a level setting; for each of the L lowest values, setting a corresponding levelTag value to a second bit value and setting a corresponding usageTag value to the first usage value, wherein the first bit value is different from the second bit value; setting the usageTag value for all other values that are not the highest L values or the lowest L values to a second usage value that indicates that the corresponding value is not to be used to generate the bit stream; generating the bitstream as the levelTag values that have an associated usageTag value of the first usage value, wherein the levelTag values are ordered according to the first order.

    Method of generating an elliptic curve cryptographic key pair

    公开(公告)号:US10680810B2

    公开(公告)日:2020-06-09

    申请号:US15335177

    申请日:2016-10-26

    Applicant: NXP B.V.

    Abstract: A method is provided for generating an elliptic curve cryptography key pair that uses two topologically identical pseudo-random number generators operating in parallel and in step with each other. One generator operates in the scalar number domain and the other generator operates in the elliptic curve point domain. Parallel sequences of pseudo-random elliptic curve points aG and corresponding scalars a are generated in this manner. A scalar a becomes a private key and an elliptic curve point aG is a public key of a key pair. Each generator is advanced by one iteration successively, and the isomorphic relationship ensures that the point domain generator always contains values which are multiples of the system base point according to values contained in the corresponding position in the number domain generator. In one embodiment, the pseudo-random number generators are each characterized as being lagged Fibonacci generators.

    Advanced modular handshake for key agreement and optional authentication

    公开(公告)号:US11025421B2

    公开(公告)日:2021-06-01

    申请号:US16396357

    申请日:2019-04-26

    Applicant: NXP B.V.

    Inventor: Bjorn Fay

    Abstract: Various embodiments relate to a key protocol exchange that provide a simple but still secure key exchange protocol. Security of key exchange protocols has many aspects; providing and proving all these properties gets harder with more complex protocols. These security properties may include: perfect forward secrecy; forward deniability; key compromise impersonation resistance; security against unknown key share attack; explicit or implicit authentication; key confirmation; protocol is (session-)key independent; key separation (different keys for encryption and MACing); extendable, e.g., against DOS attacks; support of early messages; small communication footprint; and support of for public-key and/or password authentication.

    Modular key exchange for key agreement and optional authentication

    公开(公告)号:US10721064B2

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

    申请号:US15993186

    申请日:2018-05-30

    Applicant: NXP B.V.

    Inventor: Bjorn Fay

    Abstract: Various embodiments relate to a key protocol exchange that provide a simple but still secure key exchange protocol. Security of key exchange protocols has many aspects; providing and proving all these properties gets harder with more complex protocols. These security properties may include: perfect forward secrecy; forward deniability; key compromise impersonation resistance; security against unknown key share attack; explicit or implicit authentication; key confirmation; protocol is (session-)key independent; key separation (different keys for encryption and MACing); extendable, e.g. against DOS attacks . . . (e.g. using cookies, . . . ); support of early messages; small communication footprint; and support of for public-key and/or password authentication.

    High-rate multi-block-length hash function based on block ciphers

    公开(公告)号:US10680802B2

    公开(公告)日:2020-06-09

    申请号:US15994656

    申请日:2018-05-31

    Applicant: NXP B.V.

    Inventor: Bjorn Fay

    Abstract: Various embodiments relate to a method of hashing a message M using a block cipher, including: producing N block cipher inputs by XORing message indices i, . . . i+N−1 respectively with state values S0, . . . SN−1, wherein N is an integer greater than 1; producing N block cipher keys by XORing N different blocks of message M and at least one of state values S0, . . . SN−1 for each of the N block cipher keys; encrypting the N block cipher inputs using the respective N block cipher keys to produce N block cipher outputs; combining the N block cipher outputs with N block cipher inputs to produce N block cipher combined outputs Tt, for t=0, . . . , N−1; calculating Y0=T0; calculating Yt=Yt−1⊕Tt, for t=1, . . . , N−1, calculating SN−1′=YN−1

    Method of generating cryptographic key pairs

    公开(公告)号:US10341098B2

    公开(公告)日:2019-07-02

    申请号:US15414391

    申请日:2017-01-24

    Applicant: NXP B.V.

    Abstract: A method is provided for performing elliptic curve cryptography that reduces the number of required computations to produce, for example, a key pair. The number of computations is reduced by changing how a random nonce used in the computations is selected. In an embodiment, a look-up table is generated having pre-computed scalar values and elliptic curve points. Every time a new pseudo-random value is created for use in the ECDSA, a combination of the look-up table values is used to create multiple intermediate values. One of the multiple intermediate values is randomly chosen as a replacement value for one of the existing table entries. Each time the look-up table is used, multiple entries in the look-up table are updated to new look-up table values as described. In this manner, new randomness is provided in every step to generate the next pseudo-random nonce as a combination of multiple internally stored temporary look-up table values. Alternately, another mathematical group may be used.

Patent Agency Ranking