개발스토리

모듈러 연산(mod) 본문

Computer Science/보안

모듈러 연산(mod)

무루뭉 2020. 10. 3. 19:17

모듈러 연산 (mod)

나머지연산

a mod b : ab로 나눈 나머지

어떤 양의 정수 na가 주어지고, 만약 an으로 나눈다면 다음과 같은 관계를 가지는 몫 q와 나머지 r을 얻는다

-> a =  qn + r ( 0 <= r < n < a)  →  a = r mod n

example)

  a=11, n=7

  11 = 1*7 + 4 = 4 mod 7             

  11 = 4 mod 7

 

합동 (Congruent)

(a mod n) = (b mod n), 두 정수 abmodulo n에 대해 합동

a ≡ b mod n 으로 표기

예를 들어, 14 20mod 6 에 대하여 합동

 

모듈러 연산자 특성

1. [(a mod n)+(b mod n)] mod n = (a+b) mod n

2. [(a mod n)*(b mod n)] mod n = (a*b) mod n

example)

a = 11, b = 15, n = 8

1. (a + b) mod n = ((11 mod 8) + (15 mod 8)) mod 8 = 3 + 7 mod 8

                             = 10 mod 8 = 2

2. (a * b) mod n = ((11 mod 8) * (15 mod 8)) mod 8 = 3 * 7 mod 8

                             = 21 mod 8 = 5

교환법칙

- (w+x) mod n = (x+w) mod n

- (w*x) mod n = (x*w) mod n

결합법칙

- [(w+x)+y] mod n = [w+(x+y)] mod n

- [(w*x)*y] mod n = [w*(x*y)] mod n

분배법칙

- [w*(x+y)] mod n = [(w*x)+(w*y)] mod n

항등원

- (0+w) mod n = w mod n

- (1*w) mod n = w mod n

example)

mod 5 연산, 3의 곱셈의 역원은? 

 (3 x ?) mod 5 = 1

→ ?mod 5 연산에 대한 3의 곱셈의 역원 (?는 2, 7, ... 등 여러 개가 있을 수 있다.)

 

Test

117 mod 13 = ?를 모듈러 연산의 교환, 분배법칙을 이용해서 한번 풀어보자.

11^7 mod 13

11^2 * 11^2 * 11^2 * 11 mod 13 ( 11^2 mod 13 = 4 )

4 * 4 * 4 * 11 mod 13 = (16 * 44) mod 13 = (16 mod 13) * (44 mod 13) = 3 * 5 mod 13 = 15 mod 13 = 2 

 

 

'Computer Science > 보안' 카테고리의 다른 글

Firewall(방화벽)  (0) 2020.11.09
페르마 정리와 오일러 정리  (0) 2020.10.03
Block cipher  (0) 2020.10.03
Intro crypt  (0) 2020.10.02
Intro  (0) 2020.10.02
Comments