KR101707334B1 - Apparatus for efficient elliptic curve cryptography processor and method for the same - Google Patents

Apparatus for efficient elliptic curve cryptography processor and method for the same Download PDF

Info

Publication number
KR101707334B1
KR101707334B1 KR1020150154992A KR20150154992A KR101707334B1 KR 101707334 B1 KR101707334 B1 KR 101707334B1 KR 1020150154992 A KR1020150154992 A KR 1020150154992A KR 20150154992 A KR20150154992 A KR 20150154992A KR 101707334 B1 KR101707334 B1 KR 101707334B1
Authority
KR
South Korea
Prior art keywords
point
scalar
elliptic curve
multiplier
value
Prior art date
Application number
KR1020150154992A
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 KR1020150154992A priority Critical patent/KR101707334B1/en
Application granted granted Critical
Publication of KR101707334B1 publication Critical patent/KR101707334B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves

Landscapes

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

Abstract

The present invention relates to a method and an apparatus for elliptic curve cryptography reducing unnecessary point addition operations based on corrected Lopez-Dahab and Left-To-Right algorithms. The method for elliptic curve cryptography according to an embodiment includes: a step of converting a point on an affine coordinate elliptic curve to projective coordinates; a step of executing scalar point multiplication operation on the point on the projective coordinates; a step of adjusting the fulfillment value obtained from the scalar point multiplication operation by comparison to a value obtained from Lopez-Dahab algorithm scalar point multiplication operation; a step of obtaining a result value by converting the adjusted fulfillment value to the affine coordinates on the projective coordinates; and a step of calculating an encrypted password value based on the result value obtained from the conversion to the affine coordinates.

Description

효율적인 타원곡선 암호화 연산 장치 및 그 방법{APPARATUS FOR EFFICIENT ELLIPTIC CURVE CRYPTOGRAPHY PROCESSOR AND METHOD FOR THE SAME}[0001] APPARATUS FOR EFFICIENT ELLIPTIC CURVE CRYPTOGRAPHY PROCESSOR AND METHOD FOR THE SAME [0002]

아래의 설명은 타원곡선을 이용한 암호를 위한 효율적인 연산 장치 및 그 방법에 관한 것이다. 더욱 상세하게는 타원곡선 암호화를 위해 타원곡선 상에서 표현되는 점들에 대한 기하학적인 연산인 스칼라 포인트 곱셈을 처리하는 연산 장치 및 그 방법에 관한 것이다.
The following description relates to an efficient computation apparatus and method for encryption using elliptic curves. More particularly, to a computing device and method for processing scalar point multiplication, which is a geometric operation for points represented on an elliptic curve for elliptic curve encryption.

인터넷 및 무선통신이 성장함에 따라 정보 보호를 위한 암호 시스템의 필요성 또한 증가하고 있다. 통상적인 암호 시스템에서 송신자가 메시지의 의미를 알 수 있는 평문을 암호화하여 송신하게 되면, 수신자는 수신된 암호문을 다시 복호화하여 평문으로 복원하게 된다. 이러한 암호화 및 복호화 과정에서 사용되는 일정한 규칙 내지 방법을 암호화 키(Key)라고 한다. As Internet and wireless communications grow, the need for cryptographic systems to protect information is also increasing. In a typical cryptosystem, when a sender enciphers a plaintext to know the meaning of a message and transmits the plaintext, the recipient decrypts the received ciphertext again and restores the plaintext. A certain rule or method used in the encryption and decryption process is called an encryption key.

키는 암호화 과정에서 사용되는 암호키와 복호화 과정에서 사용되는 복호키가 동일한 대칭 암호키(Symmetric Cipher Key)와 암호키와 복호키가 다른 비대칭 암호키(Asymmetric Cipher Key)로 구분될 수 있다. 암호 시스템들 중 타원곡선 암호화 시스템(Elliptic Curve Cryptosystem, ECC)이 최근 학계나 산업계로부터 많은 관심을 모으고 있다. ECC는 공개 키 암호 시스템으로서 데이터의 암호화에는 공개 키가 사용되고 복호화에는 비밀 키가 사용되는 암호시스템으로서, 타원곡선이라 불리는 수학적 객체 상에서 정의되는 특수한 가산법을 기반으로 하여 암호화/복호화를 구현하는 암호 시스템이다. ECC의 장점은 RSA(Rivest Shamir Adleman)와 같은 기존의 다른 암호 시스템들에 비해 현저히 작은 크기의 키를 사용하면서도 동일한 안전도를 가진다는 점이다.The key may be divided into a symmetric cipher key having the same encryption key used in the encryption process and a decryption key used in the decryption process, and an asymmetric cipher key having a different encryption key and decryption key. Of the cryptographic systems, the elliptic curve cryptosystem (ECC) has recently attracted a great deal of attention from academia and industry. ECC is a public key cryptosystem that uses a public key for data encryption and a secret key for decryption. It is a cryptographic system that implements encryption / decryption based on a special addition method defined on a mathematical object called an elliptic curve to be. The advantage of ECC is that it uses a significantly smaller key compared to other cryptographic systems such as RSA (Rivest Shamir Adleman), but has the same security.

유한체(Galois Field, GF)상의 타원곡선은 수학식1을 만족하는 해들의 집합이다.The elliptic curve on the Galois Field (GF) is a set of solutions satisfying Equation (1).

수학식 1:Equation 1:

Figure 112015107723695-pat00001
Figure 112015107723695-pat00001

타원곡선 상에서의 연산 결과 Q는 타원곡선 상의 점 P와 스칼라 값 k의 스칼라 포인트 곱셈에 의해 수행된다. 이진 유한체 GF()상에서 m-bit의 크기를 갖는 스칼라 값 k는 수학식2와 같이 표현가능 하다.The operation result Q on the elliptic curve is performed by scalar point multiplication of the point P on the elliptic curve and the scalar value k. The scalar value k having the size of m-bits on the binary finite field GF () can be expressed by Equation (2).

수학식 2:Equation 2:

Figure 112015107723695-pat00002
Figure 112015107723695-pat00002

스칼라 포인트 곱셈의 결과인 Q는 수학식3과 같이 표현할 수 있다.The result Q of the scalar point multiplication can be expressed by Equation (3).

수학식 3:Equation (3)

Figure 112015107723695-pat00003
Figure 112015107723695-pat00003

포인트 곱셈 연산을 계산하기 위한 세 가지 주요 단계는 다음과 같다.The three main steps for calculating a point multiply operation are as follows.

(1) 점 P를 아핀 좌표(Affine Coordinate)에서 투영 좌표(Projective Coordinate)로 변환한다.(1) Converts point P from Affine Coordinate to Projective Coordinate.

(2) 투영 좌표 상에서 Q=kP를 계산한다.(2) Calculate Q = kP on the projection coordinates.

(3) 점 Q를 투영 좌표에서 아핀 좌표로 변환한다.(3) Converts point Q from projected coordinates to affine coordinates.

유한체를 이용한 연산에는 곱셈, 제곱연산, 덧셈, 뺄셈, 반전이 있다. 덧셈, 뺄셈 연산은 XOR(exclusive OR)연산을 통해 계산할 수 있다. 이진 유한체 GF()의 원소인 다항식을 a(x), b(x)라고 하여 수학식4와 같이 나타낼 수 있다.There are multiplication, squaring, addition, subtraction, and inversion in the finite field operation. Addition and subtraction operations can be calculated using an exclusive OR (XOR) operation. The polynomials of the elements of the binary finite field GF () can be expressed as Equation (4) as a (x) and b (x).

수학식 4:Equation 4:

Figure 112015107723695-pat00004
Figure 112015107723695-pat00004

이진 유한체 GF()의 원소인 다항식을 수학식4와 같이 a(x), b(x)라고 할 때, 유한체의 곱셈 연산은 수학식5과 같이 나타낼 수 있다. 이때, 사용된 연산은 부분합 과 기약다항식 f(x)의 modulo연산이다.When a polynomial, which is an element of the binary finite field GF (), is a (x) and b (x) as shown in Equation (4), the multiplication operation of the finite field can be expressed as Equation (5). At this time, the computation used is a modulo operation of the subtotal and irreducible polynomial f (x).

수학식 5:Equation 5:

Figure 112015107723695-pat00005
Figure 112015107723695-pat00005

흔히 사용되는 유한체 곱셈 연산으로는 Digit-Serial 곱셈연산과 Bit-Serial 곱셈연산이 있다. Digit-Serial 곱셈연산은 시스템의 지연을 줄이기 위해 사용되지만 하드웨어의 복잡도가 증가하는 반면, Bit-Serial 곱셈연산은 하드웨어의 복잡도는 줄어들지만 시스템의 지연이 증가하는 특징을 가지고 있다.Commonly used finite-field multiplication operations are Digit-Serial multiplication and Bit-Serial multiplication. Although the Digit-Serial multiplication operation is used to reduce the system delay, the complexity of the hardware increases, while the bit-serial multiplication operation has the feature that the hardware complexity decreases but the system delay increases.

제곱연산은 같은 입력을 이용하여 곱셈연산을 수행한 것과 같다. Lopez-Dahab 알고리즘은 ECC에 있어서 타원곡선 상에 존재하는 점들의 스칼라 포인트 곱셈 연산을 수행할 때 사용하는 알고리즘이다.The squaring operation is the same as performing the multiplication operation using the same input. The Lopez-Dahab algorithm is an algorithm used in ECC to perform scalar point multiplication of points on elliptic curves.

Motgomery Ladder Method는 Lopez-Dahab 알고리즘을 이용해 타원곡선 상의 스칼라 포인트 곱셈 연산을 할 때 가장 흔히 사용하는 알고리즘으로 아핀 좌표뿐만 아니라 투영 좌표에서도 연산이 가능하다.The Motgomery Ladder Method is the most commonly used algorithm for scalar point multiplication on an elliptic curve using the Lopez-Dahab algorithm. It can be operated on projected coordinates as well as affine coordinates.

하기의 표 1은 Montgomery Ladder Method 곱셈 연산 과정의 의사코드를 도시한다.Table 1 below shows the pseudo code of the Montgomery Ladder Method multiplication operation process.

표 1:Table 1:

Figure 112015107723695-pat00006
Figure 112015107723695-pat00006

이러한 연산을 수행하기 위해서는 포인트 덧셈 연산과 포인트 두 배 연산이 효율적으로 결합되어야 한다.To perform such an operation, the point addition operation and the point double operation must be efficiently combined.

Figure 112015107723695-pat00007
,
Figure 112015107723695-pat00008
가 타원곡선 위의 두 점이라고 할 때, 점 A와 B의 x좌표의 합인
Figure 112015107723695-pat00009
Figure 112015107723695-pat00010
는 수학식6과 같이 표현 가능하다.point
Figure 112015107723695-pat00007
,
Figure 112015107723695-pat00008
Is the two points on the elliptic curve, it is the sum of the x-coordinates of the points A and B
Figure 112015107723695-pat00009
Wow
Figure 112015107723695-pat00010
Can be expressed by Equation (6).

수학식 6:Equation (6)

Figure 112015107723695-pat00011
Figure 112015107723695-pat00011

투영 좌표를 사용하여

Figure 112015107723695-pat00012
Figure 112015107723695-pat00013
,
Figure 112015107723695-pat00014
로 다시 표현하면 수학식6은 수학식7로 표현할 수 있다.Using projection coordinates
Figure 112015107723695-pat00012
To
Figure 112015107723695-pat00013
,
Figure 112015107723695-pat00014
Expression (6) can be expressed by Equation (7).

수학식 7:Equation (7)

Figure 112015107723695-pat00015
Figure 112015107723695-pat00015

수학식7과 같이 새롭게 표현된 좌표와 Left-To-Right 알고리즘을 이용하여 스칼라 포인트 곱셈 연산을 수행한다.The scalar point multiply operation is performed using the newly expressed coordinates and the Left-To-Right algorithm as shown in Equation (7).

하기의 표 2는 Left-To-Right 곱셈 연산 과정의 의사코드를 도시한다.Table 2 below shows the pseudo code of the left-to-right multiplication operation.

표 2:Table 2:

Figure 112015107723695-pat00016

Figure 112015107723695-pat00016

실시예들은 타원곡선 암호화 장치 설계에 있어 종래의 Lopez-Dahab 알고리즘과 Left-To-Right 알고리즘을 개선하여 새로운 효율적인 Lopez-Dahab, Left-To-Right 알고리즘을 제안하고, 제안한 알고리즘을 이용하여 불필요한 반복을 줄여 낮은 하드웨어 복잡도를 가지는 효율적인 타원곡선 암호화 장치 및 그 방법을 제공한다. The embodiments propose a new efficient Lopez-Dahab and Left-To-Right algorithm by improving the conventional Lopez-Dahab algorithm and the left-to-right algorithm in designing an elliptic curve cryptosystem device. And provides an efficient elliptic curve encryption apparatus and method therefor with low hardware complexity.

실시예들은 Bit-Serial 구조의 스칼라 포인트 곱셈기를 사용하고 필드 연산을 제어하는 제어신호를 사용하여 적은 수준의 하드웨어 복잡도를 갖는 타원곡선 암호화 장치를 제공한다.
Embodiments provide a elliptic curve encryption device having a low level of hardware complexity using a control signal for controlling a field operation by using a scalar point multiplier of Bit-Serial structure.

일 실시예에 따르면, 타원곡선 암호화 방법은, 아핀 좌표에서 타원곡선 상의 점을 투영 좌표로 변환하는 단계; 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계; 상기 스칼라 포인트 곱셈 연산을 수행한 수행값을 Lopez-Dahab 알고리즘의 스칼라 포인트 곱셈 연산을 통하여 획득한 값과 비교하여 조정하는 단계; 상기 조정된 수행값을 상기 투영 좌표에서 상기 아핀 좌표로 변환함에 따라 결과값을 획득하는 단계; 및 상기 아핀 좌표로 변환함에 따라 획득된 결과값을 기반으로 암호화된 암호값를 산출하는 단계를 포함할 수 있다.According to one embodiment, an elliptic curve encryption method comprises: converting a point on an elliptic curve to projection coordinates in affine coordinates; Performing a scalar point multiply operation on the point on the projection coordinate; Comparing the performance value obtained by performing the scalar point multiplication operation with a value obtained through a scalar point multiply operation of the Lopez-Dahab algorithm; Acquiring a result value by converting the adjusted performance value from the projection coordinate to the affine coordinate; And calculating an encrypted encryption value based on the obtained result by transforming to affine coordinates.

일측에 따르면, 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는, 수정된 Lopez-Dahab알고리즘, Left-To-Right알고리즘이 사용되어 스칼라 포인트 덧셈 연산을 줄임으로써 상기 스칼라 포인트 곱셈 연산의 수행 시간을 감소시키는 단계를 포함할 수 있다.According to one aspect, performing a scalar point multiply operation on the point on the projection coordinate may include using a modified Lopez-Dahab algorithm and a Left-To-Right algorithm to reduce the scalar point addition operation, Lt; RTI ID = 0.0 > a < / RTI >

또 다른 일측에 따르면, 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는, 키의 비트값에 기초하여 상기 투영 좌표 상에서 상기 스칼라 포인트 덧셈 연산과 상기 스칼라 포인트 곱셈 연산이 결정되는 단계를 포함할 수 있다.According to another aspect, performing a scalar point multiply operation on the point on the projection coordinate may include determining the scalar point addition operation and the scalar point multiply operation on the projection coordinate based on a bit value of the key . ≪ / RTI >

