더블 위주 도체-아이카르트-코헬 곡선
Doubling-oriented Doche–Icart–Kohel curve수학에서 더블 위주인 도체-이카르트-코헬 곡선은 타원형 곡선을 쓸 수 있는 형식이다.그것은 위어스트라스 형식의 특별한 경우로서, 2배속 속도가 상당히 빨라지기 때문에 타원곡선 암호법에서도 중요하다.크리스토프 도체, 토마스 아이카트, 데이비드 R에 의해 소개되었다.이질 분해에 의한 효율적인 스칼라 증식 코헬.[1]
정의
을(를) 필드로 K 을(를) 표시한다 그러면 매개변수 a가 부착된 Doubleing-Oriented Doche-Iicart-Kohel 곡선은 다음과 같이 표현된다.
= Z 및 = y 포함
이 곡선은 Weierstrass 형식의 특수한 경우이므로 타원형 곡선(Weierstrass 양식)의 가장 일반적인 형태로 변환할 필요가 없다는 점에 유의하십시오.
집단법
이러한 공식들은 점[n]P의 배수를 계산하기 위해 필요하기 때문에, 타원 곡선 암호법으로 그룹 법칙을 분석하여 덧셈과 이중화 공식을 정의하는 것이 흥미롭다(스퀴링에 의한 지수화 참조).일반적으로 집단법은 다음과 같은 방법으로 정의된다: 3개의 점이 같은 선에 있으면 0까지 합한다.그래서, 이 특성에 의해, 그룹 법칙은 곡선 형태마다 다르다.
이 경우 이러한 곡선은 Weierstrass 곡선의 특수한 경우이므로 추가는 Weierstrass 곡선의 표준 추가에 불과하다.반면 한 점을 두 배로 늘리기 위해서는 표준 더블링 공식을 사용할 수 있지만 그렇게 빠르지는 않을 것이다.In this case, the neutral element is (in projective coordinates), for which . Then, if is a non-trivial element ( ), 그러면 이 점의 역(추가)은 –P=(x,-y)이다.
덧셈
이 경우 부속 좌표를 사용하여 다음과 같은 추가 공식을 정의한다.
(x1,y1)+(x2,y2)=(x3,y3) 여기서
x3 = (-x13+(x-a2)x12+(x22+2ax2)x1+(y-2y1221+(-x-ax2322+y22)))/(x-2xx1221+x22)
y3 = (-y1+2y2)x13+(-ay1+(-3yx22+ay2))x12+(3x22+2ax2122)x1+(y-3y13212+(-2x-ax2322+3y22)x1+(yx223+yx-y22223))/(-x13+3xxx-3xx212221+x+x23)
더블링
2(x1,y1)=(x3,y3)
x3 = 1/(4y12)x14-8a/y12x12+64a2/y12
y3 = 1/(8y13)x16+(-a2+40a)/(4y13))x14+(ay12+(16a-16a-16a32)/(4y13)x12+(-4y2123)/y13)
알고리즘 및 예제
덧셈
가장 빠른 추가는 다음과 같다(http://hyperelliptic.org/EFD/g1p/index.html),에 주어진 결과와 일치하며, 소요 비용은 4배수, 4배수, 10배수 추가).
A = Y2-Y1
AA = A2
B = X2-X1
CC = B2
F = X1CC
Z3 = 2CC
D = X2Z3
ZZ3 = Z32
X3 = 2(AA-F)-aZ3-D
Y3 = (A+B)-2AA-CC(D-X3)-YZZ23
예
= K { P=(X1,Y1)=(2,1), Q=(X2,Y2)=(1,-1) 및 a=1로 한다.
A=2
AA=4
B=1
CC=1
F=2
Z3=4
D=4
ZZ3=16
X3=-4
Y3=336
따라서 P+Q=(-4:336:4)
더블링
다음 알고리즘이 가장 빠른 알고리즘이다(비교할 수 있는 다음 링크 참조). http://hyperelliptic.org/EFD/g1p/index.html),에 드는 비용은 1 곱하기, 5 나누기, 7 추가하기이다.
A = X12
B = A-a16
C2 = A
YY = Y12
YY2 = 2Y
Z3 = 2YY2
X3 = B2
V = (Y1+B)2-YY-X3
Y3 = V(X3+64C+a(YY2-C))
ZZ3 = Z32
예
= 및 a=1을 사용하십시오.P=(-1,2), Q=[2]P=(x3,y3)를 다음과 같이 지정한다.
A=1
B=-15
C=2
YY=4
YY2=8
Z3=16
X3=225
V=27
Y3=9693
ZZ3=256
따라서 Q=(225:9693:16)이다.
확장좌표
덧셈과 곱셈 계산은 가능한 한 빨라야 하므로 다음과 같은 좌표 표현을 사용하는 것이 더 편리하다.
, 은 (는) 다음 방정식을 충족하는 ,Y, , , X로 표시된다.
그 후, 더블링 지향 도체-이카르트-코헬 곡선은 다음과 같은 방정식으로 주어진다.
.
이 경우 =( : : : Z) P is a general point with inverse . Furthermore, the points over the curve satisfy: 모든 nonz}에 대해.
이러한 곡선에 대한 더 빠른 두 배의 공식과 혼합 추가 공식은 Doche, Icart, Kohel에 의해 도입되었지만, 오늘날 이러한 공식들은 Daniel J. Bernstein과 Tanja Lange에 의해 개선되고 있다(EFD의 링크 아래 참조).
내부 링크
특정 경우에 필요한 실행 시간에 대한 자세한 내용은 타원 곡선에서의 운영 비용 표를 참조하십시오.
메모들
- ^ 크리스토프 도체, 토마스 아이카트, 데이비드 R.Kohel, Isogeny 분해에 의한 효율적인 스칼라 곱하기
참조
- Christophe Doche, Thomas Icart and David R. Kohel (2006). "Efficient Scalar Multiplication by Isogeny Decompositions". Public Key Cryptography - PKC 2006. Lecture Notes in Computer Science. Vol. 3958. Springer Berlin / Heidelberg. pp. 191–206. doi:10.1007/11745853_13. ISBN 978-3-540-33851-2.
- Daniel J. Bernstein and Tanja Lange (2008). Analysis and optimization of elliptic-curve single scalar multiplication. ISBN 9780821857892.