KR101524661B1 - Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering - Google Patents

Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering Download PDF

Info

Publication number
KR101524661B1
KR101524661B1 KR1020140040091A KR20140040091A KR101524661B1 KR 101524661 B1 KR101524661 B1 KR 101524661B1 KR 1020140040091 A KR1020140040091 A KR 1020140040091A KR 20140040091 A KR20140040091 A KR 20140040091A KR 101524661 B1 KR101524661 B1 KR 101524661B1
Authority
KR
South Korea
Prior art keywords
elliptic curve
scalar multiplication
curve scalar
base
arithmetic
Prior art date
Application number
KR1020140040091A
Other languages
Korean (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 KR1020140040091A priority Critical patent/KR101524661B1/en
Application granted granted Critical
Publication of KR101524661B1 publication Critical patent/KR101524661B1/en

Links

Images

Classifications

    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Abstract

The present invention relates to a calculating apparatus and method of a {2,3,5} triple-base chain-based elliptic curve scalar multiplication by reordering. According to the present invention, the calculating method suggests a method for speeding up the elliptic curve scalar multiplication, by replacing an operation which can utilize an overlapping operation in the scalar multiplication operation with another operation by utilizing a pre-calculated operation, and reordering the operation of a base by using the overlapping operation.

Description

재배치를 통한 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈을 위한 연산 장치 및 방법 {Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering} BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a triple-base chain-based elliptic curve scalar multiplication by reordering,

본 발명은 트리플-베이스 체인(Triple-Base Chain) 기반 타원곡선 스칼라 곱셈(scalar multiplication)을 위한 연산 장치 및 방법에 관한 것으로, 특히 스칼라 곱셈에서 중복 연산을 이용하여 밑수(Base)의 재배치를 통해 타원곡선 스칼라 곱셈 연산식을 변형한 연산 장치, 방법 및 이를 기록한 기록매체에 관한 것이다. The present invention relates to an arithmetic unit and method for an elliptic curve scalar multiplication based on a triple-base chain, and more particularly, to an arithmetic unit and method for scalar multiplication using an elliptic curve scalar multiplication, A computing device and a method in which a curved scalar multiplication expression is modified, and a recording medium on which the program is recorded.

타원곡선 암호시스템 (Elliptic curve cryptosystem)은 유한체(Finite field)상의 타원곡선 점들 간의 연산에서 정의되는 이산대수 문제 (Discrete logarithm problem)를 이용하는 것으로 전자서명 알고리즘과 키 교환 알고리즘에 주로 사용된다. 유한체

Figure 112014032257389-pat00001
의 부분집합
Figure 112014032257389-pat00002
는 위수
Figure 112014032257389-pat00003
인 순환군이 되고, 이때 생성원
Figure 112014032257389-pat00004
Figure 112014032257389-pat00005
의 원시근이라 한다. 즉, 적당한
Figure 112014032257389-pat00006
가 존재하여
Figure 112014032257389-pat00007
이다. 그러므로
Figure 112014032257389-pat00008
의 모든 원소
Figure 112014032257389-pat00009
은 법
Figure 112014032257389-pat00010
에 관하여 적당한
Figure 112014032257389-pat00011
가 존재하여
Figure 112014032257389-pat00012
이다. 이 때,
Figure 112014032257389-pat00013
를 원소
Figure 112014032257389-pat00014
를 밑으로 하는 지수(index) 또는 이산로그(discrete logarithm)라 하고,
Figure 112014032257389-pat00015
또는
Figure 112014032257389-pat00016
로 나타낸다. 이산대수 문제란, 소수
Figure 112014032257389-pat00017
에 대하여
Figure 112014032257389-pat00018
의 한 원시근을
Figure 112014032257389-pat00019
라 할 때,
Figure 112014032257389-pat00020
가 주어졌을 때,
Figure 112014032257389-pat00021
의 지수(이산로그)
Figure 112014032257389-pat00022
를 구하는 문제이다.
Figure 112014032257389-pat00023
Figure 112014032257389-pat00024
를 알고
Figure 112014032257389-pat00025
를 계산하는 문제는 상당히 어려운 것으로 알려져 있다. 이 성질을 이용하여 인수분해문제와 함께 공개키 암호 또는 키교환 프로토콜에 이용된다.Elliptic curve cryptosystem is mainly used for digital signature algorithm and key exchange algorithm by using discrete logarithm problem defined in operation between elliptic curve points on finite field. Finite element
Figure 112014032257389-pat00001
Subset of
Figure 112014032257389-pat00002
And
Figure 112014032257389-pat00003
, And at this time,
Figure 112014032257389-pat00004
To
Figure 112014032257389-pat00005
. That is,
Figure 112014032257389-pat00006
Is present
Figure 112014032257389-pat00007
to be. therefore
Figure 112014032257389-pat00008
All elements of
Figure 112014032257389-pat00009
Law
Figure 112014032257389-pat00010
Suitable for
Figure 112014032257389-pat00011
Is present
Figure 112014032257389-pat00012
to be. At this time,
Figure 112014032257389-pat00013
Element
Figure 112014032257389-pat00014
Is referred to as an index or a discrete logarithm,
Figure 112014032257389-pat00015
or
Figure 112014032257389-pat00016
Respectively. The discrete logarithm problem,
Figure 112014032257389-pat00017
about
Figure 112014032257389-pat00018
Of a circle
Figure 112014032257389-pat00019
In other words,
Figure 112014032257389-pat00020
When given,
Figure 112014032257389-pat00021
Exponential (Discrete Log)
Figure 112014032257389-pat00022
.
Figure 112014032257389-pat00023
Wow
Figure 112014032257389-pat00024
Know
Figure 112014032257389-pat00025
Is known to be quite difficult. Using this property, it is used in public key cryptography or key exchange protocols with factoring problems.

{2,3,5} 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈은 타원곡선 점들 간의 연산 중의 하나이다(비특허문헌 1). 타원곡선위의 점에 대한 스칼라 곱셈은 시간 및 자원이 많이 소요되 전체 암호화 시스템의 수행시간에 큰 영향을 미치기 때문에 타원곡선 암호 시스템에 대한 안정성 및 효율성을 향상시키는 방안으로 스칼라 곱셈의 연산 속도에 대한 개선이 필요하다. {2,3,5} Triple-based chain-based elliptic curve Scalar multiplication is one of the operations between elliptic curve points (Non-Patent Document 1). The scalar multiplication of points on the elliptic curve has a great effect on the execution time of the entire encryption system because it takes a lot of time and resources. Therefore, it is a method to improve the stability and efficiency of the elliptic curve cryptosystem, Improvement is needed.

P. K. Mishra, V. S.Dimitrov. Efficient Quintuple Formulas for Elliptic Curves and Efficient Scalar Multiplication Using Multibase Number Representation. Springer-Verlag, volume 4779, pages 390-406, 2007.  P. K. Mishra, V. S. Dimitrov. Efficient Quintuple Formulas for Elliptic Curves and Efficient Scalar Multiplication Using Multibase Number Representation. Springer-Verlag, volume 4779, pages 390-406, 2007.

본 발명이 해결하고자 하는 기술적 과제는 타원곡선 스칼라 곱셈의 연산량이 타원곡선 암호화 시스템의 수행 속도에 끼치는 영향력을 고려하여 암호화에 사용되는 타원곡선 스칼라 곱셈의 연산량을 감소시켜 암호화 시스템의 성능 및 효율성 증대시키는 데 있다. 특히 {2,3,5}를 밑수(Base)로 하는 트리플-베이스 체인의 스칼라 곱셈에서의 연산량을 분석하여 이를 감소시키는 방안을 제안함으로써 전체 암호화 수행 속도를 고속화 시키고자 한다. SUMMARY OF THE INVENTION It is an object of the present invention to improve the performance and efficiency of an encryption system by reducing the amount of operation of an elliptic curve scalar multiplication used for encryption considering the influence of the operation amount of the elliptic curve scalar multiplication on the execution speed of the elliptic curve encryption system There is. In particular, we propose a scheme to reduce the computation amount in scalar multiplication of a triple-base chain with {2,3,5} as a base, thereby speeding up the overall encryption performance.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 타원곡선 스칼라 곱셈을 위한 연산 방법은 {2,3,5} 트리플-베이스 체인(Triple-Base Chain) 기반 타원곡선 스칼라 곱셈(scalar multiplication)에 있어서, 입력 모듈이 타원곡선상의 점

Figure 112014032257389-pat00026
를 표현하는 3차원 좌표값
Figure 112014032257389-pat00027
Figure 112014032257389-pat00028
(
Figure 112014032257389-pat00029
는 양의 정수)를 입력받는 단계; 연산 모듈이 상기
Figure 112014032257389-pat00030
를 {2,3,5} 밑수(Base)로 재 표현하는 단계; 상기 연산 모듈이 상기 타원곡선 스칼라 곱셈 연산식 내에 존재하는 중복 연산 활용이 가능한 연산을 추출하고, 상기 추출된 중복 연산 활용이 가능한 연산을 이용하여 상기 타원곡선 스칼라 곱셈 연산식을 변형하는 단계; 상기 연산 모듈이 상기 점
Figure 112014032257389-pat00031
에 대하여 상기 변형된 타원곡선 스칼라 곱셈 연산식을 사용하여 타원곡선 스칼라 곱셈
Figure 112014032257389-pat00032
를 수행하는 단계; 및 출력 모듈이 상기 수행된 타원곡선 스칼라 곱셈 결과값을 출력하는 단계;를 포함한다. According to an aspect of the present invention, there is provided an operation method for an elliptic curve scalar multiplication according to an embodiment of the present invention, including a {2,3,5} triple-base chain-based elliptic curve scalar multiplication ), The input module is a point on the elliptic curve
Figure 112014032257389-pat00026
A three-dimensional coordinate value
Figure 112014032257389-pat00027
And
Figure 112014032257389-pat00028
(
Figure 112014032257389-pat00029
Receiving a positive integer; When the operation module
Figure 112014032257389-pat00030
To {2,3,5} base (Base); Extracting an operation that can be performed by the operation module existing in the elliptic curve scalar multiplication operation expression and transforming the elliptic curve scalar multiplication operation expression using an operation capable of utilizing the redundant operation; The operation module
Figure 112014032257389-pat00031
Using the modified elliptic curve scalar multiplication equation for the elliptic curve scalar multiplication < RTI ID = 0.0 >
Figure 112014032257389-pat00032
; And outputting the result of performing the elliptic curve scalar multiplication performed by the output module.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 타원곡선 스칼라 곱셈을 위한 연산 방법은 타원곡선 스칼라 곱셈 연산식을 변형하는 단계는, 선 계산된 연산을 이용하여 상기 중복 연산 활용이 가능한 연산을 다른 연산으로 대체하는 것을 포함한다. According to an aspect of the present invention, there is provided an operation method for an elliptic curve scalar multiplication according to an embodiment of the present invention, wherein the step of modifying an elliptic curve scalar multiplication operation expression includes: And replacing the operation with another operation.

상기 기술적 과제를 해결하기 위하여,본 발명의 일 실시예에 따른 타원곡선 스칼라 곱셈을 위한 연산 방법은 밑수(Base) 연산순서를 2->3->5로 재배치하는 단계를 더 포함한다. According to an aspect of the present invention, there is provided a method for computing an elliptic curve scalar multiplication, the method comprising: rearranging a base operation sequence to 2 -> 3 -> 5.

또한, 이하에서는 상기 기재된 타원곡선 스칼라 곱셈을 위한 연산 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다. The present invention also provides a computer-readable recording medium having recorded thereon a program for causing a computer to execute an arithmetic method for the above-described elliptic curve scalar multiplication.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 타원곡선 스칼라 곱셈을 위한 연산 장치는 타원곡선상의 점

Figure 112014032257389-pat00033
를 표현하는 3차원 좌표값
Figure 112014032257389-pat00034
Figure 112014032257389-pat00035
(
Figure 112014032257389-pat00036
는 양의 정수)를 입력받는 입력부; 상기
Figure 112014032257389-pat00037
를 {2,3,5} 밑수(Base)로 재 표현하고, {2,3,5} 트리플-베이스 체인(Triple-Base Chain) 기반 타원곡선 스칼라 곱셈 연산식 내에 존재하는 중복 연산 활용이 가능한 연산을 추출하고, 상기 추출된 중복 연산 활용이 가능한 연산을 이용하여 상기 타원곡선 스칼라 곱셈 연산식을 변형하고, 상기 점
Figure 112014032257389-pat00038
에 대하여 상기 변형된 타원곡선 스칼라 곱셈 연산식을 사용하여 타원곡선 스칼라 곱셈
Figure 112014032257389-pat00039
를 수행하는 연산부; 및 상기 수행된 타원곡선 스칼라 곱셈 결과값을 출력하는 출력부를 포함한다. According to an aspect of the present invention, there is provided an arithmetic and logic unit for an elliptic curve scalar multiplication,
Figure 112014032257389-pat00033
A three-dimensional coordinate value
Figure 112014032257389-pat00034
And
Figure 112014032257389-pat00035
(
Figure 112014032257389-pat00036
A positive integer); remind
Figure 112014032257389-pat00037
Is re-represented as {2,3,5} base and {2,3,5} triple-base chain based elliptic curve scalar multiplication operation And transforms the elliptic curve scalar multiplication operation expression using the extracted operation that can utilize the redundant operation,
Figure 112014032257389-pat00038
Using the modified elliptic curve scalar multiplication equation for the elliptic curve scalar multiplication < RTI ID = 0.0 >
Figure 112014032257389-pat00039
; And an output unit for outputting the result of performing the elliptic curve scalar multiplication.

본 발명은 중복 연산을 이용하여 타원곡선 스칼라 곱셈의 연산 속도를 고속화하고, {2,3,5} 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈 연산식의 밑수 연산 순서를 재배치하여 전체 연산량을 감소하였다. 그러므로 이를 이용하여 타원곡선 연산을 이용한 암호화 시스템에서의 효율성 및 성능을 향상시켜 효과적이고 신뢰도 높은 암호화 및 복호화 시스템을 구현할 수 있다. The present invention speeds up the operation speed of the elliptic curve scalar multiplication by using the redundant operation and rearranges the base operation order of the {2,3,5} triple-base chain-based elliptic curve scalar multiplication operation expression to reduce the total operation amount. Therefore, it is possible to implement an efficient and reliable encryption / decryption system by improving the efficiency and performance in the encryption system using the elliptic curve calculation.

도 1은 탐욕적 알고리즘을 사용하여 정수

Figure 112014032257389-pat00040
를 {2,3,5} 밑수로 나타내는 알고리즘의 의사코드이다.
도 2는 Pradeep Kumar Mishra 등이 제안한 {2,3,5} 트리플-베이스 체인에 기반한 타원곡선 스칼라 곱셈
Figure 112014032257389-pat00041
를 구하는 알고리즘의 의사코드이다.
도 3은 본 발명의 일 실시예에 따른 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈을 위한 연산 방법을 도시한 흐름도이다.
도 4는 Pradeep Kumar Mishra 등이 제안한
Figure 112014032257389-pat00042
연산을 위한 중간 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 중복 연산을 이용하여 변형한
Figure 112014032257389-pat00043
연산을 위한 중간 과정을 도시한 도면이다.
도 6은 {2,3,5} 트리플-베이스 체인의 밑수 연산 순서를 종래 것과 본 발명의 일 실시예에 따른 것을 도시한 그림이다.
도 7은
Figure 112014032257389-pat00044
의 연산 중간 값을 도시한 도면이다.
도 8은
Figure 112014032257389-pat00045
의 연산 중간 값을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 중복 연산을 이용하여 변형한 {2,3,5} 트리플-베이스 체인 방법의 밑수 연산 순서를 재배치한 타원곡선 스칼라 곱셈 알고리즘을 예시한 의사코드이다.
도 10은 본 발명의 일 실시예에 따른 타원곡선 스칼라 곱셈 연산을 위한 장치를 도시한 도면이다. Figure 1 shows an algorithm
Figure 112014032257389-pat00040
Is the pseudo code of the algorithm represented by {2,3,5} base.
FIG. 2 shows an example of an elliptic curve scalar multiplication based on {2,3,5} triple-base chains proposed by Pradeep Kumar Mishra et al.
Figure 112014032257389-pat00041
Is the pseudo-code of the algorithm for obtaining the.
3 is a flowchart illustrating a computation method for triple-based chain-based elliptic curve scalar multiplication according to an embodiment of the present invention.
Fig. 4 is a schematic diagram
Figure 112014032257389-pat00042
Lt; RTI ID = 0.0 > operation. ≪ / RTI >
FIG. 5 is a block diagram of a modified embodiment of the present invention,
Figure 112014032257389-pat00043
Lt; RTI ID = 0.0 > operation. ≪ / RTI >
FIG. 6 is a diagram illustrating a base operation order of a {2,3,5} triple-base chain according to an embodiment of the present invention.
Figure 7
Figure 112014032257389-pat00044
Of FIG.
Figure 8
Figure 112014032257389-pat00045
Of FIG.
FIG. 9 is a pseudo code illustrating an elliptic curve scalar multiplication algorithm that rearranges the base operation order of the {2,3,5} triple-based chain method modified using the redundant operation according to an embodiment of the present invention.
10 is a diagram illustrating an apparatus for an elliptic curve scalar multiplication operation according to an embodiment of the present invention.

본 발명의 실시예들을 구체적으로 설명하기에 앞서, 본 발명의 실시예들에 사용되는 타원곡선 및 타원곡선 스칼라 곱셈을 정의하고자 한다. Before describing embodiments of the present invention in detail, an elliptic curve and an elliptic curve scalar multiplication used in embodiments of the present invention will be defined.

유한체

Figure 112014032257389-pat00046
에 대하여,
Figure 112014032257389-pat00047
위에서 정의된 정칙 타원곡선(nonsingular elliptic curve)을
Figure 112014032257389-pat00048
라고 하자.
Figure 112014032257389-pat00049
를 포함한
Figure 112014032257389-pat00050
의 집합은 수학식 1에 표현된 바이어슈트라스 식(Weierstrass equation)을 만족한다. Finite element
Figure 112014032257389-pat00046
about,
Figure 112014032257389-pat00047
The nonsingular elliptic curve defined above
Figure 112014032257389-pat00048
Let's say.
Figure 112014032257389-pat00049
Including
Figure 112014032257389-pat00050
Satisfies the Weierstrass equation expressed in Equation (1).

Figure 112014032257389-pat00051
Figure 112014032257389-pat00051

수학식 1은

Figure 112014032257389-pat00052
의 값에 따라 간결한 형태로 표현될 수 있다. 만약
Figure 112014032257389-pat00053
이라면, 수학식 1은 아래 수학식 2와 같이 표현 된다. 이 때의 점들의 집합을 아핀 좌표계(Affine Coordinates)라 한다. Equation (1)
Figure 112014032257389-pat00052
Can be expressed in a concise form according to the value of < RTI ID = 0.0 > if
Figure 112014032257389-pat00053
, Equation (1) is expressed as Equation (2) below. The set of points at this time is called Affine Coordinates.

Figure 112014032257389-pat00054
Figure 112014032257389-pat00054

이 때 수학식 2의

Figure 112014032257389-pat00055
이다. 만약
Figure 112014032257389-pat00056
이면, 수학식 1은 수학식 3과 같이 표현된다. At this time,
Figure 112014032257389-pat00055
to be. if
Figure 112014032257389-pat00056
, Equation (1) is expressed as Equation (3).

Figure 112014032257389-pat00057
Figure 112014032257389-pat00057

이 때 수학식 3은 논-슈퍼싱귤러(non-supersingular)하고,

Figure 112014032257389-pat00058
이다.
Figure 112014032257389-pat00059
인 타원곡선에 대해서만 고려한다고 했을 때, 타원곡선 상에 존재하는 임의의 두 점을 각각
Figure 112014032257389-pat00060
,
Figure 112014032257389-pat00061
라 하면,
Figure 112014032257389-pat00062
연산을 포인트 애디션(point addition, ADD)이라 하고,
Figure 112014032257389-pat00063
연산은 포인트 더블링(point doubling, DBL)이라 한다. 아핀 좌표계에서 ADD, DBL 연산식은 수학식 4, 수학식 5와 같다. Equation 3 is non-supersingular,
Figure 112014032257389-pat00058
to be.
Figure 112014032257389-pat00059
When considering only the elliptic curve, two arbitrary points on the elliptic curve are referred to as
Figure 112014032257389-pat00060
,
Figure 112014032257389-pat00061
In other words,
Figure 112014032257389-pat00062
The operation is called point addition (ADD)
Figure 112014032257389-pat00063
The operation is called point doubling (DBL). In the affine coordinate system, the ADD and DBL arithmetic expressions are expressed by Equations (4) and (5).

Figure 112014032257389-pat00064
Figure 112014032257389-pat00064

Figure 112014032257389-pat00065
Figure 112014032257389-pat00065

수학식 4, 수학식 5는 각각 유전체 역원 연산

Figure 112014032257389-pat00066
,
Figure 112014032257389-pat00067
을 포함한다. 역원 연산은 유한체 곱셈 연산의 30배가 소요될 정도로 비효율적이다. 역원 연산을 제외하고 효율적인 타원곡선 스칼라 곱셈을 수행할 방안으로 자코비안(Jacobian) 좌표계가 제안되었다. 자코비안 좌표계에서 ADD, DBL 연산식은 수학식 6, 수학식 7과 같다. Equations (4) and (5)
Figure 112014032257389-pat00066
,
Figure 112014032257389-pat00067
. Inverse operation is as inefficient as it takes 30 times of finite field multiplication operation. A Jacobian coordinate system has been proposed to perform efficient elliptic curve scalar multiplication except for inverse operations. In the Jacobian coordinate system, the ADD and DBL operations are expressed by Equations (6) and (7).

Figure 112014032257389-pat00068
Figure 112014032257389-pat00068

Figure 112014032257389-pat00069
Figure 112014032257389-pat00069

수학식 6, 수학식 7과 같이 자코비안 좌표계를 사용하여 ADD, DBL 연산을 하는 경우, 역원 연산이 존재하지 않는다. 따라서 본 발명은 자코비안 좌표계를 사용한다. When the ADD and DBL operations are performed using the Jacobian coordinate system as shown in Equations (6) and (7), there is no inverse operation. Therefore, the present invention uses a Jacobian coordinate system.

타원 곡선에서 ADD와 DBL을 이용하여 타원곡선 스칼라 곱셈을 정의할 수 있다.

Figure 112014032257389-pat00070
를 양의 정수라 하고,
Figure 112014032257389-pat00071
를 타원곡선 위의 한 점으로 정의하면, 타원곡선 스칼라 곱셈은
Figure 112014032257389-pat00072
Figure 112014032257389-pat00073
번 더하는 연산이다. You can define an elliptic curve scalar multiplication using ADD and DBL in an elliptic curve.
Figure 112014032257389-pat00070
Is a positive integer,
Figure 112014032257389-pat00071
Is defined as a point on the elliptic curve, the elliptic curve scalar multiplication
Figure 112014032257389-pat00072
To
Figure 112014032257389-pat00073
It is an operation to add.

P1363 IEEE Standard에서 제안된 자코비안 좌표계를 사용하면 빠른 스칼라 곱셈이 가능하다. 자코비안 좌표계에서의 점의 표현은 유일하지 않다. 즉,

Figure 112014032257389-pat00074
에 대하여
Figure 112014032257389-pat00075
Figure 112014032257389-pat00076
은 동치 관계이고 무한원점은
Figure 112014032257389-pat00077
으로 표현된다. 바이어슈트라스 식은 다음 수학식 8과 같다.P1363 Using the Jacobian coordinate system proposed in IEEE Standard, fast scalar multiplication is possible. The representation of a point in a Jacobian coordinate system is not unique. In other words,
Figure 112014032257389-pat00074
about
Figure 112014032257389-pat00075
Wow
Figure 112014032257389-pat00076
And the infinite origin
Figure 112014032257389-pat00077
. The Bayer-Strasse equation is shown in Equation (8).

Figure 112014032257389-pat00078
Figure 112014032257389-pat00078

자코비안 좌표계에서

Figure 112014032257389-pat00079
,
Figure 112014032257389-pat00080
,
Figure 112014032257389-pat00081
이라 하면, 덧셈 연산과 두 배 연산은 수학식 9와 같다. In the Jacobian coordinate system
Figure 112014032257389-pat00079
,
Figure 112014032257389-pat00080
,
Figure 112014032257389-pat00081
, The addition operation and the double operation are expressed by Equation (9).

Figure 112014032257389-pat00082
Figure 112014032257389-pat00082

본 발명에서 {2,3,5} 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈을 사용하는 바, 먼저 이를 설명한다. 2007년 Pradeep Kumar Mishra 등이 제안한 트리플-베이스 체인은 {2,3,5}를 밑수(Base)로 한다. 트리플-베이스 체인이란 양의 정수

Figure 112014032257389-pat00083
를 밑수 {2,3,5}로 나타내어 스칼라 곱셈
Figure 112014032257389-pat00084
를 수행하는 것이다. 예를 들어
Figure 112014032257389-pat00085
이면 다음 수학식 10과 같이 표현할 수 있다.In the present invention, {2,3,5} triple-based chain-based elliptic curve scalar multiplication is used, which will be described first. In 2007, Pradeep Kumar Mishra and others proposed a triple-base chain with {2,3,5} as the base. Triple - a base chain is a positive integer
Figure 112014032257389-pat00083
Is represented as a base < RTI ID = 0.0 > {2,3,5}
Figure 112014032257389-pat00084
. E.g
Figure 112014032257389-pat00085
The following equation (10) can be obtained.

Figure 112014032257389-pat00086
Figure 112014032257389-pat00086

정수

Figure 112014032257389-pat00087
를 {2,3,5} 밑수로 나타낼 때 각 밑수의 지수는 다음 항의 밑수의 지수보다 항상 같거나 커야 한다. 예를 들면 밑수 2의 지수는 5, 3, 1로 감소하는 형태이다. essence
Figure 112014032257389-pat00087
Is {2,3,5}, the exponent of each base must always be greater than or equal to the exponent of the base of the next term. For example, the index of base 2 is reduced to 5, 3, 1.

도 1은 Pradeep Kumar Mishra 등이 제안한 방법으로, 탐욕적 알고리즘을 사용하여 정수

Figure 112014032257389-pat00088
를 {2,3,5} 밑수로 재표현하는 알고리즘의 의사 코드(pseudo code)이다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 이러한 정수를 밑수 {2,3,5}의 표현으로 변환하는 도 1의 방법은 하나의 예시일 뿐, 그 외의 다양한 알고리즘을 이용할 수 있음이 자명하다. 1 is a method proposed by Pradeep Kumar Mishra et al.
Figure 112014032257389-pat00088
Is the pseudo code of the algorithm re-expressing {2,3,5} as the base. It should be understood that the method of FIG. 1, which converts such integers to the representation of base 2, 3, 5, is of course only one example to those of ordinary skill in the art to which the present invention pertains, It is obvious.

재 표현된 정수

Figure 112014032257389-pat00089
를 이용하여 타원곡선 스칼라 곱셈
Figure 112014032257389-pat00090
는 수학식 11과 같이 수행된다.Re-expressed integer
Figure 112014032257389-pat00089
Using elliptic curve scalar multiplication
Figure 112014032257389-pat00090
Is performed as shown in Equation (11).

Figure 112014032257389-pat00091
Figure 112014032257389-pat00091

도 2는 종래의 {2,3,5} 트리플-베이스 체인에 기반한 타원곡선 스칼라 곱셈

Figure 112014032257389-pat00092
를 구하는 알고리즘의 의사코드이다. 도 2을 보면 {2,3,5} 트리플-베이스는 5, 3, 2 순서로 연산이 진행된다. 그리고 마지막에
Figure 112014032257389-pat00093
(Triple and Add, TA)와
Figure 112014032257389-pat00094
(Double and Add, DA)를 한다. 도 2에서는
Figure 112014032257389-pat00095
(Quintuple and add, QA) 연산은 사용하지 않았다. FIG. 2 is a schematic diagram of a conventional {2,3,5} triple-base chain based elliptic curve scalar multiplication
Figure 112014032257389-pat00092
Is the pseudo-code of the algorithm for obtaining the. Referring to FIG. 2, the {2,3,5} triple-base is operated in the order of 5, 3, and 2. And finally
Figure 112014032257389-pat00093
(Triple and Add, TA) and
Figure 112014032257389-pat00094
(Double and Add, DA). 2,
Figure 112014032257389-pat00095
(Quintuple and add, QA) operation is not used.

도 3는 본 발명의 일 실시예에 따른 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈을 위한 연산 방법을 도시한 흐름도로서, 다음과 같은 단계들을 포함한다. FIG. 3 is a flowchart illustrating a calculation method for a triple-base chain-based elliptic curve scalar multiplication according to an embodiment of the present invention, including the following steps.

S310 단계에서 입력 모듈이 타원곡선상의 점

Figure 112014032257389-pat00096
를 표현하는 3차원 좌표값
Figure 112014032257389-pat00097
Figure 112014032257389-pat00098
(
Figure 112014032257389-pat00099
는 양의 정수)를 입력받고, S320 단계에서 연산 모듈이 상기
Figure 112014032257389-pat00100
를 {2,3,5} 밑수(Base)로 재표현하고, S330 단계에서 상기 연산 모듈이 상기 타원곡선 스칼라 곱셈 연산식 내에 존재하는 중복 연산 활용이 가능한 연산을 추출하고, S340 단계에서 상기 추출된 중복 연산 활용이 가능한 연산을 이용하여 상기 타원곡선 스칼라 곱셈 연산식을 변형하며 S350 단계에서 상기 연산 모듈이 상기 점 P에 대하여 상기 변형된 타원곡선 스칼라 곱셈 연산식을 사용하여 타원곡선 스칼라 곱셈
Figure 112014032257389-pat00101
를 수행하여 S360 단계는 출력 모듈이 상기 수행된 타원곡선 스칼라 곱셈 결과값을 출력하는 타원곡선 스칼라 곱셈을 위한 연산 방법이다. 보다 구체적으로 본 발명은 타원곡선 스칼라 곱셈 과정에서 발생하는 중복 연산을 이용하는 것이다. 첫 번째 제안하는 방법은 중복 연산을 이용하여 5P 연산 식을 변형하는 것이다. If it is determined in step S310 that the input module is a point on the elliptic curve
Figure 112014032257389-pat00096
A three-dimensional coordinate value
Figure 112014032257389-pat00097
And
Figure 112014032257389-pat00098
(
Figure 112014032257389-pat00099
Is a positive integer), and in step S320,
Figure 112014032257389-pat00100
Is expressed as {2,3,5} base (Base), and in step S330, the operation module extracts an operation that is available in the elliptic curve scalar multiplication operation expression and that can utilize the redundant operation. In step S340, The operation module modifies the elliptic curve scalar multiplication operation expression by using an operation capable of utilizing redundant operation, and in step S350, the operation module performs an elliptic curve scalar multiplication operation using the modified elliptic curve scalar multiplication expression for the point P
Figure 112014032257389-pat00101
And step S360 is an operation method for an elliptic curve scalar multiplication in which the output module outputs the performed elliptic curve scalar multiplication result. More specifically, the present invention utilizes a redundant operation that occurs in an elliptic curve scalar multiplication process. The first proposed method is to modify the 5P equation using redundant operations.

먼저, Pradeep Kumar Mishra 등이 제안한

Figure 112014032257389-pat00102
연산식을 소개한다.
Figure 112014032257389-pat00103
을 타원곡선 상의 한 점이라 할 때,
Figure 112014032257389-pat00104
는 수학식 12와 같다.First, Pradeep Kumar Mishra et al.
Figure 112014032257389-pat00102
The equation is introduced.
Figure 112014032257389-pat00103
Is a point on an elliptic curve,
Figure 112014032257389-pat00104
Is expressed by Equation (12).

Figure 112014032257389-pat00105
Figure 112014032257389-pat00105

도 4는 상기 수학식 12의 종래

Figure 112014032257389-pat00106
연산을 위한 중간 과정을 정리한 것으로, 중복 연산 활용이 가능한 연산을 추출하면
Figure 112014032257389-pat00107
,
Figure 112014032257389-pat00108
,
Figure 112014032257389-pat00109
의 3개의 연산이 추출된다.
Figure 112014032257389-pat00110
은 선 계산된
Figure 112014032257389-pat00111
를 이용하여 수학식 13와 같이 연산 가능하다.FIG. 4 is a graph showing the relationship
Figure 112014032257389-pat00106
If you extract the operations that can use redundant operation
Figure 112014032257389-pat00107
,
Figure 112014032257389-pat00108
,
Figure 112014032257389-pat00109
Are extracted.
Figure 112014032257389-pat00110
The line is calculated
Figure 112014032257389-pat00111
(13). ≪ / RTI >

Figure 112014032257389-pat00112
Figure 112014032257389-pat00112

따라서,

Figure 112014032257389-pat00113
의 연산식을 수학식 13으로 대체하면 중복 연산을 이용하게 되어
Figure 112014032257389-pat00114
의 연산량은 1S-1M의 연산 효율성을 갖는다. 마찬가지로, 중복 연산 활용이 가능한 연산
Figure 112014032257389-pat00115
,
Figure 112014032257389-pat00116
도 각각 다른 연산식으로 변형할 수 있으며, 도 5는 상기 식을 변형한 연산식을 표시하였다. 즉, 도 5는 본 발명의 실시예에 따른 중복 연산이 활용 가능한 연산을 이용하여 타원곡선 스칼라 곱셈 연산식, 구체적으로
Figure 112014032257389-pat00117
연산식을 변형한 연산식을 정리한 것이다. 요약하건대, 타원곡선 스칼라 곱셈 연산식을 변형하는 단계는 선 계산된 연산을 이용하여 중복 연산 활용이 가능한 연산을 다른 연산식으로 대체하는 것을 특징으로 한다. therefore,
Figure 112014032257389-pat00113
The equation (13) is replaced with the equation
Figure 112014032257389-pat00114
Has an operation efficiency of 1S-1M. Similarly, operations capable of utilizing redundant operations
Figure 112014032257389-pat00115
,
Figure 112014032257389-pat00116
Can also be transformed into different arithmetic expressions, and FIG. 5 shows arithmetic expressions obtained by modifying the above expressions. That is, FIG. 5 illustrates an elliptic curve scalar multiplication operation expression using an operation that can utilize redundant operation according to an embodiment of the present invention,
Figure 112014032257389-pat00117
It is summarized the operation formula which modified the operation formula. In summary, the step of modifying the elliptic curve scalar multiplication operation expression is characterized by replacing operations that can utilize redundant operation by using a pre-computed operation with another operation expression.

도 4에 따른

Figure 112014032257389-pat00118
연산식의 연산량은 15M + 10S 이고, 본 발명의 실시예에 따른 도 5의 연산량은 12M + 13S 이다. 1M = 0.8S 라 가정하면, 본 발명의 실시예에 따른
Figure 112014032257389-pat00119
연산은 기존 방법보다 0.6M 감소하는 효과가 있다. 그러므로
Figure 112014032257389-pat00120
연산에서는
Figure 112014032257389-pat00121
만큼 연산이 감소하는 효과가 발생한다. 4
Figure 112014032257389-pat00118
The calculation amount of the calculation formula is 15M + 10S, and the calculation amount of FIG. 5 according to the embodiment of the present invention is 12M + 13S. Assuming 1M = 0.8S,
Figure 112014032257389-pat00119
The operation is 0.6M less than the conventional method. therefore
Figure 112014032257389-pat00120
In the operation
Figure 112014032257389-pat00121
There is an effect that the number of operations is reduced.

본 발명에 따른 다른 실시예를 설명하기 위해 도 6은 {2,3,5} 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈에서 기존 밑수 5->3->2 연산 순서와 본 발명의 일 실시예에 따른 밑수 2->3->5 연산 순서를 도식화한 것이다. {2,3,5}를 베이스로 하는 트리플-베이스 체인은 도 2와 같이

Figure 112014032257389-pat00122
연산을 수행하고, 그 다음
Figure 112014032257389-pat00123
연산을 수행한다. 그리고 마지막으로
Figure 112014032257389-pat00124
연산 후 DA를 수행한다. 본 발명의 일 실시예로 밑수 연산 순서를 2->3->5로 재배치(Reordering)하는 방법을 제안한다. 재배치를 하면 2->3, 3->5, 2->5로 연산이 진행될 때 효율성이 나타난다.
Figure 112014032257389-pat00125
을 타원곡선 한 점이라 하자.
Figure 112014032257389-pat00126
연산을 먼저 수행하고,
Figure 112014032257389-pat00127
연산을 수행하면
Figure 112014032257389-pat00128
연산 중간 값을 이용하여
Figure 112014032257389-pat00129
의 연산량이 2S 감소한다. 또한,
Figure 112014032257389-pat00130
연산을 먼저 수행하고
Figure 112014032257389-pat00131
를 연산을 하면, 중간 값을 이용한 연산 감소가 발생한다.To illustrate another embodiment according to the present invention, Fig. 6 shows a flowchart of a method for calculating the number of operations of the present invention in accordance with an existing base number 5- >3-> 2 operation sequence in the {2,3,5} triple-based chain-based elliptic curve scalar multiplication, 2 -> 3 -> 5 according to the base order. The triple-base chain based on {2,3,5} is shown in FIG. 2
Figure 112014032257389-pat00122
Operation, and then
Figure 112014032257389-pat00123
. And finally
Figure 112014032257389-pat00124
Perform DA after the operation. According to an embodiment of the present invention, a method of reordering the base calculation order to 2->3->> 5 is proposed. When relocation is performed, efficiency is shown when the operation is performed in 2-> 3, 3-> 5, 2-> 5.
Figure 112014032257389-pat00125
Let 's assume an elliptic curve.
Figure 112014032257389-pat00126
Operation is performed first,
Figure 112014032257389-pat00127
When you perform an operation
Figure 112014032257389-pat00128
Using the intermediate value of the operation
Figure 112014032257389-pat00129
The amount of computation of 2S decreases. Also,
Figure 112014032257389-pat00130
The operation is performed first
Figure 112014032257389-pat00131
The operation is reduced using the intermediate value.

도 7은

Figure 112014032257389-pat00132
연산 중간 값을 나타내고, 도 8은
Figure 112014032257389-pat00133
연산 중간 값을 나타낸다. 도 4의
Figure 112014032257389-pat00134
연산 중에
Figure 112014032257389-pat00135
연산이 수행된다. 도 7의
Figure 112014032257389-pat00136
연산에는
Figure 112014032257389-pat00137
연산이 포함된다. 따라서
Figure 112014032257389-pat00138
은 선 계산된 연산을 이용하여 수학식 14와 같이 나타낼 수 있다. Figure 7
Figure 112014032257389-pat00132
Represents the intermediate value of the operation, and Fig. 8
Figure 112014032257389-pat00133
Represents the intermediate value of the operation. 4
Figure 112014032257389-pat00134
During operation
Figure 112014032257389-pat00135
An operation is performed. 7
Figure 112014032257389-pat00136
The operation
Figure 112014032257389-pat00137
Operation. therefore
Figure 112014032257389-pat00138
Can be expressed by Equation (14) using a linear computation.

Figure 112014032257389-pat00139
Figure 112014032257389-pat00139

결과적으로 중복 연산을 이용하여 대체된

Figure 112014032257389-pat00140
의 연산량은 기존
Figure 112014032257389-pat00141
의 연산량에 비해 1M - 2S 만큼 연산 효율성이 있다. 마지막으로
Figure 112014032257389-pat00142
연산 후
Figure 112014032257389-pat00143
연산이 수행될 때의 연산 효율성도 위와 같은 방법으로 보일 수 있다. 도 8에
Figure 112014032257389-pat00144
연산에는
Figure 112014032257389-pat00145
포함되고, 선 연산된 상기 값을 이용하여 도 4의
Figure 112014032257389-pat00146
연산 과정 중의
Figure 112014032257389-pat00147
연산은 수학식 15와 같이 나타낼 수 있다. As a result,
Figure 112014032257389-pat00140
The amount of computation
Figure 112014032257389-pat00141
The computation efficiency is as much as 1M - 2S. Finally
Figure 112014032257389-pat00142
After calculation
Figure 112014032257389-pat00143
The computational efficiency when the computation is performed can also be seen in the same manner. 8
Figure 112014032257389-pat00144
The operation
Figure 112014032257389-pat00145
4, using the above-mentioned pre-
Figure 112014032257389-pat00146
During the calculation process
Figure 112014032257389-pat00147
The computation can be expressed as: < EMI ID = 15.0 >

Figure 112014032257389-pat00148
Figure 112014032257389-pat00148

대체된

Figure 112014032257389-pat00149
연산에 의해 2S 만큼 연산량이 감소한다. Replaced
Figure 112014032257389-pat00149
The amount of computation is reduced by 2S by the operation.

표 1은 기존 밑수 5->3->2 연산 방법에 비해 재배치된 밑수 2->3->5 연산 방법에 따른 연산량의 증감을 나타낸 것이다. Table 1 shows the increase / decrease of the computation amount according to the rearranged base 2-> 3-> 5 computation method compared with the existing base 5 -> 3 -> 2 computation method.

구분division 연산량 변화Change in calculation amount

Figure 112014032257389-pat00150
Figure 112014032257389-pat00150

2S 감소

2S reduction
Figure 112014032257389-pat00151
Figure 112014032257389-pat00151

2S 감소

2S reduction
Figure 112014032257389-pat00152
Figure 112014032257389-pat00152

2S 감소 1M 증가

2S reduction 1M increase

도 9는 본 발명의 일 실시예에 따른 타원곡선위의 한 점

Figure 112014032257389-pat00153
에 대하여 스칼라 곱셈을 하기 위해 {2,3,5} 트리플-베이스 체인 방법의 밑수 연산순서를 재배치한 타원곡선 스칼라 곱셈 알고리즘의 의사 코드이다. 이에 따라 실험을 통해 정수
Figure 112014032257389-pat00154
의 크기가 160bit 또는 256bit인 일 때, 타원곡선 스칼라 곱셈 연산량을 각각 비교하였다. 실험에 사용한 정수
Figure 112014032257389-pat00155
는 랜덤 생성기를 사용하여 160bit, 256bit 랜덤 값을 각각 1000개씩 생성하였다. 모든 실험에는 미리 생성된 1000개의 랜덤 값을 사용하였다. 표 2는
Figure 112014032257389-pat00156
의 크기가 160bit에 대해서, 표 3은 256bit에 대해서 도 2와 도 9를 구현한 후, 타원 곡선 스칼라 곱셈
Figure 112014032257389-pat00157
를 {2,3,5} 트리플-베이스 체인 스칼라 곱셈을 수행할 때 나오는 항의 개수와 연산량을 각각 정리한 것이다. FIG. 9 is a graph of a point on an elliptic curve according to an embodiment of the present invention.
Figure 112014032257389-pat00153
Is a pseudo-code of an elliptic curve scalar multiplication algorithm that rearranges the order of the bases of the {2,3,5} triple-based chain method for scalar multiplication. As a result,
Figure 112014032257389-pat00154
Is 160 bits or 256 bits, the elliptic curve scalar multiplication operation amounts are compared with each other. The constant used in the experiment
Figure 112014032257389-pat00155
Using the random generator, 1000 random values of 160 bits and 256 bits were generated, respectively. For all experiments, 1000 randomly generated values were used. Table 2
Figure 112014032257389-pat00156
Table 2 shows the results of the Eb curve scalar multiplication < RTI ID = 0.0 >
Figure 112014032257389-pat00157
And {2, 3, 5} triple-base-chain scalar multiplication.

max2max2 max3max3 max5max5 항 수Number 도 2의 연산량2, 도 9의 연산량9, 160160 103103 6969 30.8430.84 1655[m]1655 [m] 1582[m]1582 [m] 100100 8585 4545 32.5632.56 1704[m]1704 [m] 1623[m]1623 [m] 9090 7575 3535 32.9032.90 1701[m]1701 [m] 1622[m]1622 [m] 8585 6060 2525 32.7832.78 1686[m]1686 [m] 1616[m]1616 [m] 8585 3838 1818 31.6131.61 1636[m]1636 [m] 1571[m]1571 [m]

max2max2 max3max3 max5max5 항 수Number 도 2의 연산량2, 도 9의 연산량9, 256256 161161 110110 47.6847.68 2658[m]2658 [m] 2539[m]2539 [m] 160160 103103 6969 52.6652.66 2764[m]2764 [m] 2618[m]2618 [m] 120120 5050 2525 50.0550.05 2648[m]2648 [m] 2539[m]2539 [m]

표 2를 보면 max2 = 85, max3 = 38, max5 = 18 일 때, 트리플-베이스 체인 스칼라 곱셈 연산이 가장 효율적으로 수행된다. 표 3에서 가장 효율적인 연산은 max2 = 120, max3 = 50, max5 = 25이다. 연산량만 비교하면 max2 = 256, max3 = 161, max5 = 110과 동일하다. 하지만 정수

Figure 112014032257389-pat00158
를 {2,3,5} 트리플-베이스로 나타내는 시간을 고려한다면 max2 = 120, max3 = 50, max5 = 25가 더 효율적이다. 그러므로, 본 발명에서 제안하는 방법으로 트리플-베이스 체인 스칼라 곱셈 연산을 수행하면 기존의 트리플-베이스 체인 스칼라 곱셈보다 4∼6% 효율성이 증가한다. Table 2 shows that triple-base-chain scalar multiplication is most efficient when max2 = 85, max3 = 38, max5 = 18. The most efficient operations in Table 3 are max2 = 120, max3 = 50, max5 = 25. Comparing only the computation amounts, it is equal to max2 = 256, max3 = 161 and max5 = 110. However,
Figure 112014032257389-pat00158
Max2 = 120, max3 = 50, max5 = 25 are more efficient considering the time represented by {2,3,5} triple-base. Thus, performing the triple-base-chain scalar multiplication operation in accordance with the method proposed by the present invention increases the efficiency by 4 to 6% compared with the existing triple-base-chain scalar multiplication.

본 발명에 따른 다른 실시예로

Figure 112014032257389-pat00159
연산을 수행할 때, 중복 연산을 이용하여 밑수의 연산 순서를 재배치하여 구현할 수 있다.
Figure 112014032257389-pat00160
연산을 비교하기 위해서 먼저
Figure 112014032257389-pat00161
,
Figure 112014032257389-pat00162
,
Figure 112014032257389-pat00163
연산에 대해 설명한다.
Figure 112014032257389-pat00164
연산은
Figure 112014032257389-pat00165
연산 후
Figure 112014032257389-pat00166
연산을 하는 것으로 중복 연산이 발생한다. 도 8을 보면
Figure 112014032257389-pat00167
이다.
Figure 112014032257389-pat00168
,
Figure 112014032257389-pat00169
Figure 112014032257389-pat00170
연산을 수행할 때 계산된다. 따라서
Figure 112014032257389-pat00171
연산에는
Figure 112014032257389-pat00172
연산이 필요하지 않다. 그래서
Figure 112014032257389-pat00173
의 총 연산량은
Figure 112014032257389-pat00174
이다. In another embodiment according to the present invention
Figure 112014032257389-pat00159
When performing an operation, it is possible to implement by rearranging the operation order of the base by using redundant operation.
Figure 112014032257389-pat00160
To compare operations,
Figure 112014032257389-pat00161
,
Figure 112014032257389-pat00162
,
Figure 112014032257389-pat00163
The operation will be described.
Figure 112014032257389-pat00164
The operation
Figure 112014032257389-pat00165
After calculation
Figure 112014032257389-pat00166
Duplicate operation occurs by performing an operation. 8,
Figure 112014032257389-pat00167
to be.
Figure 112014032257389-pat00168
,
Figure 112014032257389-pat00169
The
Figure 112014032257389-pat00170
Calculated when performing an operation. therefore
Figure 112014032257389-pat00171
The operation
Figure 112014032257389-pat00172
No computation is required. so
Figure 112014032257389-pat00173
The total amount of computation
Figure 112014032257389-pat00174
to be.

표 4는

Figure 112014032257389-pat00175
,
Figure 112014032257389-pat00176
,
Figure 112014032257389-pat00177
연산량을 정리한 것이다.
Figure 112014032257389-pat00178
,
Figure 112014032257389-pat00179
,
Figure 112014032257389-pat00180
연산량도 중복 연산을 고려하여 정리하면 표 5와 같다. Table 4
Figure 112014032257389-pat00175
,
Figure 112014032257389-pat00176
,
Figure 112014032257389-pat00177
The computation is summarized.
Figure 112014032257389-pat00178
,
Figure 112014032257389-pat00179
,
Figure 112014032257389-pat00180
Table 5 shows the computational complexity considering the redundant operation.

구분division 중복 연산Duplicate operation 총 연산량Total operation amount

Figure 112014032257389-pat00181
Figure 112014032257389-pat00181
Figure 112014032257389-pat00182
Figure 112014032257389-pat00182
Figure 112014032257389-pat00183
Figure 112014032257389-pat00183
Figure 112014032257389-pat00184
Figure 112014032257389-pat00184
Figure 112014032257389-pat00185
Figure 112014032257389-pat00185
Figure 112014032257389-pat00186
Figure 112014032257389-pat00186
Figure 112014032257389-pat00187
Figure 112014032257389-pat00187
--
Figure 112014032257389-pat00188
Figure 112014032257389-pat00188

구분division

Figure 112014032257389-pat00189
Figure 112014032257389-pat00189
Figure 112014032257389-pat00190
Figure 112014032257389-pat00190
Figure 112014032257389-pat00191
Figure 112014032257389-pat00191
연산량Operation amount
Figure 112014032257389-pat00192
Figure 112014032257389-pat00192
Figure 112014032257389-pat00193
Figure 112014032257389-pat00193
Figure 112014032257389-pat00194
Figure 112014032257389-pat00194

{2,3,5} 트리플-베이스 체인에서 밑수 순서 변화에 따른

Figure 112014032257389-pat00195
연산량을 정리하면, 표 6은
Figure 112014032257389-pat00196
연산량, 표 7은
Figure 112014032257389-pat00197
연산량, 표 8은
Figure 112014032257389-pat00198
연산량에 관한 것이다. {2,3,5} triple-based chain change in base chain
Figure 112014032257389-pat00195
Table 6 summarizes the computational complexity.
Figure 112014032257389-pat00196
The amount of computation, Table 7,
Figure 112014032257389-pat00197
The amount of computation, Table 8
Figure 112014032257389-pat00198
.

구분division 연산량Operation amount

Figure 112014032257389-pat00199
Figure 112014032257389-pat00199
Figure 112014032257389-pat00200
Figure 112014032257389-pat00200
Figure 112014032257389-pat00201
Figure 112014032257389-pat00201
Figure 112014032257389-pat00202
Figure 112014032257389-pat00202
Figure 112014032257389-pat00203
Figure 112014032257389-pat00203
Figure 112014032257389-pat00204
Figure 112014032257389-pat00204

구분division 연산량Operation amount

Figure 112014032257389-pat00205
Figure 112014032257389-pat00205
Figure 112014032257389-pat00206
Figure 112014032257389-pat00206
Figure 112014032257389-pat00207
Figure 112014032257389-pat00207
Figure 112014032257389-pat00208
Figure 112014032257389-pat00208
Figure 112014032257389-pat00209
Figure 112014032257389-pat00209
Figure 112014032257389-pat00210
Figure 112014032257389-pat00210

구분division 연산량Operation amount

Figure 112014032257389-pat00211
Figure 112014032257389-pat00211
Figure 112014032257389-pat00212
Figure 112014032257389-pat00212
Figure 112014032257389-pat00213
Figure 112014032257389-pat00213
Figure 112014032257389-pat00214
Figure 112014032257389-pat00214
Figure 112014032257389-pat00215
Figure 112014032257389-pat00215
Figure 112014032257389-pat00216
Figure 112014032257389-pat00216

1M = 0.8S 라 가정하고,

Figure 112014032257389-pat00217
,
Figure 112014032257389-pat00218
,
Figure 112014032257389-pat00219
연산량의 합을 비교해 보면,
Figure 112014032257389-pat00220
연산이 가장 효율성이 높다. 따라서
Figure 112014032257389-pat00221
연산도 밑수 순서를 2->3->5 로 재배치함으로서 연산 효율성이 높아지는 것을 확인할 수 있다. Assuming 1M = 0.8S,
Figure 112014032257389-pat00217
,
Figure 112014032257389-pat00218
,
Figure 112014032257389-pat00219
Comparing the sum of operations,
Figure 112014032257389-pat00220
Operation is the most efficient. therefore
Figure 112014032257389-pat00221
It can be seen that the computational efficiency is improved by rearranging the base order of the operations to 2->3->> 5.

도 10는 본 발명의 일 실시예에 따른 타원곡선암호를 위한 연산 장치(10)을 도시한 도면으로 입력부(11), 연산부(12) 및 출력부(13)을 포함한다. 10 illustrates an arithmetic unit 10 for elliptic curve cryptosystem according to an embodiment of the present invention. The arithmetic unit 10 includes an input unit 11, an arithmetic unit 12, and an output unit 13.

입력부(11)는 타원곡선상의 점

Figure 112014032257389-pat00222
를 표현하는 3차원 좌표값
Figure 112014032257389-pat00223
Figure 112014032257389-pat00224
(
Figure 112014032257389-pat00225
는 양의 정수)를 입력받는다. 이러한 입력부(11)는 전자적인 형태의 데이터를 수신할 수 있는 입력 장치로서 구현될 수 있으며, 필요에 따라 물리적인 인터페이스를 포함할 수 있다.The input unit 11 receives points on the elliptic curve
Figure 112014032257389-pat00222
A three-dimensional coordinate value
Figure 112014032257389-pat00223
And
Figure 112014032257389-pat00224
(
Figure 112014032257389-pat00225
Is a positive integer). The input unit 11 may be implemented as an input device capable of receiving electronic data, and may include a physical interface as needed.

연산부(12)는 본 발명의 실시예들이 제안하는 정수

Figure 112014032257389-pat00226
를 {2,3,5} 밑수로 재표현하고, {2,3,5} 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈 연산식 내에 존재하는 중복 연산 활용이 가능한 연산을 추출하고, 상기 추출된 중복 연산 활용이 가능한 연산을 이용하여 상기 타원곡선 스칼라 곱셈 연산식을 변형하고, 상기 점
Figure 112014032257389-pat00227
에 대하여 상기 변형된 타원곡선 스칼라 곱셈 연산식을 사용하여 타원곡선 스칼라 곱셈
Figure 112014032257389-pat00228
를 수행하여 결과값을 산출한다. The arithmetic operation unit 12 is an integer that is proposed by embodiments of the present invention
Figure 112014032257389-pat00226
Is expressed as a base of {2,3,5}, an operation that can utilize the redundant operation existing in the {2,3,5} triple-base chain-based elliptic curve scalar multiplication expression is extracted, and the extracted redundant operation Modifies the elliptic curve scalar multiplication operation expression by using an operable operation,
Figure 112014032257389-pat00227
Using the modified elliptic curve scalar multiplication equation for the elliptic curve scalar multiplication < RTI ID = 0.0 >
Figure 112014032257389-pat00228
To calculate the resultant value.

본 실시예의 연산 장치를 하드웨어로 구현함에 있어서, 연산부(12)는 열거된 연산을 수행하기 위한 모듈러 곱셈기(modular multiplier), 모듈러 덧셈기(adder) 및 뺄셈기(subtracter)의 조합으로 구현될 수 있다. 이러한 하드웨어 설계는 본 발명이 속하는 기술분야에서 회로 설계에 관한 통상의 지식을 가진 자에 의해 구현가능한 것이다. In implementing the arithmetic unit of the present embodiment in hardware, the arithmetic unit 12 may be implemented by a combination of a modular multiplier, a modular adder, and a subtractor for performing the arithmetic operations. Such a hardware design can be implemented by a person having ordinary skill in circuit design in the technical field to which the present invention belongs.

출력부(13)는 연산부(12)를 통해 산출된 스칼라 곱셈 결과값을 출력한다. 이러한 출력부(13)는 전자적인 형태로 가공된 데이터를 출력할 수 있는 출력 장치로서 구현될 수 있으며, 필요에 따라 물리적인 인터페이스를 포함할 수 있다. The output unit 13 outputs the scalar multiplication result value calculated through the arithmetic unit 12. The output unit 13 may be implemented as an output device capable of outputting data processed in an electronic form, and may include a physical interface as needed.

상기된 본 발명의 실시예에 따르면 스칼라 곱셈 연산 과정에 상대적으로 적은 수의 연산이 필요하게 되고, 그로 인해 그 수행 속도가 향상되며, 적은 시스템 자원만으로도 타원곡선 암호화 시스템을 구현하는 것이 가능하다.According to the above-described embodiment of the present invention, a relatively small number of operations are required in the scalar multiplication operation, thereby improving the execution speed, and it is possible to implement an elliptic curve encryption system with only a small amount of system resources.

한편, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다.컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The present invention can be embodied in computer readable code on a computer readable recording medium. The computer readable recording medium may be any type of recording apparatus for storing data that can be read by a computer system, .

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also a carrier wave (for example, transmission via the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

10 : 타원곡선 스칼라 곱셈 연산 장치
11 : 입력부
12 : 연산부
13 : 출력부
10: Elliptic Curve Scalar Multiplier
11: Input unit
12:
13: Output section

Claims (9)

{2,3,5} 트리플-베이스 체인(Triple-Base Chain) 기반 타원곡선 스칼라 곱셈(scalar multiplication)에 있어서,
입력 모듈이 타원곡선상의 점
Figure 112014032257389-pat00229
를 표현하는 3차원 좌표값
Figure 112014032257389-pat00230
Figure 112014032257389-pat00231
(
Figure 112014032257389-pat00232
는 양의 정수)를 입력받는 단계;
연산 모듈이 상기
Figure 112014032257389-pat00233
를 {2,3,5} 밑수(Base)로 재표현하는 단계;
상기 연산 모듈이 상기 타원곡선 스칼라 곱셈 연산식 내에 존재하는 중복 연산 활용이 가능한 연산을 추출하고, 상기 추출된 중복 연산 활용이 가능한 연산을 이용하여 상기 타원곡선 스칼라 곱셈 연산식을 변형하는 단계;
상기 연산 모듈이 상기 점
Figure 112014032257389-pat00234
에 대하여 상기 변형된 타원곡선 스칼라 곱셈 연산식을 사용하여 타원곡선 스칼라 곱셈
Figure 112014032257389-pat00235
를 수행하는 단계; 및
출력 모듈이 상기 수행된 타원곡선 스칼라 곱셈 결과값을 출력하는 단계;를 포함하는 타원곡선 스칼라 곱셈을 위한 연산 방법.
{2,3,5} Triple-Base Chain Based Elliptic Curve Scalar multiplication,
If the input module is a point on an elliptic curve
Figure 112014032257389-pat00229
A three-dimensional coordinate value
Figure 112014032257389-pat00230
And
Figure 112014032257389-pat00231
(
Figure 112014032257389-pat00232
Receiving a positive integer;
When the operation module
Figure 112014032257389-pat00233
To {2,3,5} base (Base);
Extracting an operation that can be performed by the operation module existing in the elliptic curve scalar multiplication operation expression and transforming the elliptic curve scalar multiplication operation expression using an operation capable of utilizing the redundant operation;
The operation module
Figure 112014032257389-pat00234
Using the modified elliptic curve scalar multiplication equation for the elliptic curve scalar multiplication < RTI ID = 0.0 >
Figure 112014032257389-pat00235
; And
And outputting the result of the elliptic curve scalar multiplication performed by the output module.
제 1 항에 있어서,
상기 타원곡선 스칼라 곱셈 연산식을 변형하는 단계는, 선 계산된 연산을 이용하여 상기 중복 연산 활용이 가능한 연산을 다른 연산으로 대체하는 것을 특징으로 하는 타원곡선 스칼라 곱셈을 위한 연산 방법.
The method according to claim 1,
Wherein transforming the elliptic curve scalar multiplication expression is performed by replacing an operation that can utilize the redundant operation with another operation using a pre-calculated operation.
제 1 항에 있어서,
상기 연산 모듈이 밑수(Base) 연산 순서를 재배치(reordering)하는 단계를 더 포함하는 타원곡선 스칼라 곱셈을 위한 연산 방법.
The method according to claim 1,
Further comprising the step of reordering a base operation sequence of the operation module.
제 3 항에 있어서,
상기 재배치된 밑수 연산 순서는 2->3->5인 것을 특징으로 하는 타원곡선 스칼라 곱셈을 위한 연산 방법.
The method of claim 3,
Wherein the rearranged base arithmetic operation sequence is 2 > 3- > 5. 2. The arithmetic operation method for an elliptic curve scalar multiplication according to claim 1,
제 1 항 내지 제 4 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 4. 타원곡선상의 점
Figure 112014032257389-pat00236
를 표현하는 3차원 좌표값
Figure 112014032257389-pat00237
Figure 112014032257389-pat00238
(
Figure 112014032257389-pat00239
는 양의 정수)를 입력받는 입력부;
상기 k를 {2,3,5} 밑수(Base)로 재표현하고, {2,3,5} 트리플-베이스 체인(Triple-Base Chain) 기반 타원곡선 스칼라 곱셈 연산식 내에 존재하는 중복 연산 활용이 가능한 연산을 추출하고, 상기 추출된 중복 연산 활용이 가능한 연산을 이용하여 상기 타원곡선 스칼라 곱셈 연산식을 변형하고, 상기 점
Figure 112014032257389-pat00240
에 대하여 상기 변형된 타원곡선 스칼라 곱셈 연산식을 사용하여 타원곡선 스칼라 곱셈
Figure 112014032257389-pat00241
를 수행하는 연산부; 및
상기 수행된 타원곡선 스칼라 곱셈 결과값을 출력하는 출력부를 포함하는 타원곡선 스칼라 곱셈을 위한 연산 장치.
Point on an elliptic curve
Figure 112014032257389-pat00236
A three-dimensional coordinate value
Figure 112014032257389-pat00237
And
Figure 112014032257389-pat00238
(
Figure 112014032257389-pat00239
A positive integer);
We re-express the k as {2,3,5} base and use the redundant operations in the {2,3,5} triple-base chain based elliptic curve scalar multiplication expression Extracts possible arithmetic operations, modifies the elliptic curve scalar multiplication arithmetic expression using an operation capable of utilizing the extracted redundant arithmetic,
Figure 112014032257389-pat00240
Using the modified elliptic curve scalar multiplication equation for the elliptic curve scalar multiplication < RTI ID = 0.0 >
Figure 112014032257389-pat00241
; And
And an output unit for outputting the result of performing the elliptic curve scalar multiplication.
제 6 항에 있어서,
상기 연산부는 선 계산된 연산을 이용하여 상기 중복 연산 활용이 가능한 연산을 다른 연산으로 대체하여 상기 타원곡선 스칼라 곱셈 연산식을 변형하는 것을 특징으로 하는 타원곡선 스칼라 곱셈을 위한 연산 장치.
The method according to claim 6,
Wherein the arithmetic unit replaces the arithmetic operation that can utilize the redundant arithmetic operation with another arithmetic operation using the arithmetic operation, thereby modifying the elliptic curve scalar multiplication arithmetic expression.
제 6 항에 있어서,
상기 연산부는 밑수(Base) 연산 순서를 재배치(reordering)하는 것을 더 포함하는 타원곡선 스칼라 곱셈을 위한 연산 장치.
The method according to claim 6,
Wherein the arithmetic unit further comprises reordering a base arithmetic operation sequence for an elliptic curve scalar multiplication.
제 8 항에 있어서,
상기 재배치된 밑수 연산 순서는 2->3->5인 것을 특징으로 하는 타원곡선 스칼라 곱셈을 위한 연산 장치.
9. The method of claim 8,
Wherein the rearranged base arithmetic operation sequence is 2 > 3- > 5. 2. The arithmetic apparatus for an elliptic curve scalar multiplication according to claim 1,
KR1020140040091A 2014-04-03 2014-04-03 Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering KR101524661B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140040091A KR101524661B1 (en) 2014-04-03 2014-04-03 Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140040091A KR101524661B1 (en) 2014-04-03 2014-04-03 Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering

Publications (1)

Publication Number Publication Date
KR101524661B1 true KR101524661B1 (en) 2015-06-03

Family

ID=53505180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140040091A KR101524661B1 (en) 2014-04-03 2014-04-03 Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering

Country Status (1)

Country Link
KR (1) KR101524661B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100502071B1 (en) * 2002-12-16 2005-07-25 한국전자통신연구원 High-performance elliptic curve crypto processor
KR101019242B1 (en) * 2009-02-27 2011-03-04 고려대학교 산학협력단 Method for scalar multiplication using extended montgomery ladder
JP2012185517A (en) * 2005-11-03 2012-09-27 Certicom Corp Simultaneous scalar multiplication method
KR101233682B1 (en) * 2010-09-15 2013-02-15 고려대학교 산학협력단 Calculating apparatus and method for elliptic curve cryptography

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100502071B1 (en) * 2002-12-16 2005-07-25 한국전자통신연구원 High-performance elliptic curve crypto processor
JP2012185517A (en) * 2005-11-03 2012-09-27 Certicom Corp Simultaneous scalar multiplication method
KR101019242B1 (en) * 2009-02-27 2011-03-04 고려대학교 산학협력단 Method for scalar multiplication using extended montgomery ladder
KR101233682B1 (en) * 2010-09-15 2013-02-15 고려대학교 산학협력단 Calculating apparatus and method for elliptic curve cryptography

Similar Documents

Publication Publication Date Title
KR101992270B1 (en) Method and device for generating digital signature
Bernstein et al. Curve41417: Karatsuba revisited
US7908641B2 (en) Modular exponentiation with randomized exponent
US8862651B2 (en) Method and apparatus for modulus reduction
Renes et al. qDSA: small and secure digital signatures with curve-based Diffie–Hellman key pairs
CN109145616B (en) SM2 encryption, signature and key exchange implementation method and system based on efficient modular multiplication
US9148282B2 (en) Method to calculate square roots for elliptic curve cryptography
KR101223498B1 (en) Method for generating public key in elliptic curve cryptography and system for executing the method
CN104506316A (en) Point multiplication operation method based on SM2 base points
US10057064B2 (en) Computational method, computational device and computer software product for montgomery domain
KR101524661B1 (en) Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering
KR101925614B1 (en) Method for processing scalar multiplication in elliptic curve cryptosystem, and elliptic curve cryptosystem
KR101626743B1 (en) Multiplier and multiplication method using Montgomery algorithm over finite fields
KR100974624B1 (en) Method and Apparatus of elliptic curve cryptography processing in sensor mote and Recording medium using it
US9473176B2 (en) Implementation of log and inverse operation in a Galois Field
Akleylek et al. Efficient interleaved Montgomery modular multiplication for lattice-based cryptography
KR102507861B1 (en) Apparatus and method for performing operation being secure against side channel attack
EP2738670A2 (en) Method of performing multiplication operation in binary extension finite field
KR101541157B1 (en) Method for multiplying operation of binary extension finite field
Lv et al. Optimal implementation of elliptic curve cryptography
KR101213395B1 (en) Method of computing cube roots for pairing computations
EP2816465B1 (en) Method to calculate square roots for elliptic curve cryptography
SRIVALLI et al. High Speed Realization of Wallace Multiplier Based FFT Architecture
CN116846557A (en) Data encryption method, device, computer equipment and storage medium
US8363825B1 (en) Device for and method of collision-free hashing for near-match inputs

Legal Events

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

Payment date: 20180406

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190411

Year of fee payment: 5