또 다른 일측에 따르면, 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는, 상기 키의 비트값이 0일 경우, 4번의 필드 제곱 연산과 1번의 필드 덧셈 연산 및 1번의 필드 곱셈 연산을 수행하는 포인트 두 배 연산을 수행하고, 상기 키의 비트값이 1일 경우, 상기 포인트 두 배 연산을 수행한 뒤, 4번의 필드 곱셈 연산과 2번의 필드 덧셈 연산 및 1번의 필드 제곱 연산을 수행하는 포인트 덧셈 연산을 수행하는 단계를 포함할 수 있다.According to another aspect, performing a scalar point multiply operation on the point on the projection coordinate may include performing four field squaring operations, one field addition operation, and one field multiplication operation when the bit value of the key is zero Performing a double operation on a point performing the operation and performing a double operation on the point when the bit value of the key is 1 and then performing a field multiplication operation of 4 times and a field addition operation of 2 times and a field square operation of 1 And performing a point addition operation to perform a point addition operation.

또 다른 일측에 따르면, 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는, 상기 필드 곱셈 연산을 계산하기 위하여 Bit-Serial 구조를 갖는 필드 곱셈 연산기를 사용하는 단계를 포함할 수 있다.According to another aspect, performing the scalar point multiply operation on the point on the projection coordinate may include using a field multiply operator having a Bit-Serial structure to calculate the field multiply operation .

또 다른 일측에 따르면, 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는, 제1 곱셈기와 제2 곱셈기를 동시에 계산하고 제1 신호와 제2 신호를 통하여 제3 곱셈기 및 제4 곱셈기를 사용가능(Enable)상태로 전환하고, 상기 제3 곱셈기 및 상기 제4 곱셈기를 병렬로 계산하는 단계를 포함할 수 있다.According to another aspect, performing a scalar point multiply operation on the point on the projection coordinate may include calculating a first multiplier and a second multiplier simultaneously and outputting a third multiplier and a fourth multiplier through a first signal and a second signal, Turning the multiplier to an enabled state, and calculating the third multiplier and the fourth multiplier in parallel.

또 다른 일측에 따르면, 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는, 상기 제3 곱셈기 및 상기 제4 곱셈기의 출력값을 XOR 게이트를 통하여 XOR 연산을 수행하고, 상기 XOR 연산을 수행한 출력값을 다중화기와 제곱연산기를 통하여 수행값을 획득하는 단계를 포함할 수 있다.According to another aspect of the present invention, performing the scalar point multiply operation on the point on the projection coordinate may include performing an XOR operation on an output value of the third multiplier and the fourth multiplier through an XOR gate, And obtaining the execution value through the multiplexer and the squared calculator.

일 실시예에 따르면, 타원곡선 암호화 장치는, 아핀 좌표에서 타원곡선 상의 점을 투영 좌표로 변환하는 제1 변환부; 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 연산부; 상기 스칼라 포인트 곱셈 연산을 수행한 수행값을 Lopez-Dahab 알고리즘의 스칼라 포인트 곱셈 연산을 통하여 획득한 값과 비교하여 조정하는 조정부; 상기 조정된 수행값을 상기 투영 좌표에서 상기 아핀 좌표로 변환함에 따라 결과값을 획득하는 제2 변환부; 및 상기 아핀 좌표로 변환함에 따라 획득된 결과값을 기반으로 암호화된 암호값를 산출하는 획득부를 포함할 수 있다.
According to one embodiment, an elliptic curve encryption apparatus includes: a first conversion unit for converting a point on an elliptic curve to projection coordinates in affine coordinates; An operation unit for performing a scalar point multiply operation on the point on the projection coordinate system; An adjustment unit for comparing the performance value obtained by performing the scalar point multiplication operation with a value obtained through a scalar point multiply operation of the Lopez-Dahab algorithm; A second transform unit for transforming the adjusted performance value from the projection coordinate to the affine coordinate to obtain a result value; And an obtaining unit for calculating an encrypted value based on the result obtained by transforming to affine coordinates.

실시예들에 따르면, 타원곡선 암호화 장치 설계에 있어서 제안하는 알고리즘을 사용함으로써, 불필요한 스칼라 포인트 덧셈 연산을 줄일 수 있는 효율적인 타원곡선 암호화 장치 및 그 방법을 제공할 수 있다. According to embodiments, an efficient elliptic curve encryption apparatus and method can be provided that can reduce unnecessary scalar point addition operations by using an algorithm proposed in the design of an elliptic curve cryptosystem apparatus.

실시예들에 따르면, 타원곡선 암호화 장치 설계에 있어서 스칼라 포인트 곱셈 연산부에서 Bit-Serial 구조와 필드 연산 제어신호를 사용함으로써, 낮은 하드웨어 복잡도를 가지며 시스템의 지연을 줄일 수 있는 효율적인 타원곡선 암호화 장치 및 그 방법을 제공할 수 있다.
According to embodiments, an efficient elliptic curve encryption device having a low hardware complexity and reducing a system delay by using a bit-serial structure and a field operation control signal in a scalar point multiply operation unit in the design of an elliptic curve cryptosystem device, and Method can be provided.

도 1은 일 실시예에 따른 타원곡선 암호화 장치의 구성을 나타내는 도면이다.
도 2는 일 실시예에 따른 스칼라 포인트 곱셈 연산부를 나타내는 도면이다.
도 3은 일 실시예에 따른 필드 곱셈 연산부를 나타내는 도면이다.
도 4는 일 실시예에 따른 스칼라 포인트 곱셈 연산 방법의 흐름도를 나타내는 도면이다.
도 5는 일 실시예에 따른 타원곡선 암호화 장치의 구성을 나타낸 블록도이다.
1 is a block diagram illustrating a configuration of an elliptic curve encryption apparatus according to an embodiment of the present invention.
2 is a diagram illustrating a scalar point multiply operation unit according to an embodiment.
3 is a diagram illustrating a field multiplication operation unit according to an embodiment of the present invention.
4 is a flowchart illustrating a scalar point multiply operation method according to an embodiment of the present invention.
5 is a block diagram illustrating a configuration of an elliptic curve encryption apparatus according to an embodiment of the present invention.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

일 실시예에 따른 타원곡선 암호화 장치는 다양한 암호 시스템을 위한 타원곡선 암호화 장치에 동일하게 적용될 수 있다. 아래에서는 GF()의 크기를 갖는 이진 유한체를 기준으로 설명하기로 한다.The elliptic curve cryptosystem according to one embodiment can be equally applied to an elliptic curve cryptosystem for various cryptosystems. In the following, a binary finite element having a size of GF () will be described.

일 실시예에 따른 타원곡선 암호화 장치는 타원곡선 암호화 장치를 위한 알고리즘으로서 키의 길이가 163비트인 경우 최적화 된 낮은 하드웨어 복잡도를 가지는 수정된 Lopez-Dahab알고리즘, Left-To-Right알고리즘이 사용될 수 있다.The elliptic curve cryptosystem according to one embodiment is an algorithm for an elliptic curve cryptosystem, and a modified Lopez-Dahab algorithm and a left-to-right algorithm having optimized low hardware complexity can be used when the key length is 163 bits .

도 1은 일 실시예에 따른 타원곡선 암호화 장치의 구성을 나타내는 도면이다.1 is a block diagram illustrating a configuration of an elliptic curve encryption apparatus according to an embodiment of the present invention.

타원곡선 암호화 장치는 아핀 좌표에서 타원곡선 상의 점을 투영 좌표로 변환할 수 있다. 타원곡선 암호화 장치는 투영 좌표 상에서 점에 대한 스칼라 포인트 곱셈 연산을 수행할 수 있다. 타원곡선 암호화 장치는 스칼라 포인트 곱셈 연산을 수행한 수행값을 Lopez-Dahab 알고리즘의 스칼라 포인트 곱셈 연산을 통하여 획득한 값과 비교하여 조정할 수 있다. 타원곡선 암호화 장치는 조정된 수행값을 투영 좌표에서 아핀 좌표로 변환함에 따라 결과값을 획득할 수 있다. 타원곡선 암호화 장치는 아핀 좌표로 변환함에 따라 획득된 결과값을 기반으로 암호화된 암호값을 산출할 수 있다. An elliptic curve cryptographic device can convert a point on an elliptic curve to a projected coordinate in affine coordinates. An elliptic curve cryptographic device can perform a scalar point multiply operation on a point on a projection coordinate. The elliptic curve encryption device can adjust the performance value obtained by performing the scalar point multiply operation by comparing it with the value obtained through the scalar point multiply operation of the Lopez-Dahab algorithm. The elliptic curve cryptographic device can obtain the result by converting the adjusted performance value from projected coordinates to affine coordinates. The elliptic curve cryptographic device can calculate the encrypted cryptographic value based on the obtained result as it is converted into affine coordinates.

