Skip to Content
밑바닥부터 시작하는 비트코인
book

밑바닥부터 시작하는 비트코인

by 류정필, 송재준
November 2019
Beginner to intermediate
408 pages
9h 29m
Korean
Hanbit Media, Inc.
Content preview from 밑바닥부터 시작하는 비트코인
1
유한체
51
class FieldElement:
...
def __pow__(self, exponent):
num = (self.num ** exponent) % self.prime
return self.__class__(num, self.prime)
앞서 배운 대로 이와 같이 코딩해도 됩니다. 그러나 파이썬에서 거듭제곱을 계산하는
pow
()
내장함수를 활용하여
pow
(
self
.
num
,
exponent
,
self
.
prime
)
으로 코딩하는 것
이 더 효율적입니다.
앞서 본 여러 연산자 함수처럼 클래스의 인스턴스를 반환합니다.
그런데 ➊ 에서
exponent
FieldElement
객체로 코딩할 수도 있지 않을까요? 결론적으로 여
기서 지수가 유한체 원소이어도 되고 아니어도 됩니다. 그러나 지수가 유한체 원소라면 우리에
게 친숙한 지수 관련 성질 (예를 들면
7
a
7
b
=
7
a
+
b
)이 성립하지 않을 것이기에 지수를 유한
체로 한정하는 것은 그리 유용하지 않습니다.
한편, 지수가 매우 큰 값일 때 그대로 거듭제곱하는 것은 계산상 비효율적입니다. 이것을 빠르
게 계산하여 실행 시간을 줄이는 방법을 이 장 마지막에서 설명합니다.
연습문제
1.7
7
,
11
,
17
,
31
p
값에 대해 유한체
F
p
에서 다음 집합을 구하시오.
{1
(
p
-
1
)
, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

밑바닥부터 시작하는 딥러닝

밑바닥부터 시작하는 딥러닝

사이토 고키
실리콘밸리 리더십

실리콘밸리 리더십

김정혜, 마이클 롭

Publisher Resources

ISBN: 9791162248294