KR102132935B1 - 유한체 곱셈 방법 및 장치 - Google Patents

유한체 곱셈 방법 및 장치 Download PDF

Info

Publication number
KR102132935B1
KR102132935B1 KR1020190017345A KR20190017345A KR102132935B1 KR 102132935 B1 KR102132935 B1 KR 102132935B1 KR 1020190017345 A KR1020190017345 A KR 1020190017345A KR 20190017345 A KR20190017345 A KR 20190017345A KR 102132935 B1 KR102132935 B1 KR 102132935B1
Authority
KR
South Korea
Prior art keywords
configuration
multiplication
finite
coefficient
expressed
Prior art date
Application number
KR1020190017345A
Other languages
English (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 KR1020190017345A priority Critical patent/KR102132935B1/ko
Application granted granted Critical
Publication of KR102132935B1 publication Critical patent/KR102132935B1/ko

Links

Images

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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • 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/722Modular multiplication
    • 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/727Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명의 일 실시예에 따른 프로세서를 갖는 정보 처리 장치에서 수행되는 유한체 곱셈 방법은, SPB(shifted polynomial basis) 기반의 유한체(finite field) GF(2m) 원소에 대한 곱셈식을 도출하는 단계와, 상기 도출된 곱셈식에 대해 서로 독립적인 제1 구성과 제2 구성을 추출하는 단계와, 상기 제1 구성에 대해 서로 상응하는 제1 공통 요소를 각각 포함하는 제1-1 구성과 제1-2 구성을 추출하고, 상기 제2 구성에 대해 서로 상응하는 제2 공통 요소를 각각 포함하는 제2-1 구성과 제2-2 구성을 추출하는 단계와, 상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성, 상기 제2-2 구성에 대한 연산을 수행하는 것에 기초하여, 상기 도출된 곱셈식의 연산을 수행하는 단계를 포함할 수 있다.

Description

유한체 곱셈 방법 및 장치 {METHOD AND APPARATUS FOR FINITE FIELD MULTIPLICATION}
본 발명은 다항식 기저 기반의 유한체 곱셈 방법 및 장치에 관한 것이다.
유한체(finite field)란 유한한 개수의 원소를 포함하는 체(field)를 말한다. 즉, 유한체 GF(2m) 는 2m개의 원소들을 포함하는 수 체계이다. 유한체 상의 연산은 코딩 이론(coding theory), 컴퓨터 대수(computer algebra), 공개키 암호(public key cryptosystem) 중 타원곡선 암호(elliptic curve cryptosystem) 등 여러 분야에서 널리 쓰이고 있다.
유한체의 연산은 덧셈, 곱셈, 나눗셈, 제곱, 역원 연산 등이 존재한다. 이러한 연산들 중 곱셈은 나눗셈, 역원과 같은 다른 연산들의 기초 연산으로서 중요하다. 즉, 곱셈은 공개키 암호 시스템과 같이 유한체를 이용하는 시스템(이하, '유한체 시스템')에서 수행되어야 하는 기본적인 연산으로, 유한체 시스템의 효율을 결정하는 요소로 작용할 수 있다. 이에 따라, 유한체 시스템의 성능을 향상시키기 위해서는 보다 효율적으로 곱셈이 수행되어야할 필요가 있다.
한국등록특허 제10-0902847호 (2009년 06월 08일 등록)
본 발명이 해결하고자 하는 과제는, 곱셈식에 대해 독립적이며 서로 대응하는 형태의 구성을 도출하고, 구성된 도출에 대한 병렬 연산을 수행하여 효율적으로 곱셈을 수행하는 유한체 곱셈 방법 및 장치를 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.
본 발명의 일 실시예에 따른 프로세서를 갖는 정보 처리 장치에서 수행되는 유한체 곱셈 방법은, SPB(shifted polynomial basis) 기반의 유한체(finite field) GF(2m) 원소에 대한 곱셈식을 도출하는 단계와, 상기 도출된 곱셈식에 대해 서로 독립적인 제1 구성과 제2 구성을 추출하는 단계와, 상기 제1 구성에 대해 서로 상응하는 제1 공통 요소를 각각 포함하는 제1-1 구성과 제1-2 구성을 추출하고, 상기 제2 구성에 대해 서로 상응하는 제2 공통 요소를 각각 포함하는 제2-1 구성과 제2-2 구성을 추출하는 단계와, 상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성, 상기 제2-2 구성에 대한 연산을 수행하는 것에 기초하여, 상기 도출된 곱셈식의 연산을 수행하는 단계를 포함할 수 있다.
또한, 상기 도출된 곱셈식의 연산을 수행하는 단계는, 상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성 및 상기 제2-2 구성의 연산을 병렬적으로 수행하는 단계와, 상기 제1-1 구성과 상기 제1-2 구성의 연산에 기초하여 상기 제1 구성의 산을 수행하고, 상기 제2-1 구성과 상기 제2-2 구성의 연산에 기초하여 상기 제2 구성의 연산을 수행하는 단계와, 상기 제1 구성 및 상기 제2 구성의 연산에 기초하여 상기 도출된 곱셈식의 연산을 수행하는 단계를 포함할 수 있다.
또한, 상기 SPB는 {x-v, x-v+1, …, xm -v-1} (m은 기지정된 정수, v는 0 초과 m이하의 값)로 정의되는 기저를 포함하고, 상기 유한체 GF(2m) 원소는 제1 원소와 제2 원소를 포함하고, 상기 제1 원소와 상기 제2 원소는 각각 상기 SPB를 이용하여 표현될 수 있다.
또한, 상기 SPB를 이용하여 표현되는 상기 제1 원소는
Figure 112019015815015-pat00001
(A는 상기 SPB를 이용하여 표현되는 상기 제1 원소, ai는 상기 제1 원소에 대해 0 이상 m-1 이하의 범위 내의 특정 값인 i에 대한 xi의 계수)로 표현되고, 상기 SPB를 이용하여 표현되는 상기 제2 원소는
Figure 112019015815015-pat00002
(B는 상기 SPB를 이용하여 표현되는 상기 제2 원소, bi는 상기 제2 원소에 대해 0 이상 m-1 이하의 범위 내의 특정 값인 i에 대한 xi의 계수)로 표현되고, 상기 곱셈식은
Figure 112019015815015-pat00003
(P는 상기 곱셈식, F는 상기 유한체 GF(2m) 에 대한 기약다항식)으로 도출될 수 있다.
또한, 상기 제1 구성과 상기 제2 구성을 추출하는 단계는, 상기 곱셈식을 대칭되는 형태로 표현되도록 변형하는 단계와, 상기 변형된 곱셈식에 대해, xi를 포함하도록 상기 제1 구성을 추출하고, x-i를 포함하도록 상기 제2 구성을 추출하는 단계를 포함할 수 있다.
또한, 상기 변형된 곱셈식은, C+x-1D modF (C는 상기 제1 구성, D는 상기 제2 구성)으로 표현되고, 상기 제1 구성은,
Figure 112019015815015-pat00004
(bv +i는 상기 제2 원소에서 xv +i의 계수, S는 상기 제1-1 구성, T는 상기 제1-2 구성)을 통해 획득되고, 상기 제2 구성은,
Figure 112019015815015-pat00005
(bv -1-i는 상기 제2 원소에서 xv -1-i의 계수,
Figure 112019015815015-pat00006
는 상기 제2-1 구성,
Figure 112019015815015-pat00007
는 상기 제2-2 구성)을 통해 획득될 수 있다.
또한, 상기 제1 공통 요소는 Ax2i이고, 상기 제2 공통 요소는 Ax-2i일 수 있다.
또한, 상기 제1-1 구성은,
Figure 112019015815015-pat00008
(
Figure 112019015815015-pat00009
는 상기 제2 원소에서 xv+2i의 계수)를 통해 획득되고, 상기 제1-2 구성은,
Figure 112019015815015-pat00010
(
Figure 112019015815015-pat00011
는 상기 제2 원소에서 xv +1+2i의 계수)를 통해 획득되고, 상기 제2-1 구성은,
Figure 112019015815015-pat00012
(
Figure 112019015815015-pat00013
는 상기 제2 원소에서 xv -1-2i의 계수)를 통해 획득되고, 상기 제2-2 구성은,
Figure 112019015815015-pat00014
(
Figure 112019015815015-pat00015
는 상기 제2 원소에서 xv -2-2i의 계수)를 통해 획득될 수 있다.
본 발명의 일 실시예에 따른 유한체 곱셈 장치는 SPB(shifted polynomial basis) 기반의 유한체(finite field) GF(2m) 원소에 대한 곱셈식을 도출하는 곱셈식 도출부와, 상기 도출된 곱셈식에 대해 서로 독립적인 제1 구성과 제2 구성을 추출하고, 상기 제1 구성에 대해 서로 상응하는 제1 공통 요소를 각각 포함하는 제1-1 구성과 제1-2 구성을 추출하고, 상기 제2 구성에 대해 서로 상응하는 제2 공통 요소를 각각 포함하는 제2-1 구성과 제2-2 구성을 추출하는 구성 추출부와, 상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성, 상기 제2-2 구성에 대한 연산을 수행하는 것에 기초하여, 상기 도출된 곱셈식의 연산을 수행하는 연산 수행부를 포함할 수 있다.
또한, 상기 연산 수행부는, 상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성 및 상기 제2-2 구성의 연산을 병렬적으로 수행하고, 상기 제1-1 구성과 상기 제1-2 구성의 연산에 기초하여 상기 제1 구성의 연산을 수행하고, 상기 제2-1 구성과 상기 제2-2 구성의 연산에 기초하여 상기 제2 구성의 연산을 수행하고, 상기 제1 구성 및 상기 제2 구성의 연산에 기초하여 상기 도출된 곱셈식의 연산을 수행할 수 있다.
또한, 상기 SPB는 {x-v, x-v+1, …, xm -v-1}(m은 기지정된 정수, v는 0 초과 m이하의 값)으로 정의되는 기저를 포함하고, 상기 유한체 GF(2m) 원소는 제1 원소와 제2 원소를 포함하고, 상기 제1 원소와 상기 제2 원소는 각각 상기 SPB를 이용하여 표현될 수 있다.
또한, 상기 SPB를 이용하여 표현되는 상기 제1 원소는
Figure 112019015815015-pat00016
(A는 상기 SPB를 이용하여 표현되는 상기 제1 원소, ai는 상기 제1 원소에 대해 0 이상 m-1 이하의 범위 내의 특정 값인 i에 대한 xi의 계수)로 표현되고, 상기 SPB를 이용하여 표현되는 상기 제2 원소는
Figure 112019015815015-pat00017
(B는 상기 SPB를 이용하여 표현되는 상기 제2 원소, bi는 상기 제2 원소에 대해 0 이상 m-1 이하의 범위 내의 특정 값인 i에 대한 xi의 계수)로 표현되고, 상기 곱셈식은
Figure 112019015815015-pat00018
(P는 상기 곱셈식, F는 상기 유한체 GF(2m) 에 대한 기약다항식)으로 도출될 수 있다.
또한, 상기 구성 추출부는, 상기 곱셈식을 대칭되는 형태로 표현되도록 변형하고, 상기 변형된 곱셈식에 대해, xi를 포함하도록 상기 제1 구성을 추출하고 x-i를 포함하도록 상기 제2 구성을 추출할 수 있다.
또한, 상기 변형된 곱셈식은, C+x-1D modF (C는 상기 제1 구성, D는 상기 제2 구성)으로 표현되고, 상기 제1 구성은,
Figure 112019015815015-pat00019
(bv +i는 상기 제2 원소에서 xv +i의 계수, S는 상기 제1-1 구성, T는 상기 제1-2 구성)을 통해 획득되고, 상기 제2 구성은,
Figure 112019015815015-pat00020
(bv -1-i는 상기 제2 원소에서 xv -1-i의 계수,
Figure 112019015815015-pat00021
는 상기 제2-1 구성,
Figure 112019015815015-pat00022
는 상기 제2-2 구성)을 통해 획득될 수 있다.
또한, 상기 제1 공통 요소는 Ax2i이고, 상기 제2 공통 요소는 Ax-2i일 수 있다.
또한, 상기 제1-1 구성은,
Figure 112019015815015-pat00023
(
Figure 112019015815015-pat00024
는 상기 제2 원소에서 xv +2i의 계수)를 통해 획득되고, 상기 제1-2 구성은,
Figure 112019015815015-pat00025
(
Figure 112019015815015-pat00026
는 상기 제2 원소에서 xv +1+2i의 계수)를 통해 획득되고, 상기 제2-1 구성은,
Figure 112019015815015-pat00027
(
Figure 112019015815015-pat00028
는 상기 제2 원소에서 xv-1-2i의 계수)를 통해 획득되고, 상기 제2-2 구성은,
Figure 112019015815015-pat00029
(
Figure 112019015815015-pat00030
는 상기 제2 원소에서 xv-2-2i의 계수)를 통해 획득될 수 있다.
본 발명의 실시예에 따른 유한체 곱셈 방법 및 장치는, 곱셈식에 대해 독립적이되 대칭되는 구성을 도출하여 연산을 수행함으로써, 효율적인 곱셈이 가능하도록 할 수 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 유한체 곱셈 장치의 기능적 구성의 예를 도시한다.
도 2는 본 발명의 일 실시예에 따른 유한체 곱셈 방법의 각 단계의 흐름을 도시한다.
도 3은 본 발명의 일 실시예에 따른 유한체 곱셈 장치의 연산 수행부의 예를 개념적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 연산 수행부의 제1 구성 연산부의 예를 도시한다.
도 5는 본 발명의 일 실시예에 따른 제1 구성 연산부의 구성을 구체적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 연산 수행부의 제2 구성 연산부의 예를 도시한다.
도 7은 본 발명의 일 실시예에 따른 제1 구성 연산부의 구성을 구체적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 연산 수행부의 곰셈식 연산부의 예를 도시한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 유한체 곱셈 장치의 기능적 구성의 예를 도시한다. 이하 사용되는 '…부'등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1을 참조하면, 유한체 곱셈 장치(100)는 곱셈식 도출부(110), 구성 추출부(120), 연산 수행부(130)를 포함할 수 있다.
곱셈식 도출부(110)는 SPB(shifted polynomial basis) 기반의 유한체(finite field) GF(2m) 원소에 대한 곱셈식을 도출할 수 있다. SPB는 {x-v, x-v+1, …, xm-v-1}(m은 기지정된 정수, v는 0 초과 m이하의 값(예:
Figure 112019015815015-pat00031
))으로 정의될 수 있다. 다만, 본 명세서 상에서 v는 병렬성을 높이기 위해
Figure 112019015815015-pat00032
으로 가정하여 설명하겠으나, 이에 제한되지 않고, 0보다 크고 m이하의 범위 내의 정수일 수 있다. 유한체 GF(2m) 원소는 SPB를 이용하여 표현될 수 있으며, 이에 따라 곱셈식도 SPB를 이용하여 표현될 수 있다. 예를 들어, SPB를 이용하여 표현된 유한체 GF(2m) 원소가 제1 원소와 제2 원소일 때, 곱셈식도 제1 원소와 제2 원소를 이용하여 표현될 수 있다.
구성 추출부(120)는 도출된 곱셈식에 대해 서로 독립적인 제1 구성과 제2 구성을 추출할 수 있다. 구성 추출부(120)는 제1 구성을 제1 공통 요소가 각각 포함되는 제1-1 구성과 제1-2 구성으로 표현하고, 제2 구성을 제2 공통 요소가 각각 포함되는 제2-1 구성과 제2-2 구성으로 표현할 수 있다. 이를 기초로, 구성 추출부(120)는 제1 구성에 대해 서로 상응하는 제1 공통 요소를 각각 포함하는 제1-1 구성과 제1-2 구성을 추출하고, 제2 구성에 대해 서로 상응하는 제2 공통 요소를 각각 포함하는 제2-1 구성과 제2-2 구성을 추출할 수 있다.
연산 수행부(130)는 제1-1 구성, 제1-2 구성, 제2-1 구성, 제2-2 구성에 대한 연산을 수행하는 것에 기초하여, 곱셈식 전체의 연산을 수행할 수 있다.
연산 수행부(130)는 제1-1 구성과 제1-2 구성의 연산에 기초하여 제1 구성의 연산을 수행하고, 제2-1 구성과 제2-2 구성의 연산에 기초하여 제2 구성의 연산을 수행할 수 있다. 그 후, 연산 수행부(130)는 제1 구성과 제2 구성으로 표현되는 곱셈식, 즉 곱셈식 도출부(110)에 의해 곱셈을 수행하기 위해 도출된 원래의 곱셈식에 대한 연산을 수행할 수 있다.
한편, 제1-1 구성, 제1-2 구성, 제2-1 구성, 제2-2 구성에 대한 연산은 병렬적으로 수행될 수 있다. 예를 들어, '제1-1 구성 및 제1-2 구성에 대한 연산'과 '제2-1 구성 및 제2-2구성에 대한 연산'이 동시에 수행될 수 있다.
도 2는 본 발명의 일 실시예에 따른 유한체 곱셈 방법의 각 단계의 흐름을 도시한다. 이하 도 2의 각 단계는 도 1의 각 구성을 중심으로 설명하겠으며, 도 1과 중복되는 내용이 생략될 수 있다.
도 2를 참조하면, 곱셈식 도출부(110)는 SPB(shifted polynomial basis) 기반의 유한체(finite field) GF(2m) 원소에 대한 곱셈식을 도출할 수 있다(S110). 곱셈식 도출부(110)는 유한체 GF(2m) 원소를 SPB를 이용하여 제1 원소와 제2 원소로 표현할 수 있다. 제1 원소는 하기의 수학식 1과 같이 표현될 수 있다.
Figure 112019015815015-pat00033
수학식 1에서, A는 SPB를 이용하여 표현되는 유한체 GF(2m) 의 제1 원소, ai는 제1 원소에 대해 0 이상 m-1 이하의 범위 내에 포함되는 특정 값 i에 대한 xi의 계수일 수 있다. 예를 들어, GF(24)의 제1 원소가 A이고 i가 2인 경우, A가 a3x3+a2x2+a1x1+a0x0라 하면, ai는 A의 x2의 계수이다. 이하에서는 설명의 편의를 위해 ai를 제1 원소의 i번째 계수라고 지칭하겠다. 이하에서 m은 짝수이고, v는
Figure 112019015815015-pat00034
으로 가정하여 설명하겠다.
제2 원소는 하기의 수학식 2와 같이 표현될 수 있다.
Figure 112019015815015-pat00035
수학식 2에서, B는 SPB를 이용하여 표현되는 제2 원소, bi는 제2 원소에 대해 0부터 m-1 범위 내의 특정 값인 i에 대한 xi의 계수일 수 있다. 예를 들어, GF(24)의 제2 원소가 B이고 i가 2인 경우, B가 b3x3+b2x2+b1x1+b0x0라 하면, bi는 B의 x2의 계수이다. 이하에서는 설명의 편의를 위해 bi를 제2 원소의 i번째 계수라고 지칭하겠다.
곱셈식 도출부(110)는 수학식 1과 수학식 2를 통해 표현되는 제1 원소와 제2 원소를 이용하여, 유한체 GF(2m) 원소에 대한 곱셈식을 하기의 수학식 3과 같이 도출할 수 있다.
Figure 112019015815015-pat00036
수학식 3에서, P는 제1 원소 및 제2 원소를 이용하여 표현된 곱셈식, F는 유한체 GF(2m)에 대한 기약다항식일 수 있다. 여기서, F는 구체적으로 유한체 GF(2m)를 정의하며, 더 이상 인수분해가 되지 않는 다항식인 기약다항식일 수 있다.
구성 추출부(120)는 도출된 곱셈식에 대해 서로 독립적인 제1 구성과 제2 구성을 추출할 수 있다(S120). 구체적으로 설명하면, 구성 추출부(120)는 제1 구성과 제2 구성의 추출을 위해 도출된 곱셈식을 대칭되는 형태로 표현되도록 변형할 수 있다.
변형된 곱셈식은 하기의 수학식 4와 같이 표현될 수 있다.
Figure 112019015815015-pat00037
수학식 4에서, C는 제1 구성, D는 제2 구성일 수 있다. 제1 구성은 하기의 수학식 5와 같이 표현될 수 있다.
Figure 112019015815015-pat00038
수학식 5에서, v는
Figure 112019015815015-pat00039
, bv +i는 제2 원소의 v+i번째 계수일 수 있다.
제2 구성은 하기의 수학식 6과 같이 표현될 수 있다.
Figure 112019015815015-pat00040
수학식 6에서, bv -1-i는 제2 원소의 v-1-i번째 계수일 수 있다.
구성 추출부(120)는 제1 구성과 제2 구성 각각이 독립적인 2개의 구성을 이용하여 표현되도록 변형할 수 있다. 즉, 구성 추출부(120)는 제1 구성이 제1-1구성과 제1-2 구성으로 표현되도록 하고, 제2 구성이 제2-1 구성과 제2-2 구성으로 표현되도록 변형할 수 있다.
변형된 제1 구성은 하기의 수학식 7과 같이 표현될 수 있다.
Figure 112019015815015-pat00041
수학식 7에서, S는 제1-1 구성, T는 제1-2 구성일 수 있다.
변형된 제2 구성은 하기의 수학식 9와 같이 표현될 수 있다.
Figure 112019015815015-pat00042
수학식 8에서,
Figure 112019015815015-pat00043
는 제2-1 구성,
Figure 112019015815015-pat00044
는 제2-2 구성일 수 있다.
구성 추출부(120)는 제1 구성에 대해 서로 상응하는 제1 공통 요소를 각각 포함하는 제1-1 구성과 제1-2 구성을 추출할 수 있다(S130). 변형된 제1 구성에 포함되는 제1-1구성은 하기의 수학식 9와 같이 표현될 수 있다.
Figure 112019015815015-pat00045
수학식 9에서,
Figure 112019015815015-pat00046
는 제2 원소의 v+2i번째 계수일 수 있다.
변형된 제1 구성에 포함되는 제1-2구성은 하기의 수학식 10과 같이 표현될 수 있다.
Figure 112019015815015-pat00047
수학식 10에서,
Figure 112019015815015-pat00048
는 제2 원소의 v+1+2i번째 계수일 수 있다.
이 때, 제1-1 구성과 제1-2 구성에 포함되는 제1 공통 요소는 Ax2i일 수 있다.
구성 추출부(120)는 제2 구성에 대해 서로 상응하는 제2 공통 요소를 각각 포함하는 제2-1 구성과 제2-2 구성을 추출할 수 있다(S140). 변형된 제2 구성에 포함되는 제2-1 구성은 하기의 수학식 11과 같이 표현될 수 있다.
Figure 112019015815015-pat00049
수학식 11에서,
Figure 112019015815015-pat00050
는 제2 원소의 v-1-2i번째 계수일 수 있다.
변형된 제2 구성에 포함되는 제2-2 구성은 하기의 수학식 12와 같이 표현될 수 있다.
Figure 112019015815015-pat00051
수학식 12에서,
Figure 112019015815015-pat00052
는 제2 원소의 v-2-2i번째 계수일 수 있다.
이 때, 제2-1 구성과 제2-2 구성에 포함되는 제1 공통 요소는 Ax-2i일 수 있다.
연산 수행부(130)는 제1-1 구성, 제1-2 구성, 제2-1 구성 및 제2-2 구성에 대한 연산을 수행하는 것에 기초하여, 곱셈식 전체의 연산, 예를 들어 수학식 4의 연산을 수행할 수 있다(S150). 연산 수행부(130)는 제1-1 구성, 제1-2 구성, 제2-1 구성 및 제2-2 구성 각각에 대한 연산의 수행을 위해 제1 공통 요소와 제2 공통 요소에 대한 계산을 수행할 수 있다.
연산 수행부(130)는 미리 결정된 모듈러 값을 이용하여 제1 공통 요소와 제2 공통 요소의 계산을 수행할 수 있다. 모듈러 값은 기약 다항식 F를 이용하여 정의되는 값으로서, 곱셈의 수행 전 미리 결정되어 있는 값일 수 있다. 모듈러 값은 총 4 종류로 구성될 수 있다. 모듈러 값은 각각 제1 모듈러 값, 제2 모듈러 값, 제3 모듈러 값, 제4 모듈러 값으로 지칭하겠다.
제1 모듈러 값은 하기의 수학식 13과 같이 정의될 수 있다.
Figure 112019015815015-pat00053
수학식 13에서,
Figure 112019015815015-pat00054
는 기약다항식 F를 이용하여 표현되는 제1 모듈러 값이며, G로 정의할 수 있다. gj는 제1 모듈러 값의 j번째 계수이고, j는 0부터 m-1 범위 내의 상수일 수 있다. 예를 들어, GF(24)의 제2 원소가 G이고 j가 2인 경우, G가 g3x3+g2x2+g1x1+g0x0라 하면, gj는 G의 x2의 계수이다.
제2 모듈러 값은 하기의 수학식 14와 같이 정의될 수 있다.
Figure 112019015815015-pat00055
수학식 14에서,
Figure 112019015815015-pat00056
는 기약다항식 F를 이용하여 표현되는 제2 모듈러 값이며, G'로 정의할 수 있다. gj'은 제2 모듈러 값의 j번째 계수일 수 있다.
제3 모듈러 값은 하기의 수학식 15와 같이 정의될 수 있다.
Figure 112019015815015-pat00057
수학식 15에서,
Figure 112019015815015-pat00058
는 기약다항식 F를 이용하여 표현되는 제3 모듈러 값이며,
Figure 112019015815015-pat00059
로 정의할 수 있다.
Figure 112019015815015-pat00060
은 제3 모듈러 값의 j번째 계수일 수 있다.
제4 모듈러 값은 하기의 수학식 16과 같이 정의될 수 있다.
Figure 112019015815015-pat00061
수학식 16에서,
Figure 112019015815015-pat00062
는 기약다항식 F를 이용하여 표현되는 제4 모듈러 값이며,
Figure 112019015815015-pat00063
로 정의할 수 있다.
Figure 112019015815015-pat00064
은 제4 모듈러 값의 j번째 계수일 수 있다.
연산 수행부(130)는 제1 공통 요소와 제2 공통 요소의 계산을 위해 제1 공통 요소와 제2 공통 요소 각각이 기약 다항식을 이용하여 표현되도록 할 수 있다. 제1 공통 요소에 대해 기약 다향식을 이용하여 표현된 식은 하기의 수학식 17과 같이 표현될 수 있다.
Figure 112019015815015-pat00065
제2 공통 요소에 대해 기약 다향식을 이용하여 표현된 식은 하기의 수학식 18과 같이 표현될 수 있다.
Figure 112019015815015-pat00066
연산 수행부(130)는 제1 모듈러 값 내지 제4 모듈러 값을 이용하여 모듈러 식으로 나타나는 A(i)
Figure 112019015815015-pat00067
를 각각 점화식(recurrence equation)으로 나타나는 수학식 19 및 수학식 20의 형태로 변형할 수 있다.
Figure 112019015815015-pat00068
Figure 112019015815015-pat00069
수학식 19 및 수학식 20과 관련하여,
Figure 112019015815015-pat00070
Figure 112019015815015-pat00071
는 A라는 동일한 값으로 표현될 수 있고,
Figure 112019015815015-pat00072
,
Figure 112019015815015-pat00073
,
Figure 112019015815015-pat00074
Figure 112019015815015-pat00075
각각은 i가 1이상 h-1(h는
Figure 112019015815015-pat00076
)범위 내에서 모두 0일 수 있다.
수학식 19 및 수학식 20을 이용하여 제1-1 구성, 제1-2 구성, 제2-1 구성, 제2-2 구성을 각각 전개하면 하기의 수학식 21 내지 24와 같이 표현될 수 있다.
Figure 112019015815015-pat00077
Figure 112019015815015-pat00078
Figure 112019015815015-pat00079
Figure 112019015815015-pat00080
연산 수행부(130)는 수학식 21 내지 24를 이용하여 제1-1 구성, 제1-2 구성, 제1-3 구성, 제1-4 구성 각각에 대한 점화식을 도출할 수 있다. 제1-1 구성, 제1-2 구성, 제1-3 구성, 제1-4 구성 각각에 대해 도출된 점화식은 하기의 수학식 25 내지 28로 표현될 수 있다.
Figure 112019015815015-pat00081
수학식 25에서, S(i)는 i번째 사이클에서의 제1-1 구성, S(i-1)는 i-1번째 사이클에서의 제1-1 구성일 수 있고, A(i-1)은 i-1번째 사이클에서의 제1 공통 요소에 대해 기약 다향식을 이용하여 표현된 식의 값일 수 있다.
Figure 112019015815015-pat00082
수학식 26에서, T(i)는 i번째 사이클에서의 제1-2 구성, T(i-1)는 i-1번째 사이클에서의 제1-2 구성일 수 있다.
Figure 112019015815015-pat00083
수학식 27에서,
Figure 112019015815015-pat00084
는 i번째 사이클에서의 제2-1 구성,
Figure 112019015815015-pat00085
는 i-1번째 사이클에서의 제2-1 구성일 수 있다.
Figure 112019015815015-pat00086
는 i-1번째 사이클에서의 제2 공통 요소에 대해 기약 다향식을 이용하여 표현된 식의 값일 수 있다.
Figure 112019015815015-pat00087
수학식 28에서,
Figure 112019015815015-pat00088
는 i번째 사이클에서의 제2-2 구성,
Figure 112019015815015-pat00089
는 i-1번째 사이클에서의 제2-2 구성일 수 있다.
수학식 25 내지 수학식 28을 통해 각각 표현되는 제1-1 구성, 제1-2 구성, 제2-1 구성 및 제2-2 구성은 서로 독립적이며, 데이터 의존성이 없을 수 있다. 이에 따라, 연산 수행부(130)는 제1-1 구성, 제1-2 구성, 제2-1 구성 및 제2-2 구성 중 적어도 일부에 대해 병렬적인 계산을 수행할 수 있다. 예를 들어, 연산 수행부(130)는 제1-1 구성, 제1-2 구성, 제2-1 구성 및 제2-2 구성 각각을 동시에 계산할 수도 있고, 그 중 일부 구성에 대해서만 동시에 계산하고 나머지는 추후에 계산할 수도 있다.
연산 수행부(130)는 '제1-1 구성과 제1-2 구성'의 계산이 완료되면 수학식 7로 표현되는 제1 구성에 대한 연산을 수행할 수 있고, '제2-1 구성과 제2-2 구성'의 계산이 완료되면 수학식 8로 표현되는 제2 구성에 대한 연산을 수행할 수 있다.
수학식 7에 대한 연산은 제1-1 구성과 제1-2 구성의 계산 결과에 기초하여 하기의 수학식 29와 같이 구체화될 수 있다.
Figure 112019015815015-pat00090
수학식 8에 대한 연산은 제2-1 구성과 제2-2 구성의 계산 결과에 기초하여 하기의 수학식 30과 같이 구체화될 수 있다.
Figure 112019015815015-pat00091
연산 수행부(130)는 최종적으로 곱셈 결과를 도출하기 위해 수학식 4에 대한 연산을 수행할 수 있다. 수학식 4에 대한 연산은 제1 구성 및 제2 구성의 계산 결과에 기초하여 하기의 수학식 31과 같이 구체화될 수 있다.
Figure 112019015815015-pat00092
도 3은 본 발명의 일 실시예에 따른 유한체 곱셈 장치의 연산 수행부의 예를 개념적으로 도시한다.
도 3을 참조하면, 연산 수행부(130)는 제1 구성 연산부(210), 제2 구성 연산부(220), 제3 구성 연산부(230)를 포함할 수 있다.
제1 구성 연산부(210)는 제1 원소, 제1 모듈러 값, 제2 모듈러 값, 제2 원소에 대한 값을 입력받아 제1 구성(C)에 대한 계산을 수행할 수 있다. 제1 구성 연산부(210)는 제1 구성(C)의 계산 결과를 제3 구성 연산부(230)에 제공할 수 있다.
제2 구성 연산부(220)는 제1 원소, 제3 모듈러 값, 제4 모듈러 값, 제2 원소에 대한 값을 입력받아 제2 구성(D)에 대한 계산을 수행할 수 있다. 제2 구성 연산부(220)는 제2 구성(D)의 계산 결과 및 입력받은 제3 모듈러 값을 제3 구성 연산부(230)에 제공할 수 있다.
도 3에 도시된 바와 같이, 제1 구성 연산부(210)와 제2 구성 연산부(220)는 서로 독립적으로 설계될 수 있다. 이에 따라, 제1 구성에 대한 연산은 제1 구성 연산부(210)를 통해, 제2 구성에 대한 연산은 제2 구성 연산부(220)를 통해, 병렬적이며 독립적으로 수행될 수 있다.
제3 구성 연산부(230)는 제1 구성, 제2 구성, 제3 모듈러 값을 이용하여 최종적으로 곱셈식 연산을 수행할 수 있다. 제3 구성 연산부(230)에 의해 수행되는 연산은 수학식 4에 대한 연산일 수 있다.
한편, 도 3에서는 제1 구성 연산부(210)와 제2 구성 연산부(220)의 2가지 부분으로 나눈 하드웨어적 구성만 도시하였으나, 제1-1 구성, 제1-2 구성, 제2-1 구성, 제2-2 구성 각각은 독립적인 구성이기 때문에 도시된 바에 제한되지 않고, 제1-1 구성, 제1-2 구성, 제2-1 구성, 제2-2 구성 각각이 별개의 하드웨어적 구성에 의해 계산되도록 설계될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 연산 수행부의 제1 구성 연산부의 예를 도시한다. 도 4는 유한체 GF(2m)에서 m이 12인 경우 구현되는 세미-시스톨릭 어레이(semi-systolic array)로 구현된 연산 수행부의 제1 구성 연산부의 예를 나타낸다. 다만, 도시된 예에 제한되지 않으며 제1 구성과 관련된 수학식에 대한 연산이 수행되도록 하는 다양한 형태로 설계될 수 있다.
도 4를 참조하면, 제1 구성 연산부(210)는 복수의 셀로 구성되어 입력되는 값에 대한 연산을 수행할 수 있다. 각 셀은 이전 단계의 연결된 셀에서 획득되는 값에 기초하여 해당 셀의 계산을 수행할 수 있으며, 계산된 값을 다음 셀에 제공할 수 있다. 이러한 반복되는 연산을 통해 제1 구성 연산부(210)는 최종적으로 제1 구성에 대한 값을 도출할 수 있다.
제1 구성 연산부(210)는 제1-1 구성 및 제1-2 구성에 대한 연산을 각각 수행할 수 있는 데, 이는 제1-1 구성과 제1-2 구성이 제1 공통 요소를 포함하는, 즉 유사한 형태로 이루어지는 구성이기 때문에 하나의 하드웨어를 공유하여 각 구성이 도출되도록 할 수 있다.
한편, 도시된 바와 같이, 제1 구성 연산부(210)는 W셀과 V셀로 구성되어 있으며, 각 셀의 구체적인 구성에 대해서는 도 5를 참조할 수 있다.
제1 구성 연산부(210)는 복수의 셀 각각을 통해 연산을 수행하여, 마지막 단계를 계산하는 셀에서 제1 구성에 대한 최종 값들을 도출할 수 있다.
도 5는 본 발명의 일 실시예에 따른 제1 구성 연산부의 구성을 구체적으로 도시한다. 구체적으로, 도 5는 하드웨어 상에서 곱셈과 덧셈으로 이루어진 식을 계산하기 위해 하나의 셀 내부에 AND 게이트와 XOR 게이트가 배치된 구성을 설명하기 위한 제1 구성 연산부(210)의 W셀(211)과 V셀(212)의 논리 회로도이다.
도 5에 도시된 W셀은 구체적으로
Figure 112019015815015-pat00093
에 대한 셀, 즉 제1 구성 연산부(210)의 j번째 열, i번째 행에 해당하는 셀을 나타낸다. W셀은 i번째 값들, 예를 들면 i번째 제1 원소, i번째 제1-1 구성, i번째 제1-2 구성을 구하기 위해, 그 이전의 회차의 값인 i-1번째 값들을 이용할 수 있다.
V셀은 W셀을 통해 획득된 각 값들을 이용하여 최종적으로 제1 구성을 도출할 수 있다. 예를 들어, V셀은 W셀을 통해 획득된 값들을 조합(또는 연산)하여 제1 구성을 도출할 수 있다.
도 6은 본 발명의 일 실시예에 따른 연산 수행부의 제2 구성 연산부의 예를 도시한다. 도 6는 상술한 제2 구성과 관련된 수학식에 대한 연산이 수행되도록 설계된 세미-시스톨릭 어레이를 나타내는 하드웨어적 구성의 예일 수 있다. 다만, 이에 제한되지 않으며 제2 구성과 관련된 수학식에 대한 연산이 수행되도록 하는 다양한 형태로 설계될 수 있다.
도 6을 참조하면, 제2 구성 연산부(220)는 복수의 셀로 구성되어 입력되는 값에 대한 연산을 수행할 수 있다. 각 셀은 이전 단계의 연결된 셀에서 획득되는 값에 기초하여 해당 셀의 계산을 수행할 수 있으며, 계산된 값을 다음 셀에 제공할 수 있다. 이러한 반복되는 연산을 통해 제2 구성 연산부(220)는 최종적으로 제2 구성에 대한 값을 도출할 수 있다.
제2 구성 연산부(220)는 제2-1 구성 및 제2-2 구성에 대한 연산을 각각 수행할 수 있는 데, 이는 제2-1 구성과 제2-2 구성이 제2 공통 요소를 포함하는, 즉 유사한 형태로 이루어지는 구성이기 때문에 하나의 하드웨어를 공유하여 각 구성이 도출되도록 할 수 있다.
한편, 도시된 바와 같이, 제1 구성 연산부(210)는
Figure 112019015815015-pat00094
셀과
Figure 112019015815015-pat00095
셀로 구성되어 있으며, 각 셀의 구체적인 구성에 대해서는 도 7을 참조할 수 있다.
제2 구성 연산부(220)는 복수의 셀 각각을 통해 연산을 수행하여, 마지막 단계를 계산하는 셀에서 제2 구성에 대한 최종 값들을 도출할 수 있다.
도 7은 본 발명의 일 실시예에 따른 제2 구성 연산부의 구성을 구체적으로 도시한다. 도 7은 하드웨어 상에서 곱셈과 덧셈으로 이루어진 식을 계산하기 위해 하나의 셀 내부에 AND 게이트와 XOR 게이트가 배치된 구성을 설명하기 위한 제2 구성 연산부(220)의
Figure 112019015815015-pat00096
셀(221)과
Figure 112019015815015-pat00097
셀(222)의 논리 회로도이다.
도 7에 도시된
Figure 112019015815015-pat00098
셀(221)은 구체적으로
Figure 112019015815015-pat00099
에 대한 셀, 즉 j번째 열, 제2 구성 연산부(220)의 i번째 행에 해당하는 셀을 나타낸다. W셀은 i번째 값들, 예를 들면 i번째 제1 원소, i번째 제2-1 구성, i번째 제2-2 구성을 구하기 위해, 그 이전의 회차의 값인 i-1번째 값들을 이용할 수 있다.
Figure 112019015815015-pat00100
셀(222)은
Figure 112019015815015-pat00101
셀(221)을 통해 획득된 각 값들을 이용하여 최종적으로 제2 구성을 도출할 수 있다. 예를 들어,
Figure 112019015815015-pat00102
셀(222)은
Figure 112019015815015-pat00103
셀(221)을 통해 획득된 값들을 조합(또는 연산)하여 제2 구성을 도출할 수 있다.
도 8은 본 발명의 일 실시예에 따른 연산 수행부의 제3 구성 연산부의 예를 도시한다. 구체적으로, 도 8은 하드웨어 상에서 곱셈과 덧셈으로 이루어진 식을 계산하기 위해 하나의 셀 내부에 AND 게이트와 XOR 게이트가 배치된 구성을 설명하는 논리 회로도이다.
도 8을 참조하면, 제3 구성 연산부(230)는 제1 구성에 대한 값과 제2 구성에 대한 값 및 제3 모듈러 값을 획득하여 최종적인 곱셈식의 계산 결과를 도출할 수 있다. 예를 들면, 제3 구성 연산부(230)는 수학식 4에 제1 구성에 대한 값과 제2 구성에 대한 값 및 제3 모듈러 값 각각을 대입하여, 최종적으로 곰셉 결과를 도출할 수 있다.
한편, 상술한 바와 같이, 제3 구성 연산부(230)는 제1 구성에 대한 값은 제1 구성 연산부(210)에 의해 획득하고, 제2 구성에 대한 값 및 제3 모듈러 값은 제2 구성 연산부(220)에 의해 획득할 수 있다.
본 발명의 일 실시예에 따른 유한체 곱셈 장치 및 방법은 곱셈식에 대해 독립적인 구성을 추출하여 각 구성에 대해 병렬연산을 수행함으로써 시간 효율을 상승시킬 수 있다. 즉, 본 발명의 일 실시예에 따른 유한체 곱셈 장치 및 방법은 곱셈 연산에 대한 시간 복잡도를 감소시킬 수 있다.
본 발명의 일 실시예에 따른 유한체 곱셈 장치 및 방법은 곱셈식에 대해 서로 공통요소를 포함하는 구성을 추출하여 공통요소를 가지는 구성이 하나의 하드웨어를 통해 연산되도록 함으로써, 공간 효율을 상승시킬 수 있다. 즉, 본 발명의 일 실시예에 따른 유한체 곱셈 장치 및 방법은 곱셈 연산에 대한 공간 복잡도를 감소시킬 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 유한체 곱셈 장치
110: 곱셈식 도출부
120: 구성 추출부
130: 연산 수행부
210: 제1 구성 연산부
220: 제2 구성 연산부
230: 제3 구성 연산부

Claims (16)

  1. 프로세서를 갖는 정보 처리 장치에서 수행되는 유한체 곱셈 방법으로서, SPB(shifted polynomial basis) 기반의 유한체(finite field) GF(2m) 원소에 대한 곱셈식을 도출하는 단계와,
    상기 도출된 곱셈식에 대해 서로 독립적인 제1 구성과 제2 구성을 추출하는 단계와,
    상기 제1 구성에 대해 서로 상응하는 제1 공통 요소를 각각 포함하는 제1-1 구성과 제1-2 구성을 추출하고, 상기 제2 구성에 대해 서로 상응하는 제2 공통 요소를 각각 포함하는 제2-1 구성과 제2-2 구성을 추출하는 단계와,
    상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성, 상기 제2-2 구성에 대한 연산을 수행하는 것에 기초하여, 상기 도출된 곱셈식의 연산을 수행하는 단계를 포함하고,
    상기 도출된 곱셈식의 연산을 수행하는 단계는, 미리 결정된 모듈러 값을 이용하여 상기 제1 공통 요소와 상기 제2 공통 요소의 계산을 수행하고,
    상기 모듈러 값은 제1 모듈러 값 내지 제4 모듈러 값을 포함하고,
    상기 제1 모듈러 값은 수학식 1에 의해 정의되는 유한체 곱셈 방법.
    [수학식 1]
    Figure 112020043070235-pat00142

    (여기서,
    Figure 112020043070235-pat00143
    는 기약다항식 F를 이용하여 표현되는 제1 모듈러 값이며, G로 정의되고, gj는 제1 모듈러 값의 j번째 계수이고, j는 0부터 m-1 범위 내의 상수를 의미함)
  2. 제1항에 있어서,
    상기 도출된 곱셈식의 연산을 수행하는 단계는,
    상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성 및 상기 제2-2 구성의 연산을 병렬적으로 수행하는 단계와,
    상기 제1-1 구성과 상기 제1-2 구성의 연산에 기초하여 상기 제1 구성의 연산을 수행하고, 상기 제2-1 구성과 상기 제2-2 구성의 연산에 기초하여 상기 제2 구성의 연산을 수행하는 단계와,
    상기 제1 구성 및 상기 제2 구성의 연산에 기초하여 상기 도출된 곱셈식의 연산을 수행하는 단계를 포함하는
    유한체 곱셈 방법.
  3. 제1항에 있어서,
    상기 SPB는 {x-v, x-v+1, …, xm -v-1} (m은 기지정된 정수, v는 0 초과 m이하의 값)로 정의되는 기저를 포함하고,
    상기 유한체 GF(2m) 원소는 제1 원소와 제2 원소를 포함하고, 상기 제1 원소와 상기 제2 원소는 각각 상기 SPB를 이용하여 표현되는
    유한체 곱셈 방법.
  4. 제3항에 있어서,
    상기 SPB를 이용하여 표현되는 상기 제1 원소는
    Figure 112019015815015-pat00104

    (A는 상기 SPB를 이용하여 표현되는 상기 제1 원소, ai는 상기 제1 원소에 대해 0 이상 m-1 이하의 범위 내의 특정 값인 i에 대한 xi의 계수)로 표현되고,
    상기 SPB를 이용하여 표현되는 상기 제2 원소는
    Figure 112019015815015-pat00105

    (B는 상기 SPB를 이용하여 표현되는 상기 제2 원소, bi는 상기 제2 원소에 대해 0 이상 m-1 이하의 범위 내의 특정 값인 i에 대한 xi의 계수)로 표현되고,
    상기 곱셈식은
    Figure 112019015815015-pat00106

    (P는 상기 곱셈식, F는 상기 유한체 GF(2m)에 대한 기약다항식)으로 도출되는
    유한체 곱셈 방법.
  5. 제4항에 있어서,
    상기 제1 구성과 상기 제2 구성을 추출하는 단계는,
    상기 곱셈식을 대칭되는 형태로 표현되도록 변형하는 단계와,
    상기 변형된 곱셈식에 대해, xi를 포함하도록 상기 제1 구성을 추출하고, x-i를 포함하도록 상기 제2 구성을 추출하는 단계를 포함하는
    유한체 곱셈 방법.
  6. 제5항에 있어서,
    상기 변형된 곱셈식은,
    C+x-1D modF
    (C는 상기 제1 구성, D는 상기 제2 구성)으로 표현되고,
    상기 제1 구성은,
    Figure 112019015815015-pat00107

    (bv +i는 상기 제2 원소에서 xv +i의 계수, S는 상기 제1-1 구성, T는 상기 제1-2 구성)을 통해 획득되고,
    상기 제2 구성은,
    Figure 112019015815015-pat00108

    (bv -1-i는 상기 제2 원소에서 xv -1-i의 계수,
    Figure 112019015815015-pat00109
    는 상기 제2-1 구성,
    Figure 112019015815015-pat00110
    는 상기 제2-2 구성)을 통해 획득되는
    유한체 곱셈 방법.
  7. 제6항에 있어서,
    상기 제1 공통 요소는 Ax2i이고,
    상기 제2 공통 요소는 Ax-2i
    유한체 곱셈 방법.
  8. 제6항에 있어서,
    상기 제1-1 구성은,
    Figure 112019015815015-pat00111

    (
    Figure 112019015815015-pat00112
    는 상기 제2 원소에서 xv +2i의 계수)를 통해 획득되고,
    상기 제1-2 구성은,
    Figure 112019015815015-pat00113

    (
    Figure 112019015815015-pat00114
    는 상기 제2 원소에서 xv +1+2i의 계수)를 통해 획득되고,
    상기 제2-1 구성은,
    Figure 112019015815015-pat00115

    (
    Figure 112019015815015-pat00116
    는 상기 제2 원소에서 xv -1-2i의 계수)를 통해 획득되고,
    상기 제2-2 구성은,
    Figure 112019015815015-pat00117

    (
    Figure 112019015815015-pat00118
    는 상기 제2 원소에서 xv -2-2i의 계수)를 통해 획득되는
    유한체 곱셈 방법.
  9. SPB(shifted polynomial basis) 기반의 유한체(finite field) GF(2m) 원소에 대한 곱셈식을 도출하는 곱셈식 도출부와,
    상기 도출된 곱셈식에 대해 서로 독립적인 제1 구성과 제2 구성을 추출하고, 상기 제1 구성에 대해 서로 상응하는 제1 공통 요소를 각각 포함하는 제1-1 구성과 제1-2 구성을 추출하고, 상기 제2 구성에 대해 서로 상응하는 제2 공통 요소를 각각 포함하는 제2-1 구성과 제2-2 구성을 추출하는 구성 추출부와,
    상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성, 상기 제2-2 구성에 대한 연산을 수행하는 것에 기초하여, 상기 도출된 곱셈식의 연산을 수행하는 연산 수행부를 포함하고,
    상기 연산 수행부는 미리 결정된 모듈러 값을 이용하여 상기 제1 공통 요소와 상기 제2 공통 요소의 계산을 수행하고, 상기 모듈러 값은 제1 모듈러 값 내지 제4 모듈러 값을 포함하고,
    상기 제1 모듈러 값은 수학식 1에 의해 정의되는 유한체 곱셈 장치.
    [수학식 1]
    Figure 112020043070235-pat00144

    (여기서,
    Figure 112020043070235-pat00145
    는 기약다항식 F를 이용하여 표현되는 제1 모듈러 값이며, G로 정의되고, gj는 제1 모듈러 값의 j번째 계수이고, j는 0부터 m-1 범위 내의 상수를 의미함)
  10. 제9항에 있어서,
    상기 연산 수행부는,
    상기 제1-1 구성, 상기 제1-2 구성, 상기 제2-1 구성 및 상기 제2-2 구성의 연산을 병렬적으로 수행하고,
    상기 제1-1 구성과 상기 제1-2 구성의 연산에 기초하여 상기 제1 구성의 연산을 수행하고, 상기 제2-1 구성과 상기 제2-2 구성의 연산에 기초하여 상기 제2 구성의 연산을 수행하고,
    상기 제1 구성 및 상기 제2 구성의 연산에 기초하여 상기 도출된 곱셈식의 연산을 수행하는
    유한체 곱셈 장치.
  11. 제9항에 있어서,
    상기 SPB는 {x-v, x-v+1, …, xm -v-1}(m은 기지정된 정수, v는 0 초과 m이하의 값)으로 정의되는 기저를 포함하고,
    상기 유한체 GF(2m) 원소는 제1 원소와 제2 원소를 포함하고, 상기 제1 원소와 상기 제2 원소는 각각 상기 SPB를 이용하여 표현되는
    유한체 곱셈 장치.
  12. 제11항에 있어서,
    상기 SPB를 이용하여 표현되는 상기 제1 원소는
    Figure 112019015815015-pat00119

    (A는 상기 SPB를 이용하여 표현되는 상기 제1 원소, ai는 상기 제1 원소에 대해 0 이상 m-1 이하의 범위 내의 특정 값인 i에 대한 xi의 계수)로 표현되고,
    상기 SPB를 이용하여 표현되는 상기 제2 원소는
    Figure 112019015815015-pat00120

    (B는 상기 SPB를 이용하여 표현되는 상기 제2 원소, bi는 상기 제2 원소에 대해 0 이상 m-1 이하의 범위 내의 특정 값인 i에 대한 xi의 계수)로 표현되고,
    상기 곱셈식은
    Figure 112019015815015-pat00121

    (P는 상기 곱셈식, F는 상기 유한체 GF(2m) 에 대한 기약다항식)으로 도출되는
    유한체 곱셈 장치.
  13. 제12항에 있어서,
    상기 구성 추출부는,
    상기 곱셈식을 대칭되는 형태로 표현되도록 변형하고,
    상기 변형된 곱셈식에 대해, xi를 포함하도록 상기 제1 구성을 추출하고 x-i를 포함하도록 상기 제2 구성을 추출하는
    유한체 곱셈 장치.
  14. 제13항에 있어서,
    상기 변형된 곱셈식은,
    C+x-1D modF
    (C는 상기 제1 구성, D는 상기 제2 구성)으로 표현되고,
    상기 제1 구성은,
    Figure 112019015815015-pat00122

    (bv +i는 상기 제2 원소에서 xv +i의 계수, S는 상기 제1-1 구성, T는 상기 제1-2 구성)을 통해 획득되고,
    상기 제2 구성은,
    Figure 112019015815015-pat00123

    (bv -1-i는 상기 제2 원소에서 xv -1-i의 계수,
    Figure 112019015815015-pat00124
    는 상기 제2-1 구성,
    Figure 112019015815015-pat00125
    는 상기 제2-2 구성)을 통해 획득되는
    유한체 곱셈 장치.
  15. 제14항에 있어서,
    상기 제1 공통 요소는 Ax2i이고,
    상기 제2 공통 요소는 Ax-2i
    유한체 곱셈 장치.
  16. 제14항에 있어서,
    상기 제1-1 구성은,
    Figure 112019015815015-pat00126

    (
    Figure 112019015815015-pat00127
    는 상기 제2 원소에서 xv +2i의 계수)를 통해 획득되고,
    상기 제1-2 구성은,
    Figure 112019015815015-pat00128

    (
    Figure 112019015815015-pat00129
    는 상기 제2 원소에서 xv +1+2i의 계수)를 통해 획득되고,
    상기 제2-1 구성은,
    Figure 112019015815015-pat00130

    (
    Figure 112019015815015-pat00131
    는 상기 제2 원소에서 xv -1-2i의 계수)를 통해 획득되고,
    상기 제2-2 구성은,
    Figure 112019015815015-pat00132

    (
    Figure 112019015815015-pat00133
    는 상기 제2 원소에서 xv -2-2i의 계수)를 통해 획득되는
    유한체 곱셈 장치.
KR1020190017345A 2019-02-14 2019-02-14 유한체 곱셈 방법 및 장치 KR102132935B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190017345A KR102132935B1 (ko) 2019-02-14 2019-02-14 유한체 곱셈 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190017345A KR102132935B1 (ko) 2019-02-14 2019-02-14 유한체 곱셈 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102132935B1 true KR102132935B1 (ko) 2020-07-10

Family

ID=71604269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190017345A KR102132935B1 (ko) 2019-02-14 2019-02-14 유한체 곱셈 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102132935B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100902847B1 (ko) 2007-07-04 2009-06-16 고려대학교 산학협력단 분할 테이블을 이용한 유한체 곱셈 장치, 그 방법 및기록매체
KR100976232B1 (ko) * 2009-02-13 2010-08-17 고려대학교 산학협력단 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR20110027176A (ko) * 2009-09-10 2011-03-16 고려대학교 산학협력단 유한체의 원소간 비트-병렬 곱셈방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100902847B1 (ko) 2007-07-04 2009-06-16 고려대학교 산학협력단 분할 테이블을 이용한 유한체 곱셈 장치, 그 방법 및기록매체
KR100976232B1 (ko) * 2009-02-13 2010-08-17 고려대학교 산학협력단 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR20110027176A (ko) * 2009-09-10 2011-03-16 고려대학교 산학협력단 유한체의 원소간 비트-병렬 곱셈방법 및 장치

Similar Documents

Publication Publication Date Title
Ritirc et al. Column-wise verification of multipliers using computer algebra
CN106339204B (zh) 加密计算方法以及装置
JP6621813B2 (ja) 難読化された算術を実行するための電子計算装置
US10200191B2 (en) Electronic calculating device for performing obfuscated arithmetic
Giorgi et al. Parallel modular multiplication on multi-core processors
US10546045B2 (en) Efficient extended-precision processing
Dwivedi An efficient multiplication algorithm using Nikhilam method
Deshpande et al. Modular inverse for integers using fast constant time GCD algorithm and its applications
Rashidi Efficient hardware implementations of point multiplication for binary Edwards curves
CN114465728B (zh) 攻击椭圆曲线签名算法的方法、装置、设备及存储介质
CN104506316A (zh) 一种基于sm2基点的点乘运算方法
CN104572012A (zh) 一种基于aop的多项式基gf(2227)高速模乘法器
Néto et al. A Parallel and Uniform $ k $-Partition Method for Montgomery Multiplication
Yan et al. An implementation of Montgomery modular multiplication on FPGAs
KR102132935B1 (ko) 유한체 곱셈 방법 및 장치
CN106371803B (zh) 用于蒙哥马利域的计算方法和计算装置
Alrimeih et al. Pipelined modular multiplier supporting multiple standard prime fields
KR101925614B1 (ko) 타원곡선 암호화 시스템에서의 스칼라 곱셈 처리 방법 및 타원곡선 암호화 시스템
KR101136972B1 (ko) 타원곡선 암호 연산 방법
EP3206201A1 (en) Non-decreasing sequence determining device, non-decreasing sequence determining method, and program
KR20200072666A (ko) 합성곱 계층의 선택적 데이터 처리 방법 및 이를 이용한 뉴럴 프로세서
Judge et al. On the density of the odd values of the partition function, II: An infinite conjectural framework
Gövem et al. A fast and compact FPGA implementation of elliptic curve cryptography using lambda coordinates
Wilson Optimal algorithms of Gram–Schmidt type
Hlukhov et al. Galois fields elements processing units for cryptographic data protection in cyber-physical systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant