본문 바로가기

discrete logarithm

Brirthday Attack on Discrete Logarithm 큰 Prime Number p의 경우, Lα(β)의 경우를 생각해보자. 즉, β ≡ α^x (mod p)에서 x를 구하자는 것인데, 이것은 discrete logarithm 문제를 해결하는 데 Birthday Attack을 적용해본다는 의미이다. 먼저, 일반적인 Birthday Attakc의 경우와 마찬가지로, root(p) 길이를 가지는 두 목록을 만든다. 1. 첫 번째 목록은, 임의로 선택되는 k 값에 대한, α^k (mod p) 2. 두 번째 목록은, 임의로 선택되는 l 값에 대한, βα^(-l) (mod p) 두 목록이 구해졌다면, 계산 결과가 일치하는 값을 찾는다. α^k ≡ βα^l이라면, α^(k + l) ≡ β이고, 구하고자 하는 x 값을 알 수 있다. 이 확률은 50%를 조금 상회할 것이.. 더보기
Diffie-Hellman Key Exchange 가장 이해하기 간단한 키 교환 방법은 RSA 암호 시스템을 이용하는 것이다. 1. Mr 블릭에게 비밀키 k를 전달하려면 우선 Mr. 블릭의 공개키로 k를 암호화한다. 2. Mr. 블릭은 자신의 비밀키를 써서 수신된 메세지 e를 푼 다음 키 k를 얻는다. RSA 키 교환은 대칭키 암호에 필요한 키를 한 사람이 일방적으로 선택한다는 단점만 빼고는 거의 완벽하다. 그러나 상호 통신교환에 필요한 키는 서로 동의한 상태에서 사용하는 것이 바람직하다. 아니면 앞에서 말한 TA가 적절히 개입하여 키 교환을 도와 주는 방법이 서로 믿을 수 있고 간편할 것이다. TA의 도움 없이 서로 동의할 수 있는 키 교환 프로토콜로 간단한 것은 Diffie-Hellman 키 교환이다. 이 방법은 '지수 키 교환'이라고도 부르는데, .. 더보기
Pohlig-Hellman Algorithm discrete logarithm 문제를 해결하기 위한 알고리즘으로, Pohlig-Hellman 알고리즘이 있다. 이것은 간단히 discrete logarithm 문제를 해결하는 알고리즘을 좀 더 응용한 것인데, 알고리즘은 다음과 같다. 먼저, Prime Number p에서, p - 1은 어떤 Prime Number의 다항식으로 표현될 수 있다. 즉, p - 1 = x0 + x1 * q + x2 * q^2 + ...와 같은 방식으로 전개할 수 있으며, 0 ≤ xi ≤ q - 1이다. x = x0 + x1 * q + x2 * q^2 + ..., x((p - 1) / q) = x0 * ((p - 1) / q)) + (p - 1)(x1 + x2 * q + ...) = x0((p - 1) / q) + (p - .. 더보기
Computing Discrete Logarithm discrete logarithm 문제를 효율적으로 해결하는 방법은 알려져 있지 않지만, 간단한 수로 이루어져 있을 경우 쉽게 계산할 수 있다. β ≡ α^x (mod p)가 주어졌다고 하고, x를 구한다고 하자. 먼저, 오일러의 정리를 적용하면, p는 Prime Number이므로, α^(p - 1) ≡ 1 (mod p)이다. 여기서, α^((p - 1) / 2)^2 ≡ ±1 (mod p) 위와 같은 형태를 얻어낼 수 있으며, discrete logarithm의 정의를 살펴보면 p - 1이 α^(p - 1) ≡ 1 (mod p)를 만족하는 가장 적은 지수여야 하기 때문에, α^((p - 1) / 2) ≡ -1 (mod p)가 된다. 이제, β ≡ α^x (mod p)를 알아보면, β^((p - 1) / .. 더보기
Discrete Logarithm 어떤 Primve Number p가 있고, 0이 아닌 정수 α, β가 존재한다고 했을 때, β ≡ α^x (mod p) 여기서, x를 구하는 것을 discrete logarithm 문제라고 한다. 여기서, α^n ≡ 1 (mod p)라고 했을 때, n이 이것을 만족하는 가장 작은 양의 정수라면, 0 ≤ x < n이며, 여기서 x = Lα(β) 이것을 α를 밑으로 가지는 β의 discrete logarithm이라 한다. 자주, α는 모든 β의 α^n (mod p)의 형태로 나타나는 Primitive Root (mod p)에서 선택된다. discrete logarithm 문제는 일반적으로 해결하기가 매우 어렵다고 알려져 있다. 여기서 어렵다는 말은, discrete logarithm 문제를 효율적으로 계산할.. 더보기