[수학] 페르마의 소정리

alg0r1thm·2022년 4월 27일
1

1. 개요

  • 페르마의 소정리 ( Fermat’s Little Teorem )
    • 어떤 수가 소수일 경우 간단한 필요 조건에 대한 정리이다.

2. 정의

2.1 페르마의 소정리 정의

페르마의 소정리 ( Fermat’s little Theorem )
pp 가 소수이고 aapp 의 배수가 아니면, ap1  1 ( mod p )a^{p-1}\ \equiv\ 1\ (\ mod\ p\ ) 이다.

일반형 ap1 1 ( mod p ) 에 대하여,24 1 ( mod 5 )26 1 ( mod 7 )...일반형\ a^{p-1}\ \equiv1\ (\ mod\ p\ )\ 에\ 대하여,\\2^4\ \equiv 1\ (\ mod\ 5\ )\\2^6\ \equiv 1\ (\ mod\ 7\ )\\ ...
  • 위와 같은 식이 왜 성립되는지 증명을 통해 알아보자.

2.2 페르마의 소정리 유도

글을 읽기 이전에 모듈러 연산 에 대한 설명을 읽어보고 오자.


2.2.1 식의 정의

  • 다음과 같은 크기 p1p-1 의 집합 AA가 있다고 하자 ( 이 때, pp 는 소수이다. )
A={ 1, 2, ... , p1 }A=\{\ 1,\ 2,\ ...\ ,\ p-1\ \}
  • 이 집합 AA 의 모든 원소값에 각각 aa 를 곱하면 아래와 같다. ( 단, aapp 의 배수가 아닌 정수이다. )
A={ a, 2a, ... , (p1)a }A=\{\ a,\ 2a,\ ...\ ,\ (p-1)a\ \}
  • 그럼 이 식을 모듈러 연산을 통해 살펴보면 아래와 같이 보일 것이다.
{ 1, 2, ... , p1 }={ a, 2a, ... , (p1)a } ( mod p )\{\ 1,\ 2,\ ...\ ,\ p-1\ \}=\{\ a,\ 2a,\ ...\ ,\ (p-1)a\ \}\ (\ mod\ p\ )
  • 이 과정을 통해 나온 식을 집합 BB 라고 하자. 그럼 아래와 같이 보일 수 있다.

위 문단에서 설명한 예시와 같이 p=5, a=2p=5,\ a=2 라고 가정하면,

A={ 1, 2, 3, 4 }A=\{\ 1,\ 2,\ 3,\ 4\ \}22 를 곱한 집합 { 2, 4, 1, 3 }\{\ 2,\ 4,\ 1,\ 3\ \}mod 5mod\ 5 에서
{ 2, 4, 1, 3 }={ 1, 2, 3, 4 }\{\ 2,\ 4,\ 1,\ 3\ \}=\{\ 1,\ 2,\ 3,\ 4\ \} 가 된다.

  • 이를 통해 아래와 같이 정리 가능하다.
{ a, 2a, ... , (p1)a } ( mod p ) 의 모든 원소들은 서로 다르다.\{\ a,\ 2a,\ ...\ ,\ (p-1)a\ \}\ (\ mod\ p\ ) \ 의\ 모든\ 원소들은\ 서로\ 다르다.

2.2.1 모듈러 연산을 통한 유도

  • 모듈러 연산의 성질을 통해 공식을 유도해보자.
( A × B ) mod C =( A mod C × B mod C ) mod C(\ A\ \times\ B\ )\ mod\ C\ = (\ A\ mod\ C\ \times\ B\ mod\ C\ )\ mod\ C
  • A, BA,\ B 에 있는 원소들을 각각 곱한뒤 양변에 mod pmod\ p 를 취해준다.
1 × 2 ×... × (p1)=( a mod p ) × ( 2a mod p ) × ... × (((p1) × a) mod p )1\ \times\ 2\ \times ...\ \times\ (p-1)=\\(\ a\ mod\ p\ )\ \times\ (\ 2a\ mod\ p\ )\ \times\ ...\ \times\ (((p-1)\ \times\ a)\ mod\ p\ )
  • 위 식을 아래와 같이 풀어서 작성한 다음..
( 1 × 2 × ... × (p1))=((a mod p) × (2a mod p) × ... × ((((p1) × a) mod p)) mod p=( a × 2a × ... (p1) × a ) mod p=(ap1 × 1 × 2 ×... × (p1)) mod p(\ 1\ \times\ 2\ \times\ ...\ \times\ (p-1))= \\((a\ mod\ p)\ \times\ (2a\ mod\ p)\ \times\ ...\ \times\ ((((p-1)\ \times\ a)\ mod\ p))\ mod\ p=\\(\ a\ \times\ 2a\ \times\ ...\ (p-1)\ \times\ a\ )\ mod\ p = \\(a^{p-1}\ \times\ 1\ \times\ 2\ \times ...\ \times\ (p-1))\ mod\ p
  • 이후 양변에 있는 1 × 2 × ... × (p1)1\ \times\ 2\ \times\ ...\ \times\ (p-1) 을 지우면 아래와 같이 유도가 끝난다.
1=ap1 mod p1=a^{p-1}\ mod\ p
profile
블록체인 한입

1개의 댓글

comment-user-thumbnail
2022년 5월 18일

ㅎㅇ

답글 달기