XTR

XTR

암호학에서 XTR공개키 암호화를 위한 알고리즘이다.XTR은 Efficient and Compact Subgroup Trace Presentation의 약자인 'ECSTR'을 의미한다.유한 장의 승법군 하위군의 원소를 나타내는 방법이다.이를 위해 ) 에 대한 추적을 사용하여 ) 의 하위 그룹 요소를 나타낸다

보안 관점에서 XTR은 유한 분야의 전체 승수 그룹에서 이산 로그 관련 문제를 해결하는 어려움에 의존한다.한정된 분야의 전체 승수 그룹의 생성기를 기반으로 하는 많은 암호 프로토콜과는 달리, XTR은 오른쪽 과 함께 ( ) 의 일부 소수 부분군 g q}의 생성기 을 사용한다.e of , computing Discrete Logarithms in the group, generated by , is, in general, as hard as it is in and thus cryptographic applications of XTR use arithmetics while achieving full ( ) 보안으로 보안에 영향을 주지 않으면서 통신 및 계산 오버헤드 모두에서 상당한 비용 절감 효과를 얻음XTR의 다른 장점으로는 빠른 키 생성, 작은 키 크기 및 속도 등이 있다.

XTR의 기본 원리

XTR은 일반적으로 XTR supergroup이라 불리는 부분군의 XTR supergroup 또는 just XTR 그룹으로, 6 원소가 있는 })의 승법집단을 사용한다.XTR 슈퍼 그룹은 p -p+ 1 p - + 1 p이며 여기서 p는 충분히 큰 prime -p + 을 나누는 프라임이다XTR 하위 그룹은 이제 q를 주문했으며, 제너레이터 g와 함께 주기 G 6) 의 하위 그룹으로서The following three paragraphs will describe how elements of the XTR supergroup can be represented using an element of instead of an element of and how arithmetic operations take place in instead of in ( ) .

) 의 산술 연산

p가장 많은 사람은 피와 p2-p2모드 3≡과 같아야+13우리는 그 p(Z/3Z)∗{\displaystyle(\mathbb{Z}/3\mathbb{Z})^{*}를 생성하}참조하십시오 p2 ≡ 1모드이고 따라서 세번째 원주 등분 다항식 Φ 3())이후)는 충분히 큰 소인수 quaque다 x2+x+1{\displaystyle \Phi_{3}())=x^{2}+x+1}irreduci 것입니다.가물가물e over . It follows that the roots and form an optimal normal basis for over and

p2 mod 3을 고려하면 우리는 지수 modulo 3을 줄일 수 있다.

산술 연산의 비용은 이제 "XTR 공개시스템의 개요"[1]에서 Lema 2.21이라는 라벨을 붙인 다음 Lemma에 제시되어 있다.

보조정리

  • xp 컴퓨팅은 곱셈을 사용하지 않고 수행된다.
  • 컴퓨팅 x2 ( ) 의 두 배수를 사용한다.
  • xy 컴퓨팅은 ( ) 의 세 배수를 사용한다.
  • xz-yzp 연산에는 ) 의 네 가지 배수가 사용된다

) 에 대한 추적

The trace in XTR is always considered over . In other words, the conjugates of over are and 의 흔적이 이들의 총합이다.

이후 ( ) ( 2) 에 주목하십시오.

Consider now the generator of the XTR subgroup of a prime order . Remember that is a subgroup of the XTR supergroup of order , so .다음 섹션에서는 q{\을(를) 선택하는 방법을 볼 수 있지만, 현재로서는 > 3 을(를 가정하면 충분하다. modulo - + 대한 을 계산하려면

= -

따라서

은 1 1 이(가) 표준 1을 갖는 것과 같다.

XTR의 중요한 관찰 내용은 ) 대한 g 최소 다항식이라는 것이다.

로 단순화하다.

T ( ) 에 의해 완전히 결정된다 따라서 G ( ) g g의 최소 다항식의 뿌리로서 의 추적에 의해 완전히 결정된다 의 모든 동력에 대해서도 동일함 g의 접합자는 다항식의 뿌리임

그리고 이 다항식은 ( g ) 에 의해 완전히 결정된다

트레이스를 사용하는 이면의 아이디어는 암호 프로토콜(예: Diffie–)에서 g G F( ) g를 대체하는 것이다.에서 T )F(2 ) displaystyle Tr(g^{n})\에 의한 헬만 키 교환으로 표현 크기가 3 감소하는 계수를 얻었다.그러나 이는 ( n) (를 얻을 수 있는 빠른 방법이 있는 경우에만 유용하다The next paragraph gives an algorithm for the efficient computation of . In addition, computing given turns out to be quicker than computing given .[1]

( n) 의 빠른 계산 알고리즘

A. 렌스트라와 E.Verheul은 XTR 공개시스템이라는 제목의 논문에서 이 알고리즘을 제공했다.[2]알고리즘과 여기에 제시된 알고리즘 자체에 필요한 모든 정의와 레마(lemmas)는 이 문서에서 가져온 것이다.

){\2})에서 c에 정의 정의 정의

