KR20020054202A - Apaaratus for calculating inversion of multi level structure in the finite field - Google Patents

Apaaratus for calculating inversion of multi level structure in the finite field Download PDF

Info

Publication number
KR20020054202A
KR20020054202A KR1020000083168A KR20000083168A KR20020054202A KR 20020054202 A KR20020054202 A KR 20020054202A KR 1020000083168 A KR1020000083168 A KR 1020000083168A KR 20000083168 A KR20000083168 A KR 20000083168A KR 20020054202 A KR20020054202 A KR 20020054202A
Authority
KR
South Korea
Prior art keywords
power
multiplier
register
output
multiplication
Prior art date
Application number
KR1020000083168A
Other languages
Korean (ko)
Other versions
KR100392370B1 (en
Inventor
김진규
엄낙웅
김대용
Original Assignee
오길록
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오길록, 한국전자통신연구원 filed Critical 오길록
Priority to KR10-2000-0083168A priority Critical patent/KR100392370B1/en
Publication of KR20020054202A publication Critical patent/KR20020054202A/en
Application granted granted Critical
Publication of KR100392370B1 publication Critical patent/KR100392370B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Abstract

PURPOSE: An inverse calculation system is provided to calculate an inverse of an arbitrary element by every one frequency of an externally transmitted clock in a Galois field used in an error correction system or an encryption system. CONSTITUTION: The system comprises an 8th power operator(201), multipliers(202, 209, 210, 213) registers(203, 204, 211, 212), a 128th power operator(205), a 2nd power operator(206), a 4th power operator(207) and an 8th power operator(208). The 8th power operator(201) raises an externally input primitive element to the power 8. The multiplier(202) multiplies the externally input primitive element by the number raised to the power 8. The register(203) stores the externally input primitive element. The register(204) stores a result operated by the multiplier(202). The 128th power operator(205) raises the number, stored at the register(203), to the power 128. The power operators(206, 207, 208) raise the number, stored at the register(204), to the power 2, 4, 8, respectively. The multiplier(209) multiplies the number, output by the power operator(205), by the number, output by the power operator(206). The multiplier(210) multiplies the number, output by the power operator(207), by the number, output by the power operator(208). The registers(211, 212) store the numbers output by the multipliers(209, 210), respectively. The multiplier(213) multiplies the number of the register(211) by the number of the register(212).

Description

유한체내에서 다단 구조의 역수 계산 장치{Apaaratus for calculating inversion of multi level structure in the finite field}Apaaratus for calculating inversion of multi level structure in the finite field}

본 발명은 오류정정 시스템이나 암호화 시스템 등에서 이용되는 유한체(Galois field :)내에서의 역수(inverse)를 계산하기 위한 역수 계산 장치에 관한 것으로, 특히 외부로부터 인가되는 클럭(clock)신호의 한 주기마다 임의의 유한체 원소의 역수값을 출력하기 위한 다단 구조의 역수 계산 장치에 관한 것이다.The present invention is a finite field used in an error correction system or an encryption system. Relates to a reciprocal calculation apparatus for calculating an inverse in a circuit, and in particular, a reciprocal calculation of a multi-stage structure for outputting a reciprocal value of an arbitrary finite element per cycle of a clock signal applied from the outside. Relates to a device.

유한체는 디지털 통신 시스템에서 데이터 전송시 발생하는 오류를 정정하기 위한 코덱(CODEC)이나 정보를 보호하기 위한 암호화 시스템에서 널리 이용되고 있다. 유한체의 연산 중에 나눗셈은 덧셈이나 곱셈에 비해 알고리즘이 복잡하므로 상대적으로 회로의 크기가 매우 크고 계산시간이 길다. 따라서, 유한체내에서의 역수 계산이나 나눗셈연산에 대한 알고리즘과 효율적인 회로의 구현이 많이 연구되는 추세이다.Finite bodies are widely used in codecs for correcting errors in data transmission in digital communication systems and in encryption systems for protecting information. In the finite field calculation, the division is more complicated than the addition or the multiplication, so the circuit is relatively large and the calculation time is long. Therefore, there are many researches on the implementation of efficient algorithms and algorithms for inverse calculation or division in finite bodies.

