Lenstra-Lenstra-Lovasz 격자 기반 감소 알고리즘
Lenstra–Lenstra–Lovász lattice basis reduction algorithmLenstra-Lenstra-Lovasz(LLL) 격자 기반 감소 알고리즘은 1982년 Arjen Lenstra, Hendrik Lenstra 및 Laszlo 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-축소되며 다음과 같이 유지된다.
- (size-size) < i , 0. 0.5 . 정의상, 이 속성은 순서 기준의 길이 감소를 보증한다
- (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 에 대한 타이
- 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]
- The first vector in the basis is also bounded by the determinant of the lattice: . In particular, for 이렇게 1≤2(1) / 4 (det / n }}})/n
- 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
- 함수로서의 PLINT
fmpz_lll
- 함수로서의 GAP
LLLReducedBasis
- 함수로서의 Macaulay2
LLL
일괄적으로LLLBases
- 함수로서의 마그마
LLL
그리고LLLGram
(그램 매트릭스 찍기) - 함수로서의 단풍
IntegerRelations[LLL]
- 함수로서의 수학
LatticeReduce
- 함수로서의 NTL(숫자 이론 라이브러리)
LLL
- 함수의 PARI/GP
qflll
- 함수로써 피마트겐
analysis.get_lll_reduced_lattice
- 방법으로서의 SageMath
LLL
fpLLL 및 NTL에 의해 구동 - '공식 교정쇄 보관' 항목에 있는 이사벨/HOL
LLL_Basis_Reduction
. 이 코드는 효율적으로 실행 가능한 Haskell로 내보낸다.[11]
참고 항목
메모들
- ^ 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.
- ^ Galbraith, Steven (2012). "chapter 17". Mathematics of Public Key Cryptography.
- ^ 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.
- ^ 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.
- ^ 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.
- ^ D. Wüben 외, "래티스 감소", IEEE 신호 처리 매거진, 28권, 3권, 70-91권, 2011년 4월.
- ^ D. Simon (2007). "Selected applications of LLL in number theory" (PDF). LLL+25 Conference. Caen, France.
- ^ Regev, Oded. "Lattices in Computer Science: LLL Algorithm" (PDF). New York University. Retrieved 1 February 2019.
- ^ Silverman, Joseph. "Introduction to Mathematical Cryptography Errata" (PDF). Brown University Mathematics Dept. Retrieved 5 May 2015.
- ^ Bosma, Wieb. "4. LLL" (PDF). Lecture notes. Retrieved 28 February 2010.
- ^ 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.
참조
- Napias, Huguette (1996). "A generalization of the LLL algorithm over euclidean rings or orders". Journal de Théorie des Nombres de Bordeaux. 8 (2): 387–396. doi:10.5802/jtnb.176.
- Cohen, Henri (2000). A course in computational algebraic number theory. GTM. Vol. 138. Springer. ISBN 3-540-55640-0.
- Borwein, Peter (2002). Computational Excursions in Analysis and Number Theory. ISBN 0-387-95444-9.
- Luk, Franklin T.; Qiao, Sanzheng (2011). "A pivoted LLL algorithm". Linear Algebra and Its Applications. 434 (11): 2296–2307. doi:10.1016/j.laa.2010.04.003.
- Hoffstein, Jeffrey; Pipher, Jill; Silverman, J.H. (2008). An Introduction to Mathematical Cryptography. Springer. ISBN 978-0-387-77993-5.