본 발명에서는 제안된 알고리즘을 사용하는 타원곡선 암호화 장치는 불필요한 스칼라 포인트 곱셈 연산을 줄임으로써, 효율적으로 연산을 수행한다.In the present invention, the elliptic curve cryptosystem using the proposed algorithm performs computation efficiently by reducing the unnecessary scalar point multiply operation.

하기의 표 3은 제안하는 알고리즘의 곱셈 연산 과정의 의사코드를 도시한다.Table 3 below shows the pseudo code of the multiplication operation of the proposed algorithm.

표 3:Table 3:

Figure 112015107723695-pat00017
Figure 112015107723695-pat00017

제안하는 알고리즘은 네 가지 단계를 거쳐 포인트 곱셈 연산을 수행한다.The proposed algorithm performs point multiplication operation through four steps.

(1) 타원곡선 상의 점 P를 아핀 좌표(Affine Coordinate)에서 투영 좌표(Projective Coordinate)로 변환한다.(1) Converts the point P on the elliptic curve from Affine Coordinate to Projective Coordinate.

(2) 투영 좌표 상에서 포인트 곱셈 연산을 수행한다.(2) Perform point multiplication operation on projection coordinates.

(3) Lopez-Dahab 알고리즘과 비교하여 정확한 값을 얻는다.(3) Obtain accurate values compared with the Lopez-Dahab algorithm.

(4) 투영 좌표에서 아핀 좌표로 변환하고 결과값 Q를 얻는다.(4) Transform from projection coordinate to affine coordinate and obtain result Q.

제안하는 수정된 Lopez-Dahab 알고리즘과 Left-To-Right 알고리즘은 스칼라 포인트 곱셈 연산을 수행함에 있어서 많은 수의 스칼라 포인트 덧셈 연산을 줄이는 장점을 갖는다.The proposed modified Lopez-Dahab algorithm and Left-To-Right algorithm have the advantage of reducing the number of scalar point addition operations in scalar point multiply operation.

제안하는 알고리즘의 첫 번째 단계에서 타원곡선 상의 점 P를 아핀 좌표에서 투영 좌표로 변환하고

Figure 112015107723695-pat00018
로 초기 값을 설정할 수 있다.
Figure 112015107723695-pat00019
Figure 112015107723695-pat00020
값은 키 값의 LSB인
Figure 112015107723695-pat00021
에 의해 결정될 수 있다.
Figure 112015107723695-pat00022
이면
Figure 112015107723695-pat00023
이고
Figure 112015107723695-pat00024
이면
Figure 112015107723695-pat00025
Figure 112015107723695-pat00026
은 0이다.In the first step of the proposed algorithm, the point P on the elliptic curve is transformed from affine coordinates to projection coordinates
Figure 112015107723695-pat00018
Can be set to the initial value.
Figure 112015107723695-pat00019
and
Figure 112015107723695-pat00020
The value is the LSB of the key value.
Figure 112015107723695-pat00021
Lt; / RTI >
Figure 112015107723695-pat00022
If
Figure 112015107723695-pat00023
ego
Figure 112015107723695-pat00024
If
Figure 112015107723695-pat00025
and
Figure 112015107723695-pat00026
Is zero.

투영 좌표 상에서 포인트 곱셈 연산을 수행하는 단계에서는, 이후 키의 비트 값인

Figure 112015107723695-pat00027
에 따라 투영 좌표 상에서 스칼라 포인트 덧셈 연산과 스칼라 포인트 곱셈 연산이 결정될 수 있다. 개선된 알고리즘에 의한 이 단계의 장점은 키의 비트 값인
Figure 112015107723695-pat00028
가 0일 경우 불필요한 스칼라 포인트 덧셈 연산을 줄일 수 있다. 그러므로 스칼라 포인트 곱셈 연산을 수행하는데 소요되는 시간이 확연히 줄어들게 된다.In performing the point multiply operation on the projection coordinates,
Figure 112015107723695-pat00027
A scalar point addition operation and a scalar point multiplication operation can be determined on the projection coordinate. The advantage of this step with the improved algorithm is that the bit value of the key
Figure 112015107723695-pat00028
Is 0, it is possible to reduce unnecessary scalar point addition operations. Therefore, the time required to perform the scalar point multiplication operation is significantly reduced.

표3에 나온 것과 같이 타원곡선 암호화 장치는 키의 비트 값이 0일 경우, 네 번의 필드 제곱 연산(

Figure 112015107723695-pat00029
)과 한 번의 필드 덧셈 연산(
Figure 112015107723695-pat00030
), 한 번의 필드 곱셈 연산(
Figure 112015107723695-pat00031
)을 수행하는 포인트 두 배 연산만을 수행할 수 있다. 타원곡선 암호화 장치는 키의 비트 값이 1일 경우 포인트 두 배 연산을 수행한 뒤, 네 번의 필드 곱셈 연산(
Figure 112015107723695-pat00032
)과 두 번의 필드 덧셈 연산(
Figure 112015107723695-pat00033
), 한 번의 필드 제곱 연산
Figure 112015107723695-pat00034
을 수행하는 포인트 덧셈 연산을 추가로 수행할 수 있다.As shown in Table 3, the elliptic curve cryptosystem can perform four field squared operations (
Figure 112015107723695-pat00029
) And one field addition operation (
Figure 112015107723695-pat00030
), One field multiplication operation
Figure 112015107723695-pat00031
). ≪ / RTI > An elliptic curve encryption device performs a double-point operation if the bit value of the key is 1, and then performs four field multiplication operations
Figure 112015107723695-pat00032
) And two field addition operations (
Figure 112015107723695-pat00033
), One field square operation
Figure 112015107723695-pat00034
A point addition operation can be performed.

타원곡선 암호화 장치는 모든 연산의 반복이 종료되면 점과 점에 대한 스칼라 포인트 곱셈 연산을 수행한 수행값

Figure 112015107723695-pat00035
값과 기존의 Lopez-Dahab 알고리즘의
Figure 112015107723695-pat00036
값 사이의 차이가 발생함을 판단할 수 있다. 타원곡선 암호화 장치는 기존의 Lopez-Dahab 알고리즘의 스칼라 포인트 곱셈 연산을 통해 얻은 값과 수정된 Lopez-Dahab 알고리즘의 수행값을 비교함으로써 수행값
Figure 112015107723695-pat00037
값을 정확하게 수정해주는 과정을 수행할 수 있다.The elliptic curve cryptographic device performs the scalar point multiply operation on points and points when the iteration of all operations is completed.
Figure 112015107723695-pat00035
Values of the conventional Lopez-Dahab algorithm
Figure 112015107723695-pat00036
It can be determined that a difference between values occurs. The elliptic curve encryption device compares the value obtained by the scalar point multiply operation of the existing Lopez-Dahab algorithm with the performance value of the modified Lopez-Dahab algorithm,
Figure 112015107723695-pat00037
The process of correcting the value can be performed.

일 실시예에 따른 타원곡선 암호화 장치에 있어서, 타원곡선 암호화 장치의 구조는 알고리즘의 반복과정에서 다섯 개의 필드 곱셈기를 사용할 수 있다.In the elliptic curve cryptosystem according to the embodiment, the structure of the elliptic curve cryptosystem may use five field multipliers in an iteration of the algorithm.

타원곡선 암호화 장치는 수정된 투영 좌표 상에서 점에 대한 스칼라 포인트 곱셈 연산을 수행하고, 투영 좌표 상에서 포인트 두 배 연산을 수행할 수 있다. 타원곡선 암호화 장치는 제안된 구조에서 두 개의 제곱 연산

