KR101541157B1 - 이진 확장 유한체 곱셈 연산을 수행하는 방법 - Google Patents

이진 확장 유한체 곱셈 연산을 수행하는 방법 Download PDF

Info

Publication number
KR101541157B1
KR101541157B1 KR1020130086945A KR20130086945A KR101541157B1 KR 101541157 B1 KR101541157 B1 KR 101541157B1 KR 1020130086945 A KR1020130086945 A KR 1020130086945A KR 20130086945 A KR20130086945 A KR 20130086945A KR 101541157 B1 KR101541157 B1 KR 101541157B1
Authority
KR
South Korea
Prior art keywords
polynomial
mapping table
finite field
binary
generating
Prior art date
Application number
KR1020130086945A
Other languages
English (en)
Other versions
KR20140072784A (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 US14/084,767 priority Critical patent/US9311052B2/en
Priority to EP13194569.3A priority patent/EP2738670A3/en
Publication of KR20140072784A publication Critical patent/KR20140072784A/ko
Application granted granted Critical
Publication of KR101541157B1 publication Critical patent/KR101541157B1/ko

Links

Images

Abstract

본 발명은 이진 확장 유한체 GP(2m)에서의 2개의 다항식의 곱에 대해 다항식 기저(Polynominal basis) 곱셈 전개를 수행하여 다항식을 산출하고, 산출된 다항식의 각 항에 대한 정보를 갖는 비트값들을 각 열에 매핑한 매핑 테이블을 이용하여 이진 확장 유한체 곱셈 연산을 수행하는 방법을 개시한다.

Description

이진 확장 유한체 곱셈 연산을 수행하는 방법 {METHOD FOR MULTIPLYING OPERATION OF BINARY EXTENSION FINITE FIELD}
본 발명은 이진 확장 유한체 곱셈 연산을 수행하는 방법에 관한 것으로, 보다 구체적으로 이진 확장 유한체 GP(2m)에서의 2개의 다항식의 곱에 대해 다항식 기저(Polynominal basis) 곱셈 전개를 수행하여 다항식을 산출하고, 산출된 다항식의 각 항에 대한 정보를 갖는 비트값들을 각 열에 매핑한 매핑 테이블을 이용하여 이진 확장 유한체 곱셈 연산을 수행하는 방법에 관한 것이다.
타원 곡선 암호 시스템(Elliptic Curve Crypto-system : ECC)은 Neal Kobliz와 Victor Miller에 의해 1985년에 제안된 이후로 공개키 암호 시스템으로서 많은 연구가 수행되어 왔다. 이 암호 시스템은 타원 곡선상의 점들의 이산 대수의 어려움에 기반한 것으로, 같은 안전도에서 비교할 때 기존의 공개키 암호 시스템으로서 널리 활용되는 RSA(Rivest-Shamir-Adleman)/DSA(Digital Signature Algorithm)보다 빠르고, 키의 크기가 작다는 장점이 있다. 예를 들어 약 160 비트의 키 크기를 가지는 ECC의 안전도는 키 크기가 1024 비트인 RSA의 안전도와 동일하다고 알려져 있다. 따라서, 제한된 컴퓨팅 능력 및 메모리를 가지는 스마트 카드 등에 적합한 공개키 암호 시스템으로 주목받고 있다.
이러한 타원 곡선 암호에서의 연산은 타원 곡선 위의 점들의 연산으로 구성되는데, 이 타원 곡선 위의 점의 연산에는 서로 다른 두 점의 덧셈, 한 점의 2배 연산 등이 있으며, 이러한 타원 곡선 위의 점의 연산들은 유한체(finite field) 덧셈, 유한체 뺄셈, 유한체 곱셈, 유한체 나눗셈 등의 조합으로 이루어진다.
유한체는 덧셈, 뺄셈, 곱셈 및 나눗셈이 정의되는 유한개의 원소를 갖는 필드로써, 소수 p와 양수 m에 대해서 pm개의 원소를 갖는 하나의 필드만이 존재한다. 이 필드를 갈루아체(galois Field)라 부르며 GF(pm)으로 나타낸다. 일반적으로 유한체 상의 덧셈, 뺄셈, 곱셈 및 나눗셈의 연산은 하드웨어로 구현되어 연산되고 있다. 하드웨어로 유한체 GF(pm) 상의 덧셈과 뺄셈 연산을 수행할 때에는 구현이 간단하나, 곱셈과 나눗셈 연산 구현은 복잡하다는 문제점이 있다. 타원 곡선 암호화의 고속화를 위해서는 특히, 유한체 곱셈의 고속화가 필수적으로서, 하드웨어로 구현한 유한체 GF(pm)의 곱셈을 연산하기 위한 곱셈기는 대한민국 공개특허 제2001-0068349호 등에 개시되어 있다.
상기 대한민국 공개특허 제2001-0068349호 등에서 개시하고 있는 종래의 유한체 GF(pm) 곱셈 알고리즘은 일반적으로 하기의 표 1과 같이 표현되는 알고리즘을 이용한다.
Figure 112013066583129-pat00001
본 발명의 목적은, 이진 확장 유한체 GP(2m) 상에서의 곱셈 연산을 하드웨어 구현이 아닌 소프트웨어인 라이브러리로 구현함에 있어서, 이진 확장 유한체 GP(2m) 상에서의 곱셈 연산을 수행하는 프로세서의 구조에 관계없이 해당 프로세서의 구조에 최적화된 곱셈 연산을 수행할 수 있는 기법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법은, 이진 확장 유한체 GP(2m)에서의 2개의 다항식 a(z)와 b(z)의 곱에 대해 다항식 기저(Polynominal basis) 곱셈 전개를 수행하여
Figure 112013066583129-pat00002
로 정의되는 다항식을 산출하는 단계; 상기 산출된 다항식에서의 각 항들에 대한 정보를 갖는 비트값들을 각 열로 매핑한 매핑 테이블을 생성하는 단계; 상기 2개의 다항식 a(z)와 b(z)의 곱에 대해 다항식 기저 곱셈 전개를 수행하여 산출한 다항식을 상기 매핑 테이블을 참조하여 연산하는 코드를 생성하는 단계; 및 상기 다항식을 연산하는 코드를 실행하여 상기 2개의 다항식 a(z)와 b(z)에 대해 이진 확장 유한체 곱셈 연산을 수행하는 단계를 포함하는 것을 특징으로 한다. 여기서,
Figure 112013066583129-pat00003
이고,
Figure 112013066583129-pat00004
이며, W는 이진 확장 유한체 곱셈 연산을 수행하는 프로세서의 연산 처리 단위인 워드의 비트수이다.
이때, 상기 다항식을 산출하는 단계에서는, 상기 2개의 다항식 a(z)와 b(z)의 곱에 대해 수학식
Figure 112013066583129-pat00005
에 따른 다항식 기저 곱셈 전개를 수행하여,
Figure 112013066583129-pat00006
인 상기 다항식을 산출할 수 있다. 여기서,
Figure 112013066583129-pat00007
이고, [x]는 x보다 크거나 같은 최소의 정수를 출력하는 연산을 의미한다.
이때, 상기 매핑 테이블을 생성하는 단계에서는, 상기 다항식에서의
Figure 112013066583129-pat00008
,
Figure 112013066583129-pat00009
, … ,
Figure 112013066583129-pat00010
,
Figure 112013066583129-pat00011
,
Figure 112013066583129-pat00012
각각에 대한 정보를 갖는 비트값들을 각 열로 매핑한 매핑 테이블을 생성할 수 있다.
이때, 상기 매핑 테이블을 생성하는 단계에서는, 상기 다항식에서의
Figure 112013066583129-pat00013
,
Figure 112013066583129-pat00014
, … ,
Figure 112013066583129-pat00015
,
Figure 112013066583129-pat00016
,
Figure 112013066583129-pat00017
각각에 대한 정보를 갖는 비트값들을 열의 개수가 2t개인 매핑 테이블의 각 열로 매핑할 수 있다.
이때, 상기 매핑 테이블을 생성하는 단계에서는, t의 값이 기설정된 정수값 r 보다 큰 경우, 상기 다항식에서의
Figure 112013066583129-pat00018
,
Figure 112013066583129-pat00019
, … ,
Figure 112013066583129-pat00020
,
Figure 112013066583129-pat00021
,
Figure 112013066583129-pat00022
각각에 대한 정보를 갖는 비트값들을 각각 열의 개수가 2r개 이하인 복수의 매핑 테이블의 각 열로 매핑할 수 있다.
이때, 상기 기설정된 정수값 r은 8일 수 있다.
본 발명에 따르면, 이진 확장 유한체 GP(2m) 상에서의 곱셈 연산을 하드웨어 구현이 아닌 소프트웨어인 라이브러리로 구현함에 있어서, 이진 확장 유한체 GP(2m) 상에서의 곱셈 연산을 수행하는 프로세서의 구조에 관계없이 해당 프로세서의 구조에 최적화된 곱셈 연산을 수행할 수 있도록 하는 효과가 있다.
도 1은 본 발명에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법을 설명하기 위한 흐름도이다.
도 2 및 도 3은 도 1에 도시된 본 발명에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법을 설명하기 위한 흐름도에서 매핑 테이블을 생성하는 과정을 설명하기 위한 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
본 발명에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법은 유한체에서 역수를 구하는 새로운 알고리즘을 이용하여 2n 비트 프로세서를 갖는 컴퓨터에서 효과적으로 역수를 계산하도록 할 수 있다. 유한체는 디지털 통신 시스템의 요소 기술로 응용되고 있으며, 이로써 유한체에서의 연산을 효율적으로 구현하는 방법에 대한 연구가 활발히 진행되고 있다. 특히, 유한체는 최근에 정보 보호 기술을 위한 S-box 구성, ElGamal 형의 암호 시스템, 타원 곡선 암호 시스템 등의 기본 요소로 사용되고 있다.
소수 p와 양의 정수 m에 대하여 pm 개의 원소를 갖는 유한체를 GF(pm)이라 표기하고, 이를 구성하는 방법은 여러 가지가 있다. 차수가 m이고 최고차 항의 계수가 1인 GF(p)={0, 1, ..., p-1}에서 정의된 다항식 f(z)가 정해질 때, GF(pm)은 GF(p)[z]/{f(z)}와 동치임은 잘 알려진 사실이며, 동치 관계를 이용하여 유한체 GF(pm)은 차수가 m 보다 작은 GF(p)에서 정의된 다항식들의 집합으로 볼 수 있다. 이 경우 GF(pm)은 다항식 기저 {1, z, … , zm -1}에 의해 정의된 것이다. 이때, GF(pm)의 두 원소인 다항식 a(z)와 b(z)는 각각 하기의 수학식 1 및 수학식 2와 같이 정의될 수 있다.
Figure 112013066583129-pat00023
Figure 112013066583129-pat00024
상기 수학식 1 및 수학식 2에서 n= 0, 1, … , m-1에 대하여 an, bn ∈ GF(p)이다. 여기서, n은 연산 처리 단위인 워드에 대한 시그마(∑)의 인덱스이고, m은 차수이다. 본 발명에서는, 다항식 기저로 정의된 GF(pm)에서의 다항식 a(z)와 b(z)에 대한 스칼라 곱셈(유한체 곱셈)에 대해, 하기의 수학식 3과 같이 정의되는 다항식으로 다항식 기저(Polynominal basis) 곱셈 전개를 수행한다.
Figure 112013066583129-pat00025
여기서, W는 이진 확장 유한체 곱셈 연산을 수행하는 2n 비트 프로세서의 연산 처리 단위인 워드의 비트수(즉, 프로세서의 워드 사이즈)이고, Cn은 워드 단위로 산출되는 전체 결과값중의 일부분이다.
이하에서는 도 1 내지 도 3을 참조하여, 본 발명에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법에 대하여 설명하도록 한다.
도 1은 본 발명의 실시예에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법을 설명하기 위한 흐름도이다.
도 1을 참조하면, 본 발명에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법은, 먼저 이진 확장 유한체 GP(2m)에서의 2개의 다항식 a(z)와 b(z)의 곱{a(z)·b(z)}에 대해 다항식 기저 곱셈 전개를 수행하여
Figure 112013066583129-pat00026
로 정의되는 다항식을 산출한다(S100). 이때, 상기 S100에서 산출하는 다항식(
Figure 112013066583129-pat00027
)은 하기의 수학식 4와 같이 표현된다.
Figure 112013066583129-pat00028
여기서,
Figure 112015024646338-pat00029
이고, [x]는 x보다 크거나 같은 최소의 정수를 출력하는 연산을 의미하고, j는 비트열에 대한 시그마(∑)의 인덱스를 의미한다. 예를 들어, W = 8 비트이고, m = 160이라면, t = 20이고, W = 16 비트이고, m = 160이라면, t = 10 이 된다. 또한, 이진 확장 유한체 GP(2m)에서, z=2이고, an, bn ∈ {0, 1}다.
그 다음으로, 다항식 a(z)와 b(z)의 곱{a(z)·b(z)}에 대한 다항식 기저 곱셈 전개를 수행하여 S100 단계에서 산출한 다항식에서의 각 항들에 대해, 각 항들의 정보를 갖는 비트값들을 각 열로 매핑한 매핑 테이블을 생성한다(S200). 상기 S200 단계에서는 다항식
Figure 112013066583129-pat00030
에서
Figure 112013066583129-pat00031
,
Figure 112013066583129-pat00032
, … ,
Figure 112013066583129-pat00033
,
Figure 112013066583129-pat00034
,
Figure 112013066583129-pat00035
각각에 대한 정보를 갖는 비트값들을 각 열에 매핑한 매핑 테이블을 생성할 수 있다. 이때, 상기 S200 단계에서는, 도 2에 도시된 바와 같이, 수학식 4와 같이 표현되는 다항식
Figure 112013066583129-pat00036
에서 Cn(100a, 100b, … , 100v, 100w)에 해당하는
Figure 112013066583129-pat00037
,
Figure 112013066583129-pat00038
, … ,
Figure 112013066583129-pat00039
,
Figure 112013066583129-pat00040
,
Figure 112013066583129-pat00041
각각에 대한 정보를 갖는 비트값들을 2t개의 열을 갖는 매핑 테이블(20)에서의 각 열(200, … )에 매핑하여 저장할 수 있다. 또한, 매핑 테이블(20)의 각 열(200, … )에 매핑되어 저장되는 비트값들은,
Figure 112013066583129-pat00042
,
Figure 112013066583129-pat00043
, … ,
Figure 112013066583129-pat00044
,
Figure 112013066583129-pat00045
각각에 대한 정보를 갖는 비트값에 해당할 수 있다. 예를 들어, 도 2에서의 매핑 테이블(20)의 첫번째 열(200)에 매핑되는 비트값은
Figure 112013066583129-pat00046
에 대한 정보를 갖는 비트값으로서,
Figure 112013066583129-pat00047
에 해당할 수 있다. 다항식 a(z)와 b(z)의 차수(m-1)가 클수록, t(
Figure 112013066583129-pat00048
)의 값이 커지므로 상기 S200 단계에서 생성되는 매핑 테이블(200)의 열의 개수(2t) 또한 증가한다. 예를 들어, W = 8 비트일 때, m = 40 이라면 t = 5이므로 매핑 테이블(200)에는 25개의 열이 존재하게 되고, m = 80 이라면 t = 10이므로 매핑 테이블(200)에는 210개의 열이 존재하게 되며, m = 160 이라면 t = 20이므로 매핑 테이블(200)에는 220개의 열이 존재하게 된다. 상기 S200 단계에서 생성된 매핑 테이블(200)은 이진 확장 유한체 곱셈 연산을 수행하는 프로세서 내에 구비되는 레지스터나 외부에 구비되는 메모리 등과 같은 기억 수단에 저장될 수 있다.
한편, 매핑 테이블(200)의 열의 개수는 소프트웨어 라이브러리 구현 시에 가장 적절한 개수인 28개(t=8일 때)인 것이 바람직하므로, t의 값이 8 보다 큰 경우, S200 단계에서는 각각 열의 개수가 28개 이하인 복수의 매핑 테이블을 생성하고, S100 단계에서 산출된 다항식
Figure 112013066583129-pat00049
에서
Figure 112013066583129-pat00050
,
Figure 112013066583129-pat00051
, … ,
Figure 112013066583129-pat00052
,
Figure 112013066583129-pat00053
,
Figure 112013066583129-pat00054
각각에 대한 정보를 갖는 비트값들을 복수의 매핑 테이블에서의 각 열로 매핑할 수 있다. 즉, 도 3에 도시된 바와 같이, t의 값이 8 보다 큰 경우에는, 각각 열의 개수가 28개 이하인 복수의 매핑 테이블들(30a, 30b, … )을 생성하고, S100 단계에서 산출된 다항식
Figure 112013066583129-pat00055
에서의 일부 항들에 대해서는 해당 일부 항들 각각에 대한 정보를 갖는 비트값들을 열의 개수가 28개 이하인 매핑 테이블(30a)의 각 열(300a … )에 매핑하여 저장하고, 나머지 항들에 대해서는 해당 나머지 항들 각각에 대한 정보를 갖는 비트값들을 역시 열의 개수가 28개 이하인 다른 매핑 테이블(30b)의 각 열(300b … )에 매핑하여 저장할 수 있다.
그 다음으로, S200 단계에서 생성한 매핑 테이블을 참조하여 S100 단계에서 산출한 다항식을 연산하는 코드를 생성한다(S300). 즉, 상기 S300 단계에서는 매핑 테이블(20; 30a, 30b, … )을 참조하여, 이진 확장 유한체 GP(2m)에서의 2개의 다항식 a(z)와 b(z)의 곱에 대해 다항식 기저 곱셈 전개를 수행하여 산출한 다항식
Figure 112013066583129-pat00056
을 연산하는 코드를 생성한다. 이때, 매핑 테이블(20)을 참조하여 다항식 a(z)와 b(z)에 대한 이진 확장 유한체 곱셈을 연산하는 코드를 예시적으로 의사 코드(pseudo-code)로써 표현하면, 하기의 표 2와 같은 알고리즘을 따르는 의사 코드로 표현될 수 있다.
Figure 112013066583129-pat00057
한편, t의 값이 8 보다 큼에 따라, S200 단계에서 각각 열의 개수가 28개 이하인 복수의 매핑 테이블들(30a, 30b, … )을 생성한 경우, 복수의 매핑 테이블들(30a, 30b, … )을 참조하여 다항식 a(z)와 b(z)에 대한 이진 확장 유한체 곱셈을 연산하는 코드를 예시적으로 의사 코드(pseudo-code)로써 표현하면, 하기의 표 3과 같은 알고리즘을 따르는 의사 코드로 표현될 수 있다.
Figure 112013066583129-pat00058
마지막으로, 본 발명에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법은 S300 단계에서 생성한 다항식을 연산하는 코드를 2n 비트 프로세서를 통해 실행함으로써, 이진 확장 유한체 GP(2m)에서의 2개의 다항식 a(z)와 b(z)에 대한 이진 확장 유한체 곱셈 연산을 수행한다(S400).
한편, 본 발명에 따른 이진 확장 유한체 곱셈 연산을 수행하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터로 판독 가능한 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 모든 형태의 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
본 발명에 따른 환경 데이터 모델 구조 생성 장치 및 방법에 의해 구성되는 환경 데이터에 대한 모델 구조는 컴퓨터가 읽을 수 있는 기록매체에 파일 형식으로 저장되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있을 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
20, 30a, 30b: 매핑 테이블

Claims (6)

  1. 프로세서가 이진 확장 유한체 곱셈 연산을 수행하는 방법에 있어서,
    이진 확장 유한체 GP(2m)에서의 2개의 다항식 a(z)와 b(z)의 곱에 대해 다항식 기저(Polynominal basis) 곱셈 전개를 수행하여
    Figure 112015024646338-pat00059
    로 정의되는 다항식을 산출하는 단계;
    상기 산출된 다항식에서의 각 항들에 대한 정보를 갖는 비트값들을 각 열로 매핑한 매핑 테이블을 생성하는 단계;
    상기 2개의 다항식 a(z)와 b(z)의 곱에 대해 다항식 기저 곱셈 전개를 수행하여 산출한 다항식을 상기 매핑 테이블을 참조하여 연산하는 코드를 생성하는 단계; 및
    상기 다항식을 연산하는 코드를 실행하여 상기 2개의 다항식 a(z)와 b(z)에 대해 이진 확장 유한체 곱셈 연산을 수행하는 단계를 포함하는 것을 특징으로 하는, 이진 확장 유한체 곱셈 연산을 수행하는 방법.(여기서,
    Figure 112015024646338-pat00060
    이고,
    Figure 112015024646338-pat00061
    이며, W는 이진 확장 유한체 곱셈 연산을 수행하는 프로세서의 연산 처리 단위인 워드의 비트수이고, Cn은 워드 단위로 산출되는 전체 결과값중의 일부분이고, n은 연산 처리 단위인 워드에 대한 시그마의 인덱스이고, m은 차수이다.)
  2. 청구항 1에 있어서,
    상기 다항식을 산출하는 단계는,
    상기 2개의 다항식 a(z)와 b(z)의 곱에 대해 수학식
    Figure 112015024646338-pat00062
    에 따른 다항식 기저 곱셈 전개를 수행하여,
    Figure 112015024646338-pat00063
    인 상기 다항식을 산출하는 것을 특징으로 하는, 이진 확장 유한체 곱셈 연산을 수행하는 방법.(여기서,
    Figure 112015024646338-pat00064
    이고, [x]는 x보다 크거나 같은 최소의 정수를 출력하는 연산을 의미하고, j는 비트열에 대한 시그마의 인덱스를 의미한다.)
  3. 청구항 2에 있어서,
    상기 매핑 테이블을 생성하는 단계는,
    상기 다항식에서의
    Figure 112013066583129-pat00065
    ,
    Figure 112013066583129-pat00066
    , …
    Figure 112013066583129-pat00067
    ,
    Figure 112013066583129-pat00068
    ,
    Figure 112013066583129-pat00069
    각각에 대한 정보를 갖는 비트값들을 각 열로 매핑한 매핑 테이블을 생성하는 것을 특징으로 하는, 이진 확장 유한체 곱셈 연산을 수행하는 방법.
  4. 청구항 3에 있어서,
    상기 매핑 테이블을 생성하는 단계는,
    상기 다항식에서의
    Figure 112013066583129-pat00070
    ,
    Figure 112013066583129-pat00071
    , …
    Figure 112013066583129-pat00072
    ,
    Figure 112013066583129-pat00073
    ,
    Figure 112013066583129-pat00074
    각각에 대한 정보를 갖는 비트값들을 열의 개수가 2t개인 매핑 테이블의 각 열로 매핑하는 것을 특징으로 하는, 이진 확장 유한체 곱셈 연산을 수행하는 방법.
  5. 청구항 3에 있어서,
    상기 매핑 테이블을 생성하는 단계는,
    t의 값이 기설정된 정수값 r 보다 큰 경우, 상기 다항식에서의
    Figure 112013066583129-pat00075
    ,
    Figure 112013066583129-pat00076
    , … ,
    Figure 112013066583129-pat00077
    ,
    Figure 112013066583129-pat00078
    ,
    Figure 112013066583129-pat00079
    각각에 대한 정보를 갖는 비트값들을 각각 열의 개수가 2r개 이하인 복수의 매핑 테이블의 각 열로 매핑하는 것을 특징으로 하는, 이진 확장 유한체 곱셈 연산을 수행하는 방법.
  6. 청구항 5에 있어서,
    상기 기설정된 정수값 r은 8인 것을 특징으로 하는, 이진 확장 유한체 곱셈 연산을 수행하는 방법.
KR1020130086945A 2012-11-29 2013-07-23 이진 확장 유한체 곱셈 연산을 수행하는 방법 KR101541157B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/084,767 US9311052B2 (en) 2012-11-29 2013-11-20 Method of performing multiplication operation in binary extension finite field
EP13194569.3A EP2738670A3 (en) 2012-11-29 2013-11-27 Method of performing multiplication operation in binary extension finite field

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120137290 2012-11-29
KR20120137290 2012-11-29

Publications (2)

Publication Number Publication Date
KR20140072784A KR20140072784A (ko) 2014-06-13
KR101541157B1 true KR101541157B1 (ko) 2015-08-04

Family

ID=51126556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130086945A KR101541157B1 (ko) 2012-11-29 2013-07-23 이진 확장 유한체 곱셈 연산을 수행하는 방법

Country Status (1)

Country Link
KR (1) KR101541157B1 (ko)

Also Published As

Publication number Publication date
KR20140072784A (ko) 2014-06-13

Similar Documents

Publication Publication Date Title
CN101483517B (zh) 加速对特性2椭圆曲线密码系统的计算的方法
US9520995B2 (en) Efficient prime-number check
US10999056B2 (en) Apparatus and method for performing operation being secure against side channel attack
US11190340B2 (en) Efficient unified hardware implementation of multiple ciphers
KR102155035B1 (ko) 양자 내성 암호 ntru 기술에 대한 단일 파형 전력 분석 및 대응 방법
US20080010332A1 (en) EFFICIENT COMPUTATION OF THE MODULO OPERATION BASED ON DIVISOR (2n-1)
KR102075848B1 (ko) 다항식 연산 최적화 처리 장치, 다항식 연산 최적화 처리 방법 및 기록매체
Bank et al. Cycles in the supersingular ℓ-isogeny graph and corresponding endomorphisms
JP5147085B2 (ja) 演算方法及び演算装置
US8804952B2 (en) System and method for securing scalar multiplication against differential power attacks
KR101541157B1 (ko) 이진 확장 유한체 곱셈 연산을 수행하는 방법
KR101925614B1 (ko) 타원곡선 암호화 시스템에서의 스칼라 곱셈 처리 방법 및 타원곡선 암호화 시스템
US7970134B2 (en) Method for generating, operating, and using a sparse w-NAF key for encryption
CN108418687B (zh) 一种适合sm2算法的快速模约减方法和介质
KR101989950B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
JP5927323B1 (ja) 行列作用装置、行列作用方法、およびプログラム
US9311052B2 (en) Method of performing multiplication operation in binary extension finite field
KR100723863B1 (ko) 랜덤화한 프로베니우스 분해방법을 이용한 차분 공격 방지방법 및 그 장치
KR100976232B1 (ko) 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR100954843B1 (ko) 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체
KR101423947B1 (ko) 확장된 nist 소수를 이용한 모듈러 곱셈 및 모듈러 지수승 방법
JP2014021237A (ja) 縮約装置、縮約方法、およびプログラム
Morales-Sandoval et al. Area/performance evaluation of digit-digit GF (2 K) multipliers on FPGAS
JP5554357B2 (ja) 演算装置
KR101626743B1 (ko) 유한체상의 몽고메리 알고리즘을 이용한 곱셉기 및 곱셈 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 5