PromleeBlog
sitemap
aboutMe

posting thumbnail
이산 로그 문제
Discrete Logarithm Problem

📅

🚀

대수에서의 군 (Group) 🔗

이항 연산자   \;\circ 에 대해 닫혀 있고, 결합 법칙, 항등원, 역원을 만족하는 집합
  1. 닫힘:   a,bG,abG\forall\; a, b \in G, a \circ b \in G
  2. 결합 법칙:   a,b,cG,(ab)c=a(bc)\forall\; a, b, c \in G, (a \circ b) \circ c = a \circ (b \circ c)
  3. 항등원:   seG,  aG,ae=ea=a\exists\;s e \in G, \forall\; a \in G, a \circ e = e \circ a = a
  4. 역원:   aG,  a1G,aa1=a1a=e\forall\; a \in G, \exists\; a^{-1} \in G, a \circ a^{-1} = a^{-1} \circ a = e
  5. 교환 법칙(abelian):   a,bG,ab=ba\forall\; a, b \in G, a \circ b = b \circ a \rightarrow
    아벨 군

부분군 정의 (Subgroup) 🔗

GG의 부분집합 HH가 군이 되기 위한 조건
(H,)(\mathbb{H} , \circ)H\mathbb{H}G\mathbb{G}의 부분집합이면서 스스로 군이 될 때 (G,)(\mathbb{G}, \circ)의 부분군이다.

예시 (부분군) 🔗

👍
Z={0,1,2,...,n1},\mathbb{Z} = \{0, 1, 2, ..., n-1\},
Q={xRx=ab,a,bZ,b0},\mathbb{Q} = \{x \in \mathbb{R} | x = \frac{a}{b}, a, b \in \mathbb{Z}, b \neq 0\},
R=실수,\mathbb{R} = \text{실수},
C=복소수\mathbb{C} = \text{복소수}

유한 군 정의 (Finite Group Definition) 🔗

원소의 개수가 유한한 군
(G,)(\mathbb{G}, \circ)는 원소의 수가 유한할 때 유한 군이다. G|\mathbb{G}|G\mathbb{G}의 크기(카디널리티)를 나타낸다.

예시 (유한 군) 🔗

➡️

정리 (군) 🔗


🚀

원소 차수 (Order of Element) 🔗

(G,)(\mathbb{G}, \circ)가 군이고 aGa \in \mathbb{G}일 때, aa
원소차수(ord)
aa를 반복해서 연산하여 항등원 ee를 만들 때 필요한 최소 횟수이다.
am=id=1a^m = id = 1을 만족하는 가장 작은 양의 정수 mmaa의 차수라고 한다. mmord(a)\text{ord}(a)로 표기한다.
여기서 idid는 항등원을 의미한다.

예시 (원소 차수) 🔗

(Z11,×)(\mathbb{Z}_{11}^*, \times)에서 3의 차수:

🚀

순환 군 (Cyclic Group) 🔗

최대 차수 ord(g)=G\operatorname{ord}(g) = |\mathbb{G}|를 가진 원소 gg를 포함하는 군 G\mathbb{G}를 순환 군이라고 한다. gg
발생자
또는
원시 원소
라고 부른다.

예시 (순환 군) 🔗

(Z11)={1,2,3,4,5,6,7,8,9,10}(\mathbb{Z}_{11}^*) = \{1, 2, 3, 4, 5, 6, 7, 8, 9, 10\}
a = 2일 때
3은 Z11\mathbb{Z}_{11}^*의 발생자가 아니다.
<3>  ={3,9,5,4,1}<3>\; = \{3, 9, 5, 4, 1\}Z11\mathbb{Z}_{11}^*의 부분군이며, 3은 이 부분군의 발생자이다.
➡️

정리(원소 차수, 순환 군) 🔗


🚀

이산 로그 문제 (DLP, Discrete Logarithm Problem) 🔗

(G,×)(\mathbb{G}, \times)와 발생자 gg가 주어졌을 때, G\mathbb{G}의 원소 AA에 대해 A=gaA = g^a를 만족하는 aa를 찾는 문제이다.
실수 집합에서 로그를 계산하는 것은 비교적 쉬움 (loggAlog_gA 계산)
이산 세계에서는 이러한 로그 연산을 근사적으로 계산하는 것이 어려움

🚀

이산 로그 해결 알고리즘 (Algorithm for Solving DLP) 🔗

Zp\mathbb{Z}_p^*의 부분군 G\mathbb{G}에서 정의된 DLP 해결법 (G\mathbb{G}의 차수가 qq일 때)
➡️

정리 (이산 로그 문제) 🔗