Figure 112015107723695-pat00038
은 제곱 연산 장치1(Squarer1)과 제곱 연산 장치3(Squarer3)에 의해 병렬로 수행되며
Figure 112015107723695-pat00039
Figure 112015107723695-pat00040
의 계산은 제곱 연산 장치2(Squarer2)와 제곱 연산 장치4(Squarer4)에 의해 동시에 수행될 수 있다. 제곱 연산 장치2(Squarer2)의 결과
Figure 112015107723695-pat00041
와 제곱 연산 장치4(Squarer4)의 결과
Figure 112015107723695-pat00042
는 곱셈기5에서 곱셈 연산
Figure 112015107723695-pat00043
을 통해 계산될 수 있다. 제곱 연산 장치1(Squarer2)과 제곱 연산 장치3(Squarer3)의 결과는 163비트 XOR게이트에서 XOR연산
Figure 112015107723695-pat00044
에 의해 계산될 수 있다.The elliptic curve cryptographic device may perform a scalar point multiply operation on the points on the modified projection coordinates and perform a double point operation on the projection coordinates. The elliptic curve cryptographic device uses two squared operations
Figure 112015107723695-pat00038
Are performed in parallel by a squaring unit 1 (Squarer 1) and a squaring unit 3 (Squarer 3)
Figure 112015107723695-pat00039
and
Figure 112015107723695-pat00040
Can be performed simultaneously by the squaring apparatus 2 (Squarer 2) and the squaring apparatus 4 (Squarer 4). The result of Squarer 2
Figure 112015107723695-pat00041
And the result of squaring 4 (Squarer 4)
Figure 112015107723695-pat00042
The multiplication operation in the multiplier 5
Figure 112015107723695-pat00043
Lt; / RTI > The results of Squarer 2 and Squarer 3 are multiplied by the XOR operation in a 163 bit XOR gate
Figure 112015107723695-pat00044
Lt; / RTI >

도 3을 참고하면, 필드 곱셈 연산부를 나타낸 것이다. Referring to FIG. 3, a field multiplication operation unit is shown.

타원곡선 암호화 장치의 스칼라 포인트 곱셈 장치를 설계함에 있어서 가장 많이 사용되는 모듈은 필드 곱셈기이다. 필드 곱셈 연산을 계산하기 위해 Bit-Serial 방법을 사용 할 경우 Digit-Serial 방법을 사용한 경우보다 클럭 사이클 수는 많지만 낮은 하드웨어 복잡도를 갖는다. 일 실시예에 따른 타원곡선 암호화 장치는 Bit-Serial 방법을 사용한 곱셈기와 필드 연산 제어신호를 이용하여 낮은 하드웨어의 복잡도를 가지면서 시스템의 지연의 적은 타원곡선 암호화 장치 및 그 방법을 제공한다.The most popular module in designing a scalar point multiplier for an elliptic curve cryptosystem is a field multiplier. When using the Bit-Serial method to compute the field multiply operation, the number of clock cycles is larger than that of using the Digit-Serial method, but the hardware complexity is low. The elliptic curve encryption apparatus according to an embodiment provides an elliptic curve encryption apparatus and a method using the multiplier and the field operation control signal using the Bit-Serial method and having low hardware complexity and low system delay.

도 2는 일 실시예에 따른 스칼라 포인트 곱셈 연산부를 나타내는 도면이다.2 is a diagram illustrating a scalar point multiply operation unit according to an embodiment.

도2에서 도시한 것처럼 곱셈기1은

Figure 112015107723695-pat00045
, 곱셈기2는
Figure 112015107723695-pat00046
를 동시에 계산하고 m_done1신호와 m_done2신호를 통해 곱셈기3과 곱셈기4를 사용 가능(enable)상태로 바꾸며 곱셈기3과 곱셈기4는
Figure 112015107723695-pat00047
Figure 112015107723695-pat00048
를 병렬로 계산할 수 있다. As shown in FIG. 2, the multiplier 1 multiplies
Figure 112015107723695-pat00045
, The multiplier 2
Figure 112015107723695-pat00046
And multiplier 3 and multiplier 4 are enabled through enable signals m_done1 and m_done2, and multiplier 3 and multiplier 4 are enabled
Figure 112015107723695-pat00047
Wow
Figure 112015107723695-pat00048
Can be calculated in parallel.

타원곡선 암호화 장치는 제안한 알고리즘의 수행시간을 두 배로 줄일 수 있는 방법을 제공할 수 있다. 곱셈기3과 곱셈기4의 출력값은 163비트 XOR 게이트를 통해 XOR 연산

Figure 112015107723695-pat00049
을 하며 결과값은 다중화기(Multiplexer)와 제곱연산장치5(Squarer5)를 통해 새로운
Figure 112015107723695-pat00050
,
Figure 112015107723695-pat00051
값을 출력할 수 있다.The elliptic curve encryption device can provide a way to reduce the execution time of the proposed algorithm to twice. The output values of multiplier 3 and multiplier 4 are multiplied by a 16-bit XOR gate to perform an XOR operation
Figure 112015107723695-pat00049
The result is multiplier and multiplier 5 (Squarer 5)
Figure 112015107723695-pat00050
,
Figure 112015107723695-pat00051
Value can be output.

일 실시예에 따른 타원곡선 암호화 장치는 수정된 Lopez-Dahab 알고리즘, Left-To-Right 알고리즘을 사용함으로써 불필요한 계산과정을 줄이고 반복해서 사용하는 모듈을 재사용함으로써 낮은 하드웨어 복잡도를 가진다는 점이다. The elliptic curve cryptosystem according to an embodiment uses a modified Lopez-Dahab algorithm and a left-to-right algorithm, thereby reducing unnecessary calculation processes and reusing modules repeatedly used, resulting in low hardware complexity.

타원곡선 암호화 장치는 투영 좌표를 아핀 좌표로 변환함에 따라 결과값을 반환할 수 있다. An elliptic curve cryptographic device can return a result as it transforms the projection coordinates into affine coordinates.

도 4는 일 실시예에 따른 스칼라 포인트 곱셈 연산 방법의 흐름도를 나타내는 도면이다. 4 is a flowchart illustrating a scalar point multiply operation method according to an embodiment of the present invention.

타원곡선 암호화 장치는 아핀 좌표에서 타원곡선 상의 점을 투영 좌표로 변환할 수 있다(410). 타원곡선 암호화 장치는 타원곡선 상의 점 P를 아핀 좌표에서 투영 좌표로 변환하고,

Figure 112015107723695-pat00052
로 초기 값을 설정할 수 있다.
Figure 112015107723695-pat00053
Figure 112015107723695-pat00054
값은 키 값의 LSB인
Figure 112015107723695-pat00055
에 의해 결정될 수 있다.
Figure 112015107723695-pat00056
이면
Figure 112015107723695-pat00057
이고
Figure 112015107723695-pat00058
이면
Figure 112015107723695-pat00059
Figure 112015107723695-pat00060
은 0이다.An elliptic curve cryptographic device may transform a point on the elliptic curve to projection coordinates in affine coordinates (410). The elliptic curve cryptographic apparatus converts the point P on the elliptic curve from affine coordinates to projection coordinates,
Figure 112015107723695-pat00052
Can be set to the initial value.
Figure 112015107723695-pat00053
and
Figure 112015107723695-pat00054
The value is the LSB of the key value.
Figure 112015107723695-pat00055
Lt; / RTI >
Figure 112015107723695-pat00056
If
Figure 112015107723695-pat00057
ego
Figure 112015107723695-pat00058
If
Figure 112015107723695-pat00059
and
Figure 112015107723695-pat00060
Is zero.

타원곡선 암호화 장치는 키의 비트 값인