Definition Let denote the, not necessarily distinct, roots of in and let be in . Define

, X) 의 속성

  1. 해석)모든 hj{\displaystyle h_{j}}하 p2− p+1{\displaystyle p^{2}-p+1}과 을 나누고, 3{\displaystyle>3}또는 모든 hj{\displaystyle h_{j}}GF(p2){GF(p^{2})\displaystyle}에. 특히, 만일 F(c, X){F(c,X)\displaystyle} 할 수 있다.그 roots는 2 - p+ (\}-및 >3 (\ >(를) 주문한다
  2. ) 은(는) C+ ) 1 축소 가능함

Lemma Let , c - ,c + c가 주어지도록 한다.

  1. 컴퓨팅 = - 2 은(는) ) 에서 두 곱을 취한다
  2. + 2= + c -c + c c + - 1 로 4 곱한다
  3. Computing takes four multiplication in .
  4. Computing takes four multiplication in .

Let S( c)= ( -, c + 1) ( )

지정된 ( 계산 알고리즘 1

  • < 인 경우 이 알고리즘을 c 에 적용하고 결과 값에 속성 2를 적용한다.
  • = 이면 =(, 3, c) .
  • = 이면 1( )= ( 3, c- ) = .
  • If , use the computation of and to find and thereby .
  • > }이가) ( (를) 계산하는 경우
= 이 홀수인 경우 n m= - 1 그렇지 않은 경우.Let =+ 1,k= 및 계산 S( 위의 (c)를 }(c . 더 멀리 두십시오.
} m= = r- 1,r- ,.. . . . {\ ..., 연속으로 사용하여 다음을 수행하십시오.
  • = 인 경우 ( )를 사용하여 ) 를 계산하십시오
  • = 인 경우 (를 사용하여 + 을 계산하십시오
  • 을(를) + m 교체하십시오

When these iterations finish, and . If n is even use to compute .

파라미터 선택

한정된 필드 및 부분군 크기 선택

위에서 설명한 요소들의 표현을 추적하고 충분한 보안을 확보하기 위해 아래에서 논의될 p{\ 를 찾아야 하며, 서 p G F( 6)의 특성을 나타낸다 2 3(를 사용하는 은(는 p -+ 을(를 나누는 부분군 입니다

크기를 비트로 표시한다1024비트 RSA에 필적하는 보안을 얻으려면 약 )를 선택해야 한다. 즉, 170 P\ 약 는 약 160이 될 수 있다.

이러한 프리타임 {\ (를) 계산하기 위한 첫 번째 쉬운 알고리즘은 다음 알고리즘 A:

알고리즘 A

  1. = - + }이가) -bit prime인 r r {을(를 찾으십시오.
  2. = + {\q}이) p 3 {\displaystyle 3인 P -b p} -bit prime}을으) 찾으십시오
알고리즘 A의 정확성:
It remains to check that because all the other necessary properties are obviously satisfied per definition of and . We easily see that which implies that .

알고리즘 A는 매우 빠르고 계수가 작은 도 2 다항식을 만족시키는 primes 을(를) 찾는 데 사용할 수 있다.이러한 은(는) ) 의 빠른 산술 연산을 유도한다 특히 검색이 = 1 k로 제한되는 경우 - - r+ + 찾는 을 의미한다.{\text}{} 2가) 프라임 이(가) 이러한 멋진 형태를 갖도록 한다.이 경우 은(는) 짝수여야 하며 r 이어야 한다는 점에 유의하십시오

반면에 그러한 은(는) 숫자 필드 체이산 로그 변종(Intertain Logarithm)으로 공격을 쉽게 할 수 있기 때문에 보안 관점에서 바람직하지 않을 수 있다.

다음의 알고리즘 B는 이러한 단점을 가지고 있지 않지만, 그 경우에 있어서 A 알고리즘이 가지고 있는 빠른 로 p 알고리즘도 가지고 있지 않다.

알고리즘 B

  1. -bit prime 을(를) 선택하여 7 7 .
  2. - + {\displaystyle }, R X^{2}-X의 루트 1 r_{{1}}}을 찾으십시오
  3. Find a such that is a -bit prime with for
