G06F7/723

A COMPUTATION DEVICE AND METHOD

Some embodiments are directed to an electronic computation device (100) arranged for obfuscated execution of a multiplication. The device comprises a storage (120) arranged for storing multiple variables used in the execution of an arithmetic operation, a variable (x: y; 2) of the multiple variables being represented as multiple multiplicative shares (X=(x.sub.0, x.sub.1, . . . , x.sub.m1); Y=(y.sub.0, y.sub.1, . . . , y.sub.m1); 20), said multiplicative shares being represented in the storage as multiple additive shares (x.sub.i=(x.sub.i,0,x.sub.i,1, . . . , x.sub.i,n1); Yi=(y.sub.i,0,y.sub.i,1, . . . , y.sub.i,n1); 210, 220).

Dynamic channels in secure queries and analytics
10721057 · 2020-07-21 · ·

Systems and methods for end-to-end encryption and dynamic resizing and encoding into grouped byte channels are described herein. A query is homomorphically encrypted at a client using dynamic channel techniques. The encrypted query is sent without a private key to a server for evaluation over target data to generate encrypted response without decrypting the encrypted query. The result elements of the encrypted response are grouped, co-located, and dynamically resized and encoded into grouped byte channels using the dynamic channel techniques, without decrypting the encrypted query or the encrypted response. The encrypted response is sent to the client where the client uses the private key and channel extraction techniques associated with the dynamic channel techniques to decrypt and perform channel extraction on the encrypted response to obtain the results of the query without revealing the query or results to a target data owner, an observer, or an attacker.

Systems and methods for efficient fixed-base multi-precision exponentiation
10693627 · 2020-06-23 · ·

Systems and methods for efficient fixed-base multi-precision exponentiation are disclosed herein. An example method includes applying a multi-precision exponentiation algorithm to a base number, the multi-precision exponentiation algorithm comprises a pre-generated lookup table used to perform calculations on the base number, the pre-generated lookup table comprising pre-calculated exponentiated values of the base number.

Apparatus and method for performing operation being secure against side channel attack

An apparatus and method for performing operation being secure against side channel attack are provided. The apparatus and method generate values equal to values obtained through an exponentiation operation or a scalar multiplication operation of a point using values extracted from previously generated parameter candidate value sets and an operation secure against side-channel attack, thereby improving security against side-channel attack without degrading performance.

ASYMMETRICALLY MASKED MULTIPLICATION
20200110907 · 2020-04-09 · ·

Methods and systems for masking certain cryptographic operations in a manner designed to defeat side-channel attacks are disclosed herein. Squaring operations can be masked to make squaring operations indistinguishable or less distinguishable from multiplication operations. In general, squaring operations are converted into multiplication operations by masking them asymmetrically. Additional methods and systems are disclosed for defeating DPA, cross-correlation, and high-order DPA attacks against modular exponentiation.

ELECTRONIC CALCULATING DEVICE ARRANGED TO CALCULATE THE PRODUCT OF INTEGERS

An electronic calculating device (100; 200) arranged to calculate the product of integers, the device comprising a storage (110) configured to store integers (210, 220) in a multi-layer residue number system (RNS) representation, the multi-layer RNS representation having at least an upper layer RNS and a lower layer RNS, the upper layer RNS being a residue number system for a sequence of multiple upper moduli (M.sub.i), the lower layer RNS being a residue number system for a sequence of multiple lower moduli (m.sub.i), an integer (x) being represented in the storage by a sequence of multiple upper residues (x.sub.i=(x).sub.Mi; 211, 221) modulo the sequence of upper moduli (M.sub.i), upper residues (x.sub.j; 210.2, 220.2) for at least one particular upper modulus (M.sub.j) being further-represented in the storage by a sequence of multiple lower residues ((x.sub.j).sub.mj, 212, 222) of the upper residue (x.sub.j) modulo the sequence of lower moduli (m.sub.i), wherein at least one of the multiple lower moduli (m.sub.i) does not divide a modulus of the multiple upper moduli (M.sub.j).

EXPONENT SPLITTING FOR CRYPTOGRAPHIC OPERATIONS
20200076569 · 2020-03-05 ·

A first share value and a second share value may be received. A combination of the first share value and the second share value may correspond to an exponent value. The value of a first register is updated using a first equation that is based on the first and second share values and the value of a second register is updated using a second equation that is based on the second share value. One of the value of the first register or the value of the second register is selected based on a bit value of the second share value.

Outsourcing exponentiation in a private group
11943352 · 2024-03-26 · ·

A method for outsourcing exponentiation in a private group includes executing a query instruction to retrieve a query element stored on an untrusted server by selecting a prime factorization of two or more prime numbers of a modulus associated with the query element stored on the server, obtaining a group element configured to generate a respective one of the prime numbers, generating a series of base values using the prime factorization and the group element, and transmitting the series of base values from the client device to the server. The server is configured to determine an exponentiation of the group element with an exponent stored on the server using the series of base values. The method also includes receiving a result from the server based on the exponentiation of the group element with the exponent.

METHOD FOR PERFORMING MUTUALIZED CALCULATIONS OF MULTIPLE CRYPTOGRAPHIC OPERATIONS
20240097900 · 2024-03-21 · ·

Provided is a method for performing a plurality of cryptographic operations, that upon reception of a request to perform one of said cryptographic operations, prevents an execution by said processing system of said requested cryptographic operation until a predetermined waiting time (G) has elapsed, and before said predetermined waiting time has elapsed, receives one or more requests to perform another cryptographic operation, and after said predetermined waiting time (G) has elapsed, answers (S3) said requests by executing operations comprising mutualized calculations. The method determines said waiting time depending on execution times of said cryptographic operations to be performed and of said mutualized calculations.

DECODING MULTIPATH DATA COMMUNICATIONS SYSTEM AND METHODS
20240097990 · 2024-03-21 · ·

A system for decoding a transmission include a client device configured to receives a superposition via one or more communication links. The superposition may correspond to a transmission encoded into a plurality of fragments. The system may determine a coefficient for each fragment contained in the superposition and initialize a decoding process. The decoding process may facilitate determining a value of each fragment based on the identified coefficient of each fragment in the superposition. Advantageously, the system, through use of a the one or more communication links, may be configured to decode the transmission to derive information transmitted from a data source quickly and reliably.