유한체를 구성하고 있는 임의의 원시원소(primitive element)의 비트수가 m이라고 하고, 전체 원소의 개수가개라고 할 때, 이러한 유한체를이라고 표현한다. 또한,개의 원소는와 같이 표현된다. 이때,과 같은 성질을 갖는다. 예를 들어, m=8이라고 할 때 유한체내의 한 원소는 8비트이고 원소의 총 개수는 256개가 된다. 이때, 임의의 원소를라고 하면와 같다. 따라서, 임의의 원소에대한 역수는와 같음을 알 수 있다.The number of bits of an arbitrary primitive element constituting the finite body is m, and the total number of elements Speaking of dogs, these finite bodies Express Also, Elements It is expressed as At this time, Is Has the same properties as For example, finite field when m = 8 One element is 8 bits and the total number of elements is 256. At this time, any element Say Same as Thus, any element The inverse for It can be seen that

도 1 은 종래의 역수 계산 장치의 구성도로서, "11"은 레지스터, "12"는 멀티플렉서, "13"은 2제곱 승산기, "14"는 곱셈기를 각각 나타낸다.Fig. 1 is a configuration diagram of a conventional reciprocal calculation device, where “11” denotes a register, “12” denotes a multiplexer, “13” denotes a square multiplier, and “14” denotes a multiplier.

상기한 바와 같은 구조를 갖는 종래의 역수 계산 장치가 유한체내에서 연산된다고 할 때, 역수 계산회로의 동작을 설명하면 다음과 같다.A conventional reciprocal calculation device having a structure as described above is a finite body The operation of the reciprocal calculation circuit is explained as follows.

첫 번째, 클럭(clock) 주기 동안의 동작은 다음과 같다. 유한체 내에서 8비트로 구성되어 있는 임의의 원시원소(primitive element)가 외부로부터 멀티플렉서(12)로 입력되면 멀티플렉서(12)는 입력된를 선택하여 2제곱 승산기(13)로 전송한다. 2제곱 승산기(13)로 입력된로 연산되어 곱셈기(14)로 전송된다. 곱셈기(14)는 외부로부터 입력되는와 2제곱 승산기(13)의 출력결과인와 곱해져서 그 결과인은 레지스터(11)에 저장된다.First, the operation during the clock cycle is as follows. Arbitrary primitive element consisting of 8 bits in a finite body Is input from the outside to the multiplexer 12, the multiplexer 12 is inputted Is selected and transmitted to the square multiplier (13). Input into power multiplier (13) Is Is computed and sent to the multiplier 14. The multiplier 14 is input from the outside And the output of the power multiplier (13) Is multiplied by Is stored in the register 11.

두 번째, 클럭(clock) 주기 동안의 동작은 다음과 같다. 레지스터에 저장된은 멀티플렉서(12)로 입력되는데, 이때 멀티플렉서(12)는 외부로부터 신호를 입력받는 대신에 레지스터의 출력을 선택하게 된다. 따라서,은 멀티플렉서(12)를 통해 2제곱 승산기(13)로 입력되며, 그 계산 결과로서을 출력하게 된다. 출력된는 곱셈기(14)로 입력되어 외부로부터의 입력와 곱해져서 그 결과인값이 레지스터(11)로전송된다.Second, the operation during the clock cycle is as follows. Stored in a register Is input to the multiplexer 12, where the multiplexer 12 selects the output of the register instead of receiving a signal from the outside. therefore, Is input to the power multiplier 13 through the multiplexer 12, and as a result of the calculation Will print Output Is input to the multiplier 14 and input from the outside Is multiplied by The value is sent to register 11.

이렇게, 여섯 번째 클럭(clock) 주기까지 이러한 상기와 같은 동작을 반복하며 연산을 수행한다.In this way, the above operation is repeated until the sixth clock period to perform the operation.