알고리즘 B의 정확성:
q 7 (를) 선택했으므로 q 3 3 따라간다.그것과 이차적 상호주의로부터 우리는 r }와 }}개가 존재한다고 추론할 수 있다.
To check that we consider again for and get that , since and are roots of and hence displaystyleq\

부분군 선택

In the last paragraph we have chosen the sizes and of the finite field and the multiplicative subgroup of , now we have to find a subgroup G ( ) ( 대해 .

However, we do not need to find an explicit , it suffices to find an element such that for an element of order 그러나 r( ) 가) 주어진 경우 에서 F ( T r(), )F의 루트를 결정하여 XTR(sub) 그룹의 {\displaystystyle g}을 찾을 수 있다.To find such a we can take a look at property 5 of here stating that the roots of have an order dividing if and only if is irreducible. 그러한 을(를) 찾은 후 실제로 이(가) 순서인지 확인할 필요가 있지만, 먼저 가 풀릴 수 없도록c 를 선택하는 방법에 초점을 맞춘다.

초기 접근방식은 보조정리기로 정당화되는 c ( 2) G ( 를 무작위로 선택하는 것이다.

보조정리: For a randomly selected the probability that is irreducible is about one third.

이제 적합한 ( g) 을(를) 찾기 위한 기본 알고리즘은 다음과 같다.

알고리즘 개요

  1. 임의 (p ) ( ){ G F ( ) 를 선택하십시오
  2. , ) (가) 축소 가능한 경우 1단계로 돌아가십시오.
  3. 알고리즘 1을 사용하여 = 2- + )/ 을(를) 계산하십시오
  4. 이(가) 순서 가) 아닌 경우 1단계로 돌아가십시오.
  5. T ( )=

이 알고리즘이 G F( ) )}에 T (g) Tr(g 같은 (의 요소를 실제로 계산하는 것으로 나타났다

알고리즘, 정확성, 런타임 및 Lemma 증명에 대한 자세한 내용은 의 "XTR 공개시스템의 개요"에서 확인할 수 있다.[1]

암호 체계

이 절에서는 원소의 흔적을 이용한 위의 개념이 암호학에 어떻게 적용될 수 있는지 설명한다.일반적으로 XTR은 (하위 그룹) 이산 로그 문제에 의존하는 모든 암호 시스템에서 사용될 수 있다.XTR의 두 가지 중요한 애플리케이션은 Diffie이다.Hellman계약ElGamal 암호화.디피부터 시작하자.헬먼

XTR-DH 키 계약

Alice와 Bob 모두 XTR 공개 키 데이터 ,, r ( ) 에 액세스할 수 있으며 공유 비밀 에 동의하려고 한다 다음 XTR 버전을 사용하여 이 작업을 수행할 수 있다.Hellman 키 교환:

  1. Alice picks randomly with , computes with Algorithm 1 and sends to Bob.
  2. 밥은 앨리스한테서, 임의의 b에 ∈ Z{\displaystyleb\in \mathbb{Z}선택하는}1<>와 q − 2{1<, b<, q-2\displaystyle}, Sb(Tr(g)))(Tr(gb− 1), Tr(gb), Tr(gb+1)를 계산하기 위해)알고리즘 1적용된다 ∈ GF(p2Tr(를 입수){Tr(g^{})\displaystyle}b<>를 받는다. =3{) and sends to Alice.
  3. Alice receives from Bob, computes with Algorithm 1 있는 (g a ) G )에 기반하여 를 결정한다
  4. Bob은 알고리즘 1을 r( g )=( T ( ga ( - r ( ) , r( a( + 1)) 계산에 유사하게 적용한다. ( ) and also determines based on .

XTR ElGamal 암호화

ElGamal 암호화의 경우, 이제 Alice가 XTR 공개 키 데이터 , () 계산된 ( g k) }, 계산된 T r ( ){의 소유자라고 가정하고 있다.앨리스의 XTR 공개 키 데이터, , r(g ), ( )(Tr를 감안할 때 Bob은 다음과 같은 XTR 버전의 엘가말 암호화를 사용하여 앨리스용 메시지 M}을 암호화할 수 있다

  1. Bob selects randomly a with and computes with Algorithm 1 p^{
  2. 다음으로 Bob은 알고리즘 1을 r( )=( r(- 1) ), ( ), ( g b k ) , T ( g (+ )) G ( p ) 3 S_에 적용한다.
  3. Bob은 에서 r k) G ) in (p^{2})에 기반하여 대칭 암호화 키 {\를 결정한다
  4. Bob은 의 메시지 M}을(를) 암호화하기 위해{\ 과(와) 대칭 암호화 방법에 합의하여 E E을(를) 사용한다
  5. 밥은 앨리스에게( ( b), E) 을 보낸다.

( b), ) 을 받은 앨리스는 다음과 같은 방법으로 메시지를 해독한다.

  1. 앨리스는 ( ( g )=( T ( ( k- ), T ( k), T r ( b ) , ( g b+ ) F( 2) 3 를 계산한다.
  2. 앨리스는 2})에서 T ) G 2) in GF(p^{ 기준으로 대칭 K 를 결정한다
  3. 앨리스는 키 과(와) 합의된 대칭 방법을 사용하여E {\ E}을(를) 해독하고원본 메시지 을(를) 생성한다

여기서 설명한 암호화 체계는 ElGamal 암호화의 일반적인 하이브리드 버전을 기반으로 하며, 서 암호키 K 비대칭 공개 키 시스템에 의해 얻은 다음 앨리스와 밥이 동의한 대칭암호화 방법으로 암호화한다.

In the more traditional ElGamal encryption the message is restricted to the key space, which would here be , because . The encryption in this case is the multiplication of t키 공간 ) 에서 되돌릴 수 없는 작업인 키를 가진 메시지

Concretely this means if Bob wants to encrypt a message , first he has to convert it into an element of and then compute the encrypted message as . Upon receipt of the encrypted message Alice can recover the original message by computing , where is the inverse of in .

보안

에서 설명한 XTR 암호화 체계의 보안 속성에 대해 뭐라고 말하려면 먼저 XTR 그룹의 보안을 확인하는 것이 중요하며, 이는 그곳에서 이산 로그 문제를 해결하는 것이 얼마나 어려운가를 의미한다.그런 다음 다음 파트에서는 XTR 그룹의 이산 로그 문제와 이산 로그 문제의 XTR 버전 사이의 동등성을 요소의 트레이스만 사용하여 기술한다.

일반 ) 의 이산 로그

이제 {\ \langle 을(를 Ω {\omega}의 다중 순서 그룹으로 합시다.Diffie–의 보안. Hellman 프로토콜Diffie–에 의존한다.Hellman (DH) problem of computing . We write .DH 문제와 관련된 다른 두 가지 문제가 있다.첫 번째는 디피-헬먼 결정 만약 c=DH{\displaystyle c=DH(a,b)}(a, b)을 결정하기 위해서 문제(DHD)된, b, c∈ ⟨γ ⟩{\displaystyle a,b,c\in \langle \gamma \rangle}, 다른 하나는 이산 로그(DL)문제에 찾xxDL(를){\displaystyle x=DL(를)}에 주어진 a=γ)∈⟨ γ ⟩과 0≤)<>.;ω x

DL 문제는 적어도 DH 문제만큼 어려우며 일반적으로 { {\ \}의 DL 문제가 다루기 어려운 경우 나머지 두 가지 문제도 다루기 어렵다고 가정한다.

primary factorization을 고려할 때, Pohlig–로 인해 프라임 순서와 함께 γ \ 의 모든 하위 그룹에서 DL 문제로 축소할 수 있다.헬만 알고리즘.따라서 은(는) 안전하게 프라임으로 가정할 수 있다.

부분군 {\\langle \ 경우, 승수 그룹 ) 프라임 순서 Ω }일부 F 확장 필드 ({*}) 중 이제 시스템을 공격하는 두 가지 방법이 있다사람은 전체 승수 그룹에 초점을 맞출 수도 있고 하위 그룹에 초점을 맞출 수도 있다.To attack the multiplicative group the best known method is the Discrete Logarithm variant of the Number Field Sieve or alternatively in the subgroup one can use one of several methods that take operations in , such as Pol라드의 rho 방식

For both approaches the difficulty of the DL problem in depends on the size of the minimal surrounding subfield of and on the size of its prime order . If itself is the minimal surrounding subfield of and is sufficiently large, then the DL problem in is as hard as the general DL problem in .

The XTR parameters are now chosen in such a way that is not small, is sufficiently large and cannot be embedded in a true subfield of , since -+ p}은는) G F( 6) - 의 구분자임, but it does not divide and thus cannot be a subgroup of , , 에 대해 XTR 그룹의 DL 문제는 ( ) 의 DL 문제만큼 단단하다고 가정할 수 있다

