KR101094354B1 - 유한체의 원소간 비트-병렬 곱셈방법 및 장치 - Google Patents

유한체의 원소간 비트-병렬 곱셈방법 및 장치 Download PDF

Info

Publication number
KR101094354B1
KR101094354B1 KR1020090085149A KR20090085149A KR101094354B1 KR 101094354 B1 KR101094354 B1 KR 101094354B1 KR 1020090085149 A KR1020090085149 A KR 1020090085149A KR 20090085149 A KR20090085149 A KR 20090085149A KR 101094354 B1 KR101094354 B1 KR 101094354B1
Authority
KR
South Korea
Prior art keywords
elements
parallel
bit
mspb
base
Prior art date
Application number
KR1020090085149A
Other languages
English (en)
Other versions
KR20110027176A (ko
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 KR1020090085149A priority Critical patent/KR101094354B1/ko
Publication of KR20110027176A publication Critical patent/KR20110027176A/ko
Application granted granted Critical
Publication of KR101094354B1 publication Critical patent/KR101094354B1/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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 유한체의 원소간 비트-병렬 곱셈방법에 관한 것으로서,
Figure 112009503508521-pat00053
을 원소의 개수가 q n 개(q는 소수, n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며
Figure 112009503508521-pat00054
에 속하는 임의의 두 원소의 곱셈 방법에 있어서, 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 단계; 및 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 단계를 포함하고, MSPB로 기저변환을 하는 단계와 두 원소를 비트-병렬 곱셈하는 단계는 병렬로 수행되는 것을 특징으로 하며, 하드웨어 구현시 시간 복잡도 및 공간 복잡도 면에서 효율적인 유한체의 원소간 비트-병렬 곱셈방법 및 이를 포함하는 공개키 암호 방법을 제공한다.

Description

유한체의 원소간 비트-병렬 곱셈방법 및 장치{Method of bit-parallel multiplying elements of finite field and apparatus using it}
본 발명은 유한체의 원소간 비트-병렬 곱셈방법에 관한 것으로서, 더욱 상세하게는 하드웨어 구현시 시간 복잡도 및 공간 복잡도 면에서 효율적인 유한체의 원소간 비트-병렬 곱셈방법, 이를 포함하는 공개키 암호 방법 및 이를 이용한 장치에 관한 것이다.
다음의 성질을 만족하는 연산 +,·이 정의되어 있는 집합 F를 체(field)라고 한다.
(a) (F,+) 은 가환군(abelian group)이다. 이 때, 0를 +에 대한 항등원이라 한다.
(b) (F-{0},·) 역시 가환군이다. 1을 ·에 대한 항등원이라 한다.
(c) 다음과 같은 분배법칙이 성립한다: (abc=a·cb·c
Figure 112009503508521-pat00055
F의 원소의 개수가 유한개라면, F를 유한체(finite field)라고 한다. 유한체 원소의 개수는 항상 소수의 멱승(p n ) 형태로 나타난다.
Figure 112009503508521-pat00056
을 원소의 개수가 q n 개인 유한체라고 한다. n≥2에 대하여,
Figure 112009503508521-pat00057
F q 위에서 차원이 n인 벡터 공간(vector space)으로 생각할 수 있다. 이 때, 크게 두 가지 형태의 기저(basis)를
Figure 112009503508521-pat00058
의 원소를 표현하기 위하여 사용한다. 하나는 다항식 기저(polynomial basis)이고, 다른 하나는 정규 기저(normal basis)이다.
fF q 의 원소를 계수로 갖는 차수가 n인 기약 다항식(irreducible polynomial)이라고 하자.
Figure 112009503508521-pat00059
이므로,
Figure 112009503508521-pat00060
의 모든 원소는 n차 미만의 다항식으로 나타낼 수 있다. 이 때, {1(modf),x(modf),...,x n -1(modf)}가 F q 위에서
Figure 112009503508521-pat00061
의 기저가 되는데, 이를 다항식 기저(polynomial basis)라고 한다. 또한,
Figure 112009503508521-pat00062
는 {
Figure 112009503508521-pat00063
}과 같은 형태의 기저를 갖고 있는데, 이를
Figure 112009503508521-pat00064
의 정규 기저라고 한다.
유한체 연산 중 곱셈 연산은 가장 높은 비중을 차지하며, 곱셈 연산의 효율성은 기저와 기약다항식 등에 의하여 달라진다. 효율적인 기약다항식을 선택하는 경우 All One Irreducible Polynomial(AOP)를 제외하고 대부분의 경우는 기약 다항식의 0이 아닌 항의 개수가 최소가 되는 경우가 가장 효율적이다. 따라서 이진체 환경에서는 이항 기약다항식이 존재하지 않으므로 삼항 기약다항식이 가장 효율적이다.
Figure 112009503508521-pat00065
연산은 F 2 연산의 덧셈(뺄셈) 연산과 곱셈 연산에 의하여 계산되며, 덧 셈과 곱셈 연산은 비트 단위의 AND와 XOR 연산에 의하여 표현된다. 이는 하드웨어에서 2-입력 1-출력의 AND와 XOR 게이트(gate)이다. 또한 하드웨어에서 연산의 효율성은 시간 및 공간 복잡도에 의하여 정의되므로 공간복잡도 계산을 위하여 AND와 XOR 게이트 수를 각각 #AND와 #XOR로 표기하고 시간복잡도를 위하여 AND와 XOR 게이트 시간지연(time delay)을 각각 TA와 TX로 표기한다.
최근 Fan과 Dai는 이진체 곱셈기의 효율성을 개선하기 위하여
Figure 112009503508521-pat00066
에서 Shifted Polynomial Basis(SPB)와 이를 이용한 non-pipeline 비트-병렬 곱셈기를 제안하였다. SPB는 PB에 1,α,…,α n-1α - υ 를 곱한 것으로, 이둘 사이의 기저 변환은 매우 쉽다. Shifted Polynomial Basis(SPB)는 비특허문헌 1[H. Fan and Y. Dai, "Fast bit parallel GF(2 n ) multiplier for all trinomials," IEEE Trans. Computers., vol. 54, no. 4, pp. 485-490, Apr. 2005.]에서 처음 제안했으며 이를 이용하여 파이프라인(pipeline)이 아닌 비트-병렬 곱셈기를 제안하였다. SPB는 Polynomial Basis(PB)를 변형한 형태로 둘 사이의 기저 변환이 매우 간단하게 수행된다. 따라서 기존의 SPB 비트-병렬 곱셈기는 기존의 PB 비트-병렬 곱셈기와 많이 비교되었다.
이하에서는 기존의 SPB 비트-병렬 곱셈기에 대하여 살펴보기로 한다.
Figure 112009503508521-pat00067
ω개의 항을 가지는 기약다항식
Figure 112009503508521-pat00068
에 의하여 생성되 고, f(x)의 근을 α라 정의하자. (이때 0=e 0e 1<…<e ω -2n이다.) 그러면 다항식 기저에 의하여
Figure 112009503508521-pat00069
의 임의의 두 원소 a(α), b(α)는
Figure 112009503508521-pat00070
,
Figure 112009503508521-pat00071
이며(이때 a i , b i F 2이다). 두 원소의 곱 c(α) 는 다음과 같은 두 과정에 의하여 계산된다.
1. 다항식 곱셈:
Figure 112009503508521-pat00072
2. f(x)에 의한 모듈러 감산 연산:
Figure 112009503508521-pat00073
따라서 곱셈 연산의 복잡도는 위의 두 과정에 의하여 결정되며, 모듈러 감산 연산 복잡도의 경우 기약다항식 f(x)의 항의 개수에 의하여 영향을 받는다.
비특허문헌 1에서 처음으로,
Figure 112009503508521-pat00074
의 원소를 SPB로 표현하는 방법이 제안되었다. SPB는 PB의 변형된 형태로 다음과 같이 정의된다.
정의 1. υ를 임의의 정수라 하고 Γ={α i |0≤in-1}를
Figure 112009503508521-pat00075
의 다항식기저라 할 때, 순서집합 α - υ Γ={α i - υ |0≤in-1}를 Γ에 대한 Shifted Polynomial Basis(SPB)라 한다.
비트-병렬 곱셈기에서 SPB를 사용할 경우, H. Fan and M.A. Hasan, "Fast Bit Parallel Shifted Polynomial Basis Multipliers in GF(2 n )," IEEE Trans. Circuits & Systems-I, vol. 53, no. 12, pp. 2606-2615, Dec. 2006. 에서 소개된 바와 같이 υk 또는 k-1에서 최적의 값을 가진다. SPB에 의하여 임의의 두 원소 a(α), b(α)는
Figure 112009503508521-pat00076
이다.
따라서 곱 c(α)=a(α)b(α) modf(x)는 다음과 같다.
Figure 112009503508521-pat00077
식 (1)에서 α t (-υtn-υ-1)의 계수를 비교하여 연산량 감소를 위하여 공통 a i 를 이용하여 간소화한다. 예를 들어, t=n-2υ-1인 경우
Figure 112009503508521-pat00078
이다.
이때 병렬 계산을 위하여 「υ/2」개의 a i b n - i -1항과 n-υ 개의 a i (b n - υ - i -1b n - i -1) 항은 XOR 트리에 의하여 계산된다. 따라서 삼항 기약다항식 f(x)=x n x k +1에 대하여 SPB 비트-병렬 곱셈기는 다음과 같은 복잡도를 가진다.
Figure 112009503508521-pat00079
이때 υk 또는 k-1이다.
따라서 본 발명이 해결하고자 하는 첫 번째 과제는 하드웨어 구현시 시간 복잡도 및 공간 복잡도 면에서 효율적인 유한체의 원소간 비트-병렬 곱셈방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 두 번째 과제는 하드웨어 구현시 시간 복잡도 및 공간 복잡도 면에서 효율적인 이진체 기반의 공개키 암호 방법 및 장치를 제공하는 것이다.
본 발명은 상기 첫 번째 과제를 달성하기 위하여,
Figure 112009503508521-pat00080
을 원소의 개수가 q n 개(q는 소수, n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며 상기
Figure 112009503508521-pat00081
에 속하는 임의의 두 원소의 곱셈 방법에 있어서, 상기 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 단계; 및 상기 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 단계를 포함하고, 상기 MSPB로 기저변환을 하는 단계와 상기 두 원소를 비트-병렬 곱셈하는 단계는 병렬로 수행되는 것을 특징으로 하는 유한체의 원소간 비트-병렬 곱셈방법을 제공한다.
본 발명의 일 실시예에 의하면, 상기 비트-병렬 곱셈하는 단계는 상기 두 원소를 비트-병렬 곱셈한 결과에 차수가 n인 기약 다항식(irreducible polynomial)으로 모듈러 감산 연산을 하는 단계를 포함할 수 있다.
또한, 상기 비트-병렬 곱셈한 결과에 상기
Figure 112009503508521-pat00082
에 속한 임의의 원소를 두 번 더한 후, 상기
Figure 112009503508521-pat00083
에 속한 임의의 원소가 두 번 더하여진 결과로부터 공통으로 연산되는 부분을 검출할 수 있다.
본 발명의 다른 실시예에 의하면, 상기
Figure 112009503508521-pat00084
Figure 112009503508521-pat00085
이고, 상기 기약 다항식은 삼항 기약 다항식 f(x)=x n x k +1일 수 있다.
본 발명은 상기 두 번째 과제를 달성하기 위하여,
Figure 112009503508521-pat00086
을 원소의 개수가 2 n 개(n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며 상기
Figure 112009503508521-pat00087
에 속하는 임의의 두 원소를 곱셈하는 방법을 포함하는 이진체 기반의 공개키 암호 방법에 있어서, 상기 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 단계; 및 상기 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 단계를 포함하고, 상기 MSPB로 기저변환하는 단계와 상기 두 원소를 비트-병렬 곱셈하는 단계는 병렬로 수행되는 것을 특징으로 하는 이진체 기반의 공개키 암호 방법을 제공한다.
Figure 112009503508521-pat00088
을 원소의 개수가 q n 개(q는 소수, n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며 상기
Figure 112009503508521-pat00089
에 속하는 임의의 두 원소를 곱셈하는 장치에 있어서, 상기 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 기저변환부; 및 상기 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 비트-병렬 곱셈부를 포함하고, 상기 MSPB로의 기저변환과 상기 두 원소의 비트-병렬 곱셈은 병렬로 수행되는 것을 특징으로 하는 유한체의 원소간 비트-병렬 곱셈장치를 제공한다.
Figure 112009503508521-pat00090
을 원소의 개수가 2 n 개(n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며 상기
Figure 112009503508521-pat00091
에 속하는 임의의 두 원소를 곱셈하는 장치를 포함하는 이진체 기반의 공개키 암호시스템에 있어서, 상기 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 기저변환부; 및 상기 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 비트-병렬 곱셈부를 포함하고, 상기 MSPB로의 기저변환과 상기 두 원소의 비트-병렬 곱셈은 병렬로 수행되는 것을 특징으로 하는 이진체 기반의 공개키 암호시스템을 제공한다.
본 발명에 따르면, 하드웨어 구현시 시간 복잡도 및 공간 복잡도 면에서 효율적인 유한체의 원소간 비트-병렬 곱셈방법 및 이를 포함하는 공개키 암호 방법을 제공할 수 있다.
본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하고자 하는 과제의 해결 방안의 개요(혹은 기술적 사상의 핵심)를 우선 제시한다.
Figure 112009503508521-pat00092
을 원소의 개수가 q n 개(q는 소수, n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며 상기
Figure 112009503508521-pat00093
에 속하는 임의의 두 원소의 곱셈 방법에 관한 발명이다. 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하고, MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하게 된다. 이때 상기 MSPB로 기저변환을 하는 단계와 상기 두 원소를 비트-병렬 곱셈하는 단계는 병렬로 수행되는 것을 특징으로 한다.
이하, 본 발명이 해결하고자 하는 과제의 해결 방안을 명확하게 하기 위한 발명의 구성을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 아울러 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명 그리고 그 이외의 제반 사항이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.
비특허문헌 2[장남수, 김창한, 홍석희, 박영호, "삼항 기약다항식을 위한 효율적인 Shifted polynomial Basis 비트-병렬 곱셈기," 정보보호학회논문지, 19(2), pp. 49-61, 2009년 4월.]에서 Modified Shifted Poly- nomial Basis(MSPB)를 제안하고 이용하여 기존 결과들보다 시간 및 공간 복잡도에서 효율적인 type I, II SPB 곱셈기를 제안하였다.
본 발명의 일 실시예에 따르면, 비특허문헌 2의 결과와 같이 MSPB를 이용하여 새로운 SPB 비트-병렬 곱셈기를 제안한다. 삼항 기약다항식(f(x)=x n x k +1) 기반에서 SPB를 사용하는 기존 결과에 비하여 본 발명의 일 실시예에 따른 비트-병렬 곱셈 장치는 작은 공간 복잡도를 가진다. 공간 복잡도에 있어서, 비특허문헌 2의 type II와 비교하여 1≤k≤(n+1)/3인 경우 항상 AND 및 XOR 게이트가 작으며 (n+2)/3≤k<n/2인 경우에도 kn/2에 매우 근사하는 경우를 제외하고 비특허문헌 2의 결과보다 항상 작은 공간 복잡도를 가진다. 따라서 본 발명의 일 실시예에 따르면, 비특허문헌 2의 type II 구조를 사용한다. 시간복잡도의 경우 n>2k를 만족하는 차수가 1≤n<1,000인 모든 삼항 기약다항식 1,491개에 대하여 비특허문헌 2의 type II와 비교하면, 942개(63.18%)가 같으며 549개(36.82%)가 1TX 증가한다. 비특허문헌 2의 Type II 곱셈기의 공간복잡도가 낮아 본 발명의 일 실시예에 따른 곱셈기를 사용하지 않고 비특허문헌 2의 type II 곱셈기를 사용하는 경우까지 모두 고려하면 실제 399개(26.76%)만 1TX 증가한다.
이하에서는 새로운 MSPB 기저와 υ값을 이용한 비트-병렬 SPB 곱셈 방법을 설명한다. 본 발명의 일 실시예에 따른 유한체의 원소간 비트-병렬 곱셈 방법은 다음 정의를 기반으로 한다.
정의 2. υ를 정수라 하고 α - υ Γ={α i - υ |0≤in-1}를
Figure 112009503508521-pat00094
의 SPB라 할 때, 만약
Figure 112009503508521-pat00095
이면, 순서집합(ordered set) ={α i - υ δ 1iδ 1k-1, δ 2iδ 2n-k-1}를 α - υ Γ에 대한 삼항 기약다항식 f(x)=x n x k +1를 위한 MSPB(Modified Shifted Poly-nomial Basis)라 한다.
도 1은 본 발명의 일 실시예에 따른 유한체의 원소간 비트-병렬 곱셈방법을 나타낸 것이다.
본 발명의 일 실시예에 따른 비트-병렬 곱셈방법의 경우 입/출력은 기존의 SPB를 사용하지만 최적 υk 또는 k-1을 사용했던 기존의 결과와 달리 υ값을 정의 2에서와 같이 정의한다. mastrovito 곱셈을 수행하기 전에 도 1과 같이 MSPB로 기저를 변환하고 곱셈을 수행하며, 곱셈 결과는 다시 입력과 동일하게 처음의 SPB 로 표현된다. 이때, 도 1의 기저 변환과 비트-병렬 곱셈은 병렬로 수행된다. 상세한 곱셈방법 및 효율성은 정의 2에서와 같이 k에 따라 n>2k, n=2k 또는 n<2k로 구분하여 설명한다. 이때 n<2k인 경우는 n>2k인 경우의 곱셈 수행을 최저항부터 최고차항까지 서로 대칭이 되도록 수행하면 되므로 생략한다.
n>2k인 경우는 정의 2에서와 같이 υ=2k를 사용하며, f(x)=x n x k +1에 의한 모듈러 감산 연산의 효율성을 최대화하기 위하여 다음과 같이 곱셈을 수행한다.
SPB로(υ=2k) 표현된
Figure 112009503508521-pat00096
의 임의의 두 원소 a(α), b(α)는 다음과 같이 표현된다.
Figure 112009503508521-pat00097
정의 2에 의하여 두 원소 a(α), b(α)는 f(x)를 이용하여 다음과 같이 MSPB 원소로 변환한다.
Figure 112009503508521-pat00098
이때
Figure 112009503508521-pat00099
Figure 112009503508521-pat00100
를 각각
Figure 112009503508521-pat00101
라 하면, a(α), b(α)는
Figure 112009503508521-pat00102
Figure 112009503508521-pat00103
이다.
따라서 c(α)=a(α)b(α)는 다음과 같다.
Figure 112009503508521-pat00104
이때 (A 0A 1)는
Figure 112009503508521-pat00105
이므로, (A 0A 1)와 (B 0B 1)은 실제 연산이 없으며, 기저 변환시 연산이 수행되는 기저원소와 그렇지 않은 원소가 독립적으로 곱셈을 수행하므로 기저 변환은 병렬 연산이 가능하다. 따라서, 식 (1)-2는 다음과 같이 정리된다.
Figure 112009503508521-pat00106
Figure 112009503508521-pat00107
식 1-(3)에서 (ㄱ),(ㄷ),(ㅅ)는 모듈러 감산되어야 하며, f(x)=x n x k +1에 의하여 (ㄷ)+(ㅁ)은
Figure 112009503508521-pat00108
이므로, 식 1-(4)와 (ㄱ),(ㅅ)을 모듈러 감산 연산하면, 식 1-(3)은 다음과 같이 정리된다.
Figure 112009503508521-pat00109
Figure 112009503508521-pat00110
또한 식 1-(3)에서
Figure 112009503508521-pat00111
Figure 112009503508521-pat00112
in보다 작은 경우 a i 로 같으므로
Figure 112009503508521-pat00113
에서 (ㄹ) 각 항의
Figure 112009503508521-pat00114
과 (ㅂ) 각 항의
Figure 112009503508521-pat00115
Figure 112009503508521-pat00116
로 간소화된다. 따라서 이를 적용하여 식 1-(5)의 각 항을 k에 따른 XOR 게이트 시간 지연으로 정리하면 표 1과 같다.
표 1에서 시간 지연을 계산할 때 k에 따라 다른 행들이 사용된다. 예를 들어 k=1인 경우 t의 범위는 t=-k-1, t=-1의 3행,
Figure 112009503508521-pat00117
, t=n-3k-1, t=n-2k-1이며 나머지 행들은 k=1에서는 존재하지 않는다. 이와 같은 비트-병렬 곱셈을 type I mastrovito 곱셈기라 하며 다음 정리를 만족한다.
정리 1.(n>2k) 제안하는 type I mastrovito 곱셈기는 c k 또는 c 0에서 최대 시간지연을 가지며,
Figure 112009503508521-pat00118
이다.
정리 2. (n>2k) Type I mastrovito 곱셈기의 공간 복잡도는
Figure 112009503508521-pat00119
이다.
Figure 112009503508521-pat00120
Type I mastrovito 곱셈기의 경우 시간 복잡도가 최소가 되도록 구성하였다. 따라서 공간 복잡도 입장에서는 식 1-(5)의 (a1)과 (a2), (b1)과 (b2)는 중복 연산이므로 독립 연산 후 다른 항과 더해져야만 한다. 따라서 표 1의 t=n-2k-1인 경우를 고려하면 각각 k,n-2k,k개의
Figure 112009503508521-pat00121
또는 a i b j 를 더해야 한다. 이때
Figure 112009503508521-pat00122
가 독립 연산이므로 이를 더하는데 소요되는 XOR 시간 지연은 (1+「log2(k)」)Tx이고 이때 나머지 n-k개는 (1+「log2(k)」)Tx 시간 동안 매번 반으로 감소하므로 t=n-2k-1일 때 전체 시간 복잡도는 다음과 같다.
Figure 112009503508521-pat00123
이와 같이 제안하는 방법에서 공간 복잡도가 최소가 되도록 구성한 것을 Type II mastrovito 곱셈기라 하고 다음 정리를 만족한다.
정리 3.(n>2k) Type II mastrovito 곱셈기의 시간 복잡도는
1. k=1인 경우, TimeDelay=1TA+(log2(2n-3))T X
2. k≠1이고, k=2 m +1인 경우
Figure 112009503508521-pat00124
3. k≠1이고, k≠2 m +1인 경우
Figure 112009503508521-pat00125
이고, 공간 복잡도는
#AND=n2-k2
#XOR=n2-1-(k-1)2
이다. 이때,
Figure 112009503508521-pat00126
이다.
식 1-(5)를 다시 정리하면 다음과 같다.
Figure 112009503508521-pat00127
이때
Figure 112009503508521-pat00128
Figure 112009503508521-pat00129
이다. 또한 이상에서 식 (2)의 (f)+((e)+(i))는 -ktn-3k-2사이에서
Figure 112009503508521-pat00130
로 간소화됨을 보였다. 식 (2)에서 알 수 있듯이 n-3k 값의 범위에 따라 α t 항의 계수값이 일부 달라지며 도 2와 같다.
도 2는 n>2k인 경우의 α t 항의 계수값을 나타낸 것이다.
도 2에서와 같이 식 (2)에서 항 α t 의 계수들은 k의 조건에 따라 달라진다. t의 범위가
- -2kt≤-k-2 : (a1)+(b)+(c1)+(d) (k=1인 경우는 제외된다.)
- t=-k-1 : (a1)+(d)
- t=n-2k-1 : (a2)+(h)+(i)
인 경우를 제외하고, n>2k인 경우의 k를 범위에 따라 항 α t 를 구분하여 계수를 정리하면 표 2와 같으며 표 2에서 밑줄이 있는 부분은 간소화되는 부분이다.
Figure 112009503508521-pat00131
구분된 항에 따라 계수 계산과 시간지연을 정리하면 표 1과 같다. 본 발명의 일 실시예에 따른 유한체의 원소간 비트-병렬 곱셈장치는 제안된 MSPB와 Karatsuba-Ofman(KO) 방법의 곱셈을 효율적으로 적용하여 KO 곱셈시 발생하는 시간 복잡도 증가의 trade-off를 제거하였다.
도 3은 기저변환, 다항식 곱셈, 및 모듈러 감산이 병렬로 계산되는 유한체의 원소간 비트-병렬 곱셈장치를 나타낸 것이다.
이상에서는 시간 복잡도를 최적화한 type I과 공간 복잡도를 최적화한 type II를 살펴보았다. 이하에서는 이상에서 살펴본 Type II mastrovito 곱셈기의 공간 복잡도보다 효율적인 본 발명의 일 실시예에 따른 삼항 기약다항식 f(x)=x n x k +1 기반의 유한체의 원소간 비트-병렬 곱셈장치를 설명하기로 한다.
본 발명의 일 실시예에 따르면, nk의 값에 따라 각 항 α t 의 계수가 달라진다. 따라서 다음과 같이 세 가지 경우로 구분하면
1. n-3k≥0인 경우
2. n-3k=-1인 경우
3. n-3k≤-2인 경우
이다. 본 발명의 일 실시예에 따른 비트-병렬 곱셈은 식 (2)에서 tn-3ktn-2k-2 사이인 항에서 공간 복잡도를 효율적으로 줄인다. 만약 k≠1이고 n>2k이면, 식 (2)에
Figure 112009503508521-pat00132
를 두 번 더하고 이를 각각 (j1), (j2)라 하자.(
Figure 112009503508521-pat00133
이므로 (j1)+(j2)이는 0이다.) 그러면 식 (2)는
Figure 112009503508521-pat00134
이다. 이때 (j2)를 풀어쓰면
Figure 112009503508521-pat00135
이며, (j24)는
Figure 112009503508521-pat00136
이므로 (a2)+(j1)+(j24)은
Figure 112009503508521-pat00137
이므로 식 (6)의 값은 식 (2)의 (a1)+(b)+(c1)에 α n - k 를 곱한 값과 같다. 따라서 이 부분은 실제로 계산되지 않는다. 이를 이용하여 식 (4)를 정리하면 다음과 같다.
Figure 112009503508521-pat00138
따라서 n-3k≥0, n-3k=-1, n-3k≤-2 세 가지 경우에 따라 달라지는 항 α t 의 계수에 대하여 살펴보기로 한다. 이때 식 (7)에서 tn-3ktn-2k-2 사이의 항인 경우의 (g)+(h)+(i)+(j21)+(j22)+(j23)를 고려한다.
1. n-3k≥0인 경우
식 (2)에서 (g)는
Figure 112009503508521-pat00139
이고, tn-3ktn-2k-2일 때 (i)를 풀어쓰면
Figure 112009503508521-pat00140
이다. 따라서 식 (5), (8), (9)으로부터 (g)+(i)+(j21)+(j22)+(j23)는 다음과 같다.
Figure 112009503508521-pat00141
Figure 112009503508521-pat00142
식 (10)에서 (g)와 (j21)은 같은 값으로 소거되고, (i 1)과 (j22), (i 3)와 (j23)는 각각 b i a i 에 의하여 (k)와 같이 간소화된다. 비특허문헌 1에 소개된 바와 같이 ((f)+((e)+(i)))는 (
Figure 112009503508521-pat00143
)에 의하여 간소화된다. 이는 t=-k일 때 계산되는 값
Figure 112009503508521-pat00144
는 가정 n≥3k에 의하여
Figure 112009503508521-pat00145
이다. 결국 -k+1≤tn-3k-2에서 계산되는 모든 (
Figure 112009503508521-pat00146
)는 t=-k일 때 모두 계산되었으므로 실제 연산은 n-2k-1번의 XOR 연산만 수행된다. 식 (k)의 (a t - i - n +5 k a t - i +4 k )와 (b t - i - n +5 k b t - i +4 k )도 마찬가지로 t=n-3k일 때 계산되는
Figure 112009503508521-pat00147
에 의하여 n-3k+1≤tn-2k-2에서 계산되는 모든 (a t - i - n +5 k a t - i +4 k )와 (b t - i - n +5 k b t - i +4 k )는 계산되었으므로 실제 연산은 2(k-1)번의 XOR 연산만 수행된다. 그러나 식 (12), (13)의 (
Figure 112009503508521-pat00148
)와 (b t - i - n +5 k b t - i +4 k )는 일부 같은 값을 가진다. 가정에 의하여 n+1≥3k+1⇒n≥3k이므로, (12)에서 (k)의 모든 (b t - i - n +5 k b t - i +4 k )이 계산되었으므로 식 (13)는 k-1번의 (a t - i - n +5 k a t - i +4 k )의 XOR 연산으로 계산된다. 따라서 n-3k≥0인 경우 추가적으로 소요되는 XOR 연산량은 #XOR=n-k-2이다.
2. n-3k=-1인 경우와 n-3k≤-2인 경우
n-3k=-1 또는 n-3k≤-2인 경우에 tn-3ktn-2k-2 사이일 때 다음 항이 고려된다.
- n-3kt≤-2 : (c2)+(e)+(g)+(j21)+(j22)+(j23)
(n-3k=-1인 경우 존재하지 않는다.)
- t=-1 : (e)+(g)+(j21)+(j22)+(j23)
- 0≤tn-2k-2 : (g)+(h)+(i)+(j21)+(j22)+(j23)
(n=2k+1인 경우는 제외된다.)
이상에서 살펴본 바와 같이 (g)와 (j21)은 같은 값이므로 소거된다. t가 0≤tn-2k-2 사이일 때의 항의 계수는 식 (10)에 의하여
Figure 112009503508521-pat00149
이다. n-3kt≤-2인 항과 t=-1인 항을 고려하기 위하여 (e),(c2),(j22)와 (j23)을 다시 정리하면 다음과 같다.
Figure 112009503508521-pat00150
식 (a)에서 t=-1일 때 (j22-2)와(j23-2)는 존재하지 않는다. 식 (a)에서 (e 1)과 (j22-1), (e 2)와 (j23-1), (c2)와 (j23-2)는 다음과 같이 간소화된다.
Figure 112009503508521-pat00151
식 (14)에서 (14.3)은 t=-1인 항에서 존재하지 않는다. 식 (11)은 가정 n-3k≤-1에 의하여 t=-k일 때 계산되는 값
Figure 112009503508521-pat00152
에 의하여 나머지 -k+1≤tn-3k-2에서 계산되는 모든
Figure 112009503508521-pat00153
가 계산된다. 그리고 식 (k)의 (a t - i - n +5 k a t - i +4 k )와 (b t - i - n +5 k b t - i +4 k )도 마찬가지로 t=0일 때 계산되는
Figure 112009503508521-pat00154
에 의하여 1≤tn-2k-2에서 계산되는 모든 (a t - i - n +5 k a t - i +4 k )와 (b t - i - n +5 k b t - i +4 k )는 계산된다. 또한 식 (14)도 마찬가지로 t=n-3k일 때 계산되는 값
Figure 112009503508521-pat00155
에 의하여 나머지 항에서 계산되는 모든 값이 계산된다.
n-3k=-1인 경우 위에서 기술한 바와 같이 (14.1)과 (14.2)의 계산값에 의하여 (k)와 식 (11)의 모든 값이 계산되며 (14.3)은 존재하지 않는다. n-3kt≤-2인 또한 (14.1)과 (14.2)의 계산값에 의하여 (k)와 식 (11)의 모든 값이 계산되며 추가적으로 (14.3)이 계산된다. 따라서 n-3k=-1 또는 n-3k≤-2 경우의 XOR 연산량은 다음과 같다. n-3k=-1인 경우 (14.1)과 (14.2)에서 2(n-k)=(n-2k+3k-1)=n-k-1 번의 XOR 연산이 소요되며, n-3k≤-2인 경우 (14.1)과 (14.2)에서 2(n-k)번의 XOR 연산과 (14.3)에서 -n+3k-1번의 XOR 연산이 소요되므로 전체 2(n-k)+(-n+3k-1)=n-k-1번의 XOR 연산이 소요된다. 즉, n-3k≤-1인 경우 추가적으로 소요되는 XOR 연산량은 #XOR=n-k-1이다.
이하에서는 본 발명의 일 실시예에 따른 비트-병렬 곱셈장치의 시간 복잡도 및 공간 복잡도에 대하여 살펴보기로 한다.
식 (10)에서 항 α t 의 계수들은 k의 조건에 따라 달라진다. 이와 같이 구분된 k에 따른 계수 c t +2 k 의 계산을 정리하면 표 3과 같다.
Figure 112009503508521-pat00039
Figure 112009503508521-pat00040
Figure 112009503508521-pat00041
표 3에서 AND 게이트 수는 중복된 연산은 제외한 결과이다(표 3에서 [·]로 표현된 부분은 연산량에서 제외된다.). 즉, 식 (2)에서 (c2)와 식 (6)의 (a2)+(j1)+(j24)의 AND 게이트 수는 제외된 결과이다. 본 발명의 일 실시예에 따른 비트-병렬 곱셈 방법은 n≠1이고 n>2k인 경우 식 (6)의 n-3ktn-2k-2인 경우의 항만 식을 변형한다. 따라서 구분된 k에 따라 제안하는 형태로 식이 변형되는 부분을 정리하면 다음과 같다.
①. n≠2k+1인 경우 :
max{n-3k,0}≤tn-2k-2사이 항
②. n-3k=-1인 경우 :
t=-1인 항, max{n-3k,0}≤tn-2k-2사이 항
③. n-3k≤-2인 경우 :
n-3kt≤-2사이 항, t=-1인 항,
max{n-3k,0}≤tn-2k-2사이 항
본 발명의 일 실시예에 따른 비트-병렬 곱셈장치의 시간 및 공간 복잡도를 정리하면 다음 정리와 같다.
정리 1.(n>2k) 본 발명의 일 실시예에 따른 비트-병렬 곱셈장치의 공간 복잡도는
Figure 112009503508521-pat00156
이다.
정리 2.(n>2k) 본 발명의 일 실시예에 따른 비트-병렬 곱셈장치의 시간 복잡도는
Figure 112009503508521-pat00157
이다.
표 4는 f(x)=x n x k +1인 경우의 게이트 수를 비교한 것이다.
여기서 [1]은 비특허문헌 3(E.D. Mastrovito, "VLSI designs for multiplication over finite fields GF(2m), " In Proceedings of the Sixth Symposium on Applied Algebra, Algebraic Algorithms, and Error Correcting Codes, vol. 6, pp. 297-309, July. 1988.)이고, [2]는 비특허문헌 4(E.D. Mastrovito, ""VLSI Architectures for Computation in Galois Fields, "" PhD thesis, Linkoping University Dept. Electr. Eng., Linkoping, Sweden, 1991.)이다.
Figure 112009503508521-pat00044
표 5는 f(x)=x n x k +1인 경우의 시간 지연을 비교한 것이다
Figure 112009503508521-pat00045
삼항 기약다항식 기반에서 SPB를 사용하는 기존 결과와 본 발명의 일 실시예에 따른 유한체의 원소간 비트-병렬 곱셈장치의 공간 및 시간 복잡도를 비교하면 각각 표 3과 표 4와 같다. 표 3에서 알 수 있듯이 본 발명의 일 실시예에 따른 곱셈기는 작은 공간 복잡도를 가지는 Type II와 비교하여 1≤k≤(n+1)/3인 경우 항상 AND 및 XOR 게이트가 작으며 (n+2)/3≤kn/2인 경우에도 kn/2에 매우 근사하는 경우를 제외하고 항상 작은 공간 복잡도를 가진다. 따라서 본 발명의 일 실시예에 따른 곱셈방법은 Type II 구조를 사용한다. n>2k를 만족하는 차수가 1≤n<1,000인 모든 삼항 기약다항식 1,491개 중 Type II 곱셈기가 더 작은 공간복잡도를 가지는 경우는 177개로 11.87% 존재한다. 기약다항식을 선택할 때 주어진 차수에서 가장 작은 k를 선택한다면 실제 이러한 기약다항식을 사용할 확률은 매우 낮다.
다음으로 표 4의 결과를 이용하여 시간복잡도를 고려하기로 한다. n>2k를 만족하는 차수가 1≤n<1,000인 모든 삼항 기약다항식 1,491개에 대하여 Type I, II와 비교하면 다음과 같다. Type I 곱셈기와 비교하여 2개(0.14%)가 1TX 감소하고, 969개(68.29%)가 같으며 343개(24.17%)가 1TX 증가한다. 또한 Type II 곱셈기와 비교하여 942개(63.18%)가 같으며 549개(36.82%)가 1TX 증가한다. Type II 곱셈기의 공간복잡도가 낮아 본 발명의 일 실시예에 따른 곱셈기를 사용하지 않고 Type II 곱셈기를 사용하는 경우까지 모두 고려하면 실제 399개(26.76%)만 1TX 증가한다.
본 발명의 일 실시예에서 n<2k인 경우는 k 대신에 n-k를 사용하여 전개하면 동일하다. 정리 1에서 알 수 있듯이 표 2의 1)∼4)의 경우는 Type I과 Type II의 결과보다 본 발명의 일 실시예에 따른 곱셈기의 AND 게이트와 XOR 게이트가 모두 감소한다. 그러나 5)의 경우 k에 따라 효율성이 달라진다. 따라서 Type II의 XOR 게이트 수 n 2-1-(k-1)2보다 2n 2-6nk+2n-1+5k(3k-1)/2가 큰 경우는 제안하는 방법을 적용하지 않고 Type II 곱셈기 구조를 사용한다. 이는 kn/2에 매우 근사한 경우 식 (13)의 (j22-2)가 매우 커지기 때문이다. 따라서 본 발명의 일 실시예에 따른 곱셈방법이 Type II 보다 효율성이 같거나 작은 경우는 다음과 같다.
1. n>2k인 경우
- k=1
-
Figure 112009503508521-pat00158
이면서 [1]의 type II의 XOR 게이트 수 보다 많은 경우
2. n=2k인 경우
3. n<2k인 경우
- n=k+1
-
Figure 112009503508521-pat00159
이면서 [2]의 type II의 XOR 게이트 수 보다 많은 경우
도 4는 본 발명의 일 실시예에 따른 유한체의 원소간 비트-병렬 곱셈장치의 하드웨어 구조를 나타낸 것이다. 도 4(a)는 Type I mastrovito 곱셈기를 나타낸 것이고, 도 4(b)는 Type II mastrovito 곱셈기를 나타낸 것이다.
도 5는 Type I mastrovito 곱셈기와 Type II mastrovito 곱셈기의 경우
Figure 112009503508521-pat00160
에서의 유한체의 원소간 비트-병렬 곱셈장치이다. 이때 f(x)=x 5x 2+1이다.
본 방법발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 유무선 네트워크를 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다.
그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 유한체의 원소간 비트-병렬 곱셈방법을 나타낸 것이다.
도 2는 n>2k인 경우의 α t 항의 계수값을 나타낸 것이다.
도 3은 기저변환, 다항식 곱셈, 및 모듈러 감산이 병렬로 계산되는 유한체의 원소간 비트-병렬 곱셈장치를 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 유한체의 원소간 비트-병렬 곱셈장치의 하드웨어 구조를 나타낸 것이다.
도 5는 Type I mastrovito 곱셈기와 Type II mastrovito 곱셈기의 경우
Figure 112009503508521-pat00173
에서의 유한체의 원소간 비트-병렬 곱셈장치이다.

Claims (8)

  1. Figure 112011060102117-pat00161
    을 원소의 개수가 qn 개(q는 소수, n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며 상기
    Figure 112011060102117-pat00162
    에 속하는 임의의 두 원소의 곱셈 방법에 있어서,
    기저 변환부가 상기 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 단계; 및
    비트-병렬 곱셈부가 상기 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 단계를 포함하고,
    상기 MSPB로 기저변환을 하는 단계와 상기 두 원소를 비트-병렬 곱셈하는 단계는 병렬로 수행되는 것을 특징으로 하는 유한체의 원소간 비트-병렬 곱셈방법.
  2. 제 1항에 있어서,
    상기 비트-병렬 곱셈하는 단계는 상기 두 원소를 비트-병렬 곱셈한 결과에 차수가 n인 기약 다항식(irreducible polynomial)으로 모듈러 감산 연산을 하는 단계를 포함하는 것을 특징으로 하는 유한체의 원소간 비트-병렬 곱셈방법.
  3. 제 2항에 있어서,
    상기 비트-병렬 곱셈한 결과에 상기
    Figure 112009503508521-pat00163
    에 속한 임의의 원소를 두 번 더한 후, 상기
    Figure 112009503508521-pat00164
    에 속한 임의의 원소가 두 번 더하여진 결과로부터 공통으로 연산되는 부분을 검출하는 단계를 더 포함하는 것을 특징으로 하는 유한체의 원소간 비트-병렬 곱셈방법.
  4. 제 2항에 있어서,
    상기
    Figure 112009503508521-pat00165
    Figure 112009503508521-pat00166
    이고, 상기 기약 다항식은 삼항 기약 다항식 f(x)=x n x k +1인 것을 특징으로 하는 유한체의 원소간 비트-병렬 곱셈방법.
  5. Figure 112011060102117-pat00167
    을 원소의 개수가 2 n 개(n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며 상기
    Figure 112011060102117-pat00168
    에 속하는 임의의 두 원소를 곱셈하는 방법을 포함하는 이진체 기반의 공개키 암호 방법에 있어서,
    기저 변환부가 상기 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 단계; 및
    비트-병렬 곱셈부가 상기 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 단계를 포함하고,
    상기 MSPB로 기저변환하는 단계와 상기 두 원소를 비트-병렬 곱셈하는 단계는 병렬로 수행되는 것을 특징으로 하는 이진체 기반의 공개키 암호 방법.
  6. Figure 112009503508521-pat00169
    을 원소의 개수가 q n 개(q는 소수, n은 자연수)인 유한체(finite field)라 고 하고, 다항식 기저로 표현되며 상기
    Figure 112009503508521-pat00170
    에 속하는 임의의 두 원소를 곱셈하는 장치에 있어서,
    상기 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 기저변환부; 및
    상기 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 비트-병렬 곱셈부를 포함하고,
    상기 MSPB로의 기저변환과 상기 두 원소의 비트-병렬 곱셈은 병렬로 수행되는 것을 특징으로 하는 유한체의 원소간 비트-병렬 곱셈장치.
  7. Figure 112009503508521-pat00171
    을 원소의 개수가 2 n 개(n은 자연수)인 유한체(finite field)라고 하고, 다항식 기저로 표현되며 상기
    Figure 112009503508521-pat00172
    에 속하는 임의의 두 원소를 곱셈하는 장치를 포함하는 이진체 기반의 공개키 암호시스템에 있어서,
    상기 다항식 기저로 표현되는 임의의 두 원소를 MSPB(Modified Shifted Polynomial Basis)로 기저변환을 하는 기저변환부; 및
    상기 MSPB로 기저변환된 두 원소를 비트-병렬 곱셈하는 비트-병렬 곱셈부를 포함하고,
    상기 MSPB로의 기저변환과 상기 두 원소의 비트-병렬 곱셈은 병렬로 수행되는 것을 특징으로 하는 이진체 기반의 공개키 암호시스템.
  8. 제 1 항 내지 제 5 항의 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
KR1020090085149A 2009-09-10 2009-09-10 유한체의 원소간 비트-병렬 곱셈방법 및 장치 KR101094354B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090085149A KR101094354B1 (ko) 2009-09-10 2009-09-10 유한체의 원소간 비트-병렬 곱셈방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090085149A KR101094354B1 (ko) 2009-09-10 2009-09-10 유한체의 원소간 비트-병렬 곱셈방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110027176A KR20110027176A (ko) 2011-03-16
KR101094354B1 true KR101094354B1 (ko) 2011-12-19

Family

ID=43934030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090085149A KR101094354B1 (ko) 2009-09-10 2009-09-10 유한체의 원소간 비트-병렬 곱셈방법 및 장치

Country Status (1)

Country Link
KR (1) KR101094354B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101423947B1 (ko) * 2011-08-31 2014-08-01 고려대학교 산학협력단 확장된 nist 소수를 이용한 모듈러 곱셈 및 모듈러 지수승 방법
KR101418686B1 (ko) * 2013-08-02 2014-07-10 공주대학교 산학협력단 유한체에서 타입 4 가우시안 정규기저를 이용한 이차 미만의 공간 복잡도를 갖는 병렬 곱셈 연산방법 및 그 연산장치
KR102132935B1 (ko) * 2019-02-14 2020-07-10 단국대학교 산학협력단 유한체 곱셈 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
삼항 기약다항식을 이용한 GF(2)의 효율적인 저면적 비트-병렬 곱셈기, 2008년 12월 전자공학회 논문지 제45권 SD편 제12호

Also Published As

Publication number Publication date
KR20110027176A (ko) 2011-03-16

Similar Documents

Publication Publication Date Title
Sunar et al. An efficient optimal normal basis type II multiplier
Okada et al. Implementation of Elliptic Curve Cryptographic Coprocessor over GF (2 m) on an FPGA
JP5957120B1 (ja) 秘密分散方法、秘密分散システム、分散装置、およびプログラム
Wu Bit-parallel polynomial basis multiplier for new classes of finite fields
Namin et al. A word-level finite field multiplier using normal basis
Lee et al. Efficient design of low-complexity bit-parallel systolic Hankel multipliers to implement multiplication in normal and dual bases of GF (2 m)
Cenk et al. Improved three-way split formulas for binary polynomial and Toeplitz matrix vector products
KR101094354B1 (ko) 유한체의 원소간 비트-병렬 곱셈방법 및 장치
Barenghi et al. Evaluating the trade-offs in the hardware design of the ledacrypt encryption functions
CN107992283B (zh) 一种基于降维实现有限域乘法的方法和装置
Encarnación Computing gcds of polynomials over algebraic number fields
EP3297171B1 (en) Efficient erasure decoding for mds codes
KR100950581B1 (ko) 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법
KR100954584B1 (ko) MSD first GF(3^m) 직렬 곱셈 장치, 그방법 및 이를 기록한 기록매체
Fedorenko A method for computation of the discrete Fourier transform over a finite field
Bouyukliev et al. A method for efficiently computing the number of codewords of fixed weights in linear codes
KR100954586B1 (ko) 다항식 기저 기반의 이진체 병렬 곱셈 장치 및 방법과 이를이용한 마이크로프로세서
KR100976232B1 (ko) 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR101626743B1 (ko) 유한체상의 몽고메리 알고리즘을 이용한 곱셉기 및 곱셈 방법
Chiou et al. Palindromic-like representation for Gaussian normal basis multiplier over GF (2m) with odd type t
Yan et al. Fast and low-complexity decoding algorithm and architecture for quadruple-error-correcting RS codes
KR100653358B1 (ko) 유한체의 병렬곱셈 연산장치
Méloni et al. High performance GHASH function for long messages
KR101213399B1 (ko) 비트-병렬 다항식 기저 곱셈 방법
Trujillo-Olaya et al. Half-matrix normal basis multiplier over GF ($ p^{m} $)

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee