Electronic multiplication circuit and corresponding multiplication method
AssigneesSTMicroelectronics (Alps) SAS, STMicroelectronics (Rousset) SAS
InventorsFabrice Romain, Fabien Journet
Life of this patent
Estimating the term…
Abstract
In an embodiment, after a first phase of multiplication, in an electronic multiplication circuit, of a first operand by a second operand leading to a successive delivery of least significant words of the result of the first multiplication, a second multiplication, of the first operand by a supplementary operand is implemented in the electronic multiplication circuit, during a second phase of multiplication. The supplementary operands are not all identical.
Claims22
A method for multiplying a succession of first operands by a succession of second operands using an electronic multiplication circuit comprising a multiplier stage coupled to a carry save adder stage, a circuit output coupled to a first output interface of the carry save adder stage, an accumulation stage looped between a second output interface and an input interface of the carry save adder stage, the method comprising:
- for each first operand and the corresponding second operand:
- a first multiplication, in the electronic multiplication circuit, in a first phase, of the first operand by the second operand comprising successive deliveries to the circuit output of the least significant word or words of the result of the first multiplication using successive extractions of data from the first output interface and a storage of data representing the most significant word or words of the result of the first multiplication in the accumulation stage;
- a second multiplication, in the electronic multiplication circuit, of the first operand by a supplementary operand comprising a sequential extraction from the accumulation stage of the data representing the most significant word or words of the result of the first multiplication, the supplementary operands respectively associated with the first operands not all being identical;
- and
- generating, in a second phase, a current consumption substantially equivalent to a current consumption of the first phase to prevent synchronization for side channel attacks.
An electronic multiplication circuit, comprising:
- a carry save adder stage having a first input interface;
- a first circuit input configured to receive a succession of first operands;
- a second circuit input configured to receive a succession of second operands;
- a third circuit input configured to receive a succession of supplementary operands;
- a multiplier stage coupled to the first circuit input and selectively to the second circuit input or to the third circuit input and having a multiplier output coupled to the first input interface of the carry save adder stage;
- a circuit output coupled to a first output interface of the carry save adder stage;
- an accumulation stage looped between a second output interface and a second input interface of the carry save adder stage;
- a configurable control circuit having first and second configurations, wherein,
- in the first configuration, for each first operand and the corresponding second operand, the configurable control circuit is configured to allow a first multiplication of the first operand by the second operand and to implement successive deliveries to the circuit output of the least significant word or words of the result of the first multiplication from successive extractions of data from the first output interface of the carry save adder stage and a storage of data representing the most significant word or words of the result of the first multiplication in the accumulation stage, and
- in the second configuration, the configurable control circuit is configured to allow a second multiplication of the first operand by a supplementary operand comprising a sequential extraction from the accumulation stage of the data representing the most significant word or words of the result of the first multiplication, the supplementary operands respectively associated with the first operands not all being identical;
- and
- a first control circuit configured to:
- place the configurable control circuit in the first configuration, and
- after placing the configurable control circuit in the first configuration, place the configurable control circuit in the second configuration.
An electronic multiplication circuit, comprising:
- a carry save adder stage;
- an input configured to receive a succession of first operands, a succession of second operands, and a succession of supplementary operands;
- an output configured to deliver a result of multiplying a succession of first operands by a succession of second operands;
- a multiplier stage coupled to the input and the carry save adder stage;
- an accumulation stage looped between an input of the carry save adder stage and an output of the carry save adder stage;
- a configurable control circuit configured to, for each first operand and the corresponding second operand:
- allow, in a first configuration, a first multiplication of a respective first operand by its corresponding second operand,
- implement, in the first configuration, successive deliveries to the output of the least significant word or words of the result of the first multiplication from successive extractions of data from the carry save adder stage,
- implement, in the first configuration, a storage of data representing the most significant word or words of the result of the first multiplication in the accumulation stage, and
- allow, in a second configuration, a second multiplication of the respective first operand by a supplementary operand comprising a sequential extraction from the accumulation stage of the data representing the most significant word or words of the result of the first multiplication, the supplementary operands associated with the first operands not all being identical;
- and
- a first control circuit configured to:
- place the configurable control circuit in the first configuration, and
- place the configurable control circuit in the second configuration after placing the configurable control circuit in the first configuration.
Dependencies are inferred from the claim text.