KR19990077606A - 타원곡선변환장치,이용장치및이용시스템 - Google Patents

타원곡선변환장치,이용장치및이용시스템 Download PDF

Info

Publication number
KR19990077606A
KR19990077606A KR1019990007218A KR19990007218A KR19990077606A KR 19990077606 A KR19990077606 A KR 19990077606A KR 1019990007218 A KR1019990007218 A KR 1019990007218A KR 19990007218 A KR19990007218 A KR 19990007218A KR 19990077606 A KR19990077606 A KR 19990077606A
Authority
KR
South Korea
Prior art keywords
elliptic curve
unknown
finite field
here
parameters
Prior art date
Application number
KR1019990007218A
Other languages
English (en)
Other versions
KR100513127B1 (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 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR19990077606A publication Critical patent/KR19990077606A/ko
Application granted granted Critical
Publication of KR100513127B1 publication Critical patent/KR100513127B1/ko

Links

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)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Storage Device Security (AREA)
  • Error Detection And Correction (AREA)

Abstract

파라미터 수신부(210)는 외부로부터 타원곡선 E의 파라미터 a, b와 타원곡선 E 상의 미지수 G를 수신한다. 변환계수 취득부(220)는 t^4×a (mod p)가 32비트 이하가 되도록, 유한체 GF(p) 상에 미지수인 변환계수 t를 산출한다. 변환타원 곡선 산출부(230)는 유한체 GF(p) 상에 구성되는 타원곡선 Et:y'^2 = x'^3+a'×x'+b'의 파라미터 a', b'를 다음의 수학식에 의해 산출하고, 미지수 G에 대응하는 타원곡선 Et 상의 미지수 Gt = (xtO, ytO)를 다음의 수학식에 의해 산출한다.
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0.
파라미터 송출부(240)는 상기 산출된 파라미터 a', b'와, 미지수 Gt(xtO, ytO)를 외부에 송출한다.

Description

