0
0
Lập trình
Admin Team
Admin Teamtechmely

Kiến Thức Toán Học Cơ Bản Cần Thiết Trong Mật Mã Học: Từ RSA Đến Elliptic Curve

Đăng vào 3 tuần trước

• 3 phút đọc

Giới thiệu

Chào các bạn, trong bài viết trước, mình đã giới thiệu về hệ mật bất đối xứng. Tiếp theo, mình sẽ đi sâu vào hai thuật toán mã hóa nổi tiếng: RSA và Elliptic Curve Cryptography. Tuy nhiên, để hiểu rõ hơn về hai thuật toán này, chúng ta cần bắt đầu từ những kiến thức toán học cơ bản.

Lưu ý: Những kiến thức toán học này đã được học trong chương trình cấp 2 và cấp 3, vì vậy hãy cố gắng nhớ lại và không bỏ qua nhé!

1. Số Nguyên Tố

Số nguyên tố là những số tự nhiên lớn hơn 1, chỉ chia hết cho 1 và chính nó. Ví dụ, số 5 là số nguyên tố vì chỉ chia hết cho 1 và 5, trong khi số 6 không phải là số nguyên tố vì ngoài 1 và 6, nó còn chia hết cho 2 và 3. Dưới đây là một số số nguyên tố: 3, 5, 7, 11, 13.

2. Ước Chung Lớn Nhất (GCD)

Ước chung lớn nhất của hai số nguyên là số lớn nhất trong các ước số chung của chúng. Ví dụ, ước chung lớn nhất của 6 và 15 là 3, ký hiệu là gcd(6, 15) = 3. Chúng ta có thể tìm gcd bằng thuật toán Euclide.

3. Thuật Toán Euclide

Thuật toán Euclide được dựa trên định lý sau:

gcd(a, b) = gcd(a, b - a).

Chúng ta có thể sử dụng thuật toán này để tìm ước chung lớn nhất của hai số.

Ví dụ: Tìm gcd(45, 110):

Copy
gcd(45, 110) = gcd(45, 110 - 45)
= gcd(45, 65)
= gcd(45, 65 - 45)
= gcd(45, 20)
= gcd(45 - 20, 20)
= gcd(25, 20)
= gcd(25 - 20, 20)
= gcd(5, 20)
= gcd(5, 20 - 5)
= gcd(5, 15)
= gcd(5, 15 - 5)
= gcd(5, 10)
= gcd(5, 10 - 5)
= gcd(5, 5)
= gcd(5, 5 - 5)
= 5

Vậy nên
gcd(45, 110) = 5.

4. Số Nguyên Tố Cùng Nhau

Hai số được gọi là nguyên tố cùng nhau nếu ước chung lớn nhất của chúng bằng 1. Ví dụ, 5 và 7 là số nguyên tố cùng nhau vì gcd(5, 7) = 1. Ngược lại, 6 và 27 không phải là nguyên tố cùng nhau vì gcd(6, 27) = 3.

5. Phép Chia và Phép Mod

Cho a là số nguyên và n là số nguyên dương, chúng ta có thể biểu diễn phép chia như sau:

a = nq + r với 0 <= r < n.

Ví dụ:

Nếu a = 10 thì:

  • 10 div 3 = 3 và 10 mod 3 = 1
  • -11 div 3 = -4 và -11 mod 3 = 1

6. Đồng Dư

Hai số a và b được gọi là đồng dư modulo n nếu a mod n = b mod n. Chúng ta ký hiệu: a ≡ b (mod n).

Ví dụ: 6 ≡ 9 (mod 3) vì cả hai đều chia được cho 3 dư 0.

7. Phép Mod Với Phân Số

Để tính a/b mod n, chúng ta có thể biến đổi thành 7x ≡ 2 (mod 19). Thực hiện thử các giá trị x sẽ giúp tìm ra nghiệm.

8. Bài Toán Logarit Rời Rạc

Logarit rời rạc là số nguyên x thỏa mãn phương trình: a^x ≡ b (mod m). Đây là một bài toán khó không dễ giải và rất quan trọng trong mật mã học.

9. Căn Nguyên Thủy

Nếu p là số nguyên tố và g là căn nguyên thủy của p, thì tập hợp {g^1 mod p, g^2 mod p, ..., g^{p-1} mod p} sẽ chứa tất cả các số từ 1 đến p-1 mà không lặp lại.

Kết Luận

Trên đây là những kiến thức toán học cơ bản cần thiết để hiểu rõ hơn về mật mã học, đặc biệt là các thuật toán RSA và Elliptic Curve. Trong phần tiếp theo, mình sẽ đi sâu vào thuật toán mã hóa nổi tiếng RSA.


Xem thêm bài viết gốc tại đây.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào