온라인 격자 암호해독 데모 도구
2차원 정수 기저 벡터와 계수 범위를 입력하여 유한 검색 창에서 가장 짧은 벡터를 찾는 교육용 데모입니다. 결과는 소수점 다섯 자리로 표시됩니다. 처리는 브라우…
사용 시작
이 도구의 용도
이 도구는 2차원 격자에서 짧은 벡터를 찾는 문제를 시각적으로 이해하기 위한 교육용 데모입니다. 예를 들어, 기저 벡터 v1 = (2, 3), v2 = (4, 5)를 입력하고 계수 범위를 5로 설정하면, 도구는 i와 j가 -5부터 5까지인 모든 조합을 검사하여 가장 짧은 벡터를 찾습니다. 실제 계산은 제곱 길이를 비교하므로 정확한 최솟값을 찾을 수 있습니다.
입력 예시와 기대 출력
v1 = (2, 3), v2 = (4, 5), 범위 = 5라고 가정합니다. 도구는 i=2, j=-1일 때 2*v1 - v2 = (0, 1)을 찾을 수 있으며, 길이는 1.00000으로 표시됩니다. 이는 검색 창 내에서 가장 짧은 벡터입니다.
실제 파라미터와 처리
도구는 두 개의 2차원 정수 벡터와 계수 범위(1~100)를 받습니다. 모든 좌표는 절댓값이 1,000,000 이하인 안전한 정수여야 합니다. 검색은 -range부터 +range까지의 모든 정수 쌍 (i, j)에 대해 수행되며, 0이 아닌 조합만 고려합니다. 결과는 검색 창에 의존적입니다.
제한 사항
이 도구는 LLL, BKZ, CVP 또는 암호분석을 수행하지 않습니다. 2차원 교육용 열거만 수행하므로 실제 격자 기반 암호 매개변수를 평가하는 데 사용해서는 안 됩니다.
자주 묻는 질문
계수 범위를 늘리면 항상 더 짧은 벡터를 찾을 수 있나요?
일반적으로 그렇습니다. 더 넓은 범위는 더 많은 조합을 검사하므로 더 짧은 벡터를 찾을 가능성이 높아집니다. 그러나 항상 그런 것은 아니며, 검색 창이 커질수록 계산 시간이 늘어납니다.
결과의 길이는 어떻게 반올림되나요?
유클리드 길이는 소수점 다섯 자리로 반올림되어 표시됩니다. 실제 계산은 정확한 제곱 길이를 비교하지만 출력은 반올림됩니다.
동일한 길이의 벡터가 여러 개 있으면 어떻게 되나요?
도구는 동일한 길이의 벡터를 모두 나열하지 않습니다. 검색 중 발견된 첫 번째 최단 벡터만 표시합니다.
체크리스트
- 두 기저 벡터가 선형 독립인지 확인
- 좌표가 안전한 정수 범위 내에 있는지 확인
- 계수 범위를 1~100으로 설정
- 결과의 길이가 소수점 다섯 자리로 반올림되었는지 확인
- 교육용 데모임을 인지하고 실제 암호 분석에 사용하지 않기
처리는 브라우저에서 로컬로 수행됩니다.