G06F7/487

Physical unclonable function based true random number generator, method for generating true random numbers, and associated electronic device

A Physical Unclonable Function (PUF) based true random number generator (TRNG), a method for generating true random numbers, and an associated electronic device are provided. The PUF based TRNG may include a first obfuscation circuit, a cryptography circuit coupled to the first obfuscation circuit, and a second obfuscation circuit coupled to the cryptography circuit. The first obfuscation circuit obtains a first PUF value from a PUF pool of the electronic device, and performs a first obfuscation function on a preliminary seed based on the first PUF value to generate a final seed. The cryptography circuit utilizes the final seed as a key of a cryptography function to generate preliminary random numbers. The second obfuscation circuit obtains a second PUF value from the PUF pool, and performs a second obfuscation function on the preliminary random numbers based on the second PUF value to generate final random numbers.

ARITHMETIC LOGIC UNIT, FLOATING-POINT NUMBER MULTIPLICATION CALCULATION METHOD, AND DEVICE

An arithmetic logic unit comprises multiple (N) adjustment circuits and a multiplier-accumulator. Each of the N adjustment circuits obtains an input floating-point number of a pre-selected input type, and converts the input number to one or more output floating-point numbers of an operation type and precision. The multiplier-accumulator is connected to the N adjustment circuits, and is configured to perform operations on input floating-point numbers of the operation type. The multiplier-accumulator receives a group of floating-point numbers of the operation type from the N adjustment circuits as inputs, performs an operation on the group of floating-point numbers, and generates an operation result floating-point number of the operation type. The multiplier-accumulator then converts the operation result floating-point number to an output floating-point number of a desired type different from the operation type.

ARITHMETIC LOGIC UNIT, FLOATING-POINT NUMBER MULTIPLICATION CALCULATION METHOD, AND DEVICE

An arithmetic logic unit comprises multiple (N) adjustment circuits and a multiplier-accumulator. Each of the N adjustment circuits obtains an input floating-point number of a pre-selected input type, and converts the input number to one or more output floating-point numbers of an operation type and precision. The multiplier-accumulator is connected to the N adjustment circuits, and is configured to perform operations on input floating-point numbers of the operation type. The multiplier-accumulator receives a group of floating-point numbers of the operation type from the N adjustment circuits as inputs, performs an operation on the group of floating-point numbers, and generates an operation result floating-point number of the operation type. The multiplier-accumulator then converts the operation result floating-point number to an output floating-point number of a desired type different from the operation type.

EMULATION OF FLOATING POINT CALCULATION

Emulating floating point calculation using lower precision format calculations is described. An example of a processor includes a floating point unit (FPU) to provide a native floating point operation in a first precision format; and systolic array hardware including multiple data processing units, wherein the processor is to receive data for performance of a matrix multiplication operation in the first precision format; enable an emulated floating point multiplication operation using one or more values with a second precision format, the second precision format having a lower precision than the first precision format, the emulated floating point multiplication including operation of the systolic array hardware; and generate an emulated result for the matrix multiplication operation.

POLYNOMIAL MULTIPLICATION FOR SIDE-CHANNEL PROTECTION IN CRYPTOGRAPHY
20230091951 · 2023-03-23 · ·

Polynomial multiplication for side-channel protection in cryptography is described. An example of a apparatus includes one or more processors to process data; a memory to store data; and polynomial multiplier circuitry to multiply a first polynomial by a second polynomial, the first polynomial and the second polynomial each including a plurality of coefficients, the polynomial multiplier circuitry including a set of multiplier circuitry, wherein the polynomial multiplier circuitry is to select a first coefficient of the first polynomial for processing, and multiply the first coefficient of the first polynomial by all of the plurality of coefficients of the second polynomial in parallel using the set of multiplier circuits.

METHOD AND APPARATUS FOR IMPLIED BIT HANDLING IN FLOATING POINT MULTIPLICATION
20230085048 · 2023-03-16 ·

A method is provided that includes performing, by a processor in response to a floating point multiply instruction, multiplication of floating point numbers, wherein determination of values of implied bits of leading bit encoded mantissas of the floating point numbers is performed in parallel with multiplication of the encoded mantissas, and storing, by the processor, a result of the floating point multiply instruction in a storage location indicated by the floating point multiply instruction.

METHOD AND APPARATUS FOR IMPLIED BIT HANDLING IN FLOATING POINT MULTIPLICATION
20230085048 · 2023-03-16 ·

A method is provided that includes performing, by a processor in response to a floating point multiply instruction, multiplication of floating point numbers, wherein determination of values of implied bits of leading bit encoded mantissas of the floating point numbers is performed in parallel with multiplication of the encoded mantissas, and storing, by the processor, a result of the floating point multiply instruction in a storage location indicated by the floating point multiply instruction.

PERFORMING A FLOATING-POINT MULTIPLY-ADD OPERATION IN A COMPUTER IMPLEMENTED ENVIRONMENT

A processor is used for performing a floating-point multiply-add operation of a form A*B+C on at least one multiply-add unit, with three input floating-point operands A, B, C, wherein at least one of the operands A, B, C is substituted by at least one value of a predefined operand value set.

Cryptographic Computer Machines with Novel Switching Devices
20230125560 · 2023-04-27 ·

Operational n-state digital circuits and n-state switching operations with n and integer greater than 2 execute Finite Lab-transformed (FLT) n-state switching functions to process n-state signals provided on at least 2 inputs to generate an n-state signal on an output. The FLT is an enhancement of a computer architecture. Cryptographic apparatus and methods apply circuits that are characterized by FLT-ed addition and/or multiplication over finite field GF(n) or by addition and/or multiplication modulo-n that are modified in accordance with reversible n-state inverters, and are no longer known operations. Cryptographic methods processed on FLT modified machine instructions include encryption/decryption, public key generation, and digital signature methods including Post-Quantum methods. They include modification of isogeny based, NTRU based and McEliece based cryptographic machines.

ELECTRONIC DEVICE INCLUDING NEURAL PROCESSING UNIT SUPPORTING DIFFERENT DATA TYPES AND METHOD FOR CONTROLLING THE SAME
20230123312 · 2023-04-20 ·

An operational circuit may include a combiner to combine, based on a request for multiplication of integer numbers different from floating-point numbers, a first integer number and a second integer number. The operational circuit may include a multiplier including first and second ports. A third integer number may be inputted to the first port, and a fourth integer number indicating a combination of the first integer number and the second integer number may inputted to the second port. The operational circuit may include a converter to output, based on a fifth integer number indicating a multiplication of the third integer number and the fourth integer number from a third port of the multiplier, a sixth integer number indicating a multiplication of the first integer number and the third integer number, and a seventh integer number indicating a multiplication of the second integer number and the third integer number.