일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- rest docs
- 백트래킹
- IT
- DB
- 백준
- S3
- 병행제어
- OS
- node
- AWS
- DATABASE
- 스프링부트
- 컴퓨터
- 컴퓨터 보안
- 탐욕기법
- 데이터베이스
- 되추적
- 인터럽트
- node.js
- 알고리즘
- API문서
- 보안
- 운영체제
- 노드
- 자바스크립트
- 컴퓨터보안
- NEST
- 디비
- ES6
- access control
- Today
- Total
개발스토리
모듈러 연산(mod) 본문
모듈러 연산 (mod)
• 나머지연산
• a mod b : a를 b로 나눈 나머지
• 어떤 양의 정수 n과 a가 주어지고, 만약 a를 n으로 나눈다면 다음과 같은 관계를 가지는 몫 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), 두 정수 a와 b는 modulo n에 대해 합동
• a ≡ b mod n 으로 표기
• 예를 들어, 14와 20은 mod 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 |