폴라드의 캥거루 알고리즘

Pollard's kangaroo algorithm

연산수 이론연산 대수에서 폴라드의 캥거루 알고리즘(폴라드의 람다 알고리즘, 이하 명명 참조)은 이산 로그 문제를 해결하기 위한 알고리즘이다.이 알고리즘은 1978년 숫자 이론가인 J. M. 폴라드에 의해 같은 문제를 해결하기 위해 더 잘 알려진 폴라드의 rho 알고리즘과 같은 논문에 소개되었다.[1]폴라드가 원시 p 단위의 곱셈 그룹에서 이산 로그 문제에 알고리즘의 적용을 설명했지만, 사실 그것은 일반적인 이산 로그 알고리즘이다. 즉, 그것은 어떤 유한 주기 그룹에서도 작동할 것이다.

알고리즘.

이(가) 요소에 의해 생성되는 순서의 유한 순환 그룹이라고 하고β {\ \ 요소의 이산 로그x {\ α }에서 찾으려고 노력한다one seeks such that . The lambda algorithm allows one to search for in some interval . One may search the entire range of possible logarithms by s에팅 = = -

1. 정수의 을(를) 선택하고 유사도란도 f : → S{\ 화살표

2. N 을(를) 선택하고 다음에 따라 그룹 요소{ 의 순서를 계산한다.

3. 계산

다음 사항을 준수하십시오.

4. 다음에 따라 그룹 요소의 두 번째 시퀀스 , 을(를) 계산하기 시작하십시오.

그리고 다음과 같은 정수의순서에 따라 { ,d , 스타일 이(가) 있다.

= i= - 1 ( ) .

다음 사항을 준수하십시오.

5. 다음 조건 중 하나가 충족되면 { i 의 계산 조건을 중지하십시오.

A) j= j 대해 x N {\ \{ { {\\{"협업" 순서가 다음과 같다면:
그래서 우린 끝났어
B) i> - + d 디스플레이 스타일 .이 경우 알고리즘이 을(를) 찾지 못함 후속 S {\ S} 및/f {\ f의 선택을 변경하여 수행할 수 있다

복잡성

폴라드는 이(가) 유사하게 작용한다는 가정에서 오는 확률론적 인수에 기초하여 알고리즘의 시간 복잡성을 - O로 제공한다When the size of the set to be searched is measured in bits, as is normal in complexity theory, the set has size , and so the algorithm's complexity is 이것은 문제 크기에서 지수적인 것이다.이 때문에 폴라드의 람다 알고리즘은 지수 시간 알고리즘으로 간주된다.하위 조건 시간 이산 로그 알고리즘의 예제는 지수 미적분 알고리즘을 참조하십시오.

이름 지정

그 알고리즘은 두 개의 이름으로 잘 알려져 있다.

첫번째는 "폴라드의 캥거루 알고리즘"이다.이 이름은 알고리즘을 제시하는 논문에서 사용하는 비유를 가리키는 것으로, 알고리즘은 길들인 캥거루를 사용하여 야생 캥거루를 함정에 빠뜨린다는 측면에서 설명된다.폴라드는 이러한 비유는 RSA 공개 키 암호 시스템의 설명으로 Scientific American 같은 호에 게재된 "파시싱" 기사에서 영감을 얻었다고 설명했다[2].기사는[3] 캥거루의 "다양한 속도의 산소 소비량 측면에서 측정한 운동 에너지 비용이 러닝머신 위에 캥거루를 올려놓음으로써 결정되는 실험"을 묘사했다.

두 번째는 "폴라드의 람다 알고리즘"이다.폴라드의 이산 로그 알고리즘인 폴라드의 rho 알고리즘의 다른 이름처럼, 이 이름은 알고리즘의 시각화와 그리스 문자 람다 사이의 유사성을 가리킨다 refers {\람다의 짧은 스트로크는 b 위치에서 x의 오른쪽으로 시작되기 때문에}{\\{에 해당된다. 따라서 긴 스트로크는 번째 시퀀스와 "충돌"되는 {y i} {\\{i}\}\}\}}}}}}에 해당된다mbda cross)를 한 다음 그 뒤를 따른다.

폴라드는 캥거루 알고리즘이라는 명칭을 선호해 왔는데,[4] 이는 '람다 알고리즘'이라고도 불리던 자신의 rho 알고리즘의 일부 병렬 버전과의 혼동을 피할 수 있기 때문이다.

참고 항목

참조

  1. ^ J. 폴라드, Monte Carlo 지수 연산 방법 (mod p), Mathical of Computing, Volume 32, 1978
  2. ^ J. M. 폴라드, 캥거루, 모노폴리이산 로그, 암호학 저널, 제13권, 페이지 437–447, 2000
  3. ^ T. J. 도슨, 캥거루, 사이언티픽 아메리칸, 1977년 8월, 페이지 78-89
  4. ^ "Jmptidcott2".