Skip to content

Commit

Permalink
Feat/add i18n (#53)
Browse files Browse the repository at this point in the history
* refactor: zk docs file structure

* build: add content script

enable content localhost by running the following script:
npm run content

* feat: disable i18n folder in explorer

* feat: add language selector

* feat: add translation page

* translate basic algebra
  • Loading branch information
Insun35 authored Aug 3, 2024
1 parent dc82ca3 commit 95a04b0
Show file tree
Hide file tree
Showing 31 changed files with 413 additions and 143 deletions.
8 changes: 4 additions & 4 deletions content/Basic Algebra/Abelian Group.md
Original file line number Diff line number Diff line change
@@ -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]]이기도 하다.
# Example
$(\mathbb{Z}, +)$ is an Abelian Group. Therefore, it is also a [[Monoid]].
8 changes: 4 additions & 4 deletions content/Basic Algebra/Binary Operation.md
Original file line number Diff line number Diff line change
@@ -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이다.
# 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.
16 changes: 8 additions & 8 deletions content/Basic Algebra/Binary Relation.md
Original file line number Diff line number Diff line change
@@ -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$
8 changes: 5 additions & 3 deletions content/Basic Algebra/Discrete logarithm problem.md
Original file line number Diff line number Diff line change
@@ -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]]등이 있다.
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.
6 changes: 3 additions & 3 deletions content/Basic Algebra/Discrete logarithm.md
Original file line number Diff line number Diff line change
@@ -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]] 등이 있다.
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.
12 changes: 6 additions & 6 deletions content/Basic Algebra/ECDLP.md
Original file line number Diff line number Diff line change
@@ -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 = <G>$ 라고하자.
- $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 = <G>$.
- 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.
Loading

0 comments on commit 95a04b0

Please sign in to comment.