Figure 112015107723695-pat00061
에 따라 투영 좌표 상에서 스칼라 포인트 덧셈 연산과 스칼라 포인트 곱셈 연산이 결정될 수 있다. 타원곡선 암호화 장치는 키의 비트 값이 0일 경우, 네 번의 필드 제곱 연산(
Figure 112015107723695-pat00062
)과 한 번의 필드 덧셈 연산(
Figure 112015107723695-pat00063
), 한 번의 필드 곱셈 연산(
Figure 112015107723695-pat00064
)을 수행하는 포인트 두 배 연산만을 수행할 수 있다. 타원곡선 암호화 장치는 키의 비트 값이 1일 경우, 알고리즘은 포인트 두 배 연산을 수행한 뒤, 네 번의 필드 곱셈 연산(
Figure 112015107723695-pat00065
)과 두 번의 필드 덧셈 연산(
Figure 112015107723695-pat00066
), 한 번의 필드 제곱 연산
Figure 112015107723695-pat00067
을 수행하는 포인트 덧셈 연산을 추가로 수행할 수 있다.An elliptic curve encryption device is a key bit value
Figure 112015107723695-pat00061
A scalar point addition operation and a scalar point multiplication operation can be determined on the projection coordinate. An elliptic curve cryptographic device uses four field squared operations when the bit value of the key is zero
Figure 112015107723695-pat00062
) And one field addition operation (
Figure 112015107723695-pat00063
), One field multiplication operation
Figure 112015107723695-pat00064
). ≪ / RTI > An elliptic curve cryptographic device, if the bit value of the key is 1, then the algorithm performs a double-point operation and then performs four field multiplication operations
Figure 112015107723695-pat00065
) And two field addition operations (
Figure 112015107723695-pat00066
), One field square operation
Figure 112015107723695-pat00067
A point addition operation can be performed.

타원곡선 암호화 장치는 투영 좌표 상에서 점과 스칼라 포인트 곱셈 연산을 수행함에 따라 획득된 수행값

Figure 112015107723695-pat00068
과 종래의 Lopez-Dahab 알고리즘의
Figure 112015107723695-pat00069
값 사이의 차이가 발생한다. 이에 따라 타원곡선 암호화 장치는 종래의 Lopez-Dahab 알고리즘에서 스칼라 포인트 곱셈 연산을 통해 얻은 값과 수정된 Lopez-Dahab 알고리즘에서 스칼라 포인트 곱셈 연산을 통하여 획득된 수행값을 비교하여
Figure 112015107723695-pat00070
값을 정확하게 수정해주는 과정을 수행할 수 있다.The elliptic curve encryption device performs point and scalar point multiply operations on the projection coordinates,
Figure 112015107723695-pat00068
And the conventional Lopez-Dahab algorithm
Figure 112015107723695-pat00069
There is a difference between the values. Accordingly, the elliptic curve encryption device compares the value obtained through the scalar point multiplication operation in the conventional Lopez-Dahab algorithm with the execution value obtained through the scalar point multiply operation in the modified Lopez-Dahab algorithm
Figure 112015107723695-pat00070
The process of correcting the value can be performed.

예를 들면, 타원곡선 암호화 장치는 다섯 개의 필드 곱셈기를 사용할 수 있다. 타원곡선 암호화 장치는 투영 좌표 상에서 점에 대한 스칼라 포인트 곱셈 연산을 수행하고, 투영 좌표 상에서 포인트 두 배 연산을 수행할 수 있다. 타원곡선 암호화 장치는 제안된 구조에서 두 개의 제곱 연산

Figure 112015107723695-pat00071
은 제곱 연산 장치1(Squarer1)과 제곱 연산 장치3(Squarer3)에 의해 병렬로 수행되며
Figure 112015107723695-pat00072
Figure 112015107723695-pat00073
의 계산은 제곱 연산 장치2(Squarer2)와 제곱 연산 장치4(Squarer4)에 의해 동시에 수행될 수 있다. 제곱 연산 장치2(Squarer2)의 결과
Figure 112015107723695-pat00074
와 제곱 연산 장치4(Squarer4)의 결과
Figure 112015107723695-pat00075
는 곱셈기5에서 곱셈 연산
Figure 112015107723695-pat00076
을 통해 계산될 수 있다. 제곱 연산 장치1(Squarer2)과 제곱 연산 장치3(Squarer3)의 결과는 163비트 XOR게이트에서 XOR연산
Figure 112015107723695-pat00077
에 의해 계산될 수 있다.For example, an elliptic curve cryptographic device can use five field multipliers. The elliptic curve cryptographic device may perform a scalar point multiply operation on the point on the projection coordinate and perform a point double operation on the projection coordinate. The elliptic curve cryptographic device uses two squared operations
Figure 112015107723695-pat00071
Are performed in parallel by a squaring unit 1 (Squarer 1) and a squaring unit 3 (Squarer 3)
Figure 112015107723695-pat00072
and
Figure 112015107723695-pat00073
Can be performed simultaneously by the squaring apparatus 2 (Squarer 2) and the squaring apparatus 4 (Squarer 4). The result of Squarer 2
Figure 112015107723695-pat00074
And the result of squaring 4 (Squarer 4)
Figure 112015107723695-pat00075
The multiplication operation in the multiplier 5
Figure 112015107723695-pat00076
Lt; / RTI > The results of Squarer 2 and Squarer 3 are multiplied by the XOR operation in a 163 bit XOR gate
Figure 112015107723695-pat00077
Lt; / RTI >

타원곡선 암호화 장치는 스칼라 포인트 곱셈 장치를 필드 곱셈기로 사용할 수 있다. 타원곡선 암호화 장치는 Bit-Serial 방법을 사용한 곱셈기와 필드 연산 제어신호를 이용할 수 있다. An elliptic curve cryptographic device can use a scalar point multiplier as a field multiplier. The elliptic curve encryption device can use the multiplier and the field operation control signal using the bit-serial method.

곱셈기1은

Figure 112015107723695-pat00078
, 곱셈기2는
Figure 112015107723695-pat00079
를 동시에 계산하고 m_done1신호와 m_done2신호를 통해 곱셈기3과 곱셈기4를 사용 가능(enable)상태로 바꾸며 곱셈기3과 곱셈기4는
Figure 112015107723695-pat00080
Figure 112015107723695-pat00081
를 병렬로 계산할 수 있다. The multiplier 1
Figure 112015107723695-pat00078
, The multiplier 2
Figure 112015107723695-pat00079
And multiplier 3 and multiplier 4 are enabled through enable signals m_done1 and m_done2, and multiplier 3 and multiplier 4 are enabled
Figure 112015107723695-pat00080
Wow
Figure 112015107723695-pat00081
Can be calculated in parallel.

타원곡선 암호화 장치는 곱셈기3과 곱셈기4의 출력값을 163비트 XOR 게이트를 통해 XOR 연산

Figure 112015107723695-pat00082
을 수행할 수 있으며, 결과값은 다중화기(Multiplexer)와 제곱연산장치5(Squarer5)를 통해 새로운
Figure 112015107723695-pat00083
,
Figure 112015107723695-pat00084
값을 출력할 수 있다. The elliptic curve cryptosystem uses the 163-bit XOR gate to XOR the output values of the multipliers 3 and 4
Figure 112015107723695-pat00082
, And the resultant value is multiplied by a multiplexer and a square calculator 5 (Squarer 5)
Figure 112015107723695-pat00083
,
Figure 112015107723695-pat00084
Value can be output.

타원곡선 암호화 장치는 조정된 수행값을 투영 좌표에서 아핀 좌표로 변환함에 따라 결과값을 획득할 수 있다(420). 타원곡선 암호화 장치는 결과값 Q를 획득할 수 있다. 이를 통하여 타원곡선 암호화 장치는 아핀 좌표로 변환됨에 따라 획득된 결과값을 기반으로 암호화된 암호값을 산출할 수 있다. The elliptic curve cryptographic device may obtain the result by transforming the adjusted performance value from projected coordinates to affine coordinates (420). The elliptic curve encryption device can obtain the result value Q. Thus, the elliptic curve cryptosystem can calculate the encrypted cryptographic value based on the acquired result as it is converted into affine coordinates.

도 5는 일 실시예에 따른 타원곡선 암호화 장치의 구성을 나타낸 블록도이다. 5 is a block diagram illustrating a configuration of an elliptic curve encryption apparatus according to an embodiment of the present invention.