일곱 번째, 클럭(clock) 주기에서 레지스터(11)에 저장되어 있던 값이 멀티플렉서(12)를 통해 2제곱 승산기(13)로 입력되어 2제곱 승산기(13)의 출력으로부터 얻어지는 출력은이다. 이때의 값이에 해당하는 값이다.Seventh, the value stored in the register 11 in the clock cycle is input to the power multiplier 13 through the multiplexer 12, and the output obtained from the output of the power multiplier 13 is to be. The value at this time The value corresponds to

따라서, 종래의 역수 계산 장치는 레지스터, 멀티플렉서, 2제곱 승산기 및 곱셈기로 구현되므로 전체회로의 크기는 작지만 하나의 역수를 계산하는 데 총 8클럭(clock)주기가 필요하다. 이는 빠른 연산을 요구하는 시스템에 적용하기가 어려우며, 또한 계산시간을 맞추기 위하여 복잡한 제어를 필요로 하는 문제점이 있었다.Therefore, the conventional reciprocal calculation device is implemented with a register, a multiplexer, a square multiplier, and a multiplier, so the total circuit size is small, but a total of 8 clock cycles are required to calculate one reciprocal. This is difficult to apply to a system requiring a fast operation, and also has a problem that requires complex control to meet the calculation time.

본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 역수 계산회로를 다단(pipeline)으로 구성하여 한 클럭 주기마다 한 유한체원소의 역수값이 출력되도록 함으로써, 빠른 처리 속도 또는 역수값의 연속 출력이 필요한 시스템에 활용하기 위한 다단 구조의 역수 계산 장치를 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and consists of a reciprocal calculation circuit in multiple stages (pipelines), one finite element per clock cycle. It is an object of the present invention to provide a reciprocal calculation apparatus having a multi-stage structure for use in a system requiring fast processing speed or continuous output of reciprocal values by allowing the reciprocal value of elements to be output.

도 1 은 종래의 역수 계산 장치의 구성도.1 is a block diagram of a conventional reciprocal calculation device.

도 2 는 본 발명에 따른 다단 구조의 역수 계산 장치의 일실시예 구성도.2 is a block diagram of an embodiment of a reciprocal calculation apparatus of a multi-stage structure according to the present invention.

도 3 은 본 발명의 일실시예에 따른 2승 회로 구조도.3 is a schematic diagram of a quadratic circuit according to an embodiment of the present invention;

도 4 은 본 발명의 일실시예에 따른 4승 회로 구조도.4 is a schematic diagram of a quadratic circuit in accordance with an embodiment of the present invention.

도 5 은 본 발명의 일실시예에 따른 8승 회로 구조도.5 is an eight-circuit circuit diagram according to an embodiment of the present invention.

도 6 은 본 발명의 일실시예에 따른 128승 회로 구조도.6 is a schematic diagram of a 128 power circuit according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

201,208 : 8 제곱 승산기202,209,210,213 : 곱셈기201,208: 8-square multiplier 202,209,210,213: multiplier

203,204,211,212 : 레지스터205: 128 제곱 승산기203,204,211,212: Register 205: 128 squared multiplier

206: 2 제곱 승산기207 : 4 제곱 승산기206: 2 square multiplier 207: 4 square multiplier

