# Group (Abstract Algebra)
## Định nghĩa.
Trong toán học, một **nhóm (group)** là **một tập hợp các phần tử** được trang bị **một phép toán hai ngôi kết hợp hai phần tử bất kỳ của một tập** hợp thành một phần tử thứ ba thỏa mãn bốn điều kiện gọi là tiên đề nhóm, lần lượt là **tính đóng**, **tính kết hợp**, **sự tồn tại của phần tử đơn vị** và **tính khả nghịch**.
Ví dụ:
- Phép toán 2 ngôi: Xét ánh xạ f: $G*G->G$ sao cho $f(x, y)=x+y$ với $x, y ∈ G*G$
## Tính chất.
- Ký hiệu nhóm: $(G, *)$ với G là 1 tập bất kỳ khác rỗng và $*$ là 1 phép toán 2 ngôi trên G và $*$ phải thỏa mãn những điều kiện sau:
- Tính đóng: $∀ a,b ∈ G$ thì $a*b ∈ G$ (1)
- Tính kết hợp: $a*(b*c)$ = $(a*b)*c$ $∀ a,b,c ∈ G$ (2)
- Tồn tại phần tử đơn vị: $∃ e ∈ G$ sao cho : $a*e = e*a = a ,∀ a ∈ G$ (3)
- Tính khả nghịch: $∀ a ∈ G$ thì luôn $∃a^{-1} ∈ G$ sao cho : $a*a^{-1}= a^{-1}*a = e$ (4)
- Thỏa mãn (1)(2)(3)(4) thì $(G, *)$ là 1 nhóm.
- Thỏa mãn thêm:
- Tính giao hoán : $∀ a,b ∈ G$ thì $a*b = b*a$ (*)
- Thì $(G, *)$ là 1 **nhóm giao hoán (nhóm Abel)**.
- Nếu $(G, *)$ chỉ thỏa mãn:
- (1)(2) thì $(G, *)$ là nửa nhóm.
- (1)(2)(3) thì $(G, *)$ là vị nhóm.
- (1)(2)(*) thì $(G, *)$ là nửa nhóm giao hoán.
- (1)(2)(3)(*) thì $(G, *)$ là vị nhóm giao hoán.
## Order của một nhóm.
- Bậc (Order) của một nhóm G chính là số phần tử của G;
- Ký hiệu cấp của nhóm G là ord(G) hoặc |G|; cấp của phần tử a được ký hiệu là ord(a) hoặc |a|.
- Tính chất của Bậc (Order) của một nhóm (Group):
- Định lý Lagrange: Nếu H là nhóm con của G thì |H| là ước của |G| hay $|G|⋮|a|$ với mọi $a∈G$
- Định lý Euler: Nếu a và n là hai số nguyên tố cùng nhau, thì bậc của nhóm ord(Zn) = $φ(n)$.
# Cryptohack - Diffie Hellman
https://hackmd.io/@pIT2FoSsQEKpGHIX4H7g-w/B1iJmJxsT
Link tham khảo: https://www.youtube.com/watch?v=T-VPvo1jiTg