G06F7/721

Protection of databases, data transmissions and files without the use of encryption
11556669 · 2023-01-17 · ·

A permutation algorithm using modular arithmetic is applied to the cells of one or more specific fields of a database or other file type. This permutation reorders the cells of the specific field(s) without altering content of any individual cell, thereby hiding relationships between cells of the permuted field(s) and the other information in the associated records. The permutation algorithm may use modular addition and modular subtraction, in either order. Different permutation algorithms may use varying numbers of parameters. To locate a specific cell in a permuted field, the parameter(s) from the permutation, an identification of the specific record associated with the cell, and an identification of the specific permuted field are applied in a modular arithmetic operation. A specific record with which a specific cell in a permuted field is associated may be obtained by an inverse modular arithmetic operation.

COMPUTER-READABLE RECORDING MEDIUM STORING CONTRACT PROGRAM, CONTRACT METHOD, AND INFORMATION PROCESSING APPARATUS

A recording medium stores a program causing a computer to execute a process including: setting, for each order having a condition that a contract count is designated, a polynomial having a contract count under the condition; representing an order status in which the orders are combined, with a polynomial on a finite field having a remainder obtained by dividing a coefficient of each term in a polynomial obtained by multiplying the polynomials corresponding to the orders; updating the polynomial on the finite field to a polynomial on a finite field representing an order status after a first order is combined, by multiplying the polynomial by a polynomial corresponding to the first order; and detecting an error in the polynomial after the update when a coefficient which is not 0 of a term in the polynomial before the update is 0 in the polynomial.

Method, system and device for multi-cycle division operation
11500612 · 2022-11-15 · ·

The present disclosure relates generally to arithmetic units of processors, and may relate more particularly to multi-cycle division operations. Multiple-cycles of a radix-m division operation may be performed to generate one or more signal states representative of a result value based at least in part on a dividend value and a divisor value.

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.

INVERSE ELEMENT OPERATION APPARATUS AND COMPUTER READABLE MEDIUM
20230076400 · 2023-03-09 · ·

An acceptance unit (110) accepts an element a. A preliminary operation unit (120) calculates t.sub.1 that is a computation result of a.sub.0.sup.2, t.sub.2 that is a computation result of a.sub.2.sup.2, t.sub.3 that is a computation result of a.sub.0a.sub.1, t.sub.4 that is a computation result of a.sub.1a.sub.2, and t.sub.7 that is equal to a computation result of (a.sub.0+a.sub.1)(a.sub.1−a.sub.2), using a.sub.0, a.sub.1, and a.sub.2. An inverse element operation unit (130) calculates b.sub.0 that is equal to a computation result of a.sub.0.sup.2−a.sub.1a.sub.2v, b.sub.1 that is equal to a computation result of a.sub.2.sup.2v−a.sub.0a.sub.1, and b.sub.2 that is equal to a computation result of a.sub.1.sup.2−a.sub.0a.sub.2, using t.sub.1, t.sub.2, t.sub.3, t.sub.4, and t.sub.7. An output unit (140) generates and outputs an inverse element a.sup.−1, using b.sub.0, b.sub.1, and b.sub.2.

Protection of Databases, Data Transmissions and Files without the Use of Encryption
20230124222 · 2023-04-20 ·

A permutation algorithm using modular arithmetic is applied to the cells of one or more specific fields of a database or other file type. This permutation reorders the cells of the specific field(s) without altering content of any individual cell, thereby hiding relationships between cells of the permuted field(s) and the other information in the associated records. The permutation algorithm may use modular addition and modular subtraction, in either order. Different permutation algorithms may use varying numbers of parameters. To locate a specific cell in a permuted field, the parameter(s) from the permutation, an identification of the specific record associated with the cell, and an identification of the specific permuted field are applied in a modular arithmetic operation. A specific record with which a specific cell in a permuted field is associated may be obtained by an inverse modular arithmetic operation.

ACCELERATING MULTIPLICATIVE MODULAR INVERSE COMPUTATION
20230060275 · 2023-03-02 ·

Techniques for computing a multiplicative modular inverse of two numbers is described. In the case of a and p, p being an n-bit integer, computing the multiplicative modular inverse includes loading in a first register the value of a, and computing, using a first modular multiplier, a square of the first register n times. Concurrently, using a second modular multiplier, a.sup.n is computed. Further, a product of outputs from the first modular multiplier and the second modular multiplier is computed as a result of the multiplicative modular inverse of a and p. In cases where p has more than n bits, the multiplicative modular inverse is computed iteratively using n-bit windows.

Modular operation circuit adopting iterative calculations
11662978 · 2023-05-30 · ·

A modular operation circuit includes a controller, a modular multiplier and a modular adder. The controller divides a first number into K segments. The modular multiplier performs modular multiplication operations and the modular adder performs modular addition operations to the K segments in (K−1) iterations for deriving a remainder of a division of the first number by a second number.

Low complexity conversion to Montgomery domain

Disclosed herein is an apparatus for calculating a cryptographic component R.sup.2 mod n for a cryptographic function, where n is a modulo number and R is a constant greater than n. The apparatus comprises an arithmetic logic unit configured to iteratively perform Montgomery multiplication of a first operand with a second operand to produce an intermediate result, wherein the first operand and the second operand are set to the intermediate result after each iteration, responsive to a termination condition being met, determine an adjustment parameter indicative of a difference between the intermediate result and the cryptographic component, and perform Montgomery multiplication of the intermediate result with the adjustment parameter, to calculate the cryptographic component for the cryptographic function.

METHOD FOR THE MANAGEMENT OF VIRTUAL OBJECTS CORRESPONDING TO REAL OBJECTS, CORRESPONDING SYSTEM AND COMPUTER PROGRAM PRODUCT

A method for managing virtual objects (O) corresponding to real objects (R), said virtual objects (O) comprising a set (OP) of information or data representing said real object (R), said virtual objects (0) residing in a management system (20), which comprises a computer system (21) accessible by user terminals (13) through a telecommunication network to enable operations to be carried out on said virtual objects (O) in a database (22a) in said computer system (21), said method comprising the operations of: generating (100), in response to a request of a requesting subject (C) to create one or more virtual objects (O) that represent respective real objects (R), corresponding unique identifier codes (Z, z.sub.x, c, i) that enable a user terminal (13) to carry out operations on the respective virtual object (O). According to the invention, said unique identifier codes (z.sub.x, c, i) enable a user terminal (13) to carry out a procedure of activation of the respective virtual object (O) by associating in the database (22a) comprised in said computer system (21) a unique identifier code (Z, (Z, z.sub.x, c, i) to a first basic set (BP) of information supplied by said owning subject (C) at the moment of the request, said identifier code (z.sub.x, c, i) being calculated on the basis of: a first value (X) identifying a class to which the virtual object belongs (O); a second value (C) identifying said requesting subject; and a third value (i) representing a label that identifies said virtual object (0) in said class (X).