타원형 곡선의 점 개수
Counting points on elliptic curves타원곡선 연구의 중요한 측면은 곡선의 점을 세는 효과적인 방법을 고안하는 것이다.그렇게 하기 위한 몇 가지 접근방식이 있었으며, 고안된 알고리즘은 숫자 이론과 같은 다양한 분야의 연구에 유용한 도구임이 입증되었고, 최근에는 암호학 및 디지털 서명 인증(타원곡선 암호학과 타원곡선 DSA 참조)에서도 유용한 도구가 되었다.숫자 이론에서 그들은 디오판틴 방정식의 해결에서 중요한 결과를 가져오지만, 암호학에 관해서는, 유한한 필드 에 걸쳐 타원곡선의 E ( E그룹에 대한 이산 로그 문제(DLP)의 난이도를 효과적으로 이용할 수 있게 해준다. 여기서 q = p와k p는 prime이다.알려진 대로 DLP는 공개키 암호화에 널리 사용되는 접근법이며, 이 문제를 해결하는 데 어려움이 암호체계의 보안 수준을 결정한다.이 글에서는 특히 p > 3의 큰 특성의 필드 위에 타원곡선의 점을 계수하는 알고리즘을 다룬다.작은 특성 필드 위의 곡선의 경우 p-adic 방법에 기반한 보다 효율적인 알고리즘이 존재한다.null
타원형 곡선의 점 카운트 접근법
그 문제에 대한 몇 가지 접근법이 있다.순진한 접근으로부터 시작하여, 우리는 그 주제에 관한 Schoof의 확정적 저작까지의 전개 상황을 추적하는 한편, 엘키스(1990)와 앳킨(1992)이 만든 Schoof의 알고리즘의 개선 사항도 열거한다.null
(F) E 형식의 그룹은 고려할 포인트의 수를 제한하는 Hasse로 인해 중요한 정리의 대상이 된다는 사실을 여러 알고리즘에서 활용한다.Hasse의 정리에서는 E가 유한장 에 대한 타원 곡선일 E( ){\의 카디널리티가 만족한다고 밝히고 있다
순진한 접근법
가장 덜 정교한 포인트 계산에 대한 순진한 접근법에는 F {\} 의 모든 요소를 훑어보고 어떤 요소가 타원곡선의 Weierstrass 형태를 만족하는지 테스트하는 것이 포함된다.
예
E를2 y = x3 + x + 1에서 를 곱한 값} E에 점을 세기 위해 x의 가능한 값, x mod 5의 2차 잔류 값, x3 + 1 모드의 값, x + 1 모드의 값, 그리고3 x + 1 모드의 y의 값을 리스트로 작성한다.이것은 E에 대한 포인트를 산출한다.
포인트 | ||||
---|---|---|---|---|
예: 마지막 행은 다음과 같이 계산한다.x3= x을(를) x + 1 mod 5에 삽입하면 (3번째 열)로 4 4이(가) 표시된다.= , y일 경우 이 결과를 얻을 수 있다. (2번째 열에서 정량 잔류물을 조회할 수 있다.)따라서 마지막 행의 포인트는( 2),( ) ), 입니다
따라서 ( ) 의 카디널리티는 9: 이전에 열거된 8 포인트와 무한대의 포인트를 가진다.null
알고리즘은 x F {\ \ _{의 모든 값을 고려해야 하기 때문에 실행 시간 O(q)가 필요하다.null
베이비 스텝 거인 스텝
시간의 향상은 다른 접근법을 사용하여 얻는다: x 3+ + 의 값을 선택하여 =( x, ) P E를 선택한다. is a square in and then computing the square root of this value in order to get . Hasse's theorem tells us that lies in the interval 따라서 라그랑주의 정리로는 이 간격에 놓여 있는 고유한 을(를) 찾고 = MP=을를) 만족시키면 E( )의 카디널리티를 찾게 된다The algorithm fails if there exist two distinct integers and in the interval such that . In such a case it usually suffices to repeat the algorithm with another randomly chosen point in .
= 을(를) 만족하는 값을 찾기 위해 의 모든 값을 시도하면 약 4 단계를 거친다.null
단, ) 에 베이비스텝 거인스텝 알고리즘을 적용함으로써 약 4 단계까지 속도를 낼 수 있다알고리즘은 다음과 같다.null
알고리즘
1. 선택하 m{m\displaystyle}정수, m>q 4{\displaystyle m>,{\sqrt[{4}]{q}}}2.FOR{j=0{\displaystyle j=0}{m\displaystyle}m에}jP DO 3.Pj← jP{\displaystyle P_{j}\leftarrow}4.ENDFOR 5. 나는 ← 1{\displaystyle L\leftarrow 1}6.Q←(q+1)P{\displaystyle Q\le.ftarro 7. REPEAT compute the points 8. UNTIL : \\the -coordinates are compared 9. + + j \note = 10.인자 M , 는 . 11. 반면 i r i r DO 12.IF = 13.그 다음 14.기타 + i i 15.16번 엔디프, 17번 엔디프. \\note is the order of the point 18. WHILE divides more than one integer in 19. 새로운 P 를 선택하고 1. 20. 21. N 의 카디널리티임.
알고리즘 참고 사항
- 8행. 우리는 성냥의 존재를 가정한다.실제로 다음과 같은 보조정리기로 그러한 일치가 존재함을 보장한다.
- 을(를) 2 a 의 정수로 한다 과 ( 1 {\}의 정수가 있다.
- 일단 이(가) 계산되면(+) (은 완전한 스칼라 곱셈을 새로 계산하는 대신 j {\ 에 jP을 추가하면 된다.따라서 완전한 계산을 위해서는 을 (를) 추가해야 한다. 은(는) 에서 두 배로 증가하여 얻을 수 있다 을를) 계산하려면 +) ) 의심과 w을 (를) 추가해야 하는데 서 w w}은 + 1}의 이진 표현에서 0이 아닌 자릿수가 된다 에 대한 지식이다. P는 더블링의 수를 줄일 수 있게 해준다.마지막으로 + ( m ) 에서 Q+( + 1)( 2 Q까지 가려면 모든 것을 다시 계산하기보다는 2 P 만 추가하면 된다
- 는 M 을(를) 인수할 수 있다고 가정하고 있다 그렇지 않다면 최소한 모든 작은 주요 요인 을(를) 찾아 M p O O를 확인할 수 있다.그러면 이(가) 의 순서에 적합한 후보가 될 것이다
- The conclusion of step 17 can be proved using elementary group theory: since , the order of divides . If no proper divisor of realizes , 그러면 이 (가) 의 순서 입니다
이 방법의 한 가지 단점은 집단이 커지면 너무 많은 메모리가 필요하다는 것이다.이 문제를 해결하려면 지점의 좌표만 저장하는 것이 더 효율적일 수 있다(해당 j 그러나 이 경우 - 과와) + 중 하나를 선택하기 위해 추가 스칼라 곱으로 이어진다
폴라드의 rho 알고리즘과 폴라드 캥거루 방법 등 보다 공간 효율적인 그룹 요소의 순서를 계산하는 다른 일반적인 알고리즘이 있다.폴라드 캥거루 방법은 O의 실행 시간을 하여 정해진 간격으로 솔루션을 검색할 수 있다.null
쇼프의 알고리즘
) E의 그룹 카디널리티 계산 문제에 대한 이론적 돌파구는 1985년 첫 번째 결정론적 다항식 시간 알고리즘을 발표한 레네 쇼프에 의해 달성되었다.스쿠프의 알고리즘의 중심은 중국 나머지 정리와 함께 분할 다항식 및 하세의 정리를 사용하는 것이다.null
Schoof의 식견. 그것은(Fq)의 나머지를 정수 N을{E(\mathbb{F}_{q})\displaystyle}E를 계산하기 위해 충분. 4q{\displaystyle N> 이렇게 4{\sqrt{q}}}. 사실, Hasse의 정리까지 가능한 값의 E(Fq){E(\mathbb{F}_{q})\displaystyle}에 유한한 범위는 T. 착취그의 것이다.( modulo primes 1,… \ 을 4 중국 나머지 정리를 적용하여 달성.알고리즘의 핵심은 분할 다항식 을(를) 사용하여 modulo 을 효율적으로 계산하는 것이다
The running time of Schoof's Algorithm is polynomial in , with an asymptotic complexity of , where denotes the complexity of integer m초절개공간 복잡성은 O( ) 입니다
스쿠프-엘키스–Atkin 알고리즘
1990년대에 노암 엘키스에 이어 A. O. L. 앳킨이 사용되는 프리임 , s _을 구별하여 Schoof의 기본 알고리즘의 개선을 고안했다.A prime is called an Elkies prime if the characteristic equation of the Frobenius endomorphism, , splits over . Otherwise is called an Atkin prime.엘키 프리임은 쇼프의 알고리즘의 점증적 복잡성을 개선하는 열쇠다.Atkin primes에서 얻은 정보는 증상 없이 무시할 수 있는 추가적인 개선을 허용하지만 실제로는 상당히 중요할 수 있다.Elkies와 Atkin 프리임을 사용하도록 Schoof의 알고리즘을 수정하는 것을 Schoof-라고 한다.엘키스-앳킨(SEA) 알고리즘.null
The status of a particular prime depends on the elliptic curve , and can be determined using the modular polynomial . If the univariate polynomial has a root in , where denotes the j-invariant of , then is an Elkies prime, and otherwise it is an Atkin prime.엘키스의 경우 모듈형 다항식을 포함하는 추가 연산을 사용하여 분할 다항식 }}의 적절한 인자를 얻는다.이 인자의 정도는 () 인 반면 은(는) ( )이다
Schoof의 알고리즘과 달리 SEA 알고리즘은 (라스베가스 유형의) 확률 알고리즘으로 구현되어 뿌리 찾기 및 기타 연산을 보다 효율적으로 수행할 수 있다.그것의 계산 복잡성은 모듈식 다항식 , Y 스타일 의 계산 비용에 의해 지배되지만, 이것들은 에 의존하지 않기 때문에 한 번 계산되어 재사용될 수 있다Under the heuristic assumption that there are sufficiently many small Elkies primes, and excluding the cost of computing modular polynomials, the asymptotic running time of the SEA algorithm is , where n 공간 복잡성은 3 ) O이지만 사전 계산된 모듈식 다항식을 사용하면 4) 로 증가한다
참고 항목
참고 문헌 목록
- I. Blake, G. Seroussi 및 N. Smart: Cryptography, Cambridge University Press, 1999. Cryptography의 타원 곡선.
- A. Enge:타원 곡선 및 암호화에 대한 응용 프로그램: 소개1999년 Dordrecht의 Kluwer Academic Publishers.
- G. Musicer: Schoof의 ( ) Ehttp://www.math.umn.edu/~musiker/schoof.pdf에서 사용 가능
- R. Schoof:유한 필드 위의 타원 곡선의 점 카운팅.J. 이론.Nombres Bordeaux 7:219-254, 1995.http://www.mat.uniroma2.it/~schoof/ctg.pdf에서 이용 가능
- L. C. Washington: 타원 곡선:숫자 이론과 암호학.Chapman \& Hall/CRC, 2003년 뉴욕.
참조