More actions
imported>do9013 No edit summary |
imported>do9013 No edit summary |
||
| Line 21: | Line 21: | ||
int gcd(int a, int b) { return b ? a : gcd(b, a%b); } | int gcd(int a, int b) { return b ? a : gcd(b, a%b); } | ||
=== 2.3 최대공약수 및 역수 구하기 S/W === | === 2.3 최대공약수 및 역수 구하기 S/W === | ||
Revision as of 16:17, 4 October 2021
Part 1 정보보호 시스템
Chapter 02 수학적 배경
2.1 정수론
- p.24
- 암호학에서는 정수론과 유한체 이론이 많이 사용되고 있다.
- 정수론이 쓰이는건 알았는데, 유한체를 여기서 볼 줄은 몰랐네 - 김도엽
- 이와 같이 b는 a로 나누어 떨어진다고 말하는 관계를 다음과 같이 표시한다.
a|b
- a|b를 외울 때 "a can divide b"라고 외우면 될 듯 (밑에 링크는 "a divides b"라고 설명하고 있긴 함) - 김도엽
- Meaning of a|b or a pipe b
2.2 유한체
- p.29
- 특히, 곱셈에 대한 단위원이 존재하고 영이 아닌 원소가 승산에 대하여 역원을 갖는 가환환을 체(field) F라고 정의한다.
- 그러면 결국 "체" F 정의는 {{①닫힘 ②결합 법칙 ③항등원 ④역원} 성질을 가지는 ⑤가환군이면서 ⑥곱셈에 대한 닫힘 ⑦곱셈에 대한 결합법칙 ⑧분배법칙} 성질과 ⑨곱셈의 역원을 가지는 ⑩가환환 이라고 할 수 있는게 맞나? - 김도엽
- p.34
- 유클리드 알고리즘을 이용한 최대 공약수를 구하는 방법은 어떠한 음이 아닌 정수 a와 그보다 작은 정수 b가 있을 때 다음 등식에 기반한다.
gcd(a, b)=gcd(b, a mod b)
- C-style로 한 줄 코딩할 수 있음. 이걸로 gcd는 물론 lcm 구해야 할 때도 유용하게 써먹음. - 김도엽
int gcd(int a, int b) { return b ? a : gcd(b, a%b); }