Multilplier and cipher circuit
AssigneeInternational Business Machines Corporation
InventorsAkashi Satoh, Kohji Takano
Life of this patent
Estimating the term…
Abstract
A multiplier circuit is disclosed including a Wallace tree block and a carry propagation adder. The Wallace tree block includes a sum calculation block adding partial products for each digit and a carry calculation block adding carries obtained in the addition by the sum calculation block. In the case of multiplication over an extension field (finite field GF(2n)) of two, a result of calculation by the sum calculation block is outputted. The carry propagation adder adds the result of calculation by the sum calculation block and a result of calculation by the carry calculation block. In the case of multiplication for integers (finite field GF(p)), a result of calculation by the carry propagation adder is outputted.
Claims13
A multiplier, comprising:
- a Wallace tree block calculating partial products for two input values as objects of multiplication and adding the partial products into a redundant binary form;
- and
- a carry propagation adder converting a redundant binary number outputted from the Wallace tree block into a two's complement form, wherein
- the Wallace tree block comprises:
- a sum calculation block adding the partial products, and
- a carry calculation block adding carries generated by the sum calculation block.
A multiplier multiplying two input values as objects of multiplication by calculating partial products for the two input values and adding the partial products using half adders and full adders, the multiplier comprising:
- multiplication means for calculating a sum of the partial products and outputting the sum as a result of the multiplication in the case that the input values are elements in an extension field of two;
- carry addition means for adding carries generated in the calculation of the multiplication means;
- and
- addition means for adding a result of the calculation of the multiplication means and a result of the calculation of the carry addition means and outputting a result of the addition as the result of the multiplication in the case where the input values are integers.
A cipher circuit, comprising:
- arithmetic means for performing arithmetic for encryption or decryption of data;
- and
- control means for controlling the arithmetic by the arithmetic means;
- wherein the arithmetic means comprise a multiplier using half adders and full adders and comprises:
- a Wallace tree block calculating partial products for two input values as objects of multiplication and adding the partial products into a redundant binary form;
- and
- a carry propagation adder converting a redundant binary number outputted from the Wallace tree block to a two's complement form;
- and
- wherein the Wallace tree block comprises:
- a sum calculation block adding the partial products, and
- a carry calculation block adding carries generated by the sum calculation block.
A cipher circuit, comprising:
- arithmetic means for performing arithmetic for encryption or decryption of data;
- and
- control means for controlling the arithmetic by the arithmetic means;
- wherein the arithmetic means comprises a multiplier which multiplies two input values as objects of multiplication by calculating partial products for the input values and adding the partial products using half adders and full adders and the arithmetic means comprises:
- multiplication means for calculating a sum of the partial products for each digit and outputting the sum as a result of the multiplication in the case that the input values are elements of a finite field GF(2N);
- and
- carry addition means for adding carries generated in the calculation of the multiplication means;
- and
- addition means for adding a result of the calculation of the multiplication means and a result of the calculation of the carry addition means and outputting a result of the addition as a result of the multiplication in the case where the input values are integers.
Dependencies are inferred from the claim text.