타원곡선 변환장치, 이용장치 및 이용시스템{ELLIPTIC CURVE TRANSFORMATION DEVICE, UTILIZATION DEVICE AND UTILIZATION SYSTEM}
본 발명은 정보 보안 기술로서의 암호기술에 관한 것으로, 특히 타원곡선을 이용하여 실현하는 암호·복호기술, 디지털 서명·검증기술 및 키 공유 기술에 관한 것이다.
1. 공개키 암호
최근 컴퓨터 기술과 통신기술에 근거하는 데이터 통신이 널리 보급되어 있고, 이 데이터 통신에 있어서 비밀 통신방식 또는 디지털 서명방식을 이용하고 있다. 여기에서 비밀 통신방식이란 특정한 통신상대 이외에 통신내용을 누설하는 일 없이 통신을 행하는 방식이다. 또한 디지털 서명방식이란 통신 상대에게 통신내용의 정당성을 나타내거나, 발신자의 신원을 증명하는 통신방식이다.
이들 비밀 통신방식 또는 디지털 서명방식에는 공개키 암호라고 불리는 암호방식이 이용된다. 공개키 암호는 통신 상대가 다수일 때, 통신 상대마다 다른 암호키를 용이하게 관리하기 위한 방식이고, 다수의 통신 상대와 통신을 하는데 있어 불가결한 기반 기술이다. 공개키 암호를 이용하는 비밀통신에서는 암호화 키와 복호화 키로 나눌 수 있고, 복호화 키는 비밀로 하지만, 암호화 키는 공개한다.
이 공개키 암호의 안전성의 근거로서는 이산대수 문제가 이용된다. 이산대수 문제에는 대표적인 것으로, 유한체상 정의되는 것 및 타원곡선상 정의되는 것이 있다. 또 이산대수 문제에 대해서는 닐 코블리츠 (Neal Koblitz)저 “수 이론 및 암호화 과정”(A Course in Number theory and Cryptography, Springer-Verlag, 1987)에 자세히 설명되어 있다.
2. 타원곡선상의 이산대수 문제
타원곡선상의 이산대수 문제에 관해, 이하에서 설명하기로 한다.
타원곡선상의 이산대수 문제란,
E (GF(p))를 유한체 GF(p) 상에서 정의된 타원곡선으로 하고, 타원곡선 E의 위수(位數)가 큰 소수(素數)로 나누어 떨어지는 경우에, 타원곡선 E에 포함되는 미지수 G를 기수점(base point)으로 한다. 이 때, 타원곡선 E에 포함되는 주어진 미지수 Y에 대하여,
Y = x*G
로 되는 정수 x가 존재한다면, “x를 구하라”라는 문제이다.
여기에서 p는 소수, GF(p)는 p개의 미지수를 가지는 유한체이다. 또한 이 명세서에 있어서, 기호 *는 타원곡선에 포함되는 미지수를 복수회 가산하는 연산을 나타내며, x*G는 수학식 x*G = G+G+G+…+G로 나타내는 바와 같이 타원곡선에 포함되는 미지수 G를 x회 가산하는 것을 의미한다.
이산대수 문제를 공개키 암호의 안전성의 근거로 하는 것은 많은 미지수를 갖는 유한체 GF(p)에 대해 상기의 문제는 매우 어렵기 때문이다.
3. 타원곡선상의 이산대수 문제를 응용한 엘가말 서명
이하에서 상기 타원곡선상의 이산대수 문제를 응용한 엘가말 서명에 의한 디지털 서명방식에 관하여 도 1을 이용하여 설명하기로 한다.
도 1은 상기 엘가말 서명에 의한 디지털 서명방식의 순서를 도시한 순서도이다.
사용자 A(110), 관리 센터(120) 및 사용자 B(130)는 네트워크로 접속되어 있다.
p를 소수, 유한체 GF(p) 상의 타원곡선을 E로 한다. E의 기수점을 G로 하고, E의 위수를 q로 한다. 즉, q는 다음의 수학식 2를 만족하는 최소의 양의 정수이다.
q*G = 0
또 x좌표, y좌표 모두 ∞인 (∞, ∞)를 무한원점이라고 하고, O으로 표시한다. 이 O는 타원곡선을 군이라고 보았을 때, 무한원점이 가산에 있어서의「0미지수」의 역할을 한다.
(1) 관리 센터(120)에 의한 공개키의 생성
관리 센터(120)는 미리 통지되어 있는 사용자 A(ll0)의 비밀키 xA를 이용하여, 다음의 수학식 3에 따라 사용자 A(ll0)의 공개키 YA를 생성한다(단계 S141∼S142).
YA = xA*G
그 후에 관리 센터(120)는 소수 p, 타원곡선 E 및 기수점 G를 시스템 파라미터로 공개하고, 또한 다른 사용자 B(130)에 사용자 A(ll0)의 공개키 YA를 공개한다(단계 S 143∼S144).
(2) 사용자 A(l10)에 의한 서명생성
사용자 A(ll0)는 난수 k를 생성한다(단계 S145).
다음으로 사용자 A(ll0)는 다음의 수학식 4를 계산하고(단계 S146),
R1 = (rx, ry) = k*G
다음의 수학식 5로부터 s를 계산한다(단계 S147).
s×k = m+rx×xA (mod q)
여기에서 m은 사용자 A(ll0)가 사용자 B(130)로 송신하는 메세지이다.
또한 사용자 A(ll0)는 얻어진(R1, s)를 서명으로 하여 메세지 m과 함께 사용자 (B130)로 송신한다(단계 S148).
(3) 사용자 B(130)에 의한 서명검증
사용자 B(130)는 다음의 수학식 6이 성립하는지의 여부를 판정함으로써, 송신자인 사용자 A(ll0)의 신원을 확인한다(단계 S149).
s*R1 = m*G+rx*YA
이것은 다음의 수학식 7이 되는 것으로부터 분명해진다.
s*R1 = {((m+rx×xA)/k)×k}*G
= (m+rx×xA)*G
= m*G+(rx×xA)*G
= m*G+rx*YA
4. 타원곡선상의 점의 가산, 2배산의 연산에 의한 계산량
상기에 나타낸 타원곡선상의 이산대수 문제를 응용한 엘가말 서명에 의한 디지털 서명방식에 있어서의 공개키의 생성, 서명 생성, 서명 검증의 각각에 있어, 타원곡선상의 점의 누승의 연산 계산이 행하여진다. 예를 들면, 상기의 수학식 3에 나타낸 「xA*G」, 상기의 수학식 4에 나타낸 「k*G」, 상기의 수학식 6에 나타낸「s*R1」, 「m*G」,「rx*YA」는 타원곡선상의 점의 누승 연산이다.
타원곡선의 연산공식에 대해서는,
“효과적인 타원곡선 지수 (Efficient elliptic curve exponentiation)”(Miyaji, Ono, and Cohen저, Advances in cryptology-proceedings of ICICS' 97, Lecture notes in computer science, 1997, Springer-verlag, 282-290.)에 자세히 설명되어 있다.
타원곡선의 연산공식에 대해서, 이하에서 설명하기로 한다.
타원곡선의 방정식을
y^2 = x^3+a×x+b 로 하고,
임의의 점 P의 좌표를 (x1, yl)로 하고, 임의의 점 Q의 좌표를 (x2, y2)로 한다. 여기에서 R = P+Q로 정해지는 점 R의 좌표를 (x3, y3)으로 한다.
또 이 명세서에 있어서, 기호^는 누승의 연산을 나타내며, 예를 들면, 2^3은 2×2×2를 의미한다.
P ≠ Q의 경우, R = P+Q는 가산 연산이 된다. 가산의 공식을 이하에 나타낸다.
x3 = {(y2-yl)/(x2-x1)}^2-x1-x2
y3 = {(y2-yl)/(x2-x1)}(x1-x3)-y1
P = Q의 경우, R = P+Q = P+P = 2×P 로 되고, R = P+Q는 2배산의 연산이 된다. 2배산의 공식을 이하에 나타낸다.
x3 = {(3x1^2+a)/2y1}^2-2x1
y3 = {(3x1^2+a)/2yl}(x1-x3)-y1
또 상기 연산은 타원곡선이 정의되는 유한체상에서의 연산이다.
상기에 나타낸 바와 같이, 2항으로 된 조(組)의 좌표인 아핀좌표(affine coordinates), 즉 지금까지 설명한 좌표에 있어서, 타원곡선상의 가산연산을 하는 경우에, 타원곡선상의 가산 1회에 대해 1회의 유한체상의 역수계산이 필요하게 된다. 일반적으로 유한체상의 역수계산은 유한체상에서의 승산계산과 비교하여, 10배정도의 계산량을 필요로 한다.
따라서 계산량을 삭감하는 것을 목적으로, 사영좌표(projective coordi- nates)라 불리우는 3항으로 된 조의 좌표가 이용된다.
사영좌표란, 3항조 X, Y, Z로 이루어지는 좌표로서,
좌표(X, Y, Z)와 좌표(X', Y', Z' )에 대하여, 어떤 수 n이 존재하여,
X' = nX, Y' = nY, Z' = nZ 라는 관계가 있으면,
(X, Y, Z) = (x', Y', Z')로 하는 것이다.
아핀좌표(x, y)와 사영좌표(X, Y, Z)는,
(x, y) → (x, y, 1)
(X, Y, Z) → (X/Y, Y/Z) (Z≠0일 때)
이라는 관계로 서로 대응하고 있다.
여기에서 기호 →는 다음에서 나타내는 의미로 이용하고 있다. 집합 S1의 임의의 미지수에, 집합 S2의 하나의 미지수가 대응할때, S1→S2로 표기한다.
이하, 타원곡선의 연산은 전부 사영좌표로 행하여지는 것으로 한다.
다음으로 사영좌표상의 타원곡선의 가산공식, 2배 공식에 대해서 설명하기로 한다. 이들 공식은 물론, 앞에서 설명한 아핀좌표에 있어서의 가산공식, 2배 공식과 정합성이 있는 것이다.
누승의 연산은 타원곡선상의 점의 가산, 2배 연산의 반복에 의해 실현할 수 있다. 이 누승의 연산중 가산의 계산량은 타원곡선의 파라미터에 의존하지 않으나 2배산의 계산량은 타원곡선의 파라미터에 의존한다.
여기에서는 p를 160비트의 소수로 하고, 유한체 GF(p) 상의 타원곡선을 E:y^2 = x^3+ax+b 로 하고,
타원곡선 E 상의 미지수 P, Q를 각각,
P = (X1, Yl, Z1), Q = (X2, Y2, Z2)로 나타낼 때,
R = (X3, Y3, Z3) = P+Q
를 아래와 같이 하여 구한다.
(i) P ≠ Q의 경우
이 경우 가산의 연산이 된다.
(단계 1-1) 중간값의 계산
이하의 수학식 8내지 수학식 13을 계산한다.
U1 = X1×Z2^2
U2 = X2×Z1^2
S1 = Y1×Z2^3
S2 = Y2×Z1^3
H = U2-U1
r = S2-S1
(단계 1-2) R = (X3, Y3, Z3)의 계산
이하의 수학식 14내지 수학식 16을 계산한다.
X3 = -H^3-2×U1×H^2+r^2
Y3 = -S1×H^3+r×(U1×H^2-X3)
Z3 = Z1×Z2×H
(ii) P = Q의 경우 (즉, R = 2P)
이 경우, 2배의 연산이 된다.
(단계 2-1) 중간값의 계산
이하의 수학식 17내지 수학식 19를 계산한다.
S = 4×X1×Yl^2
M = 3×X1^2+a×Z1^4
T = -2×S+M^2
(단계 2-2) R = (X3, Y3, Z3)의 계산
이하의 수학식 20내지 수학식 22를 계산한다.
X3 = T
Y3 = -8×Yl^4+M×(S-T)
Z3 = 2×Y1×Z1
다음으로 타원곡선의 가산, 2배산을 하는 경우의 계산량에 대해서 설명하기로 한다. 여기에서 유한체 GF(p) 상의 1회 승산에 의한 계산량을 1 Mul, 1회의 2승산에 의한 계산량을 1 Sq로 나타낸다. 또 일반 마이크로 프로세서에 있어서는, 1 Sq ≒ 0.8 Mul이다.
상기의 예에 의하면, P ≠ Q의 경우에 나타나는 타원곡선상의 가산의 계산량은 상기의 수학식 8 ∼ 수학식 16에서, 승산의 횟수 및 2승산의 횟수를 카운트함으로써 얻어져, 12 Mul+4 Sq 이다. 이것은 상기 수학식 8, 9, 10, 11, 14, 15, 16에 있어서의 가산의 계산량은 각각 1 Mul+1 Sq, 1 Mul+1 Sq, 2 Mul, 2 Mul, 2 Mul+2 Sq, 2 Mul, 2 Mul인 것으로부터 분명해진다.
또한 상기의 예에 의하면 P = Q의 경우에 나타나는 타원곡선상의 2배의 계산량은 상기의 수학식17 ∼ 수학식 22에서, 승산의 횟수 및 2승산의 횟수를 카운트함으로써 얻어지고, 4 Mul+6 Sq 이다. 이것은 상기의 수학식 17, 18, 19, 21, 22에 있어서의 2배산의 계산량은 각각 1 Mul+1 Sq, 1 Mul+3 Sq, 1 Sq, 1 Mul+1 Sq, 1 Mul인 것으로부터 분명해진다.
또 상기 횟수의 카운트에 있어서, 예를 들면 수학식 14의 H^3에 대해서는
H^3 = H^2×H
로 전개할 수 있기 때문에, H^3의 계산량은 1 Mul+1 Sq로 하고,
상기의 수학식 18의 Z1^4에 대해서는,
Z1^4 = (Z1^2)^2
로 전개할 수 있기 때문에, Z1^4의 계산량은 2 Sq로 한다.
또한 상기의 수학식 14의 H^2에 대해서는, 전술의 H^3의 계산 공정에서 H^2가 산출되어 있기 때문에, H^2의 계산량을 재차 카운트하지 않는다.
또한 승산 횟수의 카운트시, 어떤 값에 작은 값을 곱하여 행하여지는 승산의 횟수는 카운트하지 않는다. 그 이유를 이하에서 설명하기로 한다.
여기에서 말하는 작은 값이란 상기의 수학식 8 ∼ 수학식 22에서, 승산의 대상이 되는 작은 고정값이며, 구체적으로는 2, 3, 4, 8 등의 값이다. 이들 값은 아무리 많더라도 4비트의 2진수로 표현할 수 있다. 한편, 그 밖의 변수는 통상 160비트의 값을 갖고 있다.
일반적으로 마이크로 프로세서에 있어서, 승수와 피승수의 승산은 피승수의 시프트와 가산의 반복에 의해 행하여진다. 즉, 2진수로 표현되는 승수의 각 비트마다 이 비트가 1이라면 2진수로 표현되는 피승수의 최하위 비트가 이 비트가 존재하는 위치에 일치하도록 피승수를 시프트하여 1개의 비트열을 얻는다. 승수의 모든 비트에 대해, 이렇게 하여 얻어진 적어도 1개의 비트열을 모두 가산한다.
예를 들면 160비트의 승수와 160비트의 피승수의 승산에 있어서는 160비트의 피승수를 160회 시프트하여 160개의 비트열을 얻고, 얻어진 160개의 비트열을 가산한다. 한편, 4비트의 승수와 160비트의 피승수의 승산에 있어서는 160비트의 피승수를 4회 시프트하여 4개의 비트열을 얻고, 얻어진 4개의 비트열을 가산한다.
승산은 상기에 나타낸 바와 같이 행하여지기 때문에, 승산이 어떤 값에 작은 값을 곱하여 행하여지는 경우에는 상기 반복의 횟수가 적어진다. 따라서 그 계산량은 적다고 간주할 수 있으므로, 승산의 횟수에 카운트하지 않는다.
이상에서 설명한 바와 같이, 타원곡선의 2배산을 하는 경우에서, 상기의 수학식 18에는 타원곡선의 파라미터 a가 포함되어 있다. 이 파라미터 a의 값으로, 예를 들면 작은 값을 채용하면 타원곡선상의 2배산의 계산량은 1 Mul분 삭감할 수 있고, 3 Mul+6 Sq로 된다. 또 가산에 관해서는, 타원곡선의 파라미터를 변화시키더라도 계산량은 변하지 않는다.
5. 암호에 적합한 타원곡선의 선택
다음으로 암호에 적합한 타원곡선을 선택하는 방법에 대해서 설명하기로 한다. 또 그 상세에 대해서는「IEEE P1363 Working draft」(1997년 2월 6일, IEEE 발행)에 자세하게 기술되어 있다.
암호에 적합한 타원곡선은 이하의 단계를 반복하는 것에 의해 얻어진다.
(단계 1) 임의의 타원곡선의 선택
유한체 GF(p) 상의 임의의 파라미터 a, b를 선택한다. 여기에서 a, b는 다음의 수학식 23을 만족하며, p는 소수이다.
4×a^3+27×b^2 ≠ 0 (mod p)
선택된 a, b를 이용하여 타원곡선을
E: y^2 = x^3+a×x+b로 한다.
(단계 2) 암호에 적합한 타원곡선인지의 여부를 판정
타원곡선 E의 미지수의 개수 #E(GF(p))를 계산하고,
(조건 1) #E (GF(p))가 큰 소수로 나누어 떨어지며,
또한
(조건 2) #E (GF(p)) - (p+1) ≠ 0, -1인
경우에 타원곡선 E를 채용한다. 조건 1 또는 조건 2을 만족하지 않는 경우는 타원곡선 E를 기각하고, 단계 1로 되돌아가 재차 임의의 타원곡선의 선택과 판정을 반복한다.
상기에서 설명한 바와 같이 타원곡선의 파라미터 a로서 고정적으로 작은 값을 선택하면, 타원곡선의 누승의 연산에 있어서 계산량을 삭감할 수 있지만, 파라미터를 미리 고정적으로 취하는 것에 의해, 암호에 적합한 안전한 타원곡선을 선택하기 어렵다는 문제점이 있다.
또한 반대로, 상기에서 설명한 타원곡선의 선택방법을 이용하여, 암호에 적합한 안전한 타원곡선을 선택하면, 타원곡선의 파라미터 a로서 작은 값을 선택할 수 있다고 한정할 수 없어, 계산량을 삭감할 수 없다는 문제점이 있다.
이와 같이 암호에 적합한 안전한 타원곡선을 선택하여, 그 타원곡선에서의 연산량을 삭감하기 위해서는 서로 모순하여 대립되는 문제점을 갖는다.
본 발명은 상기에서 나타난 문제점을 해결하여, 암호에 적합한 안전한 타원곡선으로서 임의로 선택된 타원곡선을 이 타원곡선과 등가의 안전성을 갖고, 또한 계산량을 삭감할 수 있는 타원곡선으로 변환하는 타원곡선 변환장치, 타원곡선 변환방법 및 타원곡선 변환 프로그램을 기록하고 있는 기록매체를 제공하는 것을 목적으로 한다.
또한 이에 따라 안전하고 또한 고속으로 연산을 할 수 있는 암호장치, 복호장치, 디지털 서명장치, 디지털 서명 검증장치, 키 공유장치 등의 이용장치 및 상기 이용장치와 상기 타원곡선 변환장치로 구성되는 이용 시스템을 제공하는 것을 목적으로 한다.
도 1은 엘가말 서명에 의한 디지털 서명방식 순서를 도시한 순서도.
도 2는 본 발명에 관한 일실시예로서의 타원곡선 변환장치의 블록도.
도 3은 도 2에 도시한 타원곡선 변환장치에서 이용되는 함수 T(i)를 설명하는 표.
도 4는 도 2에 도시한 타원곡선 변환장치의 동작을 도시한 흐름도.
도 5는 도 2에 도시한 타원곡선 변환장치의 변환계수 취득부의 동작을 도시한 흐름도.
도 6은 도 2에 도시한 타원곡선 변환장치의 변환 타원곡선 산출부의 동작을 도시한 흐름도.
도 7은 도 2에 도시한 타원곡선 변환장치를 적용한 키 공유 시스템의 동작순서를 도시한 순서도.
상기 목적을 달성하는 타원곡선 변환장치는 외부로부터 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 기수점으로서의 미지수 G를 수신한 수신수단을 포함하며,
여기에서 타원곡선 E는 유한체 GF(p) 상에서 정의되고, y^2 = x^3+ax+b로 나타내며,
미지수 G는 타원곡선 E 상에 존재하고, G = (x0, y0)로 나타내고;
또 유한체 GF(p) 상에 존재하는 변환계수 t를 취득하는 변환계수 취득수단을 포함하며,
여기에서 변환계수 t는 t ≠ 0이고, 또한 t^4×a (mod p) 는 소수 p와 비교하여 자리수가 작다는 조건을 만족하고,
또 상기 취득된 변환계수 t를 이용하고, 수학식
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0,
에 의해 타원곡선 Et의 파라미터 a' 및 b'와 새로운 기수점 미지수 Gt를 산출하는 타원곡선 산출수단을 포함하며,
여기에서, 타원곡선 Et는 유한체 GF(p) 상에서 정의되어, y'^2 = x'^3+a'×x'+b'로 나타내며,
xt0, yt0는 각각 미지수 Gt의 x좌표값, y좌표값이고;
상기 산출된 파라미터 a' 및 b'와, 미지수 Gt를 외부로 출력하는 출력수단을 포함하는 것을 특징으로 한다.
이 구성에 의하면, 램덤하게 구성된 타원곡선과 같은 안전성을 갖고, 이용장치에 있어서 고속의 연산을 가능하게 하는 타원곡선을 제공할 수가 있어, 그 실용적 가치는 매우 크다.
여기에서 p는 160비트의 소수이고,
상기 변환계수 취득수단은 t^4×a (mod p)가 32비트 이하의 수가 되는 조건을 만족하는 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 변환장치이어도 좋다.
이 타원곡선 변환장치에 의해 변환된 타원곡선을 이용장치에서 이용하면, 타원곡선상의 2배산에 있어서 변환전의 타원곡선의 파라미터 a가 160비트에 가까운 값을 취하는 경우와 비교하여, 1 Mul분의 계산량을 삭감할 수 있다는 것을 알 수 있다.
여기에서 상기 변환계수 취득수단은 t^4×a (mod p)가 -3으로 되는 조건을 만족하는 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 변환장치이어도 좋다.
이 타원곡선 변환장치에 의해 변환된 타원곡선을 이용장치에서 이용하면, 타원곡선상의 2배산에 있어서, 종래와 비교하여 2 Sq분의 계산량을 삭감할 수 있는 것을 알 수 있다.
또한 상기 목적을 달성하는 이용장치는 1개의 타원곡선 E를 변환하여 다른 1개의 타원곡선 Et를 생성하는 타원곡선 변환장치와, 생성된 타원곡선 Et를 이용하는 이용장치로 이루어지는 타원곡선 이용시스템에 있어서,
상기 이용장치는 제 1 출력수단 및 제 1 수신수단과 이용수단을 구비하고, 상기 타원곡선 변환장치는 제 2 수신수단 및 변환계수 취득수단과 타원곡선 산출수단 및 제 2 출력수단을 구비하며,
상기 제 1 출력수단은 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 기수점으로서의 미지수 G를 상기 타원곡선 변환장치으로 출력하고,
여기에서 타원곡선 E는 유한체 GF(p) 상에서 정의되며, y^2 = x^3+ax+b로 나타내고,
미지수 G는 타원곡선 E 상에 존재하며, G = (x0, y0)로 나타내고,
상기 제 2 수신수단은 상기 이용장치로부터 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 미지수 G를 수신하며,
상기 변환계수 취득수단은 유한체 GF(p) 상에 존재하는 변환계수 t를 취득하며,
여기에서 변환계수 t는 t ≠ 0이고 또한 t^4×a (mod p)는 소수 p와 비교하여 자리수가 작다는 조건을 만족하고,
상기 타원곡선 산출수단은 상기 취득된 변환계수 t를 이용하며, 수학식
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0,
에 의해 타원곡선 Et의 파라미터 a' 및 b'와 새로운 기수점으로서의 미지수 Gt를 산출하고,
여기에서 타원곡선 Et는 유한체 GF(p) 상에서 정의되며, y'^2 = x'^3+a'×x'+b'로 나타내며,
xt0, yt0는 각각 미지수 Gt의 x좌표값, y 좌표값이며,
상기 제 2 출력수단은 상기 산출된 파라미터 a' 및 b'와 미지수 Gt를 상기 이용장치로 출력하며,
상기 제 1 수신수단은 상기 출력된 파라미터 a' 및 b'와 미지수 Gt를 수신하며,
상기 이용수단은 소수 p와, 상기 수신한 파라미터 a' 및 b'로 정해지는 타원곡선과, 기수점으로서의 미지수 Gt를 이용하여 유한체 GF(p) 상에서 정의되는 타원곡선상에서의 연산에 근거하여, 이산대수 문제를 안전성의 근거로 하는 암호, 복호, 디지털 서명, 디지털 서명검증 또는 키 공유를 행하는 것을 특징으로 한다.
이 구성에 의하면 랜덤하게 구성된 타원곡선과 같은 안전성을 갖고, 고속의 연산을 가능하게 하는 타원곡선을 이용할 수 있어, 그 실용적 가치는 매우 크다.
여기에서 p는 160비트의 소수이며,
상기 변환계수 취득수단은 t^4×a (mod p)가 32비트 이하의 수로 되는 조건을 만족하는 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 이용 시스템이어도 좋다.
이 구성에 의하면, 변환된 타원곡선을 이용하므로 타원곡선상의 2배산에 있어서, 변환전의 타원곡선의 파라미터 a가 160비트에 가까운 값을 취하는 경우와 비교하여, 1 Mul분의 계산량을 삭감할 수 있는 것을 알 수 있다.
여기에서 상기 변환계수 취득수단은 t^4×a (mod p)가 -3으로 되는 조건을 만족하는 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 이용 시스템이어도 좋다.
이 구성에 의하면 변환된 타원곡선을 이용하므로, 타원곡선상의 2배산에 있어서, 종래와 비교하여 2 Sq분의 계산량을 삭감할 수 있는 것을 알 수 있다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부 도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.
( 실시예 )
본 발명에 관한 일실시예로서의 타원곡선 변환장치(200)에 대해, 도면을 이용하여 설명하기로 한다.
1. 타원곡선 변환장치(200)의 구성
타원곡선 변환장치(200)는 도 2에 도시한 바와 같이, 파라미터 수신부(210),변환계수 취득부(220), 변환 타원곡선 산출부(230), 파라미터 송출부(240)로 구성된다.
( 파라미터 수신부(210) )
파라미터 수신부(210)는 외부의 장치로부터 타원곡선의 파라미터 a, b와, 상기 타원곡선상의 미지수 G와, 소수 p를 수신한다. 여기에서 p는 160비트의 소수이다.
상기 외부장치에는 공개키 암호를 이용하는 암호장치, 복호장치, 디지털 서명장치, 디지털 서명 검증장치, 키 공유장치등이 포함된다. 상기 외부장치는 공개키 암호의 안전성의 근거로서 타원곡선상의 이산대수 문제를 이용하고 있으며, 상기 타원곡선을 갖고 있다.
여기에서 유한체 GF(p) 상의 임의로 구성되는 상기 타원곡선은,
E:y^2 = x^3+ax+b 로 나타내며,
상기 미지수 G는 상기 타원곡선의 임의에 구성되며,
G = (x0, y0)
로 나타낸다.
( 변환계수 취득부(220) )
변환계수 취득부(220)는 도 3에 도시한 바와 같이 함수 T(i)를 갖는다. 함수 T(i)는 i = 0, 1, 2, 3, 4일 때, 각각 -3, 1, -1, 2, -2의 값을 갖는다. 또한 함수 T(i)는 i = 5, 6, 7, 8, 9, 10…일 때, 4, -4, 5, -5, 6, -6…의 값을 갖는다.
변환계수 취득부(220)는 i= 0부터 시작하여, i의 값을 1씩 가산하면서, 다음의 수학식 24를 만족하며,
-2^ 31+1 ≤ T(i) ≤ 2^31-1
또한, 다음의 수학식 25가 되는 변환계수 t로서, 유한체 GF(p) 상의 미지수인 변환계수 t를 산출한다.
T(i) = t^4×a (mod p)
여기에서 상기의 수학식 24는 T(i)가 32비트 이하가 되도록 취해지는 것을 나타내고 있다.
또 함수 T(i)는 i = 0일 때 -3의 값을 갖고 있고, 변환계수 취득부(220)는 i = 0부터 시작하여, i의 값을 1씩 가산하면서, 함수 T(i)의 값을 참조하므로, 처음의 -3 값이 참조된다.
또한 함수 T(i)는 i = 0일 때 -3의 값을 갖고 있는 것을 제외하고, 절대값이 작은 값부터 큰 값의 순으로 값을 갖고 있으므로, 절대값이 작은 값부터 순서대로 참조할 수 있다.
( 변환 타원곡선 산출부(230) )
변환 타원곡선 산출부(230)는 유한체 GF(p) 상에 구성되는 변환 타원곡선
Et:y'^2 = x'^3+a'×x'+b'의
파라미터 a', b'를 각각 다음의 수학식 26, 수학식 27과 같이 하여 산출한다.
a' = a×t^4
b' = b×t^6
또한 변환 타원곡선 산출부(230)는 미지수 G에 대응하는 변환 타원곡선 Et 상의 미지수 Gt = (xt0, yt0)를 다음의 수학식 28, 수학식 29와 같이 하여 산출한다.
xt0 = t^2×x0
yt0 = t^3×y0
또 타원곡선 E 상의 임의의 점은 이상과 같이 하여 생성된 파라미터 a', b' 로 정해지는 변환 타원곡선 Et 상의 1점으로 변환된다.
( 파라미터 송출부(240) )
파라미터 송출부(240)는 상기 산출된 변환 타원곡선 Et의 파라미터 a', b' 와, 미지수 Gt(xt0, yt0)를 상기 외부장치로 송출한다.
2. 타원곡선 변환장치(200)의 동작
( 타원곡선 변환장치(200)의 전체 동작 )
타원곡선 변환장치(200)의 전체 동작에 대해서 도 4에 도시한 흐름도를 이용하여 설명하기로 한다.
파라미터 수신부(210)는 외부장치로부터 소수 p와, 타원곡선 E의 파라미터 a 및 b를 수취하여(단계 S301), 상기 타원곡선상의 미지수 G를 수취한다(단계 S302). 다음으로 변환계수 취득부(220)는 변환계수 t를 산출하고(단계 S303), 변환 타원곡선 산출부(230)는 유한체 GF(P) 상에 구성되는 변환 타원곡선 Et의 파라미터 a', b'와, 미지수 G에 대응하는 변환 타원곡선 Et 상의 미지수 Gt = (xt0, yt0)를 산출하고(단계 S304), 파라미터 송출부(240)는 상기 산출된 변환 타원곡선 Et의 파라미터 a', b'와, 미지수 Gt (xt0, yt0)를 상기 외부장치로 송출한다(단계 S305).
( 변환계수 취득부(220)의 동작 )
다음으로 변환계수 취득부(220)의 동작에 대해, 도 5에 도시한 흐름도를 이용하여 설명하기로 한다.
변환계수 취득부(220)는 i에 0의 값을 설정한다(단계 S311). 다음으로 변환계수 취득부(220)는 함수 T(i)에 대해,
-2^31+1 ≤ T(i) ≤ 2^31-1
을 만족하는지의 여부를 판정하여, 만족하지 않으면(단계 S312) 처리를 종료한다. 만족하면(단계 S312),
T(i) = t^4×a (mod p)
이 되는 변환계수 t를 산출하고(단계 S313), 산출된 변환계수 t가 유한체 GF(p) 상의 미지수인지의 여부를 판정하여, 유한체 GF(p) 상의 미지수라면(단계 S314) 처리를 종료한다. 유한체 GF(p) 상의 미지수가 아니라면(단계 S314), i에 1를 가산하여(단계 S315), 다시 단계 S312로 제어를 되돌린다.
( 변환 타원곡선 산출부(230)의 동작 )
다음으로 변환 타원곡선 산출부(230)의 동작에 대해서, 도 6에 도시한 흐름도를 이용하여 설명하기로 한다.
변환 타원곡선 산출부(230)는 유한체 GF(p) 상에 구성되는 변환 타원곡선 Et의 파라미터 a' = a×t^4를 산출하고(단계 S321), 파라미터 b' = b×t^6을 산출한다(단계 S322).
또한 변환 타원곡선 산출부(230)는 미지수 G에 대응하는 변환 타원곡선 Et 상의 미지수 Gt = (xt0, yt0)로 하여, xt0 = t^2×x0를 산출하고(단계 S323), yt0 = t^3×y0을 산출한다(단계 S324).
3. 변환 타원곡선 Et와 타원곡선 E가 동형이라는 증명
여기에서는 변환 타원곡선 Et:y'^2 = x'^3+a×t^4×x'+b×t^6과, 타원곡선 E:y^2 = x^3+a×x+b가 동형인 것을 증명하기로 한다. 또 이하에 있어서, 타원곡선상의 연산은 아핀좌표인 것을 취급한다.
타원곡선 E상의 임의의 점 P(x0, y0)를 취한다. 이 때, 점 P는 E 상의 점이므로, 다음의 수학식 30을 만족하고 있다.
y0^2 = x0^3+a×x0+b
이 변환에 의해 점 P는 점 P'(x0', y0') = (t^2×x0, t^3×y0)으로 변환된다.
여기에서 상기의 수학식 30의 양변에, t^6를 곱하면,
t^6×y0^2 = t^6×x0^3+t^6×a×x0+t^6×b
를 얻을 수 있다. 상기의 수학식 30은 다음과 같이 변형할 수 있다.
(t^3×y0)^2
= (t^2×x0)^3+a×t^4×(t^2×x0)+b×t^6
상기의 수학식 30은 또한 다음과 같이 변형할 수 있다.
y0'^2 = x0'^3+a×t^4×x0'+b×t^6
이것은 점 P'가 변환 타원곡선 Et 상에 있는 것을 나타내고 있다.
또한 타원곡선 E 상의 점으로부터 변환 타원곡선 Et 상의 점으로의 변환은,
(x, y)→(x', y') = (t^2×x, t^3×y)
에 의해 표시된다. 여기에서 t ≠ 0 이기 때문에, 이하에 나타나는 변환 타원곡선 Et 상의 점으로부터 타원곡선 E 상으로의 점의 변환은 상기 변환의 역변환이라는 것을 용이하게 알 수 있다.
(x', y')→(x, y) = (x'/(t^2), y'/(t^3))
이상의 것으로부터 타원곡선 E 상의 점과 변환 타원곡선 Et 상의 점이 1대 1로 대응하고 있는 것을 알 수 있다.
다음으로 타원곡선 E 상의 임의의 다른 2점 P = (x1, y1), Q = (x2, y2)를 취하여, R = P+Q로 하고, R의 좌표를 (x3, y3)로 한다. 이 때, 앞에서 설명한 바와 같이,
x3 = {(y2-y1)/(x2-x1)}^2-x1-x2
y3 = {(y2-y1)/(x2-x1)}(x1-x3)-y1
이 된다.
다음으로 본 발명에서 이용한 타원곡선의 변환에 의해 타원곡선 E 상의 점 P, 점 Q, 점 R이 각각 변환 타원곡선 Et 상의 점 P', 점 Q', 점 R'로 변환되는 것으로 한다. 여기에서 점 P', 점 Q', 점 R'의 좌표를 각각 (x1', yl'), (x2', y2'), (x3', y3')로 한다. 이 때,
x1' = t^2×x1
yl' = t^3×y1
x2' = t^2×x2
y2' = t^3×y2
x3' = t^2×x3
y3' = t^3×y3
가 성립한다.
또한 R" = P'+Q'로 한다.
단, 여기에 있어서의 가산연산은 변환 타원곡선 Et 상의 가산을 나타낸다.
R"의 좌표를 (x3", y3")로 하면,
x3" = {(y2'-y1')/(x2'-x1')}^2-x1'-x2'
y3" = {(y2'-y1')/(x2'-x1')}(x1'-x3')-y1'
이 된다.
여기에서 상기의 수학식 30에 있어서의 x1', yl', x2', y2'를 각각 상기한 바와 같이 x1, y1, x2, y2를 이용하여 나타내면,
x3" = {(t^3×y2-t^3×yl)/(t^2×x2 -t^2×x1)}^2-t^2×x1-t^2×x2
= {t(y2-yl)/(x2-x1)}^2-t^2×x1-t^2×x2
= t^2×{{(y2-yl)/(x2-x1)}^2-x1-x2}
= t^2×x3
= x3'
y3" = {(t^3×y2-t^3×yl)/(t^2×x2-t^2×x1)}×(t^2×x1-t^2×x3)-t^3×y1
= {t(y2-yl)/(x2-x1)}×t^2(x1-x3)-t^3×y1
= t^3×{{(y2-yl)/(x2-x1)}×(x1-x3)-y1}
= t^3×x3
= y3'
이 된다. 따라서 R'과 R"는 같은 점을 나타내고 있는 것을 알 수 있다.
이상으로부터, 타원곡선상의 가산연산은 본 변환에 있어서도 보장된다는 것을 알 수 있다.
다음으로 Q = P의 경우에 대해 즉, 2배공식에 대해 설명하기로 한다.
앞에서와 같이, 타원곡선 E 상의 임의의 점 P에 대하여, R = P+P로 하고, 본 발명에서 이용한 타원곡선의 변환에 의해, 타원곡선 E상의 점 P, 점 R이 각각 변환 타원곡선 Et상의 점 P', 점 R'로 변환되는 것으로 한다. 여기에서 점 P, 점 R, 점 P', 점 R'의 좌표를 각각 (x1, yl), (x3, y3), (x1', y1'), (x3', y3')로 한다. 이 때,
x1' = t^2×x1
yl' = t^3×y1
x3' = t^2×x3
y3' = t^3×y3
이 성립한다. 또한 R" = P'+P'로 한다.
단, 여기에 있어서의 2배 연산은 변환 타원곡선 Et 상의 2배 연산을 나타낸다.
점 R"의 좌표를 (x3", y3")로 하면,
x3" = {(3x1'^2+a)/2y1'}^2-2x1'
y3" = {(3x1'^2+a)/2yl'}(x1'-x3')-yl'
이 된다. 여기에서 x1', y1'를 각각 x1, y1을 이용하여 상기와 같이 나타내면,
x3" = {{(t^2×3x1)^2+a}/(2×t^3×yl)}^2-2×t^2×x1
= t^2{(3x1^2+a)/y1}^2-t^2×2x1
= t^2{{(3x1^2+a)/y1}^2-2x1}
= t^2×x3
= {t(y2-yl)/(x2-x1)}^2-t^2×x1-t^2×x2
= t^2{{(y2-yl)/(x2-x1)}^2-x1-x2}
= t^2×x3
= x3'
y3" = {{(t^2×3x1)^2+a}/(2×t^3×yl)}×(t^2×x1-t^2×x3)-t^3×y1
= t^3{(3x1^2+a)/2y1}(x1-x3)-t^3×y1
= t^3{{(3x1^2+a)/2y1}(x1-x3)-y1}
= t^3×y3
= y3'
이 된다. 따라서 R'와 R"는 같은 점을 나타내고 있는 것을 알 수 있다.
이상으로부터 타원곡선상의 2배 연산은 본 변환에 있어서도, 보장되는 것을 알 수 있다.
이상에서 설명한 바와 같이, 타원곡선 E와 본 발명에서 이용하는 변환에 의해 생성된 변환 타원곡선 Et는 동형인 것이 증명되었다.
4. 변환 타원곡선 Et을 이용하는 경우의 계산량의 평가
상기의 실시예에 의하면 변환 타원곡선 Et의 파라미터 a'는 32비트 이하가 되도록 취하기 때문에, 상기의 수학식 18의 계산량은 3 Sq가 된다. 따라서, 타원곡선상의 가산의 계산량은 12 Mul+4 Sq가 되고, 2배산의 계산량은 3 Mul+6 Sq가 된다. 이와 같이, 타원곡선 E의 파라미터 a가 160 비트에 가까운 값인 경우와 비교하면 2배산에 있어서, 1 Mul분의 계산량을 삭감할 수 있는 것을 알 수 있다.
상기에서 설명한 바와 같이 함수 T(i)는 i = 0일 때, -3의 값을 갖고 있는 것을 제외하고, 절대값이 작은 값으로부터 큰 값의 순으로 값을 갖고 있고, 절대값이 작은 값으로부터 순서대로 참조할 수 있으므로, 보다 계산량이 적은 변환 타원곡선부터 차례대로 적절한 변환 타원곡선을 선택해 갈 수 있다.
또한 상기의 실시예에 의하면 변환 타원곡선 Et의 파라미터 a'가 -3의 경우, 상기의 수학식 18은,
M = 3×x1^2+a'×Z1^4
= 3×x1^2-3×Z1^4
= 3×(x1+Z1^2)×(x1-Z1^2)
로 변형할 수 있다.
마지막 수학식에 있어서, 계산량은 1 Mul+ 1 Sq가 된다. 따라서 타원곡선상의 가산의 계산량은 12 Mul+4 Sq가 되고, 2배산의 계산량은 4 Mul+4 Sq가 된다. 이와 같이 종래와 비교하면, 2배산에 있어서 2 Sq분의 계산량을 삭감할 수 있는 것을 알 수 있다.
상기에서 설명한 바와 같이, 함수 T(i)는 i = 0일 때 -3의 값을 갖고 있고, 변환계수 취득부(220)는 i = 0부터 시작하여, i의 값을 1씩 가산하면서 함수 T(i)의 값을 참조하므로, 처음의 -3의 값이 참조된다. 따라서 2배산에 있어서, 종래에 비하여 2 Sq분의 계산량을 삭감할 수 있는 경우가 처음부터 검증됨으로써, 가장 적절한 변환 타원곡선을 한 번에 검출할 수 있을 가능성이 있다.
이런 이유로 본 실시예에 나타난 변환 타원곡선을 이용하면, 타원곡선상의 계산을 고속화할 수 있다.
5. 변형예
변환계수 취득부(220)는 다음과 같이 하여 변환계수 t를 결정해도 좋다. 변환계수 취득부(220)는 난수발생부를 구비하고 있고, 상기 난수발생부는 유한체 GF(p) 상의 미지수 u(u ≠ 0)를 랜덤하게 발생한다. 다음으로 변환계수 취득부(220)는 미지수 u가 다음의 수학식 31을 만족하는지의 여부를 판정한다.
-2^31+1 ≤ u^4×a (mod p) ≤ 2^31-1
미지수 u가 상기의 수학식 31을 만족한다고 판정된 경우는 미지수 u를 변환계수 t로 채용한다. 미지수 u가 상기의 수학식 31을 만족하지 않는다고 판정된 경우는, 재차 상기 난수발생부는 랜덤하게 미지수 u를 발생하여, 변환계수 취득부(220)는 미지수 u가 상기의 수학식 31을 만족하는지의 여부를 판정한다.
변환계수 취득부(220)는 상기의 수학식 31을 만족하는 미지수 u가 발견될 때까지, 상기 난수발생부에 의한 미지수 u의 발생과 상기의 수학식 31을 만족하는지의 여부의 판정을 반복한다.
또한 변환계수 취득부(220)는 수학식 31 대신에 다음의 수학식 32를 이용하여도 좋다.
u^4×a (mod p) = -3
6. 타원곡선 변환장치(200)의 적용예
상기에서 설명한 타원곡선 변환장치(200)를 적용하는 키 공유 시스템을 도 7에 도시한 순서도를 이용하여 설명하기로 한다.
사용자 A(450), 관리 센터(460) 및 사용자 B(470)는 네트워크로 접속되어 있다.
(1) 관리 센터(460)에 의한 타원곡선의 선택
관리 센터(460)는 소수 p를 선택하고 유한체 GF(p) 상의 타원곡선 E를 선택하며, E의 기수점을 G로 하고, E의 위수를 q로 한다(단계 S411). 즉 q는 상기의 수학식 2를 만족하는 최소의 양의 정수이다.
여기에서,
E: y^2 = x^3 +a×x+b 이고,
G = (x0, y0) 이다.
다음으로 관리 센터(460)는 p, E, G를 타원곡선 변환장치(200)로 송출한다(단계 S412).
(2) 타원곡선 변환장치(200)에 의한 변환 타원곡선의 생성
타원곡선 변환장치(200)는 변환 타원곡선 Et를 산출하고, 미지수 Gt를 산출한다(단계 S421).
여기에서,
Et:y'^2 = x'^3+a'×x'+b',
a' = a×t^4,
b' = b×t^6,
Gt = (xt0, yt0),
xt0 = t^2×x0,
yt0 = t^3×y0 이다.
다음으로 타원곡선 변환장치(200)는 Et, Gt를 관리 센터(460)로 송출한다 (단계 S422).
관리센터(460)는 p, Et, Gt를 각 사용자에게 송출한다(단계 S413).
(3) 사용자에 의한 비밀키의 설정과 공개키의 생성
사용자 A(450)는 비밀키 xA를 설정하고(단계 S401), 사용자 B(470)는 비밀키 xB를 설정한다(단계 S431).
사용자 A(450)는 수학식 YA = xA*Gt에 의해, 공개키 YA를 산출하고(단계 S402), 공개키 YA를 사용자 B(470)로 송출한다(단계 S403).
또한 사용자 B(470)는 수학식 YB = xB*Gt에 의해 공개키 YB를 산출하고(단계 S432),공개키 YB를 사용자 A(450)로 송출한다(단계 S433).
(4) 각 사용자에 의한 공유키의 생성
사용자 A(450)는 공유키를 xA*YB에 의해 산출한다(단계 S404). 또한 사용자 (B470)는 공유키를 xB*YA에 의해 산출한다(단계 S434).
여기에서 사용자 A(450)에 의해 산출된 공유키 xA*YB는
xA*YB = (xA×xB)*Gt
와 같이 변형할 수 있다.
또한 사용자 B(470)에 의해 산출된 공유키 xB×YA는,
xB*YA = (xB×xA)*Gt
= (xA×xB)*Gt
와 같이 변형할 수 있다.
따라서 사용자 A(450)에 의해 산출된 공유키 xA*YB와, 사용자 B(470)에 의해 산출된 공유키 xB*YA가 동일한 것임은 명확하다.
7. 그 밖의 변형예
다른 실시예의 하나는 상기에 의해 나타내는 타원곡선 변환방법이라고 해도 좋다. 상기 타원곡선 변환방법을 컴퓨터에 실행시키는 타원곡선 변환 프로그램을 포함하는 컴퓨터 판독 가능한 기록매체이어도 좋다. 또한 상기 타원곡선 변환 프로그램을 통신회선을 통해 전송한다고 해도 좋다.
또한 상기에서 설명한 타원곡선 변환장치를 암호장치, 복호장치, 또는 암호장치와 복호장치로 이루어지는 암호시스템에 적용해도 좋다.
또한 상기에서 설명한 타원곡선 변환장치를 디지털 서명장치, 디지털 서명 검증장치, 또는 디지털 서명장치와 디지털 서명 검증장치로 이루어지는 디지털 서명 시스템에 적용해도 좋다.
또한 암호장치, 복호장치, 디지털 서명장치, 디지털 서명 검증장치, 또는 키 공유장치는 타원곡선 변환장치에 의해 산출된 타원곡선의 파라미터 a', b'와 미지수 Gt를 미리 기억해 두고, 기억하고 있는 타원곡선의 파라미터 a', b'와 미지수 Gt를 이용하여, 암호, 복호, 디지털 서명, 디지털 서명 검증, 또는 키 공유를 행한다고 해도 좋다.
또한, 상기에서 나타낸 실시예 및 그 복수의 변형예를 조합해도 좋다.
상술한 본 발명의 구성에 의하면, 암호에 적합한 안전한 타원곡선으로서 임의로 선택된 타원곡선을 이 타원곡선과 등가의 안전성을 갖고, 또한 계산량을 삭감할 수 있는 타원곡선으로 변환할 수 있는 타원곡선 변환장치 및 타원곡선 변환 방법 및 이 변환프로그램을 기록한 기록매체를 얻을 수 있게 되므로, 안전하면서도 고속의 연산을 수행할 수 있게 되는 효과를 얻을 수 있다.
상술한 본 발명의 바람직한 실시예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 첨부된 특허청구의 범위에 개시된 본 발명의 사상과 범위를 통해 각종 수정, 변경, 대체 및 부가가 가능할 것이다.

Claims (12)

1개의 타원곡선 E를 변환하여 다른 1개의 타원곡선 Et을 생성하는 타원곡선변환장치에 있어서,
외부로부터 소수(素數) p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 기수점(base point)으로서의 미지수 G를 수신한 수신수단을 포함하며,
여기에서 타원곡선 E는 유한체 GF (p)상에서 정의되고, y^2 = x^3+ax+b로 나타내며,
미지수 G는 타원곡선 E 상에 존재하고, G = (x0, y0)로 나타내고;
유한체 GF(p)상에 존재하는 변환계수 t를 취득하는 변환계수 취득수단을 포함하며,
여기에서 변환계수 t는 t ≠ 0이고, 또한 t^4×a (mod p) 는 소수 p와 비교하여 자리수가 작다는 조건을 만족하고,
또 상기 취득된 변환계수 t를 이용하고, 수학식
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0,
에 의해 타원곡선 Et의 파라미터 a' 및 b'와 새로운 기수점 미지수 Gt를 산출하는 타원곡선 산출수단을 포함하며,
여기에서, 타원곡선 Et는 유한체 GF (p) 상에서 정의되어, y'^2 = x'^3+a'×x'+b'로 나타내며,
xt0, yt0는 각각 미지수 Gt의 x좌표값, y좌표값이고;
상기 산출된 파라미터 a' 및 b'와, 미지수 Gt를 외부로 출력하는 출력수단을 포함하는 것을 특징으로 하는 타원곡선 변환장치.
제 1 항에 있어서,
p는 160비트의 소수이고,
상기 변환계수 취득수단은 t^4×a (mod p)가 32비트 이하의 수가 되는 조건을 만족하는 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 변환장치.
제 1 항에 있어서,
상기 변환계수 취득수단은 t^4×a (mod p)가 -3으로 되는 조건을 만족하는 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 변환장치.
제 1 항에 있어서,
상기 변환계수 취득수단은 변수 T로서 초기값을 -3으로하고 초기값 이외의 값에 대해서는 자리수가 작은 값에서 큰 값의 순으로 취하는 것과,
T = t^4×a (mod p)
라는 조건을 만족하는지의 여부를 판정하는 것을 반복함으로써 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 변환장치.
1개의 타원곡선 E를 변환하여 다른 1개의 타원곡선 Et를 생성하는 타원곡선변환장치와, 생성된 타원곡선 Et를 이용하는 이용장치로 이루어지는 타원곡선 이용시스템에 있어서,
상기 이용장치는 제 1 출력수단 및 제 1 수신수단과 이용수단을 구비하고, 상기 타원곡선 변환장치는 제 2 수신수단 및 변환계수 취득수단과 타원곡선 산출수단 및 제 2 출력수단을 구비하며,
상기 제 1 출력수단은 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 기수점으로서의 미지수 G를 상기 타원곡선 변환장치로 출력하고,
여기에서 타원곡선 E는 유한체 GF(p) 상에서 정의되며, y^2 = x^3+ax+b로 나타내고,
미지수 G는 타원곡선 E 상에 존재하며, G = (x0, y0)로 나타내고,
상기 제 2 수신수단은 상기 이용장치로부터 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 미지수 G를 수신하며,
상기 변환계수 취득수단은 유한체 GF(p)상에 존재하는 변환계수 t를 취득하며,
여기에서 변환계수 t는 t ≠ 0이고 또한 t^4×a (mod p)는 소수 p와 비교하여 자리수가 작다는 조건을 만족하고,
상기 타원곡선 산출수단은 상기 취득된 변환계수 t를 이용하며, 수학식
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0,
에 의해 타원곡선 Et의 파라미터 a' 및 b'와 새로운 기수점으로서의 미지수 Gt를 산출하고,
여기에서 타원곡선 Et는 유한체 GF(p) 상에서 정의되며, y'^2 = x'^3+a'×x'+b'로 나타내며,
xt0, yt0는 각각 미지수 Gt의 x좌표값, y 좌표값이며,
상기 제 2 출력수단은 상기 산출된 파라미터 a' 및 b'와 미지수 Gt를 상기 이용장치로 출력하며,
상기 제 1 수신수단은 상기 출력된 파라미터 a' 및 b'와 미지수 Gt를 수신하며,
상기 이용수단은 소수 p와, 상기 수신한 파라미터 a' 및 b'로 정해지는 타원곡선과, 기수점으로서의 미지수 Gt를 이용하며, 유한체 GF(p) 상에서 정의되는 타원곡선상에서의 연산에 근거하여, 이산대수 문제를 안전성의 근거로 하는 암호, 복호, 디지털 서명, 디지털 서명검증 또는 키 공유를 행하는 것을 특징으로 하는 타원곡선 이용시스템.
제 5 항에 있어서,
p는 160비트의 소수이며,
상기 변환계수 취득수단은 t^4×a (mod p)가 32비트 이하의 수로 되는 조건을 만족하는 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 이용시스템.
제 5 항에 있어서,
상기 변환계수 취득수단은 t^4×a (mod p)가 -3으로 되는 조건을 만족하는 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 이용시스템.
제 5 항에 있어서,
상기 변환계수 취득수단은 변수 T로서 초기값을 -3으로 하고 초기값 이외의 값에 대해서는, 자리수가 작은 값부터 큰 값의 순으로 취하는 것과,
T = t^4×a (mod p)라는 조건을 만족하는지의 여부를 판정하는 것을 반복함으로써, 변환계수 t를 취득하는 것을 특징으로 하는 타원곡선 이용시스템.
제 2 수신수단과 변환계수 취득수단 및 타원곡선 산출수단과 제 2 출력수단을 구비하며, 1개의 타원곡선 E를 변환하여 다른 1개의 타원곡선 Et을 생성하는 타원곡선 변환장치로부터 상기 생성된 타원곡선 Et를 수신하여 이용하는 이용장치에 있어서,
상기 이용장치는 제 1 출력수단과 제 1 수신수단 및 이용수단을 구비하며,
상기 제 1 출력수단은 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 기수점으로서의 미지수 G를 상기 타원곡선 변환장치로 출력하며,
여기에서 타원곡선 E는 유한체 GF(p) 상에서 정의되며, y^2 = x^3+ax+b로 나타내며,
미지수 G는 타원곡선 E 상에 존재하며, G = (x0, y0)로 나타내고,
상기 제 2 수신수단은 상기 이용장치로부터 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 미지수 G를 수신하며,
상기 변환계수 취득수단은 유한체 GF(p)상에 존재하는 변환계수 t를 취득하며,
여기에서 변환계수 t는 t ≠ 0이고, 또한 t^4×a (mod p)는 소수 p와 비교하여 자리수가 작다는 조건을 만족하고,
상기 타원곡선 산출수단은 상기 취득된 변환계수 t를 이용하며, 수학식
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0,
에 의해 타원곡선 Et의 파라미터 a' 및 b'와, 미지수 Gt를 산출하며,
여기에서 타원곡선 Et는 유한체 GF(p) 상에서 정의되며, y'^2 = x'^3+a'×x'+b'로 나타내며,
xt0, yt0는 각각 미지수 Gt의 x 좌표값, y 좌표값이고,
상기 제 2 출력수단은 상기 산출된 파라미터 a' 및 b'와, 미지수 Gt를 상기 이용장치로 출력하며,
상기 제 1 수신수단은 상기 출력된 파라미터 a' 및 b'와, 미지수 Gt를 수신하며,
상기 이용수단은 소수 p와 상기 수신한 파라미터 a' 및 b'로 정해지는 타원곡선과, 기수점으로서의 미지수 Gt를 이용하며, 유한체 GF(p) 상에서 정의되는 타원곡선상에서의 연산에 근거하여, 이산대수 문제를 안전성의 근거로 하는 암호, 복호, 디지털 서명, 디지털 서명검증 또는 키 공유를 행하는 것을 특징으로 하는 이용장치.
1개의 타원곡선 E를 변환하여 생성된 타원곡선 Et를 이용하는 이용장치에 있어서,
타원곡선 Et의 파라미터 a' 및 b'와, 기수점으로서의 미지수 Gt를 기억하고 있는 기억수단을 포함하며,
p와, 상기 기억하고 있는 파라미터 a' 및 b'로 정해지는 타원곡선과, 기수점으로서의 미지수 Gt를 이용하여, 유한체 GF (p) 상에서 정의되는 타원곡선상에서의 연산에 근거하여, 이산대수 문제를 안전성의 근거로 하는 암호, 복호, 디지털 서명, 디지털 서명검증 또는 키 공유를 행하는 이용수단을 포함하며,
여기에서 파라미터 a' 및 b'와, 미지수 Gt는 타원곡선 변환장치에 의해 생성되며, 상기 타원곡선 변환장치는 변환계수 취득수단, 타원곡선 산출수단을 구비하며,
p는 소수이며,
타원곡선 E는 유한체 GF(p) 상에서 정의되며, y^2 = x^3+ax+b로 나타내며,
기수점으로서의 미지수 G가 타원곡선 E 상에 존재하며, G = (x0, y0)로 나타내고,
상기 변환계수 취득수단은 유한체 GF(p)상에 존재하는 변환계수 t를 취득하며,
여기에서 변환계수 t는 t ≠ 0이며, 또한 t^4×a (mod p)는 소수 p와 비교하여 자리수가 작다는 조건을 만족하며,
상기 타원곡선 산출수단은 상기 취득된 변환계수 t를 이용하여 수학식
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0,
에 의해, 타원곡선 Et의 파라미터 a' 및 b'와, 새로운 기수점으로서의 미지수 Gt를 산출하며,
여기에서 타원곡선 Et는 유한체 GF(p) 상에서 정의되며, y'^2 = x'^3+a'×x'+b'로 나타내며,
xt0, yt0는 각각 미지수 Gt의 x좌표값, y 좌표값인 것을 특징으로 하는 이용장치.
1개의 타원곡선 E를 변환하여 다른 1개의 타원곡선 Et를 생성하는 타원곡선변환방법에 있어서,
외부로부터 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 기수점으로서의 미지수 G를 수신하는 수신단계를 포함하며,
여기에서 타원곡선 E는 유한체 GF(p) 상에서 정의되며, y^2 = x^3+ax+b로 나타내며,
미지수 G는 타원곡선 E 상에 존재하며, G = (x0, y0)로 나타내며;
유한체 GF(p)상에 존재하는 변환계수 t를 취득하는 변환계수 산출단계를 포함하며,
여기에서 변환계수 t는 t ≠ 0이고, 또한 t^4×a (mod p)는 소수 p와 비교하여 자리수가 작다는 조건을 만족하고,
상기 취득된 변환계수 t를 이용하여, 수학식
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0,
에 의해 타원곡선 Et의 파라미터 a' 및 b'와, 새로운 기수점으로서의 미지수 Gt를 산출하는 타원곡선 산출단계를 포함하며,
여기에서 타원곡선 Et는 유한체 GF(p) 위에서 정의되며, y'^2 = x'^3+a'×x'+b'로 나타내며,
xt0, yt0는 각각 미지수 Gt의 x좌표값, y좌표값이며;
상기 산출된 파라미터 a' 및 b'와, 미지수 Gt를 외부로 출력하는 출력단계를 포함하는 것을 특징으로 하는 타원곡선 변환방법.
1개의 타원곡선 E를 변환하여 다른 1개의 타원곡선 Et을 생성하는 타원곡선변환 프로그램을 기록하고 있는 컴퓨터 판독가능한 기록매체에 있어서,
상기 프로그램은,
외부로부터 소수 p와, 타원곡선 E의 파라미터 a 및 파라미터 b와, 기수점으로서의 미지수 G를 수신하는 수신단계를 포함하며,
여기에서 타원곡선 E는 유한체 GF(p) 상에서 정의되며, y^2 = x^3+ax+b로 나타내며,
미지수 G는 타원곡선 E 상에 존재하며, G = (x0, y0)로 나타내고;
유한체 GF(p)상에 존재하는 변환계수 t를 취득하는 변환계수 산출단계를 포함하며,
여기에서 변환계수 t는 t ≠ 0이고, 또한 t^4×a (mod p)는 소수 p와 비교하여 자리수가 작다는 조건을 만족하고,
상기 취득된 변환계수 t를 이용하여, 수학식
a' = a×t^4,
b' = b×t^6,
xt0 = t^2×x0,
yt0 = t^3×y0,
에 의해 타원곡선 Et의 파라미터 a' 및 b'와, 새로운 기수점으로서의 미지수 Gt를 산출하는 타원곡선 산출단계를 포함하며,
여기에서 타원곡선 Et는 유한체 GF(p) 상에서 정의되며, y'^2 = x'^3+a'×x'+b'로 나타내며,
xt0, yt0는 각각 미지수 Gt의 x 좌표값, y 좌표값이고,
상기 산출된 파라미터 a' 및 b'와, 미지수 Gt를 외부로 출력하는 출력단계를 포함하는 것을 특징으로 하는 기록매체.
KR10-1999-0007218A 1998-03-05 1999-03-05 타원곡선 변환장치, 이용장치 및 이용시스템 KR100513127B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP???10-53204 1998-03-05
JP5320498 1998-03-05

Publications (2)

Publication Number Publication Date
KR19990077606A true KR19990077606A (ko) 1999-10-25
KR100513127B1 KR100513127B1 (ko) 2005-09-07

Family

ID=12936350

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0007218A KR100513127B1 (ko) 1998-03-05 1999-03-05 타원곡선 변환장치, 이용장치 및 이용시스템

Country Status (6)

Country Link
US (1) US6212277B1 (ko)
EP (1) EP0940944B1 (ko)
KR (1) KR100513127B1 (ko)
CN (1) CN1235446A (ko)
DE (1) DE69903366T2 (ko)
TW (1) TW425803B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101035394B1 (ko) * 2008-05-23 2011-05-20 (주) 이니투스 공개키 생성시간좌표를 이용한 ecc 인증방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307935B1 (en) * 1991-09-17 2001-10-23 Apple Computer, Inc. Method and apparatus for fast elliptic encryption with direct embedding
US5825002A (en) 1996-09-05 1998-10-20 Symbol Technologies, Inc. Device and method for secure data updates in a self-checkout system
US20020057796A1 (en) * 1998-12-24 2002-05-16 Lambert Robert J. Method for accelerating cryptographic operations on elliptic curves
US7200225B1 (en) * 1999-11-12 2007-04-03 Richard Schroeppel Elliptic curve point ambiguity resolution apparatus and method
US7178030B2 (en) * 2000-10-25 2007-02-13 Tecsec, Inc. Electronically signing a document
US8285991B2 (en) * 2000-10-25 2012-10-09 Tecsec Inc. Electronically signing a document
JP4284867B2 (ja) * 2001-01-18 2009-06-24 株式会社日立製作所 標準モデル上で適応的選択暗号文攻撃に対して安全な公開鍵暗号方法
FR2824210B1 (fr) * 2001-04-27 2003-05-30 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
US7209555B2 (en) * 2001-10-25 2007-04-24 Matsushita Electric Industrial Co., Ltd. Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device
FR2854997B1 (fr) * 2003-05-16 2005-07-22 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique definie sur un corps de caracteristique deux
US7499544B2 (en) * 2003-11-03 2009-03-03 Microsoft Corporation Use of isogenies for design of cryptosystems
JP2005268931A (ja) * 2004-03-16 2005-09-29 Matsushita Electric Ind Co Ltd 情報セキュリティ装置及び情報セキュリティシステム
JP2006145945A (ja) * 2004-11-22 2006-06-08 Sony Corp 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム
FR2881300B1 (fr) * 2005-01-21 2007-03-16 Gemplus Sa Procede de generation d'une courbe elliptique, application a un procede cryptographique, et procede cryptographique une telle courbe
EP1946205B1 (en) 2005-10-18 2010-04-14 Telecom Italia S.p.A. A method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems
WO2007048430A1 (en) * 2005-10-28 2007-05-03 Telecom Italia S.P.A. A method for scalar multiplication in elliptic curve groups over binary polynomial fields for side-channel attack-resistant cryptosystems
ATE472133T1 (de) * 2006-04-06 2010-07-15 Nxp Bv Entschlüsselungsverfahren
US7885406B2 (en) * 2006-10-10 2011-02-08 Microsoft Corporation Computing endomorphism rings of Abelian surfaces over finite fields
US20080273695A1 (en) * 2007-05-02 2008-11-06 Al-Gahtani Theeb A Method for elliptic curve scalar multiplication using parameterized projective coordinates
US8102998B2 (en) * 2007-05-02 2012-01-24 King Fahd University Of Petroleum And Minerals Method for elliptic curve scalar multiplication using parameterized projective coordinates
US8619977B2 (en) * 2008-01-15 2013-12-31 Inside Secure Representation change of a point on an elliptic curve
RU2450438C1 (ru) * 2011-03-21 2012-05-10 Государственное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" Способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ
US10068070B2 (en) * 2015-05-05 2018-09-04 Nxp B.V. White-box elliptic curve point multiplication

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737424A (en) * 1996-06-04 1998-04-07 Software Security, Inc. Method and system for secure distribution of protected data using elliptic curve systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101035394B1 (ko) * 2008-05-23 2011-05-20 (주) 이니투스 공개키 생성시간좌표를 이용한 ecc 인증방법

Also Published As

Publication number Publication date
CN1235446A (zh) 1999-11-17
DE69903366D1 (de) 2002-11-14
TW425803B (en) 2001-03-11
EP0940944A3 (en) 2000-01-19
US6212277B1 (en) 2001-04-03
KR100513127B1 (ko) 2005-09-07
EP0940944A2 (en) 1999-09-08
DE69903366T2 (de) 2003-03-06
EP0940944B1 (en) 2002-10-09

Similar Documents

Publication Publication Date Title
KR100513127B1 (ko) 타원곡선 변환장치, 이용장치 및 이용시스템
US7512233B2 (en) Method and apparatus for computing a shared secret key
JP3862500B2 (ja) 直接埋め込み方式による高速楕円曲線暗号化の方法と装置
Galbraith Elliptic curve Paillier schemes
US6892940B2 (en) Encryption process employing chaotic maps and digital signature process
CN101087195A (zh) 有限域离散对数密码系统的割圆多项式结构
EP1815636A1 (en) New trapdoor one-way function on elliptic curves and their applications to shorter signatures and asymmetric encryption
Vanstone et al. Elliptic curve cryptosystems using curves of smooth order over the ring Z/sub n
Boruah et al. Implementation of ElGamal Elliptic Curve Cryptography over prime field using C
US6480606B1 (en) Elliptic curve encryption method and system
EP1561195B1 (en) A method of elliptic curve encryption
Kalra et al. Elliptic curve cryptography: survey and its security applications
JP3050313B2 (ja) 楕円曲線変換装置、利用装置及び利用システム
JP3615405B2 (ja) 素体上楕円曲線上の点の演算方法およびその装置
CN113535121A (zh) 基于秘密分享协议的安全高效数学除法计算的优化方法
KR100363253B1 (ko) 통신에서 비밀키를 생성하는 방법 및 그 장치
KR100341507B1 (ko) 빠른 유한체 연산을 이용한 타원곡선 암호화 방법 및 전자서명 방법
CA2263056C (en) Method and apparatus for finite field basis conversion
JP4225764B2 (ja) 楕円曲線変換装置、楕円曲線変換方法、楕円曲線利用装置及び楕円曲線生成装置
Muchtadi-Alamsyah et al. Implementation of elliptic curve25519 in cryptography
Ahmad et al. Implementation of 163-bit Elliptic Curve Diffie Hellman (ECDH) Key Exchange Protocol Using BigDigits Arithmetic
KR100368204B1 (ko) 정규 기저를 이용한 역원 계산 알고리즘
JP3518680B2 (ja) 素数生成装置
Ikram et al. A new approach towards secure iff technique
Patel et al. Elliptic Curve Cryptography in Sensor Networks with Hidden Generator Point for Speedup Scalar Multiplication

Legal Events

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

Payment date: 20120821

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130819

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170720

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180719

Year of fee payment: 14

EXPY Expiration of term