diff --git a/content/Basic Algebra/Abelian Group.md b/content/Basic Algebra/Abelian Group.md index 904c2ef..fa6cc86 100644 --- a/content/Basic Algebra/Abelian Group.md +++ b/content/Basic Algebra/Abelian Group.md @@ -1,5 +1,5 @@ -# Abelian Group의 정의 -[[Group]] $(G, ∗)$가 $*$의 교환법칙을 만족하면, 즉 $*$가 교환적 (commutative)이라면, 이 group을 abelian 또는 commutative group이라고 정의한다. +# Abelian Group +A [[Group]] $(G, ∗)$ is defined as an abelian or commutative group if it satisfies the commutative property of $$, i.e., $$ is commutative. -# 예시 -1. $(\mathbb{Z}, +)$는 Abelian Group이다. 따라서 [[Monoid]]이기도 하다. \ No newline at end of file +# Example +$(\mathbb{Z}, +)$ is an Abelian Group. Therefore, it is also a [[Monoid]]. diff --git a/content/Basic Algebra/Binary Operation.md b/content/Basic Algebra/Binary Operation.md index 255c402..6c78574 100644 --- a/content/Basic Algebra/Binary Operation.md +++ b/content/Basic Algebra/Binary Operation.md @@ -1,5 +1,5 @@ -# 정의 -집합 $S$ 위의 binary operation은 $S \times S$ 의 원소들을 $S$ 로 매핑하는 것을 의미한다. 즉, 이는 함수 $f$ : $S \times S$ $\rightarrow$ $S$ 를 의미한다. Binary operation $*$ : $S \times S$ $\rightarrow$ $S$ 가 주어졌을 때, $*(a, b)$를 $a * b$로 표기한다. +# Definition +A binary operation on a set $S$ means mapping the elements of $S \times S$ to $S$. In other words, it refers to a function $f$ : $S \times S \rightarrow S$. Given a binary operation $*$ : $S \times S \rightarrow S$, $_(a, b)$ is denoted as $a * b$. -# 예시 -$Mat_{2 \times 2}(\mathbb{R})$가 2 × 2 실수 행렬의 집합이라고 하자. 이때, 행렬 곱셈 $(A, B) \mapsto AB$는 binary operation이다. \ No newline at end of file +# Example +Let $Mat_{2 \times 2}(\mathbb{R})$ be the set of 2 × 2 real matrices. Then, the matrix multiplication $(A, B) \mapsto AB$ is a binary operation. \ No newline at end of file diff --git a/content/Basic Algebra/Binary Relation.md b/content/Basic Algebra/Binary Relation.md index 4c5c677..ab85d53 100644 --- a/content/Basic Algebra/Binary Relation.md +++ b/content/Basic Algebra/Binary Relation.md @@ -1,9 +1,9 @@ -# 정의 -주어진 집합 $A$에 대해 binary relation(이항 관계)는 $A \times A$ 의 부분집합이 되는 순서쌍들의 집합이다. 이항 관계 $R$의 순서쌍 $(x, y) \in R$ 의 $x$와 $y$사이에는 특정한 관계가 성립하는데, 이를 $xRy$, $R(x, y)$, $x \sim_R y$ 혹은 $x \sim y$와 같이 표기한다. +# Definition +A binary relation on a given set $A$ is a set of ordered pairs that is a subset of $A \times A$. For an ordered pair $(x, y) \in R$ in a binary relation $R$, there is a specific relationship between $x$ and $y$. This is denoted as $xRy$, $R(x, y)$, $x \sim_R y$, or $x \sim y$. -# 예시 -대표적인 이항 관계로 반사 관계, 대칭 관계, 전이 관계 등이 있다. -1) Reflexive(반사 관계): $a \sim a$이다 -2) Symmetric(대칭 관계): $a \sim b$ 인 경우 오직 그런 경우에만 $b \sim a$이다 -3) Transitive(전이 관계): $a \sim b$이고 $b \sim a$이면 $a \sim c$이다 -4) Anti-symmetric(반대칭 관계): $a \sim b$이고 $b \sim a$ 이면 $a = b$ +# Example +Typical examples of binary relations include reflexive, symmetric, and transitive relations. +1. Reflexive: $a \sim a$ +2. Symmetric: $a \sim b$ if and only if $b \sim a$ +3. Transitive: $a \sim b$ and $b \sim c$ imply $a \sim c$ +4. Anti-symmetric: $a \sim b$ and $b \sim a$ imply $a = b$ diff --git a/content/Basic Algebra/Discrete logarithm problem.md b/content/Basic Algebra/Discrete logarithm problem.md index 5469315..00058a1 100644 --- a/content/Basic Algebra/Discrete logarithm problem.md +++ b/content/Basic Algebra/Discrete logarithm problem.md @@ -1,3 +1,5 @@ -일반적인 로그(Logarithm)란 지수 함수의 역함수, 어떤 수를 나타내기 위해 고정된 밑은 몇번 곱하여야 하는지를 나타낸다고 볼 수 있다. 즉, $a^x = b$를 만족하는 $x$를 가리킨다. -이산 로그는 일반 로그와 같은 형태이지만 군론의 이산적인 대수 구조에서 정의된 연산이다. 이산 로그의 가장 단순한 형태는 $Z_p^*$ 에서 정의하는 것이다. $Z_p^*$의 집합이 $\{1, ..., p-1\}$이고 소수 $p$의 모듈로 곱셈에 대해 닫혀있다고 하자. $Z^*_p$의 어떤 수 $g$와 $y$가 주어졌을 때, $g^x \equiv y \mod p$ 를 만족하는 $x$, 즉, $\log_gy$를 구하는 문제가 이산 로그 문제(Discrete Logarithm Problem)이다. -위 식에서 소수 $p$가 충분히 클 때 $g$와 $x$로부터 $y$를 구하는 것은 쉽지만, $g$와 $y$로부터 $x$를 구하는 것은 어렵다는 성질이 있다. 이러한 성질을 이용한 암호 시스템이 [[ElGamal]]과 [[Diffie-Hellman]]등이 있다. \ No newline at end of file +A general logarithm is the inverse function of an exponential function, representing the power to which a fixed base must be raised to obtain a given number. That is, it refers to the value $x$ that satisfies $a^x = b$. + +A discrete logarithm has the same form as a general logarithm but is defined in the discrete algebraic structure of group theory. The simplest form of a discrete logarithm is defined in $Z_p^*$. Let's consider the set $Z_p^* = {1, ..., p-1}$, which is closed under multiplication modulo a prime number $p$. Given an element $g$ and $y$ in $Z^*_p$, the discrete logarithm problem (DLP) is to find $x$ such that $g^x \equiv y \mod p$, i.e., to compute $\log_g y$. + +When the prime $p$ is sufficiently large, it is easy to compute $y$ from $g$ and $x$, but it is difficult to find $x$ from $g$ and $y$. Cryptographic systems such as [[ElGamal]] and [[Diffie-Hellman]] exploit this property. \ No newline at end of file diff --git a/content/Basic Algebra/Discrete logarithm.md b/content/Basic Algebra/Discrete logarithm.md index 73b23a9..00058a1 100644 --- a/content/Basic Algebra/Discrete logarithm.md +++ b/content/Basic Algebra/Discrete logarithm.md @@ -1,5 +1,5 @@ -일반적인 로그(Logarithm)란 지수 함수의 역함수, 어떤 수를 나타내기 위해 고정된 밑은 몇번 곱하여야 하는지를 나타낸다고 볼 수 있다. 즉, $a^x = b$를 만족하는 $x$를 가리킨다. +A general logarithm is the inverse function of an exponential function, representing the power to which a fixed base must be raised to obtain a given number. That is, it refers to the value $x$ that satisfies $a^x = b$. -이산 로그는 일반 로그와 같은 형태이지만 군론의 이산적인 대수 구조에서 정의된 연산이다. 이산 로그의 가장 단순한 형태는 $Z_p^*$ 에서 정의하는 것이다. $Z^*_p$의 집합이 $\{1, ..., p-1\}$이고 소수 $p$의 모듈로 곱셈에 대해 닫혀있다고 하자. $Z^*_p$의 어떤 수 $g$와 $y$가 주어졌을 때, $g^x \equiv y \mod p$ 를 만족하는 $x$, 즉, $\log_gy$를 구하는 문제가 이산 로그 문제(Discrete Logarithm Problem)이다. +A discrete logarithm has the same form as a general logarithm but is defined in the discrete algebraic structure of group theory. The simplest form of a discrete logarithm is defined in $Z_p^*$. Let's consider the set $Z_p^* = {1, ..., p-1}$, which is closed under multiplication modulo a prime number $p$. Given an element $g$ and $y$ in $Z^*_p$, the discrete logarithm problem (DLP) is to find $x$ such that $g^x \equiv y \mod p$, i.e., to compute $\log_g y$. -위 식에서 소수 $p$가 충분히 클 때 $g$와 $x$로부터 $y$를 구하는 것은 쉽지만, $g$와 $y$로부터 $x$를 구하는 것은 어렵다는 성질이 있다. 이러한 성질을 이용한 암호 시스템이 [[ElGamal]], [[Diffie-Hellman]] 등이 있다. \ No newline at end of file +When the prime $p$ is sufficiently large, it is easy to compute $y$ from $g$ and $x$, but it is difficult to find $x$ from $g$ and $y$. Cryptographic systems such as [[ElGamal]] and [[Diffie-Hellman]] exploit this property. \ No newline at end of file diff --git a/content/Basic Algebra/ECDLP.md b/content/Basic Algebra/ECDLP.md index 8c403cd..ed3a1d5 100644 --- a/content/Basic Algebra/ECDLP.md +++ b/content/Basic Algebra/ECDLP.md @@ -1,10 +1,10 @@ -ECDLP(Elliptic Curve Discrete Logarithm Problem)는 $Z_p^*$에서의 [[Discrete logarithm problem]]와 같은 방식을 [[Elliptic Curves]](타원곡선) 상에서 정의한 문제이다. +The Elliptic Curve Discrete Logarithm Problem (ECDLP) is defined similarly to the [[Discrete Logarithm Problem]] in $Z_p^*$ but on the structure of [[Elliptic Curves]]. -- $E: y^2 = x^3 + ax + b$ 일때 $G \in E$ 를 generator로 하는 cyclic subgroup $H = $ 라고하자. -- $H$의 임의의 원소 $Q$에 대해, $aG = Q$ 인 $a$ $(0 \le a < |G| )$ 를 찾는 문제이다. +- Given an elliptic curve $E: y^2 = x^3 + ax + b$ and a generator $G \in E$, we form a cyclic subgroup $H = $. +- For any element $Q$ in $H$, the problem is to find $a$ $(0 \le a < |G| )$ such that $aG = Q$. -ECDLP를 사용하는 이유 +Reasons to use ECDLP: -- 일반적인 DLP보다 훨씬 짧은 키 사이즈로도 안전성을 확보할수 있다. +- It provides security with much shorter key sizes compared to the general DLP. -- $Z_p^*$ 에서 정의된 DLP의 해를 구하는 알고리즘(Index Calculus Algorithm)이 존재하는반면, EC-DLP의 경우 Generic 알고리즘만 알려져있고 ECDLP에 특화된 알고리즘은 현재까지 발견되지 않았다. (Baby-step Giant -step, Pollard $p$ → $O(\sqrt{p})$의 공격량이 필요) +- While there are algorithms (like the Index Calculus Algorithm) to solve the DLP defined in $Z_p^*$, for ECDLP only generic algorithms are known. No specific algorithms for ECDLP have been discovered to date. Attacks like Baby-step Giant-step and Pollard's rho algorithm require $O(\sqrt{p})$ operations. diff --git a/content/Basic Algebra/Elliptic Curves.md b/content/Basic Algebra/Elliptic Curves.md index 380ca4f..9995826 100644 --- a/content/Basic Algebra/Elliptic Curves.md +++ b/content/Basic Algebra/Elliptic Curves.md @@ -1,80 +1,85 @@ -타원곡선(Elliptic Curve)은 아래 그림과 같은 형태로 흔히 알려진 “타원형”과는 전혀 다른 꼴이지만, 타원곡선이라는 이름이 붙은 것은 타원의 둘레를 구하는 적분에서 이런 형태의 곡선이 유도 되었기 때문이다. +An elliptic curve, as shown in the figure below, differs significantly from the commonly known "elliptical" shape. The name "elliptic curve" originates from the type of curve derived from the integral used to calculate the circumference of an ellipse. ![[ec(1).png]] ->타원곡선의 유도 과정과 더 자세한 내용은 다음 저서를 참고: [J. Silverman, “The Arithmetic of Elliptic Curves” (Springer, 1986)](https://link.springer.com/book/10.1007/978-0-387-09494-6) +> For the derivation process and more detailed information about elliptic curves, refer to: [J. Silverman, “The Arithmetic of Elliptic Curves” (Springer, 1986)](https://link.springer.com/book/10.1007/978-0-387-09494-6) -타원곡선은 해석학, 기하학, 대수학 등 수학 전반에서 쓰이는 중요한 개념 중 하나인데, 이 아티클은 암호학에서의 활용에 초점을 두어 작성하였다. 컴퓨터의 계산 성능이 높아지면서 [RSA](/be882d573c4c47a09ec80059c05f36d9?pvs=25)와 [ELGamal과](/2e89613d942f4f0ab69212e5505b5af4?pvs=25) 같은 기존의 [공개 키 암호](/307e617e819d41bcb9eb5177668527cd?pvs=25)방식은 안전성을 확보하기 위해 점점 더 많은 계산량이 요구되었다. 타원곡선을 활용하면 이러한 문제점들을 보완할 수 있기 때문에 현재 여러 암호 시스템에서 사용하고 있고, 따라서 타원곡선은 현대 암호학을 이해하기 위한 중요한 토대이다. +Elliptic curves are an important concept used in various fields of mathematics, including analysis, geometry, and algebra. This article focuses on their application in cryptography. As computing power increased, traditional public key cryptography methods such as [RSA](/be882d573c4c47a09ec80059c05f36d9?pvs=25) and [ElGamal](/2e89613d942f4f0ab69212e5505b5af4?pvs=25) required more computations to ensure security. By using elliptic curves, these issues can be mitigated, which is why elliptic curves are currently used in various cryptographic systems. Understanding elliptic curves is crucial for modern cryptography. -## Short Weierstrass form +## Short Weierstrass Form -타원곡선의 일반적인 정의는 다음과 같은 복잡한 형태이다. -$$Ax^3 + Bx^2y + C xy^2 + Dy^3 + Ex^2 + Fxy + Gy^2 + Hx + Iy + J = 0$$ +The general definition of an elliptic curve is in a complicated form: +$$Ax^3 + Bx^2y + Cxy^2 + Dy^3 + Ex^2 + Fxy + Gy^2 + Hx + Iy + J = 0$$ ![[ec(2).png]] -한편, 암호학에서 주로 사용하는 타원곡선의 형태은 다음과 같은 Short Weierstrass form이다. +However, the form commonly used in cryptography is the Short Weierstrass form: $$y^2 = x^3 + ax + b \; (4a^3 + 27b^2 \ne 0)$$ ->두번째 조건 $4a^3 + 27b^2 ≠ 0$ 은 중근을 갖지 않기 위한 조건으로, 중근을 갖게 되면 다음과 같은 특이점(Singular point)을 갖는 곡선이 된다.![[ec(3).png]] +>The second condition, $4a^3 + 27b^2 ≠ 0$, prevents the curve from having a double root, which would create a singular point on the curve. +![[ec(3).png]] -## 타원곡선 군 +## Elliptic Curve Group -위와 같은 형태의 타원곡선으로부터 [아벨리안 덧셈 군](https://en.wikipedia.org/wiki/Abelian_group)을 정의할 수 있다. +From the elliptic curve in the above form, we can define an [Abelian group](https://en.wikipedia.org/wiki/Abelian_group). -아벨리안 덧셈 군이 정의되기 위해서는 덧셈연산에 대해 닫혀있는 집합이 정의되어야하고, 다음 4가지 조건을 만족해야한다. +For a set to be defined as an Abelian group under addition, it must be closed under the addition operation and satisfy the following four conditions: -1. 결합 법칙(Associativity) -2. 항등원(Identity element) -3. 역원(Inverse element) -4. 교환 법칙(Commutativity) +1. Associativity +2. Identity element +3. Inverse element +4. Commutativity -### 타원곡선 군의 덧셈 +### Addition in the Elliptic Curve Group -위에서 언급한 바와 같이 타원곡선 군을 정의하기 위해서는 덧셈연산에 대해 닫혀있는 집합이 정의되어야한다. 우선 타원곡선 군의 집합은 타원곡선 상의 모든 점들이다. 그런데 일반적인 좌표평면 상의 점들의 덧셈을 덧셈 연산으로 정의하게 되면 타원곡선 점들의 집합이 덧셈 연산에 대해 닫혀있지 않음을 알 수 있다. 따라서 타원곡선 군에서는 특별한 덧셈 연산을 다음과 같이 새롭게 정의한다. +To define an elliptic curve group, we need a set that is closed under the addition operation. The set of an elliptic curve group consists of all points on the elliptic curve. If we define addition of points on a general coordinate plane, the set of points on the elliptic curve is not closed under this operation. Therefore, a special addition operation is newly defined as follows: ![[ec(4).png]] *Elliptic Curve Cryptography - Andrea Corbellini, 2015* -타원곡선은 특이한 성질을 가지고 있는데, 타원곡선의 어떤 두 점을 지나는 직선은 반드시 또 다른 점을 지난다. 타원곡선 위의 두점 $P(x_1, y_1), Q(x_2, y_2)$, 그리고 두점을 지나는 직선을 $l$ 이라고 하고, 직선 $l$이 지나는 타원곡선 위의 $P, Q$ 가 아닌 또 다른 점을 $R$이라고 하면, $P+Q+R = O$ 이고, $P + Q = -R$ 이다. 즉, $-R$이 점 $P,Q$를 더한 점이 된다. 여기서 점 $R$을 $x$축 대칭한 점이 $-R$이 되는 이유는 항등원과 역원의 정의 때문인데 바로 뒤에서 서술하겠다. +An elliptic curve has a unique property: a line passing through any two points on the curve intersects the curve at exactly one additional point. Given two points $P(x_1, y_1)$ and $Q(x_2, y_2)$ on the elliptic curve, and a line $l$ passing through these points, let $R$ be the other point of intersection of $l$ with the curve. Then, $P+Q+R = O$, and $P + Q = -R$. Here, $-R$ is the point obtained by reflecting $R$ across the x-axis. This reflection is due to the definitions of the identity and inverse elements, which will be discussed shortly. -### 무한 원점 (Point at infinity) +### Point at Infinity -위와 같이 덧셈 연산을 정의 했을 때, 덧셈에 대해 닫혀있지 않은 것 같은 경우가 있다. 그림에서 점 $R$과 $-R$처럼 서로 $x$축에 대해 대칭인 두 점을 지나는 직선은 또 다른 점에서 만나지 않는 것 처럼 보인다. 여기서 타원곡선 군의 항등원인 무한 원점 $O$ (Point at infinity)를 정의할 수 있다. 무한 원점이란 y축에 평행한 모든 직선이 만나는 y좌표가 무한대인 가상의 점이다. 즉, 위 그림에서 점 $R$과 $-R$을 지나는 직선은 항등원인 무한 원점 $O$를 지나게 된다. 다시 말해 항등원과 역원의 정의에 따라 $R + (-R) = O$이고, R에 대해 x축 대칭인 $-R$이 $R$의 덧셈에 대한 역원이 된다. +There are cases where the set seems not closed under addition as defined above. For example, a line passing through points $R$ and $-R$, which are symmetric with respect to the x-axis, does not appear to intersect another point. Here, we define the identity element of the elliptic curve group, the point at infinity $O$. The point at infinity is an imaginary point at which all lines parallel to the y-axis meet. Thus, a line passing through points $R$ and $-R$ intersects the identity element $O$ at infinity. According to the definitions of the identity and inverse elements, $R + (-R) = O$, and $-R$ is the inverse of $R$ under addition. -따라서 실수체에서의 타원곡선은 다음과 같이 정의 할 수 있다. +Thus, an elliptic curve over the real numbers can be defined as: $$\{(x,y) \in \mathbb{R}^2 \; | \; y^2 = x^3 + ax + b, 4a^3 + 27b^2 \ne 0 \} \; \cup \; \{O\}$$ -### 타원곡선 덧셈의 대수적 연산 +### Algebraic Operations for Elliptic Curve Addition -$P(x_1, y_1) + Q(x_2,y_2)$은 대수적으로 다음과 같은 연산이다. +$P(x_1, y_1) + Q(x_2,y_2)$ can be computed algebraically as follows: -$P, Q$ 를 지나는 직선과 $E$(타원곡선)의 교점을 구한뒤 $x$축 대칭 시켜서 값을 구할 수 있다. 다음은 $P, Q$의 경우에 따라 계산을 한 결과이다. (단, $m$은 $P, Q$ 를 지나는 직선의 기울기이고, $P, Q$ 를 지나는 직선과 $E$와의 교점은 $R(x_3, y_3)$이다.) +The line passing through points $P$ and $Q$ intersects the elliptic curve $E$ at another point, which is then reflected across the x-axis to find the result. The calculations vary depending on the cases of $P$ and $Q$: -1. $P, Q \ne O, \; P \ne Q$ 인 경우 → $P + Q = (m^2-x_1-x_2, \; m(x_1-x_3)-y_1), \; m=(y_2- y_1)(x_2-x_1){-1\atop}$ +1. If $P, Q \ne O$ and $P \ne Q$: + $$P + Q = (m^2-x_1-x_2, \; m(x_1-x_3)-y_1), \; m=\frac{y_2- y_1}{x_2-x_1}$$ -2. $P+Q = O$ 인 경우 → $P, Q$ 의 $x$좌표가 같으면 $P + Q = O$ +2. If $P+Q = O$: + The x-coordinates of $P$ and $Q$ are the same, so $P + Q = O$ -3. $P = Q$ 인 경우 ($P$를 지나는 $E$ 위의 접선을 통해 구함, 접선은 미적분학의 편미분을 통해 구함) → $P + P = 2P = (m^2 - 2x_1, \; m(x_1-x_3) - y_1), \; m= (3x_1^2 + a)(2y_1){-1\atop} \pmod{p}$ +3. If $P = Q$ (tangent to the curve at $P$, computed using partial derivatives): + $$P + P = 2P = (m^2 - 2x_1, \; m(x_1-x_3) - y_1), \; m= \frac{3x_1^2 + a}{2y_1}$$ -4. $Q = O \rightarrow P+Q = P+O = P, \; O+O=O$ +4. If $Q = O$: + $$P+Q = P+O = P, \; O+O=O$$ -## Elliptic curves in $𝔽_p$(유한체에서 정의된 타원곡선) +## Elliptic Curves in $𝔽_p$ (Elliptic Curves Defined Over Finite Fields) -유한체 상의 타원곡선 군은 실수체에서의 타원곡선 군과 동일한 개념이지만 원소의 개수가 유한하다. 위에서 살펴본 타원곡선을 [유한체](https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%95%9C%EC%B2%B4)에서 정의하면 다음과 같다: +Elliptic curve groups over finite fields share the same concept as those over the real numbers but have a finite number of elements. When defined over a [finite field](https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%95%9C%EC%B2%B4), an elliptic curve is given by: $$\{(x,y) \in (𝔽_p)^2 \; | \; y^2 \equiv x^3 + ax + b \pmod{p}, 4a^3 + 27b^2 \not\equiv 0 \pmod{p} \} \; \cup \; \{O\}$$ ->Order of an elliptic curve group(타원곡선 군의 위수) 유한체에서 정의된 타원곡선은 유한한 개수의 점을 가지는데 이때 집합의 개수를 위수(Order)라고 한다. 이때 [Schoof’s Algorithm](https://en.wikipedia.org/wiki/Schoof%27s_algorithm)으로 타원곡선의 위수를 구할 수 있다. 실제로 유한체에서의 타원곡선을 보면 아래 그림과 같은데, 위에서 봤던 실수체에서의 모양과는 또 다른 형태임을 알 수 있다. 단, 이때 위수가 2 또는 3인 특수한 경우는 다루지 않는다. (점 형태로 변환이 불가능한 경우 발생) - +>Order of an elliptic curve group: An elliptic curve defined over a finite field has a finite number of points, called the order of the set. The order can be computed using [Schoof’s Algorithm](https://en.wikipedia.org/wiki/Schoof%27s_algorithm). When visualized, elliptic curves over finite fields appear as in the following figure, different from those over the real numbers. Special cases with order 2 or 3 are not considered here. ![[ec(5).png]] -위 그림은 $y^2 \equiv x^3 -7x + 10 \pmod{p}$ 에서 차례대로 $p=19,\ 97,\ 127,\ 487$ 을 적용한 결과이다. 위 그래프들을 자세히 보면 $y=p/2$ 에서 대칭임을 알 수 있다. +The figure shows elliptic curves of $y^2 \equiv x^3 -7x + 10 \pmod{p}$ for $p=19,\ 97,\ 127,\ 487$. Notably, these graphs are symmetric about $y = p/2$. + +### Addition in Finite Field Elliptic Curves -그렇다면 유한체에서 정의된 타원곡선에서의 덧셈연산 위에서 보았던 실수체 타원곡선의 덧셈은 유한체 상에서는 어떻게 적용할까? +The addition operations in elliptic curves over finite fields are similar to those over the real numbers, but the geometric interpretation differs slightly. The figure below illustrates the addition operation in the elliptic curve $y^2 \equiv x^3 -x+3 \pmod{127}$, where $P(16,20)$ and $Q(41,120)$ are added. ![[ec(6).png]] -산술적인 연산은 실수체에서와 거의 동일하지만, 기하적으로 덧셈을 살펴보면 그 형태가 약간 다른것을 볼 수 있다. 위 그림은 $y^2 \equiv x^3-x+3 \pmod{127}$ 에서 $P(16,20)$ 와 $Q(41,120)$ 를 덧셈 연산한 결과이다. -$P,Q$ 를 지나는 직선은 $y \equiv 4x + 83 \pmod{127}$ 인데 유한체에서 이 직선은 위 그림과 같은 형태라고 할 수 있다. +The line passing through $P$ and $Q$ in the finite field is given by $y \equiv 4x + 83 \pmod{127}$. ### Scalar Multiplication -유한체에서 정의된 타원곡선 군에서는 다음과 같은 스칼라 곱 연산이 가능하다. +Scalar multiplication in elliptic curve groups defined over finite fields is performed as follows: $$\underbrace{nP = P + P + ... + P}_{n \; times}$$ -타원곡선 군의 스칼라 곱은 동일한 점에 대해 스칼라만큼 덧셈연산을 반복하는 연산인데, 어떤 점을 반복해서 더하게 되면 특정 주기에 따라 값이 반복되는 특징이 있다. 예를 들어 $y^2 \equiv x^3 + 2x + 3 \pmod{97}$ 이고 $P = (3, 6)$ 일때 곱셈연산을 하면 다음과 같다. +This operation repeatedly adds the same point according to the scalar value. For example, with $y^2 \equiv x^3 + 2x + 3 \pmod{97}$ and $P = (3, 6)$, the multiplication results are as follows: ![[ec(7).png]] $OP = (0, 0)$ $OP = (0, 0)$ $1P = (3,6)$ @@ -86,9 +91,4 @@ $6P = (3,6)$ $7P = (80,10)$ ... -이렇게 스칼라 곱의 주기에 의해 만들어진 점들의 집합을 순환부분군(Cyclic subgroup)이라고 한다. 최초에 주어진 점 $P$를 생성원(Generator)라고 하고 부분군이 반복되는 주기인 $n$(위 예시의 경우 5)를 부분군의 위수라고 한다. - -## Elliptic Curve Cryptography -타원곡선을 기반으로 [[ECDSA]]와 같은 전자서명 알고리즘은 대부분 이런 타원곡선의 순환부분군의 성질을 이용한다. 위수가 충분히 큰 타원곡선 군으로부터 적절한 생성원을 추출하면, 랜덤하게 뽑은 스칼라 값이 개인키가 되고 둘을 개인키와 생성원을 스칼라 곱한 점이 공개키가 된다. - ->생성원 설정에 따른 보안성과 퍼포먼스는 다음을 참고: [Point Generation ANd Base Point Selection In ECC: An Overview](https://ijarcce.com/wp-content/uploads/2012/03/IJARCCE7J-a-moumita-Point-Generation-And-Base.pdf) \ No newline at end of file +The set of points generated by scalar multiplication forms a cyclic subgroup, with the initial point $P$ as the generator. The period of repetition $n$ (5 in this example) is the order of the subgroup diff --git a/content/Basic Algebra/Equivalence Relation.md b/content/Basic Algebra/Equivalence Relation.md index 656f4e4..7fb5af4 100644 --- a/content/Basic Algebra/Equivalence Relation.md +++ b/content/Basic Algebra/Equivalence Relation.md @@ -1,9 +1,11 @@ # 정의 -집합 $X$위의 [[Binary Relation]] $\sim$ 이 $a, b, c, \in X$에 대해 다음과 같은 성질을 만족시킬때, 이를 $X$ 위의 equivalence relation(동치 관계)라 부른다. -1) Reflexive(반사 관계) -2) Symmetric(대칭 관계) -3) Transitive(전이 관계) +A [[Binary Relation]] $\sim$ on a set $X$ is called an equivalence relation on $X$ if it satisfies the following properties for all $a, b, c \in X$: -## 동치류 -집합 $X$ 위에서 어떤 특정한 원소와 동치 관계 $\sim$가 성립하는 원소들의 집합을 동치류라고 부른다. 예를 들어, 어떤 원소 $a$에 대한 동치류는 다음과 같이 나타낸다. +1. Reflexive +2. Symmetric +3. Transitive + +## Equivalence Class + +The set of elements in $X$ that are equivalent to a specific element under the relation $\sim$ is called the equivalence class. For example, the equivalence class of an element $a$ is denoted as follows. $$[a] = \{x\in X: x \sim a\}$$ \ No newline at end of file diff --git a/content/Basic Algebra/Group.md b/content/Basic Algebra/Group.md index a600637..6778876 100644 --- a/content/Basic Algebra/Group.md +++ b/content/Basic Algebra/Group.md @@ -1,11 +1,11 @@ -# Group의 정의 +# Group -집합 $G$ 위의 [[Binary Operation]] $*$ : $G \times G \rightarrow G$ 가 주어졌을 때, $G$와 $*$가 다음 조건을 만족하면 $G$와 $*$를 합쳐서 Group이라고 정의한다: +Given a [[Binary Operation]] $*$ : $G \times G \rightarrow G$ on a set $G$, the pair $(G, *)$ is defined as a group if it satisfies the following conditions: -1. $*$는 결합적이다 (associative). +1. $*$ is associative. +2. There exists an identity element $e \in G$. +3. For each element $a \in G$, there exists an inverse element $a^{-1} \in G$. -2. $G$에 항등원 $e \in G$가 존재한다. +# Example -3. $G$의 각 $a \in G$에 대해, $a$의 역원 $a^{-1}$가 존재한다. -# 예시 -1. $GL_{2}(\mathbb{R})$는 2×2 가역 행렬의 집합으로, 행렬 곱셈과 함께 Group이다. \ No newline at end of file +- $GL_{2}(\mathbb{R})$ is the set of all invertible 2×2 matrices, and with matrix multiplication, it forms a group. \ No newline at end of file diff --git a/content/Basic Algebra/Ideal.md b/content/Basic Algebra/Ideal.md index d5ebd02..cb1ed8b 100644 --- a/content/Basic Algebra/Ideal.md +++ b/content/Basic Algebra/Ideal.md @@ -1,10 +1,14 @@ -# 정의 -[[Ring]](환) $(R, +, \cdot)$가 주어졌을 때, $R$의 **부분집합** $I$가 아래와 같은 조건을 만족하면 이를 **ideal**(아이디얼)이라 부른다. -1) $(I, +)$가 $(R,+)$의 [[Subgroup]]이다. -2) 모든 $r \in R, x \in I$에 대해, $rx \in I$이고 $xr \in I$이다. - - 해당 조건에서 $rx \in I$만 성립하는 경우를 **left ideal**(왼쪽 아이디얼), $xr \in I$만 성립하는 경우를 **right ideal**(오른쪽 아이디얼)이라 부른다. 두 조건 모두 만족시키는 경우 **two-sided ideal**(양쪽 아이디얼) 혹은 ideal이라 부른다. - -# 특징 -아이디얼에 관해 다음과 같은 특징이 존재한다. -- 왼쪽 아이디얼의 [[Opposite Ring]](반대환)은 오른쪽 아이디얼이며, 오른쪽 아이디얼에 대해서도 동일한 관계가 성립한다. -- 아이디얼은 환 $(R, +, \cdot)$의 부분 [[Pseudoring]](유사환)이다. \ No newline at end of file +# Definition + +Given a [[Ring]] $(R, +, \cdot)$, a **subset** $I$ of $R$ is called an **ideal** if it satisfies the following conditions: + +1. $(I, +)$ is a [[Subgroup]] of $(R, +)$. +2. For all $r \in R$ and $x \in I$, $rx \in I$ and $xr \in I$. + - If only $rx \in I$ holds, $I$ is called a **left ideal**. If only $xr \in I$ holds, $I$ is called a **right ideal**. If both conditions hold, $I$ is called a **two-sided ideal** or simply an ideal. + +# Characteristics + +Ideals have the following characteristics: + +- The [[Opposite Ring]] of a left ideal is a right ideal, and the same relationship holds for right ideals. +- An ideal is a sub-[[Pseudoring]] of the ring $(R, +, \cdot)$. \ No newline at end of file diff --git a/content/Basic Algebra/Monoid.md b/content/Basic Algebra/Monoid.md index 0b63a95..1b23941 100644 --- a/content/Basic Algebra/Monoid.md +++ b/content/Basic Algebra/Monoid.md @@ -1,12 +1,10 @@ -# Monoid의 정의 +# Definition of a Monoid -집합 $S$ 위의 [Binary Operation] $*$ : $S \times S \rightarrow S$ 가 주어졌을 때, $S$와 $*$가 다음 조건을 만족하면 $S$와 $*$를 합쳐서 monoid라고 부른다: +Given a [Binary Operation] $*$ : $S \times S \rightarrow S$ on a set $S$, the pair $(S, *)$ is called a monoid if it satisfies the following conditions: -1. $*$는 결합적이다 (associative). +1. $*$ is associative. +2. There exists an identity element $e \in S$. -2. $S$에 항등원 $e \in S$가 존재한다. - -# 예시 -1. $(\mathbb{Z}, \times)$는 Monoid이다. 그러나 [[Group]]은 아니다. - -2. $(Mat_{2 \times 2}(\mathbb{R}), \times)$는 Monoid이다. 그러나 [[Group]]은 아니다. \ No newline at end of file +# Examples +1. $(\mathbb{Z}, \times)$ is a Monoid. However, it is not a [[Group]]. +2. $(Mat_{2 \times 2}(\mathbb{R}), \times)$ is a Monoid. However, it is not a [[Group]]. \ No newline at end of file diff --git a/content/Basic Algebra/Quotient Ring.md b/content/Basic Algebra/Quotient Ring.md index bbd5236..f680490 100644 --- a/content/Basic Algebra/Quotient Ring.md +++ b/content/Basic Algebra/Quotient Ring.md @@ -1,9 +1,9 @@ -# 정의 -[[Ring]](환) $(R, +, \cdot)$과 [[Ideal]](아이디얼) $I$가 주어졌을 때, $R/I$에 대해 다음과 같은 연산을 정의하면 이 또한 환이 되며, 이를 quotient ring(몫환)이라 부른다. +# Definition +Given a [[Ring]] $(R, +, \cdot)$ and an [[Ideal]] $I$, we can define operations on $R/I$ that make it a ring, called the quotient ring. ->[! Definition] $R/I$ ->덧셈: $R/I$에서 두 동치류* $[a]$와 $[b]$의 덧셈은 $[a] + [b] = [a+b]$로 정의된다. ->곱셈: $R/I$에서 두 동치류* $[a]$와 $[b]$의 곱셈은 $[a]\cdot[b]=[a\cdot b]$로 정의된다. ->*동치류에 관해서는 [[Equivalence Relation]]을 참고 +>**Definition** $R/I$ +>- **Addition**: The addition of two equivalence classes* $[a]$ and $[b]$ in $R/I$ is defined as $[a] + [b] = [a+b]$. +>- **Multiplication**: The multiplication of two equivalence classes* $[a]$ and $[b]$ in $R/I$ is defined as $[a] \cdot [b] = [a \cdot b]$. +>*For more on equivalence classes, see [[Equivalence Relation]]. -몫환은 복잡한 대수적 구조를 단순한 형태로 축소시키는 역할을 하며, [[Ring Isomorphism]]과 같은 중요한 개념을 도출하는 데에 도움이 된다. \ No newline at end of file +The quotient ring simplifies complex algebraic structures into a more manageable form and is useful in deriving important concepts such as [[Ring Isomorphism]]. \ No newline at end of file diff --git a/content/Basic Algebra/Residue Number System.md b/content/Basic Algebra/Residue Number System.md index d2c1990..6020b46 100644 --- a/content/Basic Algebra/Residue Number System.md +++ b/content/Basic Algebra/Residue Number System.md @@ -1,11 +1,11 @@ -Residue Number System(RNS)은 정수를 표현하고 연산하는 데에 사용되는 number system의 하나로, 병렬 연산에 유리하다는 특징이 있다. RNS에서는 정수를 여러 개의 서로 다른 서로소인 정수들(이후 기수 집합이라고 부르게 되는 것)으로 표현하며, 기반이 되는 원리에는 [[Chinese remainder theorem]]가 있다. 즉 서로소인 정수들이 주어졌을 때, 이들에 대한 연립 합동식의 해가 유일하다는 것에 기반하여 여러 서로소 정수들로 하나의 정수를 나타낼 수 있는 것이다. +The Residue Number System (RNS) is a number system used for representing and performing arithmetic operations on integers, with the advantage of supporting parallel computations. In RNS, an integer is represented using multiple distinct coprime integers (referred to as the base set). The underlying principle of RNS is based on the [[Chinese remainder theorem]], which states that given a set of pairwise coprime integers, a unique solution exists for a system of simultaneous congruences, allowing the representation of a single integer using multiple coprime integers. ## RNS Representation -RNS에서 정수 X는 다음과 같이 k개의 정수로 나타낼 수 있다. +In RNS, an integer XXX can be represented as a set of kkk integers: $$X \equiv \{x_1, x_2, x_3, ..., x_k\} \quad (mod \space \{m_1, m_2, m_3, m_4, ..., m_k\})$$ -여기서 ${m_1, m_2, m_3, …, m_k}$ 는 RNS의 기수(base) 집합이다. +where ${m_1, m_2, m_3, …, m_k}$ is the base set of the RNS. -예를 들어 기수 집합 {3, 5, 7}을 사용하는 RNS에서 정수 23은 (2, 3, 2)로 표현된다. +For example, in an RNS with the base set {3,5,7}\{3, 5, 7\}{3,5,7}, the integer 23 is represented as (2,3,2)(2, 3, 2)(2,3,2): $$ \begin{align} 23 \equiv 2 \quad& (mod \space 3) \\ 23 \equiv 3 \quad& (mod \space 5) \\ 23 \equiv 2 \quad& (mod \space 7) \\ \end{align} @@ -14,7 +14,7 @@ $$ ## Arithmetic operations ### Add -RNS에서의 덧셈은 단순한 residue끼리의 덧셈을 수행하여 이루어진다. 뺄셈 및 곱셈도 마찬가지로 수행된다. +Addition in RNS is performed by simply adding the corresponding residues: $$ \begin{align} \{x_1, x_2, x_3, ..., x_k\} +\{y_1, y_2, y_3, ..., y_k\} =\{& x_1 +y_1 (mod \space m_1), \\ & x_2 +y_2 (mod \space m_2), \\ &..., \\ &x_k +y_k (mod \space m_k)\} @@ -22,6 +22,7 @@ $$ $$ ### Subtract +Subtraction in RNS is performed by subtracting the corresponding residues: $$ \begin{align} \{x_1, x_2, x_3, ..., x_k\} +\{y_1, y_2, y_3, ..., y_k\} =\{& x_1 -y_1 (mod \space m_1), \\ & x_2 -y_2 (mod \space m_2), \\ &..., \\ &x_k -y_k (mod \space m_k)\} @@ -29,6 +30,7 @@ $$ $$ ### Multiply +Multiplication in RNS is performed by multiplying the corresponding residues: $$ \begin{align} \{x_1, x_2, x_3, ..., x_k\} +\{y_1, y_2, y_3, ..., y_k\} =\{& x_1 \cdot y_1 (mod \space m_1), \\ & x_2 \cdot y_2 (mod \space m_2), \\ &..., \\ &x_k \cdot y_k (mod \space m_k)\} @@ -36,7 +38,7 @@ $$ $$ ### Divide -나눗셈은 나누는 수의 모듈로 역원을 이용해 계산한다. 따라서 다음과 같이 수행된다. +Division in RNS is performed using the modular multiplicative inverse of the divisor. This is calculated as follows: $$ \begin{align} \{x_1, x_2, x_3, ..., x_k\} +\{y_1, y_2, y_3, ..., y_k\} =\{& x_1 \cdot y_1^{-1} (mod \space m_1), \\ & x_2 \cdot y_2^{-1} (mod \space m_2), \\ &..., \\ &x_k \cdot y_k^{-1} (mod \space m_k)\} @@ -44,5 +46,5 @@ $$ $$ ### Comparison -동일성의 경우 두 수의 residue들이 동일하면 두 수도 동일하다고 판단한다. -대소비교의 경우 직접적으로 수행하기 어려우며 일반적으로는 전체 값을 복원하여 연산한다. \ No newline at end of file + +For equality, two numbers are considered equal if all their residues are equal. Direct comparison for greater than or less than is not straightforward in RNS and typically requires reconstructing the full value for the comparison. \ No newline at end of file diff --git a/content/Basic Algebra/Ring Homomorphism.md b/content/Basic Algebra/Ring Homomorphism.md index e8c900e..905aa08 100644 --- a/content/Basic Algebra/Ring Homomorphism.md +++ b/content/Basic Algebra/Ring Homomorphism.md @@ -1,5 +1,6 @@ -두 개의 [[Ring]](환) $R, S$에 대해 어떤 사상 $f:R \to S$ 가 다음의 조건을 만족하면 해당 사상을 ring homorphism(환준동형사상)이라 부른다. -1) 임의의 $(x, y) \in R$에 대해, $f(a+b) = f(a) + f(b)$가 성립한다. -2) 임의의 $(x, y) \in R$에 대해, $f(ab) = f(a)\cdot f(b)$가 성립한다. -3) $f(1_R)= 1_S$가 성립한다. -이 때, 각 조건의 좌항에 있는 연산은 $R$에서 정의된 연산이고, 우항에 있는 연산은 $S$에서 정의된 연산이다. 이러한 사상 $f$가 전단사이면 이를 [[Ring Isomorphism]](환동형사상)이라 부른다. \ No newline at end of file +For two [[Rings]] $R$ and $S$, a mapping $f: R \to S$ is called a ring homomorphism if it satisfies the following conditions: +1. For any $(a, b) \in R$, $f(a + b) = f(a) + f(b)$. +2. For any $(a, b) \in R$, $f(ab) = f(a) \cdot f(b)$. +3. $f(1_R) = 1_S$. + +Here, the operations on the left-hand side of each condition are those defined in $R$, and the operations on the right-hand side are those defined in $S$. If such a mapping $f$ is bijective, it is called a [[Ring Isomorphism]]. diff --git a/content/Basic Algebra/Ring.md b/content/Basic Algebra/Ring.md index 48f4e1d..ea63974 100644 --- a/content/Basic Algebra/Ring.md +++ b/content/Basic Algebra/Ring.md @@ -1,18 +1,21 @@ -# 정의 -Ring(환)은 집합과 덧셈, 곱셈 연산을 가지는 대수구조를 의미한다. 어떤 집합 $R$에 대해 아래와 같은 덧셈($+$) 및 곱셈($\cdot$) 연산이 잘 정의되어 있으면 $(R, +, \cdot)$을 **ring**이라 부른다. -1) $(R, +)$이 [[Commutative Group]]을 이룬다. - - 결합법칙이 성립한다. $a+(b+c)=(a+b)+c$ - - 교환법칙이 성립한다. $a+b = b+a$ - - 항등원이 존재한다. $a+0_R = a$ - - 역원이 존재한다. $a + x = 0_R$, $x \in R$ -2) $(R, \cdot)$은 [[Monoid]]이다. - - 결합법칙이 성립한다. $a \cdot (b \cdot c) = (a \cdot b) \cdot c$ - - 항등원이 존재한다. $a \cdot 1_R = a$ -3) 분배 법칙이 성립한다. - - $(a+b)\cdot c =a \cdot c + b \cdot c$ - - $c \cdot (a+ b) =a \cdot c + b \cdot c$ +# Definition +A Ring is an algebraic structure consisting of a set equipped with two operations: addition and multiplication. If the set $R$ has well-defined addition ($+$) and multiplication ($\cdot$) operations that satisfy the following properties, then $(R, +, \cdot)$ is called a **ring**. -# 종류 +1. $(R, +)$ forms a [[Commutative Group]]: + - Associativity: $a + (b + c) = (a + b) + c$ + - Commutativity: $a + b = b + a$ + - Existence of an identity element: $a + 0_R = a$ + - Existence of inverse elements: For each $a \in R$, there exists $x \in R$ such that $a + x = 0_R$ + +2. $(R, \cdot)$ forms a [[Monoid]]: + - Associativity: $a \cdot (b \cdot c) = (a \cdot b) \cdot c$ + - Existence of an identity element: $a \cdot 1_R = a$ + +3. Distributive laws hold: + - $(a + b) \cdot c = a \cdot c + b \cdot c$ + - $c \cdot (a + b) = c \cdot a + c \cdot b$ + +# Types - [[Commutative Ring]] - [[Unit Ring]] - [[Division Ring]] diff --git a/content/Basic Algebra/Subgroup.md b/content/Basic Algebra/Subgroup.md index d1222f0..a62402e 100644 --- a/content/Basic Algebra/Subgroup.md +++ b/content/Basic Algebra/Subgroup.md @@ -1,6 +1,8 @@ -# 정의 -[[Group]] $(G, ∗)$와 $G$의 부분집합 $H$가 주어졌을 때, $H$가 연산 $∗|_{H×H}$에 대해 Group을 형성하면, $H$를 $G$의 Subgroup이라고 한다. $H$가 $G$의 Subgroup임을 나타내기 위해 $H \le G$라고 쓴다. +# Definition -# 예시 -1. 주어진 $n \in \mathbb{Z}_{>0}$에 대해, $(n) := \{nx | x \in \mathbb{Z}\}$는 $(\mathbb{Z}, +)$의 Subgroup이다. -2. $SL_{2}(\mathbb{R}) := \{A \in Mat_{2 \times 2}(\mathbb{R}) | \det(A) = 1\}$는 $(GL_{2}(\mathbb{R}), \times)$의 Subgroup이다. \ No newline at end of file +Given a [[Group]] $(G, ∗)$ and a subset $H$ of $G$, if $H$ forms a group under the operation $∗|_{H×H}$, then $H$ is called a Subgroup of $G$. We denote that $H$ is a Subgroup of $G$ by writing $H \le G$. + +# Examples + +1. For a given $n \in \mathbb{Z}_{>0}$, $(n) := {nx \mid x \in \mathbb{Z}}$ is a Subgroup of $(\mathbb{Z}, +)$. +2. $SL_{2}(\mathbb{R}) := {A \in Mat_{2 \times 2}(\mathbb{R}) \mid \det(A) = 1}$ is a Subgroup of $(GL_{2}(\mathbb{R}), \times)$. \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Abelian Group.md b/content/i18n/ko/Basic Algebra/Abelian Group.md new file mode 100644 index 0000000..91ec8fd --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Abelian Group.md @@ -0,0 +1,5 @@ +# Abelian Group의 정의 +[[Group]] $(G, ∗)$가 $*$의 교환법칙을 만족하면, 즉 $*$가 교환적 (commutative)이라면, 이 group을 abelian 또는 commutative group이라고 정의한다. + +# 예시 +1. $(\mathbb{Z}, +)$는 Abelian Group이다. 따라서 [[Monoid]]이기도 하다. diff --git a/content/i18n/ko/Basic Algebra/Binary Operation.md b/content/i18n/ko/Basic Algebra/Binary Operation.md new file mode 100644 index 0000000..255c402 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Binary Operation.md @@ -0,0 +1,5 @@ +# 정의 +집합 $S$ 위의 binary operation은 $S \times S$ 의 원소들을 $S$ 로 매핑하는 것을 의미한다. 즉, 이는 함수 $f$ : $S \times S$ $\rightarrow$ $S$ 를 의미한다. Binary operation $*$ : $S \times S$ $\rightarrow$ $S$ 가 주어졌을 때, $*(a, b)$를 $a * b$로 표기한다. + +# 예시 +$Mat_{2 \times 2}(\mathbb{R})$가 2 × 2 실수 행렬의 집합이라고 하자. 이때, 행렬 곱셈 $(A, B) \mapsto AB$는 binary operation이다. \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Binary Relation.md b/content/i18n/ko/Basic Algebra/Binary Relation.md new file mode 100644 index 0000000..76612aa --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Binary Relation.md @@ -0,0 +1,9 @@ +# 정의 +주어진 집합 $A$에 대해 binary relation(이항 관계)는 $A \times A$ 의 부분집합이 되는 순서쌍들의 집합이다. 이항 관계 $R$의 순서쌍 $(x, y) \in R$ 의 $x$와 $y$사이에는 특정한 관계가 성립하는데, 이를 $xRy$, $R(x, y)$, $x \sim_R y$ 혹은 $x \sim y$와 같이 표기한다. + +# 예시 +대표적인 이항 관계로 반사 관계, 대칭 관계, 전이 관계 등이 있다. +1) Reflexive(반사 관계): $a \sim a$이다 +2) Symmetric(대칭 관계): $a \sim b$ 인 경우 오직 그런 경우에만 $b \sim a$이다 +3) Transitive(전이 관계): $a \sim b$이고 $b \sim a$이면 $a \sim c$이다 +4) Anti-symmetric(반대칭 관계): $a \sim b$이고 $b \sim a$ 이면 $a = b$ diff --git a/content/i18n/ko/Basic Algebra/Discrete logarithm problem.md b/content/i18n/ko/Basic Algebra/Discrete logarithm problem.md new file mode 100644 index 0000000..5469315 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Discrete logarithm problem.md @@ -0,0 +1,3 @@ +일반적인 로그(Logarithm)란 지수 함수의 역함수, 어떤 수를 나타내기 위해 고정된 밑은 몇번 곱하여야 하는지를 나타낸다고 볼 수 있다. 즉, $a^x = b$를 만족하는 $x$를 가리킨다. +이산 로그는 일반 로그와 같은 형태이지만 군론의 이산적인 대수 구조에서 정의된 연산이다. 이산 로그의 가장 단순한 형태는 $Z_p^*$ 에서 정의하는 것이다. $Z_p^*$의 집합이 $\{1, ..., p-1\}$이고 소수 $p$의 모듈로 곱셈에 대해 닫혀있다고 하자. $Z^*_p$의 어떤 수 $g$와 $y$가 주어졌을 때, $g^x \equiv y \mod p$ 를 만족하는 $x$, 즉, $\log_gy$를 구하는 문제가 이산 로그 문제(Discrete Logarithm Problem)이다. +위 식에서 소수 $p$가 충분히 클 때 $g$와 $x$로부터 $y$를 구하는 것은 쉽지만, $g$와 $y$로부터 $x$를 구하는 것은 어렵다는 성질이 있다. 이러한 성질을 이용한 암호 시스템이 [[ElGamal]]과 [[Diffie-Hellman]]등이 있다. \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/ECDLP.md b/content/i18n/ko/Basic Algebra/ECDLP.md new file mode 100644 index 0000000..8c403cd --- /dev/null +++ b/content/i18n/ko/Basic Algebra/ECDLP.md @@ -0,0 +1,10 @@ +ECDLP(Elliptic Curve Discrete Logarithm Problem)는 $Z_p^*$에서의 [[Discrete logarithm problem]]와 같은 방식을 [[Elliptic Curves]](타원곡선) 상에서 정의한 문제이다. + +- $E: y^2 = x^3 + ax + b$ 일때 $G \in E$ 를 generator로 하는 cyclic subgroup $H = $ 라고하자. +- $H$의 임의의 원소 $Q$에 대해, $aG = Q$ 인 $a$ $(0 \le a < |G| )$ 를 찾는 문제이다. + +ECDLP를 사용하는 이유 + +- 일반적인 DLP보다 훨씬 짧은 키 사이즈로도 안전성을 확보할수 있다. + +- $Z_p^*$ 에서 정의된 DLP의 해를 구하는 알고리즘(Index Calculus Algorithm)이 존재하는반면, EC-DLP의 경우 Generic 알고리즘만 알려져있고 ECDLP에 특화된 알고리즘은 현재까지 발견되지 않았다. (Baby-step Giant -step, Pollard $p$ → $O(\sqrt{p})$의 공격량이 필요) diff --git a/content/i18n/ko/Basic Algebra/Elliptic Curves.md b/content/i18n/ko/Basic Algebra/Elliptic Curves.md new file mode 100644 index 0000000..380ca4f --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Elliptic Curves.md @@ -0,0 +1,94 @@ +타원곡선(Elliptic Curve)은 아래 그림과 같은 형태로 흔히 알려진 “타원형”과는 전혀 다른 꼴이지만, 타원곡선이라는 이름이 붙은 것은 타원의 둘레를 구하는 적분에서 이런 형태의 곡선이 유도 되었기 때문이다. +![[ec(1).png]] +>타원곡선의 유도 과정과 더 자세한 내용은 다음 저서를 참고: [J. Silverman, “The Arithmetic of Elliptic Curves” (Springer, 1986)](https://link.springer.com/book/10.1007/978-0-387-09494-6) + +타원곡선은 해석학, 기하학, 대수학 등 수학 전반에서 쓰이는 중요한 개념 중 하나인데, 이 아티클은 암호학에서의 활용에 초점을 두어 작성하였다. 컴퓨터의 계산 성능이 높아지면서 [RSA](/be882d573c4c47a09ec80059c05f36d9?pvs=25)와 [ELGamal과](/2e89613d942f4f0ab69212e5505b5af4?pvs=25) 같은 기존의 [공개 키 암호](/307e617e819d41bcb9eb5177668527cd?pvs=25)방식은 안전성을 확보하기 위해 점점 더 많은 계산량이 요구되었다. 타원곡선을 활용하면 이러한 문제점들을 보완할 수 있기 때문에 현재 여러 암호 시스템에서 사용하고 있고, 따라서 타원곡선은 현대 암호학을 이해하기 위한 중요한 토대이다. + +## Short Weierstrass form + +타원곡선의 일반적인 정의는 다음과 같은 복잡한 형태이다. +$$Ax^3 + Bx^2y + C xy^2 + Dy^3 + Ex^2 + Fxy + Gy^2 + Hx + Iy + J = 0$$ +![[ec(2).png]] +한편, 암호학에서 주로 사용하는 타원곡선의 형태은 다음과 같은 Short Weierstrass form이다. +$$y^2 = x^3 + ax + b \; (4a^3 + 27b^2 \ne 0)$$ +>두번째 조건 $4a^3 + 27b^2 ≠ 0$ 은 중근을 갖지 않기 위한 조건으로, 중근을 갖게 되면 다음과 같은 특이점(Singular point)을 갖는 곡선이 된다.![[ec(3).png]] + +## 타원곡선 군 + +위와 같은 형태의 타원곡선으로부터 [아벨리안 덧셈 군](https://en.wikipedia.org/wiki/Abelian_group)을 정의할 수 있다. + +아벨리안 덧셈 군이 정의되기 위해서는 덧셈연산에 대해 닫혀있는 집합이 정의되어야하고, 다음 4가지 조건을 만족해야한다. + +1. 결합 법칙(Associativity) +2. 항등원(Identity element) +3. 역원(Inverse element) +4. 교환 법칙(Commutativity) + +### 타원곡선 군의 덧셈 + +위에서 언급한 바와 같이 타원곡선 군을 정의하기 위해서는 덧셈연산에 대해 닫혀있는 집합이 정의되어야한다. 우선 타원곡선 군의 집합은 타원곡선 상의 모든 점들이다. 그런데 일반적인 좌표평면 상의 점들의 덧셈을 덧셈 연산으로 정의하게 되면 타원곡선 점들의 집합이 덧셈 연산에 대해 닫혀있지 않음을 알 수 있다. 따라서 타원곡선 군에서는 특별한 덧셈 연산을 다음과 같이 새롭게 정의한다. + +![[ec(4).png]] +*Elliptic Curve Cryptography - Andrea Corbellini, 2015* + +타원곡선은 특이한 성질을 가지고 있는데, 타원곡선의 어떤 두 점을 지나는 직선은 반드시 또 다른 점을 지난다. 타원곡선 위의 두점 $P(x_1, y_1), Q(x_2, y_2)$, 그리고 두점을 지나는 직선을 $l$ 이라고 하고, 직선 $l$이 지나는 타원곡선 위의 $P, Q$ 가 아닌 또 다른 점을 $R$이라고 하면, $P+Q+R = O$ 이고, $P + Q = -R$ 이다. 즉, $-R$이 점 $P,Q$를 더한 점이 된다. 여기서 점 $R$을 $x$축 대칭한 점이 $-R$이 되는 이유는 항등원과 역원의 정의 때문인데 바로 뒤에서 서술하겠다. + +### 무한 원점 (Point at infinity) + +위와 같이 덧셈 연산을 정의 했을 때, 덧셈에 대해 닫혀있지 않은 것 같은 경우가 있다. 그림에서 점 $R$과 $-R$처럼 서로 $x$축에 대해 대칭인 두 점을 지나는 직선은 또 다른 점에서 만나지 않는 것 처럼 보인다. 여기서 타원곡선 군의 항등원인 무한 원점 $O$ (Point at infinity)를 정의할 수 있다. 무한 원점이란 y축에 평행한 모든 직선이 만나는 y좌표가 무한대인 가상의 점이다. 즉, 위 그림에서 점 $R$과 $-R$을 지나는 직선은 항등원인 무한 원점 $O$를 지나게 된다. 다시 말해 항등원과 역원의 정의에 따라 $R + (-R) = O$이고, R에 대해 x축 대칭인 $-R$이 $R$의 덧셈에 대한 역원이 된다. + +따라서 실수체에서의 타원곡선은 다음과 같이 정의 할 수 있다. +$$\{(x,y) \in \mathbb{R}^2 \; | \; y^2 = x^3 + ax + b, 4a^3 + 27b^2 \ne 0 \} \; \cup \; \{O\}$$ + +### 타원곡선 덧셈의 대수적 연산 + +$P(x_1, y_1) + Q(x_2,y_2)$은 대수적으로 다음과 같은 연산이다. + +$P, Q$ 를 지나는 직선과 $E$(타원곡선)의 교점을 구한뒤 $x$축 대칭 시켜서 값을 구할 수 있다. 다음은 $P, Q$의 경우에 따라 계산을 한 결과이다. (단, $m$은 $P, Q$ 를 지나는 직선의 기울기이고, $P, Q$ 를 지나는 직선과 $E$와의 교점은 $R(x_3, y_3)$이다.) + +1. $P, Q \ne O, \; P \ne Q$ 인 경우 → $P + Q = (m^2-x_1-x_2, \; m(x_1-x_3)-y_1), \; m=(y_2- y_1)(x_2-x_1){-1\atop}$ + +2. $P+Q = O$ 인 경우 → $P, Q$ 의 $x$좌표가 같으면 $P + Q = O$ + +3. $P = Q$ 인 경우 ($P$를 지나는 $E$ 위의 접선을 통해 구함, 접선은 미적분학의 편미분을 통해 구함) → $P + P = 2P = (m^2 - 2x_1, \; m(x_1-x_3) - y_1), \; m= (3x_1^2 + a)(2y_1){-1\atop} \pmod{p}$ + +4. $Q = O \rightarrow P+Q = P+O = P, \; O+O=O$ + +## Elliptic curves in $𝔽_p$(유한체에서 정의된 타원곡선) + +유한체 상의 타원곡선 군은 실수체에서의 타원곡선 군과 동일한 개념이지만 원소의 개수가 유한하다. 위에서 살펴본 타원곡선을 [유한체](https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%95%9C%EC%B2%B4)에서 정의하면 다음과 같다: +$$\{(x,y) \in (𝔽_p)^2 \; | \; y^2 \equiv x^3 + ax + b \pmod{p}, 4a^3 + 27b^2 \not\equiv 0 \pmod{p} \} \; \cup \; \{O\}$$ +>Order of an elliptic curve group(타원곡선 군의 위수) 유한체에서 정의된 타원곡선은 유한한 개수의 점을 가지는데 이때 집합의 개수를 위수(Order)라고 한다. 이때 [Schoof’s Algorithm](https://en.wikipedia.org/wiki/Schoof%27s_algorithm)으로 타원곡선의 위수를 구할 수 있다. 실제로 유한체에서의 타원곡선을 보면 아래 그림과 같은데, 위에서 봤던 실수체에서의 모양과는 또 다른 형태임을 알 수 있다. 단, 이때 위수가 2 또는 3인 특수한 경우는 다루지 않는다. (점 형태로 변환이 불가능한 경우 발생) + +![[ec(5).png]] + +위 그림은 $y^2 \equiv x^3 -7x + 10 \pmod{p}$ 에서 차례대로 $p=19,\ 97,\ 127,\ 487$ 을 적용한 결과이다. 위 그래프들을 자세히 보면 $y=p/2$ 에서 대칭임을 알 수 있다. + +그렇다면 유한체에서 정의된 타원곡선에서의 덧셈연산 위에서 보았던 실수체 타원곡선의 덧셈은 유한체 상에서는 어떻게 적용할까? +![[ec(6).png]] +산술적인 연산은 실수체에서와 거의 동일하지만, 기하적으로 덧셈을 살펴보면 그 형태가 약간 다른것을 볼 수 있다. 위 그림은 $y^2 \equiv x^3-x+3 \pmod{127}$ 에서 $P(16,20)$ 와 $Q(41,120)$ 를 덧셈 연산한 결과이다. + +$P,Q$ 를 지나는 직선은 $y \equiv 4x + 83 \pmod{127}$ 인데 유한체에서 이 직선은 위 그림과 같은 형태라고 할 수 있다. + +### Scalar Multiplication + +유한체에서 정의된 타원곡선 군에서는 다음과 같은 스칼라 곱 연산이 가능하다. +$$\underbrace{nP = P + P + ... + P}_{n \; times}$$ +타원곡선 군의 스칼라 곱은 동일한 점에 대해 스칼라만큼 덧셈연산을 반복하는 연산인데, 어떤 점을 반복해서 더하게 되면 특정 주기에 따라 값이 반복되는 특징이 있다. 예를 들어 $y^2 \equiv x^3 + 2x + 3 \pmod{97}$ 이고 $P = (3, 6)$ 일때 곱셈연산을 하면 다음과 같다. +![[ec(7).png]] +$OP = (0, 0)$ +$OP = (0, 0)$ $1P = (3,6)$ +$2P = (80, 10)$ +$3P = (80,87)$ +$4P = (3,91)$ +$5P = O$ +$6P = (3,6)$ +$7P = (80,10)$ +... + +이렇게 스칼라 곱의 주기에 의해 만들어진 점들의 집합을 순환부분군(Cyclic subgroup)이라고 한다. 최초에 주어진 점 $P$를 생성원(Generator)라고 하고 부분군이 반복되는 주기인 $n$(위 예시의 경우 5)를 부분군의 위수라고 한다. + +## Elliptic Curve Cryptography +타원곡선을 기반으로 [[ECDSA]]와 같은 전자서명 알고리즘은 대부분 이런 타원곡선의 순환부분군의 성질을 이용한다. 위수가 충분히 큰 타원곡선 군으로부터 적절한 생성원을 추출하면, 랜덤하게 뽑은 스칼라 값이 개인키가 되고 둘을 개인키와 생성원을 스칼라 곱한 점이 공개키가 된다. + +>생성원 설정에 따른 보안성과 퍼포먼스는 다음을 참고: [Point Generation ANd Base Point Selection In ECC: An Overview](https://ijarcce.com/wp-content/uploads/2012/03/IJARCCE7J-a-moumita-Point-Generation-And-Base.pdf) \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Equivalence Relation.md b/content/i18n/ko/Basic Algebra/Equivalence Relation.md new file mode 100644 index 0000000..656f4e4 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Equivalence Relation.md @@ -0,0 +1,9 @@ +# 정의 +집합 $X$위의 [[Binary Relation]] $\sim$ 이 $a, b, c, \in X$에 대해 다음과 같은 성질을 만족시킬때, 이를 $X$ 위의 equivalence relation(동치 관계)라 부른다. +1) Reflexive(반사 관계) +2) Symmetric(대칭 관계) +3) Transitive(전이 관계) + +## 동치류 +집합 $X$ 위에서 어떤 특정한 원소와 동치 관계 $\sim$가 성립하는 원소들의 집합을 동치류라고 부른다. 예를 들어, 어떤 원소 $a$에 대한 동치류는 다음과 같이 나타낸다. +$$[a] = \{x\in X: x \sim a\}$$ \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Group.md b/content/i18n/ko/Basic Algebra/Group.md new file mode 100644 index 0000000..a600637 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Group.md @@ -0,0 +1,11 @@ +# Group의 정의 + +집합 $G$ 위의 [[Binary Operation]] $*$ : $G \times G \rightarrow G$ 가 주어졌을 때, $G$와 $*$가 다음 조건을 만족하면 $G$와 $*$를 합쳐서 Group이라고 정의한다: + +1. $*$는 결합적이다 (associative). + +2. $G$에 항등원 $e \in G$가 존재한다. + +3. $G$의 각 $a \in G$에 대해, $a$의 역원 $a^{-1}$가 존재한다. +# 예시 +1. $GL_{2}(\mathbb{R})$는 2×2 가역 행렬의 집합으로, 행렬 곱셈과 함께 Group이다. \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Ideal.md b/content/i18n/ko/Basic Algebra/Ideal.md new file mode 100644 index 0000000..d5ebd02 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Ideal.md @@ -0,0 +1,10 @@ +# 정의 +[[Ring]](환) $(R, +, \cdot)$가 주어졌을 때, $R$의 **부분집합** $I$가 아래와 같은 조건을 만족하면 이를 **ideal**(아이디얼)이라 부른다. +1) $(I, +)$가 $(R,+)$의 [[Subgroup]]이다. +2) 모든 $r \in R, x \in I$에 대해, $rx \in I$이고 $xr \in I$이다. + - 해당 조건에서 $rx \in I$만 성립하는 경우를 **left ideal**(왼쪽 아이디얼), $xr \in I$만 성립하는 경우를 **right ideal**(오른쪽 아이디얼)이라 부른다. 두 조건 모두 만족시키는 경우 **two-sided ideal**(양쪽 아이디얼) 혹은 ideal이라 부른다. + +# 특징 +아이디얼에 관해 다음과 같은 특징이 존재한다. +- 왼쪽 아이디얼의 [[Opposite Ring]](반대환)은 오른쪽 아이디얼이며, 오른쪽 아이디얼에 대해서도 동일한 관계가 성립한다. +- 아이디얼은 환 $(R, +, \cdot)$의 부분 [[Pseudoring]](유사환)이다. \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Monoid.md b/content/i18n/ko/Basic Algebra/Monoid.md new file mode 100644 index 0000000..0b63a95 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Monoid.md @@ -0,0 +1,12 @@ +# Monoid의 정의 + +집합 $S$ 위의 [Binary Operation] $*$ : $S \times S \rightarrow S$ 가 주어졌을 때, $S$와 $*$가 다음 조건을 만족하면 $S$와 $*$를 합쳐서 monoid라고 부른다: + +1. $*$는 결합적이다 (associative). + +2. $S$에 항등원 $e \in S$가 존재한다. + +# 예시 +1. $(\mathbb{Z}, \times)$는 Monoid이다. 그러나 [[Group]]은 아니다. + +2. $(Mat_{2 \times 2}(\mathbb{R}), \times)$는 Monoid이다. 그러나 [[Group]]은 아니다. \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Quotient Ring.md b/content/i18n/ko/Basic Algebra/Quotient Ring.md new file mode 100644 index 0000000..bbd5236 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Quotient Ring.md @@ -0,0 +1,9 @@ +# 정의 +[[Ring]](환) $(R, +, \cdot)$과 [[Ideal]](아이디얼) $I$가 주어졌을 때, $R/I$에 대해 다음과 같은 연산을 정의하면 이 또한 환이 되며, 이를 quotient ring(몫환)이라 부른다. + +>[! Definition] $R/I$ +>덧셈: $R/I$에서 두 동치류* $[a]$와 $[b]$의 덧셈은 $[a] + [b] = [a+b]$로 정의된다. +>곱셈: $R/I$에서 두 동치류* $[a]$와 $[b]$의 곱셈은 $[a]\cdot[b]=[a\cdot b]$로 정의된다. +>*동치류에 관해서는 [[Equivalence Relation]]을 참고 + +몫환은 복잡한 대수적 구조를 단순한 형태로 축소시키는 역할을 하며, [[Ring Isomorphism]]과 같은 중요한 개념을 도출하는 데에 도움이 된다. \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Residue Number System.md b/content/i18n/ko/Basic Algebra/Residue Number System.md new file mode 100644 index 0000000..d2c1990 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Residue Number System.md @@ -0,0 +1,48 @@ +Residue Number System(RNS)은 정수를 표현하고 연산하는 데에 사용되는 number system의 하나로, 병렬 연산에 유리하다는 특징이 있다. RNS에서는 정수를 여러 개의 서로 다른 서로소인 정수들(이후 기수 집합이라고 부르게 되는 것)으로 표현하며, 기반이 되는 원리에는 [[Chinese remainder theorem]]가 있다. 즉 서로소인 정수들이 주어졌을 때, 이들에 대한 연립 합동식의 해가 유일하다는 것에 기반하여 여러 서로소 정수들로 하나의 정수를 나타낼 수 있는 것이다. + +## RNS Representation +RNS에서 정수 X는 다음과 같이 k개의 정수로 나타낼 수 있다. +$$X \equiv \{x_1, x_2, x_3, ..., x_k\} \quad (mod \space \{m_1, m_2, m_3, m_4, ..., m_k\})$$ +여기서 ${m_1, m_2, m_3, …, m_k}$ 는 RNS의 기수(base) 집합이다. + +예를 들어 기수 집합 {3, 5, 7}을 사용하는 RNS에서 정수 23은 (2, 3, 2)로 표현된다. +$$ + +\begin{align} 23 \equiv 2 \quad& (mod \space 3) \\ 23 \equiv 3 \quad& (mod \space 5) \\ 23 \equiv 2 \quad& (mod \space 7) \\ \end{align} + +$$ + +## Arithmetic operations +### Add +RNS에서의 덧셈은 단순한 residue끼리의 덧셈을 수행하여 이루어진다. 뺄셈 및 곱셈도 마찬가지로 수행된다. +$$ +\begin{align} +\{x_1, x_2, x_3, ..., x_k\} +\{y_1, y_2, y_3, ..., y_k\} =\{& x_1 +y_1 (mod \space m_1), \\ & x_2 +y_2 (mod \space m_2), \\ &..., \\ &x_k +y_k (mod \space m_k)\} +\end{align} +$$ + +### Subtract +$$ +\begin{align} +\{x_1, x_2, x_3, ..., x_k\} +\{y_1, y_2, y_3, ..., y_k\} =\{& x_1 -y_1 (mod \space m_1), \\ & x_2 -y_2 (mod \space m_2), \\ &..., \\ &x_k -y_k (mod \space m_k)\} +\end{align} +$$ + +### Multiply +$$ +\begin{align} +\{x_1, x_2, x_3, ..., x_k\} +\{y_1, y_2, y_3, ..., y_k\} =\{& x_1 \cdot y_1 (mod \space m_1), \\ & x_2 \cdot y_2 (mod \space m_2), \\ &..., \\ &x_k \cdot y_k (mod \space m_k)\} +\end{align} +$$ + +### Divide +나눗셈은 나누는 수의 모듈로 역원을 이용해 계산한다. 따라서 다음과 같이 수행된다. + +$$ +\begin{align} \{x_1, x_2, x_3, ..., x_k\} +\{y_1, y_2, y_3, ..., y_k\} =\{& x_1 \cdot y_1^{-1} (mod \space m_1), \\ & x_2 \cdot y_2^{-1} (mod \space m_2), \\ &..., \\ &x_k \cdot y_k^{-1} (mod \space m_k)\} +\end{align} +$$ + +### Comparison +동일성의 경우 두 수의 residue들이 동일하면 두 수도 동일하다고 판단한다. +대소비교의 경우 직접적으로 수행하기 어려우며 일반적으로는 전체 값을 복원하여 연산한다. \ No newline at end of file diff --git a/content/i18n/ko/Basic Algebra/Ring Homomorphism.md b/content/i18n/ko/Basic Algebra/Ring Homomorphism.md new file mode 100644 index 0000000..cf812c6 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Ring Homomorphism.md @@ -0,0 +1,5 @@ +두 개의 [[Ring]](환) $R, S$에 대해 어떤 사상 $f:R \to S$ 가 다음의 조건을 만족하면 해당 사상을 ring homorphism(환준동형사상)이라 부른다. +1) 임의의 $(x, y) \in R$에 대해, $f(a+b) = f(a) + f(b)$가 성립한다. +2) 임의의 $(x, y) \in R$에 대해, $f(ab) = f(a)\cdot f(b)$가 성립한다. +3) $f(1_R)= 1_S$가 성립한다. +이 때, 각 조건의 좌항에 있는 연산은 $R$에서 정의된 연산이고, 우항에 있는 연산은 $S$에서 정의된 연산이다. 이러한 사상 $f$가 전단사이면 이를 [[Ring Isomorphism]](환동형사상)이라 부른다. diff --git a/content/i18n/ko/Basic Algebra/Ring.md b/content/i18n/ko/Basic Algebra/Ring.md new file mode 100644 index 0000000..48f4e1d --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Ring.md @@ -0,0 +1,20 @@ +# 정의 +Ring(환)은 집합과 덧셈, 곱셈 연산을 가지는 대수구조를 의미한다. 어떤 집합 $R$에 대해 아래와 같은 덧셈($+$) 및 곱셈($\cdot$) 연산이 잘 정의되어 있으면 $(R, +, \cdot)$을 **ring**이라 부른다. +1) $(R, +)$이 [[Commutative Group]]을 이룬다. + - 결합법칙이 성립한다. $a+(b+c)=(a+b)+c$ + - 교환법칙이 성립한다. $a+b = b+a$ + - 항등원이 존재한다. $a+0_R = a$ + - 역원이 존재한다. $a + x = 0_R$, $x \in R$ +2) $(R, \cdot)$은 [[Monoid]]이다. + - 결합법칙이 성립한다. $a \cdot (b \cdot c) = (a \cdot b) \cdot c$ + - 항등원이 존재한다. $a \cdot 1_R = a$ +3) 분배 법칙이 성립한다. + - $(a+b)\cdot c =a \cdot c + b \cdot c$ + - $c \cdot (a+ b) =a \cdot c + b \cdot c$ + +# 종류 +- [[Commutative Ring]] +- [[Unit Ring]] +- [[Division Ring]] +- [[Quotient Ring]] +- [[Pseudoring]] diff --git a/content/i18n/ko/Basic Algebra/Subgroup.md b/content/i18n/ko/Basic Algebra/Subgroup.md new file mode 100644 index 0000000..d1222f0 --- /dev/null +++ b/content/i18n/ko/Basic Algebra/Subgroup.md @@ -0,0 +1,6 @@ +# 정의 +[[Group]] $(G, ∗)$와 $G$의 부분집합 $H$가 주어졌을 때, $H$가 연산 $∗|_{H×H}$에 대해 Group을 형성하면, $H$를 $G$의 Subgroup이라고 한다. $H$가 $G$의 Subgroup임을 나타내기 위해 $H \le G$라고 쓴다. + +# 예시 +1. 주어진 $n \in \mathbb{Z}_{>0}$에 대해, $(n) := \{nx | x \in \mathbb{Z}\}$는 $(\mathbb{Z}, +)$의 Subgroup이다. +2. $SL_{2}(\mathbb{R}) := \{A \in Mat_{2 \times 2}(\mathbb{R}) | \det(A) = 1\}$는 $(GL_{2}(\mathbb{R}), \times)$의 Subgroup이다. \ No newline at end of file