XTR의 보안

이산 로그에 기반한 암호화 프로토콜은 타원 곡선 지점의 그룹이나 XTR 그룹과 같은 유한 분야의 승수 그룹의 하위 그룹과 같은 여러 가지 종류의 하위 그룹을 사용할 수 있다.XTR 버전의 Diffie-에서 살펴본 바와 같이.Hellman 및 ElGamal 암호화 프로토콜은 XTR 그룹의 요소를 트레이스를 사용하여 대체한다.이는 이러한 암호화 체계의 XTR 버전의 보안이 더 이상 원래의 DH, DHD 또는 DL 문제에 기초하지 않는다는 것을 의미한다.따라서 이러한 문제의 XTR 버전은 정의되어야 하며 우리는 그것들이 원래의 문제와 동등하다는 것을 알게 될 것이다.

정의:

  • We define the XTR-DH problem as the problem of computing given and and we write .
  • 문제는 H( a ,)= , , , c ( ) 의 여부를 결정하는
  • Given , the XTR-DL problem is to find , i.e. such that .
  • We say that problem is (a,b)-equivalent to problem , if any instance of problem (or ) can be solved by at most a (or b) calls to an algorithm solving problem A .

이러한 문제의 XTR 버전을 도입한 후 다음 정리는 XTR과 사실상 동등한 XTR 문제 사이의 연관성을 알려주는 중요한 결과물이다.이는 위에서 볼 수 있듯이, 보안에 영향을 주지 않으면서 일반적인 표현보다 3배 빠른 추적을 가진 요소들의 XTR 표현이라는 것을 의미한다.

정리 다음과 같은 동등성은 유지된다.

i. XTR-DL 문제는 (1,1)- \ DL 문제와 동일하다
ii. XTR-DH 문제는 (1,2)- \ DH 문제와 동일하다
iii. XTR-DHD 문제는 (3,2)- DHD 문제와 동일하다

즉, XTR-DL, XTR-DH 또는 XTR-DHD 중 하나를 불가해한 확률로 해결하는 알고리즘을 해당 비-XTR 문제 DL, DH 또는 DHD를 불가해한 알고리즘으로 변환할 수 있으며 그 반대의 경우도 마찬가지다.In particular part ii. implies that determining the small XTR-DH key (being an element of ) is as hard as determining the whole DH key (being an element of ) in the representation group .

참조

  1. ^ a b c Lenstra, Arjen K.; Verheul, Eric R. "An overview of the XTR public key system" (PDF). CiteSeerX 10.1.1.104.2847. Archived from the original (PDF) on April 15, 2006. Retrieved 2008-03-22. {{cite journal}}:Cite 저널은 필요로 한다. journal=(도움말)
  2. ^ Lenstra, Arjen K.; Verheul, Eric R. "The XTR public key system". CiteSeerX 10.1.1.95.4291. {{cite journal}}:Cite 저널은 필요로 한다. journal=(도움말)