DOI QR코드

DOI QR Code

Faster MapToPoint over $F_{3^m}$ for Pairing-based Cryptosystems

페어링 암호 시스템을 위한 $F_{3^m}$에서의 효율적인 MapToPoint 방법

  • Received : 2011.01.05
  • Accepted : 2011.10.05
  • Published : 2011.12.31

Abstract

A hashing function that maps arbitrary messages directly onto curve points (MapToPoint) has non-negligible complexity in pairing-based cryptosystems. Unlike elliptic curve cryptosystems, pairing-based cryptosystems require the hashing function in ternary fields. Barreto et al. observed that it is more advantageous to hash the message to an ordinate instead of an abscissa. So, they significantly improved the hashing function by using a matrix with coefficients of the abscissa. In this paper, we improve the method of Barreto et al. by reducing the matrix. Our method requires only 44% memory of the previous result. Moreover we can hash a message onto a curve point 2~3 times faster than Barreto's Method.

페어링 암호 시스템에서 임의의 메시지 스트링을 타원곡선 위의 점으로 매핑하는 과정(MapToPoint)은 무시할 수 없는 연산량을 가지고 있으며 타원곡선 암호 시스템과 달리 페어링 암호 시스템에서는 $F_{3^m}$ 위의 타원곡선도 이용하기 때문에 $F_{3^m}$에서의 MapToPoint 연산이 필요하다. Barreto 등이 $F_{3^m}$ 위에서는 세제곱 계산이 선형연산인 것을 이용하여, x 좌표에 메시지를 대입하여 y 좌표를 계산하는 기존의 방법과 달리, y 좌표에 메세지를 대입하여 x 좌표를 계산하는 방법을 제안하였다. Barreto 등은 x 좌표의 계수들을 임의의 변수로 두고 이들로 이루어진 행렬을 이용하여 x 좌표를 계산했는데, 본 논문에서는 이 행렬의 크기를 줄여 보다 효율적으로 x 좌표를 계산할 수 있는 방법을 제안한다. 제안하는 방법은 Barreto 등의 방법의 44%의 메모리만으로 2~3 배 빠른 MapToPoint 연산을 수행할 수 있다.

Keywords

I. 서 론

페어링 암호 시스템(Pairing-based cryptosystems)은 최근 가장 활발하게 연구되는 분야로서 페어링 기반 암호 시스템은 두 개의 타원곡선 위의 점을 하나의 유한체 원소로 보내는 양방향 겹선형성 (Bilinearity)을 가지는 페어링 함수를 기반으로 구성되는 암호 시스템이다. 2001년 Boneh, Lynn 그리고 Shachaum은 처음으로 페어링 기반의 BLS 스킴이라 불리는 전자서명 스킴(Short signature scheme)을 제안하였다[2]. 이어 페어링을 이용한 여러 암호학적인 스킴들이 연구되었으며[3][7][11] 페어링을 효율적으로 구현하기 위한 연구도 이루어져왔 다[8][9][12]. 한편, 페어링 연산 시간을 개선하려는 여러 노력에도 불구하고 페어링의 구현은 여전히 앞서 서술한 페어링 기반 암호 시스템들을 구현하는데 있어 가장 큰 연산 부담을 주고 있다.

페어링 함수는 소수 위수 를 갖는 타원곡선 점들의 그룹   과   에서 유한체 원소들의 그룹   로의 함수이다.   과   를 각각   과   의 생성자라 할 때   ,   그리고   의 이산 대수 문제(DLP)를 풀기

어렵다고 가정한다. 그러면 아래의 세 조건을 만족하는 함수     ×  →  는 암호에 사용될 수 있는 겹선형 함수인 페어링 함수가 된다.

ƒ Bilinearity :  ∈   ′ ∈  일 때,         또는  ′     ′ 

ƒ Non-degeneracy : 항등원이 아닌 모든 에 대하여   ≠

ƒ Computability : 페어링 함수 는 효율적으로 계산되어야 함

이진체 또는 소수체 위의 타원곡선만을 사용하는 타원곡선 암호와 달리 페어링 암호는 위수가 3인 삼진체 위의 타원곡선도 이용한다. 삼진체 위에서의 페어링 연산이 다른 유한체 위에서의 연산보다 빠른 결과 로는 [8]등이 있으며,   에서의 효율적인 페어링 연산 및 이에 사용되는 유한체 연산에 대한 연구가 주목을 받고 있다. 페어링 암호 기반의 암호 프로토콜 구현을 위하여 embedding degree가 상대적으로 작은 초특이 타원곡선이 매우 적합한 것으로 연구되었고 [1],    위의 페어링 연산을 위해서는 embedding degree가 6 이며,  ±         ± 로 정의된 초특이 타원곡선이 사용된다.

   위에서 메시지 스트링을 초특이 타원곡선  ±