타원곡선 암호화 장치는 제1 변환부(510), 연산부(520), 조정부(530), 제2 변환부(540) 및 획득부(550)를 포함할 수 있다. The elliptic curve cryptographic apparatus may include a first transform unit 510, an operation unit 520, an adjusting unit 530, a second transform unit 540, and an obtaining unit 550.

제1 변환부(510)는 아핀 좌표에서 타원곡선 상의 점을 투영 좌표로 변환할 수 있다. The first transform unit 510 may transform a point on the elliptic curve to projection coordinates in affine coordinates.

연산부(520)는 투영 좌표 상에서 점에 대한 스칼라 포인트 곱셈 연산을 수행할 수 있다. 연산부(520)는 수정된 Lopez-Dahab알고리즘, Left-To-Right알고리즘이 사용되어 스칼라 포인트 덧셈 연산을 줄임으로써 스칼라 포인트 곱셈 연산의 수행 시간을 감소시킬 수 있다.The operation unit 520 may perform a scalar point multiply operation on the point on the projection coordinate. The operation unit 520 can reduce the execution time of the scalar point multiply operation by reducing the scalar point addition operation by using the modified Lopez-Dahab algorithm and the Left-To-Right algorithm.

연산부(520)는 키의 비트값에 기초하여 상기 투영 좌표 상에서 스칼라 포인트 덧셈 연산과 스칼라 포인트 곱셈 연산이 결정될 수 있다. 연산부(520)는 키의 비트값이 0일 경우, 4번의 필드 제곱 연산과 1번의 필드 덧셈 연산 및 1번의 필드 곱셈 연산을 수행하는 포인트 두 배 연산을 수행하고, 키의 비트값이 1일 경우, 포인트 두 배 연산을 수행한 뒤, 4번의 필드 곱셈 연산과 2번의 필드 덧셈 연산 및 1번의 필드 제곱 연산을 수행하는 포인트 덧셈 연산을 수행할 수 있다. The arithmetic operation unit 520 may determine a scalar point addition operation and a scalar point multiplication operation on the projection coordinate based on the bit value of the key. When the bit value of the key is 0, the arithmetic operation unit 520 performs a double operation of performing a field square operation of 4 times, a field addition operation of 1 field and a field multiplication operation of 1, and if the bit value of the key is 1 , A point addition operation may be performed to perform four times field multiplication operation, two field addition operation and one field square operation after performing point double operation.

연산부(520)는 필드 곱셈 연산을 계산하기 위하여 Bit-Serial 구조를 갖는 필드 곱셈 연산기를 사용할 수 있다.The operation unit 520 may use a field multiplication operator having a bit-serial structure to calculate a field multiplication operation.

연산부(520)는 제1 곱셈기와 제2 곱셈기를 동시에 계산하고 제1 신호와 제2 신호를 통하여 제3 곱셈기 및 제4 곱셈기를 사용가능(Enable)상태로 전환하고, 제3 곱셈기 및 제4 곱셈기를 병렬로 계산할 수 있다. 연산부(520)는 제3 곱셈기 및 제4 곱셈기의 출력값을 XOR 게이트를 통하여 XOR 연산을 수행하고, XOR 연산을 수행한 출력값을 다중화기와 제곱연산기를 통하여 수행값을 획득할 수 있다. The operation unit 520 calculates the first multiplier and the second multiplier at the same time and turns the third multiplier and the fourth multiplier into the enabled state through the first signal and the second signal. The third multiplier and the fourth multiplier Can be calculated in parallel. The operation unit 520 may perform the XOR operation on the output values of the third multiplier and the fourth multiplier through the XOR gate, and may obtain the operation value through the multiplexer and the squared operator on the output value on which the XOR operation is performed.

조정부(530)는 스칼라 포인트 곱셈 연산을 수행한 Lopez-dahab 알고리즘의 스칼라 포인트 곱셈 연산을 통하여 획득한 값과 비교하여 조정할 수 있다. The adjusting unit 530 may adjust the value by comparing the value obtained through the scalar point multiplication operation of the Lopez-dahab algorithm that performed the scalar point multiply operation.

제2 변환부(540)는 조정된 수행값을 투영 좌표에서 아핀 좌표로 변환함에 따라 결과값을 획득할 수 있다. The second transform unit 540 may obtain the resultant value by transforming the adjusted performed value from the projected coordinates to the affine coordinates.

획득부(550)는 아핀 좌표로 변환함에 따라 획득된 결과값을 기반으로 암호화된 암호값을 산출할 수 있다. The acquiring unit 550 may calculate an encrypted password value based on the obtained result as it is converted into affine coordinates.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (8)