상기 목적을 달성하기 위한 본 발명은, 유한체내에서 다단구조의 역수 계산 장치에 있어서, 외부로부터 입력되는 원시원소()에 대하여 제1 소정의 제곱 연산을 수행하기 위한 제1 연산수단; 외부로부터 입력된 원시원소와 상기 제1 연산수단을 통해 전달된 원시원소를 곱하기 위한 제1 곱셈수단; 상기 제1 곱셈수단을 통해 전달된 연산값과 외부로부터 입력된 원시원소를 저장하기 위한 제1 저장수단; 상기 제1 저장수단을 통해 전달된 값에 대하여 각각 제2 소정의 다류의 제곱 연산을 수행하기 위한 제2 연산수단; 상기 제2 연산수단에서 출력되는 값들을 서로 곱하기 위한 제2 곱셈수단; 상기 제2 곱셈수단으로부터의 출력값을 저장하기 위한 제2 저장수단; 및 상기 제2 저장수단으로부터의 출력값을 서로 곱하기 위한 제3 곱셈수단을 포함하여 이루어진 것을 특징으로 한다.The present invention for achieving the above object, finite body In an inverse number calculation device having a multi-stage structure, a source element input from the outside ( First computing means for performing a first predetermined squared operation on; First multiplication means for multiplying a primitive element input from the outside with a primitive element transferred through the first calculating means; First storage means for storing the operation value transferred through the first multiplication means and the source element input from the outside; Second arithmetic means for performing a second predetermined multi-class square operation on the values transmitted through said first storage means; Second multiplication means for multiplying the values output from the second calculation means; Second storage means for storing an output value from the second multiplication means; And third multiplication means for multiplying the output values from the second storage means with each other.

또한, 본 발명은, 유한체내에서 다단구조의 역수 계산 장치에 있어서, 외부로부터의 원시원소()에 대하여 8제곱 연산과 곱셈연산을 수행하여 저장하기 위한 제1 역수 연산수단; 및 상기 제1 역수 연산수단으로부터의 출력값에 대하여 2제곱, 4제곱, 8제곱, 128제곱 연산을 수행한 후에 곱셈 연산을 수행하여 한 클럭 주기마다 한 유한체 원소의 역수값을 출력하기 위한 제2 역수 연산수단을 포함하여 이루어진 것을 특징으로 한다.In addition, the present invention is a finite body In a multistage reciprocal calculation apparatus, a source element from the outside ( First reciprocal calculating means for performing an eighth squared operation and a multiplication operation for the " And a second to output a reciprocal value of one finite element every one clock period by performing a multiplication operation after performing a power of two, four, eight, and 128 square operations on the output value from the first reciprocal calculation means. Characterized in that it comprises a reciprocal calculation means.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2 는 본 발명에 따른 다단 구조의 역수 계산 장치의 일실시예 구성도이다.2 is a configuration diagram of an apparatus for calculating the reciprocal of the multistage structure according to the present invention.

도 2에 도시된 바와 같이, 본 발명에 따른 역수 계산 장치는, 외부로부터 입력되는 원시원소()를 8제곱하기 위한 8제곱 승산기(201)와, 외부로부터 입력되는 원시원소와 8제곱 승산기(201)를 통해 입력된 원시원소를 곱하기 위한 곱셈기(202)와, 외부로부터 입력되는 원시원소를 저장하기 위한 레지스터(203)와, 외부로부터 입력된 원시원소를 8제곱 승산하여 입력된 원시원소와 곱하여 저장하기 위한 레지스터(204)와, 레지스터(203)를 통해 저장된 원시원소를 128제곱하기 위한 128제곱 승산기(205)와, 레지스터(204)를 통해 저장된 원시원소를 각각 2제곱, 4제곱 및 8제곱하기 위한 2제곱, 4제곱 및 8제곱 승산기(206,207,208)와, 128제곱 및 2제곱 승산기(205,206)를 통해 승산된 128연산값과 2연산값을 서로 곱하기 위한 곱셈기(209)와, 4제곱 및 8제곱 승산기(207,208)를 통해 승산된 4연산값과 8연산값을 서로 곱하기 위한 곱셈기(210)와, 곱셈기(209,210)를 통해 곱해진 연산값을 각각 저장하기 위한 레지스터(211,212)와, 레지스터(211,212)로부터 전달되는 출력값을 곱하기 위한 곱셈기(213)를 구비한다.As shown in Figure 2, the reciprocal calculation apparatus according to the present invention, the primitive element input from the outside ( 8) multiplier 201 for 8 squared), a multiplier 202 for multiplying primitive elements input from the outside and primitive elements input through the 8th square multiplier 201, and a primitive element input from the outside A register 203 for multiplying an externally inputted primitive element by eight squares and a register 204 for multiplying and storing an input primitive element and 128 squares for 128 squares of the primitive element stored through the register 203. Multipliers 205, 2, 4, and 8 square multipliers (206, 207, 208) and 128 and 2 square multipliers (205, 206) for 2, 4, and 8 squared primitive elements stored through the register 204, respectively. A multiplier 209 for multiplying 128 multiplied by 2 and a multiplier, and a multiplier 210 for multiplying the multiplying 4 and 8 multiplied by the 4th and 8th multipliers 207,208 , The operation value multiplied by the multiplier (209, 210) Each provided with a register (211 212), and a multiplier 213 for multiplying the output value transferred from the register (211 212) for storing.

여기서, 제곱을 위한 각각의 승산기(205,206,207,208)는 입력되는 두 개의 8비트 원시원소를 서로 곱하여 8비트 출력을 내보낸다. 즉, 이들 각각의 승산기(205,206,207,208)는 각각 8비트 입력, 8비트 출력으로 구성된다. 이들 승산기에 대한 구체적인 설명은 후술되는 도 3 내지 도 6을 참조하기로 한다.Here, each multiplier 205, 206, 207, 208 for square multiplies the two input 8-bit primitive elements with each other to produce an 8-bit output. That is, each of these multipliers 205, 206, 207, and 208 consists of an 8-bit input and an 8-bit output, respectively. A detailed description of these multipliers will be made with reference to FIGS. 3 to 6 to be described later.

도 3 은 본 발명의 일실시예에 따른 2승 회로 구조도로서, 도 2에서 설명된 역수 계산 장치 중 2제곱 승산기에 대한 설명이다.FIG. 3 is a schematic diagram of a quadratic circuit according to an embodiment of the present invention and is a description of a square multiplier of the inverse calculation apparatus described in FIG. 2.

도 3에 도시된 바와 같이, 입력되는 원시원소A가 8비트로 구성되어 있다고 할 때, 2제곱 승산은 다음의 [수학식 1]과 같이 전개된다.As shown in Fig. 3, the input source element A is 8 bits. Multiply by 2 Is developed as shown in Equation 1 below.

도 4 은 본 발명의 일실시예에 따른 4승 회로 구조도로서, 도 2에서 설명된 역수 계산 장치 중 4제곱 승산기에 대한 설명한 것으로, 다음의 [수학식 2]와 같이 전개된다.FIG. 4 is a schematic diagram of a quadratic circuit according to an embodiment of the present invention, which is a description of a quadratic multiplier of the inverse calculation apparatus described in FIG.

도 5 은 본 발명의 일실시예에 따른 8승 회로 구조도로서, 도 2에서 설명된 역수 계산 장치 중 8제곱 승산기에 관한 것으로, 다음의 [수학식 3]과 같이 전개된다.FIG. 5 is a schematic diagram of an eight-circuit circuit according to an embodiment of the present invention, and relates to an eight-square multiplier of the reciprocal calculation apparatus described with reference to FIG.

도 6 은 본 발명의 일실시예에 따른 128승 회로 구조도로서, 도 2에서 설명된 역수 계산 장치 중 128제곱 승산기이다. 128제곱 승산은 다음의 [수학식 4]와 같이 전개된다.FIG. 6 is a schematic diagram of a 128 power circuit according to an embodiment of the present invention, and is a 128 square multiplier of the reciprocal calculation apparatus described in FIG. 2. The 128 square multiplication is developed as shown in Equation 4 below.

이제, 상기한 바와 같은 구조를 갖는 본 발명의 유한체내에서 다단 구조의 역수 계산 장치의 동작을 상세하게 설명하면 다음과 같다.Now, the operation of the apparatus for calculating the inverse of the multi-stage structure in the finite body of the present invention having the structure as described above is as follows.

먼저, 클럭(clock)신호의 제1 사이클 동안 외부로부터 원시원소인가 입력되어 레지스터(203)로 저장된다. 동시에 원시원소는 8제곱 승산기(201)로 입력되어로 연산된다. 8제곱 승산기(201)의 연산 결과인은 입력 원시원소와 곱셈기(202)에서 곱해져 그 결과로값이 레지스터(204)에 저장된다.First, the source element from the outside during the first cycle of the clock signal Is input and stored in the register 203. Primitive elements Is input to the eight-squared multiplier 201 Is calculated as Is the result of the operation of the eightth multiplier 201 Silver input primitive element Multiplied by multiplier 202 and as a result The value is stored in register 204.

클럭(clock)신호의 제2 사이클 동안 레지스터(203)에 저장되어 있던는 128제곱 승산기(205)로 입력되어로 연산되고, 레지스터(204)에 저장되어 있던는 2제곱 승산기(206), 4제곱 승산기(207), 8제곱 승산기(208)로 입력되어 각각,,로 연산된다. 128제곱 승산기(205)와 2제곱 승산기(206)의 결과인,는 곱셈기(209)에서 곱해져값이 레지스터(211)에 저장된다. 4제곱 승산기(207)와 8제곱 승산기(208)의 결과인,은 곱셈기(210)에서 곱해져 그 결과인값이 레지스터(212)에 저장된다.Was stored in register 203 during the second cycle of the clock signal. Is input to the 128 square multiplier 205 Is stored in the register 204 Are input to the power of 2 multiplier 206, the power of 4 square 207 and the power of 8 square 208, respectively. , , Is calculated as 128 squared multiplier (205) and squared multiplier (206) , Is multiplied by multiplier 209 The value is stored in register 211. Is the result of the quadratic multiplier (207) and the eighth square multiplier (208). , Is multiplied by the multiplier 210 and the result is The value is stored in register 212.

클럭 사이클의 제3 사이클 동안 레지스터(211)에 저장되어 있던와 레지스터(212)에 저장되어 있던값이 곱셈기(213)를 통해 곱해져 최종적으로값이 출력된다. 이 값을 전개해 보면임을 알 수 있다.Was stored in register 211 during the third cycle of the clock cycle. And stored in register 212 The value is multiplied by multiplier 213 and finally The value is output. If you expand this value It can be seen that.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기한 바와 같은 본 발명은, 한 클럭(clock) 주기마다 임의의 유한체내의 원소에 대한 역수값을 연산하여 출력함으로서, 빠른 처리속도 또는 역수값의 연속 출력을 요구하는 데이터 오류 정정 시스템이나 암호화 시스템 등에 적합하게 효율적으로 활용할 수 있는 효과가 있다.As described above, the present invention provides an arbitrary finite object for one clock period. By calculating and outputting the reciprocal value for the elements within, there is an effect that it can be efficiently utilized suitably for a data error correction system, an encryption system, or the like which requires a high processing speed or continuous output of the reciprocal value.

Claims (5)

유한체내에서 다단구조의 역수 계산 장치에 있어서,Finite body In the inverse calculation device of the multi-stage structure, 외부로부터 입력되는 원시원소()에 대하여 제1 소정의 제곱 연산을 수행하기 위한 제1 연산수단;Primitive element input from outside ( First computing means for performing a first predetermined squared operation on; 외부로부터 입력된 원시원소와 상기 제1 연산수단을 통해 전달된 원시원소를 곱하기 위한 제1 곱셈수단;First multiplication means for multiplying a primitive element input from the outside with a primitive element transferred through the first calculating means; 상기 제1 곱셈수단을 통해 전달된 연산값과 외부로부터 입력된 원시원소를 저장하기 위한 제1 저장수단;First storage means for storing the operation value transferred through the first multiplication means and the source element input from the outside; 상기 제1 저장수단을 통해 전달된 값에 대하여 각각 제2 소정의 다류의 제곱 연산을 수행하기 위한 제2 연산수단;Second arithmetic means for performing a second predetermined multi-class square operation on the values transmitted through said first storage means; 상기 제2 연산수단에서 출력되는 값들을 서로 곱하기 위한 제2 곱셈수단;Second multiplication means for multiplying the values output from the second calculation means; 상기 제2 곱셈수단으로부터의 출력값을 저장하기 위한 제2 저장수단; 및Second storage means for storing an output value from the second multiplication means; And 상기 제2 저장수단으로부터의 출력값을 서로 곱하기 위한 제3 곱셈수단Third multiplication means for multiplying the output values from the second storage means with each other 을 포함하는 유한체내에서 다단 구조의 역수 계산 장치.Inverse calculation device of a multi-stage structure in a finite body comprising a. 제 1 항에 있어서,The method of claim 1, 상기 제1 연산수단은 원시원소에 대하여 8제곱 연산을 수행하고, 상기 제2연산수단은 상기 제1 저장수단의 출력값에 대하여 각각 2제곱, 4제곱, 8제곱, 128제곱 연산을 수행하는 것을 특징으로 하는 유한체내에서 다단 구조의 역수 계산 장치.The first calculating means performs an eighth-square operation on the primitive element, and the second calculating means performs a two-square, four-square, eight-square, or 128-square operation on the output value of the first storage means, respectively. An inverse calculation device of a multistage structure in a finite body. 제 2 항에 있어서,The method of claim 2, 상기 제1 저장수단은,The first storage means, 외부로부터 입력되는 원시원소를 저장하기 위한 제1 레지스터와 상기 제1 곱셈수단으로부터의 출력값을 저장하기 위한 제2 레지스터를 포함하며,A first register for storing a source element input from the outside and a second register for storing an output value from the first multiplication means, 상기 제2 저장수단은,The second storage means, 128승 값과 2승 값을 곱한 값을 상기 제2 곱셈수단으로부터 입력받아 저장하는 제3 레지스터와 4승 값과 8승 값을 곱한 값을 상기 제2 곱셈수단으로부터 입력받아 저장하는 제4 레지스터를 포함하는 것을 특징으로 하는 유한체내에서 다단 구조의 역수 계산 장치.A third register configured to receive a value multiplied by a power of 128 and a second power from the second multiplication means and a fourth register configured to receive and store a value obtained by multiplying a fourth power and an 8 power by the second multiplication means An inverse calculation device of a multi-stage structure in a finite body comprising a. 제 1 항 내지 제 3 항중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 역수 계산 장치는,The inverse calculation device, 상기 유한체내에서 임의의 원시원소에 대해 소정 클럭 주기 안에 연산을 완료하고, 한 클럭 주기마다 연속으로 입력되는 원시원소에 대해 매 클럭마다 결과값을 내보내는 것을 특징으로 하는 유한체내에서 다단 구조의 역수 계산 장치.Inverse calculation of a multi-stage structure in a finite body, wherein the operation is completed within a predetermined clock period for a predetermined source element in the finite body, and a result value is output every clock for primitive elements which are continuously inputted every one clock period. Device. 유한체내에서 다단구조의 역수 계산 장치에 있어서,Finite body In the inverse calculation device of the multi-stage structure, 외부로부터의 원시원소()에 대하여 8제곱 연산과 곱셈연산을 수행하여 저장하기 위한 제1 역수 연산수단; 및Primitive elements from the outside ( First reciprocal calculating means for performing an eighth squared operation and a multiplication operation for the " And 상기 제1 역수 연산수단으로부터의 출력값에 대하여 2제곱, 4제곱, 8제곱, 128제곱 연산을 수행한 후에 곱셈 연산을 수행하여 한 클럭 주기마다 한 유한체 원소의 역수값을 출력하기 위한 제2 역수 연산수단A second reciprocal for outputting the reciprocal of one finite element every one clock period by performing a multiplication operation after performing a power of two, four, eight, or 128 squares on the output value from the first reciprocal calculation means; Calculation means 을 포함하는 유한체내에서 다단 구조의 역수 계산 장치.Inverse calculation device of a multi-stage structure in a finite body comprising a.
KR10-2000-0083168A 2000-12-27 2000-12-27 Apaaratus for calculating inversion of multi level structure in the finite field KR100392370B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0083168A KR100392370B1 (en) 2000-12-27 2000-12-27 Apaaratus for calculating inversion of multi level structure in the finite field

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0083168A KR100392370B1 (en) 2000-12-27 2000-12-27 Apaaratus for calculating inversion of multi level structure in the finite field

Publications (2)

Publication Number Publication Date
KR20020054202A true KR20020054202A (en) 2002-07-06
KR100392370B1 KR100392370B1 (en) 2003-08-19

Family

ID=27686882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0083168A KR100392370B1 (en) 2000-12-27 2000-12-27 Apaaratus for calculating inversion of multi level structure in the finite field

Country Status (1)

Country Link
KR (1) KR100392370B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100399048B1 (en) * 2001-06-18 2003-09-26 한국전자통신연구원 Apparatus of Elliptic Curve Cryptosystem
KR100653675B1 (en) * 2005-12-06 2006-12-05 엠텍비젼 주식회사 Apparatus and method for calculating reciprocal number
KR100926828B1 (en) * 2007-10-01 2009-11-12 한국전자통신연구원 Apparatus and method for computing multiplicative inverses

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052704A (en) * 1998-01-12 2000-04-18 National Science Council Exponentiation circuit and inverter based on power-sum circuit for finite field GF(2m)
US5964826A (en) * 1998-01-13 1999-10-12 National Science Council Division circuits based on power-sum circuit for finite field GF(2m)
KR100304193B1 (en) * 1998-02-06 2001-11-22 윤종용 Inverse circuit of reed-solomon decoder
JPH11249921A (en) * 1998-03-05 1999-09-17 Matsushita Electric Ind Co Ltd Galois field functional unit
JP2000322280A (en) * 1999-05-12 2000-11-24 Matsushita Electric Ind Co Ltd Calois field arithmetic method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100399048B1 (en) * 2001-06-18 2003-09-26 한국전자통신연구원 Apparatus of Elliptic Curve Cryptosystem
KR100653675B1 (en) * 2005-12-06 2006-12-05 엠텍비젼 주식회사 Apparatus and method for calculating reciprocal number
KR100926828B1 (en) * 2007-10-01 2009-11-12 한국전자통신연구원 Apparatus and method for computing multiplicative inverses

Also Published As

Publication number Publication date
KR100392370B1 (en) 2003-08-19

Similar Documents

Publication Publication Date Title
KR100686992B1 (en) Optimised discrete fourier transform method and apparatus using prime factor algorithm
EP1866741B1 (en) Canonical signed digit multiplier
WO2013109532A1 (en) Algebraic processor
EP1884859B1 (en) Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques
RU2299461C1 (en) Modulus multiplexer
Lachowicz et al. Fast evaluation of the square root and other nonlinear functions in FPGA
JP4566513B2 (en) Method and apparatus for generating pseudo-random sequences
US6662201B1 (en) Modular arithmetic apparatus and method having high-speed base conversion function
KR100392370B1 (en) Apaaratus for calculating inversion of multi level structure in the finite field
JPH09325955A (en) Square root arithmetic circuit for sum of squares
US20170026178A1 (en) Computational method, computational device andcomputer software product for montgomery domain
CN110620566A (en) FIR filtering system based on combination of random calculation and remainder system
Czyżak et al. Pipelined scaling of signed residue numbers with the mixed-radix conversion in the programmable gate array
KR20000000770A (en) Device for multiplying modular
RU2299460C1 (en) Modulus multiplier by two
RU131886U1 (en) DEVICE FOR CALCULATING DISCRETE POLYNOMIAL TRANSFORMATIONS
KR20010068349A (en) Standard basis gf multiplier with the generalized basis cell and the fixed basic cell and squarer architecture
US10410700B1 (en) Systems and method for a low-power correlator architecture using shifting coefficients
KR100761132B1 (en) Apparatus and method for computing SHA-1
JP2008158855A (en) Correlation computing element and correlation computing method
RU2652450C1 (en) Device for calculation montgomery modular product
EP1076284A1 (en) Method and apparatus for implementing arithmetical operations in finite fields
JP3742293B2 (en) Residue arithmetic unit
Forte et al. Systolic architectures to evaluate polynomials of degree n using the Horner's rule
CN102710280A (en) Partitioned and expanded high-speed pipelining shift dispreading method and device

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: 20080701

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee