Lenstra-Lenstra-Lovasz 격자 기반 감소 알고리즘

Lenstra–Lenstra–Lovász lattice basis reduction algorithm

Lenstra-Lenstra-Lovasz(LLL) 격자 기반 감소 알고리즘은 1982년 Arjen Lenstra, Hendrik LenstraLaszlo Lovasz가 발명한 다항 시간 격자 감소 알고리즘이다.[1]Given a basis with n-dimensional integer coordinates, for a lattice L (a discrete subgroup of Rn) with , the LLL algorithm calculates an LLL-reduced (short, nearLy 직교) 격자 기준 시간(시간)

where is the largest length of under the Euclidean norm, that is, [2][3].

원래 적용은 합리적인 계수를 가진 다항식들을 인수하기 위한 다항식 시간 알고리즘과 실수에 대한 동시적인 합리적 근사치를 찾고 고정된 치수에서의 정수 선형 프로그래밍 문제를 해결하기 위한 것이었다.

LLL감소

LLL-축소된 LLL의 정확한 정의는 다음과 같다.

Gram-Schmidt 공정 직교 기준을 정의한다.

그램-슈미트 계수

, for any .

그 다음 (0.25,1)에 매개변수 이(가) 있는 경우 B 은(는) LLL-축소되며 다음과 같이 유지된다.

  1. (size-size) < i , 0. 0.5 . 정의상, 이 속성은 순서 기준의 길이 감소를 보증한다
  2. (Lovász condition) For k = 2,3,..,n .

여기서 매개 변수의 값을 추정하면 기준이 얼마나 잘 축소되는지 결론을 내릴 수 있다. 의 값이 클수록 기본값이 더 많이 감소한다.처음에는 A.Lenstra, H. Lenstra and L. Lovász demonstrated the LLL-reduction algorithm for . Note that although LLL-reduction is well-defined for , the polynomial-time complexity is guaranteed only for in 25,.

LLL 알고리즘은 LLL 감소 베이스를 계산한다.기본 벡터가 4보다 큰 크기의 격자에 대해 가능한 한 짧은 기준을 계산하는 알려진 효율 알고리즘은 없다.[4]하지만, 한LLL-reduced 기준 거의 가능한 한은 절대적인 범위를 나는 c입니다., 1{\displaystyle c_{나는}> 1}은 짧은 첫번째 토대 벡터은 것으로 c1{\displaystyle c_{1}}배가 더 긴 빠른 벡터의 격자, 두번째 기준 벡터는 또한 내에서 c2. {\di}}회 연속 최소값 등

적용들

LLL 알고리즘의 초기 성공적인 적용은 앤드류 오들리즈코헤르만 리에메르텐스의 추측을 반증하는 데 사용한 것이었다.[5]

LLL 알고리즘은 MIMO 탐지 알고리즘과[6] 공개 키 암호화 방식의 암호화 분석에서 수많은 다른 응용 프로그램들을 발견했다: 배낭 암호 시스템, 특정 설정을 가진 RSA, NTRUEncrypt 등.이 알고리즘은 많은 문제에 대한 정수 해결책을 찾는 데 사용될 수 있다.[7]

특히 LLL 알고리즘은 정수 관계 알고리즘 중 하나의 핵심을 형성한다.For example, if it is believed that r=1.618034 is a (slightly rounded) root to an unknown quadratic equation with integer coefficients, one may apply LLL reduction to the lattice in spanned by [ , .The first vector in the reduced basis will be an integer linear combination of these three, thus necessarily of the form ; but such a vector is "short" only if a, b, c are small and is even smaller따라서 이 짧은 벡터의 처음 3개 항목은 r을 루트로 갖는 적분 2차 다항식의 계수일 가능성이 높다.이 예에서 LLL 알고리즘은 최단 벡터를 [1, -1, -1, 0.00025]로 찾으며 실제로 - x- x(는) 황금 비율인 1.6180339887과 동일한 루트를 갖는다.

LLL 축소 기준의 특성

Let be a -LLL-reduced basis of a lattice . From the definition of LLL-reduced basis, we can derive several other useful proper 에 대한 타이

  1. The first vector in the basis cannot be much larger than the shortest non-zero vector: . In particular, for ,this b - 1)/ 1( L) 2[8]
  2. The first vector in the basis is also bounded by the determinant of the lattice: . In particular, for 이렇게 12(1) / 4 (det / n }}})/n
  3. The product of the norms of the vectors in the basis cannot be much larger than the determinant of the lattice: let , then .

LLL 알고리즘 유사 코드

다음 설명은 에라타 수정과 함께 (호프슈타인, 피퍼 실버맨 2008, 정리 6.68)에 근거한다.[9]