타원곡선 암호화 방법에 있어서,
아핀 좌표(Affine Coordinate)에서 타원곡선 상의 점을 투영 좌표(Projective Coordinate)로 변환하는 단계;
상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계;
상기 스칼라 포인트 곱셈 연산을 수행한 수행값을 Lopez-Dahab 알고리즘의 스칼라 포인트 곱셈 연산을 통하여 획득한 값과 비교하여 조정하는 단계;
상기 조정된 수행값을 상기 투영 좌표에서 상기 아핀 좌표로 변환함에 따라 결과값을 획득하는 단계; 및
상기 아핀 좌표로 변환함에 따라 획득된 결과값을 기반으로 암호화된 암호값을 산출하는 단계
를 포함하고,
상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는,
Bit-Serial 구조의 곱셈 연산기 및 필드 연산을 사용하는 제어 신호를 사용하여 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하고, 상기 투영 좌표 상에서 포인트 두 배 연산을 수행하는 단계
를 포함하는 타원곡선 암호화 방법.
In an elliptic curve encryption method,
Transforming a point on the elliptic curve to a projective coordinate in Affine Coordinate;
Performing a scalar point multiply operation on the point on the projection coordinate;
Comparing the performance value obtained by performing the scalar point multiplication operation with a value obtained through a scalar point multiply operation of the Lopez-Dahab algorithm;
Acquiring a result value by converting the adjusted performance value from the projection coordinate to the affine coordinate; And
Calculating an encrypted password value based on the obtained result value by transforming to affine coordinates
Lt; / RTI >
Wherein performing a scalar point multiply operation on the point on the projection coordinate comprises:
Performing a scalar point multiply operation on the point on the projection coordinate using a control signal using a Bit-Serial structured multiplication operator and a field operation, and performing a point double operation on the projection coordinate
/ RTI >
제1항에 있어서,
상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는,
수정된 Lopez-Dahab알고리즘, Left-To-Right알고리즘이 사용되어 스칼라 포인트 덧셈 연산을 줄임으로써 상기 스칼라 포인트 곱셈 연산의 수행 시간을 감소시키는 단계
를 포함하는 타원곡선 암호화 방법.
The method according to claim 1,
Wherein performing a scalar point multiply operation on the point on the projection coordinate comprises:
A modified Lopez-Dahab algorithm and a Left-To-Right algorithm are used to reduce the execution time of the scalar point multiply operation by reducing the scalar point addition operation
/ RTI >
제2항에 있어서,
상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는,
키의 비트값에 기초하여 상기 투영 좌표 상에서 상기 스칼라 포인트 덧셈 연산과 상기 스칼라 포인트 곱셈 연산이 결정되는 단계
를 포함하는 타원곡선 암호화 방법.
3. The method of claim 2,
Wherein performing a scalar point multiply operation on the point on the projection coordinate comprises:
Wherein the scalar point addition operation and the scalar point multiply operation are determined on the projection coordinate based on a bit value of a key
/ RTI >
제3항에 있어서,
상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는,
상기 키의 비트값이 0일 경우, 4번의 필드 제곱 연산과 1번의 필드 덧셈 연산 및 1번의 필드 곱셈 연산을 수행하는 포인트 두 배 연산을 수행하고,
상기 키의 비트값이 1일 경우, 상기 포인트 두 배 연산을 수행한 뒤, 4번의 필드 곱셈 연산과 2번의 필드 덧셈 연산 및 1번의 필드 제곱 연산을 수행하는 포인트 덧셈 연산을 수행하는 단계
를 포함하는 타원곡선 암호화 방법.
The method of claim 3,
Wherein performing a scalar point multiply operation on the point on the projection coordinate comprises:
When the bit value of the key is 0, performing a field double operation that performs four field squaring operations, one field addition operation and one field multiplication operation,
If the bit value of the key is 1, performing a point addition operation that performs four times field multiplication operation, two field addition operation and one field square operation after performing the point double operation,
/ RTI >
삭제delete 제1항에 있어서,
상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는,
제1 곱셈기와 제2 곱셈기를 동시에 계산하고 제1 신호와 제2 신호를 통하여 제3 곱셈기 및 제4 곱셈기를 사용가능(Enable)상태로 전환하고, 상기 제3 곱셈기 및 상기 제4 곱셈기를 병렬로 계산하는 단계
를 포함하는 타원곡선 암호화 방법.
The method according to claim 1,
Wherein performing a scalar point multiply operation on the point on the projection coordinate comprises:
The first multiplier and the second multiplier are simultaneously calculated and the third multiplier and the fourth multiplier are enabled through the first signal and the second signal, and the third multiplier and the fourth multiplier are connected in parallel Steps to calculate
/ RTI >
제6항에 있어서,
상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 단계는,
상기 제3 곱셈기 및 상기 제4 곱셈기의 출력값을 XOR 게이트를 통하여 XOR 연산을 수행하고, 상기 XOR 연산을 수행한 출력값을 다중화기와 제곱연산기를 통하여 수행값을 획득하는 단계
를 포함하는 타원곡선 암호화 방법.
The method according to claim 6,
Wherein performing a scalar point multiply operation on the point on the projection coordinate comprises:
Performing an XOR operation on an output value of the third multiplier and the fourth multiplier through an XOR gate, and obtaining an output value of the XOR operation through a multiplexer and a squared operator
/ RTI >
타원곡선 암호화 장치에 있어서,
아핀 좌표에서 타원곡선 상의 점을 투영 좌표로 변환하는 제1 변환부;
상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하는 연산부;
상기 스칼라 포인트 곱셈 연산을 수행한 수행값을 Lopez-Dahab 알고리즘의 스칼라 포인트 곱셈 연산을 통하여 획득한 값과 비교하여 조정하는 조정부;
상기 조정된 수행값을 상기 투영 좌표에서 상기 아핀 좌표로 변환함에 따라 결과값을 획득하는 제2 변환부; 및
상기 아핀 좌표로 변환함에 따라 획득된 결과값을 기반으로 암호화된 암호값을 산출하는 획득부
를 포함하고,
상기 연산부는,
Bit-Serial 구조의 곱셈 연산기 및 필드 연산을 사용하는 제어 신호를 사용하여 상기 투영 좌표 상에서 상기 점에 대한 스칼라 포인트 곱셈 연산을 수행하고, 상기 투영 좌표 상에서 포인트 두 배 연산을 수행하는
타원곡선 암호화 장치.
In an elliptic curve cryptosystem,
A first conversion unit for converting a point on the elliptic curve to projection coordinates in affine coordinates;
An operation unit for performing a scalar point multiply operation on the point on the projection coordinate system;
An adjustment unit for comparing the performance value obtained by performing the scalar point multiplication operation with a value obtained through a scalar point multiply operation of the Lopez-Dahab algorithm;
A second transform unit for transforming the adjusted performance value from the projection coordinate to the affine coordinate to obtain a result value; And
An acquiring unit for calculating an encrypted value based on the acquired result by transforming the affine coordinate into an affine coordinate,
Lt; / RTI >
The operation unit,
Performing a scalar point multiply operation on the point on the projection coordinate using a control signal using a bit-serial structure multiplier and a field operation, and performing a point double operation on the projection coordinate
Elliptic curve encryption device.
KR1020150154992A 2015-11-05 2015-11-05 Apparatus for efficient elliptic curve cryptography processor and method for the same KR101707334B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150154992A KR101707334B1 (en) 2015-11-05 2015-11-05 Apparatus for efficient elliptic curve cryptography processor and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150154992A KR101707334B1 (en) 2015-11-05 2015-11-05 Apparatus for efficient elliptic curve cryptography processor and method for the same

Publications (1)

Publication Number Publication Date
KR101707334B1 true KR101707334B1 (en) 2017-02-15

Family

ID=58112243

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150154992A KR101707334B1 (en) 2015-11-05 2015-11-05 Apparatus for efficient elliptic curve cryptography processor and method for the same

Country Status (1)

Country Link
KR (1) KR101707334B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101925614B1 (en) * 2017-11-08 2018-12-05 부산대학교 산학협력단 Method for processing scalar multiplication in elliptic curve cryptosystem, and elliptic curve cryptosystem
KR20190083891A (en) * 2018-01-05 2019-07-15 금오공과대학교 산학협력단 Apparatus and Method for Integrated Hardware Implementation of Elliptic Curve Cryptography and RSA Public-key Cryptosystem

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090070060A (en) * 2007-12-26 2009-07-01 대구대학교 산학협력단 Lopez-dahab algorithm based high speed elliptic curve cryptographic processor on finite field

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090070060A (en) * 2007-12-26 2009-07-01 대구대학교 산학협력단 Lopez-dahab algorithm based high speed elliptic curve cryptographic processor on finite field

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101925614B1 (en) * 2017-11-08 2018-12-05 부산대학교 산학협력단 Method for processing scalar multiplication in elliptic curve cryptosystem, and elliptic curve cryptosystem
KR20190083891A (en) * 2018-01-05 2019-07-15 금오공과대학교 산학협력단 Apparatus and Method for Integrated Hardware Implementation of Elliptic Curve Cryptography and RSA Public-key Cryptosystem
KR102006222B1 (en) 2018-01-05 2019-08-01 금오공과대학교 산학협력단 Apparatus and Method for Integrated Hardware Implementation of Elliptic Curve Cryptography and RSA Public-key Cryptosystem

Similar Documents

Publication Publication Date Title
JP6244728B2 (en) Information processing method and program
US7908641B2 (en) Modular exponentiation with randomized exponent
KR101449239B1 (en) Homomorphic Encryption and Decryption Method using Ring Isomorphism and apparatus using the same
JP5852518B2 (en) Authentication encryption device, authentication decryption device, and program
JP2019515353A (en) Countermeasures against Safe-Error Fault Injection Attack on Cryptographic Power-up Algorithm
TWI553548B (en) Method, device and computer software product for cryptographic computation
Ghosh et al. A speed area optimized embedded co-processor for McEliece cryptosystem
KR101233682B1 (en) Calculating apparatus and method for elliptic curve cryptography
US20110311041A1 (en) Crytographically transforming data text
US11799628B2 (en) Apparatus and method for processing non-polynomial operation on encrypted messages
KR101707334B1 (en) Apparatus for efficient elliptic curve cryptography processor and method for the same
JP3794266B2 (en) Elliptic curve scalar multiplication method and apparatus, and storage medium
US11502836B2 (en) Method for performing cryptographic operations on data in a processing device, corresponding processing device and computer program product
JP2006259735A (en) Elliptic curve point octupling using single instruction multiple data processing
US7177422B2 (en) Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program
JP2004227344A (en) Multiplier and code circuit
KR101929984B1 (en) Modular multiplicator and modular multiplication method thereof
TWI602119B (en) Computational method, computational device andcomputer software product for montgomery domain
KR100817048B1 (en) Method and apparatus of Different Faults AnalysisDFA countermeasure based on different point representation for Elliptic Curve CryptographyECC
KR20150091691A (en) CRT-RSA encryption method and apparatus and computer readable storage medium therefore
KR102541388B1 (en) Apparatus and method for ring-lwe cryptoprocessor using mdf based ntt
KR101977873B1 (en) Hardware-implemented modular inversion module
US20220150064A1 (en) Encryption device, decryption device, encryption method, decryption method, and computer program products
JP3959076B2 (en) Finite field square computing method and square computing device
JPWO2021171543A5 (en) Authentication encryption device, authentication decryption device, authentication encryption method, authentication decryption method and program

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

Year of fee payment: 4