[밑바닥부터 시작하는 비트코인] 의 유한체를 공부하는 과정에서 모듈러 연산에 대한 정리가 필요했기 때문에 따로 문서를 작성했다.
1.1 모듈러 연산의 필요성
- 크게 유한체는 다른 연산 형식도 가능하나 주로 모듈러 연산에 적용시켜 표현하는 경우가 많다.
- 나머지 연산에 대해 알고 싶다면 모듈러 연산의 원리를 이해하여 보다 쉽게 알 수 있다.
1.2 모듈러 연산
- 모듈러 연산에 관한 성질을 증명하고자 할 때 나머지 정리를 주로 활용한다.
- 나머지 정리
- 이는 나눗셈을 통하여 직관적으로 이해 할 수 있다.
- A 를 B 로 나누면 Q는 몫이고 R 은 나머지 이다.
- 이러한 형태로 어떤 숫자를 표현한다면 아래와 같이 표현할 수 있다.
A mod B=R
- 예시를 통해 연산에 대해 직관적으로 표현하면 아래와 같다
A=7 ,B=2 일때,7=2 × 3+1 7 mod 2=1
1.3 모듈러 연산의 덧셈과 뺄셈
(A+B) mod C=(A mod C+B mod c) mod C
A=14, B=17, C=5 라고 할 때,(A+B) mod C= (A mod C+B mod C) mod C
- LHS = 식의 왼쪽 변
- RHS = 식의 오른쪽 변
LHS=(A+B) mod CLHS=(14+17) mod 5LSH=31 mod 5LSH=1
RHS=(A mod C+B mod C) mod CRHS=(14 mod 5+17 mod 5) mod 5RHS=(4+2) mod 5RHS=1
∴LSH=RHS=1
(A−B) mod C=(A mod C+(−B mod C)) mod C
1.4 모듈러 연산의 곱셈
(A × B) mod C=(A mod C × B mod C) mod C
A=4, B=7, C=6 라고 할 때,(A × B) mod C=(A mod C × B mod C) mod C
LHS=(A × B) mod CLHS=(4 × 7) mod 6LHS=28 mod 6LHS=4
RHS=(A mod C × B mod C) mod CRHS=(4 mod 6 × 7 mod 6) mod 6RHS=(4 × 1) mod 6RHS=4 mod 6RHS=4
∴LSH=RHS=4