Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- vfr video
- JanusWebRTC
- 코루틴 빌더
- PersistenceContext
- taint
- python
- addhooks
- table not found
- VARCHAR (1)
- Value too long for column
- 티스토리챌린지
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 오블완
- JanusGateway
- 깡돼후
- 코루틴 컨텍스트
- kotlin
- Spring Batch
- mp4fpsmod
- 달인막창
- PytestPluginManager
- terminal
- JanusWebRTCGateway
- 겨울 부산
- JanusWebRTCServer
- pytest
- preemption #
- 개성국밥
- 자원부족
- tolerated
Archives
너와 나의 스토리
역원 구하기 - Euclidean Algorithm / Extended Euclidean Algorithm 본문
Computer Security
역원 구하기 - Euclidean Algorithm / Extended Euclidean Algorithm
노는게제일좋아! 2020. 10. 22. 21:48반응형
<역원, GCD 등 정수론 기본 지식>
2020/10/22 - [Computer Security] - [컴퓨터 보안] 정수론 기초 - Divisibiliy, GCD, Congruences, Modular, 역원
Euclidean Algorithm(유클리드 호제법)
- 2개의 자연수의 최대공약수를 구하는 알고리즘의 하나.
- a%b == r (a를 b로 나눈 나머지 r)
- a와 b의 최대공약수는 b와 r의 최대공약수와 같다.
- 이 성질에 따라, gcd(a, b) = gcd(b, r) = ... 를 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다.
- 코드:
int gcd(int a, int b) {
if (b == 0) return a;
gcd(b, a%b);
}
Extended Euclidean Algorithm
- GCD(1759, 550) = 1
- 1759와 550은 서로소이다.
- 1759x+ 550y = GCD(1759, 550) = 1
- Extended Euclidean algorithm은 이 x, y를 찾을 수 있다.
- 일반화해보면, 입력으로 a와 b가 주어졌을 때, [ax+by = GCD(a, b) = d]를 성립하는 x, y, d를 찾을 수 있다.
- 즉, Extended Euclidean algorithm을 이용해 GCD를 구하면서 x, y도 같이 구할 수 있다.
- 작동 방식
출처:
- [Cryptography and Network Security: Principles and Practices]
- 위키백과: ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95
반응형
'Computer Security' 카테고리의 다른 글
Group, Finite Fields, Polynomial GCD, 다항식을 bit string으로 계산 (0) | 2020.10.23 |
---|---|
페르마(Fermat), 오일러(Euler) 정리 / Primality test - Miller-Rabin Algorithm 설명 및 Python 코드 구현 (4) | 2020.10.23 |
[컴퓨터 보안] 정수론 기초 - Divisibiliy, GCD, Congruences, Modular, 역원 (2) | 2020.10.22 |
[컴퓨터 공학] 용어 설명 및 최근 경향 - EPP/EDR/AI (0) | 2020.09.28 |
Web Hacking (0) | 2020.09.25 |
Comments