INPUT 격자 기초 b0, b1,…, bn∈ Zm_{0},\mathbf{\displaystyle \mathbf{b}{b}_{1},\ldots ,\mathbf{b}_{n}\in\mathbb{Z}^{m}}매개 변수 δ{\delta\displaystyle}과 14<δ<1{\displaystyle{\tfrac{1}{4}}<>\delta<1}는 가장 일반적으로 δ는 34{.\displaystyl PROCEDURE  and do not normalize  using the most current values of 그리고 bj∗{\displaystyle \mathbf{b}_{j}^{\ast}}k1;{\displaystyle k\gets 1;}는 동안 k≤ n{k\leq n\displaystyle}j{j\displaystyle}에 k에서 얻는 것 ← − 1{\displaystyle k-1}에 0{0\displaystyle}더라도μ k, j12{\displaystyle \mu_{k,j}>{\tfrac{1}{2}.}} then  Update  and the related 's as needed.(The naive method is to recompute  whenever  changes: )             end if end for if  then  else             Swap  and   Update  and 관련  j  필요 시 의μs. end if end while return  the LLL reduced basis of  OUTPUT     the reduced basis 

ℤ의 예

격자 기반 1, ,b 의 열로 제공하도록 한다

그러면 줄어든 근거는

- 2 {\&-1\\

크기 감소, 로바스 조건 충족, 따라서 위에서 설명한 것처럼 LLL 감소.W. Bosma를 참조하십시오.[10]자세한 내용은 다음을 참조하십시오.

ℤ[i]⁴의 예

마찬가지로, 아래 행렬의 열에서 주어진 복잡한 정수에 대한 기초는,

[− 2+2나는 7+3i7+3나는 − 5+4나는 3+3나는 − 2+4나는 6+2나는 − 1+4나는 2+2나는 − 8+0i− 9+1나는 − 7+5나는 8+2나는 − 9+0i6+3나는 − 4+4나는]{\displaystyle{\begin{bmatrix}-2+2i&, 7+3i&, 7+3i&, -5+4i\\3+3i&, -2+4i&, 6+2i&, -1+4i\\2+2i&, -8+0i&, -9+1i&, -7+5i\\8+2i&, -9+0i&am.p/&6+3i&, -4+4i\end{bmatrix}}},

그런 다음 아래 행렬의 열은 LLL 축소 기준을 제공한다.

[− 6+3나는 − 2+2나는 2− 2나는 − 3+6나는 6− 1나는 3+3i5− 5나는 2+1나는 2− 2나는 2+2나는 − 3− 1나는 − 5+3나는 − 2+1나는 8+2나는 7+1나는 − 2− 4나는]{\displaystyle{\begin{bmatrix}-6+3i&, -2+2i&, 2-2i&, -3+6i\\6-1i&, 3+3i&, 5-5i&, 2+1i\\2-2i&, 2+2i&, -3-1i&, -5+3i\\-2+1i&, 8+2i&, 7+1i.&-2-4i\\\end{bmatrix}}}.

구현

LLL 구현 위치:

  • 함수로 아라지리lll_reduction_int
  • 독립 실행형 구현으로서의 fpLLL
  • 함수로서의 PLINTfmpz_lll
  • 함수로서의 GAPLLLReducedBasis
  • 함수로서의 Macaulay2LLL일괄적으로LLLBases
  • 함수로서의 마그마LLL그리고LLLGram(그램 매트릭스 찍기)
  • 함수로서의 단풍IntegerRelations[LLL]
  • 함수로서의 수학LatticeReduce
  • 함수로서의 NTL(숫자 이론 라이브러리)LLL
  • 함수의 PARI/GPqflll
  • 함수로써 피마트겐analysis.get_lll_reduced_lattice
  • 방법으로서의 SageMathLLLfpLLL 및 NTL에 의해 구동
  • '공식 교정쇄 보관' 항목에 있는 이사벨/HOLLLL_Basis_Reduction. 이 코드는 효율적으로 실행 가능한 Haskell로 내보낸다.[11]

참고 항목

메모들

  1. ^ Lenstra, A. K.; Lenstra, H. W., Jr.; Lovász, L. (1982). "Factoring polynomials with rational coefficients". Mathematische Annalen. 261 (4): 515–534. CiteSeerX 10.1.1.310.318. doi:10.1007/BF01457454. hdl:1887/3810. MR 0682664. S2CID 5701340.
  2. ^ Galbraith, Steven (2012). "chapter 17". Mathematics of Public Key Cryptography.
  3. ^ Nguyen, Phong Q.; Stehlè, Damien (September 2009). "An LLL Algorithm with Quadratic Complexity". SIAM J. Comput. 39 (3): 874–903. doi:10.1137/070705702. Retrieved 3 June 2019.
  4. ^ Nguyen, Phong Q.; Stehlé, Damien (1 October 2009). "Low-dimensional lattice basis reduction revisited". ACM Transactions on Algorithms. 5 (4): 1–48. doi:10.1145/1597036.1597050. S2CID 10583820.
  5. ^ Odlyzko, Andrew; te Reile, Herman J. J. "Disproving Mertens Conjecture" (PDF). Journal für die reine und angewandte Mathematik. 357: 138–160. doi:10.1515/crll.1985.357.138. S2CID 13016831. Retrieved 27 January 2020.
  6. ^ D. Wüben 외, "래티스 감소", IEEE 신호 처리 매거진, 28권, 3권, 70-91권, 2011년 4월.
  7. ^ D. Simon (2007). "Selected applications of LLL in number theory" (PDF). LLL+25 Conference. Caen, France.
  8. ^ Regev, Oded. "Lattices in Computer Science: LLL Algorithm" (PDF). New York University. Retrieved 1 February 2019.
  9. ^ Silverman, Joseph. "Introduction to Mathematical Cryptography Errata" (PDF). Brown University Mathematics Dept. Retrieved 5 May 2015.
  10. ^ Bosma, Wieb. "4. LLL" (PDF). Lecture notes. Retrieved 28 February 2010.
  11. ^ Divasón, Jose (2018). "A Formalization of the LLL Basis Reduction Algorithm". Conference Paper. Lecture Notes in Computer Science. 10895: 160–177. doi:10.1007/978-3-319-94821-8_10. ISBN 978-3-319-94820-1. Retrieved 3 May 2020.

참조