
3
장
타원곡선 암호
93
연습문제
3.4
F
223
에서 정의된 곡선
y
2
=
x
3
+
7
에서 다음의 스칼라 곱셈을 구하시오.
•
2
•
(
192
,
105
)
•
2
•
(
143
,
98
)
•
2
•
(
47
,
71
)
•
4
•
(
47
,
71
)
•
8
•
(
47
,
71
)
•
21
•
(
47
,
71
)
3.7
스칼라 곱셈 특징
스칼라 곱셈은 한 점을 수회 반복해서 더하는 연산입니다. 공개키 암호 기법에 스칼라 곱셈이
활용되는 이유는 타원곡선에서 스칼라 곱셈 역산이 어렵기 때문입니다. 앞 예제 중에서 한 가
지를 살펴보겠습니다.
s
가
1
부터
22
까지 변할 때
F
223
에서
s
•
(
47
,
71
)을 계산해보겠습니다.
>>> from ecc import FieldElement, Point
>>> prime = 223
>>> a = FieldElement(0, prime)
>>> b = FieldElement(7, prime)
>>> x = FieldElement(47, prime)
>>> y = FieldElement(71, prime)
>>> p = Point(x, y, a, b)
>>> for s in range(1,21):
... result = s*p
... print('{}*(47,71)=({},{})'.format(s,result.x.num,result.y.num))
1*(47,71)=(47,71)
2*(47,71)=(36,111 ...