위로 매핑하는 과정을 [2]와 같이 MapToPoint이라 정의하며, 이 함수는 페어링 기반 암호시스템을 구성 하는 함수 중 하나이다. 본 논문에서는 초특이 타원곡 선을 이용하여 MapToPoint를 효율적으로 수행할수 있는 방법을 제안한다.    위에서의 타원곡선 암호에서는 메시지의 해쉬(Hash) 값을  좌표에 대입 하고 타원곡선 식을 만족하는  좌표를 계산하는 것이 일반적이다. [2]에서는    위에서와 동일한 방법을 사용하므로 MapToPoint 연산을 위해    위에서

제곱근을 구해야 한다. 따라서 연산량이   으로 비교적 컸다. Kawahara 등은    위에서 곱셈연산

없이       ∈   의 근 를 찾을 수 있는 [10] 의 방법을    위의 MapToPoint에 적용하여 [2]의 방법을 35% 개선하였다[21].

Barreto 등은    위에서는 세제곱이 선형연산으 로서 비교적 가벼운 연산이므로 메시지의 해쉬 값을  좌표에 대입하고 타원곡선 식을 만족하는  좌표를 찾는 것이 [2]에 비해 훨씬 연산량이 적음을 보였다 [15]. Barreto 등은    위에서의 삼차방정식을 풂으로써 해당  좌표를 찾을 수 있도록 하였다. 이 삼차방정식을 풀기 위해서는   의 원소로 이루어진    ×   행렬의 역행렬이 필요하고 이 역행렬을    의 계수들과 행렬 곱셈을 수행하여  좌표를 찾을 수 있게 된다. 따라서 연산량은 역행렬을 구하는 과정과 이 역행렬의 행렬 곱셈을 하는 과정에서 결정 된다. 일단 역행렬을 찾은 뒤에는 주어진  좌표에 따라 행렬 곱셈만으로  좌표를 계산할 수 있으므로 연산량은   가 되고, 이미 계산된 역행렬은 다른 메시지 스트링의 MapToPoint 계산을 위해서 저장되 어야 한다.

본 논문에서는 Barreto 등이 제안한 방법에서 사용하는 행렬 크기를    ×  에서 ⌊  ⌋× ⌊  ⌋으로 줄이는 방법을 제안한다. 이로 인하여 역행렬을  ∼배 빠르게 계산할 수 있으며 역행렬의 크기가 기존에 비해 44%로 작아졌으므로 이를 저장하기 위한 메모리 또한 기존의 44%만 필요하게 된다. 또한 역행렬과    의 계수의 행렬 곱셈 연산량도 줄어들게 되므로 결과적으로 역행렬이 주어졌을 때 MapToPoint 연산을  ∼배 정도 빠르게 할수 있다.

본 논문의 구성은 다음과 같다. 2장에서는 Barreto 등의 MapToPoint 방법을 좀 더 자세하게 서술하고 3장에서는 제안하는 MapToPoint 방법을 설명한다. 4장에서는 실험 결과를 통하여 제안하는 방법이 기존의 방법에 비하여 훨씬 연산 속도가 빠름을 보인다. 5장에서는 제안하는 MapToPoint 방법이 point compression에 적용될 수 있음을 서술하고 6장에서 결론을 맺는다.

II. 세제곱을 이용한 MapToPoint

본 장에서는 Barreto 등의 방법[15]을 간략히 서술한다.     →  가      로 정의될 때,  의 kernel이   이므로[19], 의 랭크는   이 된다[13]. [15]의 MapToPoint 방법은 알고리즘 1과 같다.

알고리즘 1. MapToPoint[15]

[15]에서와 같이     ⋯     ∈  에 대해



   ⋯      그리고     으로 정의하자.

알고리즘 1의 마지막 step에서 표기된      는           를 기준으로 근을 구분한 것이다.

알고리즘 1의 step 4에서는 삼차방정식을 풀기위해

의 trace         

 ⋯      

가 임을 확인함으로써 먼저 근이 있는지를 판단한다[19]. 근이 있다면, 의 랭크가   이므로    ×  

크기의 행렬 를 생성하고 의 역행렬    를 계산 한다.  좌표는

∈  으로 구한다.

III. 세제곱근을 이용한 MapToPoint

본 장에서는 제안하는 MapToPoint 방법을 설명한다. [15]의 방법과 달리 본 논문에서는 행렬  를 생성하기 위해서 의 세제곱근을 사용한다. 즉, Barreto 등은 [15]에서     을 위해 

의 세제곱을 사용하여   의 근을 찾아

을 구한다.   에서는  ↦   이 permutation이므로 모든 원소는 유일한 세제곱근을 갖는다. 따라서

                을 만족하는        를 계산할 수 있다. 이 사실로부터 ′      으로 정의되는 함수 ′    →  을 이용하여   ′을 풂으로써



를 구한다.

′를 위해서 의 세제곱이 아닌 세제곱근을 이용하는 이유는 생성 삼항기약다항식을       

   ∈  으로 정의하고 그 근을 라 할 때, 의세제곱을 계산할 때는 과 의 값에 따라 의 계수가 서로 다르게 분포되지만 의 세제곱근을 계산할 때는  ≡   인 경우에 같은 패턴으로 의 계수가 분포되기 때문이다. 이로 인해 ′의 행렬 표현 를 보다 편리하게 변환할 수 있게 된다. 이어서 의변환 과정을 자세하게 서술한다.

          ∈  의 한근을 라 하자. 

를   의 생성 삼항기약다항식이라고 할 때,       라 하고   에서의 세제곱근 연산을 살펴보면, 우선 임의의 자연수 에 대하여      ∈  라 하자. 그러면  ∈  에 대하여

 

이고 이 식을 이용한 의 세제곱근 연산식은 아래의식 (1)과 같다.

(1)

  과   가 사전계산 되었다면, 식 (1)을 이용하여 단지 두 번의 다항식 곱셈만으로 세제곱근을 계산할 수 있다. 이 다항식 곱셈을 할 때,   과   의 다항식 표현이 작은 개수의 항을 갖는다면 보다 효율적 으로 연산이 이루어진다.  ≡  인 경우  

과   의 다항식 표현이 매우 작은 개수의 항을 가지 므로 가장 효율적으로 세제곱근 연산을 할 수 있다 [17].

 ≡  인 형태의 삼항 기약다항식을 cube root-friendly trinomial이라 하며 이를 이용할 경우, 같은 값에 대하여 세제곱 보다 세제곱근 연산이더 적은 덧셈 연산을 필요로 하게 된다[14]. 본 논문 에서는 세제곱근 연산에 유리한 cube root-friendly trinomial을 대상으로 MapToPoint 방법을 전개하며 3.2 절에서는 non-cube root friendly irreducible trinomial에 대해서도 MapToPoint 방법을 대략적으로 기술한다.

3.1 Cube root friendly irreducible trinomials ≡    이용

본 절에서는 cube root-friendly trinomial을 이용하여 ′의 행렬 표현 를 변환하는 방법과 이것의 역행렬을 구하는 방법을 제안한다.  ≡  

또는  ≡  인 각 경우에 대하여 변환된 ′

의 행렬 표현  를 구한다.

 ≡≡ 인 경우 :  ≡   ≡  이라 하면 적당한 양수 와 에 대하여        와     로 표현할 수 있다.

  에서           이므로 [17]에 의하여                    과        

     를 구할 수 있다. 따라서

(2)

이고 이때,

 

그리고

 

이다

예제를 통하여  를 생성하기 위한 사전계산과정을 설명한다.

예제) 생성 삼항기약다항식이         이라 하고 를 의 한 근이라고 하면      이고            과         를 구할 수 있다.

  ′의 계수 분포는 [표 1]과 같다. [표 1]에서    이고 각            는 의 계수 중 두 원소의 뺄셈으로 이루어졌다. 이제 이들을 제거하여 행렬

를 변환하는 과정을 살펴본다. 먼저  

′ ⋯   

′에

 를 대입한다.   은            에 나타나므로

 

′      

′  

′      

′ 그리고  

′      

′을 계산 하고         를  

′  

′  

′으로 대체함으로써 [표 1]에서   을 삭제한다. 다음으로   은           

에 나타나므로   을 삭제하기 위해  

        를  

′      

′  

′      

′  

′      

′을 계산한다. 그리고

′  

′  

′으로 대체한다. 유사한 과정을   과   에 수행하면            가 사라진 다음의 수식을 얻는다.

 

따라서  

′ ⋯  

′    ⋅   ⋯     을 만족하는

변환된 행렬  을 구할 수 있고 아래의 행렬 곱셈을 통

하여    ⋯   을 구할 수 있다 :

마지막으로            을 복원하기 위하여 단지         ,         ,         ,     

   만을 계산하면 된다. 여기서 크기가  ×인 

의 대신에 크기가  ×인  을 사용함으로써 역행렬 연

산 시간 및 저장 공간과 행렬 곱셈 연산량을 줄일 수 있

게 된다.

이제 일반적인 경우에 대하여 행렬  를 생성하는

방법을 살펴본다. 식 (2)의 차수에 따른  ′의 도

표는 [그림 1]과 같다. [그림 1]에 따르면  과

 의 각   들은 의 계수 중 두 원소의 뺄셈으로

이루어진다. 다시 말해서  에는     

     ⋯ ,  에는             

         ⋯   가 존재한다. 앞서 보인 예

제처럼 변환된 행렬  을 생성하기 위한 사전 계산은  ′의 행렬 표현인 에서  과  에 존재 하는 의 계수들을 제거하는 것이다. 예를 들어  의   은      이고   은            그리

고     에 존재한다.  

′ ⋯     

′에  를 대입한

후    

′        

′,      

′         ⋅ 

′ 그리고    

′        

′을 계산함으로써   을 삭제할 수 있다. 이러한 과정을    ⋯           ⋯   

에 대하여 반복하고    ⋯           ⋯   을

 

으로 대체한다. 알고리즘 2는  에 존재하는 의 계수들을 제거하는 과정을 알고리즘으로 표현한 것이다.  에 존재하는 의 계수 제거 또한 매우 유사하게 이루어진다.

위의 사전계산 전에 추가적인 연산이 필요할 수 있는데, 만약         과         가 모두  에속해있다면 우리가   을 삭제하는 과정에서   이     ,       그리고     에 더해지거나 빼지게 된다. 따라서 예상하지 않던 위치에   이 생기게 되고 그러면   을 제거하는 과정에서   의 삭제가 복잡하게 된다. 이런 상황을 방지하기 위하여 

′            을 계산한 후 사전계산을 시작한다. 사전계산 전의 이

러한 추가적인 연산은 알고리즘 2의 step  ∼에 해

당한다.

사전계산 후에  ′     

′ ⋯    

′과 이들의 해

당 의 계수를 얻어  를 생성한다. 다음으로

    ⋅  ′을 계산함으로써      ⋯     을 구한다.

마지막으로 알고리즘 3의 step  ∼에서 처럼

   ⋯           ⋯   을 복원함으로써  의 전체

계수를 구한다. 이때, 의 크기가    ×  

인 반면  의 크기는  ×로 작아,     및

    ⋅  ′의 연산량이 [15]에서처럼    및    ⋅  

를 연산할 때 보다 훨씬 줄어들게 된다.

이어서  ≡≡ 인 경우에 대해서도   ′

의 근을 찾도록 한다. 이는 앞서 설명한 과정과 유사하 다.

 ≡≡ 인 경우 :  ≡   ≡  이라 하면 임의의 양수 와 에 대하여        이고     라 하자.   에서

            이므로 [17]에 의하여

            과              

     를 구할 수 있다. 따라서

′             ⋅     ⋅ 

                                    

이고 이때,

  

        

        

  

     

그리고    

  

  

      이다.

 ≡≡ 일 때의 차수에 따른  ′의 도표는 [그림 2]와 같으며 알고리즘 4는   제거 과정을 나타내고 알고리즘 5는 사전계산을 마친 후 MapToPoint 연산을 수행하는 알고리즘이다.

3.2 나머지 Irreducible Trinomials  ≠    이용

본 절에서는 생성 삼항기약다항식이 cube root -friendly trinomial이 아닌 경우 ′의 행렬 표현 를 변환하는 방법을 대략적으로 설명한다.

≠ ±  인 경우에 대하여 [20]에서는 Shifted polynomial basis(SPB)[5]를 이용하여 cube root-friendly trinomial을 사용했을 때와 같은 연산량으로 세제곱근을 구할 수 있는 방법을 제안하였다. [20]의 결과에 따르면 cube rootfriendly trinomial을 사용했을 때와 같이   과   의 다항식 표현을 매우 작은 개수의 항으로 표현할수 있으므로 3.1절의 행렬 생성과 변환 방법을 그대로 적용할 수 있다. ≡    인 경우에는   과   의 다항식 표현이 많은 개수의 항을 가지므로 세제 곱근 연산량이 비교적 크게 된다. 이는 행렬 로부터 를 얻는 것이 매우 복잡하기 때문에 세제곱을 이용

한 방법을 이용하는 것이 유리하다는 것을 의미한다.

세제곱을 이용한다고 하면 생성 삼항 기약다항식에 따

라 사전계산이 달라져야 하는 단점이 있으나 3.1절에서와 마찬가지로 행렬을 변환할 수는 있다.

IV. 실험 결과

3장에서는  ′의 행렬 표현을 변환하여

MapToPoint 연산을 효율적으로 수행할 수 있는 방

법을 제안하였다. 이때,  과  에 존재하는

의 계수들을 제거하기 위한 덧셈과  좌표의 일부를

복원하기 위한 덧셈은 매우 가벼운 연산이므로

MapToPoint의 연산량은  의 역행렬 계산과     ⋅  의 행렬 곱셈에서 결정된다. Harrison 등은

  에서의 유한체 연산을 구현하기 적합한 원소 표현

방법 두 가지를 제안하였다[12]. 이중 Type Ⅱ 표현

은   에서의 원소 표현과 유사하며 각  

   

 를 만족하는  

   

  두 비트로 유일하게 표현하였다. 여기서  

 과  

 동시에 1이 아니다. 본논문에서는 이 Type Ⅱ 표현 방법을 이용하여 Barreto 등의 방법과 함께 제안하는 의 초특이 타원 곡선 MapToPoint 방법을 구현하였다.   과   

위            ,   

위의 초특이 타원곡선            과 [14]에 제시된 cube root-friendly trinomial :         ,         ,         을 이용하였 다. C 언어로 Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz 프로세서 환경에서 구현되었으며 역행렬 연산은 일반적인 가우스 소거법보다 약 배 빠른  분해 방법을 사용하였다[4]. [15]의 결과와 비교했을 때, 역행렬은  ∼  배 가량 빨리 연산 할수 있으며 이 역행렬을 저장하기 위해서는 3.1절에서 언급한 바와 같이 4/9(44%)의 메모리만이 필요하였 다. 또한 역행렬이 주어졌을 때 MapToPoint 연산을 위한 행렬 곱셈은  ∼ 배 정도 빠르다. 이들의 구현 결과는 [표 3]과 같으며 각 연산 시간은 [표 2]의 연산이 수행되는 동안 측정되었다.

V. Point Compression

타원곡선 위의 점을 전송할 때 대역폭 절약을 위해   좌표 모두를 전송하는 대신 둘 중 하나만을 전송한 후 다른 하나는 수신자가 복원하도록 하는 방법을 point compression이라 한다.    위의 타원곡선 암호에서는 수신자에게 160 비트 이상의 좌표와 1 비트의  좌표 부호가 주어지고 수신자는 타원곡선 이차식을 만족하는  좌표를 구하게 된다.   위에서는  좌표와 1 비트의 ′    가 주어진다.   

과   에서의 point compression 방법은 [6]에 자세하게 설명되어있다.

제안하는 MapToPoint 방법에 사용된 cube root -friendly trinomial을 이용하는 기술은   

에서의 point compression에 효과적으로 적용할수 있는데 이때는  좌표와   및 복원할  좌표의 부호까지 모두 3 비트가 추가로 주어져야 하며, point decompression시에 적합한  좌표를 연산하는데 있어 가장 빠른 알고리즘을 제공한다.

VI. 결 론

본 논문에서는 임의의 메시지 스트링을    위의 타원곡선 점으로 보다 효율적으로 대응시키는 방법을 제안하였다. 덧셈 연산이 다른 연산에 비해 훨씬 가벼 우므로 그 횟수를 늘리는 대신 MapToPoint 연산을 위한 행렬의 크기를 줄였으며, 이로 인하여 저장 공간은 기존의 방법에 비해 44%로 줄이고 MapToPoint 연산은  ∼배 빠르게 연산할 수 있었다. 따라서 제안 하는 MapToPoint 방법은 유비쿼터스 환경 등의 제한된 저장 공간과 컴퓨팅 파워를 갖는 장비에 효과적 으로 적용가능하다.

References

  1. D. Boneh and M. Franklin, "Identity based encryption from the Weil pairing," SIAM J. of Computing. vol. 32. no. 3, pp. 586-615, 2003. https://doi.org/10.1137/S0097539701398521
  2. D. Boneh, B. Lynn, and H. Shacham, "Short signatures from the Weil pairing," Journal of Cryptology, vol. 17, no. 4, pp. 297-319, 2004.
  3. F. Hess, "Exponent group signature schemes and efficient identity based signature schemes based on pairing," SAC 2002, LNCS 2595, pp. 310-324, 2002.
  4. G.H. Golub and C.F.V. Loan, "Matrix computations 3rd.," Johns Hopkins studies in the mathematical sciences. Johns Hopkins University Press, Baltimore, 1996.
  5. H. Fan and Y. Dai, "Fast bit-parallel $GF(2^{n})$multiplier for all trinomials," IEEE Transactions on Computers, vol. 54, no. 4, pp.485-490, 2005. https://doi.org/10.1109/TC.2005.64
  6. IEEE P1363. Standard specifications for public key cryptography, 2000. http://grouper.ieee.org/groups/1363/index.html.
  7. J.C. Cha and J.H. Cheon, "An identitybased signature from gap Diffie-Hellman groups," PKC 2003, LNCS 2567, pp. 18-30, 2003.
  8. J.L. Beuchat, E. López-Trejo, L. Martínez-Ramos, S. Mitsunari, and F.R. Henríquez, "Multi-core implementation on the Tate pairing over supersingular elliptic curves," CANS 2009, LNCS 5888, pp. 413-432, 2009.
  9. J.L. Beuchat, J. Detrey, N. Estibals, E. Okamoto, and F. R.-Henríquez, "Fast architectures for the  pairing over small-characteristic supersingular elliptic curves," IEEE Transactions on Computers, vol. 60, no. 2, pp. 266-280, 2011. https://doi.org/10.1109/TC.2010.163
  10. K. Fong, D. Hankerson, J. López, and A. Menezes, "Field inversion and point halving revisited," IEEE Transactions on Computers, vol. 53, no. 8, pp. 1047-1059, 2004. https://doi.org/10.1109/TC.2004.43
  11. K.G. Paterson, "ID-based signature from pairing on elliptic curves," Electronics Letters, vol. 38, no. 18, pp. 1025-1026, 2002. https://doi.org/10.1049/el:20020682
  12. K. Harrison, D. Page, and N.P. Smart, "Software implementation of finite fields of characteristic three, for use in pairing-based cryptosystems," LMS Journal of Computation and Mathematics, vol. 5, pp. 181-193, 2002. https://doi.org/10.1112/S1461157000000747
  13. K. Hoffman and R. Kunze, "Linear algebra," Prentice Hall, New Jersey, USA, 2nd edition, 1971.
  14. O. Ahmadi and F. R.-Henríquez, "Low complexity cubing and cube root computation over $F_{3^{m}}$ in polynomial basis," IEEE Transactions on Computers, vol. 59, no. 10, pp.1297-1308, 2010. https://doi.org/10.1109/TC.2009.183
  15. P.S.L.M. Barreto and H.Y. Kim, "Fast hashing onto elliptic curves over fields of characteristic 3," Cryptology ePrint Archive, Report 2001/098.
  16. P.S.L.M. Barreto, H.Y. Kim, B. Lynn, and M. Scott, "Efficient algorithms for pairing-based cryptosystems," CRYPTO 2002, LNCS 2442, pp. 354-368, 2002.
  17. P.S.L.M. Barreto, H.Y. Kim, B. Lynn, and M. Scott, "Efficient algorithms for pairing-based cryptosystems," CRYPTO 2002, LNCS 2442, pp. 354-368, 2002.
  18. P.S.L.M. Barreto, S.D. Galbraith, C. Ớ hἙigeartaigh, and M. Scott, "Efficient pairing computation on Supersingular Abelian Varieties," Des. Codes Cryptography 42, pp. 239-271, 2007. https://doi.org/10.1007/s10623-006-9033-6
  19. R. Lidl and H. Niederreiter, "Finite fields," Number 20 in Encyclopedia of Mathematics and its Applications. Cambridge University Press, Cambridge, UK, 2nd edition, 1997.
  20. 조영인, 장남수, 김창한, 박영호, 홍석희, "페어링 암호 연산을 위한 $F_{3^{m}}$에서의 효율적인 세제곱근 연산 방법," 정보보호학회논문지, 21(2), pp. 3-11, 2011년 4월.
  21. Y. Kawahara, T. Kobayashi, G. Takahashi, and T. Takagi, "Faster MapTo- Point on supersingular elliptic curves in characteristic 3," IEICE Transactions on Fundamentals, vol. E94-A, no. 1, pp. 150-155, 2011. https://doi.org/10.1587/transfun.E94.A.150