KR100403938B1 - High speed (7, 3) Adder for symmetric key cipher - Google Patents
High speed (7, 3) Adder for symmetric key cipher Download PDFInfo
- Publication number
- KR100403938B1 KR100403938B1 KR10-1999-0021571A KR19990021571A KR100403938B1 KR 100403938 B1 KR100403938 B1 KR 100403938B1 KR 19990021571 A KR19990021571 A KR 19990021571A KR 100403938 B1 KR100403938 B1 KR 100403938B1
- Authority
- KR
- South Korea
- Prior art keywords
- inputs
- adder
- nand
- oring
- output
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5318—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Abstract
본 발명은 대칭키 암호의 빠른 연산을 위해 요구되는 고속 곱셈기에서 곱셈 연산시 부분곱의 수를 줄이기 위한 대칭키 암호용 고속 (7, 3) 덧셈기에 관한 것이다. 본 발명은 종래의 Wallace, Dadda 및 Swartzlander에서 설계된 (7, 3) 덧셈기에 비해서 단순 게이트들을 사용하여 구성되었고, 또한 7개의 입력에 대하여 합(S) 출력 1개와, 2 웨이트와 4웨이트를 각기 갖는 캐리(C1, C2)를 출력하는 구성으로 되어 있다. 이에 따른 본발명의 (7,3) 덧셈기는 Swartzlander의 (7,3) 덧셈기 보다 50%, Mehta의 (7,3) 덧셈기 보다 25%의 성능(속도) 개선을 꾀할 수 있게 된다.The present invention relates to a fast (7, 3) adder for symmetric key cryptography to reduce the number of partial products in a multiplication operation in a fast multiplier required for fast operation of symmetric key cryptography. The present invention is constructed using simple gates compared to the (7, 3) adder designed in the conventional Wallace, Dadda and Swartzlander, and also has one sum (S) output, seven weights and four weights for seven inputs. It has a structure of outputting the carry (C 1, C 2). Accordingly, the (7,3) adder of the present invention can improve the performance (speed) by 50% than Swartzlander's (7,3) adder and 25% than Mehta's (7,3) adder.
Description
본 발명은 매우 큰 수를 사용하는 암호 프로세서의 곱셈에 관계된 기술분야에 관한 것으로서, 특히 빠른 곱셈을 위한 (7, 3) 덧셈기(카운터)에 관한 것이다.TECHNICAL FIELD The present invention relates to the technical field related to multiplication of cryptographic processors using very large numbers, and in particular, to a (7, 3) adder (counter) for fast multiplication.
곱셈은 많은 부분곱들이 곱을 만드는데 더해지기 때문에 본질적으로 느린 연산이다. 많은 사람들이 부분곱의 수를 줄이려는 노력과 함께, 부분곱의 합을 빠르게 연산하는 방법을 연구해 왔다.Multiplication is essentially a slow operation because many partial products are added to make a product. Many people have been exploring how to quickly calculate the sum of partial products, with efforts to reduce the number of partial products.
먼저, 부분곱의 수를 줄이기 위하여 변형 Booth 인코딩(encoding)이 사용될 수 있다. 일반적으로 많이 쓰이는 기수(Radix)-4 변형 Booth 인코딩 알고리즘은 16 × 16 비트 곱셈의 경우에 부분곱의 수를 16개에서 8개로 줄일 수 있으며, 인코딩이 용이하다. 그러나, 이것 역시 여전히 큰 수이며 전체 지연시간(delay time)을 실질적으로 좌우한다. 특히, 매우 큰 수를 사용하는 암호 프로세서는 지연시간을 줄이기 위하여 Radix-4을 사용하는 것 조차도 불충분하다. 이와 같은 이유로 인하여 radix-8, radix-16 등 더 높은 radix 체계가 사용되고 있지만 이 기수(radix) 체계는 인코딩이 복잡하여 많은 부가적인 하드웨어를 수반하여야 한다.First, modified Booth encoding may be used to reduce the number of partial products. The commonly used Radix-4 modified Booth encoding algorithm can reduce the number of partial products from 16 to 8 for 16 × 16 bit multiplication, and is easy to encode. However, this is still a large number and substantially dictates the overall delay time. In particular, cryptographic processors using very large numbers are not enough to even use Radix-4 to reduce latency. For this reason, higher radix schemes such as radix-8 and radix-16 are used, but this radix scheme is complicated in encoding and requires a lot of additional hardware.
다음은 부분곱의 합을 빠르게 하기 위한 종래기술의 예들을 살펴보면 다음과 같다.The following is an example of the prior art for speeding up the sum of partial products.
먼저, Wallace는 리플 캐리(ripple carry)가 없는 전가산기(full adder)들의 배열로서, 3 입력을 취하여 2 개의 등가 출력을 만들어 내는 가산기를 사용하였다. Wallace는 부분곱의 합을 구하는데 여러 레벨에서 덧셈기 (가산기)를 사용하였다.First, Wallace used an adder that takes three inputs and produces two equivalent outputs as an array of full adders without ripple carry. Wallace used an adder at several levels to sum the partial products.
또한 다른 예로서, Dadda는 부분곱 행렬을 줄이기 위하여 (n, m)병렬 덧셈기를 도입하였다. 병렬 덧셈기는 액티브(active)인 1의 개수를 세는 디바이스를 말한다. (n, m) 병렬 덧셈기는 n개의 입력과 m개의 출력을 갖는 조합 논리 회로이다.As another example, Dadda introduced a (n, m) parallel adder to reduce partial product matrices. A parallel adder is a device that counts the number of 1s that are active. The (n, m) parallel adder is a combinational logic circuit with n inputs and m outputs.
여기서, m은 입력에 들어오는 1의 개수를 2진수로 코드화한 값이다. 따라서, 반가산기(half adder)는 (2, 2) 덧셈기가 되며, 전가산기는 (3, 2)덧셈기가 된다. Dadda는 적절한 병렬 덧셈기들을 사용하여 부분곱의 높이를 줄이려고 하였으며, Dadda는 사용 가능한 병렬 덧셈기에 따라 각 레벨의 부분곱 행렬의 적절한 높이가 존재한다는 것을 이론적으로 정립하였다. 각 레벨에서, Dadda는 부분곱 행렬의 높이를 줄이기 위하여 (3, 2) 덧셈기와 (2, 2) 덧셈기 만을 사용하거나 (3, 2) 이외의 덧셈기((7, 3)덧셈기, (15, 4)덧셈기)를 사용하였다. 이러한 Dadda의 (n, m)병렬 덧셈기에서, n은 같은 웨이트(weight)를 갖는 입력의 수이다. n은 부분곱 행렬의 같은 열(column)로부터 나와야 한다. 그런데, Stenzel은 Dadda의 개념을 확장하여 다중 열(multiple columns)로 구성된 입력 비트를 갖는 병렬 덧셈기를 제안하였다.Where m is the number of 1s input to the binary coded value. Thus, the half adder becomes a (2, 2) adder and the full adder becomes a (3, 2) adder. Dadda tried to reduce the height of the partial product by using the appropriate parallel adders, and Dadda theoretically established that there is an appropriate height of the partial product matrix at each level according to the available parallel adders. At each level, Dadda uses only (3, 2) and (2, 2) adders to reduce the height of the partial product matrix, or adders other than (3, 2) ((7, 3) adders, (15, 4). Adder). In this Dadda's (n, m) parallel adder, n is the number of inputs with the same weight. n must come from the same column of the partial product matrix. However, Stenzel extended the concept of Dadda and proposed a parallel adder with input bits consisting of multiple columns.
또 다른 예로서, Swartzlander는 2개의 k 입력 덧셈기와 (1+|log2k| ) 단(stage) 리플 캐리 덧셈기를 사용하여 덧셈기를 설계하는 방법 ((2k+1)개 입력을 갖는 덧셈기)을 사용하였다. 예를 들어, (7, 3) 덧셈기는 3 입력의 (3,2) 카운터 2개와 2단의 리플 캐리 덧셈기로 구현된다.As another example, Swartzlander uses a method of designing an adder (two adders with (2k + 1) inputs) using two k input adders and a (1+ | log 2 k |) stage ripple carry adder. Used. For example, the (7, 3) adder is implemented with two 3-input (3,2) counters and a two-stage ripple carry adder.
또 다른 예로서, Mehta는 기존의 Wallace, Dadda의 설계들을 사용하는 것 보다 빠른 (7, 3) 카운터를 고안하여 16 × 16 비트 곱셈기를 설계하는데 적용하였다. 그러나, Mehta의 방법은 Wallace, Dadda 보다 빠르지만 하드웨어가 많이 소모된다는 단점이 있다.As another example, Mehta devised a (7, 3) counter that was faster than using existing Wallace, Dadda designs and applied it to design a 16x16 bit multiplier. However, Mehta's method is faster than Wallace and Dadda, but it consumes a lot of hardware.
다음은 Swartzlander의 (7,3) 덧셈기와 Mehta의 (7,3) 덧셈기에 대하여 설명하겠다. Swartzlander의 (7,3) 덧셈기는 (3,2) 덧셈기 만으로 설계된 덧셈기이다. 첫번째 레벨에서, 두 개의 (3,2) 덧셈기는 7개의 입력 중 6개를 취하여 두 개의 합과 두 개의 캐리 출력을 발생시킨다. 첫번째 레벨의 합 출력들은 두 번째 레벨에서 합 출력을 발생시키기 위하여 7번째 입력과 결합된다. 이 (3,2) 덧셈기의 캐리 출력은 다시 다른 (3,2) 덧셈기를 사용하여 첫번째 레벨에서의 두 캐리 출력과 결합되어 2 웨이트의 캐리 C1과 4 웨이트의 캐리 C2를 만든다. 이 회로는 6개의배타적(exclusive) 논리합(OR) 지연을 가진다.The following section describes Swartzlander's (7,3) adder and Mehta's (7,3) adder. Swartzlander's (7,3) adder is an adder designed only with (3,2) adders. In the first level, two (3,2) adders take six of the seven inputs and generate two sums and two carry outputs. The sum outputs of the first level are combined with the seventh input to generate a sum output at the second level. The carry output of this (3,2) adder is then combined with the two carry outputs at the first level using another (3,2) adder to produce two weights of carry C 1 and four weights of carry C 2 . This circuit has six exclusive OR delays.
또한, Mehta가 제안한 (7,3) 덧셈기는 다음과 같다. 먼저, 7개의 입력 (x0∼x6)을 두 군(x0, x1, x2, x3), (x4, x5, x6)으로 나눈다. 첫번째 내부신호(A)는 첫번째 군에서 입력의 1의 개수가 2개, 3개, 또는 4개에 대한 캐리이다. 반면, 두번째 내부 신호(B)는 두번째 군에서 입력의 1의 개수가 2개 또는 3개에 대한 캐리이다. 세번째 내부신호(C)는 첫번째 군에서 입력의 1의 개수가 4일 때와 두 군 사이에 1의 개수가 1-1, 1-3, 3-1일 때 논리합(이하, 'OR')을 함으로써 발생된다. 이 세 신호(A, B, C)들은 2 웨이트의 C1과 4 웨이트의 C2를 얻기 위하여 1개의 전가산기를 사용하여 결합된다. 본 발명에서는 앞의 두 덧셈기들 보다 더 빠른 덧셈기를 언급한다.Also, Mehta's proposed (7,3) adder is First, the seven inputs (x0 to x6) are divided into two groups (x0, x1, x2, x3) and (x4, x5, x6). The first internal signal A is a carry of two, three, or four 1s of the inputs in the first group. On the other hand, the second internal signal B is a carry of two or three inputs 1 in the second group. The third internal signal C is a logical sum ('OR') when the number of inputs 1 is 4 in the first group and the number of 1s is 1-1, 1-3, and 3-1 between the two groups. Is generated. These three signals (A, B, C) are combined using one full adder to obtain two weights of C 1 and four weights of C 2 . The present invention refers to a faster adder than the previous two adders.
본 발명은 대칭 암호 프로세서의 빠른 곱셈을 위하여 종래기술보다 (7, 3) 곱셈기의 속도를 개선하는데 그 목적이 있다.It is an object of the present invention to improve the speed of a (7, 3) multiplier over the prior art for faster multiplication of a symmetric cryptographic processor.
도 1은 본 발명의 고속 (7,3) 덧셈기의 구성도,1 is a block diagram of a high speed (7,3) adder of the present invention,
도 2는 본 발명의 고속 (7,3) 덧셈기의 예시도.2 is an illustration of a fast (7,3) adder of the present invention.
이하, 본 발명을 첨부된 도면을 참조하여 설명한다.Hereinafter, the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 (7,3) 덧셈기의 구성도이다.1 is a block diagram of a (7,3) adder of the present invention.
본 발명의 (7,3)덧셈기는 인버터(inverter), NAND(낸드), NOR(노아), AOI(And-Or-Inverter) 및 OAI(Or-And-Inverter) 게이트들로 구성하였으며, 4입력이하로 실현하였다. ND는 NAND, NR는 NOR를 의미하며, ND와 NR 뒤의 숫자는 입력수를 의미한다. 또한, AO는 AOI, OA는 OAI를 의미하며 뒤의 숫자 둘은 각각 AND(앤드)나 OR(오아) 게이트의 입력의 수 및 게이트 수를 의미한다. 여기서, 같은 웨이트(weight)를 갖는 7비트 입력(부분합)이 주어질 때, S는 합이고, C1은 2 웨이트를 갖는 캐리이며, C2는 4 웨이트를 갖는 캐리이다.The (7,3) adder of the present invention is composed of an inverter, a NAND (NAND), a NOR (Noah), an AOI (And-Or-Inverter), and an OAI (Or-And-Inverter) gate. It was realized as follows. ND means NAND, NR means NOR, and the numbers after ND and NR mean the number of inputs. In addition, AO means AOI, OA means OAI, and the second two numbers mean the number of gates and the input of AND and OR gates, respectively. Here, when a 7-bit input (subtotal) with the same weight is given, S is a sum, C 1 is a carry with 2 weights, and C 2 is a carry with 4 weights.
도 1에서 4 웨이트를 갖는 캐리 C2에 대하여 설명하면 다음과 같다.Referring to the carry C 2 having a weight of 4 in FIG. 1 as follows.
먼저, 같은 웨이트를 갖는 7개의 입력 (x0∼x6)을 각각 받은 블록 ND2(10), AO24(11), AO23(12), AO24(13), ND3(14), NR2(15), ND2(16), NR3(17), AO34(18), NR4(19), ND4(20)가 계산된다.First, blocks ND2 (10), AO24 (11), AO23 (12), AO24 (13), ND3 (14), NR2 (15), and ND2 (7), each of which receives seven inputs (x0 to x6) having the same weight. 16), NR3 (17), AO34 (18), NR4 (19), and ND4 (20) are calculated.
다음, 앞서 계산된 블록 ND2(10), AO24(11), AO23(12), AO24(13), ND3(14), NR2(15)의 출력을 입력으로 받아 OA23(21) 블록에서 계산된다. 동시에, AO23(12)와 ND2(16)의 출력을 입력으로 받아 NR2(22)을 수행하고, NR3(17)과 AO34(18)의 출력을 입력으로 받아 NR2(23)을 수행하고, ND4(20)으로부터 입력을 받아 INV(24)블록에서 각각 반전(Inverting)되어 계산된다.Next, the outputs of the blocks ND2 (10), AO24 (11), AO23 (12), AO24 (13), ND3 (14), and NR2 (15) calculated above are input and calculated in the OA23 (21) block. At the same time, the outputs of AO23 (12) and ND2 (16) are received as inputs to perform NR2 (22), the outputs of NR3 (17) and AO34 (18) are inputted to perform NR2 (23) and ND4 ( 20) are inputted from the INV 24 block and are calculated.
다음으로, NR2(22)와 OA23(21)의 출력을 입력으로 받아 NR2(25) 블록, NR2(23), NR4(19) 및 INV(24)의 수행 결과를 입력으로 받아 NR3(26) 블록에서 노아(NOR)를 수행하여 계산된다.Next, the outputs of the NR2 (22) and the OA23 (21) are received as inputs, and the NR2 (26) blocks are received as the inputs of the NR2 (25) blocks, NR2 (23), NR4 (19), and INV (24). Calculated by performing NOR at.
마지막으로, NR2(25)와 NR3(26)의 출력을 ND2(27)블록에서 낸딩 계산을 함으로써 4 웨이트의 C2가 얻어진다.Finally, four weights of C 2 are obtained by NAND calculation of the outputs of NR2 25 and NR3 26 in the ND2 27 block.
한편, 2 웨이트를 갖는 캐리 C1에 대하여 설명하면 다음과 같다.On the other hand, a description will be given of the carry C 1 having two weights.
먼저, 같은 웨이트를 갖는 7개의 입력 (x0∼x6)으로부터 블록 NR3(31), AO34(32), ND3(33), AO34(34), ND4(35), ND4(36), AO23(37), AO42(38), AO23(39), ND4(40), ND3(41), AO32(42), AO33(43), ND3(44), ND3(47)이 계산된다.First, block NR3 (31), AO34 (32), ND3 (33), AO34 (34), ND4 (35), ND4 (36), and AO23 (37) from seven inputs (x0 to x6) having the same weight. , AO42 (38), AO23 (39), ND4 (40), ND3 (41), AO32 (42), AO33 (43), ND3 (44), and ND3 (47) are calculated.
다음, 앞서 계산된 블록 NR3(31)와 AO34(32)로부터 NR2(48) 블록, ND3(33)과 AO34(34)로부터 NR2(49) 블록, XO2(81)로부터 INV(84) 블록, ND4(36)과 AO23(37)로부터 NR2(55) 블록, ND4(20)과 AO23(12)로부터 NR2(45) 블록, ND2(16)과 ND3(44)로부터 AO02(46) 블록, ND3(47)과 AO34(18)로부터 NR2(56) 블록, AO42(38)과 AO23(39)로부터 NR2(50) 블록, ND4(40)과 AO23(37)로부터 NR2(51) 블록, ND3(41)과 AO33(43)으로부터 NR2(52) 블록, AO32(42), AO33(43)과 ND3(44)로부터 AO21(53) 블록이 각각 계산된다. 그리고 ND4(35)와 INV(84)로부터 NR2(54)가 계산되며, NR2(50), NR2(51), NR2(52), AO21(53)으로부터 NR4(59)가 계산되며, NR2(45), AO02(46), NR2(56)으로부터 NR3(58)이 계산된다.Next, the blocks NR3 (31) and NR2 (48) from AO34 (32), NR2 (49) blocks from ND3 (33) and AO34 (34), INV (84) blocks from XO2 (81), ND4 calculated above NR2 (55) blocks from 36 and AO23 (37), NR2 (45) blocks from ND4 (20) and AO23 (12), AO02 (46) blocks from ND2 (16) and ND3 (44), ND3 (47) NR2 (56) blocks from AO34 (18), NR2 (50) blocks from AO42 (38) and AO23 (39), NR2 (51) blocks from ND4 (40) and AO23 (37), ND3 (41) and NR2 (52) blocks from AO33 (43), AO32 (42), AO21 (53) blocks from AO33 (43) and ND3 (44) are calculated, respectively. NR2 (54) is calculated from ND4 (35) and INV (84), NR4 (59) is calculated from NR2 (50), NR2 (51), NR2 (52), AO21 (53), and NR2 (45). ), NR3 58 is calculated from AO02 46 and NR2 56.
계산된 NR2(48), NR2(54), NR2(49)와 NR2(55) 블록들의 출력을 입력으로 받아 NR4(57) 블록에서 논리적 노어에 의해 계산된다.The outputs of the calculated NR2 (48), NR2 (54), NR2 (49) and NR2 (55) blocks are input and calculated by the logical NOR in the NR4 (57) block.
계산된 NR4(57), NR3(58) 및 NR4(59) 블록들로부터의 출력을 입력받아 ND3(60)블록에서 계산되어 2 웨이트를 갖는 캐리 C1이 출력된다.The outputs of the calculated NR4 (57), NR3 (58) and NR4 (59) blocks are input and calculated in the ND3 (60) block to output a carry C 1 having two weights.
또한, 도 1에서와 같은, 1 웨이트를 갖는 합 S에 대하여 설명하면 다음과 같다. 여기서, XO는 배타적 논리합(exclusive-OR)을 의미하고, 뒤의 숫자는 입력 수를 의미한다.In addition, the sum S having one weight as in FIG. 1 will be described as follows. Here, XO means exclusive-OR, and the number after it means the number of inputs.
먼저, 같은 웨이트를 갖는 7개의 입력(x0∼x6)을 받아 XO2(81), XO2(82) 및XO2(83)블럭에서 각기 배타적 논리합을 수행하여 입력이 계산된다.First, inputs are calculated by receiving the seven inputs (x0 to x6) having the same weight and performing an exclusive OR on the XO2 81, XO2 82, and XO2 83 blocks, respectively.
다음, 상기 XO2(81)과 XO2(82)로부터의 두 출력을 입력으로 받아 XO2(85)에서 계산하고, XO2(83)의 출력과 입력(x6)을 받아 XO2(86)의 출력이 계산된다. 이 XO2(85)와 XO2(86) 블록에서 계산된 출력을 입력으로 받아 XO2(87)블록에서 배타적 논리합에 의한 계산으로 1 웨이트를 갖는 합 S가 출력된다.Next, the two outputs from the XO2 81 and the XO2 82 are received as inputs, calculated by the XO2 85, and the outputs of the XO2 86 and the outputs of the XO2 86 are calculated. . The output S calculated by the XO2 85 and XO2 86 blocks is received as an input, and the sum S having one weight is output by the exclusive logical sum in the XO2 87 block.
도 2는 상기 도 1의 구성에서 실제로 사용될 게이트 회로를 적용한 실현 예로써 구성 및 동작은 도 1과 동일하므로 생략한다.FIG. 2 is an embodiment in which the gate circuit to be actually used in the configuration of FIG. 1 is applied, and thus the configuration and operation thereof are the same as in FIG.
이상과 같은 본 발명을 이용하면, 대칭키 암호 프로세서의 곱셈을 수행하는데 속도를 개선시킬 수 있다.Using the present invention as described above, it is possible to improve the speed in performing the multiplication of the symmetric key cryptographic processor.
즉, 본 발명의 (7,3) 덧셈기와 기존의 (7,3) 덧셈기과의 비교를 통하여 본 발명의 효과를 설명해보면 다음과 같다.That is, the effects of the present invention will be described through comparison between the (7,3) adder of the present invention and the existing (7,3) adder.
배타적 논리합(exclusive-OR) 게이트는 단순 게이트 (인버터, 2-입력 NAND, 3-입력 NAND, 4-입력 NAND, 2-입력 NOR, 3-입력 NOR, 4-입력 NOR) 보다 두배의 지연시간을 가지며, 복합 게이트 AOI(AND-OR-Inverter), OAI(OR-AND-Inverter)는 단순 게이트의 1.5배 지연시간을 갖는다.Exclusive-OR gates have twice the latency of simple gates (inverter, 2-input NAND, 3-input NAND, 4-input NAND, 2-input NOR, 3-input NOR, 4-input NOR) The composite gate AND-OR-Inverter (AOI) and OR-AND-Inverter (OAI) have a 1.5 times delay time than a simple gate.
따라서, 총 게이트 지연시간 측면에서 종래기술과 비교를 하면, (3,2) 덧셈기 만을 사용한 Swartzlander (7,3) 덧셈기[Swartzlander, E.E., JR. , "Parallel Counters" , IEEE Trans on Computers, Vol. C-22, 1021-1024pp, 1973.8. ]는 12지연시간를 갖고 Mehta의 (7,3) 덧셈기[M. Mehta 등, "High-Speed Multiplier Design using Multi-Input Computer and Compressor Circuits", Proc. of the 10th Sym. on Computer Arithmetic, 1991]는 8 지연시간을 갖는 반면, 본 발명의 덧셈기는 6 지연시간(입력이 인버터를 거치는 경우에도 지연시간 1로 포함하여 계산)을 갖는다.Thus, compared with the prior art in terms of total gate delay time, Swartzlander (7,3) adder using only (3,2) adder [Swartzlander, E.E., JR. , "Parallel Counters", IEEE Trans on Computers, Vol. C-22, 1021-1024 pp, 1973.8. ] Has 12 delays and Mehta's (7,3) adder [M. Mehta et al., "High-Speed Multiplier Design using Multi-Input Computer and Compressor Circuits", Proc. of the 10th Sym. on Computer Arithmetic, 1991] has 8 delays, whereas the adder of the present invention has 6 delays (calculated as delay 1 even when the input goes through the inverter).
따라서, 본 발명의 덧셈기가 종래기술에서 제시하였던 (3,2) 만을 사용한 덧셈기 보다 지연시간면에서 50%가 개선되었으며, Mehta의 덧셈기 보다는 25%가 개선되었다.Therefore, the adder of the present invention is improved by 50% in terms of delay time compared to the adder using only (3,2), which was proposed in the prior art, and is improved by 25% compared to that of Mehta.
이에 따라, 본 발명의 덧셈기가 앞서 언급한 카운터들 보다 속도가 매우 개선되었음을 알 수 있다. 이를 요약하여 표 1에 나타내었다.Accordingly, it can be seen that the adder of the present invention is much faster than the counters mentioned above. This is summarized in Table 1.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1999-0021571A KR100403938B1 (en) | 1999-06-10 | 1999-06-10 | High speed (7, 3) Adder for symmetric key cipher |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1999-0021571A KR100403938B1 (en) | 1999-06-10 | 1999-06-10 | High speed (7, 3) Adder for symmetric key cipher |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010002008A KR20010002008A (en) | 2001-01-05 |
KR100403938B1 true KR100403938B1 (en) | 2003-11-01 |
Family
ID=19591393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1999-0021571A KR100403938B1 (en) | 1999-06-10 | 1999-06-10 | High speed (7, 3) Adder for symmetric key cipher |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100403938B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10307706A (en) * | 1997-02-28 | 1998-11-17 | Digital Equip Corp <Dec> | Wallace tree multiplier using half-adder and full-adder |
US5867415A (en) * | 1996-02-27 | 1999-02-02 | Mitsubishi Denki Kabushiki Kaisha | Multiplication element including a wallace tree circuit having adders divided into high and low order adders |
KR20000066326A (en) * | 1999-04-15 | 2000-11-15 | 김영환 | Low power multiplier |
-
1999
- 1999-06-10 KR KR10-1999-0021571A patent/KR100403938B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867415A (en) * | 1996-02-27 | 1999-02-02 | Mitsubishi Denki Kabushiki Kaisha | Multiplication element including a wallace tree circuit having adders divided into high and low order adders |
JPH10307706A (en) * | 1997-02-28 | 1998-11-17 | Digital Equip Corp <Dec> | Wallace tree multiplier using half-adder and full-adder |
KR20000066326A (en) * | 1999-04-15 | 2000-11-15 | 김영환 | Low power multiplier |
Also Published As
Publication number | Publication date |
---|---|
KR20010002008A (en) | 2001-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fritz et al. | Fast binary counters based on symmetric stacking | |
US4623982A (en) | Conditional carry techniques for digital processors | |
US5325320A (en) | Area efficient multiplier for use in an integrated circuit | |
Chen et al. | Efficient modulo 2n+ 1 multipliers for diminished-1 representation | |
Makino et al. | A 8.8-ns 54/spl times/54-bit multiplier using new redundant binary architecture | |
Oklobdzija | High-speed VLSI arithmetic units: Adders and multipliers | |
US7620677B2 (en) | 4:2 Carry save adder and 4:2 carry save adding method | |
Satish et al. | Multiplier using NAND based compressors | |
EP1008033B1 (en) | Digital adder circuit | |
Timarchi et al. | A novel high-speed low-power binary signed-digit adder | |
KR100403938B1 (en) | High speed (7, 3) Adder for symmetric key cipher | |
Ykuntam et al. | Design of 32-bit carry select adder with reduced area | |
US5257217A (en) | Area-efficient multiplier for use in an integrated circuit | |
RU2477513C1 (en) | Homogeneous computing environment cell, homogeneous computing environment and apparatus for pipeline arithmetic calculations on given modulo | |
GB2127187A (en) | Circuits for operating on N- digit operands | |
Singh et al. | Modified booth multiplier with carry select adder using 3-stage pipelining technique | |
US3506817A (en) | Binary arithmetic circuits employing threshold gates in which both the sum and carry are obtained in one gate delay interval | |
Ghasemizadeh et al. | A 1.6 GHz 16× 16-bit low-latency pipelined booth multiplier | |
US20030074385A1 (en) | Providing a fast adder for processor based devices | |
Lin et al. | A novel approach for CMOS parallel counter design | |
Großschadl | A unified radix-4 partial product generator for integers and binary polynomials | |
Nandini et al. | High Speed and Power Optimized Parallel Prefix Modulo Adders using Verilog | |
Sam et al. | Wallace Tree Multiplier Using MFA Counters | |
Gok et al. | Efficient integer multiplication overflow detection circuits | |
Mohammadi et al. | Design of 8 bit, 1633µm 2, 444µW squarer hardware for high performance VLSI applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20081001 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |